QSBIYXBweSBOZXcgWWVhciENCg0KDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQ2FsbCBmb3IgUGFwZXJzICoN Cg0KSWYgeW91IHJlY2VpdmUgbXVsdGlwbGUgY29waWVzIG9mIHRoaXMgbWVzc2FnZSwgcGxlYXNl IGFjY2VwdCBvdXINCmFwb2xvZ2llcy4NCg0KUGxlYXNlIHBhc3MgYWxvbmcgYXMgeW91IGZlZWwg YXBwcm9wcmlhdGUNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKg0KDQpGaXJzdCBJbnRlcm5hdGlvbmFsIFdvcmtzaG9w IG9uIExpZmUgU2NpZW5jZSBHcmlkIChMU0dSSUQyMDA0KQ0KYXQgS2FuYXphd2EsIEphcGFuLA0K TWF5IDMxc3QgLSBKdW5lIDFzdCwgMjAwNA0KaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgMTh0aCBB bm51YWwgQ29uZmVyZW5jZSBvZiBKU0FJLCBLYW5hemF3YSwgKE1heSAzMSAtDQpKdW5lIDQsIDIw MDQpDQoNCioqSW5xdWlyZXMqKg0KDQpodHRwOi8vYmlnLmdzYy5yaWtlbi5nby5qcC9iaWcvTFNH UklEMjAwNA0KDQoqKkFyZWEgYW5kIFNjb3BlKioNCg0KUmVzZWFyY2hlcnMgaW4gdGhlIGZpZWxk IG9mIExpZmUgU2NpZW5jZXMgcmVseSBpbmNyZWFzaW5nbHkgb24gaW5mb3JtYXRpb24NCnRlY2hu b2xvZ3kgdG8gZXh0cmFjdCBhbmQgbWFuYWdlIHJlbGV2YW50IGtub3dsZWRnZS4gVGhlIGNvbXBs ZXgNCmNvbXB1dGF0aW9uYWwgYW5kIGRhdGEgbWFuYWdlbWVudCBuZWVkcyBvZiBsaWZlIHNjaWVu Y2VzIHJlc2VhcmNoIG1ha2UgR3JpZA0KdGVjaG5vbG9naWVzIGFuIGF0dHJhY3RpdmUgc3VwcG9y dCBzb2x1dGlvbi4gSG93ZXZlciwgbWFueSBpbXBvcnRhbnQgaXNzdWVzDQptdXN0IGJlIGFkZHJl c3NlZCBiZWZvcmUgdGhlIExpZmUgU2NpZW5jZXMgR3JpZCBiZWNvbWVzIGNvbW1vbiBwbGFjZS4g VGhlDQpzY29wZSBvZiB0aGlzIHdvcmtzaG9wIGZvY3VzZXMgb24gbGlmZSBzY2llbmNlIGFwcGxp Y2F0aW9ucyBvZiBncmlkIHN5c3RlbXMNCmVzcGVjaWFsbHkgZm9yIGJpb25ldHdvcmsgcmVzZWFy Y2ggYW5kIHN5c3RlbXMgYmlvbG9neSB3aGljaCByZXF1aXJlDQpoZXRlcm9nZW5lb3VzIGRhdGEg aW50ZWdyYXRpb24gZnJvbSBnZW5vbWUgdG8gcGhlbm9tZSwgbWF0aGVtYXRpY2FsIG1vZGVsaW5n DQphbmQgc2ltdWxhdGlvbiBmcm9tIG1vbGVjdWxhciB0byBwb3B1bGF0aW9uIGxldmVscywgYW5k IGhpZ2ggcGVyZm9ybWFuY2UNCmNvbXB1dGluZyBpbmNsdWRpbmcgcGFyYWxsZWwgcHJvY2Vzc2lu Zywgc3BlY2lhbCBoYXJkd2FyZSBhbmQgZ3JpZA0KY29tcHV0aW5nLg0KDQoqKlRPUElDUyoqDQoN ClRoZSBwcm9ncmFtIGNvbW1pdHRlZSB3ZWxjb21lcyB0aGUgc3VibWlzc2lvbiBvZiBvcmlnaW5h bCBtYW51c2NyaXB0cw0KYWRkcmVzc2luZyB0aGUgcHJvYmxlbSBvZiBHcmlkIFN5c3RlbXMgZm9y IExpZmUgU2NpZW5jZXMuIEF1dGhvcnMgc2hvdWxkDQpyZXBvcnQgcmVsZXZhbnQgZXhwZXJpZW5j ZXMsIHByZXNlbnQgbm92ZWwgYXBwcm9hY2hlcyB0byBleGlzdGluZyBwcm9ibGVtcw0KYW5kDQpy YWlzZSBpbXBvcnRhbnQgbm92ZWwgaXNzdWVzLiBUb3BpY3Mgb2YgaW50ZXJlc3QgaW5jbHVkZSwg YnV0IGFyZSBub3QNCmxpbWl0ZWQgdG8sIHRob3NlIGluIHRoZSBmb2xsb3dpbmcgbGlzdDoNCg0K KiBHcmlkIGFyY2hpdGVjdHVyZXMgZm9yIGxpZmUgc2NpZW5jZQ0KDQoqIExpZmUgc2NpZW5jZSBh cHBsaWNhdGlvbnMgb24gZ3JpZCBzeXN0ZW1zDQoNCiogQ29tcHV0YXRpb24gcGlwZWxpbmVzIGFu ZCB3b3JrZmxvd3MgZm9yIGxpZmUgc2NpZW5jZSBkYXRhIGludGVncmF0aW9uDQoNCiogT250b2xv Z2llcyBhbmQgc2VtYW50aWMgd2ViIGFwcHJvYWNoZXMgZm9yIGxpZmUgc2NpZW5jZXMNCg0KKiBN YXRoZW1hdGljYWwgbW9kZWxpbmcgYW5kIHNpbXVsYXRpb24gc3lzdGVtcyBmb3IgbGlmZSBzY2ll bmNlcw0KDQoqIEhpZ2ggcGVyZm9ybWFuY2UgYXJjaGl0ZWN0dXJlcyBhbmQgc3lzdGVtcyBmb3Ig bGlmZSBzY2llbmNlcw0KDQoNCioqSU1QT1JUQU5UIERBVEVTKioNCg0KKiBTdWJtaXNzaW9uIGRl YWRsaW5lIG9mIGFic3RyYWN0cyBvciBwYXBlcnMgICg4MDAgd29yZHMgb3IgbW9yZSk6IEphbiAz MSwNCjIwMDQNCg0KDQoqIE5vdGlmaWNhdGlvbiBvZiBwYXBlciBhY2NlcHRhbmNlIChieSBlLW1h aWwpOiBGZWIgMjgsIDIwMDQNCg0KKiBDYW1lcmEtcmVhZHkgY29waWVzIG9mIGFjY2VwdGVkIHBh cGVycyBkdWU6IE1hcmNoIDMxLCAyMDA0DQoNClBhcGVyIGxlbmd0aCBzaG91bGQgYmUgbGVzcyB0 aGFuIDQwMDAgd29yZHMuIFN1cnZleXMgc2hvdWxkIG5vdCBleGNlZWQgNjAwMA0Kd29yZHMuIFNl bGVjdGVkIHBhcGVycyB3aWxsIGJlIHB1Ymxpc2hlZCBhcyBhIGJvb2sgYnkgU3ByaW5nZXItVmVy bGFnIE5ldw0KWW9yayBJbmMuDQoNCkluIHN1Ym1pc3Npb24sIHBsZWFzZSBzZW5kIGFuIGVsZWN0 cm9uaWMgdmVyc2lvbiAoLnBzIG9yIC5wZGYpIHRvIHRoZSBlLW1haWwNCmFkZHJlc3MgYmVsb3cu DQoNCmxzZ0Bnc2MucmlrZW4uanANCg0KKipGZWVzIGluIEpQWSoqDQoNCnwtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnxEZWxlZ2F0ZSBDYXRlZ29yeSAgfCAgIFR3byBk YXlzICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnwg ICAgICAgICAgICAgICAgICAgfCAgIEZlZXMgaW4gSlBZICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnxKU0FJIE1lbWJlcnMgICAgICAgfCAgIDMsMDAwICAg ICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCnxOb24g TWVtYmVycyAgICAgICAgfCAgIDUsMDAwICAgICAgICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLXwNCnxTdHVkZW50cyAgICAgICAgICAgfCAgIDIsMDAwICAgICAg ICAgIHwNCnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwNCg0KVHJhdmVs IFN1cHBvcnQgZm9yIEZvcmVpZ24gU3R1ZGVudHMgYW5kIFJlc2VhcmNoZXJzDQoNCkxpbWl0ZWQg ZnVuZHMgYXJlIGF2YWlsYWJsZSB0byBwcm92aWRlIGZpbmFuY2lhbCBzdXBwb3J0IGZvciB0aGUg YXR0ZW5kYW5jZQ0Kb2YgTFNHMjAwNCBlc3BlY2lhbGx5IGZyb20gZGV2ZWxvcGluZyBjb3VudHJp ZXMuDQpUaGUgdHJhdmVsIHN1cHBvcnQgcHJvZ3JhbSBmb3IgdGhpcyB3b3Jrc2hvcCBoYXMgdGhl IGZvbGxvd2luZyByZXF1aXJlbWVudHM6DQpUaGUgbWF4aW11bSB0cmF2ZWwgYXdhcmQgaXMgSlBZ IDUwLDAwMC4gVG8gYmUgZWxpZ2libGUgZm9yIGEgdHJhdmVsIGF3YXJkLA0KdGhlIGF0dGVuZGVl IG11c3QgcHJlc2VudCBhIGNvbnRyaWJ1dGVkIHBhcGVyLiBUaGUgdHJhdmVsIGF3YXJkIGFwcGxp Y2FudA0KbXVzdCBzdXBwbHkgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiB0byBsc2dAZ3NjLnJp a2VuLmpwIChwbGVhc2UgaW5kaWNhdGUNCiJ0cmF2ZWwgYXdhcmQgYXBwbGljYXRpb24iIGluIG1l c3NhZ2Ugc3ViamVjdCBsaW5lKTogbmFtZSBhZmZpbGlhdGlvbg0KY29udGFjdCBpbmZvcm1hdGlv biAoYWRkcmVzcywgcGhvbmUgbnVtYmVyLCBlbWFpbCBhZGRyZXNzKSB5ZWFyIGluIHdoaWNoDQpk b2N0b3JhbCBkZWdyZWUgaXMgZXhwZWN0ZWQgb3Igd2FzIG9idGFpbmVkIHBhcGVyIHRpdGxlIHN1 Ym1pdHRlZCB0cmF2ZWwNCmJ1ZGdldCByZXF1ZXN0ZWQgKHdoaWNoIGNhbm5vdCBleGNlZWQgSlBO NTAsMDAwKS4gVHJhdmVsIGF3YXJkcyB3aWxsIGJlIG1hZGUNCmNvbXBldGl0aXZlbHkuIFRob3Nl IHJlY2VpdmluZyBhbiBhd2FyZCB3aWxsIGJlIG5vdGlmaWVkIHdpdGggYSByZXZpZXcNCnJlc3Vs dC4NCg0KKipQcm9ncmFtIENvbW1pdHRlZSBDaGFpcioqDQoNCkFraWhpa28gS29uYWdheWEgIChS SUtFTiBHU0MpDQoNCg0KKipMU0dSSUQyMDA0IFByb2dyYW0gQ29tbWl0dGVlIE1lbWJlcnMqKg0K DQoqIEFraXlhbWEsIFl1dGFrYSAoQUlTVCBDQlJDLCBKYXBhbikNCg0KKiBBbmcsIExhcnJ5IChC SUksIFNpbmdhcG9yZSkNCg0KKiBBbmd1bG8sIERhdmlkIChEZXBhdWwgVW5pdi4sIFVTKQ0KDQoq IEFyemJlcmdlciwgUGV0ZXIgKFVDU0QsIFVTKQ0KDQoqIEJhbGEsIFBpb3RyIE4uIChDb3Blcm5p Y3VzIFVuaXYuLCBQb2xhbmQpDQoNCiogR29ibGUsIENhcm9sZSAgKFVuaXYuIG9mIE1hbmNoZXN0 ZXIsIFVLKQ0KDQoqIEZhcmF6ZGVsLCBBYmJhcyAgKElCTSwgVVMpDQoNCiogRnVrdWRhLCBLZW4n aWNoaXJvIChBSVNUIENCUkMsIEphcGFuKQ0KDQoqIEhpbWVubywgUnl1dGFybyAoUklLRU4gQUND QywgSmFwYW4pDQoNCiogSG9uZywgR2lsbmFtIChQT1NURUNILCBLb3JlYSkNCg0KKiBLYW8sIENo ZW5nLVlhbyAoTlRVLCBUYWl3YW4pDQoNCiogS29uYWdheWEsIEFraWhpa28gIChSSUtFTiBHU0Ms IEphcGFuKQ0KDQoqIEtvbmlzaGksIEZ1bWlrYXp1IChSSUtFTiBHU0MsIEphcGFuKQ0KDQoqIEx1 bywgSmluZ2NodSAoQ0JJLCBQZWtpbmcgVW5pdmVyc2l0eSwgQ2hhaW5hKQ0KDQoqIE1peWF6YWtp LCBTYXRvcnUgKE5JRywgSmFwYW4pDQoNCiogTmFrYW11cmEsIEhhcnVraSAoT3Nha2EgVW5pdi4s IEphcGFuKQ0KDQoqIE1hdHN1ZGEsIEhpZGVvIChPc2FrYSBVbml2LiwgSmFwYW4pDQoNCiogTWF0 c3Vva2EsIFNhdG9zaGkgKFRJVEVDSCwgSmFwYW4pDQoNCiogTW9oYW1lZCwgUmFobWFoIChVS00s IE1hbGF5c2lhKQ0KDQoqIE5hcGlzLCBTdWhhaW1pIChVUE0sIE1hbGF5c2lhKQ0KDQoqIE9ubywg SXNhbyAoVG9rdXNoaW1hIFVuaXYuLCBKYXBhbikNCg0KKiBQYWxpdHRhcG9uZ2FybnBpbSwgUHJh c2l0IChCSU9URUNLLCBUaGFpbGFuZCkNCg0KKiBSb2RnaWdvLCBBbGxlbiAoQXVja2xhbmQsIE5l dyBaZWFsYW5kKQ0KDQoqIFNhdG91LCBLZW5qaSAoSkFJU1QsIEphcGFuKQ0KDQoqIFNlZSwgU2lt b24gKFNVTiwgU2luZ2Fwb3JlKQ0KDQoqIFNla2lndWNoaSwgU2F0b3NoaSAoQUlTVCBHVFJDLCBK YXBhbikNCg0KKiBTaGltb2pvLCBTaGluamkgKE9zYWthIFVuaXYuLCBKYXBhbikNCg0KKiBTdGV2 ZW5zLCBSaWNrIChBTkwsIFVTKQ0KDQoqIFdlZSwgVGFuIFRpbiAoTlVTLCBTaW5nYXBvcmUpDQoN Cg0KDQoNCg==