From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 905097FA5F for ; Thu, 19 Jan 2017 15:43:09 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=Neutral smtp.pra=hzhang295@bloomberg.net; spf=Pass smtp.mailfrom=hzhang295@bloomberg.net; spf=None smtp.helo=postmaster@mgnj1.bloomberg.net Received-SPF: Neutral (mail2-smtp-roc.national.inria.fr: domain of hzhang295@bloomberg.net does not assert whether or not 69.191.244.19 is permitted sender) identity=pra; client-ip=69.191.244.19; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="hzhang295@bloomberg.net"; x-sender="hzhang295@bloomberg.net"; x-conformance=sidf_compatible; x-record-type="spf2.0" Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of hzhang295@bloomberg.net designates 69.191.244.19 as permitted sender) identity=mailfrom; client-ip=69.191.244.19; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="hzhang295@bloomberg.net"; x-sender="hzhang295@bloomberg.net"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mgnj1.bloomberg.net) identity=helo; client-ip=69.191.244.19; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="hzhang295@bloomberg.net"; x-sender="postmaster@mgnj1.bloomberg.net"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3APMc6TxBUMiAix/s7Q5zuUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSP78p8bcNUDSrc9gkEXOFd2CrakV16yK6uu+ACRAuc/H6y9SNsQUFlcsso?= =?us-ascii?q?Y/oU8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0Iu?= =?us-ascii?q?frymUrjpkt+v2uuu15rWagROzHrhMPIhZCmx+ADYrMoZgYJzJqs34grAonxPPe?= =?us-ascii?q?9RwDBSKEqXjir7s42Q+5hs+SMYifIo8cEKGfH6baQxS7MCXWkOOWQy48jhuAPM?= =?us-ascii?q?Cw2C+i1PfH8Rl08CIw/D4xv9FqXxuy31/qpX/A69GOfbd59zEWv5tu9PZS+pwm?= =?us-ascii?q?9TNyw5+WfY0J0tpKhfpxWkrRFlzMjSbZ3DZ6k2Rb/UYd5PHTkJZc1WTSEUXtKx?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0CyAACnz4BYhxP0v0VEGoNvAQEBAQF/g?= =?us-ascii?q?QmOS5EggieFTooDgyWCDIJsgzYcgWQ/GAMBAQEBAQEBARIBAQEIDQkKHTCCMwQ?= =?us-ascii?q?DAxaCFgEWClQGBRsSAwIOIx0hBQQDAymIYAMYBTamRosRhGiGCoVahV+DDIEwJ?= =?us-ascii?q?IVNBYErAQEBhXoMk1guCAEBARqBIoUkgxiJY1KEPYloknAfgglEXzuDMoFrPja?= =?us-ascii?q?HKIEAgTsBAQE?= X-IPAS-Result: =?us-ascii?q?A0CyAACnz4BYhxP0v0VEGoNvAQEBAQF/gQmOS5EggieFToo?= =?us-ascii?q?DgyWCDIJsgzYcgWQ/GAMBAQEBAQEBARIBAQEIDQkKHTCCMwQDAxaCFgEWClQGB?= =?us-ascii?q?RsSAwIOIx0hBQQDAymIYAMYBTamRosRhGiGCoVahV+DDIEwJIVNBYErAQEBhXo?= =?us-ascii?q?Mk1guCAEBARqBIoUkgxiJY1KEPYloknAfgglEXzuDMoFrPjaHKIEAgTsBAQE?= X-IronPort-AV: E=Sophos;i="5.33,254,1477954800"; d="scan'208,217";a="256270824" Received: from mgnj1.bloomberg.net ([69.191.244.19]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jan 2017 15:32:37 +0100 X-BB-Reception-Complete: 19 Jan 2017 09:32:34 -0500 X-IP-Listener: Outgoing Mail X-IP-MID: 431144975 Received: from msllnjpmsgsv06.bloomberg.com (HELO msllnjpmsgsv06) ([10.126.134.166]) by mgnj1.bloomberg.net with SMTP; 19 Jan 2017 09:32:34 -0500 X-BLP-INETSVC: version=BLP_APP_S_INETSVC_1.0.1; host=mgnj1:25; conid=116 Date: Thu, 19 Jan 2017 14:32:35 -0000 From: "Hongbo Zhang (BLOOMBERG/ 731 LEX)" Reply-To: "Hongbo Zhang" To: markghayden@yahoo.com Cc: caml-list@inria.fr MIME-Version: 1.0 Message-ID: <5880CE0301F005AE00390420_0_47895@msllnjpmsgsv06> X-BLP-GUID: 5880CE0301F005AE003904200000 Content-Type: multipart/alternative; boundary="BOUNDARY_5880CE0301F005AE00390420_0_53331_msllnjpmsgsv06" Content-ID: Subject: Re: [Caml-list] Ocaml optimizer pitfalls & work-arounds --BOUNDARY_5880CE0301F005AE00390420_0_53331_msllnjpmsgsv06 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 SW5kZWVkLCBJIHJlYWxseSB3aXNoIHdlIGhhdmUgYSB3YXJuaW5nIHdoZW4g cG9seW1vcnBoaWMgY29tcGFyaXNvbiBjYW4gbm90IGJlIHR5cGUgc3BlY2lh bGl6ZWQgc28gdGhhdCBwZW9wbGUgY2FuIHR1cm4gdGhhdCB3YXJuaW5nIGlu dG8gZXJyb3IsIG9yIHdlIGhhdmUgYW4gYXR0cmlidXRlIGluIHR5cGVzIHRv IGFsbG93IHBvbHltb3JwaGljIGNvbXBhcmUgZm9yIGEgc21hbGwgYW1vdW50 IG9mIHNlbGVjdGl2ZSB0eXBlcy4KVGhlcmUgYXJlIHNvbWUgb3RoZXIgYXdr d2FyZCBzaXR1YXRpb25zOiByZWNlbnRseSB3aGVuIHdlIHBvbHlmaWxsIElu dDY0IGluIEJ1Y2tsZVNjcmlwdCwgd2UgaGF2ZSB0byAKdGhpbmsgYWJvdXQg dGhlIGRhdGEgbGF5b3V0IHRvIG1hdGNoIHRoZSBzZW1hbnRpY3Mgb2YgcG9s eW1vcnBoaWMgY29tcGFyaXNvbi4gc28gdGhhdCBhIHBvbHltb3JwaGljIGNv bXBhcmUgb2YgYDFMIDwgMkxgIHN0aWxsIG1ha2Ugc2Vuc2UuCmBtaW5gLCBg bWF4YCBhcmUgd29yc2UsIHNpbmNlIHRoZXkgYXJlIG5ldmVyIHR5cGUgc3Bl Y2lhbGl6ZWQgaW4gY3VycmVudCBjb21waWxlci4KRnJvbTogbWFya2doYXlk ZW5AeWFob28uY29tIEF0OiAwMS8xOS8xNyAwMTo1MTo0MwpUbzogY2FtbC1s aXN0QGlucmlhLmZyClN1YmplY3Q6IFJlOltDYW1sLWxpc3RdIE9jYW1sIG9w dGltaXplciBwaXRmYWxscyAmIHdvcmstYXJvdW5kcwoKV2UgcmVjZW50bHkg dXBncmFkZWQgb3VyIE9jYW1sIHRvb2xjaGFpbiBmcm9tIDQuMDIuMyB0byBP Y2FtbCA0LjA0LjAuCldlIHdlcmUgbG9va2luZyBmb3J3YXJkIHRvIGEgcGVy Zm9ybWFuY2UgYm9vc3QgZnJvbSB0aGUgb3B0aW1pemF0aW9uCmltcHJvdmVt ZW50cywgZXNwZWNpYWxseSBmcm9tIGZsYW1iZGEuICBXaGlsZSB3ZSBnZW5l cmFsbHkgd2VyZSBhYmxlCnRvIGFjaGlldmUgc2lnbmlmaWNhbnQgcGVyZm9y bWFuY2UgaW1wcm92ZW1lbnQsIHdlIHdlcmUgc29tZXdoYXQKc3VycHJpc2Vk IGJ5IHRoZSBlZmZvcnQgcmVxdWlyZWQgdG8gYXZvaWQgY2VydGFpbiBwaXRm YWxscyBpbiBPY2FtbC4KClRoaXMgbm90ZSBkZXNjcmliZXMgc29tZSBpc3N1 ZXMgd2UgcmFuIGludG8uICBXZSBmaWxlZCBzZXZlcmFsCnJlcG9ydHMgb24g T2NhbWwgTWFudGlzIHJlZ2FyZGluZyBvdXIgZmluZGluZ3MuICBIb3dldmVy IGl0IGFwcGVhcnMKdGhlIHVuZGVybHlpbmcgaXNzdWVzIHdlIHJhbiBpbnRv IGFyZSB1bmxpa2VseSB0byBjaGFuZ2U6CgogIFlvdXIgdGhyZWUgcmVwb3J0 cyAoMDAwNzQ0MCwgMDAwNzQ0MSwgMDAwNzQ0MikgYXJlIG1hbmlmZXN0YXRp b25zCiAgb2YgdGhlIHNhbWUgZmFjdDogdGhlIE9DYW1sIGNvbXBpbGVyIHBl cmZvcm1zIHR5cGUtYmFzZWQKICBvcHRpbWl6YXRpb25zIGZpcnN0LCB0aGVu IGVyYXNlcyB0eXBlcywgdGhlbiBwZXJmb3JtcyBhbGwgdGhlIG90aGVyCiAg b3B0aW1pemF0aW9ucy4gVGhpcyBpcyB2ZXJ5IHVubGlrZWx5IHRvIGNoYW5n ZSBpbiB0aGUgbmVhciBmdXR1cmUsCiAgYXMgaXQgd291bGQgcmVxdWlyZSBh IHRvdGFsIHJld3JpdGUgb2YgdGhlIGNvbXBpbGVyLgoKICBbWCBMZXJveSwg aHR0cHM6Ly9jYW1sLmlucmlhLmZyL21hbnRpcy92aWV3LnBocD9pZD03NDQw XQoKSSBlbmNvdXJhZ2UgcmVhZGVycyB0byByZXZpZXcgdGhlIHByb2JsZW0g cmVwb3J0cyB3ZSBzdWJtaXR0ZWQsIHdoaWNoCmluY2x1ZGUgbW9yZSBjb25j cmV0ZSBleGFtcGxlcy4gIEknbSBwb3N0aW5nIHRoaXMgbm90ZSBpbiBjYXNl IHRoZXJlCmFyZSBvdGhlcnMgcnVubmluZyBpbnRvIHNpbWlsYXIgcGVyZm9y bWFuY2UgaXNzdWVzIHdpdGggdGhlaXIgT2NhbWwKc29mdHdhcmUgYW5kIHdo byBtaWdodCBmaW5kIGl0IGhlbHBmdWwgaW4gd29ya2luZyBhcm91bmQgdGhv c2UKaXNzdWVzLiAgSSdtIG5vdCBhd2FyZSBvZiB0aGVtIGJlaW5nIGRvY3Vt ZW50ZWQgZWxzZXdoZXJlIGFuZCB0aGVyZQphcHBlYXJzIHRvIGJlIGxpdHRs ZSBwcm9zcGVjdCBvZiB0aGUgaXNzdWVzIGJlaW5nIGFkZHJlc3NlZCBpbiB0 aGUKY29tcGlsZXIgaW4gdGhlIGZvcnNlZWFibGUgZnV0dXJlLiAgUGxlYXNl IGNoaW1lIGluIGlmIGFueSBvZiB0aGlzIGlzCmluYWNjdXJhdGUgb3IgdGhl cmUgaXMgc29tZXRoaW5nIEkgbWlzc2VkLgoKQXMgYW4gaW5pdGlhbCBleGFt cGxlLCBjb25zaWRlciB0aGUgZm9sbG93aW5nIE9jYW1sIGNvZGUgdG8gZmlu ZCB0aGUKbWF4aW11bSBmbG9hdGluZyBwb2ludCB2YWx1ZSBpbiBhbiBhcnJh eSAodGhhdCBpcyBhdCBsZWFzdCAwLjApOgoKICBbQXJyYXkuZm9sZF9sZWZ0 IG1heCAwLjAgYXJyXQoKTm93IGNvbXBpbGUgdGhpcyB3aXRoIHRoZSBsYXRl c3QgY29tcGlsZXIgYW5kIG1heGltdW0gb3B0aW1pemF0aW9uLgpCZWNhdXNl IG9mIGhvdyB0aGUgT2NhbWwgb3B0aW1pemF0aW9uIHdvcmtzLCB0aGlzIHdp bGwgcnVuIGFib3V0CjEwLTE1eCBzbG93ZXIgKGFuZCBhbGxvY2F0ZSAyLTMg d29yZHMgcGVyIGFycmF5IGVsZW1lbnQpIHRoYW4gYSBtb3JlCmNhcmVmdWxs eSB3cml0dGVuIHZlcnNpb24gdGhhdCB1c2VzIHNwZWNpYWxpemVkIG9wZXJh dGlvbnMgYW5kIGF2b2lkcwphbGxvY2F0aW9uLiAgU2VlIGJlbG93IGZvciBv bmUgd2F5IHRvIGFjaGlldmUgdGhpcyAod2hpbGUgc3RpbGwgdXNpbmcKYSBm dW5jdGlvbmFsLXByb2dyYW1taW5nIHN0eWxlKS4KCiAgKCogU2FtZSBhcyBB cnJheS5mb2xkX2xlZnQsIGJ1dCB3aXRoIHR5cGUgY2FzdGluZy4KICAgKikK ICBsZXQgW0BpbmxpbmVdIGFycmF5X2ZvbGRfbGVmdGYgZiAoeDpmbG9hdCkg KGE6ZmxvYXQgYXJyYXkpID0KICAgIGxldCByID0gcmVmIHggaW4KICAgIGZv ciBpID0gMCB0byBBcnJheS5sZW5ndGggYSAtIDEgZG8KICAgICAgciA6PSBm ICFyIChBcnJheS51bnNhZmVfZ2V0IGEgaSkKICAgIGRvbmU7CiAgICAhcgog IDs7CgogIGxldCBbQGlubGluZV0gZmxvYXRfbWF4ICh2MDpmbG9hdCkgdjEg PQogICAgaWYgdjAgPiB2MSB0aGVuIHYwIGVsc2UgdjEKICA7OwoKICBsZXQg YXJyYXlfZmxvYXRfbWF4IGEgPQogICAgYXJyYXlfZm9sZF9sZWZ0ZiBmbG9h dF9tYXggMC4wIGEKICA7OwoKVGhlIGFzc2VtYmx5IGZvciB0aGUgImlubmVy IGxvb3AiIGZvciB0aGUgdHdvIGV4YW1wbGVzIGFyZSBiZWxvdy4KVGhleSB3 ZXJlIGNvbXBpbGVkIHdpdGggT2NhbWwgNC4wNS5kZXYrZmxhbWJkYSwgIi1P MwotdW5ib3gtY2xvc3VyZXMiLCBNYWNPUyAxMi4yLCBBTUQ2NC4KClVub3B0 aW1pemVkIGV4YW1wbGUuICBOb3RlIHRlc3QvYnJhbmNoIGZvciBhcnJheSB0 YWcuICBBbGxvY2F0aW9uIGZvcgpib3hpbmcgKHdlIGRpZCBub3QgaW5jbHVk ZSB0aGUgY2FsbHMgdG8gdHJpZ2dlciBhIG1pbm9yIGdjKS4gIFRoZXJlCmlz IGEgY2FsbCB0byBPY2FtbCBydW50aW1lIGZvciBwb2x5bW9ycGhpYyBncmVh dGVyLWVxdWFsLiAgVGhpcyBpcwpwcm9iYWJseSBub3Qgd2hhdCBvbmUgd291 bGQgZXhwZWN0IGZyb20gYW4gb3B0aW1pemluZy9pbmxpbmUgY29tcGlsZXIK Zm9yIGEgc2ltcGxlIGNhc2Ugc3VjaCBhcyB0aGlzLiAgTm90ZSB0aGF0IHRv IGNyZWF0ZSB0aGlzIHdlIHVzZWQgb3VyCm93biBkZWZpbml0aW9uIG9mIEFy cmF5LmZvbGRfbGVmdCB3aGljaCBoYWQgYW4gIltAaW5saW5lXSIKYW5ub3Rh dGlvbi4KCiAgTDIxNToKICAgICAgICAgIG1vdnEgICAgKCVyc3ApLCAlcmJ4 CiAgICAgICAgICAubG9jICAgIDEgICAgICAgMzggICAgICAxNAogICAgICAg ICAgbW92emJxICAtOCglcmJ4KSwgJXJheAogICAgICAgICAgY21wcSAgICAk MjU0LCAlcmF4CiAgICAgICAgICBqZSAgICAgIEwyMTkKICAgICAgICAgIC5s b2MgICAgMSAgICAgICAzOCAgICAgIDE0CiAgICAgICAgICBtb3ZxICAgIC00 KCVyYngsJXJkeCw0KSwgJXJzaQogICAgICAgICAgbW92cSAgICAlcnNpLCAy NCglcnNwKQogICAgICAgICAgam1wICAgICBMMjE4CiAgICAgICAgICAuYWxp Z24gIDIKICBMMjE5OgogICAgICAgICAgLmxvYyAgICAxICAgICAgIDM4ICAg ICAgMTQKICBMMjIxOgogICAgICAgICAgc3VicSAgICAkMTYsICVyMTUKICAg ICAgICAgIG1vdnEgICAgX2NhbWxfeW91bmdfbGltaXRAR09UUENSRUwoJXJp cCksICVyYXgKICAgICAgICAgIGNtcHEgICAgKCVyYXgpLCAlcjE1CiAgICAg ICAgICBqYiAgICAgIEwyMjIKICAgICAgICAgIGxlYXEgICAgOCglcjE1KSwg JXJzaQogICAgICAgICAgbW92cSAgICAkMTI3NywgLTgoJXJzaSkKICAgICAg ICAgIC5sb2MgICAgMSAgICAgICAzOCAgICAgIDE0CiAgICAgICAgICBtb3Zz ZCAgIC00KCVyYngsJXJkeCw0KSwgJXhtbTAKICAgICAgICAgIG1vdnNkICAg JXhtbTAsICglcnNpKQogICAgICAgICAgbW92cSAgICAlcnNpLCAyNCglcnNw KQogIEwyMTg6CiAgICAgICAgICBtb3ZxICAgICVyZGksIDMyKCVyc3ApCiAg ICAgICAgICAuZmlsZSAgIDUgICAgICAgInBlcnZhc2l2ZXMubWwiCiAgICAg ICAgICAubG9jICAgIDUgICAgICAgNjUgICAgICAxNwogICAgICAgICAgbW92 cSAgICBfY2FtbF9ncmVhdGVyZXF1YWxAR09UUENSRUwoJXJpcCksICVyYXgK ICAgICAgICAgIGNhbGwgICAgX2NhbWxfY19jYWxsCiAgTDIxMzoKICAgICAg ICAgIG1vdnEgICAgX2NhbWxfeW91bmdfcHRyQEdPVFBDUkVMKCVyaXApLCAl cjExCiAgICAgICAgICBtb3ZxICAgICglcjExKSwgJXIxNQogICAgICAgICAg Y21wcSAgICAkMSwgJXJheAogICAgICAgICAgamUgICAgICBMMjE3CiAgICAg ICAgICBtb3ZxICAgIDMyKCVyc3ApLCAlcmRpCiAgICAgICAgICBqbXAgICAg IEwyMTYKICAgICAgICAgIC5hbGlnbiAgMgogIEwyMTc6CiAgICAgICAgICBt b3ZxICAgIDI0KCVyc3ApLCAlcmRpCiAgTDIxNjoKICAgICAgICAgIG1vdnEg ICAgOCglcnNwKSwgJXJkeAogICAgICAgICAgbW92cSAgICAlcmR4LCAlcmF4 CiAgICAgICAgICBhZGRxICAgICQyLCAlcmR4CiAgICAgICAgICBtb3ZxICAg ICVyZHgsIDgoJXJzcCkKICAgICAgICAgIG1vdnEgICAgMTYoJXJzcCksICVy YngKICAgICAgICAgIGNtcHEgICAgJXJieCwgJXJheAogICAgICAgICAgam5l ICAgICBMMjE1CgoKVGhlIGFzc2VtYmx5IGZvciB0aGUgbW9yZSBjYXJlZnVs bHkgd3JpdHRpbmcgY2FzZSBpcyBiZWxvdy4gIE5vCmFsbG9jYXRpb24uICBO byBjYWxsIHRvIGV4dGVybmFsIEMgY29kZS4gIE5vIHRlc3QvYnJhbmNoIGZv ciBhcnJheQp0YWcuICBUaGlzIG1hdGNoZXMgd2hhdCBJIHRoaW5rIG1vc3Qg cGVvcGxlIHdvdWxkIGxpa2UgdG8gc2VlLiAgSXQgaXMKY29tcGFjdCBlbm91 Z2ggdGhhdCAobWF5YmUpIGl0IHdvdWxkIGJlbmVmaXQgZnJvbSB1bnJvbGxp bmc6CgogIGwyMjU6CiAgICAgICAgICAubG9jICAgIDEgICAgICAgNDYgICAg ICAxNAogICAgICAgICAgbW92c2QgICAtNCglcmF4LCVyZGksNCksICV4bW0x CiAgICAgICAgICBjb21pc2QgICV4bW0xLCAleG1tMAogICAgICAgICAgamJl ICAgICBsMjI3CiAgICAgICAgICBqbXAgICAgIGwyMjYKICAgICAgICAgIC5h bGlnbiAgMgogIGwyMjc6CiAgICAgICAgICBtb3ZhcGQgICV4bW0xLCAleG1t MAogIGwyMjY6CiAgICAgICAgICBtb3ZxICAgICVyZGksICVyc2kKICAgICAg ICAgIGFkZHEgICAgJDIsICVyZGkKICAgICAgICAgIGNtcHEgICAgJXJieCwg JXJzaQogICAgICAgICAgam5lICAgICBsMjI1CgoKVGhlIHR3byBtYWluIGxl YXJuaW5ncyB3ZSBmb3VuZCB3ZXJlOgoKKiBQb2x5bW9ycGhpYyBwcmltaXRp dmVzIChbQXJyYXkuZ2V0XSwgW2NvbXBhcmVdLCBbPj1dLCBbbWluXSkgYXJl CiAgb25seSBzcGVjaWFsaXplZCBpZiB0aGV5IGFwcGVhciBpbiBhIGNvbnRl eHQgd2hlcmUgdGhlIHR5cGVzIGNhbiBiZQogIGRldGVybWluZWQgYXQgdGhl aXIgZXhhY3QgY2FsbCBzaXRlLCBvdGhlcndpc2UgYSBwb2x5bW9ycGhpYwog IHZlcnNpb24gaXMgdXNlZC4gIElmIHRoZSB1c2Ugb2YgdGhlIHByaW1pdGl2 ZSBpcyBsYXRlciBpbmxpbmVkIGluIGEKICBjb250ZXh0IHdoZXJlIHRoZSB0 eXBlIGlzIG5vIGxvbmdlciBwb2x5bW9ycGhpYywgdGhlIGZ1bmN0aW9uIHdp bGwKICBfbm90XyBiZSBzcGVjaWFsaXplZCBieSB0aGUgY29tcGlsZXIuCgoq IFVzZSBvZiBhYnN0cmFjdCBkYXRhIHR5cGVzIHByZXZlbnRzIHNwZWNpYWxp emF0aW9uLiAgSW4gcGFydGljdWxhciwKICBkZWZpbmluZyBhbiBhYnN0cmFj dCBkYXRhIHR5cGUgaW4gYSBtb2R1bGUgKCJ0eXBlIHQgOzsiKSB3aWxsCiAg cHJldmVudCBzcGVjaWFsaXphdGlvbiAoZXZlbiBhZnRlciBpbmxpbmluZykg Zm9yIGFueSBwb2x5bW9ycGhpYwogIHByaW1pdGl2ZXMgKGVnLCAiY2FtbF9l cXVhbCIpIHVzZWQgd2l0aCB0aGF0IHR5cGUuICBGb3IgaW5zdGFuY2UsCiAg aWYgdGhlIHVuZGVybHlpbmcgdHlwZSBmb3IgW3RdIGlzIGFjdHVhbGx5IFtp bnRdLCBvdGhlciBtb2R1bGVzCiAgd2lsbCBzdGlsbCB1c2UgcG9seW1vcnBo aWMgZXF1YWxpdHkgaW5zdGVhZCBvZiBhIHNpbmdsZSBtYWNoaW5lCiAgaW5z dHJ1Y3Rpb24uICBZb3UgY2FuIHByZXZlbnQgdGhpcyBiZWhhdmlvciB3aXRo IHRoZSAicHJpdmF0ZSIKICBrZXl3b3JkIGluIG9yZGVyIHRvIGV4cG9ydCB0 aGUgdHlwZSBpbmZvcm1hdGlvbiwgInR5cGUgdCA9IHByaXZhdGUKICBpbnQi LiAgQWx0ZXJuYXRpdmVseSwgdGhlIG1vZHVsZSBjYW4gaW5jbHVkZSBpdHMg b3duIHNwZWNpYWxpemVkCiAgb3BlcmF0aW9ucyBhbmQgb3RoZXIgbW9kdWxl cyBjYW4gYmUgY2FyZWZ1bCB0byB1c2UgdGhlbS4KCkl0IGJlYXJzIGVtcGhh c2l6aW5nIHRoYXQgdGhlIGlzc3VlcyBkZXNjcmliZWQgaW4gdGhpcyBub3Rl IGFwcGx5CmV2ZW4gd2hlbiBhbGwgb2YgdGhlIGNvZGUgaXMgImZ1bGx5IGlu bGluZWQiIGFuZCB1c2VzIGhpZ2hlc3QgbGV2ZWwKb2Ygb3B0aW1pemF0aW9u LiAgU3BlY2lhbGl6YXRpb24gaW4gdGhlIE9jYW1sIGNvbXBpbGVyIG9jY3Vy cyBpbiBhCnN0YWdlIHByaW9yIHRvIGlubGluaW5nLiAgSWYgaXQgaGFzbuKA mXQgaGFwcGVuZWQgYmVmb3JlIGlubGluaW5nLCBpdAp3b27igJl0IGhhcHBl biBhZnRlcndhcmRzLgoKV2hhdCBraW5kIG9mIGVmZmVjdCBkb2VzIGxhY2sg b2Ygc3BlY2lhbGl6YXRpb24gaGF2ZSBvbiBwZXJmb3JtYW5jZT8KQ2FsbGlu ZyB0aGUgImNhbWxfY29tcGFyZSIgT2NhbWwgQyBydW50aW1lIGZ1bmN0aW9u IHRvIGNvbXBhcmUKaW50ZWdlcnMgY2FuIGJlIDEwLTIweCB0aW1lcyBzbG93 ZXIgdGhhbiB1c2luZyBhIHNpbmdsZSBpbnRlZ2VyCmNvbXBhcmlzb24gbWFj aGluZSBpbnN0cnVjdGlvbi4gIERpdHRvIGZvciBmbG9hdGluZyBwb2ludCB2 YWx1ZXMuClRoZSB1bnNwZWNpYWxpemVkIFtBcnJheS5nZXRdLCBbQXJyYXku c2V0XSwgYW5kIChvbiAzMi1iaXQpCltBcnJheS5sZW5ndGhdIGhhdmUgdG8g Y2hlY2sgdGhlIHRhZyBvbiB0aGUgYXJyYXkgdG8gZGV0ZXJtaW5lIGlmIHRo ZQphcnJheSB1c2VzIHRoZSB1bmJveGVkIGZsb2F0aW5nLXBvaW50IHJlcHJl c250YXRpb24gKEkgd2lzaCBPY2FtbApkaWRuJ3QgdXNlIHRoaXMhKS4gIEZv ciBpbnN0YW5jZSwgdGhlIHBvbHltb3JwaGljIFtBcnJheS5nZXRdIGNoZWNr cwp0aGUgdGFnIG9uIHRoZSBhcnJheSBhbmQgKGZvciBmbG9hdGluZyBwb2lu dCBhcnJheXMpIHJlYWRzIHRoZSB2YWx1ZQphbmQgYm94ZXMgdGhlIGZsb2F0 aW5nIHBvaW50IHZhbHVlIChpZSwgYWxsb2NhdGUgMi0zIHdvcmRzIG9uIHRo ZQpoZWFwKS4gIE5vdGUgdGhhdCB3aGVuIGl0ZXJhdGluZyBvdmVyIGFuIGFy cmF5LCB0aGUgY2hlY2sgb24gdGhlIHRhZwp3aWxsIGJlIGluY2x1ZGVkIGlu IF9lYWNoXyBsb29wIGl0ZXJhdGlvbi4KCk90aGVyIGltcGFjdHMgb2YgdXNp bmcgbm9uLXNwZWNpYWxpemVkIGZ1bmN0aW9uczoKCiogVXNlIG9mIHBvbHlt b3JwaGljIHByaW1pdGl2ZXMgbWVhbnMgZmxvYXRpbmcgcG9pbnQgdmFsdWVz IGhhdmUgdG8KICBiZSBib3hlZCwgcmVxdWlyaW5nIGhlYXAgYWxsb2NhdGlv bi4gIFRocm91Z2ggdXNlIG9mIHNwZWNpYWxpemVkCiAgc3BlY2lhbGl6ZWQg cHJpbWl0aXZlcywgaW4gbWFueSBjYXNlcyBmbG9hdHMgY2FuIHJlbWFpbiB1 bmJveGVkLgoKKiBBbGwgdGhlIGV4dHJhIG5hdGl2ZSBjb2RlIGZyb20gdXNp bmcgcG9seW1vcnBoaWMgcHJpbWl0aXZlcwogIChjaGVja2luZyBhcnJheSB0 YWdzLCBjb25kaXRpb25hbGx5IGJveGluZyBmbG9hdHMsIGNhbGxpbmcgb3V0 IHRvCiAgT2NhbWwgQyBydW50aW1lKSBjYW4gaGF2ZSBmb2xsb3ctb24gZWZm ZWN0cyBmb3IgZnVydGhlciBpbmxpbmluZy4KICBJbiBvdGhlciB3b3Jkcywg d2hlbiBuYXRpdmUgY29kZSBjYW4gYmUga2VwdCBjb21wYWN0LCB0aGVuIG1v cmUKICBjb2RlIGNhbiBiZSBpbmxpbmVkIGFuZC9vciBsb29wcyB1bnJvbGxl ZCBhbmQgdGhpcyBjYW4gaW4gdHVybgogIGFsbG93IGZ1cnRoZXIgb3B0aW1p emF0aW9uLgoKU29tZSBzdWdnZXN0aW9ucyBvdGhlcnMgbWF5IGZpbmQgaGVs cGZ1bDoKCiogQ29uc2lkZXIgdXNpbmcgdGhlICJwcml2YXRlIiBrZXl3b3Jk IGZvciBhbnkgYWJzdHJhY3QgdHlwZXMgaW4geW91cgogIG1vZHVsZXMuICBX ZSBhZGRlZCBvdmVyIDUwIG9mIHRoZXNlIHRvIG91ciBjb2RlIGJhc2UuICBJ dCBpcyBhbgogIHVnbHkgYnV0IGVmZmVjdGl2ZSB3b3JrLWFyb3VuZC4KCiog VGhlIG1pbi9tYXggZnVuY3Rpb25zIGluIHN0YW5kYXJkIGxpYnJhcnkgUGVy dmFzaXZlcyBhcmUKICBwYXJ0aWN1bGFybHkgcHJvYmxlbWF0aWMuICBUaGV5 IGFyZSBwb2x5bW9ycGhpYyBzbyB0aGVpciBjb21wYXJpc29uCiAgd2lsbCBu ZXZlciBiZSBzcGVjaWFsaXplZC4gIEl0IGNhbiBiZSBoZWxwZnVsIHRvIGRl ZmluZSBzcGVjaWFsaXplZAogIGZ1bmN0aW9ucyBzdWNoIGFzOgoKICAgIGxl dCBbQGlubGluZV0gZmxvYXRfbWF4ICh2MDpmbG9hdCkgKHYxOmZsb2F0KSA9 CiAgICAgIGlmIHYwID4gdjEgdGhlbiB2MCBlbHNlIHYxCiAgICA7OwoKICAg IGxldCBbQGlubGluZV0gaW50X21heCAodjA6aW50KSAodjE6aW50KSA9CiAg ICAgIGlmIHYwID4gdjEgdGhlbiB2MCBlbHNlIHYxCiAgICA7OwoKICBUaGVz ZSB3aWxsIGJlIGNvbXBpbGVkIHRvIHVzZSBuYXRpdmUgbWFjaGluZSBjb2Rl IGFuZCB1bmJveGVkCiAgdmFsdWVzLgoKKiBBbnkgdXNlIG9mIHBvbHltb3Jw aGlzbSBjYW4gbmVnYXRpdmVseSBhZmZlY3QgcGVyZm9ybWFuY2UuICBCZQog IGNhcmVmdWwgYWJvdXQgaW5hZHZlcnRlbnRseSBpbnRyb2R1Y2luZyBwb2x5 bW9ycGhpc20gaW50byB5b3VyCiAgcHJvZ3JhbSwgc3VjaCBhcyB0aGlzIGhl bHBlciBmdW5jdGlvbjoKCiAgICBsZXQgW0BpbmxpbmVdIGdldHRlciB2IG9m cyA9IEFycmF5LmdldCB2IG9mcyA7OwoKICBUaGlzIHdpbGwgcmVzdWx0IGlu IHVuc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBbQXJyYXkuZ2V0XSBiZWluZwog IGlubGluZWQgYXQgYWxsIGNhbGwtc2l0ZXMuICBOb3RlIHRoYXQgaWYgeW91 ciAubWxpIGZpbGUgZGVmaW5lcyB0aGUKICBmdW5jdGlvbiBhcyBub24tcG9s eW1vcnBoaWMgdGhhdCB3aWxsIHN0aWxsIF9ub3RfIGFmZmVjdCBob3cKICBb Z2V0dGVyXSBpcyBjb21waWxlZC46CgogICAgdHlwZSBnZXR0ZXIgOiB0IC0+ IGludCAtPiBpbnQgOzsgICgqIGRvZXMgbm90IGFmZmVjdCBvcHRpbWl6YXRp b24gKikKCiAgWW91IG11c3QgY2FzdCB0aGUgdHlwZSBpbiB0aGUgaW1wbGVt ZW50YXRpb24gaW4gb3JkZXIgZm9yIFtBcnJheS5nZXRdCiAgdG8gYmUgc3Bl Y2lhbGl6ZWQ6CgogICAgbGV0IFtAaW5saW5lXSBnZXR0ZXIgKHY6aW50IGFy cmF5KSBvZnMgPSBBcnJheS5nZXQgdiBvZnMgOzsKCiogQWxsIHRoZSBpdGVy YXRvcnMgaW4gdGhlIEFycmF5IG1vZHVsZSAoZWcsIFtBcnJheS5pdGVyXSkg aW4gdGhlCiAgc3RhbmRhcmQgbGlicmFyeSBhcmUgcG9seW1vcnBoaWMsIHNv IHdpbGwgdXNlIHVuc3BlY2lhbGl6ZWQKICBhY2Nlc3NvcnMgYW5kIGJlIGFm ZmVjdGVkIGJ5IHRoZSBpc3N1ZXMgZGVzY3JpYmVkIGhlcmUuICBVc2luZyB0 aGUKICBmb2xsb3dpbmcgdG8gc3VtIGFuZCBhcnJheSBvZiBmbG9hdHMgbWF5 IHNlZW0gZWxlZ2FudDoKCiAgICBBcnJheS5mb2xkX2xlZnQgKCspIDAuMCBh cnIKCiAgSG93ZXZlciwgdGhlIHJlc3VsdGluZyBjb2RlIGlzIG11Y2ggc2xv d2VyIChhbmQgYWxsb2NhdGVzIDIgZmxvYXRzCiAgcGVyIGFycmF5IGVudHJ5 LCBpZSA0LTYgd29yZHMpIHRoYW4gYSAic3BlY2lhbGl6ZWQiIHZlcnNpb24u ICBOb3RlCiAgdGhhdCBldmVuIGlmIFtBcnJheS5mb2xkX2xlZnRdIGFuZCBz dXJyb3VuZGluZyBjb2RlIHdlcmUgImZ1bGx5CiAgaW5saW5lZCwiIGl0IGlz IHN0aWxsIGEgcG9seW1vcnBoaWMgZnVuY3Rpb24gc28gdGhlIGFib3ZlCiAg cGVyZm9ybWFuY2UgcGVuYWx0eSBmb3IgY2hlY2tpbmcgdGhlIGFycmF5IHRh ZyBhbmQgYm94aW5nIHRoZSBmbG9hdAogIGlzIHByZXNlbnQuICBTZWUgYWxz byB0aGUgZWFybGllciBleGFtcGxlLgoKKiBJdCBjYW4gYmUgaGVscGZ1bCB0 byByZXZpZXcgdGhlIGNvbXBpbGVkIGFzc2VtYmx5IGNvZGUgKHVzaW5nICIt UyIKICBvcHRpb24gZm9yIG9jYW1sb3B0KSBhbmQgbG9vayBmb3IgdGVsbC10 YWxlIHNpZ25zIG9mIGxhY2sgb2YKICBzcGVjaWFsaXphdGlvbiwgc3VjaCBh cyBjYWxscyB0byBbX2NhbWxfZ3JlYXRlcmVxdWFsXSBvciBhbGxvY2F0aW9u CiAgW2NhbWxfY2FsbF9nY10gaW4gY2FzZXMgd2hlcmUgdGhleSBhcmUgbm90 IGV4cGVjdGVkLiAgWW91IGNhbiByZWZlcgogIHRvIHRoZSBhc3NlbWJseSBj b2RlIGZvciB0aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sIGtub3cgdGhh dAogIHRoYXQgY29kZSB3aWxsIG5vdCBiZSBzcGVjaWFsaXplZCB3aGVuIGlu bGluZWQuCgpBcyBJIHNhaWQsIGJ5IGV4YW1pbmluZyBvdXIgaG90IHNwb3Rz IGFuZCBmb2xsb3dpbmcgdGhlIHN1Z2dlc3Rpb25zCmFib3ZlLCB3ZSBmb3Vu ZCB0aGUgcmVzdWx0aW5nIG5hdGl2ZSBjb2RlIGNvdWxkIGJlIGNvbXBhcmFi bGUgdG8gd2hhdAp3ZSB3b3VsZCBleHBlY3QgZnJvbSBDLiAgSXQgaXMgdW5m b3J0dW5hdGUgdGhlc2UgaXNzdWVzIHdlcmUKKGFwcGFyZW50bHkpIGRlc2ln bmVkIGludG8gdGhlIE9jYW1sIGNvbXBpbGVyIGFyY2hpdGVjdHVyZSwgYmVj YXVzZQpvdGhlcndpc2UgaXQgd291bGQgaGF2ZSBzZWVtZWQgdGhpcyB3b3Vs ZCBiZSBhIG5hdHVyYWwgYXJlYSBvZgppbXByb3ZlbWVudCBmb3IgdGhlIGNv bXBpbGVyLiAgSSB3b3VsZCBoYXZlIHRob3VnaHQgYSBzdGF0aWNseSB0eXBl ZApsYW5ndWFnZSBzdWNoIGFzIE9jYW1sIHdvdWxkICh0aHJvdWdoIGl0cyB0 eXBlIGNoZWNrZXIpIGJlCndlbGwtc3VpdGVkIGZvciB0aGUgc2ltcGxlIHR5 cGVzIG9mIGZ1bmN0aW9uIHNwZWNpYWxpemF0aW9uIGRlc2NyaWJlZAppbiB0 aGlzIG5vdGUuCgoKLS0gCkNhbWwtbGlzdCBtYWlsaW5nIGxpc3QuICBTdWJz Y3JpcHRpb24gbWFuYWdlbWVudCBhbmQgYXJjaGl2ZXM6Cmh0dHBzOi8vc3lt cGEuaW5yaWEuZnIvc3ltcGEvYXJjL2NhbWwtbGlzdApCZWdpbm5lcidzIGxp c3Q6IGh0dHA6Ly9ncm91cHMueWFob28uY29tL2dyb3VwL29jYW1sX2JlZ2lu bmVycwpCdWcgcmVwb3J0czogaHR0cDovL2NhbWwuaW5yaWEuZnIvYmluL2Nh bWwtYnVncwoK --BOUNDARY_5880CE0301F005AE00390420_0_53331_msllnjpmsgsv06 Content-Type: text/html; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 PGh0bWw+PGhlYWQ+PHRpdGxlPjwvdGl0bGU+PC9oZWFkPjxib2R5PjwhLS0g cnRlLXZlcnNpb24gMC4yIDk5NDc1NTE2MzcyOTQwMDhiNzdiY2UyNWViNjgz ZGFjIC0tPjxkaXYgY2xhc3M9InJ0ZS1zdHlsZS1tYWludGFpbmVyIiBzdHls ZT0iZm9udC1mYW1pbHk6IEFyaWFsLCAnQkIuUHJvcG9ydGlvbmFsJzsgd2hp dGUtc3BhY2U6IHByZS13cmFwOyBmb250LXNpemU6IHNtYWxsOyJkYXRhLWNv bG9yPSJnbG9iYWwtZGVmYXVsdCIgYmJnLWNvbG9yPSJkZWZhdWx0IiBkYXRh LWJiLWZvbnQtc2l6ZT0ibWVkaXVtIiBiYmctZm9udC1zaXplPSJtZWRpdW0i IGJiZy1mb250LWZhbWlseT0ibm9ybWFsIj5JbmRlZWQsIEkgcmVhbGx5IHdp c2ggd2UgaGF2ZSBhIHdhcm5pbmcgd2hlbiBwb2x5bW9ycGhpYyBjb21wYXJp c29uIGNhbiBub3QgYmUgdHlwZSBzcGVjaWFsaXplZCBzbyB0aGF0IHBlb3Bs ZSBjYW4gdHVybiB0aGF0IHdhcm5pbmcgaW50byBlcnJvciwgb3Igd2UgaGF2 ZSBhbiBhdHRyaWJ1dGUgaW4gdHlwZXMgdG8gYWxsb3cgcG9seW1vcnBoaWMg Y29tcGFyZSBmb3IgYSBzbWFsbCBhbW91bnQgb2Ygc2VsZWN0aXZlIHR5cGVz LjxkaXY+VGhlcmUgYXJlIHNvbWUgb3RoZXIgYXdrd2FyZCBzaXR1YXRpb25z OiByZWNlbnRseSB3aGVuIHdlIHBvbHlmaWxsIEludDY0IGluIEJ1Y2tsZVNj cmlwdCwgd2UgaGF2ZSB0byZuYnNwOzwvZGl2PjxkaXY+dGhpbmsgYWJvdXQg dGhlIGRhdGEgbGF5b3V0IHRvIG1hdGNoIHRoZSBzZW1hbnRpY3Mgb2YgcG9s eW1vcnBoaWMgY29tcGFyaXNvbi4gc28gdGhhdCBhIHBvbHltb3JwaGljIGNv bXBhcmUgb2YgYDFMICZsdDsgMkxgIHN0aWxsIG1ha2Ugc2Vuc2UuPGJyPjxk aXYgY2xhc3M9InJ0ZS1zdHlsZS1tYWludGFpbmVyIiBkYXRhLWJiLWZvbnQt c2l6ZT0ibWVkaXVtImJiZy1jb2xvcj0iZGVmYXVsdCIgYmJnLWZvbnQtZmFt aWx5PSJmaXhlZC13aWR0aCIgYmJnLWZvbnQtc2l6ZT0ibWVkaXVtIiBzdHls ZT0iZm9udC1zaXplOiBzbWFsbDsgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5l dycsIENvdXJpZXIsICdCQi5GaXhlZFdpZHRoJzsiPmBtaW5gLCBgbWF4YCBh cmUgd29yc2UsIHNpbmNlIHRoZXkgYXJlIG5ldmVyIHR5cGUgc3BlY2lhbGl6 ZWQgaW4gY3VycmVudCBjb21waWxlci48YnI+PGRpdiBjbGFzcz0iYmJnLXJ0 ZS1mb2xkLWNvbnRlbnQiIGRhdGEtaGVhZGVyPSJGcm9tOiBtYXJrZ2hheWRl bkB5YWhvby5jb20gQXQ6IDAxLzE5LzE3IDAxOjUxOjQzIiBkYXRhLWRpZ2Vz dD0iRnJvbTogbWFya2doYXlkZW5AeWFob28uY29tIEF0OiAwMS8xOS8xNyAw MTo1MTo0MyIgc3R5bGU9IiI+PGRpdiBjbGFzcz0iYmJnLXJ0ZS1mb2xkLXN1 bW1hcnkiPkZyb206IG1hcmtnaGF5ZGVuQHlhaG9vLmNvbSBBdDogMDEvMTkv MTcgMDE6NTE6NDM8L2Rpdj48ZGl2PlRvOiA8YSBzcGVsbGNoZWNrPSJmYWxz ZSIgYmJnLWRlc3RpbmF0aW9uPSJtYWlsdG86cnRlOmJpbmQiPmNhbWwtbGlz dEBpbnJpYS5mcjwvYT48YnI+U3ViamVjdDogUmU6W0NhbWwtbGlzdF0gT2Nh bWwgb3B0aW1pemVyIHBpdGZhbGxzICZhbXA7IHdvcmstYXJvdW5kczxicj48 L2Rpdj48L2Rpdj48YmxvY2txdW90ZT5XZSByZWNlbnRseSB1cGdyYWRlZCBv dXIgT2NhbWwgdG9vbGNoYWluIGZyb20gNC4wMi4zIHRvIE9jYW1sIDQuMDQu MC48YnI+V2Ugd2VyZSBsb29raW5nIGZvcndhcmQgdG8gYSBwZXJmb3JtYW5j ZSBib29zdCBmcm9tIHRoZSBvcHRpbWl6YXRpb248YnI+aW1wcm92ZW1lbnRz LCBlc3BlY2lhbGx5IGZyb20gZmxhbWJkYS4gIFdoaWxlIHdlIGdlbmVyYWxs eSB3ZXJlIGFibGU8YnI+dG8gYWNoaWV2ZSBzaWduaWZpY2FudCBwZXJmb3Jt YW5jZSBpbXByb3ZlbWVudCwgd2Ugd2VyZSBzb21ld2hhdDxicj5zdXJwcmlz ZWQgYnkgdGhlIGVmZm9ydCByZXF1aXJlZCB0byBhdm9pZCBjZXJ0YWluIHBp dGZhbGxzIGluIE9jYW1sLjxicj48YnI+VGhpcyBub3RlIGRlc2NyaWJlcyBz b21lIGlzc3VlcyB3ZSByYW4gaW50by4gIFdlIGZpbGVkIHNldmVyYWw8YnI+ cmVwb3J0cyBvbiBPY2FtbCBNYW50aXMgcmVnYXJkaW5nIG91ciBmaW5kaW5n cy4gIEhvd2V2ZXIgaXQgYXBwZWFyczxicj50aGUgdW5kZXJseWluZyBpc3N1 ZXMgd2UgcmFuIGludG8gYXJlIHVubGlrZWx5IHRvIGNoYW5nZTo8YnI+PGJy PiAgWW91ciB0aHJlZSByZXBvcnRzICgwMDA3NDQwLCAwMDA3NDQxLCAwMDA3 NDQyKSBhcmUgbWFuaWZlc3RhdGlvbnM8YnI+ICBvZiB0aGUgc2FtZSBmYWN0 OiB0aGUgT0NhbWwgY29tcGlsZXIgcGVyZm9ybXMgdHlwZS1iYXNlZDxicj4g IG9wdGltaXphdGlvbnMgZmlyc3QsIHRoZW4gZXJhc2VzIHR5cGVzLCB0aGVu IHBlcmZvcm1zIGFsbCB0aGUgb3RoZXI8YnI+ICBvcHRpbWl6YXRpb25zLiBU aGlzIGlzIHZlcnkgdW5saWtlbHkgdG8gY2hhbmdlIGluIHRoZSBuZWFyIGZ1 dHVyZSw8YnI+ICBhcyBpdCB3b3VsZCByZXF1aXJlIGEgdG90YWwgcmV3cml0 ZSBvZiB0aGUgY29tcGlsZXIuPGJyPjxicj4gIFtYIExlcm95LCA8YSBzcGVs bGNoZWNrPSJmYWxzZSJiYmctZGVzdGluYXRpb249InJ0ZTpiaW5kIiBocmVm PSJodHRwczovL2NhbWwuaW5yaWEuZnIvbWFudGlzL3ZpZXcucGhwP2lkPTc0 NDAiIGRhdGEtZGVzdGluYXRpb249InJ0ZTpiaW5kIj5odHRwczovL2NhbWwu aW5yaWEuZnIvbWFudGlzL3ZpZXcucGhwP2lkPTc0NDA8L2E+XTxicj48YnI+ SSBlbmNvdXJhZ2UgcmVhZGVycyB0byByZXZpZXcgdGhlIHByb2JsZW0gcmVw b3J0cyB3ZSBzdWJtaXR0ZWQsIHdoaWNoPGJyPmluY2x1ZGUgbW9yZSBjb25j cmV0ZSBleGFtcGxlcy4gIEknbSBwb3N0aW5nIHRoaXMgbm90ZSBpbiBjYXNl IHRoZXJlPGJyPmFyZSBvdGhlcnMgcnVubmluZyBpbnRvIHNpbWlsYXIgcGVy Zm9ybWFuY2UgaXNzdWVzIHdpdGggdGhlaXIgT2NhbWw8YnI+c29mdHdhcmUg YW5kIHdobyBtaWdodCBmaW5kIGl0IGhlbHBmdWwgaW4gd29ya2luZyBhcm91 bmQgdGhvc2U8YnI+aXNzdWVzLiAgSSdtIG5vdCBhd2FyZSBvZiB0aGVtIGJl aW5nIGRvY3VtZW50ZWQgZWxzZXdoZXJlIGFuZCB0aGVyZTxicj5hcHBlYXJz IHRvIGJlIGxpdHRsZSBwcm9zcGVjdCBvZiB0aGUgaXNzdWVzIGJlaW5nIGFk ZHJlc3NlZCBpbiB0aGU8YnI+Y29tcGlsZXIgaW4gdGhlIGZvcnNlZWFibGUg ZnV0dXJlLiAgUGxlYXNlIGNoaW1lIGluIGlmIGFueSBvZiB0aGlzIGlzPGJy PmluYWNjdXJhdGUgb3IgdGhlcmUgaXMgc29tZXRoaW5nIEkgbWlzc2VkLjxi cj48YnI+QXMgYW4gaW5pdGlhbCBleGFtcGxlLCBjb25zaWRlciB0aGUgZm9s bG93aW5nIE9jYW1sIGNvZGUgdG8gZmluZCB0aGU8YnI+bWF4aW11bSBmbG9h dGluZyBwb2ludCB2YWx1ZSBpbiBhbiBhcnJheSAodGhhdCBpcyBhdCBsZWFz dCAwLjApOjxicj48YnI+ICBbQXJyYXkuZm9sZF9sZWZ0IG1heCAwLjAgYXJy XTxicj48YnI+Tm93IGNvbXBpbGUgdGhpcyB3aXRoIHRoZSBsYXRlc3QgY29t cGlsZXIgYW5kIG1heGltdW0gb3B0aW1pemF0aW9uLjxicj5CZWNhdXNlIG9m IGhvdyB0aGUgT2NhbWwgb3B0aW1pemF0aW9uIHdvcmtzLCB0aGlzIHdpbGwg cnVuIGFib3V0PGJyPjEwLTE1eCBzbG93ZXIgKGFuZCBhbGxvY2F0ZSAyLTMg d29yZHMgcGVyIGFycmF5IGVsZW1lbnQpIHRoYW4gYSBtb3JlPGJyPmNhcmVm dWxseSB3cml0dGVuIHZlcnNpb24gdGhhdCB1c2VzIHNwZWNpYWxpemVkIG9w ZXJhdGlvbnMgYW5kIGF2b2lkczxicj5hbGxvY2F0aW9uLiAgU2VlIGJlbG93 IGZvciBvbmUgd2F5IHRvIGFjaGlldmUgdGhpcyAod2hpbGUgc3RpbGwgdXNp bmc8YnI+YSBmdW5jdGlvbmFsLXByb2dyYW1taW5nIHN0eWxlKS48YnI+PGJy PiAgKCogU2FtZSBhcyBBcnJheS5mb2xkX2xlZnQsIGJ1dCB3aXRoIHR5cGUg Y2FzdGluZy48YnI+ICAgKik8YnI+ICBsZXQgW0BpbmxpbmVdIGFycmF5X2Zv bGRfbGVmdGYgZiAoeDpmbG9hdCkgKGE6ZmxvYXQgYXJyYXkpID08YnI+ICAg IGxldCByID0gcmVmIHggaW48YnI+ICAgIGZvciBpID0gMCB0byBBcnJheS5s ZW5ndGggYSAtIDEgZG88YnI+ICAgICAgciA6PSBmICFyIChBcnJheS51bnNh ZmVfZ2V0IGEgaSk8YnI+ICAgIGRvbmU7PGJyPiAgICAhcjxicj4gIDs7PGJy Pjxicj4gIGxldCBbQGlubGluZV0gZmxvYXRfbWF4ICh2MDpmbG9hdCkgdjEg PTxicj4gICAgaWYgdjAgJmd0OyB2MSB0aGVuIHYwIGVsc2UgdjE8YnI+ICA7 Ozxicj48YnI+ICBsZXQgYXJyYXlfZmxvYXRfbWF4IGEgPTxicj4gICAgYXJy YXlfZm9sZF9sZWZ0ZiBmbG9hdF9tYXggMC4wIGE8YnI+ICA7Ozxicj48YnI+ VGhlIGFzc2VtYmx5IGZvciB0aGUgImlubmVyIGxvb3AiIGZvciB0aGUgdHdv IGV4YW1wbGVzIGFyZSBiZWxvdy48YnI+VGhleSB3ZXJlIGNvbXBpbGVkIHdp dGggT2NhbWwgNC4wNS5kZXYrZmxhbWJkYSwgIi1PMzxicj4tdW5ib3gtY2xv c3VyZXMiLCBNYWNPUyAxMi4yLCBBTUQ2NC48YnI+PGJyPlVub3B0aW1pemVk IGV4YW1wbGUuICBOb3RlIHRlc3QvYnJhbmNoIGZvciBhcnJheSB0YWcuICBB bGxvY2F0aW9uIGZvcjxicj5ib3hpbmcgKHdlIGRpZCBub3QgaW5jbHVkZSB0 aGUgY2FsbHMgdG8gdHJpZ2dlciBhIG1pbm9yIGdjKS4gIFRoZXJlPGJyPmlz IGEgY2FsbCB0byBPY2FtbCBydW50aW1lIGZvciBwb2x5bW9ycGhpYyBncmVh dGVyLWVxdWFsLiAgVGhpcyBpczxicj5wcm9iYWJseSBub3Qgd2hhdCBvbmUg d291bGQgZXhwZWN0IGZyb20gYW4gb3B0aW1pemluZy9pbmxpbmUgY29tcGls ZXI8YnI+Zm9yIGEgc2ltcGxlIGNhc2Ugc3VjaCBhcyB0aGlzLiAgTm90ZSB0 aGF0IHRvIGNyZWF0ZSB0aGlzIHdlIHVzZWQgb3VyPGJyPm93biBkZWZpbml0 aW9uIG9mIEFycmF5LmZvbGRfbGVmdCB3aGljaCBoYWQgYW4gIltAaW5saW5l XSI8YnI+YW5ub3RhdGlvbi48YnI+PGJyPiAgTDIxNTo8YnI+ICAgICAgICAg IG1vdnEgICAgKCVyc3ApLCAlcmJ4PGJyPiAgICAgICAgICAubG9jICAgIDEg ICAgICAgMzggICAgICAxNDxicj4gICAgICAgICAgbW92emJxICAtOCglcmJ4 KSwgJXJheDxicj4gICAgICAgICAgY21wcSAgICAkMjU0LCAlcmF4PGJyPiAg ICAgICAgICBqZSAgICAgIEwyMTk8YnI+ICAgICAgICAgIC5sb2MgICAgMSAg ICAgICAzOCAgICAgIDE0PGJyPiAgICAgICAgICBtb3ZxICAgIC00KCVyYngs JXJkeCw0KSwgJXJzaTxicj4gICAgICAgICAgbW92cSAgICAlcnNpLCAyNCgl cnNwKTxicj4gICAgICAgICAgam1wICAgICBMMjE4PGJyPiAgICAgICAgICAu YWxpZ24gIDI8YnI+ICBMMjE5Ojxicj4gICAgICAgICAgLmxvYyAgICAxICAg ICAgIDM4ICAgICAgMTQ8YnI+ICBMMjIxOjxicj4gICAgICAgICAgc3VicSAg ICAkMTYsICVyMTU8YnI+ICAgICAgICAgIG1vdnEgICAgX2NhbWxfeW91bmdf bGltaXRAR09UUENSRUwoJXJpcCksICVyYXg8YnI+ICAgICAgICAgIGNtcHEg ICAgKCVyYXgpLCAlcjE1PGJyPiAgICAgICAgICBqYiAgICAgIEwyMjI8YnI+ ICAgICAgICAgIGxlYXEgICAgOCglcjE1KSwgJXJzaTxicj4gICAgICAgICAg bW92cSAgICAkMTI3NywgLTgoJXJzaSk8YnI+ICAgICAgICAgIC5sb2MgICAg MSAgICAgICAzOCAgICAgIDE0PGJyPiAgICAgICAgICBtb3ZzZCAgIC00KCVy YngsJXJkeCw0KSwgJXhtbTA8YnI+ICAgICAgICAgIG1vdnNkICAgJXhtbTAs ICglcnNpKTxicj4gICAgICAgICAgbW92cSAgICAlcnNpLCAyNCglcnNwKTxi cj4gIEwyMTg6PGJyPiAgICAgICAgICBtb3ZxICAgICVyZGksIDMyKCVyc3Ap PGJyPiAgICAgICAgICAuZmlsZSAgIDUgICAgICAgInBlcnZhc2l2ZXMubWwi PGJyPiAgICAgICAgICAubG9jICAgIDUgICAgICAgNjUgICAgICAxNzxicj4g ICAgICAgICAgbW92cSAgICBfY2FtbF9ncmVhdGVyZXF1YWxAR09UUENSRUwo JXJpcCksICVyYXg8YnI+ICAgICAgICAgIGNhbGwgICAgX2NhbWxfY19jYWxs PGJyPiAgTDIxMzo8YnI+ICAgICAgICAgIG1vdnEgICAgX2NhbWxfeW91bmdf cHRyQEdPVFBDUkVMKCVyaXApLCAlcjExPGJyPiAgICAgICAgICBtb3ZxICAg ICglcjExKSwgJXIxNTxicj4gICAgICAgICAgY21wcSAgICAkMSwgJXJheDxi cj4gICAgICAgICAgamUgICAgICBMMjE3PGJyPiAgICAgICAgICBtb3ZxICAg IDMyKCVyc3ApLCAlcmRpPGJyPiAgICAgICAgICBqbXAgICAgIEwyMTY8YnI+ ICAgICAgICAgIC5hbGlnbiAgMjxicj4gIEwyMTc6PGJyPiAgICAgICAgICBt b3ZxICAgIDI0KCVyc3ApLCAlcmRpPGJyPiAgTDIxNjo8YnI+ICAgICAgICAg IG1vdnEgICAgOCglcnNwKSwgJXJkeDxicj4gICAgICAgICAgbW92cSAgICAl cmR4LCAlcmF4PGJyPiAgICAgICAgICBhZGRxICAgICQyLCAlcmR4PGJyPiAg ICAgICAgICBtb3ZxICAgICVyZHgsIDgoJXJzcCk8YnI+ICAgICAgICAgIG1v dnEgICAgMTYoJXJzcCksICVyYng8YnI+ICAgICAgICAgIGNtcHEgICAgJXJi eCwgJXJheDxicj4gICAgICAgICAgam5lICAgICBMMjE1PGJyPjxicj48YnI+ VGhlIGFzc2VtYmx5IGZvciB0aGUgbW9yZSBjYXJlZnVsbHkgd3JpdHRpbmcg Y2FzZSBpcyBiZWxvdy4gIE5vPGJyPmFsbG9jYXRpb24uICBObyBjYWxsIHRv IGV4dGVybmFsIEMgY29kZS4gIE5vIHRlc3QvYnJhbmNoIGZvciBhcnJheTxi cj50YWcuICBUaGlzIG1hdGNoZXMgd2hhdCBJIHRoaW5rIG1vc3QgcGVvcGxl IHdvdWxkIGxpa2UgdG8gc2VlLiAgSXQgaXM8YnI+Y29tcGFjdCBlbm91Z2gg dGhhdCAobWF5YmUpIGl0IHdvdWxkIGJlbmVmaXQgZnJvbSB1bnJvbGxpbmc6 PGJyPjxicj4gIGwyMjU6PGJyPiAgICAgICAgICAubG9jICAgIDEgICAgICAg NDYgICAgICAxNDxicj4gICAgICAgICAgbW92c2QgICAtNCglcmF4LCVyZGks NCksICV4bW0xPGJyPiAgICAgICAgICBjb21pc2QgICV4bW0xLCAleG1tMDxi cj4gICAgICAgICAgamJlICAgICBsMjI3PGJyPiAgICAgICAgICBqbXAgICAg IGwyMjY8YnI+ICAgICAgICAgIC5hbGlnbiAgMjxicj4gIGwyMjc6PGJyPiAg ICAgICAgICBtb3ZhcGQgICV4bW0xLCAleG1tMDxicj4gIGwyMjY6PGJyPiAg ICAgICAgICBtb3ZxICAgICVyZGksICVyc2k8YnI+ICAgICAgICAgIGFkZHEg ICAgJDIsICVyZGk8YnI+ICAgICAgICAgIGNtcHEgICAgJXJieCwgJXJzaTxi cj4gICAgICAgICAgam5lICAgICBsMjI1PGJyPjxicj48YnI+VGhlIHR3byBt YWluIGxlYXJuaW5ncyB3ZSBmb3VuZCB3ZXJlOjxicj48YnI+KiBQb2x5bW9y cGhpYyBwcmltaXRpdmVzIChbQXJyYXkuZ2V0XSwgW2NvbXBhcmVdLCBbJmd0 Oz1dLCBbbWluXSkgYXJlPGJyPiAgb25seSBzcGVjaWFsaXplZCBpZiB0aGV5 IGFwcGVhciBpbiBhIGNvbnRleHQgd2hlcmUgdGhlIHR5cGVzIGNhbiBiZTxi cj4gIGRldGVybWluZWQgYXQgdGhlaXIgZXhhY3QgY2FsbCBzaXRlLCBvdGhl cndpc2UgYSBwb2x5bW9ycGhpYzxicj4gIHZlcnNpb24gaXMgdXNlZC4gIElm IHRoZSB1c2Ugb2YgdGhlIHByaW1pdGl2ZSBpcyBsYXRlciBpbmxpbmVkIGlu IGE8YnI+ICBjb250ZXh0IHdoZXJlIHRoZSB0eXBlIGlzIG5vIGxvbmdlciBw b2x5bW9ycGhpYywgdGhlIGZ1bmN0aW9uIHdpbGw8YnI+ICBfbm90XyBiZSBz cGVjaWFsaXplZCBieSB0aGUgY29tcGlsZXIuPGJyPjxicj4qIFVzZSBvZiBh YnN0cmFjdCBkYXRhIHR5cGVzIHByZXZlbnRzIHNwZWNpYWxpemF0aW9uLiAg SW4gcGFydGljdWxhciw8YnI+ICBkZWZpbmluZyBhbiBhYnN0cmFjdCBkYXRh IHR5cGUgaW4gYSBtb2R1bGUgKCJ0eXBlIHQgOzsiKSB3aWxsPGJyPiAgcHJl dmVudCBzcGVjaWFsaXphdGlvbiAoZXZlbiBhZnRlciBpbmxpbmluZykgZm9y IGFueSBwb2x5bW9ycGhpYzxicj4gIHByaW1pdGl2ZXMgKGVnLCAiY2FtbF9l cXVhbCIpIHVzZWQgd2l0aCB0aGF0IHR5cGUuICBGb3IgaW5zdGFuY2UsPGJy PiAgaWYgdGhlIHVuZGVybHlpbmcgdHlwZSBmb3IgW3RdIGlzIGFjdHVhbGx5 IFtpbnRdLCBvdGhlciBtb2R1bGVzPGJyPiAgd2lsbCBzdGlsbCB1c2UgcG9s eW1vcnBoaWMgZXF1YWxpdHkgaW5zdGVhZCBvZiBhIHNpbmdsZSBtYWNoaW5l PGJyPiAgaW5zdHJ1Y3Rpb24uICBZb3UgY2FuIHByZXZlbnQgdGhpcyBiZWhh dmlvciB3aXRoIHRoZSAicHJpdmF0ZSI8YnI+ICBrZXl3b3JkIGluIG9yZGVy IHRvIGV4cG9ydCB0aGUgdHlwZSBpbmZvcm1hdGlvbiwgInR5cGUgdCA9IHBy aXZhdGU8YnI+ICBpbnQiLiAgQWx0ZXJuYXRpdmVseSwgdGhlIG1vZHVsZSBj YW4gaW5jbHVkZSBpdHMgb3duIHNwZWNpYWxpemVkPGJyPiAgb3BlcmF0aW9u cyBhbmQgb3RoZXIgbW9kdWxlcyBjYW4gYmUgY2FyZWZ1bCB0byB1c2UgdGhl bS48YnI+PGJyPkl0IGJlYXJzIGVtcGhhc2l6aW5nIHRoYXQgdGhlIGlzc3Vl cyBkZXNjcmliZWQgaW4gdGhpcyBub3RlIGFwcGx5PGJyPmV2ZW4gd2hlbiBh bGwgb2YgdGhlIGNvZGUgaXMgImZ1bGx5IGlubGluZWQiIGFuZCB1c2VzIGhp Z2hlc3QgbGV2ZWw8YnI+b2Ygb3B0aW1pemF0aW9uLiAgU3BlY2lhbGl6YXRp b24gaW4gdGhlIE9jYW1sIGNvbXBpbGVyIG9jY3VycyBpbiBhPGJyPnN0YWdl IHByaW9yIHRvIGlubGluaW5nLiAgSWYgaXQgaGFzbuKAmXQgaGFwcGVuZWQg YmVmb3JlIGlubGluaW5nLCBpdDxicj53b27igJl0IGhhcHBlbiBhZnRlcndh cmRzLjxicj48YnI+V2hhdCBraW5kIG9mIGVmZmVjdCBkb2VzIGxhY2sgb2Yg c3BlY2lhbGl6YXRpb24gaGF2ZSBvbiBwZXJmb3JtYW5jZT88YnI+Q2FsbGlu ZyB0aGUgImNhbWxfY29tcGFyZSIgT2NhbWwgQyBydW50aW1lIGZ1bmN0aW9u IHRvIGNvbXBhcmU8YnI+aW50ZWdlcnMgY2FuIGJlIDEwLTIweCB0aW1lcyBz bG93ZXIgdGhhbiB1c2luZyBhIHNpbmdsZSBpbnRlZ2VyPGJyPmNvbXBhcmlz b24gbWFjaGluZSBpbnN0cnVjdGlvbi4gIERpdHRvIGZvciBmbG9hdGluZyBw b2ludCB2YWx1ZXMuPGJyPlRoZSB1bnNwZWNpYWxpemVkIFtBcnJheS5nZXRd LCBbQXJyYXkuc2V0XSwgYW5kIChvbiAzMi1iaXQpPGJyPltBcnJheS5sZW5n dGhdIGhhdmUgdG8gY2hlY2sgdGhlIHRhZyBvbiB0aGUgYXJyYXkgdG8gZGV0 ZXJtaW5lIGlmIHRoZTxicj5hcnJheSB1c2VzIHRoZSB1bmJveGVkIGZsb2F0 aW5nLXBvaW50IHJlcHJlc250YXRpb24gKEkgd2lzaCBPY2FtbDxicj5kaWRu J3QgdXNlIHRoaXMhKS4gIEZvciBpbnN0YW5jZSwgdGhlIHBvbHltb3JwaGlj IFtBcnJheS5nZXRdIGNoZWNrczxicj50aGUgdGFnIG9uIHRoZSBhcnJheSBh bmQgKGZvciBmbG9hdGluZyBwb2ludCBhcnJheXMpIHJlYWRzIHRoZSB2YWx1 ZTxicj5hbmQgYm94ZXMgdGhlIGZsb2F0aW5nIHBvaW50IHZhbHVlIChpZSwg YWxsb2NhdGUgMi0zIHdvcmRzIG9uIHRoZTxicj5oZWFwKS4gIE5vdGUgdGhh dCB3aGVuIGl0ZXJhdGluZyBvdmVyIGFuIGFycmF5LCB0aGUgY2hlY2sgb24g dGhlIHRhZzxicj53aWxsIGJlIGluY2x1ZGVkIGluIF9lYWNoXyBsb29wIGl0 ZXJhdGlvbi48YnI+PGJyPk90aGVyIGltcGFjdHMgb2YgdXNpbmcgbm9uLXNw ZWNpYWxpemVkIGZ1bmN0aW9uczo8YnI+PGJyPiogVXNlIG9mIHBvbHltb3Jw aGljIHByaW1pdGl2ZXMgbWVhbnMgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIGhh dmUgdG88YnI+ICBiZSBib3hlZCwgcmVxdWlyaW5nIGhlYXAgYWxsb2NhdGlv bi4gIFRocm91Z2ggdXNlIG9mIHNwZWNpYWxpemVkPGJyPiAgc3BlY2lhbGl6 ZWQgcHJpbWl0aXZlcywgaW4gbWFueSBjYXNlcyBmbG9hdHMgY2FuIHJlbWFp biB1bmJveGVkLjxicj48YnI+KiBBbGwgdGhlIGV4dHJhIG5hdGl2ZSBjb2Rl IGZyb20gdXNpbmcgcG9seW1vcnBoaWMgcHJpbWl0aXZlczxicj4gIChjaGVj a2luZyBhcnJheSB0YWdzLCBjb25kaXRpb25hbGx5IGJveGluZyBmbG9hdHMs IGNhbGxpbmcgb3V0IHRvPGJyPiAgT2NhbWwgQyBydW50aW1lKSBjYW4gaGF2 ZSBmb2xsb3ctb24gZWZmZWN0cyBmb3IgZnVydGhlciBpbmxpbmluZy48YnI+ ICBJbiBvdGhlciB3b3Jkcywgd2hlbiBuYXRpdmUgY29kZSBjYW4gYmUga2Vw dCBjb21wYWN0LCB0aGVuIG1vcmU8YnI+ICBjb2RlIGNhbiBiZSBpbmxpbmVk IGFuZC9vciBsb29wcyB1bnJvbGxlZCBhbmQgdGhpcyBjYW4gaW4gdHVybjxi cj4gIGFsbG93IGZ1cnRoZXIgb3B0aW1pemF0aW9uLjxicj48YnI+U29tZSBz dWdnZXN0aW9ucyBvdGhlcnMgbWF5IGZpbmQgaGVscGZ1bDo8YnI+PGJyPiog Q29uc2lkZXIgdXNpbmcgdGhlICJwcml2YXRlIiBrZXl3b3JkIGZvciBhbnkg YWJzdHJhY3QgdHlwZXMgaW4geW91cjxicj4gIG1vZHVsZXMuICBXZSBhZGRl ZCBvdmVyIDUwIG9mIHRoZXNlIHRvIG91ciBjb2RlIGJhc2UuICBJdCBpcyBh bjxicj4gIHVnbHkgYnV0IGVmZmVjdGl2ZSB3b3JrLWFyb3VuZC48YnI+PGJy PiogVGhlIG1pbi9tYXggZnVuY3Rpb25zIGluIHN0YW5kYXJkIGxpYnJhcnkg UGVydmFzaXZlcyBhcmU8YnI+ICBwYXJ0aWN1bGFybHkgcHJvYmxlbWF0aWMu ICBUaGV5IGFyZSBwb2x5bW9ycGhpYyBzbyB0aGVpciBjb21wYXJpc29uPGJy PiAgd2lsbCBuZXZlciBiZSBzcGVjaWFsaXplZC4gIEl0IGNhbiBiZSBoZWxw ZnVsIHRvIGRlZmluZSBzcGVjaWFsaXplZDxicj4gIGZ1bmN0aW9ucyBzdWNo IGFzOjxicj48YnI+ICAgIGxldCBbQGlubGluZV0gZmxvYXRfbWF4ICh2MDpm bG9hdCkgKHYxOmZsb2F0KSA9PGJyPiAgICAgIGlmIHYwICZndDsgdjEgdGhl biB2MCBlbHNlIHYxPGJyPiAgICA7Ozxicj48YnI+ICAgIGxldCBbQGlubGlu ZV0gaW50X21heCAodjA6aW50KSAodjE6aW50KSA9PGJyPiAgICAgIGlmIHYw ICZndDsgdjEgdGhlbiB2MCBlbHNlIHYxPGJyPiAgICA7Ozxicj48YnI+ICBU aGVzZSB3aWxsIGJlIGNvbXBpbGVkIHRvIHVzZSBuYXRpdmUgbWFjaGluZSBj b2RlIGFuZCB1bmJveGVkPGJyPiAgdmFsdWVzLjxicj48YnI+KiBBbnkgdXNl IG9mIHBvbHltb3JwaGlzbSBjYW4gbmVnYXRpdmVseSBhZmZlY3QgcGVyZm9y bWFuY2UuICBCZTxicj4gIGNhcmVmdWwgYWJvdXQgaW5hZHZlcnRlbnRseSBp bnRyb2R1Y2luZyBwb2x5bW9ycGhpc20gaW50byB5b3VyPGJyPiAgcHJvZ3Jh bSwgc3VjaCBhcyB0aGlzIGhlbHBlciBmdW5jdGlvbjo8YnI+PGJyPiAgICBs ZXQgW0BpbmxpbmVdIGdldHRlciB2IG9mcyA9IEFycmF5LmdldCB2IG9mcyA7 Ozxicj48YnI+ICBUaGlzIHdpbGwgcmVzdWx0IGluIHVuc3BlY2lhbGl6ZWQg dmVyc2lvbiBvZiBbQXJyYXkuZ2V0XSBiZWluZzxicj4gIGlubGluZWQgYXQg YWxsIGNhbGwtc2l0ZXMuICBOb3RlIHRoYXQgaWYgeW91ciAubWxpIGZpbGUg ZGVmaW5lcyB0aGU8YnI+ICBmdW5jdGlvbiBhcyBub24tcG9seW1vcnBoaWMg dGhhdCB3aWxsIHN0aWxsIF9ub3RfIGFmZmVjdCBob3c8YnI+ICBbZ2V0dGVy XSBpcyBjb21waWxlZC46PGJyPjxicj4gICAgdHlwZSBnZXR0ZXIgOiB0IC0m Z3Q7IGludCAtJmd0OyBpbnQgOzsgICgqIGRvZXMgbm90IGFmZmVjdCBvcHRp bWl6YXRpb24gKik8YnI+PGJyPiAgWW91IG11c3QgY2FzdCB0aGUgdHlwZSBp biB0aGUgaW1wbGVtZW50YXRpb24gaW4gb3JkZXIgZm9yIFtBcnJheS5nZXRd PGJyPiAgdG8gYmUgc3BlY2lhbGl6ZWQ6PGJyPjxicj4gICAgbGV0IFtAaW5s aW5lXSBnZXR0ZXIgKHY6aW50IGFycmF5KSBvZnMgPSBBcnJheS5nZXQgdiBv ZnMgOzs8YnI+PGJyPiogQWxsIHRoZSBpdGVyYXRvcnMgaW4gdGhlIEFycmF5 IG1vZHVsZSAoZWcsIFtBcnJheS5pdGVyXSkgaW4gdGhlPGJyPiAgc3RhbmRh cmQgbGlicmFyeSBhcmUgcG9seW1vcnBoaWMsIHNvIHdpbGwgdXNlIHVuc3Bl Y2lhbGl6ZWQ8YnI+ICBhY2Nlc3NvcnMgYW5kIGJlIGFmZmVjdGVkIGJ5IHRo ZSBpc3N1ZXMgZGVzY3JpYmVkIGhlcmUuICBVc2luZyB0aGU8YnI+ICBmb2xs b3dpbmcgdG8gc3VtIGFuZCBhcnJheSBvZiBmbG9hdHMgbWF5IHNlZW0gZWxl Z2FudDo8YnI+PGJyPiAgICBBcnJheS5mb2xkX2xlZnQgKCspIDAuMCBhcnI8 YnI+PGJyPiAgSG93ZXZlciwgdGhlIHJlc3VsdGluZyBjb2RlIGlzIG11Y2gg c2xvd2VyIChhbmQgYWxsb2NhdGVzIDIgZmxvYXRzPGJyPiAgcGVyIGFycmF5 IGVudHJ5LCBpZSA0LTYgd29yZHMpIHRoYW4gYSAic3BlY2lhbGl6ZWQiIHZl cnNpb24uICBOb3RlPGJyPiAgdGhhdCBldmVuIGlmIFtBcnJheS5mb2xkX2xl ZnRdIGFuZCBzdXJyb3VuZGluZyBjb2RlIHdlcmUgImZ1bGx5PGJyPiAgaW5s aW5lZCwiIGl0IGlzIHN0aWxsIGEgcG9seW1vcnBoaWMgZnVuY3Rpb24gc28g dGhlIGFib3ZlPGJyPiAgcGVyZm9ybWFuY2UgcGVuYWx0eSBmb3IgY2hlY2tp bmcgdGhlIGFycmF5IHRhZyBhbmQgYm94aW5nIHRoZSBmbG9hdDxicj4gIGlz IHByZXNlbnQuICBTZWUgYWxzbyB0aGUgZWFybGllciBleGFtcGxlLjxicj48 YnI+KiBJdCBjYW4gYmUgaGVscGZ1bCB0byByZXZpZXcgdGhlIGNvbXBpbGVk IGFzc2VtYmx5IGNvZGUgKHVzaW5nICItUyI8YnI+ICBvcHRpb24gZm9yIG9j YW1sb3B0KSBhbmQgbG9vayBmb3IgdGVsbC10YWxlIHNpZ25zIG9mIGxhY2sg b2Y8YnI+ICBzcGVjaWFsaXphdGlvbiwgc3VjaCBhcyBjYWxscyB0byBbX2Nh bWxfZ3JlYXRlcmVxdWFsXSBvciBhbGxvY2F0aW9uPGJyPiAgW2NhbWxfY2Fs bF9nY10gaW4gY2FzZXMgd2hlcmUgdGhleSBhcmUgbm90IGV4cGVjdGVkLiAg WW91IGNhbiByZWZlcjxicj4gIHRvIHRoZSBhc3NlbWJseSBjb2RlIGZvciB0 aGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24sIGtub3cgdGhhdDxicj4gIHRo YXQgY29kZSB3aWxsIG5vdCBiZSBzcGVjaWFsaXplZCB3aGVuIGlubGluZWQu PGJyPjxicj5BcyBJIHNhaWQsIGJ5IGV4YW1pbmluZyBvdXIgaG90IHNwb3Rz IGFuZCBmb2xsb3dpbmcgdGhlIHN1Z2dlc3Rpb25zPGJyPmFib3ZlLCB3ZSBm b3VuZCB0aGUgcmVzdWx0aW5nIG5hdGl2ZSBjb2RlIGNvdWxkIGJlIGNvbXBh cmFibGUgdG8gd2hhdDxicj53ZSB3b3VsZCBleHBlY3QgZnJvbSBDLiAgSXQg aXMgdW5mb3J0dW5hdGUgdGhlc2UgaXNzdWVzIHdlcmU8YnI+KGFwcGFyZW50 bHkpIGRlc2lnbmVkIGludG8gdGhlIE9jYW1sIGNvbXBpbGVyIGFyY2hpdGVj dHVyZSwgYmVjYXVzZTxicj5vdGhlcndpc2UgaXQgd291bGQgaGF2ZSBzZWVt ZWQgdGhpcyB3b3VsZCBiZSBhIG5hdHVyYWwgYXJlYSBvZjxicj5pbXByb3Zl bWVudCBmb3IgdGhlIGNvbXBpbGVyLiAgSSB3b3VsZCBoYXZlIHRob3VnaHQg YSBzdGF0aWNseSB0eXBlZDxicj5sYW5ndWFnZSBzdWNoIGFzIE9jYW1sIHdv dWxkICh0aHJvdWdoIGl0cyB0eXBlIGNoZWNrZXIpIGJlPGJyPndlbGwtc3Vp dGVkIGZvciB0aGUgc2ltcGxlIHR5cGVzIG9mIGZ1bmN0aW9uIHNwZWNpYWxp emF0aW9uIGRlc2NyaWJlZDxicj5pbiB0aGlzIG5vdGUuPGJyPjxicj48YnI+ LS0gPGJyPkNhbWwtbGlzdCBtYWlsaW5nIGxpc3QuICBTdWJzY3JpcHRpb24g bWFuYWdlbWVudCBhbmQgYXJjaGl2ZXM6PGJyPjxhIGJiZy1kZXN0aW5hdGlv bj0icnRlOmJpbmQic3BlbGxjaGVjaz0iZmFsc2UiIGhyZWY9Imh0dHBzOi8v c3ltcGEuaW5yaWEuZnIvc3ltcGEvYXJjL2NhbWwtbGlzdCIgZGF0YS1kZXN0 aW5hdGlvbj0icnRlOmJpbmQiPmh0dHBzOi8vc3ltcGEuaW5yaWEuZnIvc3lt cGEvYXJjL2NhbWwtbGlzdDwvYT48YnI+QmVnaW5uZXIncyBsaXN0OiA8YSBi YmctZGVzdGluYXRpb249InJ0ZTpiaW5kInNwZWxsY2hlY2s9ImZhbHNlIiBo cmVmPSJodHRwOi8vZ3JvdXBzLnlhaG9vLmNvbS9ncm91cC9vY2FtbF9iZWdp bm5lcnMiIGRhdGEtZGVzdGluYXRpb249InJ0ZTpiaW5kIj5odHRwOi8vZ3Jv dXBzLnlhaG9vLmNvbS9ncm91cC9vY2FtbF9iZWdpbm5lcnM8L2E+PGJyPkJ1 ZyByZXBvcnRzOiA8YSBiYmctZGVzdGluYXRpb249InJ0ZTpiaW5kInNwZWxs Y2hlY2s9ImZhbHNlIiBocmVmPSJodHRwOi8vY2FtbC5pbnJpYS5mci9iaW4v Y2FtbC1idWdzImRhdGEtZGVzdGluYXRpb249InJ0ZTpiaW5kIj5odHRwOi8v Y2FtbC5pbnJpYS5mci9iaW4vY2FtbC1idWdzPC9hPjwvYmxvY2txdW90ZT48 YnI+PC9kaXY+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --BOUNDARY_5880CE0301F005AE00390420_0_53331_msllnjpmsgsv06--