Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:104434 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 79530 invoked from network); 15 Feb 2019 12:53:08 -0000 Received: from unknown (HELO NAM03-DM3-obe.outbound.protection.outlook.com) (40.107.80.92) by pb1.pair.com with SMTP; 15 Feb 2019 12:53:08 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ffN0XfmNvdEpUldxC70rGcG8XaA3keS89D6UHFodL/M=; b=qoACq9NM0W7BsN6xuv5garqe/nYrwq/cKuPFS43a4Nmh/QfY2VNKypKjfhvSovrzUq3/tdEDMwagdY1cXUwbxJBLssfztakkV7YC8POSQZcJ8eQW0yfnMB6hiJRhUEU6saYmPl15vI2jgmOeXt1trQOGwiuDB0Efqyd7dq4V3aA= Received: from BYAPR02MB5766.namprd02.prod.outlook.com (20.179.62.31) by BYAPR02MB5479.namprd02.prod.outlook.com (20.177.230.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Fri, 15 Feb 2019 09:36:40 +0000 Received: from BYAPR02MB5766.namprd02.prod.outlook.com ([fe80::fc94:c355:adab:959f]) by BYAPR02MB5766.namprd02.prod.outlook.com ([fe80::fc94:c355:adab:959f%4]) with mapi id 15.20.1601.023; Fri, 15 Feb 2019 09:36:40 +0000 To: Joe Watkins CC: Arvids Godjuks , Nicolas Grekas , Zeev Suraski , Rowan Collins , Internals , Nikita Popov Thread-Topic: [PHP-DEV] [RFC] JIT Thread-Index: AQHUuUlqVOVjmKFgoEm1MWGJHDXwwaXJnJSAgBVtNQCAABcJgIAACZ2AgAAbXQCAABBxAIAACvyAgAANpYCAASlWAIAADe0AgAALK4A= Date: Fri, 15 Feb 2019 09:36:40 +0000 Message-ID: References: <01178c69-e021-3865-689c-00c3a1902574@php.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P191CA0021.EURP191.PROD.OUTLOOK.COM (2603:10a6:3:cf::31) To BYAPR02MB5766.namprd02.prod.outlook.com (2603:10b6:a03:11a::31) authentication-results: spf=none (sender IP is ) smtp.mailfrom=dmitry@zend.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [212.232.72.197] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cac4bfa9-eb2a-41ba-a87b-08d6932916c0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600110)(711020)(4605077)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:BYAPR02MB5479; x-ms-traffictypediagnostic: BYAPR02MB5479: x-ms-exchange-purlcount: 1 x-microsoft-exchange-diagnostics: =?utf-8?B?MTtCWUFQUjAyTUI1NDc5OzIzOjB3SEdSbW42aExFVGc1bmlhT1h5aTI3eVlu?= =?utf-8?B?V0NKcmNMMGk2S2pYOS9lZS9JbGlEWGF1Ynl3dHRSSlRhQXRzQ3pKSzlnSXI3?= =?utf-8?B?WGo0eUhqWWpyWE5jc0VIRUhiRXlMMHVmeDg5WHB4RjlkUlFUaktINlRBdGtE?= =?utf-8?B?V2NZL2lrT2JNd2I0WW80MUMxRERmQXdTRjdGd3JhTUdlNk9LeGMzUUVQMFJx?= =?utf-8?B?bkpkQ1Z3ZmRMVWNMOGtXdTAvaTFkenBrU0Z5QjRxc2VCQmFjYy9jWlNrQ2tU?= =?utf-8?B?RmFrS2NBMm1yWXFXSVk4ajZUeTNBWlJ5T21QZVZOMlRBM1h1cFNLdTlFd2Zi?= =?utf-8?B?cjYxOHRJaVRUZ21TYjBzWldpR1ZxeHJOM3ZaRS9OZEg2UGFPZ3hTbHZ3RFNT?= =?utf-8?B?RzNXSW1GY0RrWXMxN2wyUjhJTE01Q05GQzJidFN3Q0NVNVNrT05BQ3R6cnhU?= =?utf-8?B?VklNOGtBT2FmTnFiR0dLbEZEV01hMyt1Q2pxSzJRMmpncFhVck15WnJBdlNR?= =?utf-8?B?ZTllaHZqckhJMEZTQk9YT1NocFFSM2Q0ZjdiSUdOYkMxN0tRVFN4NVB1OGEv?= =?utf-8?B?L0RNQkR1OW8wSzlia3NiNkRqNFBidWdkRVMxNVNmS2kzeEJVeFYzekhnWW5I?= =?utf-8?B?TmFBeUJzVG40Unk2U0lxMGx1dHVpa1lnUm5rZ3cxdkdESHU2RjI3bUVrNnFs?= =?utf-8?B?SkJKY0RpQ2d3L0Fqd0FnOTF3SnIzYzJMcUFYUXVpTHpEMXp5NGx0dDUwdTRk?= =?utf-8?B?Q2xocmwxM2UxSUhwSUJOdGd2NnFReWlYS2V6cnhMdW80amlCeittQ2RSWHVa?= =?utf-8?B?bm5PTEdnU1lxY0YweWcrUHdROWk5RmZHVHhkNEJXOUxqRW5mSW9HVHJCZDNm?= =?utf-8?B?NTY1UXMwdjE1M2IzSFQrOEJKZFAvT1NCYUhvTC9ZVGNucUo5NEhCR0c0b0Qw?= =?utf-8?B?NlNxZGlkQ0pQL01KeGtabmJ0d2E5ZEF4TjEzWXYrYXRXSG1FeU11SE95Q0dw?= =?utf-8?B?VC9mR0o0U2liSEVwa1dZd0dSakJLNWpMdy9EZ3RDUlhteFVMVGd2ZGNJNTI4?= =?utf-8?B?NHY0ZXUrUllpdld1UkN1M0pTY0RpcmM1L1Baa2l0bmIvR1BPK2F1bHpKSlJz?= =?utf-8?B?cnM5WkQ1TjluYjFEbVY3eG9aS1JRMzN6RWd0bzJneEp0eVpWQU1rSEdEY2tO?= =?utf-8?B?NWxBSjlnbmxLNEdWNytyeTFVWGcyaU0yYnlZODJ0WUN3VGw4eE1ZNDluZG81?= =?utf-8?B?VUd5K0o4ck40V045c2VtTkwxZTRYUGNjN1N0U1FzRHA5ME9MaHJhSUlOZ25E?= =?utf-8?B?VityTnMyaHpiWk50Y2VENTd1UnpMbmdudWhRYmR0NTZZcFRTOGc4VW9zc1pK?= =?utf-8?B?WEZQOVJrMmd2Vis4bW5xUjF5bVVPbG1Za2JTSU5jZTIwVmNhNC9GU2luU3kv?= =?utf-8?B?SXArQzlvTUZnU3ZMUlpialRmVGRMazF0c1NXdnRSRVI5VTdkUXZIZlBPcGti?= =?utf-8?B?RTZuZUZ3SncxWGxkeXJxcGRRSUZFTE80ZzRrS0F2ZjNLZCsxbCt2dEpkMnlo?= =?utf-8?B?bXI4UitFeFQyNU5qUUFocXZPZ2NDMW1YWXg5QXV5YklvUldNWXZWeUpRNGxa?= =?utf-8?B?TXdBeGdaQlNvTnkvL3dVQjh5Nk56V1RiTkhST1BSdVlYbEFuZ3M4bUtXV29Q?= =?utf-8?B?ZFZWWTBMeHBTT0lFeDhmU3Y0MHpFYURzMUNhL2toTXEyUjdWK2RzRGxjT1Zj?= =?utf-8?B?ZTRrejYrSkVMYnl2anJWemg5Q1ZGZ1MxazFmb3BWdEYzeU1hZUUrYnJ3TzA0?= =?utf-8?B?bUJxbEU2Y1VkUjdmZ2lqSFVVTFdsS3FaQ3NhNVcvMjlVeXdOenEwbk9wN2Za?= =?utf-8?B?bWhtZzA0bnBXUzlBazZBRnFKZCtGSWRxR3U1TzJtMXkrL3VsUnlDWk43NHhI?= =?utf-8?Q?9Ij0XPKchwgRY6Rz4v84dTIdDLzhUM=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09497C15EB x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(376002)(366004)(39850400004)(396003)(136003)(53754006)(199004)(189003)(51444003)(93886005)(105586002)(31686004)(6246003)(256004)(14444005)(53936002)(6486002)(66574012)(4326008)(561944003)(14454004)(186003)(6306002)(478600001)(26005)(966005)(3846002)(30864003)(6116002)(25786009)(106356001)(36756003)(76176011)(52116002)(99286004)(229853002)(6916009)(2616005)(54906003)(386003)(71200400001)(8676002)(305945005)(31696002)(66066001)(486006)(6506007)(7736002)(476003)(71190400001)(86362001)(11346002)(446003)(6436002)(81166006)(81156014)(8936002)(1411001)(53546011)(6512007)(97736004)(316002)(68736007)(2906002)(102836004);DIR:OUT;SFP:1102;SCL:1;SRVR:BYAPR02MB5479;H:BYAPR02MB5766.namprd02.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: zend.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 8BtHZNRox/aLeLdcvNFO3t6siiTGeBTl96832vh8sEalVTGZKUqEhB/76DVjybQRoh7x1T8HjQwztrBjF7ANmqilU4+D4cl5FLBD1IMx/hHq8kIXQ1vE3EWKrDoqFqAtAoCCDDYKQbLWbBHIw7kTU7ukBO92nIpM/AsdPbl33GFFA/7ecJtaQTgPDENn+m4kG3E2CL9PTdly5H7TJ+7MNRnf1HkMO4fkUJkbrGjCQF4iB7uWWiXAtWVx1SyQnBipzv4UV0nosM/C7Xpuv65qjfTDkNakp/mUTF2DiRYM4FFrpVrGtrlfGGSikpNH3dwZtl/oyu9lrZS81EOr1T5JzlnK6xV0oRY2owi2H255AGoZOICS0X8I+JtDUgfKd/CIcVbkMzjiYmSWKpndcREpDJY5utxH+3BeBBEmoNAnkhM= Content-Type: text/plain; charset="utf-8" Content-ID: <91ACFC9E630FA8409A3591576B60EDD0@namprd02.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-Network-Message-Id: cac4bfa9-eb2a-41ba-a87b-08d6932916c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Feb 2019 09:36:38.6738 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 32210298-c08b-4829-8097-6b12c025a892 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR02MB5479 Subject: Re: [PHP-DEV] [RFC] JIT From: dmitry@zend.com (Dmitry Stogov) SnVzdCB0d28gdGhpbmdzLg0KDQpJIGRlZmluaXRlbHkgZG9uJ3QgdGhpbmssIEkgImp1c3QgbWFk ZSBpdCAxMDB4IG1vcmUgY29tcGxpY2F0ZWQiLg0KSSBoYXRlIGNvbXBsaWNhdGlvbiwgYW5kIHRy eWluZyB0byBtYWtlIHRoaW5ncyBzaW1wbGVyIGFuZCBtb3JlIA0KZWZmaWNpZW50LiBUaGlzLCBz b21ldGltZSwgaW52b2x2ZXMgbmV3IG1vcmUgb3IgbGVzcyBpc29sYXRlZCBzdWJzeXN0ZW1zIA0K bGlrZSBvcHRpbWl6ZXIgYW5kIG5vdyBKSVQuIE9mIGNvdXJzZSwgdGhleSBsb29rIGNvbXBsZXgs IGlmIHlvdSBhcmUgbm90IA0KZXhwZXJpZW5jZWQgaW4gdGhlc2UgYXJlYXMuIEJ1dCBQSFAgY29y ZSBtYXkgd29yayB3aXRob3V0IHRoZW0uDQoNCk5vYm9keSB3aWxsIHBvcnQgdGhlaXIgY29tcGxl eCBhcHBsaWNhdGlvbnMgdG8gUEhQLTggcHJldmlldywganVzdCB0byANCnRyeSBKSVQuIEhhdmlu ZyB0aGlzIHBvc3NpYmlsaXR5IGluIFBIUC03LjQgd291bGQgaW52b2x2ZSBicm9hZGVyIGF1ZGl0 b3J5Lg0KDQpUaGFua3MuIERtaXRyeS4NCg0KT24gMi8xNS8xOSAxMTo1NiBBTSwgSm9lIFdhdGtp bnMgd3JvdGU6DQo+IE1vcm5pbmcgRG1pdHJ5LA0KPiANCj4gID4gSSB0b2xkLCBJJ20gbm90IGdv aW5nIHRvIGRvIGFueSBhY3RpdmUgSklUIGRldmVsb3BtZW50IGF0IHRoaXMgcG9pbnQuDQo+ICA+ IFdoeSB0byB3YXN0ZSB0aW1lLCBpZiBpdCdzIG5vdCBnb2luZyB0byBiZSBhY2NlcHRlZC4uLg0K PiANCj4gQXQgdGhpcyBwb2ludCwgKm5vYm9keSogY2FuIGltYWdpbmUgdGhhdCBQSFAgOCB3aWxs IG5vdCBoYXZlIGEgSklULCANCj4gdGhlcmUgaXMgbm8gc2Vuc2UgaW4gc2F5aW5nIG9yIHRoaW5r aW5nIHlvdSB3b3VsZCBiZSB3YXN0aW5nIHlvdXIgdGltZS4NCj4gDQo+IElmIHlvdSBvcGVuZWQg YSB2b3RlIGZvciB0aGUgSklUIHRvIGJlIGFjY2VwdGVkIGluIFBIUCA4LCBhbmQgY29tbWl0dGVk IA0KPiB0byBtYWtpbmcgdGhlIGltcHJvdmVtZW50cyB0aGF0ICpldmVyeW9uZSogd2FudHMgdG8g c2VlIGluIHRoZSBpbnRlcmltLCANCj4gdGhlIHZvdGUgd291bGQgYmUgbW9yZSBvciBsZXNzIGEg Zm9ybWFsaXR5LCBub3QgcmVhbGx5IG5lY2Vzc2FyeSBhdCBhbGwsIA0KPiBiZWNhdXNlIHdlIGFs bCBrbm93IHdoYXQgd2lsbCBoYXBwZW4uDQo+IA0KPiBJIGNhbm5vdCBzdHJlc3MgZW5vdWdoIHRo YXQgeW91IHdvdWxkIG5vdCBiZSB3YXN0aW5nIHlvdXIgdGltZSB0byANCj4gY29udGludWUgZGV2 ZWxvcGluZyB0aGUgSklULiBTYXlpbmcgIml0J3MgdGhpcyBvciBub3RoaW5nIiBpcyBub3QgYSB2 ZXJ5IA0KPiBwcm9kdWN0aXZlIG9yIHNlbnNpYmxlIHRoaW5nIHRvIGRvIGF0IHRoaXMgcG9pbnQu DQo+IA0KPiBZb3UgbXVzdCBhbHJlYWR5IGtub3cgdGhhdCB5b3Vyc2VsZiwgTmlraXRhLCBhbmQg Qm9iIGFyZSByZWFsbHkgdGhlIG9ubHkgDQo+IGFjdGl2ZSBjb250cmlidXRvcnMgdGhhdCBhcmUg cXVhbGlmaWVkIHRvIHRhbGsgYWJvdXQgdGVjaG5pY2FsIGFzcGVjdHMgDQo+IG9mIHRoZSBKSVQs IHRvIGltcHJvdmUgaXQsIHRvIGZpbmQgb3IgZml4IGJ1Z3MuIFlvdSBtdXN0IGFsc28gdW5kZXJz dGFuZCANCj4gdGhhdCBnaXZlbiB0aGUgdGltZSBuZWNlc3NhcnkgdGhpbmdzIHdpbGwgY2hhbmdl OyBZb3UgYXJlIGVtcGxveWVkLCBhdCANCj4gbGVhc3QgaW4gcGFydCwgdG8gd29yayBvbiBQSFAs IGFuZCBub2JvZHkgZWxzZSAoYWZhaWspIGV4Y2VwdCBOaWtpdGEgaXM6IA0KPiBXZSBoYXZlIHRv IGZpbmQgdGltZSBpbiBvdXIgd2Vla2VuZHMgYW5kIGxhdGUgYXQgbmlnaHQgdG8gcmVhZCB0aGlu Z3MgDQo+IHdlJ3JlIG5vdCBmYW1pbGlhciB3aXRoIGF0IGFsbCwgSSd2ZSBuZXZlciBiZWVuIGdv b2QgYXQgYXNzZW1ibHkgbXlzZWxmLCANCj4gYW5kIG15IGtub3dsZWRnZSBoZXJlIGlzIGxhY2tp bmcuIEkgbG9vayBmb3J3YXJkIHRvIGltcHJvdmluZyBteSANCj4ga25vd2xlZGdlLCBJIGZpbmQg aXQgZXhjaXRpbmcsIGJ1dCBpdCB3aWxsIHRha2UgYSBsb25nIHRpbWUsIG1hbnkgbWFueSANCj4g d2Vla2VuZHMgYW5kIG5pZ2h0cywgYW5kIDcuNCBpcyBzaW1wbHkgdG9vIGVhcmx5LiBFdmVuIE5p a2l0YSBhbmQgQm9iIA0KPiBhcmUgbm90IGNvbWZvcnRhYmxlIGVub3VnaCB0byBtYWtlIGNoYW5n ZXMgcmlnaHQgbm93LCBidXQgYXJlIHN0aWxsIA0KPiB1c2VmdWwuIFdoYXQgd2UncmUgbG9va2lu ZyBhdCB0aGVuLCBpcyBhIGJ1cyBmYWN0b3Igb2YgMSwgZm9yIGFib3V0IHRoZSANCj4gbmV4dCB5 ZWFyLCBpdCBtYXkgYmUgYXMgaGlnaCBhcyAzIG9yIDQgYnkgdGhlIHRpbWUgNy40IGlzIGFjdHVh bGx5IA0KPiByZWxlYXNlZC4gVGhlcmUncyBub3QgMTAwMCBwZW9wbGUgZmFtaWxpYXIgZW5vdWdo IHdpdGggdGhlIFplbmQgb2YgdG9kYXkgDQo+IHRvIGZpbmQsIGZpeCBhbmQgaW1wcm92ZSBQSFAs IGJ1dCAzIG9yIDQgaXMganVzdCB1bnJlYXNvbmFibHkgbG93IC0gdGhpcyANCj4gaXMgdGhlIHJl YXNvbiBJIHNheSBpdCdzIGRhbmdlcm91cy4gTXkgd29yZHMgYXJlIG5vdCBtZWFudCB0byBiZSB0 b3hpYywgDQo+IGF0IGFsbC4NCj4gDQo+IEZvciB0aGUgbGFzdCB0d28gYW5kIGEgYml0IHllYXJz LCBJJ3ZlIGJlZW4gZm9jdXNlZCBvbiBiZWluZyBhIHJlbGVhc2UgDQo+IG1hbmFnZXIsIGFuZCBo YXZlbid0IHNwZW50IGEgbG90IG9mIHRpbWUgd29ya2luZyBvbiBwYXRjaGVzIGxpa2UgSSB1c2Vk IA0KPiB0b28sIEknbSBzdGlsbCBmYW1pbGlhciB3aXRoIHplbmQgYXQgYSBsb3cgbGV2ZWwsIGJ1 dCB5b3UndmUganVzdCBtYWRlIA0KPiBpdCAxMDB4IG1vcmUgY29tcGxpY2F0ZWQsIGFuZCBhcmUg dHdpc3Rpbmcgb3VyIGFybXMgdG8gYWNjZXB0IHRoaXMgDQo+IGFkZGl0aW9uYWwgY29tcGxleGl0 eSwgYWxsIHRoZSB3aGlsZSBzYXlpbmcgeW91IHdvbid0IG1ha2UgaW1wcm92ZW1lbnRzIA0KPiBh bmQgZG9uJ3QgaGF2ZSB0aW1lIGZvciBvdGhlciBpbXByb3ZlbWVudHMgdGhhdCB5b3UndmUgaWRl bnRpZmllZCB0aGF0IA0KPiB3b3VsZCB3aWRlbiB0aGUgc2NvcGUgb2YgdGhlIEpJVCBjb25zaWRl cmFibHkgKFpUUyksIGFuZCBsYXkgdGhlIA0KPiBncm91bmR3b3JrIGZvciBzdXBwb3J0aW5nIG90 aGVyIHBsYXRmb3JtcyAoV2luZG93cykuDQo+IA0KPiA3LjMgd2FzIG9uZSBvZiB0aGUgd29yc3Qg cmVsZWFzZXMgZm9yIHN0YWJpbGl0eSBpbiByZWNlbnQgeWVhcnMsIGFuZCANCj4gcmVnYXJkbGVz cyBvZiB3aGV0aGVyIHlvdSBpbnRlbmQgdG8gZGlzYWJsZSB0aGUgSklUIGJ5IGRlZmF1bHQsIGl0 J3MgDQo+IGdvaW5nIHRvIGJlIHJvbGxlZCBvdXQgaW50byBwcm9kdWN0aW9uIGluIHdoYXRldmVy IHZlcnNpb24gb2YgUEhQIGl0IGlzIA0KPiBtZXJnZWQgaW50bywgaWYgd2hhdCBpdCBpcyBtZXJn ZWQgaW50byBpcyBhIHByb2R1Y3Rpb24gcmVsZWFzZSBvZiBQSFAsIA0KPiB5b3UgY2FuJ3Qgc3Rv cCB0aGF0IHdpdGggYSBjb25maWd1cmUgc3dpdGNoIG9yIGFuIElOSSBzZXR0aW5nLCBhcyBoYXMg DQo+IGFscmVhZHkgYmVlbiBwb2ludGVkIG91dCBieSBOaWtpdGEuIFRoZXJlZm9yZSwgaXQncyBp bXBvcnRhbnQgdGhhdCB0aGUgDQo+IEpJVCBpcyBhY3R1YWxseSBwcm9kdWN0aW9uIHJlYWR5IGFu ZCBoYXMgYSBzY29wZSB3aWRlIGVub3VnaCB0byBqdXN0aWZ5IA0KPiB0aGUgYWRkaXRpb25hbCBj b21wbGV4aXR5IGl0IGJyaW5ncyB0byBldmVyeXRoaW5nLiBJJ20gYXdhcmUgdGhhdCB5b3UgDQo+ IHRoaW5rIHN3aXRjaGluZyB0aGUgSklUIG9mZiBpcyBhIHNvbHV0aW9uIHRvIHRoZSB0b29saW5n IHByb2JsZW1zIHdlIA0KPiBjbGVhcmx5IGhhdmUsIGJ1dCBpdCBpcyBub3QgYSBzb2x1dGlvbiwg cGVvcGxlIGFyZSBnb2luZyB0byBleHBlY3QgdGhlaXIgDQo+IHRvb2xzIHRvIHdvcmsgd2l0aCBp dCwgYW5kIHNheWluZyAiZGlzYWJsZSB0aGUgSklUIiBvciAiZGlzYWJsZSBvcGNhY2hlIiANCj4g dG8gZW5kIHVzZXJzIGlzIHVuYWNjZXB0YWJsZS4gSSByZWFsaXNlIHlvdSBoYXZlIG1vcmUgaW1w b3J0YW50IHRoaW5ncyANCj4gdG8gZG8gcmlnaHQgbm93IHRoYW4gdG8gY29uY2VudHJhdGUgb24g dGhlIGlzc3VlcyB0aGF0IGV4dGVuc2lvbiANCj4gbWFpbnRhaW5lcnMgaGF2ZSwgYnV0IGl0J3Mg b2J2aW91cyB0aGF0IHRoZXNlIGlzc3VlcyBuZWVkIHRvIGJlIA0KPiBhZGRyZXNzZWQgYmVmb3Jl IHdlIHB1c2ggdGhlIEpJVCBvbnRvIHRoZSBlY29zeXN0ZW0uIEJ5IHdpdGhkcmF3aW5nIHRoZSAN Cj4gc3VnZ2VzdGlvbiBvZiBtZXJnaW5nIGludG8gNy40LCBhbmQgZm9jdXNpbmcgb3VyIGVmZm9y dHMgb24gYSByZWFsbHkgDQo+IGdyZWF0IFBIUCA4LCB5b3UgZ2l2ZSB5b3Vyc2VsZiBhbmQgYWxs IHRob3NlIG1haW50YWluZXJzIHRpbWUgdG8gd29yayANCj4gdG9nZXRoZXIgYW5kIGZpbmQgc29s dXRpb25zIHRvIHRoZXNlIHByb2JsZW1zIHRoYXQgYXJlIGFjY2VwdGFibGUgdG8gdXMgDQo+IGFs bCwgdGltZSB3ZSBhbGwgZGVzcGVyYXRlbHkgbmVlZC4geW91cnNlbGYgaW5jbHVkZWQuIFlvdSBh bHNvIHJlZHVjZSANCj4geW91ciBvd24gd29ya2xvYWQgY29uc2lkZXJhYmx5IGJ5IG5vdCBoYXZp bmcgdG8gY29uY2VudHJhdGUgb24gNy40LiBZb3UgDQo+IGFsc28gdGFrZSBhd2F5IHRoZSB3b3Jy eSBvZiBhbm90aGVyIHVuc3RhYmxlIHJlbGVhc2UgaW4gdGhlIDcgc2VyaWVzLCANCj4gd2hpY2gg d2UgY2Fubm90IHJlYWxseSBhZmZvcmQgdG8gaGF2ZSBpZiB3ZSBkb24ndCB3YW50IHRvIGRhbWFn ZSANCj4gYWRvcHRpb24gcmF0ZXMgb2YgUEhQIDguDQo+IA0KPiBZZXN0ZXJkYXkgdGhlIHN1Z2dl c3Rpb24gb2YgInByZXZpZXciIHJlbGVhc2VzIHdhcyBtYWRlLCBwcmV2aWV3cyBvZiB0aGUgDQo+ IG1hc3RlciBicmFuY2gsIHRoaXMgaXMgdGhlIGJlc3QgaWRlYSBJIGhhdmUgaGVhcmQgYXJvdW5k IGRlcGxveWluZyB0aGUgDQo+IEpJVCB0byB0aGUgd29ybGQsIHRob3NlIHJlbGVhc2VzIG5lZWQg bm90IGhhdmUgYSBmaXhlZCBzY2hlZHVsZSBhbmQgaW4gDQo+IG5vIHNlbnNlIGFyZSBwcm9kdWN0 aW9uIHJlbGVhc2VzIG9mIFBIUC4gSSdsbCBoYXBwaWx5IHZvbHVudGVlciBteXNlbGYgDQo+IHRv IGRvIHRoYXQgYWRkaXRpb25hbCB3b3JrIGFuZCBtYW5hZ2UgdGhvc2UgcmVsZWFzZXMgd2hpbGUg dGhlIDcuNCANCj4gcmVsZWFzZSBtYW5hZ2VycyBjb25jZW50cmF0ZSBvbiBhIHN0YWJsZSA3LjQs IEknbSBxdWl0ZSBzdXJlIHRoYXQgcGFzdCANCj4gcmVsZWFzZSBtYW5hZ2VycyB3aWxsIGhlbHAg bWUgdGhlcmUgdG9vLiBXZSBjYW4gdGhlbiBub21pbmF0ZSBwZXJtYW5lbnQgDQo+IG1hbmFnZXJz IGZvciA4IGFzIG5vcm1hbCwgYW5kIEkvd2Ugd2lsbCBoYW5kIG92ZXIgdG8gdGhlbSBhIHJlYXNv bmFibHkgDQo+IHN0YWJsZSwgd2VsbCB0ZXN0ZWQgSklULCB0aGF0IG1hbnkgb2YgdXMgYXJlIGNv bWZvcnRhYmxlIGRpYWdub3NpbmcgYW5kIA0KPiBwdXNoaW5nIGZvcndhcmQuDQo+IA0KPiAgPiBJ ZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gWlRTLCB5b3UgbWF5IGludmVzdCB0aW1lIGluIGltcGxl bWVudGF0aW9uIG9mDQo+ICA+IHRoZSBaVFMgaW1wcm92ZW1lbnQgaWRlYSBhbmQgdGhlbiBJIGFk b3B0IHRoZSBKSVQgaW4gZmV3LWRheXMuIFRlbGwgbWUNCj4gID4gaWYgeW91IHN0YXJ0LCBiZWNh dXNlIEkgbWF5IGZpbmQgdGltZSBteXNlbGYuDQo+IA0KPiBUaGlzIGlzIGdyZWF0IHRvIGhlYXIs IGJ1dCBJJ3ZlIHdvcmtlZCBvbiB0aGUgVFNSTSBsYXllciBiZWZvcmUsIGl0IHdhcyANCj4gbXlz ZWxmIHRoYXQgcHJlcGFyZWQgZm9yIFBIUCA3IHRoZSBvcmlnaW5hbCBuYXRpdmUtdGxzIHBhdGNo IHRoYXQgd2FzIA0KPiBwcm9wb3NlZCBzb21lIHRpbWUgYWdvIGZvciBQSFAgNSwgc3Vic2VxdWVu dGx5IEFuYXRvbCBoYWQgdG8gZG8gYWxsIHRoZSANCj4gaGVhdnkgbGlmdGluZywgSSB1bmRlcnN0 YW5kIGl0IHZlcnkgd2VsbCwgYnV0IEknbSBub3QgYWJsZSB0byANCj4gY29uZmlkZW50bHkgZGV2 ZWxvcCBvbiBXaW5kb3dzLCBqdXN0IGxpa2UgeW91LCBJJ20gbm90IHRoYXQgZmFtaWxpYXIgDQo+ IHdpdGggV2luZG93cy4gQWdhaW4sIGZpeGluZyB0aGVzZSB0aGluZ3MgYXJlIGdvaW5nIHRvIHRh a2UgdGltZSwgYW5kIHRoZSANCj4gZWZmb3J0IG9mIG1hbnkgb2YgdXMuDQo+IA0KPiBUaW1lIGFu ZCBjb21taXRtZW50LCBpcyBhbGwgSSBhbSBhc2tpbmcgZm9yLCB3aXRob3V0IHRob3NlIG15IGNv bmZpZGVuY2UgDQo+IGhhcyBldmFwb3JhdGVkLCBJJ20gc29ycnkgdG8gc2F5Lg0KPiANCj4gQ2hl ZXJzDQo+IEpvZQ0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiBPbiBGcmksIDE1IEZlYiAyMDE5 IGF0IDA5OjA2LCBEbWl0cnkgU3RvZ292IDxkbWl0cnlAemVuZC5jb20gDQo+IDxtYWlsdG86ZG1p dHJ5QHplbmQuY29tPj4gd3JvdGU6DQo+IA0KPiAgICAgSGksDQo+IA0KPiAgICAgT24gMi8xNC8x OSA1OjIyIFBNLCBKb2UgV2F0a2lucyB3cm90ZToNCj4gICAgICA+IE1vcm5pbmcgYWxsLA0KPiAg ICAgID4NCj4gICAgICA+IFRoaXMgaWRlYSBvZiBhbiBleHBlcmltZW50YWwgZmVhdHVyZSBhcyBj b21wbGV4IGFzIGEgSklUIGlzDQo+ICAgICBkYW5nZXJvdXMuIEl0DQo+ICAgICAgPiBpcyBub3Qg ZmluaXNoZWQsIGFuZCBkbWl0cnkgaGFzIHNhaWQgaGUncyBub3Qgd2lsbGluZyB0byBwdXQgbW9y ZQ0KPiAgICAgdGltZSBpbnRvDQo+ICAgICAgPiB1bnRpbCBpdCdzIG1lcmdlZC4gVGhhdCdzIGhp cyBwcmVyb2dhdGl2ZSwgYW5kIGl0IGlzIG91cnMgdG8gc2F5DQo+ICAgICB0aGF0IHdlDQo+ICAg ICAgPiBkb24ndCB3YW50IHVuZmluaXNoZWQgc29mdHdhcmUgdGhhdCBvbmx5IG9uZSBvciB0d28g cGVvcGxlIHJlYWxseQ0KPiAgICAgID4gdW5kZXJzdGFuZCBpbiBQSFAuIEFsbCBvZiB0aGUgcmVz dCBvZiBpbnRlcm5hbHMgbmVlZCBhbGwgb2YgdGhlIHRpbWUNCj4gICAgICA+IGJldHdlZW4gbm93 IGFuZCBQSFAgOCB0byBlZHVjYXRlIG91cnNlbHZlcyBvbiB0aGlzIHNvIHRoYXQgd2UNCj4gICAg IGZ1bmN0aW9uIGFzDQo+ICAgICAgPiB3ZWxsIGFzIHdlIGRvIG5vdyB3aGVuIGl0IGNvbWVzIHRv IGZpbmRpbmcgYW5kIGZpeGluZyBidWdzLCBhbmQNCj4gICAgIHB1c2hpbmcgUEhQDQo+ICAgICAg PiBmb3J3YXJkLg0KPiANCj4gICAgIEZldyB5ZWFycyBhZ28gSSB3YXMgY2xhaW1lZCBmb3IgZGV2 ZWxvcG1lbnQgUEhQTk5HIHByaXZhdGVseSwgYnV0IHRoYXQNCj4gICAgIHRpbWUgd2UgZGVsaXZl cmVkIHRvIEBpbnRlcm5hbHMgYWxtb3N0IGNvbXBsZXRlZCBzb2x1dGlvbi4gTm93IHlvdQ0KPiAg ICAgZG9uJ3QNCj4gICAgIGxpa2UgdGhlIHNvbHV0aW9uLCBiZWNhdXNlIGl0J3MgaW5jb21wbGV0 ZSBpbiB5b3VyIG9waW5pb24gKFpUUw0KPiAgICAgc3VwcG9ydCwNCj4gICAgIGV0YyksIGFuZCB0 aGUgZGV2ZWxvcG1lbnQgbWFrZXMgdHJvdWJsZXMuLi4NCj4gDQo+ICAgICBJZiB5b3UgYXJlIGlu dGVyZXN0ZWQgaW4gWlRTLCB5b3UgbWF5IGludmVzdCB0aW1lIGluIGltcGxlbWVudGF0aW9uIG9m DQo+ICAgICB0aGUgWlRTIGltcHJvdmVtZW50IGlkZWEgYW5kIHRoZW4gSSBhZG9wdCB0aGUgSklU IGluIGZldy1kYXlzLiBUZWxsIG1lDQo+ICAgICBpZiB5b3Ugc3RhcnQsIGJlY2F1c2UgSSBtYXkg ZmluZCB0aW1lIG15c2VsZi4NCj4gDQo+ICAgICBJIHRvbGQsIEknbSBub3QgZ29pbmcgdG8gZG8g YW55IGFjdGl2ZSBKSVQgZGV2ZWxvcG1lbnQgYXQgdGhpcyBwb2ludC4NCj4gICAgIFdoeSB0byB3 YXN0ZSB0aW1lLCBpZiBpdCdzIG5vdCBnb2luZyB0byBiZSBhY2NlcHRlZC4uLg0KPiAgICAgSG93 ZXZlciwgSSBrZWVwIGl0IGluIHN5bmMgd2l0aCBtYXN0ZXIgYW5kIFBIUC03LjQsIGZpeCByZXBv cnRlZA0KPiAgICAgcHJvYmxlbXMsIHJlc3BvbmQgdG8gY29kZSByZXZpZXcgY29tbWVudHMsIGV0 YyAoanVzdCBjaGVjayBnaXQgY29tbWl0cw0KPiAgICAgaGlzdG9yeSkuDQo+IA0KPiAgICAgSW4g bGFzdCBlbWFpbCBJIGFza2VkIGZvciBpZGVhcyBmb3IgUkZDIGltcHJvdmVtZW50IChsaWtlIG5v dGVzIGFib3V0DQo+ICAgICB1bnN1cHBvcnRlZCBaVFMpLiBNYXkgYmUgaXQgbWFrZXMgc2Vuc2Ug dG8gYWRkIGNvbnMvcHJvcyBmb3IgYWRkaXRpb25hbA0KPiAgICAgUEhQLTcuNCBwcm9wb3NhbC4g TWF5IGJlIHdyaXRlIHNvbWV0aGluZyBtb3JlIGNsZWFyIChJJ20gbm90IGEgbmF0aXZlDQo+ICAg ICBzcGVha2VyKS4NCj4gDQo+ICAgICBCdXQgdGhpcyAiYSBiaXQgdG94aWMiIGRpc2N1c3Npb24s IGF0IGxlYXN0LCBzdGVhbHMgdGltZSBmcm9tDQo+ICAgICBjb25zdHJ1Y3RpdmUgdGhpbmdzLg0K PiANCj4gICAgIEpvZSwgcGxlYXNlLCBkb24ndCB0YWtlIGFueXRoaW5nIHBlcnNvbmFsbHkuDQo+ ICAgICBEZXNwaXRlIEkgd3JvdGUgYWJvdmUsIEkgYXBwcmVjaWF0ZSB5b3VyIGludm9sdmVtZW50 IGluIFBIUCBkZXZlbG9wbWVudA0KPiAgICAgYW5kIHJlc3BlY3QgeW91ciBvcGluaW9uIHJlZ2Fy ZGluZyBKSVQsIFpUUy4gZXRjLg0KPiANCj4gICAgIFRoYW5rcy4gRG1pdHJ5Lg0KPiANCj4gDQo+ ICAgICAgPiBNZXJnaW5nIHRoZSBKSVQgaW50byA3LjQgcHV0cyBhIGJyaWNrIHdhbGwgaW4gdGhl IHdheSBvZiBwcm9ncmVzcw0KPiAgICAgID4gdGhhdCBub25lIG9mIHVzIGhhdmUgdGhlIHRvb2xz IHRvIGNsaW1iIG92ZXIuDQo+ICAgICAgPg0KPiAgICAgID4gSSBoZWFyIHRoZSBhcmd1bWVudCBh Ym91dCB3YW50aW5nIHRvIHRlc3QsIGJ1dCBhbnlvbmUgd2l0aCBzdWZmaWNpZW50DQo+ICAgICAg PiBleHBlcnRpc2UgdG8gdGVzdCB0aGUgSklUIGlzIGNhcGFibGUgb2YgYnVpbGRpbmcgdGhlIGJy YW5jaA0KPiAgICAgYXZhaWxhYmxlIG9uDQo+ICAgICAgPiBnaXRodWIsIHdlIGRvIG5vdCBuZWVk IHRvIHB1c2ggb3V0IGFuIGluY29tcGxldGUgcHJvZHVjdCB0byB0aGUNCj4gICAgIGVudGlyZQ0K PiAgICAgID4gd29ybGQgZm9yIHRoZSBzYWtlIG9mIHRoYXQgaGFuZGZ1bCBvZiBpbmRpdmlkdWFs cyB3aG8gd2lsbA0KPiAgICAgYWN0dWFsbHkgdGVzdC4NCj4gICAgICA+DQo+ICAgICAgPiBJIGJl bGlldmUgaXQgaXMgaW5jcmVkaWJseSBkYW5nZXJvdXMgdG8gc2hpcCA3LjQgd2l0aCB0aGUgSklU IGluIGl0J3MNCj4gICAgICA+IGN1cnJlbnQgZm9ybSwgYW5kIHdvdWxkIGFzayBldmVyeW9uZSB0 byBwbGVhc2UgdGhpbmsgdmVyeQ0KPiAgICAgY2FyZWZ1bGx5IGFib3V0DQo+ICAgICAgPiBpdCwg cHJpb3IgdG8gc3VwcG9ydGluZyBpdC4NCj4gICAgICA+DQo+ICAgICAgPiBUaGFua3MNCj4gICAg ICA+IEpvZQ0KPiAgICAgID4NCj4gICAgICA+DQo+ICAgICAgPiBPbiBUaHUsIDE0IEZlYiAyMDE5 IGF0IDE0OjM0LCBBcnZpZHMgR29kanVrcw0KPiAgICAgPGFydmlkcy5nb2RqdWtzQGdtYWlsLmNv bSA8bWFpbHRvOmFydmlkcy5nb2RqdWtzQGdtYWlsLmNvbT4+DQo+ICAgICAgPiB3cm90ZToNCj4g ICAgICA+DQo+ICAgICAgPj4g0YfRgiwgMTQg0YTQtdCy0YAuIDIwMTkg0LMuINCyIDE0OjU0LCBO aWNvbGFzIEdyZWthcw0KPiAgICAgPG5pY29sYXMuZ3Jla2FzK3BocEBnbWFpbC5jb20gPG1haWx0 bzpuaWNvbGFzLmdyZWthcyUyQnBocEBnbWFpbC5jb20+DQo+ICAgICAgPj4+IDoNCj4gICAgICA+ Pg0KPiAgICAgID4+Pj4gWy4uLl0gSSB0aGluayB0aGF0IHdoZXRoZXIgb3Igbm90IHdlIGluY2x1 ZGUgaXQgaW4gNy40DQo+ICAgICAgPj4+PiBpcyBhIHRhY3RpY2FsIGRlY2lzaW9uIChhbmQgSSdt IG5vdCBzdXJlIG15c2VsZiB3aGVyZSBJIHN0YW5kDQo+ICAgICBvbiBpdCksDQo+ICAgICAgPj4+ IGJ1dCBJDQo+ICAgICAgPj4+PiBkbyB0aGluayB0aGVyZSdzIGEgcmVhc29uYWJsZSBjYXNlIGZv ciBib3RoIGRpcmVjdGlvbnMuDQo+ICAgICAgPj4+Pg0KPiAgICAgID4+Pg0KPiAgICAgID4+PiBJ ZiBJIG1heSBhZGQgc29tZSB2b2ljZSB0byBaZWV2J3MgYXJndW1lbnRzLCBiZWluZyBhYmxlIHRv IHBsYXkNCj4gICAgIHdpdGggSklUDQo+ICAgICAgPj4gYXMNCj4gICAgICA+Pj4gZWFybHkgYXMg cG9zc2libGUgd291bGQgYWxsb3cgdGhlIGNvbW11bml0eSB0byBleHBlcmltZW50IHVzaW5nDQo+ ICAgICBQSFAgaW4NCj4gICAgICA+Pj4gYXJlYXMgd2hlcmUgaXQgZG9lc24ndCBmaXQgcmlnaHQg bm93LiBIYXZpbmcgdG8gd2FpdCAyIG1vcmUNCj4gICAgIHllYXJzIHRvDQo+ICAgICAgPj4+IGRp c2NvdmVyIHRoYXQgbWF5YmUgaXQncyB1c2VmdWwgdG8gYnVpbGQgc29tZSBuZXcgbGlicmFyaWVz DQo+ICAgICBjb3VsZCBiZSBhDQo+ICAgICAgPj4+IHdhc3RlIG9mIHRpbWUgYXQgdGhlIHRhY3Rp Y2FsIGxldmVsICh0aGVyZSBhcmUgb3RoZXINCj4gICAgIHRlY2hub2xvZ2llcyBhcm91bmQNCj4g ICAgICA+Pj4gdGhhdCBtb3ZlIGZhc3QgYWxzbyA6KSApDQo+ICAgICAgPj4+DQo+ICAgICAgPj4+ IE5vdCB0byBkZXRyYWN0IGZyb20gdGhlIHRlY2huaWNhbCBjaGFsbGVuZ2VzIG9mIG1vdmluZyBp biB0aGlzDQo+ICAgICBkaXJlY3Rpb24sDQo+ICAgICAgPj4+IG9mIGNvdXJzZS4NCj4gICAgICA+ Pj4gSnVzdCBteSAyY3RzIGZyb20gYSAidXNlcmxhbmQiIGd1eSA6KQ0KPiAgICAgID4+Pg0KPiAg ICAgID4+PiBOaWNvbGFzDQo+ICAgICAgPj4+DQo+ICAgICAgPj4NCj4gICAgICA+PiBIZWxsbyBl dmVyeW9uZSwNCj4gICAgICA+Pg0KPiAgICAgID4+IEkgYWdyZWUgd2l0aCB0aGlzIHNlbnRpbWVu dCBhbmQgdGhlIGdlbmVyYWwgaWRlYSBvZiBzaGlwcGluZyBKSVQgYXMNCj4gICAgICA+PiBleHBl cmltZW50YWwgaW4gNy40IGFuZCByZXF1aXJlZCB0byBidWlsZCB3aXRoIGEgY29uZmlndXJlIGZs YWcuDQo+ICAgICAgPj4gbWFzdGVyIGZvciA4LjAgaXMgZ29pbmcgdG8gY29udGFpbiBtdWNoIG1v cmUgYW5kIGJlIG1vcmUNCj4gICAgIHVuc3RhYmxlIGFuZCBub3QNCj4gICAgICA+PiBwcmFjdGlj YWwgZm9yIHRlc3Rpbmcgd2hhdCBKSVQgY2FuIGRvIGF0IHRoYXQgcG9pbnQgZHVlIHRvIGFsbCBv dGhlcg0KPiAgICAgID4+IGZlYXR1cmVzIGFuZCBpbXByb3ZlbWVudHMgZ29pbmcgaW50byBpdCBs aWtlIGFkZGl0aW9uYWwNCj4gICAgIG9wdGltaXphdGlvbnMgYW5kDQo+ICAgICAgPj4gcGxhdGZv cm0gc3VwcG9ydC4NCj4gICAgICA+PiBJdCB3aWxsIGdpdmUgbWUsIGFzIGEgdXNlcmxhbmQgZGV2 ZWxvcGVyLCBhIHBsYXRmb3JtIHdoZXJlIEkgY2FuDQo+ICAgICBhY3R1YWxseQ0KPiAgICAgID4+ IHBsYXkgd2l0aCBpdCBlYXJseSBhbmQgb24gYSBzdGFibGUgcGxhdGZvcm0uIEFuZCBJIHVuZGVy c3RhbmQNCj4gICAgIHdoYXQgSSdtDQo+ICAgICAgPj4gZG9pbmcgYXQgdGhhdCBwb2ludC4NCj4g ICAgICA+Pg0KPiAgICAgID4+IC0tDQo+ICAgICAgPj4gQXJ2xKtkcyBHb2RqdWtzDQo+ICAgICAg Pj4NCj4gICAgICA+PiArMzcxIDI2IDg1MSA2NjQNCj4gICAgICA+PiBhcnZpZHMuZ29kanVrc0Bn bWFpbC5jb20gPG1haWx0bzphcnZpZHMuZ29kanVrc0BnbWFpbC5jb20+DQo+ICAgICAgPj4gU2t5 cGU6IHBzaWhpdXMNCj4gICAgICA+PiBUZWxlZ3JhbTogQHBzaWhpdXMgaHR0cHM6Ly90Lm1lL3Bz aWhpdXMNCj4gICAgICA+Pg0KPiAgICAgID4NCj4gDQo=