From ejnmzuggk@cnt.com Mon Feb 05 08:42:16 2007 Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HE46q-0007jp-HZ for hubmib-archive@lists.ietf.org; Mon, 05 Feb 2007 08:42:16 -0500 Received: from [194.9.57.107] (helo=[194.9.57.107]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1HE46k-00065a-Qk for hubmib-archive@lists.ietf.org; Mon, 05 Feb 2007 08:42:12 -0500 From: "comes" To: hubmib-archive@lists.ietf.org Subject: Stock Trader Alert! Date: Mon, 5 Feb 2007 15:41:58 +0000 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0002_01C7493C.2BEF7FD0" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdJPCvvSSuU1JxaTjS7L2HWfhZ5Xg== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: <9E19897919A4D7B.BA49E3CBA1@cnt.com> X-Spam-Score: 1.3 (+) X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32 ------=_NextPart_000_0002_01C7493C.2BEF7FD0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Get MGOA on Monday, Its going to explode!

Trading Date: Monday, Febuary 05, 2007
Company: MEGOLA INC
Symbol: MGOA
Current Price: $0.05
Short Term Target: $0.50
Rating: 10/10
Recommendation: BUY NOW

CORUNNA, ON -- (MARKET WIRE) -- 02/02/07 Megola Inc. (PKSHEETS: MGOA), a leading environmental solution provider, announced today that it has placed its first order for Hartindo Anti-Fire products, which will be used for product demonstrations and obtaining the required industry approvals. The shipment is set to arrive from Malaysia by the end of February, early March.

This company is going to break into the dollar market yielding MASSIVE returns. Take advantage, get in NOW, make massive returns! This is an ACTIVE and GROWING company.

Get in with MGOA before its over 0.50!
------=_NextPart_000_0002_01C7493C.2BEF7FD0-- From ojccictyycv@cloud9.net Mon Feb 05 15:36:25 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HEAZd-0000RQ-0C for hubmib-archive@lists.ietf.org; Mon, 05 Feb 2007 15:36:25 -0500 Received: from [91.64.81.90] (helo=[91.64.81.90]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HEAZb-0003qr-GH for hubmib-archive@lists.ietf.org; Mon, 05 Feb 2007 15:36:24 -0500 From: "Animation" To: hubmib-archive@lists.ietf.org Subject: Traders Daily Report Date: Mon, 5 Feb 2007 21:36:17 -0100 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0002_01C7496D.AAE31460" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdJbarjpiS1VIdzTSSZbqD+7otWIg== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 3.8 (+++) X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32 ------=_NextPart_000_0002_01C7496D.AAE31460 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
Get MGOA on Monday, Its going to explode!

Trading Date: Monday, Febuary 05, 2007
Company: MEGOLA INC
Symbol: MGOA
Current Price: $0.05
Short Term Target: $0.50
Rating: 10/10
Recommendation: BUY NOW

CORUNNA, ON -- (MARKET WIRE) -- 02/02/07 Megola Inc. (PKSHEETS: MGOA), a leading environmental solution provider, announced today that it has placed its first order for Hartindo Anti-Fire products, which will be used for product demonstrations and obtaining the required industry approvals. The shipment is set to arrive from Malaysia by the end of February, early March.

This company is going to break into the dollar market yielding MASSIVE returns. Take advantage, get in NOW, make massive returns! This is an ACTIVE and GROWING company.

Get in with MGOA before its over 0.50!
------=_NextPart_000_0002_01C7496D.AAE31460-- From kagbzmpzyf@burfish.com Tue Feb 06 09:16:14 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HER7G-00069P-PS for hubmib-archive@lists.ietf.org; Tue, 06 Feb 2007 09:16:14 -0500 Received: from [80.78.65.240] (helo=[80.78.65.240]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HER7F-00014B-BM for hubmib-archive@lists.ietf.org; Tue, 06 Feb 2007 09:16:14 -0500 From: "select" To: hubmib-archive@lists.ietf.org Subject: Stock Trader Alert! Date: Tue, 6 Feb 2007 15:16:11 -0100 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0002_01C74A01.BC0D27F0" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdKAbwN6NTm83Q4SCO29FHsi+G2cg== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 4.8 (++++) X-Scan-Signature: 2409bba43e9c8d580670fda8b695204a ------=_NextPart_000_0002_01C74A01.BC0D27F0 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
**MGOA started Monday with a bang!**

Get in early Tuesday, February 06 2007

Bullseye: Tuesday, Febuary 06, 2007
Comp: MEGOLA Enviromental Solutions
Ticket: MGOA
Currently: $0.059 +0.009 +18%
3 Day Target: $0.50

The Big News:
Megola Announces First Anti-Fire Product Shipment
Market Wire (Fri, Feb 02, 2007)

Megola Acquires Revolutionary Fire Safety Products
Market Wire (Tue, Jan 16, 2007)

STRONG BUY ISSUED FOR TUESDAY, PUT MGOA ON YOUR RADAR NOW!
------=_NextPart_000_0002_01C74A01.BC0D27F0-- From hubmib-bounces@ietf.org Wed Feb 07 10:06:19 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HEoNA-0003Ll-OK; Wed, 07 Feb 2007 10:06:12 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HEoN9-0003Lc-KD; Wed, 07 Feb 2007 10:06:11 -0500 Received: from co300216-ier2.net.avaya.com ([198.152.13.103]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HEoN7-0000GT-7G; Wed, 07 Feb 2007 10:06:11 -0500 Received: from IS0004AVEXU1.global.avaya.com (h135-64-105-51.avaya.com [135.64.105.51]) by co300216-ier2.net.avaya.com (Switch-3.1.8/Switch-3.1.7) with ESMTP id l17F64h8010272; Wed, 7 Feb 2007 10:06:05 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6603.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib (Definitions and Managed Objects for OAM Functions on Ethernet Like Interfaces) to Proposed Standard Date: Wed, 7 Feb 2007 17:06:03 +0200 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib (Definitions and Managed Objects for OAM Functions on Ethernet Like Interfaces) to Proposed Standard Thread-Index: AcdBYM67601WLk2KQMSTset/dK6dWAJTYH6A References: From: "Romascanu, Dan \(Dan\)" To: X-Scanner: InterScan AntiVirus for Sendmail X-Spam-Score: 0.0 (/) X-Scan-Signature: 3a4bc66230659131057bb68ed51598f8 Cc: hubmib@ietf.org X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org 1. The header of the document should include: 'Intended Status - Proposed Standard' 2. References problems: - Unused Reference: 'RFC2586' is defined on line 2715, but not referenced '[RFC2586] Bierman, A., McCloghrie, K., Presuhn, R., "Textual Convent...' - Unused Reference: 'RFC3636' is defined on line 2738, but not referenced '[RFC3636] Flick, J., "Definitions of Managed Objects for IEEE 802.3...' * Downref: Informational Normative Reference: RFC 2586 - this is actually a typo (should be 2856) combined with another unused references Now, at least part of these unused references is caused by the fact that the MIB module does not list (commented) the RFC where the imported TCs originate. This should be Normative References Also, I would suggest to replace [RFC3636] with the update draft, which was already approved by the IESG and is in RFC Editor Queue 3. It would be good to run again the latest version of idnits. There are more complaints about the boilerplate and about pages exceeding the maximal allowed number of lines per page. 4. Section 3:=20 Although Ethernet access deployments were the primary motivation for the task force activity, the results of the task force are not strictly limited to that application. =20 Maybe we can be even more explicit here by adding: 'For example Ethernet OAM could be implemented on Ethernet links that are not necessarily EFM.' 5. Something seems to be missing in the following phrase in Section 3.4: 'OAMPDUs are the mechanism two directly connected Ethernet interfaces exchange OAM information. ' 6. Section 4.1 - would be better to avoid saying 'SNMP MIB Modules' in the title as MIB modules can be used with another protocol than SNMP 7. Update hubmib chair name and contact information 8. dot3OamPeerVendorInfo - I may be wrong, but the reference points to table 57-11 in the IEEE specification and the 32-bit information there is not other but the SMI Enterprise Number. If I am correct we may want to mention this in the DESCRIPTION 9. Why is not DEFVAL used to specify the default values of read-write or read-create objects wherever they are fixed - dot3OamErrFrameWindow, dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable, dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable, dot3OamCriticalEventEnable 10. The Abstract section contains a reference - this should be avoided 11. According to the naming convention in RFC 4181 the name of the Dot3Oui TC should be Dot3oamOui. Now one may argue that this TC is not Dot3-OAM specific, but then it is not Dot3 specific either. If we already infringe the naming convention let us use a more generic name (maybe just Oui or EightOTwoOui that would encourage the TC to be imported by other MIB modules.=20 Dan =20 =20 > -----Original Message----- > From: The IESG [mailto:iesg-secretary@ietf.org]=20 > Sent: Friday, January 26, 2007 5:43 PM > To: IETF-Announce > Cc: hubmib@ietf.org > Subject: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib=20 > (Definitions and Managed Objects for OAM Functions on=20 > Ethernet Like Interfaces) to Proposed Standard=20 >=20 > The IESG has received a request from the Ethernet Interfaces=20 > and Hub MIB WG (hubmib) to consider the following document: >=20 > - 'Definitions and Managed Objects for OAM Functions on Ethernet Like=20 > Interfaces ' > as a Proposed Standard >=20 > The IESG plans to make a decision in the next few weeks, and=20 > solicits final comments on this action. Please send=20 > substantive comments to the ietf@ietf.org mailing lists by=20 > 2007-02-09. Exceptionally, comments may be sent to=20 > iesg@ietf.org instead. In either case, please retain the=20 > beginning of the Subject line to allow automated sorting. >=20 > The file can be obtained via > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-05.txt >=20 >=20 > IESG discussion can be tracked via > https://datatracker.ietf.org/public/pidtracker.cgi?command=3Dvie > w_id&dTag=3D11360&rfc_flag=3D0 >=20 >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Thu Feb 08 02:37:28 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HF3qS-00079z-Jo; Thu, 08 Feb 2007 02:37:28 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HF3qR-00079o-0H for hubmib@ietf.org; Thu, 08 Feb 2007 02:37:27 -0500 Received: from ihemail1.lucent.com ([135.245.0.33]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HF3qP-0006bh-FO for hubmib@ietf.org; Thu, 08 Feb 2007 02:37:26 -0500 Received: from ilexp01.ndc.lucent.com (h135-3-39-1.lucent.com [135.3.39.1]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id l187bG8Q000852; Thu, 8 Feb 2007 01:37:17 -0600 (CST) Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp01.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 8 Feb 2007 01:37:16 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 8 Feb 2007 08:37:15 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib (Definitions andManaged Objects for OAM Functions on Ethernet Like Interfaces)to Proposed Standard Date: Thu, 8 Feb 2007 08:35:38 +0100 Message-ID: In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib (Definitions andManaged Objects for OAM Functions on Ethernet Like Interfaces)to Proposed Standard Thread-Index: AcdBYM67601WLk2KQMSTset/dK6dWAJTYH6AAClIQ1A= References: From: "Wijnen, Bert \(Bert\)" To: "Romascanu, Dan \(Dan\)" , X-OriginalArrivalTime: 08 Feb 2007 07:37:15.0156 (UTC) FILETIME=[F4031540:01C74B53] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33 X-Spam-Score: 0.0 (/) X-Scan-Signature: 03169bfe4792634a390035a01a6c6d2f Cc: Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Thanks Dan, Wow... as WG chair I missed quite a few it seems. We will work on these. Matt, can you take a crack at it? Or do you want me to suggest resolution first? Bert=20 > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 > Sent: woensdag 7 februari 2007 16:06 > To: ietf@ietf.org > Cc: hubmib@ietf.org > Subject: RE: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib=20 > (Definitions andManaged Objects for OAM Functions on Ethernet=20 > Like Interfaces)to Proposed Standard=20 >=20 > 1. The header of the document should include: 'Intended=20 > Status - Proposed Standard' >=20 > 2. References problems: >=20 > - Unused Reference: 'RFC2586' is defined on line 2715, but=20 > not referenced > '[RFC2586] Bierman, A., McCloghrie, K., Presuhn, R., "Textual > Convent...' >=20 > - Unused Reference: 'RFC3636' is defined on line 2738, but=20 > not referenced > '[RFC3636] Flick, J., "Definitions of Managed Objects for IEEE > 802.3...' >=20 > * Downref: Informational Normative Reference: RFC 2586 -=20 > this is actually a typo (should be 2856) combined with=20 > another unused references >=20 > Now, at least part of these unused references is caused by=20 > the fact that the MIB module does not list (commented) the=20 > RFC where the imported TCs originate. This should be=20 > Normative References >=20 > Also, I would suggest to replace [RFC3636] with the update=20 > draft, which was already approved by the IESG and is in RFC=20 > Editor Queue >=20 > 3. It would be good to run again the latest version of=20 > idnits. There are more complaints about the boilerplate and=20 > about pages exceeding the maximal allowed number of lines per page. >=20 > 4. Section 3:=20 >=20 > Although Ethernet access > deployments were the primary motivation for the task force=20 > activity, > the results of the task force are not strictly limited to that > application. =20 >=20 > Maybe we can be even more explicit here by adding: >=20 > 'For example Ethernet OAM could be implemented on Ethernet=20 > links that are not necessarily EFM.' >=20 > 5. Something seems to be missing in the following phrase in=20 > Section 3.4: >=20 > 'OAMPDUs are the mechanism two > directly connected Ethernet interfaces exchange OAM information. ' >=20 > 6. Section 4.1 - would be better to avoid saying 'SNMP MIB=20 > Modules' in the title as MIB modules can be used with another=20 > protocol than SNMP >=20 > 7. Update hubmib chair name and contact information >=20 > 8. dot3OamPeerVendorInfo - I may be wrong, but the reference=20 > points to table 57-11 in the IEEE specification and the=20 > 32-bit information there is not other but the SMI Enterprise=20 > Number. If I am correct we may want to mention this in the DESCRIPTION >=20 > 9. Why is not DEFVAL used to specify the default values of=20 > read-write or read-create objects wherever they are fixed -=20 > dot3OamErrFrameWindow, dot3OamErrFrameThreshold,=20 > dot3OamErrFrameEvNotifEnable,=20 > dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, > dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable,=20 > dot3OamCriticalEventEnable >=20 > 10. The Abstract section contains a reference - this should be avoided >=20 > 11. According to the naming convention in RFC 4181 the name=20 > of the Dot3Oui TC should be Dot3oamOui. Now one may argue=20 > that this TC is not Dot3-OAM specific, but then it is not=20 > Dot3 specific either. If we already infringe the naming=20 > convention let us use a more generic name (maybe just Oui or=20 > EightOTwoOui that would encourage the TC to be imported by=20 > other MIB modules.=20 >=20 > Dan >=20 >=20 >=20 >=20 >=20 > =20 > =20 >=20 > > -----Original Message----- > > From: The IESG [mailto:iesg-secretary@ietf.org] > > Sent: Friday, January 26, 2007 5:43 PM > > To: IETF-Announce > > Cc: hubmib@ietf.org > > Subject: [Hubmib] Last Call: draft-ietf-hubmib-efm-mib (Definitions=20 > > and Managed Objects for OAM Functions on Ethernet Like=20 > Interfaces) to=20 > > Proposed Standard > >=20 > > The IESG has received a request from the Ethernet=20 > Interfaces and Hub=20 > > MIB WG (hubmib) to consider the following document: > >=20 > > - 'Definitions and Managed Objects for OAM Functions on=20 > Ethernet Like=20 > > Interfaces ' > > as a Proposed Standard > >=20 > > The IESG plans to make a decision in the next few weeks,=20 > and solicits=20 > > final comments on this action. Please send substantive comments to=20 > > the ietf@ietf.org mailing lists by 2007-02-09.=20 > Exceptionally, comments=20 > > may be sent to iesg@ietf.org instead. In either case, please retain=20 > > the beginning of the Subject line to allow automated sorting. > >=20 > > The file can be obtained via > > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-05.txt > >=20 > >=20 > > IESG discussion can be tracked via > > https://datatracker.ietf.org/public/pidtracker.cgi?command=3Dvie > > w_id&dTag=3D11360&rfc_flag=3D0 > >=20 > >=20 > > _______________________________________________ > > Hubmib mailing list > > Hubmib@ietf.org > > https://www1.ietf.org/mailman/listinfo/hubmib > >=20 >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From zunxrbrughx@bnkrs.com Mon Feb 12 06:44:52 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HGZc4-00075z-3L for hubmib-archive@lists.ietf.org; Mon, 12 Feb 2007 06:44:52 -0500 Received: from [86.42.132.192] (helo=[86.42.132.192]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HGZc2-0006xB-Lw for hubmib-archive@lists.ietf.org; Mon, 12 Feb 2007 06:44:52 -0500 From: "ambiguity" To: hubmib-archive@lists.ietf.org Subject: Stock Trader Alert! Date: Mon, 12 Feb 2007 11:45:34 +0000 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0002_01C74E9B.4E5CF200" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdOm05cPXnI6jweQf29Yh1Xn/Y76g== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 3.1 (+++) X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32 ------=_NextPart_000_0002_01C74E9B.4E5CF200 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
The Chinese Market it is RED HOT!! The China sector is bringing investors and daily traders some very HUGE returns.

***CBFE***

China Biolife Enterprises, Inc.
Sym: CBFE
Date Of Trade: Monday, February 12 2007
Current Price: $1.30
Rating: 10/10

About CBFE:
China Biolife Enterprises, Inc. is a leading company in bamboo extracts and nutraceutical markets in China. The company provided solutions for food and dietary supplement industries and nutraceutical markets. The Company's vision is to help people live healthier lives by offering "natural, green and safe" products. Our Product - bamboo juice was extracted from refresh bamboo. Bamboo juice comprises with bamboo wax, bamboo acid etc. Adopting modern technical ways, it can be processed to be a serial health care products and medicine attached different effect.

WATCH OUT THE JUICE IS LOOSE!

MONDAY FEBRUARY 12th IS SURELY GOING TO BE ONE BIG DAY FOR CBFE!
------=_NextPart_000_0002_01C74E9B.4E5CF200-- From xngoybanwvy@bookzen.com Sun Feb 18 09:17:52 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HImrQ-0004iw-3s for hubmib-archive@lists.ietf.org; Sun, 18 Feb 2007 09:17:52 -0500 Received: from [60.220.80.16] (helo=[60.220.80.16]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HImrM-0006M0-Hp for hubmib-archive@lists.ietf.org; Sun, 18 Feb 2007 09:17:52 -0500 From: "DualCore quotDid" To: hubmib-archive@lists.ietf.org Subject: Traders Daily Report Date: Sun, 18 Feb 2007 22:17:39 -0800 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0005_01C753AA.999DCD70" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdTqpmdHhmNFRorQaOXP5XdmaruyQ== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: <11FD6B9818BF43F.1665201C0D@bookzen.com> X-Spam-Score: 3.7 (+++) X-Scan-Signature: 9182cfff02fae4f1b6e9349e01d62f32 ------=_NextPart_000_0005_01C753AA.999DCD70 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
::: PURE BIOFUELS CORP (PBOF.OB) :::

Stock Radar Presents
Get Ready!! PBOF continues!

Don't you dare take your eyes off this one Tue,20 morning.
CURRENT PRICE: 1.50 USD
Extended Day Target: 2.025 USD (35%)

---
Breaking News Headline:
Entry into a Material Definitive Agreement, Change in Directors or Principal O

---
When this St0ck moves... WATCH OUT! CATCH THE NEW LEADER!

------=_NextPart_000_0005_01C753AA.999DCD70-- From hubmib-bounces@ietf.org Mon Feb 19 07:10:32 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJ7LR-0006Wv-Ld; Mon, 19 Feb 2007 07:10:13 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJ7LQ-0006Wp-R0 for hubmib@ietf.org; Mon, 19 Feb 2007 07:10:12 -0500 Received: from il-mail.actelis.net ([62.90.13.193]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJ7LP-0006Kx-BX for hubmib@ietf.org; Mon, 19 Feb 2007 07:10:12 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] New things for the EFM-CU-MIB Date: Mon, 19 Feb 2007 14:10:26 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EED1858@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] New things for the EFM-CU-MIB Thread-Index: AccSbRPRY2YH4akzQnyyHrodzVEyZQH3TCiwALkd6DANu7wg8A== From: "Edward Beili" To: X-Spam-Score: 0.0 (/) X-Scan-Signature: 3002fc2e661cd7f114cb6bae92fe88f1 Cc: "Wijnen, Bert \(Bert\)" , Matt Squire , "Romascanu, Dan \(Dan\)" X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Dear Hubmib group members, I would like to hear your opinion on the proposed additions to the = EFM-CU-MIB specified in my original mail below. Regards, -E. > -----Original Message----- > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com]=20 > Sent: Monday, December 11, 2006 16:22 > To: Edward Beili; hubmib@ietf.org > Cc: Wijnen, Bert (Bert) > Subject: RE: [Hubmib] New things for the EFM-CU-MIB >=20 > I believe that the WG should focus on completing the current=20 > charter before discussing about any new work 'stemming from=20 > ... latest RFPs', otherwise it risks to run forever trying to > catch with the permanently moving target of the Ethernet technology. =20 >=20 > Dan >=20 > -----Original Message----- > From: Matt Squire [mailto:MSquire@HatterasNetworks.com]=20 > Sent: Friday, December 08, 2006 2:53 > To: Edward Beili; hubmib@ietf.org > Cc: Wijnen, Bert (Bert); Dan Romascanu (E-mail) > Subject: RE: [Hubmib] New things for the EFM-CU-MIB >=20 > Hi Ed -=20 >=20 > The second two seem useful. The first one doesn't seem that=20 > useful as it is easily derived from other entries. In=20 > general, I'm not a big fan of adding 2nd level data (e.g.=20 > stuff derived from other stuff). =20 >=20 > My 2 cents.=20 >=20 > - Matt =20 >=20 > > -----Original Message----- > > From: Edward Beili [mailto:EdwardB@actelis.com] > > Sent: Friday, December 08, 2006 12:41 AM > > To: hubmib@ietf.org > > Cc: Wijnen, Bert (Bert); Romascanu, Dan (Dan) > > Subject: [Hubmib] New things for the EFM-CU-MIB > >=20 > > Hi, > >=20 > > I would like to propose a few minor modifications to the EFM-CU-MIB, = > > to provide support for some carrier requirements for the Ethernet = over=20 > > copper, stemming from some latest RFPs. > >=20 > > 1. Add a new leaf to efmCuPortStatusTable, showing the equivalent=20 > > length of the bonded link, which would be calculated as a median of=20 > > all the efmCuPmeEquivalentLength in the link. > >=20 > > 2. Add an optional ability to specify Min and Max noise margin=20 > > (probably in efmCuPortConfEntry), which would allow one to configure = > > the working SNR range for the lines in the bonded link, that is: > > - if the SNR Margin on the copper pair in the bonded link > > (efmCuPmeSnrMgn) goes below specified Min margin, the pair should=20 > > re-train to achieve higher SNR margin than the Min (e.g.=20 > > efmCuTargetSnrMgn) > > - if the SNR Margin on the copper pair goes above specified Max=20 > > margin, the pair should/could lower its transmitted power (e.g. = using=20 > > Power Back-off if efmCuAdaptiveSpectra is true). > >=20 > > 3. Add an ability to specify Min Power Back-off, to allow an = operator=20 > > to limit the signal transmit power to a lower level than that = allowed=20 > > by the spectral limitations placed by the efmCuPme2BRegion and=20 > > efmCuPme2BsMode. > >=20 > > I would appreciate your comments. > >=20 > > Regards, > > -E.=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Mon Feb 19 07:34:19 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJ7il-0007v8-HG; Mon, 19 Feb 2007 07:34:19 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJ7ik-0007v3-83 for hubmib@ietf.org; Mon, 19 Feb 2007 07:34:18 -0500 Received: from smail.alcatel.fr ([62.23.212.165]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJ7ii-0002AS-II for hubmib@ietf.org; Mon, 19 Feb 2007 07:34:18 -0500 Received: from bemail01.netfr.alcatel.fr (bemail01.netfr.alcatel.fr [155.132.251.32]) by smail.alcatel.fr (8.13.4/8.13.4/ICT) with ESMTP id l1JCXgKf016274; Mon, 19 Feb 2007 13:34:13 +0100 Received: from [172.31.140.151] ([172.31.140.151]) by bemail01.netfr.alcatel.fr (Lotus Domino Release 5.0.13aHF163) with ESMTP id 2007021913335939:6270 ; Mon, 19 Feb 2007 13:33:59 +0100 Message-ID: <45D99937.5070007@alcatel-lucent.be> Date: Mon, 19 Feb 2007 13:33:59 +0100 From: frank.van_der_putten@alcatel-lucent.be User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Edward Beili Subject: Re: [Hubmib] New things for the EFM-CU-MIB References: <9C1CAB2B65E62D49A10E49DFCD68EF3EED1858@il-mail.actelis.net> In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EED1858@il-mail.actelis.net> X-MIMETrack: Itemize by SMTP Server on BEMAIL01/BE/ALCATEL(Release 5.0.13aHF163 | June 23, 2005) at 02/19/2007 13:33:59, Serialize by Router on BEMAIL01/BE/ALCATEL(Release 5.0.13aHF163 | June 23, 2005) at 02/19/2007 13:34:05 X-Scanned-By: MIMEDefang 2.51 on 155.132.180.81 X-Spam-Score: 2.0 (++) X-Scan-Signature: 34d35111647d654d033d58d318c0d21a Cc: "Wijnen, Bert \(Bert\)" , hubmib@ietf.org, Matt Squire , "Romascanu, Dan \(Dan\)" X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0545995044==" Errors-To: hubmib-bounces@ietf.org --===============0545995044== Content-Type: text/html; charset=windows-1255 Content-Transfer-Encoding: base64 PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+DQo8aHRtbD4NCjxoZWFkPg0KICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNl dD13aW5kb3dzLTEyNTUiDQogaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4NCiAgPHRpdGxlPjwv dGl0bGU+DQo8L2hlYWQ+DQo8Ym9keSBiZ2NvbG9yPSIjZmZmZmZmIiB0ZXh0PSIjMDAwMDAwIj4N CkVkd2FyZCw8YnI+DQo8YnI+DQpPbiBvbmUgaGFuZCwgdGhlIEVGTS1DVS1NVUIgc2VlbXMgdG8g YmUgYSBzdGFuZGFsb25lIE1JQiygIGluY2x1ZGluZw0KRFNMIGxheWVyIDEgb2JqZWN0cyBhbmSg IGluY2x1ZGluZyBib25kaW5nIG9iamVjdHMuIDxicj4NCk9uIHRoZSBvdGhlciBoYW5kLCBhcyB3 ZSBkaXNjdXNzZWQgaW4gRFNMIEZvcnVtLCBhbmQgYXMgSSBhbHJlYWR5DQpzdGF0ZWQgb24gdGhp cyBtYWlsaW5nIGxpc3QsIHRoZSBib25kaW5nIE1JQiBzaG91bGQgbm90IGluY2x1ZGUNCmR1cGxp Y2F0aW9uIG9mIERTTCBsYXllciAxIG9iamVjdHMuIFdlIHNob3VsZCB1c2Ugc2VwYXJhdGUgRFNM IGxheWVyIDENCk1JQiBhbmQgYm9uZGluZyBsYXllciBNSUIuIDxicj4NCkl0IGlzIG5vdCBjbGVh ciBmb3IgbWUgaG93IHRoZXNlIHR3byBleGVyY2lzZXMgcmVsYXRlLiBCdXQgYXQgbGVhc3QgaXQN CnNlZW1zIHdlIHNob3VsZCBvbmx5IGFkZCB0byBFRk0tQ1UtTUlCIG9iamVjdHMgdGhhdCBsYXRl ciBvbiBjYW4gYmUNCmNsYXNzaWZpZWQgYXMgRFNMIGxheWVyIDEgc3BlY2lmaWMgKHJlZ2FyZGxl c3Mgb2YgcGFpciBiZWluZyBib25kZWQpDQp4b3IgYm9uZGluZyBsYXllciBzcGVjaWZpYyAocmVn YXJkbGVzcyBvZiBEU0wgdHlwZSB1c2VkKS48YnI+DQo8YnI+DQpBcyBzdWNoLCBJIHdvdWxkIHRo aW5rIHRoYXQgeW91ciBwcm9wb3NlZCBpdGVtczo8YnI+DQo8YnI+DQpJdGVtIDE6IGlzIHJlZHVu ZGFudCBpbmZvIGluIHRoZSBNSUIsIGNhbGN1bGF0aW5nIG1lZGlhbiBpcyBhIGpvYiBmb3INCmFw cGxpY2F0aW9uIG9uIHRoZSBNSUIsIG5vdCB0byBiZSBwYXJ0IG9mIHRoZSBNSUI8YnI+DQpJdGVt IDI6oCB0aGlzIGlzIERTTCBsYXllciAxIHNwZWNpZmljIGFuZCB0byBiZSBzcGVjaWZpZWQgZm9y IGVhY2ggbGluZQ0Kc2VwYXJhdGVseS4gQXBwbHlpbmcgdGhlIHNhbWUgdmFsdWVzIHRvIGVhY2gg bGluZSBpcyBhYm91dCBlYXNlIG9mDQpwb1twdWxhdGlvbiBvZiB0aGUgTUlCIG9iamVjdCwgbm90 IHRvIGJlIHBhcnQgb2YgdGhlIE1JQiBhcyBzZXBhcmF0ZQ0Kb2JqZWN0PGJyPg0KSXRlbSAzOqAg dGhpcyBpcyBhbHNvIHRvIGJlIHNwZWNpZmllZCBmb3IgZWFjaCBsaW5lLiBCZXR0ZXIgd29yayB3 aXRoDQphYnNvbHV0ZSBQU0QgbGltaXRpbmcgb2JqZWN0cyB0aGFuIHdpdGggUEJPIChhdCBsZWFz dCB0aGF0IGlzIGhvdw0KQURTTCZhbXA7VkRTTCB3b3JrIGluIElUVSkuPGJyPg0KPGJyPg0KUmVn YXJkcyw8YnI+DQpGcmFuazxicj4NCjxicj4NCjxicj4NCjxicj4NCjxicj4NCkVkd2FyZCBCZWls aSB3cm90ZTo8YnI+DQo8YmxvY2txdW90ZQ0KIGNpdGU9Im1pZDlDMUNBQjJCNjVFNjJENDlBMTBF NDlERkNENjhFRjNFRUQxODU4QGlsLW1haWwuYWN0ZWxpcy5uZXQiDQogdHlwZT0iY2l0ZSI+DQog IDxwcmUgd3JhcD0iIj5EZWFyIEh1Ym1pYiBncm91cCBtZW1iZXJzLA0KDQpJIHdvdWxkIGxpa2Ug dG8gaGVhciB5b3VyIG9waW5pb24gb24gdGhlIHByb3Bvc2VkIGFkZGl0aW9ucyB0byB0aGUgRUZN LUNVLU1JQiBzcGVjaWZpZWQgaW4gbXkgb3JpZ2luYWwgbWFpbCBiZWxvdy4NCg0KUmVnYXJkcywN Ci1FLg0KDQoNCiAgPC9wcmU+DQogIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPg0KICAgIDxwcmUg d3JhcD0iIj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogUm9tYXNjYW51LCBEYW4g KERhbikgWzxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9Im1haWx0bzpkcm9t YXNjYUBhdmF5YS5jb20iPm1haWx0bzpkcm9tYXNjYUBhdmF5YS5jb208L2E+XSANClNlbnQ6IE1v bmRheSwgRGVjZW1iZXIgMTEsIDIwMDYgMTY6MjINClRvOiBFZHdhcmQgQmVpbGk7IDxhIGNsYXNz PSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpodWJtaWJAaWV0Zi5vcmci Pmh1Ym1pYkBpZXRmLm9yZzwvYT4NCkNjOiBXaWpuZW4sIEJlcnQgKEJlcnQpDQpTdWJqZWN0OiBS RTogW0h1Ym1pYl0gTmV3IHRoaW5ncyBmb3IgdGhlIEVGTS1DVS1NSUINCg0KSSBiZWxpZXZlIHRo YXQgdGhlIFdHIHNob3VsZCBmb2N1cyBvbiBjb21wbGV0aW5nIHRoZSBjdXJyZW50IA0KY2hhcnRl ciBiZWZvcmUgZGlzY3Vzc2luZyBhYm91dCBhbnkgbmV3IHdvcmsgJ3N0ZW1taW5nIGZyb20gDQou Li4gbGF0ZXN0IFJGUHMnLCBvdGhlcndpc2UgaXQgcmlza3MgdG8gcnVuIGZvcmV2ZXIgdHJ5aW5n IHRvDQpjYXRjaCB3aXRoIHRoZSBwZXJtYW5lbnRseSBtb3ZpbmcgdGFyZ2V0IG9mIHRoZSBFdGhl cm5ldCB0ZWNobm9sb2d5LiAgDQoNCkRhbg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K RnJvbTogTWF0dCBTcXVpcmUgWzxhIGNsYXNzPSJtb3otdHh0LWxpbmstZnJlZXRleHQiIGhyZWY9 Im1haWx0bzpNU3F1aXJlQEhhdHRlcmFzTmV0d29ya3MuY29tIj5tYWlsdG86TVNxdWlyZUBIYXR0 ZXJhc05ldHdvcmtzLmNvbTwvYT5dIA0KU2VudDogRnJpZGF5LCBEZWNlbWJlciAwOCwgMjAwNiAy OjUzDQpUbzogRWR3YXJkIEJlaWxpOyA8YSBjbGFzcz0ibW96LXR4dC1saW5rLWFiYnJldmlhdGVk IiBocmVmPSJtYWlsdG86aHVibWliQGlldGYub3JnIj5odWJtaWJAaWV0Zi5vcmc8L2E+DQpDYzog V2lqbmVuLCBCZXJ0IChCZXJ0KTsgRGFuIFJvbWFzY2FudSAoRS1tYWlsKQ0KU3ViamVjdDogUkU6 IFtIdWJtaWJdIE5ldyB0aGluZ3MgZm9yIHRoZSBFRk0tQ1UtTUlCDQoNCkhpIEVkIC0gDQoNClRo ZSBzZWNvbmQgdHdvIHNlZW0gdXNlZnVsLiAgVGhlIGZpcnN0IG9uZSBkb2Vzbid0IHNlZW0gdGhh dCANCnVzZWZ1bCBhcyBpdCBpcyBlYXNpbHkgZGVyaXZlZCBmcm9tIG90aGVyIGVudHJpZXMuICBJ biANCmdlbmVyYWwsIEknbSBub3QgYSBiaWcgZmFuIG9mIGFkZGluZyAybmQgbGV2ZWwgZGF0YSAo ZS5nLiANCnN0dWZmIGRlcml2ZWQgZnJvbSBvdGhlciBzdHVmZikuICANCg0KTXkgMiBjZW50cy4g DQoNCi0gTWF0dCAgDQoNCiAgICA8L3ByZT4NCiAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIj4N CiAgICAgIDxwcmUgd3JhcD0iIj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogRWR3 YXJkIEJlaWxpIFs8YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJtYWlsdG86 RWR3YXJkQkBhY3RlbGlzLmNvbSI+bWFpbHRvOkVkd2FyZEJAYWN0ZWxpcy5jb208L2E+XQ0KU2Vu dDogRnJpZGF5LCBEZWNlbWJlciAwOCwgMjAwNiAxMjo0MSBBTQ0KVG86IDxhIGNsYXNzPSJtb3ot dHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpodWJtaWJAaWV0Zi5vcmciPmh1Ym1p YkBpZXRmLm9yZzwvYT4NCkNjOiBXaWpuZW4sIEJlcnQgKEJlcnQpOyBSb21hc2NhbnUsIERhbiAo RGFuKQ0KU3ViamVjdDogW0h1Ym1pYl0gTmV3IHRoaW5ncyBmb3IgdGhlIEVGTS1DVS1NSUINCg0K SGksDQoNCkkgd291bGQgbGlrZSB0byBwcm9wb3NlIGEgZmV3IG1pbm9yIG1vZGlmaWNhdGlvbnMg dG8gdGhlIEVGTS1DVS1NSUIsIA0KdG8gcHJvdmlkZSBzdXBwb3J0IGZvciBzb21lIGNhcnJpZXIg cmVxdWlyZW1lbnRzIGZvciB0aGUgRXRoZXJuZXQgb3ZlciANCmNvcHBlciwgc3RlbW1pbmcgZnJv bSBzb21lIGxhdGVzdCBSRlBzLg0KDQoxLiBBZGQgYSBuZXcgbGVhZiB0byBlZm1DdVBvcnRTdGF0 dXNUYWJsZSwgc2hvd2luZyB0aGUgZXF1aXZhbGVudCANCmxlbmd0aCBvZiB0aGUgYm9uZGVkIGxp bmssIHdoaWNoIHdvdWxkIGJlIGNhbGN1bGF0ZWQgYXMgYSBtZWRpYW4gb2YgDQphbGwgdGhlIGVm bUN1UG1lRXF1aXZhbGVudExlbmd0aCBpbiB0aGUgbGluay4NCg0KMi4gQWRkIGFuIG9wdGlvbmFs IGFiaWxpdHkgdG8gc3BlY2lmeSBNaW4gYW5kIE1heCBub2lzZSBtYXJnaW4gDQoocHJvYmFibHkg aW4gZWZtQ3VQb3J0Q29uZkVudHJ5KSwgd2hpY2ggd291bGQgYWxsb3cgb25lIHRvIGNvbmZpZ3Vy ZSANCnRoZSB3b3JraW5nIFNOUiByYW5nZSBmb3IgdGhlIGxpbmVzIGluIHRoZSBib25kZWQgbGlu aywgdGhhdCBpczoNCi0gaWYgdGhlIFNOUiBNYXJnaW4gb24gdGhlIGNvcHBlciBwYWlyIGluIHRo ZSBib25kZWQgbGluaw0KKGVmbUN1UG1lU25yTWduKSBnb2VzIGJlbG93IHNwZWNpZmllZCBNaW4g bWFyZ2luLCB0aGUgcGFpciBzaG91bGQgDQpyZS10cmFpbiB0byBhY2hpZXZlIGhpZ2hlciBTTlIg bWFyZ2luIHRoYW4gdGhlIE1pbiAoZS5nLiANCmVmbUN1VGFyZ2V0U25yTWduKQ0KLSBpZiB0aGUg U05SIE1hcmdpbiBvbiB0aGUgY29wcGVyIHBhaXIgZ29lcyBhYm92ZSBzcGVjaWZpZWQgTWF4IA0K bWFyZ2luLCB0aGUgcGFpciBzaG91bGQvY291bGQgbG93ZXIgaXRzIHRyYW5zbWl0dGVkIHBvd2Vy IChlLmcuIHVzaW5nIA0KUG93ZXIgQmFjay1vZmYgaWYgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgaXMg dHJ1ZSkuDQoNCjMuIEFkZCBhbiBhYmlsaXR5IHRvIHNwZWNpZnkgTWluIFBvd2VyIEJhY2stb2Zm LCB0byBhbGxvdyBhbiBvcGVyYXRvciANCnRvIGxpbWl0IHRoZSBzaWduYWwgdHJhbnNtaXQgcG93 ZXIgdG8gYSBsb3dlciBsZXZlbCB0aGFuIHRoYXQgYWxsb3dlZCANCmJ5IHRoZSBzcGVjdHJhbCBs aW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIA0KZWZtQ3VQbWUy QnNNb2RlLg0KDQpJIHdvdWxkIGFwcHJlY2lhdGUgeW91ciBjb21tZW50cy4NCg0KUmVnYXJkcywN Ci1FLiANCiAgICAgIDwvcHJlPg0KICAgIDwvYmxvY2txdW90ZT4NCiAgPC9ibG9ja3F1b3RlPg0K ICA8cHJlIHdyYXA9IiI+PCEtLS0tPg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KSHVibWliIG1haWxpbmcgbGlzdA0KPGEgY2xhc3M9Im1vei10eHQt bGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOkh1Ym1pYkBpZXRmLm9yZyI+SHVibWliQGll dGYub3JnPC9hPg0KPGEgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6 Ly93d3cxLmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vaHVibWliIj5odHRwczovL3d3dzEuaWV0 Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9odWJtaWI8L2E+DQoNCiAgPC9wcmU+DQo8L2Jsb2NrcXVv dGU+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --===============0545995044== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --===============0545995044==-- From hubmib-bounces@ietf.org Mon Feb 19 08:04:56 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJ8CK-0008Im-Ip; Mon, 19 Feb 2007 08:04:52 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HIxzb-0002pv-GC for hubmib@ietf.org; Sun, 18 Feb 2007 21:11:03 -0500 Received: from il-mail.actelis.net ([62.90.13.193]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HIxzK-0002KN-9p for hubmib@ietf.org; Sun, 18 Feb 2007 21:11:03 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C753CB.2D644D5B" Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Mon, 19 Feb 2007 04:10:50 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EE13EA9@il-mail.actelis.net> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAA== From: "Edward Beili" To: "Wijnen, Bert \(Bert\)" X-Spam-Score: 0.5 (/) X-Scan-Signature: a953fac7b641e938c5ffa9b18c2ea65b X-Mailman-Approved-At: Mon, 19 Feb 2007 08:04:50 -0500 Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Bert, I've attached the next version of the efm-cu-mib draft, together with = the extracted MIB modules. This version implements most of your comments, see below for the full = list of changes. Regards, -E. > From: Wijnen, Bert (Bert)=20 > [mailto:bwijnen@alcatel-lucent.com] > Sent: Thursday, January 18, 2007 21:45 > To: Edward Beili > Cc: Dan Romascanu (E-mail) > Subject: RE: [Hubmib] My review of: = draft-ietf-hubmib-efm-cu-mib-06.txt >My appology, "this week" took a bit longer than I had expected.=20 > >So here is my review as WG chair. > >- SMICng: > W: f(EFM-CU-MIB.mi2), (300,21) Item "efmCuPAFDiscoveryCode" should = have SIZE specified > W: f(EFM-CU-MIB.mi2), (1178,21) Item "efmCuPAFRemoteDiscoveryCode" should have SIZE specified > W: f(EFM-CU-MIB.mi2), (2925,23) For "efmCuPmeSubTypesSupported", = syntax is identical > > for the first two, I think: SIZE(6) > for the 3rd one I am OK to let the warning go., i.e. ignore it. [EB] Corrected as suggested. > W: f(IF-CAP-STACK-MIB.mi2), (195,17) Row "ifInvCapStackEntry" does = not > have a consistent indexing scheme - index items must be in same = order > as used in INDEX clause for "base row" ifStackEntry > E: f(IF-CAP-STACK-MIB.mi2), (291,13) Item "ifInvStackGroup" should be = IMPORTed > Warning is OK I think, but pls fix error. [EB] Corrected as suggested. >- You may want to add a note-to-rfcs-editor to: > [I-D.ietf-hubmib-efm-mib] > Squire, M., "Definitions and Managed Objects for OAM > Functions on Ethernet Like Interfaces", > draft-ietf-hubmib-efm-mib-04 (work in progress), > March 2006. > > [I-D.ietf-hubmib-rfc3636bis] > Beili, E., "Definitions of Managed Objects for IEEE 802.3 > Medium Attachment Units (MAUs)", > draft-ietf-hubmib-rfc3636bis-05 (work in progress), > July 2006. > > in which you ask them to replace with actual RFC numbers if those > are available at time of publication. [EB] Done. >- note that if you do a revision, you must use new copyright > and no longer=20 > Copyright (C) The Internet Society (2006). > See my earlier post to the hubmib list [EB] Done. >- Did we resolve the use of Rowstatus for the ifCapStackTable > and ifInvCapStackTable? In any event, pls re-check the > feedback we've got on that. I do not think that what we > currently have in the MIB module is acceptable. [EB] Replaced with TruthValue. >- In order to avoid any possible future name clashed, I would > prefer it if we rename Textual Convnetions: > > ProfileIndex ::=3D TEXTUAL-CONVENTION > ProfileIndexOrZero ::=3D TEXTUAL-CONVENTION > ProfileIndexList ::=3D TEXTUAL-CONVENTION > TruthValueOrUnknown ::=3D TEXTUAL-CONVENTION > > such that they are prefixed with Efm, so I would name them: > > EfmProfileIndex ::=3D TEXTUAL-CONVENTION > EfmProfileIndexOrZero ::=3D TEXTUAL-CONVENTION > EfmProfileIndexList ::=3D TEXTUAL-CONVENTION > EfmTruthValueOrUnknown ::=3D TEXTUAL-CONVENTION > > this is also common practice in most (if not all) other > IETF MIB modules these days [EB] Done. >- for efmCuPAFAdminState you describe a few operations that > should be ignore when tried. I am not sure how to inerpret > that and what would happen when a SNMP SET is received. > I would think it is better to say the need to be rejected. > (that is, cause an error on an SNMP SET). [EB] Agreed. All 'ignored' are replaced with 'rejected' >- for=20 > efmCuPAFDiscoveryCode OBJECT-TYPE > SYNTAX PhysAddress > MAX-ACCESS read-write > STATUS current > DESCRIPTION > "PAF Discovery Code of the EFMCu port (PCS). > A unique 6 Byte long code used by the Discovery function, when > PAF is supported. > PCS ports incapable of supporting PAF SHALL return a value of > all zeroes. Attempts to change this object SHALL be ignored in > this case. > This object MUST be instantiated for the -O subtype PCS before > writing operations on the efmCuPAFRemoteDiscoveryCode > (Set_if_Clear and Clear_if_Same) are performed by PMEs > associated with the PCS. > The value of this object is read-only for -R port subtypes. > The initial value of this object for -R ports after reset > is 0. This value may be changed as a result of writing > operation on efmCuPAFRemoteDiscoveryCode variable of remote > PME of -O subtype, connected to one of the local PMEs > associated with the PCS. > > Discovery MUST be performed when the link is Down. > Attempts to change this object MUST be rejected with the error > inconsistentValue if the link is Up or Initializing. > > The PAF Discovery code maps to the local Discovery code > variable in PAF (note that it does not have a corresponding > Clause 45 register)" > REFERENCE > "[802.3ah] 61.2.2.8.3, 61.2.2.8.4, 45.2.6.6.1" > ::=3D { efmCuPortConfEntry 2 } > > I am trying to figure out what made you choose PhysAddress as the > SYNTAX for the discovery code. Can you explain, or point me to > the 802.3ah clause that explains/justifies that? [EB] The remote discovery code is defined by 802.3ah as a 6-octets = (48-bit) value, see 45.2.6.8. Clause 61A.2 actually suggests to use a MAC address for the discovery operation, in order to ensure its 'local = uniqueness'. Since PhysAddress represents media- or physical-level addresses it was a natural choice. I've added the size attribute to indicate it's length. = > I wonder what you mean with "the value of this object is read-only" > The value has to be a PhysAddress ( 6 octets) value, no? > If you mean that for -R port subtypes the object cannot allow write > access, then I would say it in terms aka: > > The initial value of this object for -R port subtypes after > reset is all zeroes. For such -R ports, the value of this > object cannot be changed directly. The value may be changed > as a result of a writing operation on the=20 > efmCuPAFRemoteDiscoveryCode object of a remote PME of=20 > -O subtype, connected to one of the local PMEs > associated with the PCS. > > I hope I understood the intention and reworded it properly. [EB] Corrected as suggested. > These day we prefer to not hard-wire SNMP error codes in DESCRIPTION > clause, or if we do, then as an example (A MIB could be used by non > SNMP protocols). SO I suggest=20 > =20 > Discovery MUST be performed when the link is Down. > Attempts to change this object MUST be rejected (in case of > SNMP with the error inconsistentValue) if the link is Up=20 > or Initializing. [EB] Corrected - inserted '(in case of SNMP' to all occurrences of 'with the error'. >- For efmCuAdminProfile I read in DESCRIPTION clause: > > This object is writable and readable for the -O subtype > (2BaseTL-O or 10PassTS-O) EFMCu ports. It is unavailable for > the -R subtype (2BaseTL-R or 10PassTS-R) ports. > > what does it mean that this object is "unavailable" > Do you not want it instatntiated in that case, or do you want > its value to be ignored/irrelevant? Pls be specific. > > You use that at various other places as well. Pls check and fix. [EB] Replaced 'unavailable' with 'unsupported' >- For > efmCuPAFRemoteDiscoveryCode OBJECT-TYPE > SYNTAX PhysAddress > MAX-ACCESS read-write > STATUS current > DESCRIPTION > "PAF Remote Discovery Code of the PME port at CO. > A 6 Byte long Discovery Code of the peer PCS connected via > the PME. > Reading this object results in a Discovery Get operation. > Writing a zero to this object results in a Discovery > Clear_if_Same operation (the value of efmCuPAFDiscoveryCode > at the peer PCS SHALL be the same as efmCuPAFDiscoveryCode of > the local PCS associated with the PME for the operation to > succeed). > Writing a non-zero value to this object results in a > Discovery Set_if_Clear operation. > This object does not exist in CPE port subtypes. A zero length > octet string SHALL be returned for CPE port subtypes and also > when PAF aggregation is not enabled. > > What is "writing a zero value" ?? > Is that 6 octets, all zeroes? > Or one octet conatining zero, > or the zero length octet-string? > What means "does not exist" is it not instanctiated? I guess so. > pls be clear. You do get gaps in the tables if some objects are > not instantiated. Might be easier (on NM apps) if there was > a value (like all zeros, or zerolength string) that can be ignored. [EB] Reworded as follows: This object is irrelevant in CPE port (-R) subtypes: in this case a zero length octet string SHALL be returned on an attempt to read this object, writing to this object SHALL be ignored. >- I believe I have seen this SYNTAX > SYNTAX INTEGER { > ieee2BaseTLO(1), > ieee2BaseTLR(2), > ieee10PassTSO(3), > ieee10PassTSR(4) > } > several times. Candidate for a Textual Convention? [EB] No actually all occurences are different- there are: efmCuPmeAdminSubType with 7 enums, efmCuPmeSubTypesSupported with 4 bitmap positions and efmCuPmeOperSubType with 4 enums. >- for efmCuPme2BRegion I wonder if we ever (soon?) expect more > regions? If so, maybe we ought to make this a TC? > How will regions be added? [EB] Regions for G.SHDSL are defined by the ITU-T in G.991.2 = recommendation. The last revision of this document was done in 2003, and this version was used as a reference for the IEEE 802.3ah 2BASE-TL specification. There's no reason to believe that a new region would ever be defined (unless Japanese decide to play hard and revive this issue:), in any case even if this happens it would require a re-issue of 802.3 as the regions are hard-coded in a Clause 45 register.=20 >- For efmCuPme2BProfileRowStatus I wonder if any (all?) of the objects > in a row can be changed while the row is active? Would that not > be disruptive? In any event, pls specify if any (which( objects > can be changed or stat eif none can be change in active state. [EB] I believe that 'read-create' in MAX-ACCESS clause of all the objects in a row (except for the 'not-accessible' index) already indicates that in order to change an object in a particular profile, one would have to create a new one, change the reference(s) from the old profile to a new one and remove the old (inactive) profile if not needed anymore. > Same question for efmCuPme2BsModeRowStatus, although there a change > is probably not disruptive. > Pls check all occurences of RowStatus [EB] Same answer as above. >- I really wonder if we are doing a smart thing by give the same labels > to the various enums in > efmCuPme10PBandplanPSDMskProfile INTEGER, > efmCuPme10PUPBOReferenceProfile INTEGER, > efmCuPme10PBandNotchProfiles BITS, > efmCuPme10PPayloadURateProfile INTEGER, > efmCuPme10PPayloadDRateProfile INTEGER, > They have different meanings, don't they? So would it not be better > to differentiate between the labels of the neumerations? [EB] If we take it to extreme why not turning all enums to TCs? Personally I prefer inline enums (if they are not repeated of course which would make they perfectly good candidates for TCs) as they list the values and their meaning in the description for the object - less jumps between the object and a TC when reading the MIB. >- For OBBJECT-GROUP definitions, one is NOT supposed to state = requirements > or optional attributes. Such things (if a group if required or >optional) > are stated in the MODULE-COMPLIANCE. > The OBJECT0GROUP macro is ONLY intended to group objects that = logically > fit together in order to model something. > Sof (for example): > efmCuBasicGroup OBJECT-GROUP > OBJECTS { > efmCuPAFSupported, > efmCuAdminProfile, > efmCuTargetDataRate, > efmCuTargetSnrMgn, > efmCuAdaptiveSpectra, > efmCuPortSide, > efmCuFltStatus > } > STATUS current > DESCRIPTION > "A collection of objects required for all of EFMCu ports." > ::=3D { efmCuGroups 1 } > > Sould NOT state that these objects are "required". I would phrase > it as: > "A collection of objects reperesenting management information > that is common for all of EFMCu ports." > > The fact that is is REQUIRED for all EFMCu ports is expressed in > efmCuCompliance MODULE-COMPLIANCE > STATUS current > DESCRIPTION > ... snip ... > MODULE -- this module > MANDATORY-GROUPS { > efmCuBasicGroup, > That is, here it is listed in the MANDATORY-GROUPS clause and so that > inidicated that it is required. > =20 > Pls try to rephrase for all OBJECT-GROUPs [EB] Done. >- With regard to naming, I am somewhat worried about the conventions = that > are used (or maybe those that are not used). I always find it smarter > to have all columnar objects in a table prefixed with a string that > makes it clear to which table the object belongs. For example for > the efmCuPortConfTable: > > EfmCuPortConfEntry ::=3D > SEQUENCE { > efmCuPAFAdminState INTEGER, > efmCuPAFDiscoveryCode PhysAddress, > efmCuAdminProfile ProfileIndexList, > efmCuTargetDataRate Unsigned32, > efmCuTargetSnrMgn Unsigned32, > efmCuAdaptiveSpectra TruthValue, > efmCuThreshLowRate Unsigned32, > efmCuLowRateCrossingEnable TruthValue > } > =20 > I would personally prefer the columns to be alll prefixed with > efmCuPortConf, so I would have named them as follows: > > EfmCuPortConfEntry ::=3D > SEQUENCE { > efmCuPortConfPAFAdminState INTEGER, > efmCuPortConfPAFDiscoveryCode PhysAddress, > efmCuPortConfAdminProfile ProfileIndexList, > efmCuPortConfTargetDataRate Unsigned32, > efmCuPortConfTargetSnrMgn Unsigned32, > efmCuPortConfAdaptiveSpectra TruthValue, > efmCuPortConfThreshLowRate Unsigned32, > efmCuPortConfLowRateCrossingEnable TruthValue > } > > This also holds true for most (all of) the other tables. > My suggested naming convention above has (in my view) 2 advantages: > =20 > - less change for conflicting names.=20 > I will admit, that this is not too big a risk, since this is > all within the same MIB module. Nevertheless, I think it just > makes it easier if any additions need to be made in the future. > - easier for people to see which objects belong to which tables. > I think this is a strong point. But I also understand it is > somewhat subjective. > > I can accept if the WG and/or editor/author tells me that I am far > too late with this type of comment. It of course requires a quite=20 > massive editorial change. So, although I think it would improve > the human-friendlyness of the MIB module, I will not insist on > this change. [EB] While I tend to agree with the advantages of the naming scheme you proposed, I would like to ask to be forgiven and leave the names as they are now, due to the following rasons: - It is a big change (considering also that there are at least 2 experimental implementations of this draft that I know of) - Some time ago I was asked to stick with the RFC 2578/2579 recommendation of 32 char restriction - the proposed change would make some names to be longer than 32 chars. (Yes, I just read RFC 4181 view on that - the 32 character restriction recommendation of SMIv2 SHOULD be set aside in favor of promoting clarity and uniqueness). However it could be argued that it is easier to remember efmCuLowRateCrossingEnable vs. efmCuPortConfLowRateCrossingEnable >NITS: > >- the RFC editor probably wants you to expand acronyms when they are > used for the first time. Pls check you do it for all acronyms. > I found for example VDSL, DMT, SHDSL acronyms which have not > been expanded. > There may be others. Pls check. [EB] All acronyms are expanded. >- For: > ifCapStackEntry OBJECT-TYPE > SYNTAX IfCapStackEntry > MAX-ACCESS not-accessible > STATUS current > DESCRIPTION > "Information on a particular relationship between two > sub-layers, specifying that one sub-layer runs on 'top' of = the > other sub-layer. Each sub-layer corresponds to a conceptual > > I wonder if we should: s/runs on top/can run on 'top'/ > After all, it is a capability, which not necessarily is used, right? [EB] Right, replaced to "MAY possibly run on top". >- for efmCuPAFDiscoveryCode you speak about a "6 Byte code" > If this is common 802.3 terminology, then I guess it is OK. > I know that some people in the IETF prefer to use 'octet' instead > of 'byte'. [EB] Corrected to "octets". >- This table > efmCuPmeStatusTable OBJECT-TYPE > SYNTAX SEQUENCE OF EfmCuPmeStatusEntry > MAX-ACCESS not-accessible > STATUS current > DESCRIPTION > "This table provides common status information of EFMCu > 2BASE-TL/10PASS-TS PME ports. Status information specific > to 10PASS-TS PME is represented in efmCuPme10PStatusTable. > > This table contains live data from the equipment. As such, > it is NOT persistent." > ::=3D { efmCuPme 3 } > > Is cmposed of just read-only objects. So the last sentence of the > DESCRIPTION clause is not needed. In general people expect (I think) > writable objects when they see such a ststament. [EB] You are right. However when one is looking at the description clause of a 'not-accessible' table, the only way to determine if it is composed of read-only objects is to check the Max access value of each and every object in the table. I believe that the 'NOT persistent' sentence helps reader to understand the nature of a table quicker, so I would leave it as is. >- For efmCuPme2BProfileDescr I think I would change the uppercase MAY > to a lowercase may. > Same for efmCuPme10PProfileDescr. > There may be other places. Pls check RFC2119 to understand how/when > capilaized terms are needed. They are for COMPLIANCE, the two > objects above have no special compliance requirments for content > except for adhering to the SYNTAX, right? [EB] right, changed to lowercase 'may', Also changed in efmCuPme2BsModeDescr. >TYPOs: >- typo in table 1: > | ifIndex | Interface index. Note that each PME and each PCS | > | | in the EFMCu PHY MUST have a unique index, as | > | | there some PCS and PME specific attributes | > | | accessible only on the PCS or PME level. | >=20 > s/there some/there are some/ I think [EB] Corrected. >- 3rd para of sect 4.3: > A specific configuration or administrative profile is assigned to a > specific PME via efmCuPmeAdminProfile object. If > efmCuPmeAdminProfile is zero, then efmCuAdminProfile object of the > PCS port, connected to the PME, determines the configuration profile > (or a list of possible profiles) for that PME. This mechanism = allows > to specify a common profile(s) for all PMEs connected to the PCS > port, with an ability to change individual PME profiles by setting > efmCuPmeAdminProfile object, which overwrites profile set by > efmCuAdminProfile. > > s/overwrites profile set by/overwrites the profile set by/ > I think. [EB] Corrected.=20 > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com] > Sent: Wednesday, October 18, 2006 5:45 PM > To: Hubmib Mailing List (E-mail) > Subject: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > My WG LC review comments are here. > For the EFM-U-MIB itself I will do a separate posting to the list. >=20 > - Abstract 3rd line >=20 > This document proposes an extension to the Ethernet-like=20 > Interfaces >=20 > By the time we get published as RFC, we no longer "propose". > So how about: >=20 > This document describes extensions to the Ethernet-like > Interfaces [EB] Corrected. > - Page 7, a nit: > // pottentially be connected to the PCS > s/pottentially/potentially/ > // for PCS[i] and there room for another PME in the > s/there room/there is room/ ?? [EB] Corrected =20 > - A nit/typo on page 10: > | ifIndex | Interface index. Note that each PME and=20 > each PCS | > | | in the EFMCu PHY MUST have a unique=20 > index, as | > | | there some PCS and PME specific=20 > attributes | > | | accessible only on the PCS or PME level.=20 > | >=20 > s/as there some/as there are some/ ?? [EB] Corrected > - a type in 2nd para in sect 4.2 >=20 > The PME profiles are defined in efmCuPme2BProfileTable and > efmCu10PProfileTable for 2BASE-TL and 10PASS-TS PMEs respectively. >=20 > I think: s/efmCu10PProfileTable/efmCuPme10PProfileTable/ > So insert "Pme" [EB] Corrected. > - SMICng IF-CAP-STACK-MIB tells me: >=20 > W: f(IF-CAP-STACK-MIB.mi2), (195,17) Row "ifInvCapStackEntry" > does not have a consistent indexing scheme - index items must > be in same order as used in INDEX clause for "base row" > ifStackEntry >=20 > The above is OK, it is an INVERTED table. > So we can ignore the warning. >=20 > E: f(IF-CAP-STACK-MIB.mi2), (291,13) Item "ifInvStackGroup" > should be IMPORTed >=20 > I think that error should be fixed and we shoul dimport that group. [EB] Already done. =20 > - SMICNg EFM-CU-MIB tells me: >=20 > W: f(EFM-CU-MIB.mi2), (300,21) Item "efmCuPAFDiscoveryCode" should > have SIZE specified >=20 > Do we know a reasonable size for this? In the pseudo code on=20 > pages 7/8 > it speaks about a 6-byte (octet) code. And so does the DESCRIPTION > clause. Is it always fixed to 6 octets? > Now and in future? If so, I would suggest to use >=20 > SYNTAX PhysAddress (SIZE(6)) >=20 > W: f(EFM-CU-MIB.mi2), (1178,21) Item "efmCuPAFRemoteDiscoveryCode" > should have SIZE specified >=20 > Same story for the above. [EB] Already done. > W: f(EFM-CU-MIB.mi2), (2925,23) For "efmCuPmeSubTypesSupported", > syntax is identical >=20 > This is probably OK, although it looks a bit weird: > OBJECT efmCuPmeSubTypesSupported > SYNTAX BITS { > ieee2BaseTLO(0), > ieee2BaseTLR(1), > ieee10PassTSO(2), > ieee10PassTSR(3) > } > DESCRIPTION > "Support for all subtypes is not required.=20 > However at least > one value SHALL be supported" [EB] Left as is. > - W.r.t. the SYNTAX of objects ifCapStackStatus and=20 > ifInvCapStackStatus > I think it would be much better to use a SYNTAX of TruthValue. > See my separate posting on this topic to the HubMIB WG list. [EB] Agreed to use TruthValue. Added a note that the value of false (theoreticallypossible but temporary out of service), should not be confused with a non-existent row (absolutely impossible). > - I believe that instead of >=20 > ifCapStackConformance OBJECT IDENTIFIER > ::=3D { ifCapStackObjects 3 } >=20 > It would be better to adhere to the strcuture suggested by > RFC4181 page 38 > and so use instead: >=20 > ifCapStackConformance OBJECT IDENTIFIER ::=3D { ifCapStackMIB 2 = } [EB] Agreed, restructured according to RFC4181, Appendix D: Suggested = OID Layout > - In the Security Considerations section I see capitalized MAY > which I think is not what RFC2119 intended. Unless you can=20 > explain to me why this capilaized MAY makes sense, I would > prefer if we change it to just lowercase "may" for all > occurences in the Security Considerations section. [EB] All capitalized MAY in the "Security Considerations" section are changed to lowercase "may" > - 2nd para on page 83 (a NIT): > Even if the network itself is secure (for example by using IPSec), > pls change "IPSec" into "IPsec", that is a lower case "s". > The current MIB security template has it fixed. I know that the > Security ADs want/prefer the proper spelling. [EB] Done. > - IANA Considerations. > Since you state that some values SHALL be defined in the > IANA-MAU-MIB, I think that you make rfc3636bis a normative > reference, while it is now listed under informative. And by making > that document normative, you/we automagically make sure that this > efmCuMIB will not get published before 3636bis. >=20 > You must also request/ask (in IANA COnsiderations section) that=20 > IANA assigns two new OID branches for >=20 > ifCapStackMIB ::=3D { mib-2 ZZZ } >=20 > efmCuMIB ::=3D { mib-2 YYY } [EB] Corrected > - If/wehen we do a revision, we must adhere to new boilerplate. > That means we must change all occurences of: >=20 > Copyright (C) The Internet Society (2006). >=20 > into >=20 > Copyright (C) The IETF Trust (2006). >=20 > If you are using xml2rfc, thsi can be achieved with: >=20 > ipr=3D"full3978update" >=20 > You can/could not yet know this. I know that this starts on Nov 1st > (because I was asked to update the IDChecklist.html. [EB] Corrected [EB] Additional changes: - Replaced Dan Romascanu with Bert Wijnen as the WG chair - Fixed a typo in the compliance statement for efmCuPmeAdminSubType: ieee2BaseTSR -> ieee10PassTSO -------------------------------------------------------------------------= --------- The following email exchange is provided here for historical purposes =20 > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@lucent.com]=20 > Sent: Wednesday, October 18, 2006 17:45 > To: Edward Beili > Cc: csikes@zhone.com; Keith McCloghrie; hubmib@ietf.org > Subject: RE: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > Having looked at the MIB itself now, it seems to me that the object > ifCapStackStatus OBJECT-TYPE > SYNTAX RowStatus > would be much better represented by=20 > ifCapStackPossible OBJECT-TYPE > SYNTAX TruthValue > where 'true' means it CAN be stacked this way and 'false'=20 > means it cannot. That way you re-use an existing TC, and you=20 > can exactly represent what you need, no? >=20 > Same for ifInvCapStackStatus >=20 > Bert > > -----Original Message----- > > From: Keith McCloghrie [mailto:kzm@cisco.com] > > Sent: Wednesday, October 18, 2006 16:41 > > To: EdwardB@actelis.com > > Cc: csikes@zhone.com; bwijnen@lucent.com; kzm@cisco.com;=20 > > hubmib@ietf.org > > Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt > >=20 > >=20 > > > The reason I changed the syntax of ifCapStackStatus and=20 > > > ifInvCapStackStatus objects from a new enum to the=20 > RowStatus was to=20 > > > emphasize the similarity between the > > ifCapStackTable/ifInvCapStackTable > > > and ifStackTable/ifInvStackTable as well as to try to reuse > > an existing > > > textual convention instead of inventing yet another enum. > > =20 > > The motivation is good but it's only valid if the semantics match. > >=20 > > > I don't think making the=20 > ifCapStackStatus/ifInvCapStackStatus to be=20 > > > read-only is illegal or problematic - the ifInvStackStatus > > object from > > > IF-INV-STACK-MIB with a RowStatus syntax is read-only as well. > > =20 > > The ifInvStackTable table has exactly the same structure=20 > and content,=20 > > and exactly the same number of rows as the ifStackTable. > > Semantically, > > ifInvStackStatus *could* be read-create, but if it were, a=20 > SetRequest=20 > > to ifStackStatus and a SetRequest to ifInvStackStatus would have=20 > > exactly the same result, i.e., to make it read-create would be=20 > > redundant because it would provide two means of achieving the same=20 > > behaviour. So, making it read-only is a simplification. > >=20 > > > I would also argue that overloading of NotInService value > > is ok - this > > > value is defined as: > > > "- 'NotInService', which indicates that the conceptual row > > exists in the > > > agent, but is unavailable for use by the managed device". > >=20 > > 'notInService' is "unavailable for use by the managed=20 > device" because=20 > > it normally requires an SNMP operation on a RowStatus=20 > object to make=20 > > it available. Normally, the necessary operation is on the same=20 > > RowStatus object but in the case of ifInvStackStatus (see above=20 > > comment on simplification), the operation needs to be on=20 > > ifStackStatus. In contrast, > >=20 > > notInService(2) - the sub-layer interfaces cannot be > > connected temporarily due to > > unavailability of the interface(s), > >=20 > > The semantics are different here. It is not an SNMP operation on a=20 > > RowStatus object which prevents this row from being=20 > "available for use=20 > > by the managed device". > >=20 > > > Since these tables are static (read-only) there is no question of=20 > > > resource consumption - these rows are never deleted and > > thus can stay in > > > NotInService state indefinitely. RFC2579 states that "It is the=20 > > > responsibility of the DESCRIPTION clause of the status column to=20 > > > indicate what an abnormally long period of time would be." > > I can add a > > > sentence in the DESCRIPTION clause saying that an=20 > > > ifCapStackStatus/ifInvCapStackStatus may be in the > > NotInService state > > > indefinitely, formally complying with RFC2579. > > =20 > > ifInvStackStatus *could* semantically be read-create, but=20 > is read-only=20 > > so as to remove redundancy. In contrast, it is the semantics of=20 > > ifCapStackStatus and ifInvCapStackStatus which prevent them=20 > from being=20 > > read-create. > >=20 > > Keith. > >=20 > > > However I'm not bent on staying with RowStatus - I'll move > > back to the > > > enum if the group feels it is best. > > >=20 > > > Regards, > > > -E. > > >=20 > > > _____ > > >=20 > > > > From: Clay Sikes [mailto:csikes@paradyne.com] > > > > Sent: Tuesday, October 17, 2006 23:11 > > > > To: bwijnen@lucent.com > > > > Cc: hubmib@ietf.org > > > > Subject: Re: [Hubmib] WGLC for:=20 > > draft-ietf-hubmib-efm-cu-mib-06.txt > > >=20 > > >=20 > > > > Hi, > > >=20 > > > > I have run into an issue with the ifCapStackStatus and > > > ifInvCapStackStatus objects. Although the ifCapStackMIB > > passes smilint, > > > I have seen compilation issues with these objects. It > > seems that the > > > root cause is the combination RowStatus syntax and the read-only=20 > > > max-access (A RowStatus that is read-only seems a bit > > strange to me). =20 > > > The compiler does not generate all the code that is > > required. Although > > > there may or may not be an issue with the compiler, I would > > beg that the > > > objects be changed from a RowStatus syntax to a enumeration > > like what > > > was in the -05 version of the ID. This may resolve Keith's > > issue as > > > well. > > >=20 > > > > Thoughts? > > >=20 > > > > Thanks, > > > > Clay > > >=20 > > > > On 10/17/2006 12:09 PM, Keith McCloghrie wrote: > > >=20 > > > > > > This is a formal WG Last Call for > > > > > > =20 > http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-m ib-06.txt > > > > =20 >=20 > > >=20 > > > ifCapStackStatus OBJECT-TYPE > > > SYNTAX RowStatus > > > MAX-ACCESS read-only > > > STATUS current > > > DESCRIPTION > > > "The status of the 'cross-connect capability' = relationship > > > between two sub-layers. The following values can be = returned: > > > active(1) - indicates that the sub-layer = interface, > > > identified by the ifStackLowerLayer = MAY > > > be connected to run 'below' the = sub-layer > > > interface, identified by the > > > ifStackHigherLayer index. > > > notInService(2) - the sub-layer interfaces cannot be > > > connected temporarily due to > > > unavailability of the interface(s), = e.g. > > > one of the interfaces is located on = a > > > pluggable module which is absent. > >=20 > > > I suggest this is an ill-advised overloading of 'notInService'. > > > RFC 2579 says: > >=20 > > > If the management station is prevented from setting = the > > > status column to `active' (e.g., due to management = station > > > or network failure) the conceptual row will be left in = the > > > `notInService' or `notReady' state, consuming = resources > > > indefinitely. The agent must detect conceptual rows = that > > > have been in either state for an abnormally long = period of > > > time and remove them. It is the responsibility of the > > > DESCRIPTION clause of the status column to indicate = what an > > > abnormally long period of time would be. This period = of > > > time should be long enough to allow for human response = time > > > (including `think time') between the creation of the > > > conceptual row and the setting of the status to = `active'. > > > In the absence of such information in the DESCRIPTION > > > clause, it is suggested that this period be = approximately 5 > > > minutes in length. This removal action applies not = only to > > > newly-created rows, but also to previously active rows = which > > > are set to, and left in, the notInService state for a > > > prolonged period exceeding that which is considered = normal > > > for such a conceptual row. > >=20 > > > In other words, the 'notInService' of RowStatus is for a temporary = > > > delay in a management station setting it to `active'. The = "temporary" > > > situation of a "pluggable module which is absent" is liable to be=20 > > > much longer than the 5 minutes before the agent is required to=20 > > > delete the row. > >=20 > > > Keith. ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-07.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9ImRlc2Ny aXB0aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzIE1JQiI+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iTmV0d29y ayBNYW5hZ2VtZW50LCBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sLCBTTk1QLCBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UsIE1JQiwgVGV4dHVhbCBDb252ZW50aW9ucyI+DQo8 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzIgKGh0dHA6Ly94bWwu cmVzb3VyY2Uub3JnLykiPg0KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tDQogICAgICAgIGJv ZHkgew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNt YWxsOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCiAgICAgICAgICAgICAg ICBtYXJnaW46IDJlbTsNCiAgICAgICAgfQ0KICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2 IHsNCiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBT YW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWln aHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgfQ0KICAgICAgICBoMSB7IGNv bG9yOiAjOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgdGV4dC1hbGlnbjogcmln aHQ7IH0NCiAgICAgICAgaDMgeyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0NCg0KICAgICAgICB0ZC5SRkNidWcgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6 ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgICAgIHdpZHRo OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7DQogICAgICAgICAgICAgICAg dGV4dC1hbGlnbjoganVzdGlmeTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICAgICAgICAg ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlJGQ2J1 ZyBzcGFuLlJGQyB7DQogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNv YWwsIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNjY2Ow0KICAg ICAgICB9DQogICAgICAgIHRkLlJGQ2J1ZyBzcGFuLmhvdFRleHQgew0KICAgICAgICAgICAgICAg IGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwg aGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgICAgIGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7DQogICAgICAgIH0N Cg0KICAgICAgICB0YWJsZS5UT0NidWcgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OyB9DQog ICAgICAgIHRkLlRPQ2J1ZyB7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB3 aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyBi YWNrZ3JvdW5kLWNvbG9yOiAjOTAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlRPQ2J1ZyBhIHsN CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAi TVMgU2FucyBTZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBm b250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiB4LXNtYWxsOyB0ZXh0LWRlY29yYXRpb246IG5v bmU7DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgdGQuaGVhZGVyIHsNCiAgICAgICAgICAgICAg ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiB4 LXNtYWxsOw0KICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAzMyU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7DQog ICAgICAgIH0NCiAgICAgICAgdGQuYXV0aG9yIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6 ZTogeC1zbWFsbDsgbWFyZ2luLWxlZnQ6IDRlbTsgfQ0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7 IGZvbnQtc2l6ZTogeC1zbWFsbDsgfQ0KDQogICAgICAgIC8qIGluZm8gY29kZSBmcm9tIFNhbnRh S2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20vdG9vbHRpcDIuaHRtbCAqLw0K ICAgICAgICBhLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIGtleS4gKi8N CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICAgICAgei1p bmRleDogMjQ7DQogICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg ICB9DQogICAgICAgIGEuaW5mbzpob3ZlciB7DQogICAgICAgICAgICAgICAgei1pbmRleDogMjU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7DQog ICAgICAgIH0NCiAgICAgICAgYS5pbmZvIHNwYW4geyBkaXNwbGF5OiBub25lOyB9DQogICAgICAg IGEuaW5mbzpob3ZlciBzcGFuLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdp bGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZS4gKi8NCiAgICAgICAgICAgICAgICBkaXNw bGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAg ICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyOw0KICAgICAgICAgICAgICAgIHRvcDogMmVtOyBs ZWZ0OiAtNWVtOyB3aWR0aDogMTVlbTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IGJv cmRlcjogMXB4IHNvbGlkICMzMzM7DQogICAgICAgICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tn cm91bmQtY29sb3I6ICNFRUU7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAg ICAgICAgfQ0KDQogICAgICAgIGEgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICBhOmxp bmsgICAgeyBjb2xvcjogIzkwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAg ICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyB9DQogICAgICAgIGE6YWN0aXZlICB7IGNvbG9yOiAjNjMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgfQ0KDQogICAgICAgIHAgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4t cmlnaHQ6IDJlbTsgfQ0KICAgICAgICBwLmNvcHlyaWdodCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQ0KICAgICAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyBt YXJnaW4tbGVmdDogM2VtOyB9DQogICAgICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAwIDAgM2Vt OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfQ0KICAg ICAgICB0ZC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250LXdlaWdodDogYm9sZDsgdmVydGlj YWwtYWxpZ246IHRleHQtdG9wOyB9DQoNCiAgICAgICAgb2wudGV4dCB7IG1hcmdpbi1sZWZ0OiAy ZW07IG1hcmdpbi1yaWdodDogMmVtOyB9DQogICAgICAgIHVsLnRleHQgeyBtYXJnaW4tbGVmdDog MmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQ0KICAgICAgICBsaSAgICAgIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgfQ0KDQogICAgICAgIC8qIFJGQy0yNjI5IDxzcGFueD5zIGFuZCA8YXJ0d29yaz5zLiAq Lw0KICAgICAgICBlbSAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0NCiAgICAgICAgc3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgZGZuICAgIHsgZm9udC13ZWlnaHQ6IGJv bGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQ0KICAgICAgICBjaXRlICAgeyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0NCiAgICAgICAgdHQgICAgIHsgY29sb3I6ICMw MzY7IH0NCiAgICAgICAgdHQsIHByZSwgcHJlIGRmbiwgcHJlIGVtLCBwcmUgY2l0ZSwgcHJlIHNw YW4gew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAgIH0NCiAgICAgICAgcHJlIHsN CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA0cHg7DQogICAgICAg ICAgICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7DQogICAgICAgIH0N CiAgICAgICAgcHJlIGRmbiAgeyBjb2xvcjogIzkwMDsgfQ0KICAgICAgICBwcmUgZW0gICB7IGNv bG9yOiAjNjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9 DQogICAgICAgIHByZSAua2V5IHsgY29sb3I6ICMzM0M7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQog ICAgICAgIHByZSAuaWQgIHsgY29sb3I6ICM5MDA7IH0NCiAgICAgICAgcHJlIC5zdHIgeyBjb2xv cjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQ0KICAgICAgICBwcmUgLnZhbCB7IGNv bG9yOiAjMDY2OyB9DQogICAgICAgIHByZSAucmVwIHsgY29sb3I6ICM5MDk7IH0NCiAgICAgICAg cHJlIC5vdGggeyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQ0KICAgICAg ICBwcmUgLmVyciB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M7IH0NCg0KICAgICAgICAvKiBSRkMt MjYyOSA8dGV4dHRhYmxlPnMuICovDQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCwgdGFi bGUuaGVhZGVycywgdGFibGUubm9uZSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFs bDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItd2lkdGg6IDJweDsNCiAgICAgICAgICAgICAg ICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAg ICB9DQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCB7IGJvcmRlci1zdHlsZTogc29saWQ7 IGJvcmRlci1jb2xvcjogYmxhY2s7IH0NCiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9u ZSB7IGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAgICAgICB0aCB7DQogICAgICAgICAgICAgICAg Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlci1jb2xvcjogYmxhY2s7DQogICAgICAgICAgICAgICAg Ym9yZGVyLXdpZHRoOiAycHggMnB4IDNweCAycHg7DQogICAgICAgIH0NCiAgICAgICAgdGFibGUu YWxsIHRoLCB0YWJsZS5mdWxsIHRoIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfQ0KICAgICAgICB0 YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQ0K ICAgICAgICB0YWJsZS5ub25lIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAgICAgIHRh YmxlLmFsbCB0ZCB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVy LWNvbG9yOiAjMzMzOw0KICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweDsNCiAg ICAgICAgfQ0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5u b25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQoNCiAgICAgICAgaHIgeyBoZWlnaHQ6IDFw eDsgfQ0KICAgICAgICBoci5pbnNlcnQgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7IGJv cmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOw0KICAgICAgICAgICAgICAgIGNvbG9y OiAjQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KICAgICAgICB9DQotLT48L3N0eWxlPg0K PC9oZWFkPg0KPGJvZHk+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iNjYlIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9 IjEiPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3RkPjx0 ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl ciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BY3RlbGlzIE5ldHdvcmtz PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlbmRlZCBzdGF0dXM6IFN0YW5k YXJkcyBUcmFjazwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5IDE4LCAyMDA3PC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgMjIsIDIwMDc8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGgxPjxiciAvPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50 eHQ8L2gxPg0KDQo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+DQo8cD4NCkJ5IHN1Ym1pdHRp bmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwNCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkg YXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaA0KaGUgb3Igc2hl IGlzIGF3YXJlIGhhdmUgYmVlbiBvciB3aWxsIGJlIGRpc2Nsb3NlZCwNCmFuZCBhbnkgb2Ygd2hp Y2ggaGUgb3Igc2hlIGJlY29tZXMgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsDQppbiBhY2NvcmRh bmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPg0KPHA+DQpJbnRlcm5l dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu Zw0KVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4N Ck5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3Vt ZW50cyBhcw0KSW50ZXJuZXQtRHJhZnRzLjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBk cmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQphbmQgbWF5 IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0 IGFueSB0aW1lLg0KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFz IHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlDQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVv O3dvcmsgaW4gcHJvZ3Jlc3MuJnJkcXVvOzwvcD4NCjxwPg0KVGhlIGxpc3Qgb2YgY3VycmVudCBJ bnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8vd3d3Lmll dGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8x aWQtYWJzdHJhY3RzLnR4dDwvYT4uPC9wPg0KPHA+DQpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFm dCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8v d3d3LmlldGYub3JnL3NoYWRvdy5odG1sJz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s PC9hPi48L3A+DQo8cD4NClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0 IDIyLCAyMDA3LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmln aHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+ DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24g QmFzZSAoTUlCKSBtb2R1bGVzIGZvcg0KICAgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHBy b3RvY29scyBpbiBUQ1AvSVAgYmFzZWQgaW50ZXJuZXRzLg0KICAgVGhpcyBkb2N1bWVudCBkZXNj cmliZXMgZXh0ZW5zaW9ucyB0byB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzDQogICBNSUIg YW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9iamVjdHMgZm9yIG1hbmFnaW5nDQog ICBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBpbnRlcmZhY2VzDQog ICAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLCBkZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAw NC4NCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMgZGVmaW5lZCwgZGVzY3JpYmlu ZyBjcm9zcy1jb25uZWN0DQogICBjYXBhYmlsaXR5IG9mIGEgbWFuYWdlZCBkZXZpY2Ugd2l0aCBt dWx0aS1sYXllciAoc3RhY2tlZCkgaW50ZXJmYWNlcywNCiAgIGV4dGVuZGluZyB0aGUgc3RhY2sg bWFuYWdlbWVudCBvYmplY3RzIGluIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQg0KICAgYW5kIHRo ZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gDQogIA0KPC9wPjxhIG5hbWU9InRv YyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNz PSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEuPC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJy IC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+Jm5ic3A7DQpUaGUgSW50ZXJuZXQtU3RhbmRh cmQgTWFuYWdlbWVudCBGcmFtZXdvcms8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4m bmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzPGJyIC8+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNCI+My4xLjwvYT4mbmJzcDsNClJlbGF0aW9uIHRv IEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjUiPjMuMS4xLjwvYT4m bmJzcDsNCkxheWVyaW5nIE1vZGVsPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOw0K UE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+My4xLjMuPC9h PiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjMuMS40LjwvYT4m bmJzcDsNCkVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUu PC9hPiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI2FuY2hvcjEwIj4zLjIuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wg TUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjExIj4zLjMuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPGJyIC8+DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7 DQpSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8YnIgLz4NCjxh IGhyZWY9IiNhbmNob3IxMyI+NC48L2E+Jm5ic3A7DQpNSUIgU3RydWN0dXJlPGJyIC8+DQombmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQiPjQuMS48L2E+Jm5ic3A7DQpF Rk0gQ29wcGVyIE1JQiBPdmVydmlldzxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEg aHJlZj0iI2FuY2hvcjE1Ij40LjIuPC9hPiZuYnNwOw0KSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxp dHkgTUlCIE92ZXJ2aWV3PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj YW5jaG9yMTYiPjQuMy48L2E+Jm5ic3A7DQpQTUUgUHJvZmlsZXM8YnIgLz4NCiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NC40LjwvYT4mbmJzcDsNCk1hcHBpbmcg b2YgSUVFRSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE4 Ij41LjwvYT4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmlsaXR5IE1JQiBEZWZpbml0aW9u czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE5Ij42LjwvYT4mbmJzcDsNCkVGTSBDb3BwZXIgTUlC IERlZmluaXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjAiPjcuPC9hPiZuYnNwOw0KU2Vj dXJpdHkgQ29uc2lkZXJhdGlvbnM8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5i c3A7DQpJQU5BIENvbnNpZGVyYXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjIiPjkuPC9h PiZuYnNwOw0KQWNrbm93bGVkZ21lbnRzPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjMiPjEwLjwv YT4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8YnIgLz4NCjxhIGhyZWY9IiNyZmMucmVmZXJl bmNlczEiPjExLjwvYT4mbmJzcDsNClJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjExLjEuPC9hPiZuYnNwOw0KTm9ybWF0 aXZlIFJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNy ZmMucmVmZXJlbmNlczIiPjExLjIuPC9hPiZuYnNwOw0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlczxi ciAvPg0KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7DQpBdXRob3IncyBB ZGRyZXNzPGJyIC8+DQo8YSBocmVmPSIjcmZjLmNvcHlyaWdodCI+JiMxNjc7PC9hPiZuYnNwOw0K SW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxiciAvPg0KPC9w Pg0KPGJyIGNsZWFyPSJhbGwiIC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsNCkludHJvZHVjdGlvbjwvaDM+DQoN CjxwPg0KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVmaW5lZCBp biB0aGUNCiAgIEluc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljcyBFbmdpbmVl cnMgKElFRUUpIFN0YW5kYXJkDQogICA4MDIuM2FoLTIwMDQgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SUVF RSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAg ICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBz eXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAg ICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNl bnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAg ICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJl ciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bh bj4pPC9zcGFuPjwvYT4sDQogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVG TSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlDQogICBiYXNlIElFRUUgU3RhbmRhcmQgODAy LjMtMjAwNSA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zJz5bODAyLjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZv cm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9y bWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAg ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uDQogICBJbiBwYXJ0aWN1bGFyIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAoUEhZcyksDQogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlDQogICBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcgYW5k IHNob3J0IHJlYWNoIHJlc3BlY3RpdmVseS4NCiAgIFRoZXNlIGludGVyZmFjZXMsIGNvbGxlY3Rp dmVseSBjYWxsZWQgRUZNIENvcHBlciAoRUZNQ3UpLCBhcmUgYmFzZWQgb24NCiAgIFNpbmdsZS1w YWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKQ0KICAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNHLjk5MS4yJz5bRy45OTEuMl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+SVRVLVQsICZsZHF1bztTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdp dGFsIFN1YnNjcmliZXINCiAgIExpbmUgKFZEU0wpIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjRy45 OTMuMSc+W0cuOTkzLjFdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklUVS1ULCAm bGRxdW87VmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVy cywmcmRxdW87IEp1bmUmbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGVjaG5v bG9neSwgc3VwcG9ydGluZyANCiAgIG9wdGlvbmFsIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkgKFBN RSkgYWdncmVnYXRpb24NCiAgIChhLmsuYS4gbXVsdGktcGFpciBib25kaW5nKSB3aXRoIHZhcmlh YmxlIHJhdGVzLg0KICANCjwvcD4NCjxwPg0KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUgb2Yg cHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzDQogICBvdmVyIDI3MDAgbSBsb25nIHNpbmdsZSBjb3Bw ZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKQ0KICAgb2YgMTBeLTcgKHVz aW5nIDVkQiB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIDEwUEFTUy1U UyBQSFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXINCiAgIDc1 MCBtIGxvbmcgc2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNp bmcgNmRCDQogICB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIFRoaXMg bWVtbyBkZWZpbmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBm b3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gdGhlIEludGVy bmV0IA0KICAgY29tbXVuaXR5IHRvIG1hbmFnZSBFRk1DdSBpbnRlcmZhY2VzLg0KICAgSW4gYWRk aXRpb24gYSBNSUIgbW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UuDQogIA0KPC9wPg0KPHA+DQogICBO b3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24sIEFkbWluaXN0cmF0aW9uIGFu ZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwg TmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAyLjNhaCBhcmUgZGVmaW5lZCBp biBFRk0tQ09NTU9OLU1JQg0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJt aWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7 bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87 RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3IgT0FNIEZ1bmN0aW9ucyAgICAgICAg ICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgRUZNLUVQT04tTUlCDQogICA8YSBjbGFz cz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWInPltJJiM4MjA5O0Qu aWV0ZiYjODIwOTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O2Vwb24mIzgyMDk7bWliXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5LaGVybW9zaCwgTC4sICZsZHF1bztNYW5hZ2VkIE9i amVjdHMgb2YgRVBPTiwmcmRxdW87IE5vdmVtYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+IHJlc3BlY3RpdmVseS4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyIj48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7DQpUaGUgSW50ZXJu ZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcms8L2gzPg0KDQo8cD4NCiAgIEZvciBhIGRl dGFpbGVkIG92ZXJ2aWV3IG9mIHRoZSBkb2N1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgY3VycmVu dA0KICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZl ciB0bw0KICAgc2VjdGlvbiA3IG9mIFJGQyAzNDEwIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD MzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yaywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTWFuYWdlZCBvYmplY3RzIGFyZSBh Y2Nlc3NlZCB2aWEgYSB2aXJ0dWFsIGluZm9ybWF0aW9uIHN0b3JlLA0KICAgdGVybWVkIHRoZSBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlDQogICBn ZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQ cm90b2NvbA0KICAgKFNOTVApLiAgT2JqZWN0cyBpbiB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5n IHRoZSBtZWNoYW5pc21zDQogICBkZWZpbmVkIGluIHRoZSBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVu dCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMNCiAgIG1lbW8gc3BlY2lmaWVzIE1JQiBtb2R1bGVz IHRoYXQgYXJlIGNvbXBsaWFudCB0byB0aGUgU01JdjIsIHdoaWNoDQogICBpcyBkZXNjcmliZWQg aW4gU1REIDU4LCBSRkMgMjU3OCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzI1NzgnPltSRkMy NTc4XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5NY0Nsb2docmllLCBLLiwgUGVy a2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJv c2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50 IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwv c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sDQogICBTVEQgNTgsIFJGQyAyNTc5IDxhIGNsYXNzPSdp bmZvJyBocmVmPScjUkZDMjU3OSc+W1JGQzI1NzldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 J2luZm8nPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENh c2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRx dW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTku PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBSRkMNCiAgIDI1ODAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNSRkMyNTgwJz5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2Fl bGRlciwgJmxkcXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXBy aWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQog ICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwg IlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAi TUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVy cHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOQ0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJh ZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJl cXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNoJm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+Lg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBt b2R1bGVzPC9oMz4NCg0KPHA+DQogIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25z aGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogIHRoaXMgZG9jdW1lbnQgd2l0aCBv dGhlciBNSUIgbW9kdWxlcw0KICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuIFNwZWNp ZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUINCiAgKElGLU1JQiksIEV0aGVybmV0LUxpa2Ug KEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTA0KICAoSERTTDItU0hEU0wtTElO RS1NSUIpIGFuZCBWRFNMIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuDQog DQo8L3A+DQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEiPjwvYT48aDM+My4xLiZuYnNwOw0KUmVsYXRpb24gdG8gSW50ZXJmYWNlcyBHcm91cCBNSUIg bW9kdWxlPC9oMz4NCg0KPHA+DQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBIWSdzIHNwZWNp ZmllZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJlIHN0YWNrZWQNCiAgIChhLmsuYS4gYWdn cmVnYXRlZCBvciBib25kZWQpIEV0aGVybmV0IGludGVyZmFjZXMgYW5kIGFzIHN1Y2ggYXJlIG1h bmFnZWQNCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQ0KICAgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JG QzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsg SnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBpLmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBz dWItbGF5ZXJzIHRvDQogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhl IGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiANCiAgIHRoZSBJRi1NSUIgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJm YWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bh bj48L2E+IGFuZCBpdHMgaW52ZXJzZQ0KICAgaWZJbnZTdGFja1RhYmxlLCBhcyBkZWZpbmVkIGlu IHRoZSBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD Mjg2NCc+W1JGQzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hy aWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0 ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAw Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQogICBUaGUgbmV3IHRh YmxlcyBpZkNhcFN0YWNrVGFibGUgYW5kIGl0cyBpbnZlcnNlDQogICBpZkludkNhcFN0YWNrVGFi bGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUNCiAgIGJlbG93LCBleHRl bmQgdGhlIHN0YWNrIG1hbmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlDQogICBw b3NzaWJsZSBjb25uZWN0aW9ucyBvciBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBm bGV4aWJsZQ0KICAgY3Jvc3MtY29ubmVjdCBtYXRyaXggaXMgcHJlc2VudCBiZXR3ZWVuIHRoZSBp bnRlcmZhY2UgbGF5ZXJzLg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjMuMS4xIj48L2E+PGgzPjMuMS4xLiZuYnNwOw0KTGF5ZXJpbmcg TW9kZWw8L2gzPg0KDQo8cD4NCiAgICAgQW4gRUZNQ3UgaW50ZXJmYWNlIGNhbiBhZ2dyZWdhdGUg dXAgdG8gMzIgUGh5c2ljYWwgTWVkaXVtDQogICAgIEVudGl0eSAoUE1FKSBzdWItbGF5ZXIgZGV2 aWNlcyAobW9kZW1zKSwgdXNpbmcgc28NCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBBIGdlbmVyaWMgRUZNQ3UgZGV2aWNl IGNhbiBoYXZlIGEgbnVtYmVyIG9mIFBoeXNpY2FsIENvZGluZw0KICAgICBTdWJsYXllciAoUENT KSBwb3J0cywgZWFjaCBjb25uZWN0ZWQgdG8gYSBNQUMgdmlhIE1lZGl1bSBJbmRlcGVuZGVudA0K ICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVj dGVkIHRvIGENCiAgICAgbnVtYmVyIG9mIHVuZGVybHlpbmcgUE1Fcywgd2l0aCBhIHNpbmdsZSBQ Q1MgcGVyIFBNRSByZWxhdGlvbnNoaXAsDQogICAgIHNlZSBjbGF1c2UgNjEuMSBvZiA8YSBjbGFz cz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNo YW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJl YSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0 IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlv biAgICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVj aWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJh bWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIw MDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgbW9yZSBkZXRhaWxzLg0KICAgIA0KPC9w Pg0KPHA+DQogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVw cmVzZW50ZWQgaW4gdGhlDQogICAgIEludGVyZmFjZSB0YWJsZSAoaWZUYWJsZSkgYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2Ugd2l0aCBpZlR5cGUgb2YNCiAgICAgc2hkc2woMTY5KSBmb3IgMkJBU0Ut VEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gVGhlIGlmVHlwZQ0KICAgICB2YWx1ZXMgYXJl IGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJQU5BaWZUeXBlLU1JQic+W0lBTkFp ZlR5cGUmIzgyMDk7TUlCXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JbnRlcm5l dCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bztJQU5BaWZUeXBlIFRl eHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uLCZyZHF1bzsgLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4uDQogICAgDQo8L3A+DQo8cD4NCiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwg cmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlDQogICAgIG9mIHRoZSBhY3RpdmUgUE1FIChl LmcuIGZvciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZg0KICAgICA2NEticHMpLiBa ZXJvIHZhbHVlIFNIQUxMIGJlIHJldHVybmVkIHdoZW4gUE1FIGlzIGluaXRpYWxpemluZyBvciBk b3duLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQ0KICAgICByYXRlcyBvZiBhbGwgUE1F cyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgICBlbmNh cHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0 aGUNCiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4NCiAgICA8YnIgLz48aHIgY2xhc3M9Imlu c2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAxIj48L2E+DQoNCjxwPldoZW4gdXNpbmcgdGhlIHN0 YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZQ0KICAgICAgICAgICAgICAgIFBDUywg dGhlcmUgd291bGQgYmUgbm8gZnJhbWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRp b24NCiAgICAgICAgICAgICAgICAodGhlIHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5l cmF0ZSAxMDAlIG9mIGJhY2sNCiAgICAgICAgICAgICAgICB0byBiYWNrIHRyYWZmaWMsIGkuZS4g bWluaW1hbCBJRkcsIGF0IDEwIG9yIDEwME1icHMsDQogICAgICAgICAgICAgICAgd2l0aCBtaW4g YW5kIG1heCBmcmFtZSBzaXplczsNCiAgICAgICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMg YXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUgdGhlIHNob3duIHNwZWVkKToNCiAgICAgIA0KPC9w PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsg bWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KW3Rlc3RzZXRdLS0xMEJhc2VULS1bQ09dLS0yQmFz ZVRMLS1bQ1BFXS0tMTBCYXNlVC0tW3Rlc3RzZXRdDQogIGlmU3BlZWQ9ICAxME1icHMgICAgICAg ICAxME1icHMgICAgICAgICAxME1icHMNCg0KW3Rlc3RzZXRdLS0xMDBCYXNlVC0tW0NPXS0tMTBQ YXNzVFMtLVtDUEVdLS0xMDBCYXNlVC0tW3Rlc3RzZXRdDQogIGlmU3BlZWQ9ICAxMDBNYnBzICAg ICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMNCjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9 IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0 ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9 IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5v IGZyYW1lIGxvc3MmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBj bGFzcz0iaW5zZXJ0IiAvPg0KDQogICAgDQo8YnIgLz48aHIgY2xhc3M9Imluc2VydCIgLz4NCjxh IG5hbWU9IkZpZ3VyZSAyIj48L2E+DQoNCjxwPlRoZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRo ZSBsYXllcmluZyBkaWFncmFtIGFuZA0KICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRpbmcgdXNl IG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGU6DQo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFi bGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVmdDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+ DQogX19fX19fX19fX19fX19fX19fX19fX19fXyAgIF8NCnwgICAgICAgIExMQyAgICAgICAgICAg ICAgfCAgfA0KKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8IDEgaWZFbnRyeQ0KfCAgICAg ICAgTUFDICAgICAgICAgICAgICB8ICB8ICAgICBpZlR5cGU6IGV0aGVybmV0Q3NtYWNkKDYpDQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICZndDsgICBpZk1hdUVudHJ5DQp8ICAgICAgICBS ZWNvbnNpbGlhdGlvbiAgIHwgIHwgICAgIGlmTWF1VHlwZTogZG90M01hdVR5cGUyQmFzZVRMIG9y DQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgICAgICAgICAgICAgICAgZG90M01hdVR5 cGUxMFBhc3NUUw0KfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB8DQorLS0tLS0tLS0tLS0t LSstLS0rLS0tLS0tLSsgICsNCnwgVEMgXCAgICAgICAgfCAgIHwgICAgICAgfCAgfA0KKy0tLS0t XCAgICAgICB8ICAgfCAgICAgICB8ICB8DQp8IFBNQSAmZ3Q7IFBNRSAxIHwuLi58IFBNRSBOIHwg ICZndDsgTiBpZkVudHJ5ICAoTj0xLi4zMikNCistLS0tLS8gICAgICAgfCAgIHwgICAgICAgfCAg fCAgICAgaWZUeXBlOiBzaGRzbCgxNjkpIG9yIHZkc2woOTcpDQp8IFBNRC8gICAgICAgIHwgICB8 ICAgICAgIHwgIHwNCiAtLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0tICAgLQ0KPC9wcmU+PC9kaXY+ PHRhYmxlIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBhbGlnbj0i Y2VudGVyIj48dHI+PHRkIGFsaWduPSJjZW50ZXIiPjxmb250IGZhY2U9Im1vbmFjbywgTVMgU2Fu cyBTZXJpZiIgc2l6ZT0iMSI+PGI+Jm5ic3A7RmlndXJlJm5ic3A7MjogVXNlIG9mIGlmVGFibGUg YW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRzJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3Rk PjwvdHI+PC90YWJsZT48aHIgY2xhc3M9Imluc2VydCIgLz4NCg0KPHA+DQogICAgIFRoZSBpZlN0 YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhlIGFnZ3JlZ2F0 ZWQNCiAgICAgRUZNQ3UgcG9ydCAoUENTKSBhbmQgdGhlIFBNRXMgY29ubmVjdGVkIHRvIGl0LiBp ZlN0YWNrVGFibGUgYWxsb3dzIGENCiAgICAgTmV0d29yayBNYW5hZ2VtZW50IGFwcGxpY2F0aW9u IHRvIGRldGVybWluZSB3aGljaCBQTUVzIGFyZSBjb25uZWN0ZWQNCiAgICAgdG8gYSBwYXJ0aWN1 bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhlIA0KICAg ICBhcHBsaWNhdGlvbikuIFRoZSBpZkludlN0YWNrVGFibGUsIGJlaW5nIGFuIGludmVydGVkIHZl cnNpb24gb2YNCiAgICAgdGhlIGlmU3RhY2tUYWJsZSwgcHJvdmlkZXMgYW4gZWZmaWNpZW50IG1l YW5zIGZvciBhIE5ldHdvcmsNCiAgICAgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byByZWFkIGEg c3Vic2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kDQogICAgIHRoZXJlYnkgZGV0ZXJtaW5lIHdo aWNoIFBDUyBydW5zIG9uIHRvcCBvZiBhIHBhcnRpY3VsYXIgUE1FLg0KICAgIA0KPC9wPg0KPHA+ DQogICAgIEEgbmV3IHRhYmxlIGlmQ2FwU3RhY2tUYWJsZSBkZWZpbmVkIGluIHRoZSBJRi1DQVAt U1RBQ0stTUlCDQogICAgIG1vZHVsZSwgc3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBp bnRlcmZhY2UgKGUuZy4gUENTIHBvcnQpDQogICAgIGEgbGlzdCBvZiBsb3dlci1sYXllciBpbnRl cmZhY2VzIChlLmcuIFBNRXMpLCB3aGljaCBjYW4gcG9zc2libHkNCiAgICAgYmUgY3Jvc3MtY29u bmVjdGVkIHRvIHRoYXQgaGlnaGVyLWxheWVyIGludGVyZmFjZSwNCiAgICAgZGV0ZXJtaW5lZCBi eSB0aGUgY3Jvc3MtY29ubmVjdA0KICAgICBjYXBhYmlsaXR5IG9mIHRoZSBkZXZpY2UuIFRoaXMg dGFibGUsIG1vZGVsZWQgYWZ0ZXIgaWZTdGFja1RhYmxlLCBpcw0KICAgICByZWFkIG9ubHksIHJl ZmxlY3RpbmcgY3VycmVudCBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgYQ0KICAgICBzdGFj a2VkIGludGVyZmFjZSwgd2hpY2gNCiAgICAgY2FuIGJlIGR5bmFtaWMgaW4gc29tZSBpbXBsZW1l bnRhdGlvbnMgKGUuZy4gaWYgUE1FcyBhcmUgbG9jYXRlZA0KICAgICBvbiBhIHBsdWdnYWJsZSBt b2R1bGUgYW5kIHRoZSBtb2R1bGUgaXMgcHVsbGVkIG91dCkuDQogICAgIE5vdGUgdGhhdCBQTUUg YXZhaWxhYmlsaXR5IHBlciBQQ1MsIGRlc2NyaWJlZCBieQ0KICAgICBpZkNhcFN0YWNrVGFibGUs IGNhbiBiZSBjb25zdHJhaW5lZCBieSBvdGhlciBwYXJhbWV0ZXJzLA0KICAgICBmb3IgZXhhbXBs ZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZiBhIFBDUyBvciBieSB0aGUgUE1FIGluDQogICAg IHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29ubmVjdGVkIHRvIGFub3RoZXIgUENTLiBTbywgaW4N CiAgICAgb3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIFBNRSBjYW4gYmUgY29ubmVj dGVkIHRvIHRoZSBQQ1MsDQogICAgIGFsbCByZXNwZWN0aXZlIHBhcmFtZXRlcnMgKGUuZy4gaWZD YXBTdGFja1RhYmxlLA0KICAgICBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkpIFNI QUxMIGJlIGluc3BlY3RlZC4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUaGUgaWZJbnZDYXBTdGFj a1RhYmxlLCBhbHNvIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLA0KICAg ICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gUENTIHBvcnRz KSBjYW4gcG9zc2libHkNCiAgICAgYmUgY29ubmVjdGVkIHRvIGEgcGFydGljdWxhciBsb3dlci1s YXllciBpbnRlcmZhY2UgKGUuZy4gUE1FKSwNCiAgICAgcHJvdmlkaW5nIGludmVydGVkIG1hcHBp bmcgb2YgaWZDYXBTdGFja1RhYmxlLg0KICAgICBXaGlsZSBpdCBjb250YWlucyBubyBhZGRpdGlv bmFsIGluZm9ybWF0aW9uIGJleW9uZCB0aGF0IGFscmVhZHkNCiAgICAgY29udGFpbmVkIGluIHRo ZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZkludkNhcFN0YWNrVGFibGUgaGFzIHRoZQ0KICAgICBp ZkluZGV4IHZhbHVlcyBpbiBpdHMgSU5ERVggY2xhdXNlIGluIHRoZSByZXZlcnNlIG9yZGVyLCBp LmUuLCB0aGUNCiAgICAgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGZpcnN0LCBhbmQgdGhlIGhpZ2hl ci1sYXllciBpbnRlcmZhY2UNCiAgICAgc2Vjb25kLCBwcm92aWRpbmcgYW4gZWZmaWNpZW50IG1l YW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudA0KICAgICBhcHBsaWNhdGlvbiB0byByZWFkIGEg c3Vic2V0IG9mIHRoZSBpZkNhcFN0YWNrVGFibGUgYW5kIHRoZXJlYnkNCiAgICAgZGV0ZXJtaW5l IHdoaWNoIGludGVyZmFjZXMgY2FuIGJlIGNvbm5lY3RlZCB0byBydW4gb24gdG9wIG9mIGENCiAg ICAgcGFydGljdWxhciBpbnRlcmZhY2UuDQogICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3I2Ij48 L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEuMiI+PC9hPjxoMz4zLjEuMi4mbmJzcDsN ClBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKTwvaDM+DQoNCjxwPg0KICAgICBUaGUgUE1F IEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFsbG93cyBhIG51bWJlciBvZiBQTUVzIHRvIGJl DQogICAgIGFnZ3JlZ2F0ZWQgb250byBhIFBDUyBwb3J0LCBieSBmcmFnbWVudGluZyB0aGUgRXRo ZXJuZXQgZnJhbWVzLA0KICAgICB0cmFuc21pdHRpbmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRp cGxlIFBNRXMgYW5kIGFzc2VtYmxpbmcgdGhlDQogICAgIG9yaWdpbmFsIGZyYW1lcyBhdCB0aGUg cmVtb3RlIHBvcnQuIFBBRiBpcyBPUFRJT05BTCwgbWVhbmluZyB0aGF0IGENCiAgICAgZGV2aWNl IHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZyYWdtZW50YXRpb24gYW5kDQogICAgIHJl LWFzc2VtYmx5IGlmIHRoaXMgZnVuY3Rpb24gaXMgc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UuDQog ICAgIE5vdGUgaG93ZXZlciB0aGF0IHRoZSBhZ2VudCBpcyBSRVFVSVJFRCB0byByZXBvcnQgb24g dGhlDQogICAgIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9ydHMgKDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMpLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBFRk0tQ1UtTUlCIG1vZHVs ZSBhbGxvd3MgYSBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGljYXRpb24gdG8gcXVlcnkNCiAgICAg UEFGIGNhcGFiaWxpdHkgYW5kIGVuYWJsZS9kaXNhYmxlIGl0IGlmIHN1cHBvcnRlZC4gTm90ZSB0 aGF0DQogICAgIGVuYWJsaW5nIFBBRiBlZmZlY3RpdmVseSB0dXJucyBvbiBmcmFnbWVudGF0aW9u IGFuZCByZS1hc3NlbWJseSwNCiAgICAgZXZlbiBvbiBhIHNpbmdsZS1QTUUgcG9ydC4NCiAgICAN CjwvcD4NCjxhIG5hbWU9ImFuY2hvcjciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5 PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIg YWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNw O1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMu MS4zIj48L2E+PGgzPjMuMS4zLiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjwvaDM+DQoNCjxw Pg0KICAgICBUaGUgRUZNQ3UgcG9ydHMgbWF5IG9wdGlvbmFsbHkgc3VwcG9ydCBkaXNjb3Zlcnkg b3BlcmF0aW9uLA0KICAgICB3aGVyZWJ5IFBNRXMsIGR1cmluZyBpbml0aWFsaXphdGlvbiwgZXhj aGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgdGhlaXIgcmVzcGVjdGl2ZSBhZ2dyZWdhdGlv biBncm91cHMgKFBDUykuIFRoaXMgaW5mb3JtYXRpb24gY2FuDQogICAgIHRoZW4gYmUgdXNlZCB0 byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBhdXRvbWF0aWMNCiAgICAg YXNzaWdubWVudCBvZiB0aGUgbG9jYWwgUE1FcyBpbnRvIGFnZ3JlZ2F0aW9uIGdyb3VwcyBpbnN0 ZWFkIG9mDQogICAgIGEgZml4ZWQgcHJlLWNvbmZpZ3VyYXRpb24uDQogICAgDQo8L3A+DQo8cD4N CiAgICAgVGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4gdGhpcyBkb2N1bWVudCBhbGxvdyBhIE5l dHdvcmsNCiAgICAgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBjb250cm9sIEVGTSBEaXNjb3Zl cnkgbWVjaGFuaXNtIGFuZCBxdWVyeQ0KICAgICBpdHMgcmVzdWx0cy4gTm90ZSB0aGF0IHRoZSBE aXNjb3ZlcnkgbWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYNCiAgICAgUEFGIGlzIHN1cHBvcnRl ZCBhbmQgZW5hYmxlZC4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUd28gdGFibGVzIGFyZSB1c2Vk IGJ5IHRoZSBFRk0gRGlzY292ZXJ5IG1lY2hhbmlzbTogaWZTdGFja1RhYmxlIGFuZA0KICAgICBp ZkNhcFN0YWNrVGFibGUuIFRoZSBmb2xsb3dpbmcgcHNldWRvLWNvZGUgZ2l2ZXMNCiAgICAgYW4g ZXhhbXBsZSBvZiB0aGUgRGlzY292ZXJ5IGFuZCBhdXRvbWF0aWMgUE1FIGFzc2lnbm1lbnQgZm9y IGEgZ2VuZXJpYw0KICAgICBQQUYgZW5hYmxlZCBtdWx0aS1QQ1MgRUZNQ3UgZGV2aWNlLCBsb2Nh dGVkIGF0IENlbnRyYWwgT2ZmaWNlDQogICAgIChDTyksIHVzaW5nIG9iamVjdHMgZGVmaW5lZCBp biB0aGVzZSBNSUIgbW9kdWxlcyBhbmQgaW4gSUYtTUlCDQogICAgIFtOb3RlIHRoYXQgYXV0b21h dGljIFBNRSBhc3NpZ25tZW50IGlzIG9ubHkgc2hvd24gaGVyZSBmb3INCiAgICAgdGhlIHB1cnBv c2VzIG9mIHRoZSBleGFtcGxlLiBGaXhlZCBQTUUgcHJlLWFzc2lnbm1lbnQsIG1hbnVhbA0KICAg ICBhc3NpZ25tZW50IG9yIGF1dG8tYXNzaWdubWVudCB1c2luZyBhbiBhbHRlcm5hdGl2ZSBpbnRl cm5hbA0KICAgICBhbGdvcml0aG0gbWF5IGJlIGNob3NlbiBieSBhIHBhcnRpY3VsYXIgaW1wbGVt ZW50YXRpb25dOg0KICAgIA0KPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDog MDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KLy8gR28gb3Zl ciBhbGwgUENTIHBvcnRzIGluIHRoZSBDTyBkZXZpY2UNCkZPUkVBQ0ggcGNzW2ldIElOIENPX2Rl dmljZQ0KeyAvLyBQZXJmb3JtIGRpc2NvdmVyeSBhbmQgYXV0by1hc3NpZ25tZW50IG9ubHkgb24g UEFGIGVuYWJsZWQgcG9ydHMNCiAgLy8gd2l0aCByb29tIGZvciBtb3JlIFBNRXMNCiAgSUYgKCBw Y3NbaV0uUEFGU3VwcG9ydGVkIEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBh Y2l0eSApDQogICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFDW2ldOyAvLyB1bmlx dWUgNi1vY3RldHMgcGVyIFBDUw0KICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29ubmVjdGVkIFBN RXMsIHdoaWNoIGNhbg0KICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQ Q1MNCiAgICAgIEZPUkVBQ0ggcG1lW2pdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIEFORA0K ICAgICAgICAgICAgICAgICAgICAgTk9UIGlmSW52U3RhY2tUYWJsZVtwbWVbal1dICAvLyBub3Qg Y29ubmVjdGVkDQogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2Us IGJ5IHdyaXRpbmcgdGhlIHZhbHVlDQogICAgICAgICAgLy8gb2YgdGhlIGxvY2FsIDYtb2N0ZXQg ZGlzY292ZXJ5IGNvZGUgdG8gdGhlIHJlbW90ZQ0KICAgICAgICAgIC8vIGRpc2NvdmVyeSBjb2Rl IHJlZ2lzdGVyICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuDQogICAgICAgICAgLy8gVGhpcyBv cGVyYXRpb24gaXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAg ICAvLyB3b3VsZCBzdWNjZWVkIG9ubHkgaWYgdGhlIHJlbW90ZSBkaXNjb3ZlcnkgcmVnaXN0ZXIg d2FzDQogICAgICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJl Z2lzdGVyIHZpYSBHZXQNCiAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9k ZXZpY2UsIGF0dGFjaGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgLy8gaXMgaW5kZWVkIG1hcmtl ZCBhcyBiZWluZyB0aGUgQ09fZGV2aWNlIHBlZXIuDQogICAgICAgICAgcG1lW2pdLlJlbW90ZURp c2NvdmVyeUNvZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcg0KICAgICAgICAgIHIgPSBw bWVbal0uUmVtb3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICBJRiAo IHIgPT0gZGMgQU5EIHBjc1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5KQ0KICAg ICAgICAgICAgeyAvLyBSZW1vdGUgUlRfZGV2aWNlIGNvbm5lY3RlZCB2aWEgUE1FW2pdIGlzL3dh cyBhIHBlZXINCiAgICAgICAgICAgICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBm b3IgYW5vdGhlciBQTUUgaW4gdGhlDQogICAgICAgICAgICAgIC8vIFBDU1tpXSBhZ2dyZWdhdGlv biBncm91cCAobWF4LiBQQUYgY2FwYWNpdHkgaXMgbm90DQogICAgICAgICAgICAgIC8vIHJlYWNo ZWQgeWV0KS4NCiAgICAgICAgICAgICAgLy8gQ29ubmVjdCB0aGlzIFBNRSB0byB0aGUgUENTICh2 aWEgaWZTdGFja1RhYmxlLA0KICAgICAgICAgICAgICAvLyBpZkludlN0YWNrVGFibGUgYmVpbmcg aW52ZXJzZSBvZiBpZlN0YWNrVGFibGUgaXMNCiAgICAgICAgICAgICAgLy8gdXBkYXRlZCBhdXRv bWF0aWNhbGx5KQ0KICAgICAgICAgICAgICBBREQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3Nb aV1dOw0KICAgICAgICAgICAgICAgIC8vIHBjc1tpXSBpcyBhdXRvLWFkZGVkIHRvIGlmSW52U3Rh Y2tUYWJsZVtwbWVbal1dDQogICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51 bVBNRXMgKyAxOw0KICAgICAgICAgICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29ubmVj dGVkIFBNRXMsDQogICAgICAgICAgICAgIC8vIGF0dGFjaGVkIHRvIHRoZSBzYW1lIFJUX2Rldmlj ZSBhbmQgY29ubmVjdCB0aGVtIHRvDQogICAgICAgICAgICAgIC8vIHRoZSBQQ1MgcHJvdmlkZWQg dGhlcmUgaXMgZW5vdWdoIHJvb20gZm9yIG1vcmUgUE1Fcy4NCiAgICAgICAgICAgICAgRk9SRUFD SCBwbWVba10gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE5PVCBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0KICAgICAgICAgICAgICAg IHsgciA9IHBtZVtrXS5SZW1vdGVEaXNjb3ZlcnlDb2RlOyAvLyBHZXQNCiAgICAgICAgICAgICAg ICAgIElGICggciA9PSBkYyBBTkQNCiAgICAgICAgICAgICAgICAgICAgICAgcGNzW2ldLk51bVBN RXMgJmx0OyBwY3NbaV0uUEFGQ2FwYWNpdHkpDQogICAgICAgICAgICAgICAgICAgIHsgQUREIHBt ZVtrXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ldXTsNCiAgICAgICAgICAgICAgICAgICAgICAgIC8v IHBjc1tpXSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0KICAgICAgICAgICAg ICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOw0KICAgICAgICAg ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAg IC8vIEF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBkaXNjb3ZlcmVkIGFsbCBsb2NhbCBQTUVzIHdoaWNo DQogICAgICAgICAgLy8gYXJlIHBoeXNpY2FsbHkgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHJlbW90 ZSBSVF9kZXZpY2UNCiAgICAgICAgICAvLyBhbmQgY29ubmVjdGVkIHRoZW0gdG8gUENTW2ldLiBH byB0byB0aGUgbmV4dCBQQ1MuDQogICAgICAgICAgQlJFQUs7DQogICAgICAgIH0NCiAgICB9DQp9 DQo8L3ByZT48L2Rpdj4NCjxwPg0KICAgICBBbiBTTk1QIEFnZW50IGZvciBhIEVGTUN1IGRldmlj ZSBidWlsZHMgaWZDYXBTdGFja1RhYmxlDQogICAgIGFuZCBpdHMgaW52ZXJzZSBpZkludkNhcFN0 YWNrVGFibGUgYWNjb3JkaW5nIHRvIHRoZSBpbmZvcm1hdGlvbg0KICAgICBjb250YWluZWQgaW4g dGhlIENsYXVzZSA0NSBQTUVfQXZhaWxhYmxlX3JlZ2lzdGVyIChzZWUNCiAgICAgPGEgY2xhc3M9 J2luZm8nIGhyZWY9JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz cz0naW5mbyc+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hu b2xvZ3kgLSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFu Z2UgYmV0d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEg bmV0d29ya3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAz OiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24g ICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lm aWNhdGlvbnMgLSAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1l dGVycywgUGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBm b3IgU3Vic2NyaWJlciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0 Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gNjEuMS41LjMgYW5kIDQ1LjIuMy4yMCkuDQogICAg DQo8L3A+DQo8cD4NCiAgICAgQWRkaW5nIGEgUE1FIHRvIHRoZSBpZlN0YWNrVGFibGUgcm93IGZv ciBhIHNwZWNpZmljIFBDUywgaW52b2x2ZXMNCiAgICAgYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhl IFBNRSB0byB0aGUgUENTLCB3aGljaCBjYW4gYmUgZG9uZSBieSBtb2RpZnlpbmcNCiAgICAgQ2xh dXNlIDQ1IFBNRV9BZ2dyZWdhdGVfcmVnaXN0ZXIgKHNlZSA8YSBjbGFzcz0naW5mbycgaHJlZj0n IzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JRUVF LCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAg ICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5 c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAg ICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vu c2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01B L0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAg ICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNh bCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVy IEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFu Pik8L3NwYW4+PC9hPg0KICAgICA2MS4xLjUuMyBhbmQgNDUuMi4zLjIxKS4NCiAgICANCjwvcD4N CjxwPg0KICAgICBOb3RlIHRoYXQgUENTIHBvcnQgZG9lcyBub3QgaGF2ZSB0byBiZSBvcGVyYXRp b25hbGx5ICdkb3duJyBmb3INCiAgICAgdGhlIGNvbm5lY3Rpb24gdG8gc3VjY2VlZC4gSW4gZmFj dCwgYSBkeW5hbWljIFBNRQ0KICAgICBhZGRpdGlvbiAoYW5kIHJlbW92YWwpIE1BWSBiZSBpbXBs ZW1lbnRlZCB3aXRoIGFuIGF2YWlsYWJsZSBQTUUgYmVpbmcNCiAgICAgaW5pdGlhbGl6ZWQgZmly c3QgKGJ5IHNldHRpbmcgaXRzIGlmQWRtaW5TdGF0dXMgdG8gJ3VwJykgYW5kIHRoZW4NCiAgICAg YWRkZWQgdG8gYW4gb3BlcmF0aW9uYWxseSAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcgYSBy ZXNwZWN0aXZlDQogICAgIGlmU3RhY2tUYWJsZSAoYW5kIHJlc3BlY3RpdmUgaWZJbnZTdGFja1Rh YmxlKSBlbnRyeS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0 IGEgcmVtb3ZhbCBvZiB0aGUgbGFzdCBvcGVyYXRpb25hbGx5ICd1cCcgUE1FDQogICAgIGZyb20g YW4gb3BlcmF0aW9uYWxseSAndXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUNCiAgICAg aW1wbGVtZW50YXRpb24sIGFzIHRoaXMgYWN0aW9uIHdvdWxkIGNvbXBsZXRlbHkgZHJvcCB0aGUg bGluay4NCiAgICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjgiPjwvYT48YnIgLz48aHIgLz4NCjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9 IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm Yy5zZWN0aW9uLjMuMS40Ij48L2E+PGgzPjMuMS40LiZuYnNwOw0KRUZNQ3UgcG9ydHMgaW5pdGlh bGl6YXRpb248L2gzPg0KDQo8cD4NCiAgICBFRk1DdSBwb3J0cyBiZWluZyBidWlsdCBvbiB0b3Ag b2YgeERTTCB0ZWNobm9sb2d5LCByZXF1aXJlIGENCiAgICBsZW5ndGh5IGluaXRpYWxpemF0aW9u IG9yICd0cmFpbmluZycgcHJvY2VzcywgYmVmb3JlIGFueSBkYXRhIGNhbg0KICAgIHBhc3MuIER1 cmluZyB0aGlzIGluaXRpYWxpemF0aW9uIGJvdGggZW5kcyBvZiBhIGxpbmsgKHBlZXJzKSB3b3Jr DQogICAgY29vcGVyYXRpdmVseSB0byBhY2hpZXZlIHJlcXVpcmVkIGRhdGEgcmF0ZSBvbiBhIHBh cnRpY3VsYXIgY29wcGVyDQogICAgcGFpci4gU29tZXRpbWVzLCB3aGVuIHRoZSBjb3BwZXIgbGlu ZSBpcyB0b28gbG9uZyBvciB0aGUgbm9pc2UNCiAgICBvbiB0aGUgbGluZSBpcyB0b28gaGlnaCwg dGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwNCiAgICB0byBhY2hpZXZlIGEgc3BlY2lm aWMgdGFyZ2V0IHJhdGUgd2l0aCByZXF1aXJlZCBjaGFyYWN0ZXJpc3RpY3MuDQogICANCjwvcD4N CjxwPg0KICAgIFRoZSBpZkFkbWluU3RhdHVzIG9iamVjdCBmcm9tIHRoZSBJRi1NSUIsIGNvbnRy b2xzDQogICAgdGhlIGRlc2lyZWQgc3RhdGUgb2YgYSBQQ1Mgd2l0aCBhbGwgdGhlIFBNRXMgY29u bmVjdGVkIHRvIGl0IG9yIG9mDQogICAgYW4gaW5kaXZpZHVhbCBQTUUgcG9ydC4gU2V0dGluZyB0 aGlzIG9iamVjdCB0byAndXAnDQogICAgaW5zdHJ1Y3RzIGEgcGFydGljdWxhciBQQ1Mgb3IgUE1F IHRvIHN0YXJ0IGluaXRpYWxpemF0aW9uIHByb2Nlc3MsDQogICAgd2hpY2ggbWF5IHRha2UgdGVu cyBvZiBzZWNvbmRzIGZvciBFRk1DdSBwb3J0cywgZXNwZWNpYWxseSBpZiBQQUYgaXMNCiAgICBp bnZvbHZlZC4gVGhlIGlmT3BlclN0YXR1cyBvYmplY3Qgc2hvd3MgdGhlIG9wZXJhdGlvbmFsIHN0 YXRlIG9mIGFuDQogICAgaW50ZXJmYWNlIChleHRlbmRlZCBieSBpZk1hdU1lZGlhQXZhaWxhYmxl IG9iamVjdCBmcm9tIE1BVS1NSUIgZm9yDQogICAgUENTIGFuZCBlZm1DdVBtZU9wZXJTdGF0dXMg ZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQg0KICAgIG1vZHVsZSBmb3IgUE1FIGludGVyZmFjZXMp Lg0KICAgDQo8L3A+DQo8cD4NCiAgICBBIGRpc2Nvbm5lY3RlZCBQTUUgbWF5IGJlIGluaXRpYWxp emVkIGJ5IGNoYW5naW5nIHRoZSBpZkFkbWluU3RhdGUNCiAgICBmcm9tICdkb3duJyB0byAndXAn LiBDaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlIHRvICd1cCcgb24gdGhlDQogICAgUENTIGluaXRp YWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3VsYXIgUENTLg0KICAgIE5v dGUgdGhhdCBpbiBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5IGZhaWwgdG8gaW5pdGlh bGl6ZQ0KICAgIHdoaWxlIG90aGVycyBzdWNjZWVkLiBUaGUgUENTIGlzIGNvbnNpZGVyZWQgb3Bl cmF0aW9uYWxseSAndXAnIGlmIGF0DQogICAgbGVhc3Qgb25lIFBNRSBhZ2dyZWdhdGVkIGJ5IGl0 cyBQQUYgaXMgb3BlcmF0aW9uYWxseSAndXAnLiBXaGVuIGFsbA0KICAgIFBNRXMgY29ubmVjdGVk IHRvIHRoZSBQQ1MgYXJlICdkb3duJyB0aGUgUENTIFNIQUxMIGJlIGNvbnNpZGVyZWQNCiAgICBv cGVyYXRpb25hbGx5ICdsb3dlckxheWVyRG93bicuIFRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJl ZA0KICAgIG9wZXJhdGlvbmFsbHkgJ25vdFByZXNlbnQnIGlmIGl0IGlzIG5vdCBjb25uZWN0ZWQg dG8gYW55IFBNRS4NCiAgICBUaGUgUENTL1BNRSBpbnRlcmZhY2UgU0hBTEwgcmVtYWluIG9wZXJh dGlvbmFsbHkgJ2Rvd24nIGR1cmluZw0KICAgIGluaXRpYWxpemF0aW9uLg0KICAgDQo8L3A+DQo8 cD4NCiAgICBUaGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIg bW9kdWxlDQogICAgZXhwYW5kcyBQTUUncyBpZk9wZXJTdGF0dXMNCiAgICB2YWx1ZSBvZiAnZG93 bicgdG8gJ2Rvd25SZWFkeScsICdkb3duTm90UmVhZHknIGFuZCAnaW5pdCcgdmFsdWVzLA0KICAg IGluZGljYXRpbmcgdmFyaW91cyBFRk1DdSBQTUUgc3BlY2lmaWMgc3RhdGVzLg0KICAgDQo8L3A+ DQo8YSBuYW1lPSJhbmNob3I5Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWdu PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0Mm bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4zLjEuNSI+ PC9hPjxoMz4zLjEuNS4mbmJzcDsNClVzYWdlIG9mIGlmVGFibGU8L2gzPg0KDQo8cD4NCiAgICBC b3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUgbWFuYWdlZCB1 c2luZw0KICAgIGludGVyZmFjZSBzcGVjaWZpYyBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYW5kDQogICAgZ2VuZXJpYyBpbnRlcmZhY2Ugb2JqZWN0 cyBmcm9tIHRoZSBpZlRhYmxlIG9mIElGLU1JQiwgd2l0aCBhbGwNCiAgICBtYW5hZ2VtZW50IHRh YmxlIGVudHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4IGlmSW5kZXguDQog ICANCjwvcD4NCjxwPg0KICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgc3VtbWFyaXplcyBFRk1DdSBz cGVjaWZpYyBpbnRlcnByZXRhdGlvbnMgZm9yDQogICAgc29tZSBvZiB0aGUgaWZUYWJsZSBvYmpl Y3RzIHNwZWNpZmllZCBieSB0aGUgbWFuZGF0b3J5DQogICAgaWZHZW5lcmFsSW5mb3JtYXRpb25H cm91cDoNCiAgIA0KPC9wPjxiciAvPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KPGEgbmFtZT0idGFi bGUxIj48L2E+DQo8dGFibGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIg Y2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wg YWxpZ249ImxlZnQiPg0KPHRyPjx0aCBhbGlnbj0ibGVmdCI+SUYtTUlCIG9iamVjdDwvdGg+PHRo IGFsaWduPSJsZWZ0Ij5FRk1DdSBpbnRlcnByZXRhdGlvbjwvdGg+PC90cj4NCjx0cj4NCjx0ZCBh bGlnbj0ibGVmdCI+aWZJbmRleDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPkludGVyZmFjZSBpbmRl eC4gTm90ZSB0aGF0IGVhY2ggUE1FIGFuZCBlYWNoIFBDUw0KICAgICAgICAgICAgICAgICAgICAg aW4gdGhlIEVGTUN1IFBIWSBNVVNUIGhhdmUgYSB1bmlxdWUgaW5kZXgsIGFzDQogICAgICAgICAg ICAgICAgICAgICB0aGVyZSBhcmUgc29tZSBQQ1MgYW5kIFBNRSBzcGVjaWZpYyBhdHRyaWJ1dGVz DQogICAgICAgICAgICAgICAgICAgICBhY2Nlc3NpYmxlIG9ubHkgb24gdGhlIFBDUyBvciBQTUUg bGV2ZWwuPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmVHlwZTwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPmV0aGVybmV0Q3NtYWNkKDYpIGZvciBQQ1MsIHNoZHNsKDE2OSkgZm9y DQogICAgICAgICAgICAgICAgICAgIDJCQVNFLVRMIFBNRSwgdmRzbCg5NykgZm9yIDEwUEFTUy1U UyBQTUU8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZTcGVlZDwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPk9wZXJhdGluZyBkYXRhIHJhdGUgZm9yIHRoZSBQTUUuIEZvciB0aGUg UENTIGl0DQogICAgIGlzIHRoZSBzdW0gb2YgdGhlIGN1cnJlbnQgb3BlcmF0aW5nIGRhdGEgcmF0 ZXMgb2YgYWxsIFBNRXMgaW4gdGhlDQogICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCB3aXRob3V0IHRo ZSA2NC82NUIgZW5jYXBzdWxhdGlvbiBvdmVyaGVhZCBhbmQNCiAgICAgUEFGIG92ZXJoZWFkLCBi dXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1lIEdhcHMgKElGRyk8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZBZG1pblN0YXR1czwvdGQ+DQo8dGQgYWxpZ249Imxl ZnQiPlNldHRpbmcgdGhpcyBvYmplY3QgdG8gJ3VwJyBpbnN0cnVjdHMgYQ0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFydGljdWxhciBQQ1MgKHdpdGggYWxsIFBNRXMgY29ubmVjdGVkIHRv DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpdCkgb3IgUE1FIHRvIHN0YXJ0IGluaXRpYWxp emF0aW9uIHByb2Nlc3M8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZPcGVy U3RhdHVzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVPcGVyU3RhdHVzIHN1cHBsZW1l bnRzIHRoZSAnZG93bicgdmFsdWUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgaWZPcGVy U3RhdHVzIGZvciBQTUVzLjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAi IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBh bGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEi PjxiPiZuYnNwO1RhYmxlIDEmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxl PjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQo8YSBuYW1lPSJhbmNob3IxMCI+PC9hPjxiciAvPjxo ciAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+ PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg bmFtZT0icmZjLnNlY3Rpb24uMy4yIj48L2E+PGgzPjMuMi4mbmJzcDsNClJlbGF0aW9uIHRvIFNI RFNMIE1JQiBtb2R1bGU8L2gzPg0KDQo8cD4NCiAgICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWls YXIgdG8gUE1FKHMpIGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUNCiAgICBkZXNjcmli ZWQgaW4gSERTTDItU0hEU0wtTElORS1NSUINCiAgICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JG QzQzMTknPltSRkM0MzE5XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TaWtlcywg Qy4sIFJheSwgQi4sIGFuZCBSLiBBYmJpLCAmbGRxdW87RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBP YmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAtIDJuZCBnZW5lcmF0aW9uIChIRFNMMikgYW5k IFNpbmdsZS1QYWlyIEhpZ2gtU3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSBM aW5lcywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwNS48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+ Lg0KICAgIE5vdGUgdGhhdCBub3QgYWxsIGF0dHJpYnV0ZXMgb2YgRy5TSERTTCBtb2RlbXMgcmVm bGVjdGVkIGluDQogICAgSERTTDItU0hEU0wtTElORS1NSUIgaGF2ZSBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMNCiAgICAoQ2xhdXNlIDMwIGF0dHJpYnV0ZXMgYW5kIENsYXVzZSA0NSByZWdp c3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQogICANCjwvcD4NCjxwPg0KICAgIEJlY2F1c2Ug b2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0eSwN CiAgICB1bmlmaWNhdGlvbiBvZiBhdHRyaWJ1dGVzIGNvbW1vbiB0byBib3RoIDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMgUE1Fcw0KICAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5IChlLmcuIHByZWZpeGlu ZyB0aGUgMkJBU0UtVEwgUE1FIHJlbGF0ZWQgb2JqZWN0cw0KICAgIHdpdGggJ2VmbUN1UG1lMkIn IGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvIHJlZmVyZW5j ZQ0KICAgIEhEU0wyLVNIRFNMLUxJTkUtTUlCIG9iamVjdHMsIGJ1dCBkZWZpbmUgYWxsIHRoZSBy ZWxldmFudCBvYmplY3RzDQogICAgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLg0KICAgDQo8L3A+ DQo8cD4NCiAgICBIb3dldmVyLCBpZiBzb21lIGZ1bmN0aW9uYWxpdHksIG5vdCBhdmFpbGFibGUg aW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLCBpcw0KICAgIHJlcXVpcmVkIGFuZCBzdXBwb3J0ZWQg YnkgdGhlIFBNRSwgZS5nLiBwZXJmb3JtYW5jZSBtb25pdG9yaW5nLA0KICAgIHJlbGV2YW50IEhE U0wyLVNIRFNMLUxJTkUtTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQNCiAg ICBmb3IgUE1FcyBvZiAyQkFTRS1UTCBzdWJ0eXBlLg0KICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNo b3IxMSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48 dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+ PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4zIj48L2E+PGgzPjMuMy4mbmJz cDsNClJlbGF0aW9uIHRvIFZEU0wgTUlCIG1vZHVsZTwvaDM+DQoNCjxwPg0KICAgIFZEU0wgbW9k ZW1zLCBzaW1pbGFyIHRvIHRoZSBQTUUocykgY29tcHJpc2luZyBhIDEwUEFTUy1UUyBwb3J0LA0K ICAgIGFyZSBkZXNjcmliZWQgaW4gVkRTTC1MSU5FLUVYVC1NQ00tTUlCDQogICAgPGEgY2xhc3M9 J2luZm8nIGhyZWY9JyNSRkM0MDcwJz5bUkZDNDA3MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFz cz0naW5mbyc+RG9kZ2UsIE0uIGFuZCBCLiBSYXksICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5h Z2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBWZXJ5IEhpZ2ggU3BlZWQgRGlnaXRhbCBTdWJzY3Jp YmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkg TGluZSBDb2RpbmcsJnJkcXVvOyBNYXkmbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4uDQogICAgTm90ZSB0aGF0IG5vdCBhbGwgYXR0cmlidXRlcyBvZiBWRFNMIG1vZGVtcyByZWZs ZWN0ZWQgaW4NCiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgaGF2ZSBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMNCiAgICAoQ2xhdXNlIDMwIGF0dHJpYnV0ZXMgYW5kIENsYXVzZSA0NSByZWdp c3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQogICANCjwvcD4NCjxwPg0KICAgIEJlY2F1c2Ug b2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0eSwN CiAgICB1bmlmaWNhdGlvbiBvZiBhdHRyaWJ1dGVzIGNvbW1vbiB0byBib3RoIDJCQVNFLVRMIGFu ZCAxMFBBU1MtVFMgUE1Fcw0KICAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMgZGVjaWRl ZCBub3QgdG8gcmVmZXJlbmNlDQogICAgVkRTTC1MSU5FLUVYVC1NQ00tTUlCIG9iamVjdHMsIGJ1 dCBkZWZpbmUgYWxsIHRoZSByZWxldmFudCBvYmplY3RzDQogICAgaW4gdGhlIEVGTS1DVS1NSUIg bW9kdWxlLg0KICAgDQo8L3A+DQo8cD4NCiAgICBIb3dldmVyLCBpZiBzb21lIGZ1bmN0aW9uYWxp dHksIG5vdCBhdmFpbGFibGUgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLCBpcw0KICAgIHJlcXVp cmVkIGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwNCiAgICByZWxldmFudCBWRFNMLUxJTkUtRVhU LU1DTS1NSUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQgYXBwbGllZA0KICAgIGZvciBQTUVz IG9mIDEwUEFTUy1UUyBzdWJ0eXBlLg0KICAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxMiI+PC9h PjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9 IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh YmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy40Ij48L2E+PGgzPjMuNC4mbmJzcDsNClJlbGF0 aW9uIHRvIEV0aGVybmV0LUxpa2UgYW5kIE1BVSBNSUIgbW9kdWxlczwvaDM+DQoNCjxwPg0KICAg IFRoZSBpbXBsZW1lbnRhdGlvbiBvZiBFdGhlckxpa2UtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVm PScjUkZDMzYzNSc+W1JGQzM2MzVdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkZs aWNrLCBKLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlIEV0 aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwMy48 L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+DQogICAgYW5kIE1BVS1NSUIgPGEgY2xhc3M9J2luZm8n IGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgyMDk7RC5pZXRmJiM4MjA5 O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZv Jz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElF RUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVuaXRzIChNQVVzKSwmcmRx dW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gaXMNCiAgICBSRVFV SVJFRCBmb3IgdGhlIEVGTUN1IGludGVyZmFjZXMuDQogICANCjwvcD4NCjxwPg0KICAgIFR3byBu ZXcgdmFsdWVzIG9mIGlmTWF1VHlwZSAoT0JKRUNULUlERU5USVRJRVMgb2YgZG90M01hdVR5cGUp DQogICAgYW5kIGNvcnJlc3BvbmRpbmcgYml0IGRlZmluaXRpb25zIG9mIGlmTWF1VHlwZUxpc3RC aXRzDQogICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBiZWVuIGRlZmluZWQgaW4gdGhl IElBTkEtTUFVLU1JQg0KICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjSS1ELmlldGYtaHVibWli LXJmYzM2MzZiaXMnPltJJiM4MjA5O0QuaWV0ZiYjODIwOTtodWJtaWImIzgyMDk7cmZjMzYzNmJp c108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QmVpbGksIEUuLCAmbGRxdW87RGVm aW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bSAgICAgICAg ICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFVcyksJnJkcXVvOyBKdWx5Jm5ic3A7MjAwNi48L3Nw YW4+PHNwYW4+KTwvc3Bhbj48L2E+IGZvciB0aGUgRUZNQ3UgTUFVczoNCg0KICAgICA8L3A+DQo8 dWwgY2xhc3M9InRleHQiPg0KPGxpPmRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwgLSBm b3IgMkJBU0UtVEwgTUFVDQo8L2xpPg0KPGxpPmRvdDNNYXVUeXBlMTBQYXNzVFMgYW5kIGIxMFBh c3NUUyAtIGZvciAxMFBBU1MtVFMgTUFVDQo8L2xpPg0KPC91bD48cD4NCiAgIA0KPC9wPg0KPHA+ DQogICAgQWRkaXRpb25hbGx5IElBTkEtTUFVLU1JQiBkZWZpbmVzIHR3byBuZXcgdmFsdWVzIG9m DQogICAgaWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0ZXh0dWFsIGNvbnZlbnRpb24NCiAgICBJ QU5BaWZNYXVNZWRpYUF2YWlsYWJsZSAtIGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5LA0KICAg IHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLg0KICAgIER1ZSB0byB0aGUgUE1FIGFn Z3JlZ2F0aW9uLCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Ygc29tZQ0KICAgIHBvc3NpYmxl IGlmTWF1TWVkaWFBdmFpbGFibGUgdmFsdWVzIGRpZmZlcnMgZnJvbSBvdGhlciBNQVVzIGFzIGZv bGxvd3M6DQoNCiAgICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT51bmtub3duIC0gdGhl IEVGTUN1IGludGVyZmFjZSAoUENTIHdpdGggY29ubmVjdGVkIFBNRXMpIGlzIGluaXRpYWxpemlu Zw0KPC9saT4NCjxsaT5yZWFkeSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYXQgbGVhc3Qgb25l IFBNRSBpbiB0aGUNCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwIChhbGwgUE1FcyBjb25uZWN0 ZWQgdG8NCiAgICAgICAgIHRoZSBQQ1MpIGlzIHJlYWR5IGZvciBoYW5kc2hha2UNCjwvbGk+DQo8 bGk+YXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBpcyB1cCwgYWxsIFBNRXMgaW4gdGhlIGFnZ3Jl Z2F0aW9uDQogICAgICAgICBncm91cCBhcmUgdXANCjwvbGk+DQo8bGk+bm90QXZhaWxhYmxlIC0g dGhlIGludGVyZmFjZSBpcyBkb3duLCBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24NCiAgICAg ICAgIGdyb3VwIGFyZSBkb3duLCBubyBoYW5kc2hha2UgdG9uZXMgYXJlIGRldGVjdGVkIGJ5IGFu eSBQTUUNCjwvbGk+DQo8bGk+YXZhaWxhYmxlUmVkdWNlZCAtIHRoZSBpbnRlcmZhY2UgaXMgdXAs IGEgbGluayBmYXVsdCBpcw0KICAgICAgICAgZGV0ZWN0ZWQgYXQgdGhlIHJlY2VpdmUgZGlyZWN0 aW9uIGJ5IG9uZSBvciBtb3JlIFBNRXMgaW4gdGhlDQogICAgICAgICBhZ2dyZWdhdGlvbiBncm91 cCwgYnV0IGF0IGxlYXN0IG9uZSBQTUUgaXMgdXANCjwvbGk+DQo8bGk+cG1kTGlua0ZhdWx0IC0g YSBsaW5rIGZhdWx0IGlzIGRldGVjdGVkIGF0IHRoZSByZWNlaXZlDQogICAgICAgICBkaXJlY3Rp b24gYnkgYWxsIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwDQo8L2xpPg0KPC91bD48cD4N CiAgIA0KPC9wPg0KPHA+DQogICAgQXMgYW4gRXRoZXJMaWtlIGludGVyZmFjZSBldmVyeSBFRk1D dSBwb3J0IChhbiBpZkVudHJ5DQogICAgcmVwcmVzZW50aW5nIGEgY29uc29saWRhdGlvbiBvZiBM TEMsIE1BQyBhbmQgUENTIChzdWIpbGF5ZXJzKQ0KICAgIFNIQUxMIHJldHVybiBhbiBpZlR5cGUg b2YgZXRoZXJuZXRDc21hY2QoNikuDQogICAgV2hpbGUgbW9zdCBvZiB0aGUgTUFVIGNoYXJhY3Rl cmlzdGljcyBhcmUgbm90IGFwcGxpY2FibGUgdG8gdGhlIEVGTUN1DQogICAgcG9ydHMgKG5vIGF1 dG8tbmVnb3RpYXRpb24sIGZhbHNlIGNhcnJpZXJzIG9yIGphYmJlciksDQogICAgdGhleSBTSEFM TCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgaWZNYXVUeXBlIChkb3QzTWF1VHlwZTJCYXNlVEwgb3IN CiAgICBkb3QzbWF1VHlwZTEwUGFzc1RTKSBpbiBvcmRlciB0byBkaXJlY3QgdGhlIG1hbmFnZW1l bnQgc29mdHdhcmUNCiAgICB0byBsb29rIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBmb3IgdGhl IGRlc2lyZWQgaW5mb3JtYXRpb24uIEZvciBleGFtcGxlDQogICAgdGhlIGluZm9ybWF0aW9uIG9u IHRoZSBwYXJ0aWN1bGFyIEVGTUN1IGZsYXZvciB0aGF0IGFuIEVGTUN1IHBvcnQNCiAgICBpcyBy dW5uaW5nIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1T3BlclN1YlR5cGUsIGRlZmluZWQgaW4gdGhl DQogICAgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4NCjxwPg0KICAgIFNpbmNlIEVGTUN1 IFBNRXMgYXJlIG5vdCBFdGhlckxpa2UgaW50ZXJmYWNlcywgdGhleSBjYW5ub3QgYmUNCiAgICBp bnN0YW50aWF0ZWQgYXMgTUFVIGludGVyZmFjZSBvYmplY3RzLg0KICAgDQo8L3A+DQo8YSBuYW1l PSJhbmNob3IxMyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNCI+PC9hPjxoMz40LiZu YnNwOw0KTUlCIFN0cnVjdHVyZTwvaDM+DQoNCjxhIG5hbWU9ImFuY2hvcjE0Ij48L2E+PGJyIC8+ PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNp bmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVn Ij48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8 YSBuYW1lPSJyZmMuc2VjdGlvbi40LjEiPjwvYT48aDM+NC4xLiZuYnNwOw0KRUZNIENvcHBlciBN SUIgT3ZlcnZpZXc8L2gzPg0KDQo8cD4NCiAgIFRoZSBtYWluIG1hbmFnZW1lbnQgb2JqZWN0cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUgc3BsaXQgaW50byAyDQogICBncm91 cHM6DQogICA8L3A+DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPmVmbUN1UG9ydCAtIGNvbnRhaW5p bmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLA0KICAgIHN0YXR1cyBh bmQgbm90aWZpY2F0aW9ucywgY29tbW9uIHRvIGFsbCBFRk1DdSBQSFlzLg0KPC9saT4NCjxsaT5l Zm1DdVBtZSAtIGNvbnRhaW5pbmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0 aWVzLA0KICAgIHN0YXR1cyBhbmQgbm90aWZpY2F0aW9ucyBvZiBFRk1DdSBQTUVzLg0KPC9saT4N CjwvdWw+PHA+DQogIA0KPC9wPg0KPHA+DQogICBUaGUgZWZtQ3VQbWUgZ3JvdXAgaW4gdHVybiBj b250YWlucyBlZm1DdVBtZTJCIGFuZCBlZm1DdVBtZTEwUA0KICAgZ3JvdXBzLCB3aGljaCBkZWZp bmUgUE1FIFByb2ZpbGVzIHNwZWNpZmljIHRvIDJCQVNFLVRMIGFuZA0KICAgMTBQQVNTLVRTIFBN RXMgcmVzcGVjdGl2ZWx5LCBhcyB3ZWxsIGFzIFBNRSBzcGVjaWZpYyBzdGF0dXMgaW5mb3JtYXRp b24uDQogIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTUiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJs ZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9 IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0 b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5z ZWN0aW9uLjQuMiI+PC9hPjxoMz40LjIuJm5ic3A7DQpJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0 eSBNSUIgT3ZlcnZpZXc8L2gzPg0KDQo8cD4NCiAgIFRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVs ZSBjb250YWlucyAyIHRhYmxlczoNCiAgIDwvcD4NCjx1bCBjbGFzcz0idGV4dCI+DQo8bGk+aWZD YXBTdGFja1RhYmxlIC0gY29udGFpbmluZyBvYmplY3RzIHRoYXQgZGVmaW5lIHBvc3NpYmxlDQog ICAgICAgcmVsYXRpb25zaGlwcyBhbW9uZyB0aGUgc3ViLWxheWVycyBvZiBhbiBpbnRlcmZhY2Ug d2l0aA0KICAgICAgIGZsZXhpYmxlIGNyb3NzLWNvbm5lY3QgKGNyb3NzLWNvbm5lY3QgY2FwYWJp bGl0eSkuDQo8L2xpPg0KPGxpPmlmSW52Q2FwU3RhY2tUYWJsZSAtIGFuIGludmVyc2Ugb2YgdGhl IGlmQ2Fwc3RhY2tUYWJsZS4NCjwvbGk+DQo8L3VsPjxwPg0KICANCjwvcD4NCjxhIG5hbWU9ImFu Y2hvcjE2Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFk ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRy Pjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90 ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi40LjMiPjwvYT48aDM+NC4zLiZu YnNwOw0KUE1FIFByb2ZpbGVzPC9oMz4NCg0KPHA+DQogICBTaW5jZSBhIG1hbmFnZWQgbm9kZSBj YW4gaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBFRk1DdSBQSFlzLA0KICAgcHJvdmlzaW9uaW5nIGV2 ZXJ5IHBhcmFtZXRlciBvbiBldmVyeSBFRk1DdSBQSFkgbWF5IGJlY29tZQ0KICAgYnVyZGVuc29t ZS4gTW9yZW92ZXIsIG1vc3QgUE1FcyBhcmUgcHJvdmlzaW9uZWQgaWRlbnRpY2FsbHkNCiAgIHdp dGggdGhlIHNhbWUgc2V0IG9mIHBhcmFtZXRlcnMuICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9u aW5nDQogICBwcm9jZXNzLCB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZp Z3VyYXRpb24gcHJvZmlsZXMsIHNpbWlsYXINCiAgIHRvIEhEU0wyLVNIRFNMLUxJTkUtTUlCIGFu ZCBWRFNMLUxJTkUtRVhULU1DTS1NSUIuIEEgcHJvZmlsZSBpcyBhDQogICBzZXQgb2YgcGFyYW1l dGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24NCiAg IG9mIGEgUE1FLiBUaGUgc2FtZSBwcm9maWxlIGNhbiBiZSBzaGFyZWQgYnkgbXVsdGlwbGUgUE1F IHBvcnRzLA0KICAgdXNpbmcgdGhlIHNhbWUgY29uZmlndXJhdGlvbi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4NCiAgIGVmbUN1UG1lMkJQcm9maWxl VGFibGUgYW5kIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIGZvcg0KICAgMkJBU0UtVEwgYW5kIDEw UEFTUy1UUyBQTUVzIHJlc3BlY3RpdmVseS4gVGhlcmUgYXJlIDEyIHByZWRlZmluZWQNCiAgIHN0 YW5kYXJkIHByb2ZpbGVzIGZvciAyQkFTRS1UTCBhbmQgMjIgc3RhbmRhcmQgcHJvZmlsZXMgZm9y DQogICAxMFBBU1MtVFMsIGRlZmluZWQgaW4gODAyLjNhaCBhbmQgZGVkaWNhdGVkIGZvciByYXBp ZCBwcm92aXNpb25pbmcNCiAgIG9mIEVGTUN1IFBIWXMgaW4gbW9zdCBzY2VuYXJpb3MuIEluIGFk ZGl0aW9uIHRoZSBFRk0tQ1UtTUlCIGRlZmluZXMgdHdvDQogICBhZGRpdGlvbmFsIHByZWRlZmlu ZWQgcHJvZmlsZXMgZm9yICJiZXN0LWVmZm9ydCIgcHJvdmlzaW9uaW5nIG9mDQogICAyQkFTRS1U TCBQTUVzLg0KICAgQW4gYWJpbGl0eSB0byBkZWZpbmUgbmV3IGNvbmZpZ3VyYXRpb24gcHJvZmls ZXMgaXMgYWxzbyBwcm92aWRlZCB0byANCiAgIGFsbG93IGZvciBFRk1DdSBkZXBsb3ltZW50IHRh aWxvcmVkIHRvIHNwZWNpZmljIGNvcHBlciBlbnZpcm9ubWVudCBhbmQgDQogICBzcGVjdHJhbCBy ZWd1bGF0aW9ucy4NCiAgDQo8L3A+DQo8cD4NCiAgIEEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBv ciBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIGlzIGFzc2lnbmVkIHRvIGENCiAgIHNwZWNpZmljIFBN RSB2aWEgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0LiBJZiBlZm1DdVBtZUFkbWluUHJvZmls ZQ0KICAgaXMgemVybywgdGhlbiBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qgb2YgdGhlIFBDUyBw b3J0LCBjb25uZWN0ZWQgdG8gdGhlDQogICBQTUUsIGRldGVybWluZXMgdGhlIGNvbmZpZ3VyYXRp b24gcHJvZmlsZSAob3IgYSBsaXN0IG9mIHBvc3NpYmxlDQogICBwcm9maWxlcykgZm9yIHRoYXQg UE1FLiBUaGlzIG1lY2hhbmlzbSBhbGxvd3MgdG8gc3BlY2lmeSBhIGNvbW1vbg0KICAgcHJvZmls ZShzKSBmb3IgYWxsIFBNRXMgY29ubmVjdGVkIHRvIHRoZSBQQ1MgcG9ydCwgd2l0aCBhbiBhYmls aXR5DQogICB0byBjaGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZyBlZm1D dVBtZUFkbWluUHJvZmlsZQ0KICAgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHRoZSBwcm9maWxl IHNldCBieSBlZm1DdUFkbWluUHJvZmlsZS4NCiAgDQo8L3A+DQo8cD4NCiAgIEEgY3VycmVudCBv cGVyYXRpbmcgUE1FIHByb2ZpbGUgaXMgcG9pbnRlZCB0byBieSBlZm1DdVBtZU9wZXJQcm9maWxl IG9iamVjdC4NCiAgIE5vdGUgdGhhdCB0aGlzIHByb2ZpbGUgZW50cnksIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QNCiAgIGFjaGlldmVkIHBhcmFtZXRlcnMgaW4gYWRh cHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRpb24uDQogIA0KPC9wPg0KPGEgbmFtZT0iYW5j aG9yMTciPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRk aW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+ PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3Rk PjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjQuNCI+PC9hPjxoMz40LjQuJm5i c3A7DQpNYXBwaW5nIG9mIElFRUUgODAyLjNhaCBNYW5hZ2VkIE9iamVjdHM8L2gzPg0KDQo8cD4N CiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVuIHJlbGV2YW50IG1h bmFnZWQgb2JqZWN0cw0KICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8n IGhyZWY9JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5m byc+SUVFRSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kg LSAgICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0 d2VlbiBzeXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29y a3MgLSAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJy aWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAg ICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlv bnMgLSAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywg UGh5c2ljYWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vi c2NyaWJlciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bh bj48c3Bhbj4pPC9zcGFuPjwvYT4gQ2xhdXNlIDMwLCBhbmQgbWFuYWdlZA0KICAgb2JqZWN0cyBk ZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgYW5kIGluIGFzc29jaWF0ZWQgTUlCIG1vZHVsZXMsDQog ICBpLmUuLCB0aGUgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JGQzI4 NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFuZCBG LiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsgSnVu ZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4NCiAg IE5vdGUgdGhhdCBtYWpvcml0eSBvZiB0aGUgb2JqZWN0cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1Ut TUlCIG1vZHVsZQ0KICAgZG8gbm90IGhhdmUgZGlyZWN0IGNvdW50ZXJwYXJ0cyBpbiBDbGF1c2Ug MzAgYW5kIGluc3RlYWQgcmVmZXIgdG8gQ2xhdXNlIDQ1DQogICByZWdpc3RlcnMuDQogIA0KPC9w PjxiciAvPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KPGEgbmFtZT0idGFibGUyIj48L2E+DQo8dGFi bGUgY2xhc3M9ImZ1bGwiIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjIi IGNlbGxzcGFjaW5nPSIyIj4NCjxjb2wgYWxpZ249ImxlZnQiPjxjb2wgYWxpZ249ImxlZnQiPg0K PHRyPjx0aCBhbGlnbj0ibGVmdCI+SUVFRSA4MDIuMyBNYW5hZ2VkIE9iamVjdDwvdGg+PHRoIGFs aWduPSJsZWZ0Ij5Db3JyZXNwb25kaW5nIFNOTVAgT2JqZWN0PC90aD48L3RyPg0KPHRyPg0KPHRk IGFsaWduPSJsZWZ0Ij5vTUFVIC0gQmFzaWMgUGFja2FnZSAoTWFuZGF0b3J5KTwvdGQ+DQo8dGQg YWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5h TUFVVHlwZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmTWF1VHlwZSAoTUFVLU1JQik8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU1BVVR5cGVMaXN0PC90ZD4NCjx0ZCBhbGln bj0ibGVmdCI+aWZNYXVUeXBlTGlzdEJpdHMgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8 dGQgYWxpZ249ImxlZnQiPmFNZWRpYUF2YWlsYWJsZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlm TWVkaWFBdmFpbGFibGUgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249Imxl ZnQiPm9QQUYgLSBCYXNpYyBQYWNrYWdlIChNYW5kYXRvcnkpPC90ZD4NCjx0ZCBhbGlnbj0ibGVm dCI+Jm5ic3A7PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQQUZJRDwvdGQ+ DQo8dGQgYWxpZ249ImxlZnQiPmlmSW5kZXggKElGLU1JQik8L3RkPg0KPC90cj4NCjx0cj4NCjx0 ZCBhbGlnbj0ibGVmdCI+YVBoeUVuZDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UGh5U2lk ZTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEhZQ3VycmVudFN0YXR1czwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1U3RhdHVzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQg YWxpZ249ImxlZnQiPmFQQUZTdXBwb3J0ZWQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBB RlN1cHBvcnRlZDwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5vUEFGIC0gUE1F IEFnZ3JlZ2F0aW9uIFBhY2thZ2UgKE9wdGlvbmFsKTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZu YnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGQWRtaW5TdGF0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UEFGQWRtaW5TdGF0ZTwvdGQ+DQo8L3RyPg0KPHRy Pg0KPHRkIGFsaWduPSJsZWZ0Ij5hTG9jYWxQQUZDYXBhY2l0eTwvdGQ+DQo8dGQgYWxpZ249Imxl ZnQiPmVmbUN1UEFGQ2FwYWNpdHk8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+ YUxvY2FsUE1FQXZhaWxhYmxlPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZDYXBTdGFja1RhYmxl PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFMb2NhbFBNRUFnZ3JlZ2F0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmU3RhY2tUYWJsZSAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0K PHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUmVtb3RlUEFGU3VwcG9ydGVkPC90ZD4NCjx0ZCBhbGln bj0ibGVmdCI+ZWZtQ3VSZW1vdGVQQUZTdXBwb3J0ZWQ8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBh bGlnbj0ibGVmdCI+YVJlbW90ZVBBRkNhcGFjaXR5PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZt Q3VSZW1vdGVQQUZDYXBhY2l0eTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5h UmVtb3RlUE1FQWdncmVnYXRlPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+Jm5ic3A7PC90ZD4NCjwv dHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPm9QTUUgLSAxMFAvMkIgUGFja2FnZSAoTWFuZGF0 b3J5KTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRk IGFsaWduPSJsZWZ0Ij5hUE1FSUQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZkluZGV4IChJRi1N SUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVBZG1pblN0YXRlPC90 ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZBZG1pblN0YXRlIChJRi1NSUIpPC90ZD4NCjwvdHI+DQo8 dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVTdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5l Zm1DdVBtZVN0YXR1czwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FU05S TWduPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVTbnJNZ248L3RkPg0KPC90cj4NCjx0 cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVRDQ29kaW5nVmlvbGF0aW9uczwvdGQ+DQo8dGQgYWxpZ249 ImxlZnQiPmVmbUN1UG1lVENDb2RpbmdFcnJvcnM8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGln bj0ibGVmdCI+YVRDQ1JDRXJyb3JzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVUQ0Ny Y0Vycm9yczwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUHJvZmlsZVNlbGVj dDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1QWRtaW5Qcm9maWxlLCBlZm1DdVBtZUFkbWlu UHJvZmlsZTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hT3BlcmF0aW5nUHJv ZmlsZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lT3BlclByb2ZpbGU8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUZFQ0NvcnJlY3RlZEJsb2NrczwvdGQ+DQo8 dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzPC90ZD4NCjwvdHI+ DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQTUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzPC90ZD4N Cjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2NrczwvdGQ+DQo8 L3RyPg0KPC90YWJsZT4NCjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNl PSJtb25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO1RhYmxlIDImbmJzcDs8 L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0K DQo8YSBuYW1lPSJhbmNob3IxOCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9Imxh eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGln bj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9D Jm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNSI+PC9h PjxoMz41LiZuYnNwOw0KSW50ZXJmYWNlIFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRpb25z PC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6 IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPklGLUNBUC1TVEFDSy1NSUIgREVGSU5JVElP TlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVMRS1JREVOVElUWSwgT0JKRUNULVRZ UEUsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OA0KICAg IFRydXRoVmFsdWUNCiAgICAgIEZST00gU05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5DQog ICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUA0KICAgICAgRlJPTSBTTk1QdjItQ09O RiAgICAgICAgLS0gUkZDIDI1ODANCiAgICBpZlN0YWNrR3JvdXAyLCBpZlN0YWNrSGlnaGVyTGF5 ZXIsIGlmU3RhY2tMb3dlckxheWVyIA0KICAgICAgRlJPTSBJRi1NSUIgICAgICAgICAgICAgLS0g UkZDIDI4NjMNCiAgICBpZkludlN0YWNrR3JvdXANCiAgICAgIEZST00gSUYtSU5WRVJURUQtU1RB Q0stTUlCIC0tIFJGQyAyODY0DQogICAgOw0KDQogIGlmQ2FwU3RhY2tNSUIgTU9EVUxFLUlERU5U SVRZDQogICAgTEFTVC1VUERBVEVEICIyMDA3MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIw MDcNCiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1J QiBXb3JraW5nIEdyb3VwIg0KICAgIENPTlRBQ1QtSU5GTw0KICAgICAgIldHIGNoYXJ0ZXI6DQog ICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5o dG1sDQoNCiAgICAgIE1haWxpbmcgTGlzdHM6DQogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjog aHVibWliQGlldGYub3JnDQogICAgICAgIFRvIFN1YnNjcmliZTogaHVibWliLXJlcXVlc3RAaWV0 Zi5vcmcNCiAgICAgICAgSW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1haWxfYWRkcmVzcw0KDQog ICAgICBDaGFpcjogIEJlcnQgV2lqbmVuDQogICAgICBQb3N0YWw6IEFsY2F0ZWwtTHVjZW50DQog ICAgICAgICAgICAgIFNjaGFnZW4gMzMNCiAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVu DQogICAgICAgICAgICAgIE5ldGhlcmxhbmRzDQogICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3 NQ0KICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICBFZGl0 b3I6IEVkd2FyZCBCZWlsaQ0KICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAg ICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgUGV0 YWNoLVRpa3ZhIDEwMTczDQogICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICBUZWw6 ICs5NzItMy05MjQtMzQ5MQ0KICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20i DQoNCiAgICBERVNDUklQVElPTg0KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVs ZSBhcmUgdXNlZCB0byBkZXNjcmliZQ0KICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXRpZXMg b2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywNCiAgICAgIGNvbXBsZW1lbnRpbmcgaWZT dGFja1RhYmxlIGFuZCBpZkludlN0YWNrVGFibGUgZGVmaW5lZCBpbg0KICAgICAgSUYtTUlCIGFu ZCBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICBDb3B5cmlnaHQg KEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgb2YgdGhpcyBN SUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgaXRzZWxm IGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIg0KDQogICAgUkVWSVNJT04gICAgIjIwMDcwMjE4MDAw MFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZlcnNp b24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iDQoNCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBY WFhYIHdpdGggdGhlIGFjdHVhbCBSRkMgbnVtYmVyICYNCiAgICAgIC0tIHJlbW92ZSB0aGlzIG5v dGUNCiANCiAgICA6Oj0geyBtaWItMiBaWlogfQ0KDQogICAgICAtLSBFZE5vdGU6IFJlcGxhY2Ug WlpaIHdpdGggYSByZWFsIE9JRCBvbmNlIGl0IGlzDQogICAgICAtLSBhbGxvY2F0ZWQgJiByZW1v dmUgdGhpcyBub3RlLg0KDQogICAtLSBTZWN0aW9ucyBvZiB0aGUgbW9kdWxlDQogICAtLSBTdHJ1 Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUNCiAgIC0tIEFwcGVuZGl4IEQ6 IFN1Z2dlc3RlZCBPSUQgTGF5b3V0DQoNCiAgIGlmQ2FwU3RhY2tPYmplY3RzICAgICBPQkpFQ1Qg SURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29uZm9y bWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgaWZDYXBTdGFja01JQiAyIH0NCg0KICAgLS0g R3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0NCiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91 cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwN CiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicN CiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXllcnMgb2Yg bmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9u c2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZTdGFja1RhYmxlKS4gSW4gcGFydGljdWxhciwg aXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAgICAgICB3aGljaCBzdWItbGF5ZXJzIE1BWSBw b3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2ggb3RoZXINCiAgICAgICBzdWItbGF5ZXJzLCBh cyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUNCiAgICAgICBk ZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCBy b3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9yIGV4YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXll ciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9u IHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAgICAgICBpZkluZGV4IHZhbHVlIHksIHRoZW4g dGhpcyB0YWJsZSBjb250YWluczoNCiAgICAgICANCiAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMu eC55PXRydWUNCg0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2VzIG5vdCBleGlz dCBpZiBpdCBpcyBpbXBvc3NpYmxlDQogICAgICAgdG8gY29ubmVjdCBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzIHggYW5kIHkuDQogICAgICAgDQogICAgICAgTm90ZSB0aGF0IGZvciBtb3N0IHN0YWNr ZWQgaW50ZXJmYWNlcyAoZS5nLiAyQkFTRS1UTCkNCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBs ZWFzdCBvbmUgaGlnaGVyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQQ1MNCiAgICAgICBwb3J0KSBm b3IgZWFjaCBsb3dlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4gUE1FKSBhbmQgYXQNCiAgICAgICBs ZWFzdCBvbmUgbG93ZXItbGV2ZWwgaW50ZXJmYWNlIGZvciBlYWNoIGhpZ2hlci1sZXZlbA0KICAg ICAgIGludGVyZmFjZSwgdGhhdCBpcywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgcm93IHdp dGggYQ0KICAgICAgICd0cnVlJyBzdGF0dXMgZm9yIGFueSBleGlzdGluZyB2YWx1ZSBvZiB4IG9y IHkuDQoNCiAgICAgICBUaGlzIHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2 aWNlIGNhcGFiaWxpdHkiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1NSUIsIGlmU3RhY2tU YWJsZSINCiAgICAgOjo9IHsgaWZDYXBTdGFja09iamVjdHMgMSB9DQoNCiAgIGlmQ2FwU3RhY2tF bnRyeSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSWZDYXBTdGFja0VudHJ5DQogICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5mb3JtYXRpb24gb24gYSBwYXJ0aWN1bGFyIHJlbGF0 aW9uc2hpcCBiZXR3ZWVuIHR3bw0KICAgICAgIHN1Yi1sYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBv bmUgc3ViLWxheWVyIE1BWSBwb3NzaWJseSBydW4NCiAgICAgICBvbiAndG9wJyBvZiB0aGUgb3Ro ZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcw0KICAgICAgIHRvIGEgY29u Y2VwdHVhbCByb3cgaW4gdGhlIGlmVGFibGUgKGludGVyZmFjZSBpbmRleCBmb3INCiAgICAgICBs b3dlci0gYW5kIGhpZ2hlci1sYXllciByZXNwZWN0aXZlbHkpLiINCiAgICAgSU5ERVggew0KICAg ICAgIGlmU3RhY2tIaWdoZXJMYXllciwNCiAgICAgICBpZlN0YWNrTG93ZXJMYXllcg0KICAgICB9 DQogICAgIDo6PSB7IGlmQ2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgSWZDYXBTdGFja0VudHJ5IDo6 PSBTRVFVRU5DRSB7DQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQ0K ICAgICAgfQ0KDQogICBpZkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBzdGF0dXMgb2YgdGhl ICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknIHJlbGF0aW9uc2hpcA0KICAgICAgIGJldHdlZW4g dHdvIHN1Yi1sYXllcnMuIFRoZSBmb2xsb3dpbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZDoNCiAg ICAgICAgIHRydWUoMSkgICAgICAgICAtIGluZGljYXRlcyB0aGF0IHRoZSBzdWItbGF5ZXIgaW50 ZXJmYWNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllZCBieSB0aGUgaWZT dGFja0xvd2VyTGF5ZXIgTUFZDQogICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBjb25uZWN0 ZWQgdG8gcnVuICdiZWxvdycgdGhlIHN1Yi1sYXllcg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50ZXJmYWNlLCBpZGVudGlmaWVkIGJ5IHRoZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWZTdGFja0hpZ2hlckxheWVyIGluZGV4Lg0KICAgICAgICAgZmFsc2UoMikgICAgICAgIC0g dGhlIHN1Yi1sYXllciBpbnRlcmZhY2VzIGNhbm5vdCBiZQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29ubmVjdGVkIHRlbXBvcmFyaWx5IGR1ZSB0bw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5hdmFpbGFiaWxpdHkgb2YgdGhlIGludGVyZmFjZShzKSwgZS5nLg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgb25lIG9mIHRoZSBpbnRlcmZhY2VzIGlzIGxvY2F0ZWQgb24gYW4N CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFic2VudCBwbHVnZ2FibGUgbW9kdWxlLg0KDQog ICAgICAgTm90ZSB0aGF0IGxvd2VyLWxheWVyIGludGVyZmFjZSBhdmFpbGFiaWxpdHkgcGVyIGhp Z2hlci1sYXllciwNCiAgICAgICBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mICd0cnVlJywgY2Fu IGJlIGNvbnN0cmFpbmVkIGJ5DQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUg YnkgdGhlIGFnZ3JlZ2F0aW9uIGNhcGFjaXR5IG9mDQogICAgICAgYSBoaWdoZXItbGF5ZXIgaW50 ZXJmYWNlIG9yIGJ5IHRoZSBsb3dlci1sYXllciBpbnRlcmZhY2UgaW4NCiAgICAgICBxdWVzdGlv biBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIGhpZ2hlci1sYXllcg0KICAgICAg IGludGVyZmFjZS4gSW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1sYXll ciBjYW4NCiAgICAgICBiZSBjb25uZWN0ZWQgdG8gYW5vdGhlciBzdWItbGF5ZXIsIGFsbCByZXNw ZWN0aXZlIG9iamVjdHMNCiAgICAgICAoZS5nLiBpZkNhcFN0YWNrVGFibGUsIGlmU3RhY2tUYWJs ZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSBmb3INCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNlcykg U0hBTEwgYmUgaW5zcGVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZCBvbmx5LCB1 bmxpa2UgaWZTdGFja1N0YXR1cywgYXMgaXQNCiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1jb25u ZWN0IGNhcGFiaWxpdHkuIg0KICAgICA6Oj0geyBpZkNhcFN0YWNrRW50cnkgMSB9DQoNCiAgIGlm SW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgICBTRVFVRU5D RSBPRiBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi QSB0YWJsZSBjb250YWluaW5nIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSByZWxhdGlvbnNo aXBzDQogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3JrIGlu dGVyZmFjZXMuIFRoaXMgDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIgaWZJbnZTdGFja1Rh YmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFuIGludmVyc2Ugb2Yg dGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBNSUIgbW9kdWxlLg0K ICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5mb3JtYXRpb24gb24g d2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgnIHdoaWNoIG90aGVy IHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8g YSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3IgZXhhbXBsZSwgd2hl biB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0KICAgICAgIGNvbm5l Y3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZQ0K ICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAgICAgIGlmSW52Q2Fw U3RhY2tTdGF0dXMueC55PXRydWUNCg0KICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgZXhhY3Rs eSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGUNCiAgICAgICBpZkNhcFN0YWNrVGFibGUs IGJ1dCB0aGUgcm93cyBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgb3JkZXIuDQoNCiAgICAgICBUaGlz IHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgYSBjcm9zcy1jb25uZWN0DQogICAg ICAgY2FwYWJpbGl0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiSUYtSU5WRVJURUQtU1RB Q0stTUlCLCBpZkludlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDIg fQ0KDQogICBpZkludkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg ICAgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUN CiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgICJJ bmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0N CiAgICAgICAgbGF5ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcnVuIHVu ZGVybmVhdGggdGhlDQogICAgICAgIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iDQog ICAgIElOREVYIHsgaWZTdGFja0xvd2VyTGF5ZXIsIGlmU3RhY2tIaWdoZXJMYXllciB9DQogICAg IDo6PSB7IGlmSW52Q2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgIElmSW52Q2FwU3RhY2tFbnRyeSA6 Oj0gU0VRVUVOQ0Ugew0KICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgICAgICBUcnV0aFZhbHVl DQogICAgfQ0KDQogICBpZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgICAgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgICJUaGUg c3RhdHVzIG9mIHRoZSBwb3NzaWJsZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5Jw0KICAgICAg ICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4NCg0KICAgICAgICBBbiBpbnN0 YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ugb2YgdGhlDQogICAg ICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2JqZWN0LCBhbmQgdmljZSB2ZXJzYS4gRm9yIGV4YW1wbGUs IGlmIHRoZQ0KICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRo ZW4gdGhlIHZhcmlhYmxlDQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5IIG11c3QgYWxzbyBl eGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbg0KICAgICAgICBhZGRpdGlvbiwgdGhlIHR3byB2YXJp YWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNhbWUgdmFsdWUuDQoNCiAgICAgICAgVGhlIGlmSW52U3Rh Y2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVzDQogICAgICAgIGEg Y3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgICJpZkNh cFN0YWNrU3RhdHVzIg0KICAgICA6Oj0geyBpZkludkNhcFN0YWNrRW50cnkgMSB9DQoNCiAgLS0N CiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBpZkNhcFN0YWNrR3JvdXBz ICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1h bmNlIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgT0JKRUNUIElERU5USUZJRVIgOjo9 DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQ0KDQogICAtLSBVbml0cyBvZiBD b25mb3JtYW5jZQ0KDQogICBpZkNhcFN0YWNrR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVD VFMgew0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsDQogICAgICAgaWZJbnZDYXBTdGFja1N0YXR1 cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRpb24gb24gdGhlDQog ICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFja2VkKSBu ZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcy4iDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tHcm91cHMg MSB9DQoNCg0KICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgaWZDYXBTdGFja0NvbXBs aWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIFNOTVAgZW50 aXRpZXMsIHdoaWNoIHByb3ZpZGUNCiAgICAgICBpbmZvcm1hdGlvbiBvbiB0aGUgY3Jvc3MtY29u bmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyDQogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsg aW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0DQogICAgICAgYmV0d2VlbiB0 aGUgc3ViLWxheWVycy4NCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRl cm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBSRVFVSVJFRDoNCiAgICAgICAN CiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQogICAg ICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIElG LU1JQiAgICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMw0KICAgICAgIElGLUlOVkVSVEVELVNU QUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlIg0KDQogICAgIA0KICAgICBNT0RVTEUgIC0tIHRoaXMg bW9kdWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkNhcFN0YWNrR3Jv dXANCiAgICAgICB9DQogICAgICAgDQogICAgICAgT0JKRUNUICAgICAgIGlmQ2FwU3RhY2tTdGF0 dXMNCiAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQ0KICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIGZhbHNlKDIpIHZhbHVlIGlzIE9Q VElPTkFMIGZvcg0KICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxl IGludGVyZmFjZXMuIg0KDQogICAgICAgT0JKRUNUICAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMN CiAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQ0KICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhlIGZhbHNlKDIpIHZhbHVlIGlzIE9QVElP TkFMIGZvcg0KICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgcGx1Z2dhYmxlIGlu dGVyZmFjZXMuIg0KICAgICAgIA0KICAgICBNT0RVTEUgIElGLU1JQg0KICAgICAgIE1BTkRBVE9S WS1HUk9VUFMgew0KICAgICAgICAgaWZTdGFja0dyb3VwMg0KICAgICAgIH0NCg0KICAgICBNT0RV TEUgIElGLUlOVkVSVEVELVNUQUNLLU1JQg0KICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgew0KICAg ICAgICAgaWZJbnZTdGFja0dyb3VwDQogICAgICAgfQ0KICAgICAgIA0KICAgICA6Oj0geyBpZkNh cFN0YWNrQ29tcGxpYW5jZXMgMSB9DQpFTkQNCjwvcHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9y MTkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk IGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDsNCkVG TSBDb3BwZXIgTUlCIERlZmluaXRpb25zPC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxl OyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPkVG TS1DVS1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVMRS1J REVOVElUWSwgT0JKRUNULVRZUEUsIE5PVElGSUNBVElPTi1UWVBFLCBJbnRlZ2VyMzIsDQogICAg VW5zaWduZWQzMiwgQ291bnRlcjMyLCBtaWItMg0KICAgICAgRlJPTSBTTk1QdjItU01JICAgICAg ICAgLS0gUkZDIDI1NzgNCiAgICBURVhUVUFMLUNPTlZFTlRJT04sIFRydXRoVmFsdWUsIFJvd1N0 YXR1cywgUGh5c0FkZHJlc3MNCiAgICAgIEZST00gU05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAy NTc5DQogICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgTk9USUZJQ0FUSU9OLUdS T1VQDQogICAgICBGUk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MA0KICAgIFNubXBB ZG1pblN0cmluZw0KICAgICAgRlJPTSBTTk1QLUZSQU1FV09SSy1NSUIgLS0gUkZDIDM0MTENCiAg ICBpZkluZGV4LCBpZlNwZWVkDQogICAgICBGUk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMg Mjg2Mw0KICAgIDsNCg0KICBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFU RUQgIjIwMDcwMjE4MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIE9SR0FOSVpBVElP TiAiSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQog ICAgQ09OVEFDVC1JTkZPDQogICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5p ZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGlu ZyBMaXN0czoNCiAgICAgICAgR2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAg ICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBC b2R5OiBzdWJzY3JpYmUgeW91cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBX aWpuZW4NCiAgICAgIFBvc3RhbDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdl biAzMw0KICAgICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0 aGVybGFuZHMNCiAgICAgICAgIFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3 aWpuZW5AYWxjYXRlbC1sdWNlbnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQog ICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXpl bCBTdC4sIFAuTy5CLiAxMDE3Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAg ICAgICAgICAgICAgSXNyYWVsDQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQog ICAgICBFLW1haWw6IGVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9O DQogICAgICAiVGhlIG9iamVjdHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIG1hbmFn ZQ0KICAgICAgdGhlIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIChFRk0pIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMNCiAgICAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMsIGRlZmluZWQgaW4g SUVFRSBTdGQuIDgwMi4zYWgtMjAwNCwNCiAgICAgIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgSUVF RSBTdGQuIDgwMi4zLTIwMDUuDQoNCiAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJlbmNlcyBhcmUg dXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToNCg0KICAgICAgWzgwMi4zYWhdIHJlZmVy cyB0bzoNCiAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0OiAnSUVFRSBTdGFuZGFyZCBmb3Ig SW5mb3JtYXRpb24NCiAgICAgICAgdGVjaG5vbG9neSAtIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQg aW5mb3JtYXRpb24gZXhjaGFuZ2UNCiAgICAgICAgYmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5k IG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0NCiAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1l bnRzIC0NCiAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRo IENvbGxpc2lvbg0KICAgICAgICBEZXRlY3Rpb24gKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5k IFBoeXNpY2FsIExheWVyDQogICAgICAgIFNwZWNpZmljYXRpb25zIC0NCiAgICAgICAgQW1lbmRt ZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbA0KICAgICAgICBM YXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MNCiAg ICAgICAgTmV0d29ya3MnLCAwNyBTZXB0ZW1iZXIgMjAwNC4NCg0KICAgICAgT2YgcGFydGljdWxh ciBpbnRlcmVzdCBhcmUgQ2xhdXNlIDYxLCAnUGh5c2ljYWwgQ29kaW5nDQogICAgICBTdWJsYXll ciAoUENTKSBhbmQgY29tbW9uIHNwZWNpZmljYXRpb25zLCB0eXBlIDEwUEFTUy1UUyBhbmQNCiAg ICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50JywgQ2xhdXNlIDQ1LA0K ICAgICAgJ01hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8pIEludGVyZmFjZScsIEFu bmV4IDYyQSwNCiAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFTUy1UUycgYW5kIEFubmV4IDYz QSwgJ1BNRCBwcm9maWxlcyBmb3INCiAgICAgIDJCQVNFLVRMJy4NCg0KICAgICAgW0cuOTkxLjJd IHJlZmVycyB0bzoNCiAgICAgICAgSVRVLVQgUmVjb21tZW5kYXRpb24gRy45OTEuMjogJ1Npbmds ZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbA0KICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNM KSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAyMDAzLg0KDQogICAgICBbQU5GUF0gcmVmZXJzIHRv Og0KICAgICAgICBOSUNDIERvY3VtZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlvbiBv ZiB0aGUgQWNjZXNzDQogICAgICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxp Y2FibGUgdG8gdHJhbnNtaXNzaW9uDQogICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQgQWNj ZXNzIE5ldHdvcmssJyBBdWd1c3QgMjAwNS4NCg0KICAgICAgTmFtaW5nIENvbnZlbnRpb25zOg0K ICAgICAgICBBdG4gICAtIEF0dGVudWF0aW9uDQogICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZp Y2UNCiAgICAgICAgQ1BFICAgLSBDdXN0b21lciBQcmVtaXNlcyBFcXVpcG1lbnQNCiAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQ0KICAgICAgICBFRk1DdSAtIEVGTSBD b3BwZXINCiAgICAgICAgTURJTyAgLSBNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0DQogICAg ICAgIE1nbiAgIC0gTWFyZ2luDQogICAgICAgIFBBRiAgIC0gUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0 aW9uDQogICAgICAgIFBCTyAgIC0gUG93ZXIgQmFjay1PZmYNCiAgICAgICAgUENTICAgLSBQaHlz aWNhbCBDb2RpbmcgU3VibGF5ZXINCiAgICAgICAgUE1EICAgLSBQaHlzaWNhbCBNZWRpdW0gRGVw ZW5kZW50DQogICAgICAgIFBNRSAgIC0gUGh5c2ljYWwgTWVkaXVtIEVudGl0eQ0KICAgICAgICBQ U0QgICAtIFBvd2VyIFNwZWN0cmFsIERlbnNpdHkNCiAgICAgICAgU05SICAgLSBTaWduYWwgdG8g Tm9pc2UgUmF0aW8NCiAgICAgICAgVENQQU0gLSBUcmVsbGlzIENvZGVkIFB1bHNlIEFtcGxpdHVk ZSBNb2R1bGF0aW9uDQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcp LiAgVGhpcyB2ZXJzaW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMg WFhYWDsgIHNlZSB0aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4i DQoNCiAgICBSRVZJU0lPTiAgICAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3 DQogICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhY LiINCg0KICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBu dW1iZXIgJg0KICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KIA0KICAgIDo6PSB7IG1pYi0yIFlZ WSB9DQoNCiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBZWVkgd2l0aCBhIHJlYWwgT0lEIG9uY2Ug aXQgaXMNCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNl Y3Rpb25zIG9mIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJ RklFUiA6Oj0geyBlZm1DdU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUN Cg0KICAgZWZtQ3VQb3J0ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVj dHMgMSB9DQoNCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZt Q3VPYmplY3RzIDIgfQ0KDQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIEVmbVByb2Zp bGVJbmRleCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAg ICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlx dWUgdmFsdWUsIGdyZWF0ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0K ICAgICAgIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5E RUQgdGhhdA0KICAgICAgIHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5n IGZyb20gMS4gVGhlIHZhbHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBj b25zdGFudCBhdCBsZWFzdCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBlbnRpdHkncyBuZXR3b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQg cmUtaW5pdGlhbGl6YXRpb24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1 KQ0KDQogICBFZm1Qcm9maWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAg ICBESVNQTEFZLUhJTlQgImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBv ZiBFZm1Qcm9maWxlSW5kZXgNCiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMg YSBncmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1c2VkDQogICAgICAgdG8gaWRlbnRpZnkgYSBQTUUg cHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzDQogICAgICAgZXh0ZW5zaW9u IHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgemVyby4gVGhlIHZhbHVlIG9mDQogICAg ICAgemVybyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQg YXMgcGFydA0KICAgICAgIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdoaWNoIHVz ZXMgdGhpcyBzeW50YXguDQogICAgICAgRXhhbXBsZXMgb2YgdGhlIHVzYWdlIG9mIHplcm8gdmFs dWUgbWlnaHQgaW5jbHVkZSBzaXR1YXRpb25zDQogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRp b25hbCBwcm9maWxlIGlzIHVua25vd24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAo MC4uMjU1KQ0KDQogICBFZm1Qcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04N CiAgICAgRElTUExBWS1ISU5UICIxZDoiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlJlcHJlc2VudHMgYSBsaXN0IG9mIHVwIHRvIDYgRWZtUHJv ZmlsZUluZGV4J3MuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleCB0ZXh0dWFsIGNvbnZlbnRp b24gZGVmaW5lcyBhIGdyZWF0ZXIgdGhhbg0KICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVu dGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1DQogICAgICAgcG9ydC4gVGhl IHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIGEgY29uY2F0ZW5hdGlvbiBvZiBvbmUgb3INCiAgICAg ICBtb3JlICh1cCB0byA2KSBvY3RldHMsIHdoZXJlIGVhY2ggb2N0ZXQgY29udGFpbnMgYW4gOC1i aXQNCiAgICAgICBFZm1Qcm9maWxlSW5kZXggdmFsdWUuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJ bmRleExpc3Qgc3BlY2lmaWVzIGEgbGlzdCBvZiBhbHRlcm5hdGl2ZQ0KICAgICAgIHByb2ZpbGVz LCBhbnkgb2Ygd2hpY2ggY2FuIGJlIGNob3NlbiBmb3IgY29uZmlndXJhdGlvbiBvZiBhbg0KICAg ICAgIFBNRS4iDQogICAgIFNZTlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMS4uNikpDQoN CiAgIEVmbVRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBT VEFUVVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRleHR1 YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICBj b252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGggDQogICAg ICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlzDQogICAgICAg ZXh0ZW5zaW9uIHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgdW5rbm93bigwKSwgd2hp Y2gNCiAgICAgICBjYW4gYmUgcmV0dXJuZWQgYXMgYSByZXN1bHQgb2YgR0VUIG9wZXJhdGlvbiwg d2hlbiBhbiBleGFjdA0KICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9iamVjdCBj YW5ub3QgYmUgZGV0ZXJtaW5lZC4iDQogICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgdW5rbm93 bigwKSwgdHJ1ZSgxKSwgZmFsc2UoMikgfQ0KDQogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBHcm91 cA0KDQogICBlZm1DdVBvcnROb3RpZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVm bUN1UG9ydCAwIH0NCiAgIA0KICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZ UEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUg c2luY2Ugd2UgYXJlIHVuZGVyIHNwZWNpZmljIFBDUw0KICAgICAgIGlmU3BlZWQsDQogICAgICAg ZWZtQ3VUaHJlc2hMb3dSYXRlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0 aGUgRUZNQ3UgcG9ydCcgZGF0YSByYXRlDQogICAgICAgaGFzIHJlYWNoZWQvZHJvcHBlZCBiZWxv dyBvciBleGNlZWRlZCB0aGUgbG93IHJhdGUgdGhyZXNob2xkLA0KICAgICAgIHNwZWNpZmllZCBi eSBlZm1DdVRocmVzaExvd1JhdGUuDQoNCiAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUg c2VuZCBmb3IgdGhlIC1PIHN1YnR5cGUgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RT LU8pIHdoaWxlIHRoZSBwb3J0IGlzIHVwLCBvbiB0aGUgY3Jvc3NpbmcNCiAgICAgICBldmVudCBp biBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQ0KICAgICAg IHRocmVzaG9sZCkgdG8gbG93IChyYXRlIGVxdWFscyB0aGUgdGhyZXNob2xkIG9yIGJlbG93IGl0 KSBhbmQNCiAgICAgICBmcm9tIGxvdyB0byBub3JtYWwuIFRoaXMgbm90aWZpY2F0aW9uIGlzIG5v dCBhcHBsaWNhYmxlIHRvDQogICAgICAgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAgSXQgaXMg UkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIuNSBzZWMsDQog ICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNh dGlvbiwNCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IHNpbXVsdGFuZW91cyBMaW5r VXAvTGlua0Rvd24gYW5kDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9u cyB0byBiZSBzZW50Lg0KDQogICAgICAgVGhlIGFkYXB0aXZlIG5hdHVyZSBvZiB0aGUgRUZNQ3Ug dGVjaG5vbG9neSBhbGxvd3MgdGhlIHBvcnQgdG8NCiAgICAgICBhZGFwdCBpdHNlbGYgdG8gdGhl IGNoYW5nZXMgaW4gdGhlIGNvcHBlciBlbnZpcm9ubWVudCwgZS5nLg0KICAgICAgIGFuIGltcHVs c2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBvciBhIG1pY3JvLWludGVycnVwdGlvbiBtYXkNCiAg ICAgICB0ZW1wb3JhcmlseSBkcm9wIG9uZSBvciBtb3JlIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9u IGdyb3VwLA0KICAgICAgIGNhdXNpbmcgYSByYXRlIGRlZ3JhZGF0aW9uIG9mIHRoZSBhZ2dyZWdh dGVkIEVGTUN1IGxpbmsuDQogICAgICAgVGhlIGRyb3BwZWQgUE1FcyB3b3VsZCB0aGVuIHRyeSB0 byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdA0KICAgICAgIGEgbG93ZXIgcmF0ZSB0aGFuIGJl Zm9yZSwgYWRqdXN0aW5nIHRoZSByYXRlIHRvIHByb3ZpZGUNCiAgICAgICByZXF1aXJlZCB0YXJn ZXQgU05SIG1hcmdpbi4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24g aXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUg b2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyAxIH0NCg0KICAgLS0g UENTIFBvcnQgZ3JvdXANCg0KICAgZWZtQ3VQb3J0Q29uZlRhYmxlIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIEVGTUN1IDJCQVNFLVRM LzEwUEFTUy1UUyAoUENTKQ0KICAgICAgIFBvcnRzLiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVT VCBiZSBtYWludGFpbmVkIGluIGENCiAgICAgICBwZXJzaXN0ZW50IG1hbm5lciINCiAgICAgOjo9 IHsgZWZtQ3VQb3J0IDEgfQ0KDQogICBlZm1DdVBvcnRDb25mRW50cnkgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBvcnQgQ29uZmlndXJhdGlvbiB0YWJsZS4NCiAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBp ZkluZGV4Lg0KICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBv ZiBhIHNpbmdsZQ0KICAgICAgIG9yIG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxz byBpbmRleGVkIGJ5IGlmSW5kZXguIg0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgOjo9 IHsgZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBvcnRDb25mRW50cnkgOjo9DQog ICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAgICAgICAgICAgIFBoeXNBZGRy ZXNzLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAgIEVmbVByb2ZpbGVJ bmRleExpc3QsDQogICAgICAgZWZtQ3VUYXJnZXREYXRhUmF0ZSAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiAgICAgICAgICAgICAgICBVbnNpZ25lZDMy LA0KICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAgICAgIFRydXRoVmFsdWUsDQog ICAgICAgZWZtQ3VUaHJlc2hMb3dSYXRlICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZSAgICAgICBUcnV0aFZhbHVlDQogICAgIH0NCg0K ICAgZWZtQ3VQQUZBZG1pblN0YXRlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICBlbmFibGVkKDEpLA0KICAgICAgIGRpc2FibGVkKDIpDQogICAgIH0NCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkFkbWluaXN0cmF0aXZlIChkZXNpcmVkKSBzdGF0ZSBvZiB0 aGUgUEFGIG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQogICAgICAgV2hlbiAnZGlz YWJsZWQnLCBQTUUgQWdncmVnYXRpb24gd2lsbCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQ0KICAg ICAgIFBDUy4gTm8gbW9yZSB0aGFuIGEgc2luZ2xlIFBNRSBjYW4gYmUgYXNzaWduZWQgdG8gdGhp cyBQQ1MgaW4NCiAgICAgICB0aGlzIGNhc2UuDQogICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3 aWxsIGJlIHBlcmZvcm1lZCBieSB0aGUgUENTIHdoZW4gdGhlIGxpbmsNCiAgICAgICBpcyBVcCwg ZXZlbiBvbiBhIHNpbmdsZSBhdHRhY2hlZCBQTUUsIGlmIFBBRiBpcyBzdXBwb3J0ZWQuDQoNCiAg ICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBh IHZhbHVlIG9mDQogICAgICAgJ2Rpc2FibGVkJy4gQXR0ZW1wdHMgdG8gJ2VuYWJsZScgc3VjaCBw b3J0cyBTSEFMTCBiZSByZWplY3RlZC4NCg0KICAgICAgIFBBRiAnZW5hYmxlZCcgcG9ydCB3aXRo IG11bHRpcGxlIFBNRXMgYXNzaWduZWQgY2Fubm90IGJlDQogICAgICAgJ2Rpc2FibGVkJy4gQXR0 ZW1wdHMgdG8gJ2Rpc2FibGUnIHN1Y2ggcG9ydCBTSEFMTCBiZSByZWplY3RlZCwNCiAgICAgICB1 bnRpbCBhdCBtb3N0IG9uZSBQTUUgaXMgbGVmdCBhc3NpZ25lZC4NCg0KICAgICAgIENoYW5naW5n IFBBRkFkbWluU3RhdGUgaXMgYSB0cmFmZmljIGRpc3J1cHRpdmUgb3BlcmF0aW9uIGFuZA0KICAg ICAgIGFzIHN1Y2ggU0hBTEwgYmUgZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRz IHRvDQogICAgICAgY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBs aW5rIGlzIFVwIG9yDQogICAgICAgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0ZS4NCg0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl biB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0IGluIHRoZSAx MFAvMkIgUENTIGNvbnRyb2wNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDQ1LjIuMy4xOC4zIg0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMSB9DQoNCiAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgUGh5c0FkZHJlc3MgKFNJWkUoNikpDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQgKFBDUyku DQogICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5 IGZ1bmN0aW9uLA0KICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAgICAgICBQQ1MgcG9y dHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHZhbHVlIG9mDQog ICAgICAgYWxsIHplcm9lcy4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJl IHJlamVjdGVkDQogICAgICAgaW4gdGhpcyBjYXNlLg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1Qg YmUgaW5zdGFudGlhdGVkIGZvciB0aGUgLU8gc3VidHlwZSBQQ1MgYmVmb3JlDQogICAgICAgd3Jp dGluZyBvcGVyYXRpb25zIG9uIHRoZSBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUNCiAgICAg ICAoU2V0X2lmX0NsZWFyIGFuZCBDbGVhcl9pZl9TYW1lKSBhcmUgcGVyZm9ybWVkIGJ5IFBNRXMN CiAgICAgICBhc3NvY2lhdGVkIHdpdGggdGhlIFBDUy4NCiAgICAgICBUaGUgaW5pdGlhbCB2YWx1 ZSBvZiB0aGlzIG9iamVjdCBmb3IgLVIgc3VidHlwZSBwb3J0cyBhZnRlcg0KICAgICAgIHJlc2V0 IGlzIGFsbCB6ZXJvZXMuIEZvciAtUiBzdWJ0eXBlIHBvcnRzLCB0aGUgdmFsdWUgb2YgdGhpcw0K ICAgICAgIG9iamVjdCBjYW5ub3QgYmUgY2hhbmdlZCBkaXJlY3RseS4gVGhpcyB2YWx1ZSBtYXkg YmUgY2hhbmdlZA0KICAgICAgIGFzIGEgcmVzdWx0IG9mIHdyaXRpbmcgb3BlcmF0aW9uIG9uIHRo ZQ0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSBvYmplY3Qgb2YgcmVtb3RlIFBN RSBvZiAtTw0KICAgICAgIHN1YnR5cGUsIGNvbm5lY3RlZCB0byBvbmUgb2YgdGhlIGxvY2FsIFBN RXMgYXNzb2NpYXRlZCB3aXRoDQogICAgICAgdGhlIFBDUy4NCg0KICAgICAgIERpc2NvdmVyeSBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgQXR0ZW1wdHMg dG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YNCiAgICAg ICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMg VXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGUgUEFGIERpc2NvdmVyeSBj b2RlIG1hcHMgdG8gdGhlIGxvY2FsIERpc2NvdmVyeSBjb2RlDQogICAgICAgdmFyaWFibGUgaW4g UEFGIChub3RlIHRoYXQgaXQgZG9lcyBub3QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcNCiAgICAgICBD bGF1c2UgNDUgcmVnaXN0ZXIpIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYx LjIuMi44LjMsIDYxLjIuMi44LjQsIDQ1LjIuNi42LjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydENv bmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VBZG1pblByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleExpc3QNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRl c2lyZWQgY29uZmlndXJhdGlvbiBQcm9maWxlKHMpLCBjb21tb24gZm9yIGFsbCBQTUVzIGluIHRo ZQ0KICAgICAgIEVGTUN1IHBvcnQuIFRoaXMgb2JqZWN0IGlzIGEgbGlzdCBvZiBwb2ludGVycyB0 byBlbnRyaWVzIGluDQogICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3INCiAg ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50DQog ICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIEVGTUN1IHBvcnQgYXMgaW5kaWNhdGVkIGJ5 DQogICAgICAgZWZtQ3VQb3J0U2lkZS4NCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3Qg aXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5kaWNlcyBvZg0KICAgICAgIFByb2ZpbGVzLiBJZiB0aGlz IGxpc3QgY29uc2lzdHMgb2YgYSBzaW5nbGUgUHJvZmlsZSBpbmRleCwNCiAgICAgICB0aGVuIGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFMTCBiZSBjb25maWd1cmVkDQog ICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9maWxlIHJlZmVyZW5jZWQgYnkgdGhhdCBpbmRleCwg dW5sZXNzIGl0DQogICAgICAgaXMgb3ZlcndyaXR0ZW4gYnkgY29ycmVzcG9uZGluZyBub24temVy byBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICB3aGljaCB0YWtlcyBwcmVjZWRlbmNlIG92 ZXIgZWZtQ3VBZG1pblByb2ZpbGUuDQogICAgICAgVGhlIGxpc3QsIGNvbnNpc3Rpbmcgb2YgbW9y ZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2ggUE1FDQogICAgICAgaW4gdGhlIHBvcnQgdG8g YmUgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gYW55IFByb2ZpbGUNCiAgICAgICBzcGVjaWZpZWQg aW4gdGhlIGxpc3QuDQogICAgICAgQnkgZGVmYXVsdCB0aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBv ZiAweDAxLCByZWZlcmVuY2luZyAxc3QNCiAgICAgICBlbnRyeSBpbiBlZm1DdVBtZTJCUHJvZmls ZVRhYmxlIG9yIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3Qg aXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8gc3VidHlwZQ0KICAgICAgICgyQmFz ZVRMLU8gb3IgMTBQYXNzVFMtTykgRUZNQ3UgcG9ydHMuIEl0IGlzIHVuc3VwcG9ydGVkIGZvcg0K ICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzLg0K DQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgUHJvZmlsZSB2YWx1ZSBpcyBh dmFpbGFibGUgdmlhDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QuDQoNCiAgICAg ICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUg bGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNU IGJlIHJlamVjdGVkLCBpZiB0aGUNCiAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4N CiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSBsaXN0IHdpdGggYSBtZW1i ZXINCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9mIHRoZSBpbmRleCBmb3Ig YW4gYWN0aXZlIGVudHJ5DQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZSB0YWJs ZSwgTVVTVCBiZSByZWplY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgJzAxJ0ggfQ0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwfDk5OTk5OSkNCiAgICAg VU5JVFMgICAgICAgIkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNpcmVkIEVGTUN1 IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRlIGluDQogICAgICAgS2Jw cywgdG8gYmUgYWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1bmRlciBzcGVjdHJhbA0K ICAgICAgIHJlc3RyaWN0aW9ucyBwbGFjZWQgb24gZWFjaCBQTUUgdmlhIGVmbUN1QWRtaW5Qcm9m aWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGggdGhlIGRlc2lyZWQgU05S IE1hcmdpbiBzcGVjaWZpZWQgYnkNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbi4NCiAgICAgICBJ biBjYXNlIG9mIFBBRiwgdGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHN1bSBvZiBpbmRpdmlkdWFs IFBNRQ0KICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBlbnNhdGUgZm9yIGZyYWdt ZW50YXRpb24gYW5kDQogICAgICAgNjQvNjVCIGZyYW1pbmcgb3ZlcmhlYWQgKGUuZy4gdGFyZ2V0 IGRhdGEgcmF0ZSBvZiAxME1icHMNCiAgICAgICBTSEFMTCBhbGxvdyBsb3NzbGVzcyB0cmFuc21p c3Npb24gb2YgZnVsbC1kdXBsZXggMTBNYnBzDQogICAgICAgRXRoZXJuZXQgZnJhbWUgc3RyZWFt IHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLg0KDQogICAgICAgVGhlIHZhbHVlIGlzIGxp bWl0ZWQgYWJvdmUgYnkgMTAwTWJwcyBhcyB0aGlzIGlzIHRoZSBtYXgNCiAgICAgICBidXJzdCBy YXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLg0KDQogICAgICAgVGhlIHZhbHVlIGJldHdl ZW4gMSBhbmQgMTAwMDAwIGluZGljYXRlcyB0aGF0IHRoZSB0b3RhbCBkYXRhDQogICAgICAgcmF0 ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24gU0hBTEwN CiAgICAgICBiZSBlcXVhbCB0byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUg dGFyZ2V0IGRhdGENCiAgICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZlZCB1bmRlciBzcGVjdHJh bCByZXN0cmljdGlvbnMgc3BlY2lmaWVkDQogICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZt Q3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAgICAgICBtYXJnaW4uIElu IGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZQ0KICAgICAgIGhp Z2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBieSB0aGUgdGFyZ2V0LCB0 aGUNCiAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRv IGFkZGl0aW9uYWwgU05SDQogICAgICAgbWFyZ2luIG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5n IHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICBieSBlZm1DdUFkYXB0aXZlU3Bl Y3RyYS4NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0 IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBt YXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICBpbml0aWFsaXphdGlvbiAoQmVz dCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAgICByZXN0cmljdGlvbnMg YW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVh ZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1P LzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQogICAg ICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFRhcmdldCBEYXRhIFJhdGUgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUNCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0 aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkDQogICAgICAgKGluIGNhc2Ugb2YgU05NUCB3aXRo IHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQ0KICAgICAgIGxpbmsgaXMgVXAg b3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgRGF0YSBSYXRlIG9m IHRoZSBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkDQogICAgICAgYnkgaWZTcGVlZCBvYmplY3Qg b2YgSUYtTUlCLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNCB9DQoN CiAgIGVmbUN1VGFyZ2V0U25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNp Z25lZDMyKDAuLjIxKQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJEZXNpcmVkIEVGTUN1IHBvcnQgU05SIE1hcmdpbiB0byBiZSBhY2hpZXZlZCBvbiBhbGwg UE1Fcw0KICAgICAgIGFzc2lnbmVkIHRvIHRoZSBwb3J0LCBkdXJpbmcgaW5pdGlhbGl6aWF0aW9u LiAoVGhlIFNOUiBtYXJnaW4NCiAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBk ZXNpcmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLg0KDQogICAgICAgTm90ZSB0aGF0IDgwMi4z YWggcmVjb21tZW5kcyB1c2luZyBkZWZhdWx0IFRhcmdldCBTTlIgTWFyZ2luDQogICAgICAgb2Yg NWRCIGZvciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3Jk ZXINCiAgICAgICB0byBhY2hpZXZlIG1lYW4gQml0IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcg YXQgdGhlIFBNQQ0KICAgICAgIHNlcnZpY2UgaW50ZXJmYWNlLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAo MkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlw ZXMuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFRhcmdldCBTTlIgTWFyZ2luIE1V U1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlDQogICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0 byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZA0KICAgICAgIChpbiBjYXNlIG9m IFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUNCiAgICAgICBs aW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNO UiBNYXJnaW4gb2YgdGhlIFBNRXMgY29tcHJpc2luZyB0aGUgRUZNQ3UNCiAgICAgICBwb3J0IGlz IHJlcHJlc2VudGVkIGJ5IGVmbUN1UG1lU25yTWduLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVT VCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDYxLjEuMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDUgfQ0KDQogICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIGhvdyB0 byB1dGlsaXplIGV4Y2VzcyBjYXBhY2l0eSB3aGVuIHRoZSBjb3BwZXINCiAgICAgICBlbnZpcm9u bWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhhdA0K ICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJnZXREYXRhUmF0ZS4NCiAgICAgICAgDQog ICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXNzIGNhcGFiaWxp dHkgU0hBTEwgYmUNCiAgICAgICByZWNsYWltZWQgYnkgbWluaW1pemluZyB0cmFuc21pdCBwb3dl ciwgZS5nLiB1c2luZyBoaWdoZXINCiAgICAgICBjb25zdGVsbGF0aW9ucyBhbmQgUG93ZXIgQmFj ay1PZmYsIGluIG9yZGVyIHRvIHJlZHVjZQ0KICAgICAgIGludGVyZmVyZW5jZSB0byBvdGhlciBj b3BwZXIgcGFpcnMgaW4gdGhlIGJpbmRlciBhbmQgdGhlIA0KICAgICAgIGFkdmVyc2UgaW1wYWN0 IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLg0KICAgICAgIA0KICAgICAgIFZhbHVlIG9mIGZh bHNlKDIpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTA0KICAgICAg IGJlIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5kIHNwcmVhZCBldmVubHkg YWNyb3NzDQogICAgICAgYWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRoZSAoUENTKSBwb3J0 LCB0byBpbmNyZWFzZSBsaW5rDQogICAgICAgcm9idXN0bmVzcy4NCg0KICAgICAgIFRoaXMgb2Jq ZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAg KDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5 cGVzLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZQ0KICAgICAgIG9mIFNOTVAgd2l0 aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcA0KICAgICAg IG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDYgfQ0KDQogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwKQ0KICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQg bG93IHJhdGUgY3Jvc3NpbmcgYWxhcm0NCiAgICAgICB0aHJlc2hvbGQuIFdoZW4gdGhlIGN1cnJl bnQgdmFsdWUgb2YgaWZTcGVlZCBmb3IgdGhpcyBwb3J0DQogICAgICAgcmVhY2hlcy9kcm9wcyBi ZWxvdyBvciBleGNlZWRzIHRoaXMgdGhyZXNob2xkLCBhbg0KICAgICAgIGVmbUN1TG93UmF0ZUNy b3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQNCiAgICAgICBi eSBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHJl YWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgKDJCYXNlVEwt Ty8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1TG93UmF0 ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVl DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdUxvd1JhdGVD cm9zc2luZyBub3RpZmljYXRpb25zIHNob3VsZA0KICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhp cyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0 aW9uIGlzIGRpc2FibGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3Ig dGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9i amVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4IH0NCg0KDQogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFi bGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q2Fw YWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENhcGFi aWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykNCiAgICAgICBQb3J0cy4g RW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhDQogICAgICAgcGVy c2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1UG9ydCAyIH0NCg0KICAgZWZtQ3VQb3J0 Q2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENh cGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRo ZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNl bnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRo YXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBt dWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIN CiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5D RSB7DQogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JV bmtub3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0K ICAgICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBG dW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUyku DQogICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1Mg Y2FuIHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVz Lg0KICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2Yg ZmFsc2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0 eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAz MC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlF bnRyeSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBw b3J0DQogICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBh IHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3Jt IFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hv c2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAg ICAgb2YgZmFsc2UoMikuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNo ZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0KICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1 ZSBpZiB1bmtub3duKDApLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNl IDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBh IENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAg ICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4g dGhlDQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAg ICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNp dHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVk IGJ5IHRoZSBsb2NhbCBQQUYuDQogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBh c3NpZ25lZCB0byBhIHBhcnRpY3VsYXINCiAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMp IGlzIG5ldmVyIGdyZWF0ZXIgdGhhbg0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxv Y2FsUEFGQ2FwYWNpdHkuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIu MiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0N Cg0KICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFVuc2lnbmVkMzIgKDB8MS4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQ TUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAg IFBoeSAoUENTIHBvcnQpLg0KICAgICAgIFZhbHVlIG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVy IFBBRiBDYXBhY2l0eSBpcyB1bmtub3duDQogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQp Lg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0K ICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuMTAiDQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxp dHlFbnRyeSA0IH0NCg0KDQogICBlZm1DdVBvcnRTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgt QUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5m b3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBs ZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzDQogICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUg aWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRp dGlvbmFsIHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlz IGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxl IGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAg aXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVm bUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9y dFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhl IEVGTUN1IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBh biBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFu IEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlw bGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAg IElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0N Cg0KICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBl Zm1DdUZsdFN0YXR1cyAgICAgICAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNp ZGUgICAgICAgICAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAg ICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAg ICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAg ICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAg IENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluQmFkRnJhZ21lbnRzICAgICAgICAgICBDb3Vu dGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMy LA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAg ICAgICBlZm1DdVBBRkluTG9zdEVuZHMgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAg ZWZtQ3VQQUZJbk92ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAg ZWZtQ3VGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAg ICAgIG5vUGVlcigwKSwNCiAgICAgICBwZWVyUG93ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5 cGVNaXNtYXRjaCgyKSwNCiAgICAgICBsb3dSYXRlKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVsdCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAg b2YgcG9zc2libGUNCiAgICAgICBjb25kaXRpb25zLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25z IGFyZToNCiAgICAgICAgIG5vUGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUg cmVhY2hlZCAoZS5nLg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0 YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXRjLikgTW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAt IHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJU eXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBl LmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2Nh bCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgb3Ro ZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgbG93UmF0ZSAgICAgICAgICAgICAtIGlmU3Bl ZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJ Ri1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0 aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAg ICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUg UE1FIGlmDQogICAgICAgUEFGIGlzIGRpc2FibGVkKS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAg ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5 IDEgfQ0KDQogICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAg ICB1bmtub3duKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9k ZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJl cicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5 cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAg ICctUicpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQg dGhlIHBvcnQgaXMNCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMg YXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAg ICAgVGhlIHZhbHVlIG9mICd1bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8g YXNzaWduZWQNCiAgICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBu b3Qgb2YgdGhlIHNhbWUgc2lkZQ0KICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAg ICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUN CiAgICAgICBhUGh5RW5kIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4x LCAzMC4xMS4xLjEuMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAg IGVmbUN1TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAo MC4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3Vy cmVudGx5IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0 aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNrVGFibGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlz IG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNhcGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmpl Y3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNyZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAg ICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0 IHVzaW5nDQogICAgICAgaWZTdGFja1RhYmxlLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNF bnRyeSAzIH0NCg0KICAgZWZtQ3VQQUZJbkVycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21l bnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRl cmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVh ZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5vdCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAg ICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQ QUYsIHRoZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAg ICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBw cmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBS WCBlcnJvciByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUg b2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9m IHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5k aWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjIxIg0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0NCg0KICAgZWZt Q3VQQUZJblNtYWxsRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50 ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMgc21hbGxl ciB0aGFuIG1pbkZyYWdtZW50U2l6ZQ0KICAgICAgICg2NCBCeXRlcyksIHdoaWNoIGhhdmUgYmVl biByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hDQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJk ZWQuDQogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQ QUYgaXMNCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAg ICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFG IHNtYWxsIGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0 aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUt aW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGlt ZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRp bnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDUgfQ0KDQogICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9m IGZyYWdtZW50cyBsYXJnZXIgdGhhbiBtYXhGcmFnbWVudFNpemUNCiAgICAgICAoNTEyIEJ5dGVz KSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBpbnRl cmZhY2UgYW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGlu YWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHBy ZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2Yg aWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhlIHNlcXVl bmNlDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLCB0aGF0 IGhhdmUgYmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFu ZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBu ZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVk LiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBQQUYgYmFkIGZyYWdtZW50cw0KICAgICAgIHJlZ2lzdGVyLg0KDQog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9m IGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiDQogICAgIDo6PSB7 IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDcgfQ0KDQogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQSBudW1iZXIgb2YgZ2FwcyBpbiB0aGUgc2VxdWVuY2Ugb2YgZnJhZ21lbnRzLCB3aGlj aCBoYXZlDQogICAgICAgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAo dGhlIGZyYW1lIGJ1ZmZlciBpcw0KICAgICAgIGZsdXNoZWQgdG8gdGhlIG5leHQgdmFsaWQgZnJh bWUgc3RhcnQsIHdoZW4gZnJhZ21lbnQvZnJhZ21lbnRzDQogICAgICAgZXhwZWN0ZWQgYnkgdGhl IGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uIGlzL2FyZSBub3QgcmVjZWl2ZWQpLg0KICAgICAgIFRo aXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAg dW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3Vu dGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVu DQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50 DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBv ZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAg ICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMy4yNiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9DQoNCiAgIGVm bUN1UEFGSW5Mb3N0U3RhcnRzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0YXJ0T2ZQYWNr ZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJseSBmdW5j dGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0K ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlz Y29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQog ICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQg b3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRl ckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9y dFN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVy IG9mIG1pc3NpbmcgRW5kT2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAg ICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVy IGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2Fi bGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMg aXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8g SW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudA0KICAgICAgIHJl Z2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNv dW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFn ZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQg aW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjgi DQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEwIH0NCg0KICAgZWZtQ3VQQUZJbk92 ZXJmbG93cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzLCByZWNlaXZlZCBhY3Jvc3MgdGhl IGdhbW1hIGludGVyZmFjZQ0KICAgICAgIGFuZCBkaXNjYXJkZWQsIHdoaWNoIHdvdWxkIGhhdmUg Y2F1c2VkIHRoZSBmcmFtZSBhc3NlbWJseQ0KICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4NCiAg ICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0K ICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0 aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KICAgICAgIA0K ICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2Vu dCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgb3ZlcmZs b3cgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRo aXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUg bWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRl ZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVm aW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu My4yNCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTEgfQ0KDQogIC0tIFBNRSBO b3RpZmljYXRpb25zIEdyb3VwDQoNCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdVBtZSAwIH0NCiAgIA0KICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmcgTk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVMaW5l QXRuLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0KICAgICB9DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24g aW5kaWNhdGVzIHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24NCiAgICAgICB0aHJlc2hvbGQgKGFz IHBlciB0aGUgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgdmFsdWUpIGhhcyBiZWVuIHJl YWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMNCiAgICAgICBQTUUuIFRo aXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAg ICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhj ZWVkZWQNCiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0 IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRo ZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlz IGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUN CiAgICAgICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBp cyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJs ZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVm bUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQog ICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24NCiAgICAg fQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo aXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0K ICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0K ICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0K ICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVu dCBpbg0KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhjZWVkZWQgYW5k IGZyb20gZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBi ZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0K ICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlv bnMgdG8gYmUNCiAgICAgICBzZW50Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlm aWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3Nz aW5nRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAyIH0N Cg0KICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RT IHsNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuDQogICAgICAgZGV0ZWN0ZWQgYnkg YSB2ZW5kb3Igc3BlY2lmaWMgZGlhZ25vc3RpYyBvciBhIHNlbGYtdGVzdC4NCg0KICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAg ICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBt ZU5vdGlmaWNhdGlvbnMgMyB9DQoNCiAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUgTk9USUZJ Q0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQog ICAgICAgZWZtQ3VBZG1pblByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUNCiAg ICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMN CiAgICAgICBmYWlsZWQsIGR1ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvIGFjaGll dmUgcmVxdWVzdGVkDQogICAgICAgY29uZmlndXJhdGlvbiBwcm9maWxlLg0KDQogICAgICAgR2Vu ZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAg ICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1 UG1lTm90aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5P VElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVz LA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29s IGR1cmluZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3Rp ZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbElu aXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA1 IH0NCg0KICAgLS0gVGhlIFBNRSBncm91cA0KDQogICBlZm1DdVBtZUNvbmZUYWJsZSBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNvbmZFbnRyeQ0KICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1v biBhc3BlY3RzIGZvciBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUgcG9ydHMg KG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YNCiAgICAgICBhc3BlY3RzIHNwZWNpZmljIHRvIDJC QVNFLVRMIG9yIDEwUEFTUy1UUyBQTUUgdHlwZXMgaXMNCiAgICAgICByZXByZXNlbnRlZCBpbiBl Zm1DdVBtZTJCQ29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQ0KICAgICAgIHJlc3Bl Y3RpdmVseS4NCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50DQogICAgICAgbWFubmVyLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUg MSB9DQoNCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkg aW4gdGhlIEVGTUN1IFBNRSBDb25maWd1cmF0aW9uIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkg cmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGlu ZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUN CiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkg aWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBp ZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWVDb25mRW50cnkgOjo9DQogICAgIFNF UVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4T3Ja ZXJvLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSAgICBQaHlzQWRkcmVzcywN CiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAg IGVmbUN1UG1lVGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQ bWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVTbnJN Z25Dcm9zc2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dEVuYWJsZSAgICAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVu YWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxl IFRydXRoVmFsdWUNCiAgICAgfQ0KDQogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJCYXNlVExPKDEpLA0K ICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLA0KICAgICAg IGllZWUxMFBhc3NUU1IoNCksDQogICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAg ICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNPKDYpLA0KICAgICAgIGllZWUxMFBhc3NUU29yMkJh c2VUTE8oNykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQWRtaW5pc3RyYXRpdmUg KGRlc2lyZWQpIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9zc2libGUgdmFsdWVzIGFy ZToNCiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAyQmFzZVRMLU8gDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0gUE1FIFNIQUxM IG9wZXJhdGUgYXMgMkJhc2VUTC1SIA0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAgICAt IFBNRSBTSEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8gDQogICAgICAgICBpZWVlMTBQYXNzVFNS ICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUiANCiAgICAgICAgIGll ZWUyQmFzZVRMb3IxMFBhc3NUU1IgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgb3IN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NUUy1SLiBBY3R1YWwgdmFs dWUgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBieSAtTyBs aW5rIHBhcnRuZXIgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5p dGlhbGl6YXRpb24gKGhhbmRzaGFrZSkuDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNP IC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VUTC1PDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFsDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1S DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxp dHkgKGkuZS4gaWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNh cGFibGUgb2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCYXNlVEwgbW9kZSwgMTBQYXNzVFMgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZWQpLg0KICAgICAgICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyAtIFBNRSBT SEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAocHJlZmVycmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZw0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVuZGluZyBvbiAtUg0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUu IGlmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9m IHRoZSBwcmVmZXJyZWQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMFBhc3NU UyBtb2RlLCAyQmFzZVRMIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2VkKS4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBp cyBhIHRyYWZmaWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMgc3VjaCBTSEFM TCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFu Z2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsNCiAgICAgICBpcyBV cCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0 IHRvIGFuIHVuc3VwcG9ydGVkIHN1YnR5cGUNCiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNT dXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhlIGN1cnJlbnQgb3BlcmF0 aW9uYWwgc3ViIHR5cGUgaXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSB2YXJpYWJsZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRo ZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2 YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMNCiAgICAgICBhbmQgdGhlIFBN QS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQNCiAgICAgICBj b250cm9sIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjEs IDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkg MSB9DQoNCiAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2ly ZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyDQog ICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3INCiAg ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50IG9w ZXJhdGluZw0KICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9mIHRoaXMgb2Jq ZWN0IGlzIHRoZSBpbmRleCBvZg0KICAgICAgIHRoZSByZWZlcmVuY2VkIHByb2ZpbGUuDQogICAg ICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IHRoZSBQTUUgaXMN CiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3QgZm9yIHRoZSBQ Q1MgcG9ydCwNCiAgICAgICB0byB3aGljaCB0aGlzIFBNRSBpcyBhc3NpZ25lZC4gVGhhdCBpcywg dGhlIHByb2ZpbGUgcmVmZXJlbmNlZA0KICAgICAgIGJ5IGVmbUN1UG1lQWRtaW5Qcm9maWxlIHRh a2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgcHJvZmlsZShzKQ0KICAgICAgIHJlZmVyZW5jZWQgYnkg ZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBhbmQg cmVhZGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VUTC1PIG9yIDEw UGFzc1RTLU8pLiBJdCBpcyB1bnN1cHBvcnRlZCBmb3IgdGhlIENQRSANCiAgICAgICBzdWJ0eXBl ICgyQmFzZVRMLVIgb3IgMTBQYXNzVFMtUikuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBv cGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2aWENCiAgICAgICBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVj dCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzDQogICAgICAgRG93bi4gQXR0ZW1w dHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAg IGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlz IG9iamVjdCB0byBhIHZhbHVlIHRoYXQgaXMgbm90IHRoZSB2YWx1ZQ0KICAgICAgIG9mIHRoZSBp bmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUNCiAg ICAgICB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJb ODAyLjNhaF0gMzAuMTEuMi4xLjYiDQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkNCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlBBRiBSZW1vdGUgRGlzY292ZXJ5IENvZGUgb2YgdGhlIFBNRSBwb3J0 IGF0IENPLiANCiAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVl ciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAgICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlz IG9iamVjdCByZXN1bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24uIA0KICAgICAgIFNl dHRpbmcgdGhpcyBvYmplY3QgdG8gYWxsIHplcm9lcyByZXN1bHRzIGluIGEgRGlzY292ZXJ5DQog ICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24gKHRoZSB2YWx1ZSBvZiBlZm1DdVBBRkRpc2Nv dmVyeUNvZGUNCiAgICAgICBhdCB0aGUgcGVlciBQQ1MgU0hBTEwgYmUgdGhlIHNhbWUgYXMgZWZt Q3VQQUZEaXNjb3ZlcnlDb2RlIG9mDQogICAgICAgdGhlIGxvY2FsIFBDUyBhc3NvY2lhdGVkIHdp dGggdGhlIFBNRSBmb3IgdGhlIG9wZXJhdGlvbiB0bw0KICAgICAgIHN1Y2NlZWQpLg0KICAgICAg IFdyaXRpbmcgYSBub24temVybyB2YWx1ZSB0byB0aGlzIG9iamVjdCByZXN1bHRzIGluIGENCiAg ICAgICBEaXNjb3ZlcnkgU2V0X2lmX0NsZWFyIG9wZXJhdGlvbi4NCiAgICAgICBBIHplcm8tbGVu Z3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbiBhdHRlbXB0IHRvDQogICAg ICAgcmVhZCB0aGlzIG9iamVjdCB3aGVuIFBBRiBhZ2dyZWdhdGlvbiBpcyBub3QgZW5hYmxlZC4N Cg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgaW4gQ1BFIHBvcnQgKC1SKSBzdWJ0 eXBlczogaW4gdGhpcw0KICAgICAgIGNhc2UgYSB6ZXJvIGxlbmd0aCBvY3RldCBzdHJpbmcgU0hB TEwgYmUgcmV0dXJuZWQgb24gYW4NCiAgICAgICBhdHRlbXB0IHRvIHJlYWQgdGhpcyBvYmplY3Qs IHdyaXRpbmcgdG8gdGhpcyBvYmplY3QgU0hBTEwNCiAgICAgICBiZSBpZ25vcmVkLg0KICAgICAg IA0KICAgICAgIERpc2NvdmVyeSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzIERv d24uDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0 ZWQgKGluIGNhc2Ugb2YNCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZh bHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQogICAgICAg DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMg cHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGlzIGEgZnVuY3Rpb24gb2YgMTBQLzJC IGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeQ0KICAgICAgIGNvbnRyb2wgcmVnaXN0ZXIsIERpc2NvdmVy eSBvcGVyYXRpb24gcmVzdWx0IGJpdHMgaW4gMTBQLzJCDQogICAgICAgYWdncmVnYXRpb24gYW5k IGRpc2NvdmVyeSBzdGF0dXMgcmVnaXN0ZXIgYW5kDQogICAgICAgMTBQLzJCIGFnZ3JlZ2F0aW9u IGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4z YWhdIDYxLjIuMi44LjQsIDQ1LjIuNi42LTQ1LjIuNi44Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggIEludGVnZXIzMigtMTI3Li4xMjgpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQg Zm9yIHRoZSAyQi8xMFAgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxp bmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNob2xkLg0KICAgICAgIFdoZW4gdGhlIGN1cnJlbnQg dmFsdWUgb2YgTGluZSBBdHRlbnVhdGlvbiByZWFjaGVzIG9yDQogICAgICAgZXhjZWVkcyB0aGlz IHRocmVzaG9sZCwgYSBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlv biBNQVkgYmUgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5DQogICAgICAgZWZtQ3VQbWVMaW5lQXRu Q3Jvc3NpbmdFbmFibGUuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUg Zm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMgKC1PKS4NCiAgICAgICBJdCBpcyByZWFkLW9ubHkgZm9y IHRoZSBDUEUgc3VidHlwZSAoLVIpLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIG9mIHRoZSBM aW5lIEF0dGVudWF0aW9uIFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZA0KICAgICAgIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUN CiAgICAgICByZWplY3RlZCAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lz dGVudFZhbHVlKSwNCiAgICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQog ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIExvb3AgYXR0 ZW51YXRpb24gdGhyZXNob2xkIGJpdHMgaW4NCiAgICAgICB0aGUgMkIgUE1EIGxpbmUgcXVhbGl0 eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNCB9DQoNCiAgIGVmbUN1 UG1lVGhyZXNoU25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIo LTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJEZXNpcmVkIFNOUiBNYXJnaW4gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAg ICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRocmVzaG9sZC4N CiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVhY2hlcyBvciBl eGNlZWRzIHRoaXMNCiAgICAgICB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBu b3RpZmljYXRpb24gTUFZIGJlDQogICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5IGVmbUN1 UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMg d3JpdGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFz c1RTLVIpLiBJdCBpcyByZWFkLW9ubHkgZm9yIHRoZSBDUEUgc3VidHlwZQ0KICAgICAgICgyQmFz ZVRMLVIvMTBQYXNzVFMtUikuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhlIFNOUiBN YXJnaW4gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4NCiAgICAgICB0aGUgbGluayBp cyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgIHJl amVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCiAgICAgICAgDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgU05SIG1hcmdpbiB0aHJlc2hv bGQgYml0cyBpbiB0aGUgMkIgUE1EDQogICAgICAgbGluZSBxdWFsaXR5IHRocmVzaG9sZHMgcmVn aXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2Ig0KICAg ICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGlu dGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhh dCBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVk LiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRp b24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA2IH0NCg0KICAg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdl bmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRy dWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZw0KICAgICAgIG5vdGlm aWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAg ICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiSW5k aWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVEZXZpY2VGYXVsdCBub3RpZmljYXRpb25zDQogICAgICAg c2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAg IFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VGYXVsdA0KICAg ICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMg dGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSA4IH0NCg0KICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBub3Rp ZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2Uu DQogICAgICAgIA0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQ bWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1 ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMg ZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5IH0NCg0KICAgZWZtQ3VQ bWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBU cnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0 cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KICAgICAg IG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhh dA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAxMCB9DQoNCg0KICAgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVDYXBhYmlsaXR5RW50 cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBv ZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1F IHBvcnRzIChtb2RlbXMpLiBDb25maWd1cmF0aW9uIG9mDQogICAgICAgYXNwZWN0cyBzcGVjaWZp YyB0byAyQkFTRS1UTCBvciAxMFBBU1MtVFMgUE1FIHR5cGVzIGlzDQogICAgICAgcmVwcmVzZW50 ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUNCiAgICAg ICByZXNwZWN0aXZlbHkuDQoNCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudA0KICAgICAgIG1hbm5lci4iDQogICAgIDo6PSB7IGVm bUN1UG1lIDIgfQ0KDQogICBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ2FwYWJpbGl0eSB0YWJsZS4NCiAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1F IHBvcnQNCiAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3Ug UE1FIHBvcnQgY2FuIGJlDQogICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwg YWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsDQogICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBv dGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICBJTkRFWCAgeyBpZkluZGV4 IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgMSB9DQoNCiAgIEVmbUN1UG1l Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWVTdWJU eXBlc1N1cHBvcnRlZCAgICAgQklUUw0KICAgICB9DQoNCiAgIGVmbUN1UG1lU3ViVHlwZXNTdXBw b3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIGllZWUy QmFzZVRMTygwKSwNCiAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAgICAgaWVlZTEwUGFzc1RT TygyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNSKDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiUE1FIHN1cHBvcnRlZCBzdWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2li bGUNCiAgICAgICBzdWItdHlwZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOiAgICAN CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBh cyAyQmFzZVRMLU8NCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVINCiAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNz VFNSICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQYXNzVFMtUg0KICAgICAg IA0KICAgICAgIEFuIGRlc2lyZWQgbW9kZSBvZiBvcGVyYXRpb24gaXMgZGV0ZXJtaW5lZCBieQ0K ICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlLCB3aGlsZSBlZm1DdVBtZU9wZXJTdWJUeXBlIHJl ZmxlY3RzIHRoZQ0KICAgICAgIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUuDQogICAgICAgIA0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbiB0aGlzDQogICAgICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBh bmQgMkJBU0UtVEwgY2FwYWJsZQ0KICAgICAgIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EIHNw ZWVkIGFiaWxpdHkgcmVnaXN0ZXIgYW5kIHRoZQ0KICAgICAgIENPIHN1cHBvcnRlZCBhbmQgQ1BF IHN1cHBvcnRlZCBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIHN0YXR1cyByZWdp c3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuNC4x LCA0NS4yLjEuNC4yLCA0NS4yLjEuMTIuMiwNCiAgICAgICA0NS4yLjEuMTIuMyINCiAgICAgOjo9 IHsgZWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgMSB9DQoNCg0KICAgZWZtQ3VQbWVTdGF0dXNUYWJs ZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZVN0YXR1 c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBj b21tb24gc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNT LVRTIFBNRSBwb3J0cy4gU3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljDQogICAgICAgdG8gMTBQ QVNTLVRTIFBNRSBpcyByZXByZXNlbnRlZCBpbiBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlLg0KICAg ICAgIA0KICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhlIGVxdWlw bWVudC4gQXMgc3VjaCwNCiAgICAgICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iDQogICAgIDo6PSB7 IGVmbUN1UG1lIDMgfQ0KDQogICBlZm1DdVBtZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIEVmbUN1UG1lU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIFN0YXR1cyB0YWJsZS4NCiAgICAgICBFYWNo IGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQNCiAg ICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQg Y2FuIGJlDQogICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRl eGVkIGJ5IGlmSW5kZXgsDQogICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUg cG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAg Ojo9IHsgZWZtQ3VQbWVTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWVTdGF0dXNFbnRyeSA6 Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lT3BlclN0YXR1cyAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAgICAgICAgICAgQklUUywNCiAg ICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1 UG1lT3BlclByb2ZpbGUgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBl Zm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVQ ZWVyU25yTWduICAgICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1lTGluZUF0biAg ICAgICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuICAgICAg ICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoICAgICAgVW5z aWduZWQzMiwNCiAgICAgICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIs DQogICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyDQogICAgIH0N Cg0KICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICB1cCgxKSwNCiAgICAgICBkb3duTm90UmVhZHkoMiksDQogICAgICAg ZG93blJlYWR5KDMpLA0KICAgICAgIGluaXQoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJDdXJyZW50IFBNRSBsaW5rIE9wZXJhdGlvbmFsIFN0YXR1cy4gUG9zc2libGUgdmFsdWVz IGFyZToNCiAgICAgICAgIHVwKDEpICAgICAgICAgICAtIGxpbmsgaXMgVXAgYW5kIHJlYWR5IHRv IHBhc3MgNjQvNjVCDQogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBv ciBmcmFnbWVudHMuDQogICAgICAgICBkb3duTm90UmVhZHkoMikgLSBsaW5rIGlzIERvd24gYW5k IHRoZSBQTUUgZG9lcyBub3QgZGV0ZWN0DQogICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5k c2hha2UgdG9uZXMgZnJvbSBpdHMgcGVlci4gVGhpcyB2YWx1ZQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWF5IGluZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoDQogICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgcGVlciBQTUUuDQogICAgICAgICBkb3duUmVhZHkoMykgICAg LSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZGV0ZWN0cyBIYW5kc2hha2UNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRvbmVzIGZyb20gaXRzIHBlZXIuDQogICAgICAgICBpbml0KDQpICAg ICAgICAgLSBsaW5rIGlzIGluaXRpYWxpemluZywgYXMgYSByZXN1bHQgb2YNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmQWRtaW5TdGF0dXMgYmVpbmcgc2V0IHRvICd1cCcgZm9yIGENCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRoZSBQTUUg aXMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0by4NCiAgICAgICANCiAg ICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IERvd24gc3RhdGUgb2Yg DQogICAgICAgaWZPcGVyU3RhdHVzLg0KICAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0 aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFQTUVTdGF0dXMu DQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g UE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgIFBNQS9QTUQgc3RhdHVz IHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEu MywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMSB9DQoNCiAg IGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBCSVRTIHsN CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgIHNuck1nbkRlZmVjdCgxKSwNCiAgICAg ICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgIGRldmljZUZhdWx0KDMpLA0KICAgICAgIGNvbmZp Z0luaXRGYWlsdXJlKDQpLA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUoNSkNCiAgICAgfQ0K ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1bHQgU3RhdHVz LiBUaGlzIGlzIGEgYml0bWFwIG9mDQogICAgICAgcG9zc2libGUgY29uZGl0aW9ucy4gVGhlIHZh cmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCiAgICAgICAgIGxvc3NPZkZyYW1pbmcgICAgICAg LSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExvc3Mgb2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICBzbnJNZ25EZWZlY3Qg ICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hvbGQNCiAgICAgICAg IGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2VlZHMgdGhlIFRocmVz aG9sZA0KICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRvci1k ZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zdGljIG9yIHNl bGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcyBiZWVuIGRl dGVjdGVkLg0KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24gaW5p dGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUg dG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uDQogICAgICAgICBw cm90b2NvbEluaXRGYWlsdXJlIC0gUHJvdG9jb2wgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5jb21wYXRpYmxlIHByb3RvY29s IHVzZWQgYnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVy aW5nIGluaXQgKHRoYXQgY291bGQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBw ZW4gaWYgYSBwZWVyIFBNRCBpcyBhIHJlZ3VsYXIgDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRy5TREhTTC9WRFNMIG1vZGVtIGluc3RlYWQgb2YgYQ0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLg0KICAgICAgIA0KICAgICAgIFRo aXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIGluIElGLU1J Qi4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0 aGUgbGFzdCBmYXVsdC4NCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyBpcyBjbGVhcmVkIGJ5IHRo ZSBkZXZpY2UgcmVzdGFydC4NCiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25m aWdJbml0RmFpbHVyZSBhbmQNCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVk IGJ5IFBNRSBpbml0Lg0KICAgICAgIGRldmljZUZhdWx0IGlzIGNsZWFyZWQgYnkgc3VjY2Vzc2Z1 bCBkaWFnbm9zdGljcy90ZXN0Lg0KICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVj dCBhcmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luDQogICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24g cmVzcGVjdGl2ZWx5IHJldHVybmluZyB0byBub3JtIGFuZCBieQ0KICAgICAgIFBNRSBpbml0Lg0K IA0KICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlDQogICAgICAgYVBNRVN0YXR1cy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAg IG9iamVjdCBjb25zb2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQNCiAg ICAgICByZWdpc3RlcnMsIG5hbWVseTogRmF1bHQgYml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVn aXN0ZXIsDQogICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVyLA0KICAgICAg IDEwUCBvdXRnb2luZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgMTBQ IGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAyQiBzdGF0 ZSBkZWZlY3RzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAz MC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LA0KICAgICAgIDQ1LjIuMS4zOSwgNDUu Mi4xLjU0Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIgfQ0KDQogICBlZm1DdVBt ZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAg ICAgICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGll ZWUxMFBhc3NUU08oMyksDQogICAgICAgaWVlZTEwUGFzc1RTUig0KQ0KICAgICB9DQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2YgdGhlIFBNRS4N CiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAg ICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLU8gDQogICAgICAgICBpZWVlMkJhc2VUTFIg ICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtUiANCiAgICAgICAgIGllZWUxMFBh c3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtTyANCiAgICAgICAgIGll ZWUxMFBhc3NUU1IgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtUiANCiAgICAg ICANCiAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29u ZmlndXJlZCB2aWENCiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQg c3ViLXR5cGUgc2VsZWN0DQogICAgICAgYml0cywgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24g Yml0cyBpbiB0aGUgMTBQLzJCIA0KICAgICAgIFBNQS9QTUQgY29udHJvbCByZWdpc3RlciBhbmQg dGhlIFBNQS9QTUQgbGluayBzdGF0dXMgYml0cyBpbg0KICAgICAgIHRoZSAxMFAvMkIgUE1BL1BN RCBzdGF0dXMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYx LjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVm bUN1UG1lU3RhdHVzRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lT3BlclByb2ZpbGUgIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUND RVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJQTUUgY3VycmVudCBvcGVyYXRpbmcgUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMg YSBwb2ludGVyIHRvDQogICAgICAgYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxl VGFibGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRo ZSBjdXJyZW50DQogICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIFBNRSBhcyBpbmRpY2F0 ZWQgYnkNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlLg0KICAgICAgIE5vdGUgdGhhdCBhIHBy b2ZpbGUgZW50cnksIHRvIHdoaWNoIGVmbUN1UG1lT3BlclByb2ZpbGUgaXMNCiAgICAgICBwb2lu dGluZyB0bywgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwgdG8gcmVmbGVjdCBhY2hpZXZl ZA0KICAgICAgIHBhcmFtZXRlcnMgaW4gYWRhcHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRp b24sDQogICAgICAgaS5lLiB2YWx1ZXMgb2YgZWZtQ3VQbWVPcGVyUHJvZmlsZSBhbmQgZWZtQ3VB ZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBtYXkgZGlmZmVyLg0K ICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIGluZGljYXRlcyB0aGF0IFBNRSBpcyBkb3duIG9yIGlu aXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0 byB0aGUgYU9wZXJhdGluZ1Byb2ZpbGUNCiAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNyINCiAgICAgOjo9 IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0NCg0KICAgZWZtQ3VQbWVTbnJNZ24gT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBTaWduYWwt dG8tTm9pc2UgUmF0aW8gKFNOUikgbWFyZ2luIHdpdGggcmVzcGVjdA0KICAgICAgIHRvIHRoZSBy ZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbCBQTUUuDQogICAgICAgVGhl IHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAgICBp bml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBN RVNOUk1nbiBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAxMFAvMkIgUlggU05SIG1hcmdpbiByZWdpc3Rlci4iDQogICAgIFJFRkVS RU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjQsIDQ1LjIuMS4xNiINCiAgICAgOjo9 IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWVQZWVyU25yTWduIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAg IFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgU05S IG1hcmdpbiBpbiBkQiB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlY2VpdmVkDQogICAgICAgc2lnbmFs LCBhcyBwZXJjZWl2ZWQgYnkgdGhlIHJlbW90ZSAobGluayBwYXJ0bmVyKSBQTUUuDQogICAgICAg VGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAg ICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgbm90IHN1cHBv cnRlZCBieSAtUiBQTUUgc3VidHlwZXMuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAgICAgIHJlZ2lzdGVy LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciDQogICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVO SVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBB dHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgUE1FLg0K ICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9y DQogICAgICAgaW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4xOCINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA3IH0N Cg0KICAgZWZtQ3VQbWVQZWVyTGluZUF0biBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ bnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoZSBjdXJyZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVy Y2VpdmVkIGJ5IHRoZSByZW1vdGUNCiAgICAgICAobGluayBwYXJ0bmVyKSBQTUUuDQogICAgICAg VGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3INCiAgICAg ICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgaXMgbm90IHN1cHBv cnRlZCBieSBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24NCiAgICAg ICByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5 Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBtZUVxdWl2 YWxlbnRMZW5ndGggIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4u ODE5Mnw2NTUzNSkNCiAgICAgVU5JVFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IkFuIGVzdGltYXRlIG9mIHRoZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4N CiAgICAgICBtZXRlcnMsIGFzIHBlcmNlaXZlZCBieSB0aGUgUE1FIGFmdGVyIHRoZSBsaW5rIGlz IGVzdGFibGlzaGVkLg0KICAgICAgIEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90aGV0aWNh bCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhDQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBh dHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkNCiAgICAgICBicmlkZ2VkIHRh cHMuDQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIGlmIHRoZSBsaW5rIGlz IERvd24gb3INCiAgICAgICBJbml0aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0 aW1hdGUgdGhlIEVxdWl2YWxlbnQNCiAgICAgICBMZW5ndGguDQogICAgICAgDQogICAgICAgRm9y IDEwQkFTRS1UTCBQTUUsIGlmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMNCiAgICAgICBwcmVzZW50LCB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBFbGVj dHJpY2FsIExlbmd0aA0KICAgICAgIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4yMSINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA5IH0N Cg0KICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgNjQvNjUtb2N0 ZXQgZW5jYXBzdWxhdGlvbiBlcnJvcnMuIFRoaXMgY291bnRlciBpcw0KICAgICAgIGluY3JlbWVu dGVkIGZvciBlYWNoIDY0LzY1LW9jdGV0IGVuY2Fwc3VsYXRpb24gZXJyb3IgZGV0ZWN0ZWQNCiAg ICAgICBieSB0aGUgNjQvNjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4NCg0KICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gYVRDQ29kaW5nVmlvbGF0aW9ucyBhdHRyaWJ1dGUgaW4NCiAgICAgICBj bGF1c2UgMzAuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBNRSBUQyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgVEMgY29kaW5nIHZpb2xhdGlvbnMgcmVnaXN0ZXINCiAgICAgICAoc2VlIDQ1LjIuNi4x MikuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRl ciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVu dCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJ Ri1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4xLCAzMC4x MS4yLjEuNSwgNDUuMi42LjEyIg0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDEwIH0N Cg0KICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBD b3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgVEMtQ1JDIGVycm9y cy4gVGhpcyBjb3VudGVyIGlzIGluY3JlbWVudGVkIGZvcg0KICAgICAgIGVhY2ggVEMtQ1JDIGVy cm9yIGRldGVjdGVkIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uDQogICAgICAg KHNlZSA2MS4zLjMuMyBhbmQgRmlndXJlIDYxLTE5KS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1h cHMgdG8gYVRDQ1JDRXJyb3JzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCiAgICAg ICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENNRSBUQyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgVEMgQ1JDIGVy cm9yIHJlZ2lzdGVyDQogICAgICAgKHNlZSA0NS4yLjYuMTEpLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA2MS4zLjMuMywgMzAuMTEuMi4xLjEwLCA0NS4yLjYuMTEiDQog ICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTEgfQ0KDQogIC0tIDJCQVNFLVRMIHNwZWNp ZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBtZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9 IHsgZWZtQ3VQbWUgNSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQ0KICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMg b2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgb3BlcmF0aW5nIFByb2ZpbGVzIGZvciAyQkFT RS1UTCBQTUVzLg0KICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBh bHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYz QSk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBD b25zdGVsbGF0aW9uDQogICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBzKSAgKGRCbSkNCiAgICAg ICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t DQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChk ZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAxMy41ICAgIDEgICAzMi1U Q1BBTQ0KICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41ICAgIDEgICAxNi1UQ1BB TQ0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0KICAg ICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0KICAgICAg ICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0KICAgICAgICAg IDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0KICAgICAgICAgIDkg ICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTAgICAg IDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTEgICAgICA3 MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTIgICAgICA1MTIg ICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAgMTMgICAgICAxOTIgICAg NTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQpDQogICAgICAgICAxNCAg ICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMiAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCg0K ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2Vu dA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAg ICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3Jl YXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2 ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGlu ZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFu bmV4IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDIgfQ0KDQogICBl Zm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1 UG1lMkJQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFYWNoIGVudHJ5 IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBwcm9maWxlLg0KICAgICAgIEVh Y2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IN CiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgMkJBU0UtVEwgUE1F LiAgDQogICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZp YQ0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2Zp bGUgaWYNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50 IHRoZSBkZXNpcmVkDQogICAgICAgcGFyYW1ldGVycyB0aGUgMkJhc2VUTC1PIFBNRSBpbml0aWFs aXphdGlvbi4NCiAgICAgICBJZiBhIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVP cGVyUHJvZmlsZSBvYmplY3QsDQogICAgICAgaXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGlu ZyBwYXJhbWV0ZXJzIG9mIHRoZSANCiAgICAgICBvcGVyYXRpb25hbCBQTUUuDQogICAgICAgDQog ICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0 aW9uLw0KICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyQlByb2ZpbGVSb3dT dGF0dXMuIElmIGFuDQogICAgICAgYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRy eSBNVVNUIHJlbWFpbiAnYWN0aXZlJw0KICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSBy ZW1vdmVkLg0KICAgICAgIERlZmF1bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiINCiAg ICAgSU5ERVggeyBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlByb2ZpbGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA6Oj0NCiAgICAg U0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggICAgICAgICAgIEVmbVBy b2ZpbGVJbmRleCwNCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1w QWRtaW5TdHJpbmcsDQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAgICAgICAgICAgICAgICAgSU5U RUdFUiwNCiAgICAgICBlZm1DdVBtZTJCc01vZGUgICAgICAgICAgICAgICAgICBFZm1Qcm9maWxl SW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlICAgICAgICAgICAgVW5z aWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgICAgICAgICAgICBVbnNpZ25l ZDMyLA0KICAgICAgIGVmbUN1UG1lMkJQb3dlciAgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gICAgICAgICAgSU5URUdFUiwNCiAgICAg ICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyAgICAgICBSb3dTdGF0dXMNCiAgICAgfQ0KDQog ICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVm bVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjJCQVNFLVRMIFBNRSBQ cm9maWxlIGluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNz b2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4NCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg YXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlDQogICAgICAgb3IgZWZtQ3VQbWVB ZG1pblByb2ZpbGUgb2JqZWN0cy4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkg MSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB0ZXh0dWFs IHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAg IFByb2ZpbGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSBy YXRlDQogICAgICAgYW5kIHNwZWN0cmFsIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBw cm9maWxlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAyIH0NCg0KICAgZWZt Q3VQbWUyQlJlZ2lvbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQog ICAgICAgcmVnaW9uMSgxKSwNCiAgICAgICByZWdpb24yKDIpDQogICAgIH0NCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJSZWdpb25hbCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVj aWZpZWQgaW4gdGhlDQogICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkxLjJd Lg0KICAgICAgIFJlZ2lvbmFsIHNldHRpbmdzIHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0 eSAoUFNEKSBtYXNrLA0KICAgICAgIFBvd2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxh Y2UgbGltaXRhdGlvbnMgb24gdGhlIG1heA0KICAgICAgIGFsbG93ZWQgZGF0YSByYXRlLCBwb3dl ciBhbmQgY29uc3RlbGxhdGlvbi4NCiAgICAgICANCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgZm9y IHRoaXMgb2JqZWN0IGFyZToNCiAgICAgICAgIHJlZ2lvbjEgICAgICAtIEFubmV4ZXMgQSBhbmQg RiAoZS5nLiBOb3J0aCBBbWVyaWNhKQ0KICAgICAgICAgcmVnaW9uMiAgICAgIC0gQW5uZXhlcyBC IGFuZCBHIChlLmcuIEV1cm9wZSkNCiAgICAgICANCiAgICAgICBBbm5leCBBL0Igc3BlY2lmeSBy ZWdpb25hbCBzZXR0aW5ncyBmb3IgZGF0YSByYXRlcyAxOTItMjMwNA0KICAgICAgIEticHMgdXNp bmcgMTYtVENQQU0gZW5jb2RpbmcuDQogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwg c2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzDQogICAgICAgdXNpbmcgMTYtVENQQU0g ZW5jb2RpbmcgYW5kIDc2OC01Njk2IEticHMgdXNpbmcgMzItVENQQU0NCiAgICAgICBlbmNvZGlu Zy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMg cHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBS ZWdpb24gYml0cyBpbiB0aGUgMkIgZ2VuZXJhbA0KICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4i DQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQyOyBbRy45OTEuMl0g QW5uZXhlcyBBLCBCLCBGIGFuZCBHIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5 IDMgfQ0KDQogICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQg Y3VzdG9tIFNwZWN0cmFsIE1vZGUgZm9yIDJCQVNFLVRMIFBNRS4gVGhpcyBvYmplY3QNCiAgICAg ICBpcyBhIHBvaW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgYW5kIGEg YmxvY2sNCiAgICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hp Y2ggdG9nZXRoZXIgZGVmaW5lDQogICAgICAgKGNvdW50cnktc3BlY2lmaWMpIHJlYWNoIGRlcGVu ZGVudCByYXRlIGxpbWl0YXRpb25zIGluDQogICAgICAgYWRkaXRpb24gdG8gdGhvc2UgZGVmaW5l ZCBieSBlZm1DdVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0 IGlzIHRoZSBpbmRleCBvZiB0aGUgcmVmZXJlbmNlZA0KICAgICAgIHNwZWN0cmFsIG1vZGUuDQog ICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNp ZmljDQogICAgICAgc3BlY3RyYWwgbW9kZSBpcyBhcHBsaWNhYmxlLg0KDQogICAgICAgQXR0ZW1w dHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQog ICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRp bmcgc3BlY3RyYWwNCiAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAg UkVGRVJFTkNFDQogICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBlZm1DdVBtZTJCUmF0ZVJl YWNoVGFibGUiDQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0Ut VEwgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUti cHMsDQogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAz Mi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICANCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAy QkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQnIHdoZW4NCiAgICAgICB0aGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlLg0KICAg ICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4gZWZtQ3VQbWUyQk1heERh dGFSYXRlIGluDQogICAgICAgdGhlIGFkbWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJh dGUgaXMgY29uc2lkZXJlZA0KICAgICAgICdhZGFwdGl2ZScsIGFuZCBTSEFMTCBiZSBzZXQgdG8g dGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAgbm90IGV4Y2VlZGluZyBlZm1DdVBt ZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCANCiAgICAgICBsaW1pdGF0aW9ucyBw bGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgZWZtQ3VQbWUyQnNNb2Rl Lg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRo ZSBQTUUgaXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIu DQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNaW4gRGF0YSBSYXRl MSBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLg0KDQogICAg ICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyINCiAgICAgOjo9 IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWUyQk1heERhdGFSYXRl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIFVuc2lnbmVkMzIoMTkyLi41Njk2KQ0KICAgICBV TklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIERhdGEg UmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4NCiAgICAgICBUaGlzIG9iamVjdCBjYW4gdGFrZSB2 YWx1ZXMgb2YgKG4geCA2NClLYnBzLA0KICAgICAgIHdoZXJlIG49My4uNjAgZm9yIDE2LVRDUEFN IGFuZCBuPTEyLi44OSBmb3IgMzItVENQQU0gZW5jb2RpbmcuDQogICAgICAgDQogICAgICAgVGhl IGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0UtVEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVu DQogICAgICAgdGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1l MkJNaW5EYXRhUmF0ZS4NCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0 aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbg0KICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBw cm9maWxlLCB0aGUgZGF0YSByYXRlIGlzIGNvbnNpZGVyZWQNCiAgICAgICAnYWRhcHRpdmUnLCBh bmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZQ0KICAgICAgIG5v dCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwNCiAg ICAgICBsaW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9u YWwgZGF0YSByYXRlIG9mIHRoZSBQTUUgaXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVk IG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBNYXggRGF0YSBSYXRlMSBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJz IHJlZ2lzdGVyLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMS40MyINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZt Q3VQbWUyQlBvd2VyICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8 MTAuLjQyKQ0KICAgICBVTklUUyAgICAgICAiMC41IGRCbSINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJTaWduYWwgVHJhbnNtaXQgUG93ZXIuIE11bHRpcGxlIG9mIDAuNWRCbS4NCiAgICAgICBU aGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0IHRo ZQ0KICAgICAgIHNpZ25hbCB0cmFuc21pdCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJl IHNldCB0bw0KICAgICAgIG1heGltaXplIHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBz cGVjdHJhbCBsaW1pdGF0aW9ucw0KICAgICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lv biBhbmQgZWZtQ3VQbWUyQnNNb2RlLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIFBvd2VyMSBiaXRzIGluIHRoZSAyQiBQTUQgcGFyYW1ldGVycw0KICAg ICAgIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40 MyINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA3IH0NCg0KICAgZWZtQ3VQbWUy QkNvbnN0ZWxsYXRpb24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0K ICAgICAgIGFkYXB0aXZlKDApLA0KICAgICAgIHRjcGFtMTYoMSksDQogICAgICAgdGNwYW0zMigy KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBv ZiB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAg ICAgICAgYWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMyLVRDUEFNDQogICAgICAgICB0 Y3BhbTE2KDEpICAgICAtIDE2LVRDUEFNDQogICAgICAgICB0Y3BhbTMyKDIpICAgICAtIDMyLVRD UEFNDQoNCiAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUoMCkgaW4gdGhlIGFkbWluaXN0cmF0 aXZlIHByb2ZpbGUgbWVhbnMNCiAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlzIG5vdCBm aXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvDQogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUg cmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgcGxhY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9uMSBiaXRzIGluIHRoZSAyQiBn ZW5lcmFsDQogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVu dHJ5IDggfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBSb3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9i amVjdCBjb250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAg IGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAg ICAgICBSb3dTdGF0dXMuDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNl ZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwg dGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbA0KICAgICAgIHJlZmVyZW5j ZXMgYXJlIHJlbW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQ0K DQoNCiAgIGVmbUN1UG1lMkJzTW9kZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFNFUVVFTkNFIE9GIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhpcyB0YWJsZSwgdG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1 cHBvcnRzDQogICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3Ry YWwgbW9kZXMgZm9yDQogICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBs aW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0bw0KICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgU29tZSBjb3VudHJpZXMgc3BlY3RyYWwgcmVndWxhdGlv bnMgKGUuZy4gVUsgQU5GUCkgbGltaXQgdGhlDQogICAgICAgbGVuZ3RoIG9mIHRoZSBsb29wcyBm b3IgY2VydGFpbiBkYXRhIHJhdGVzLiBUaGlzIHRhYmxlIGFsbG93cw0KICAgICAgIHRoZXNlIGNv dW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMgdG8gYmUgc3BlY2lmaWVkLg0KDQogICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQ0KICAg ICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxsIHRoZSBhY3RpdmUgcmVmZXJlbmNlcyBh cmUNCiAgICAgICByZW1vdmVkLg0KDQogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJlZm1D dTJCUmVhY2hSYXRlVGFibGUiDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDMgfQ0KDQogICBlZm1D dVBtZTJCc01vZGVFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJC c01vZGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgc3BlY2lm aWVzIHNwZWN0cmFsIG1vZGUgZGVzY3JpcHRpb24gYW5kIGl0cyBpbmRleCwNCiAgICAgICB3aGlj aCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBjb3JyZXNwb25kaW5nIGVudHJpZXMgaW4gdGhlDQogICAg ICAgZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlLg0KICAgICAgIA0KICAgICAgIEVudHJpZXMgbWF5IGJl IGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9u IG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLiINCiAgICAgSU5ERVggeyBl Zm1DdVBtZTJCc01vZGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZVRhYmxlIDEg fQ0KDQogICBFZm1DdVBtZTJCc01vZGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1UG1lMkJzTW9kZUluZGV4ICAgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwNCiAgICAg ICBlZm1DdVBtZTJCc01vZGVEZXNjciAgICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzDQogICAgIH0NCg0K ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZt UHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgUE1FIFNw ZWN0cmFsIE1vZGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRl eCBhc3NvY2lhdGVkIHdpdGggdGhpcyBzcGVjdHJhbA0KICAgICAgIG1vZGUuDQogICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUNCiAg ICAgICBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAxIH0NCg0KICAg ZWZtQ3VQbWUyQnNNb2RlRGVzY3IgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU25tcEFk bWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250 YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAgIHNwZWN0cmFsIG1v ZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICBjb3Jy ZXNwb25kaW5nIChjb3VudHJ5LXNwZWNpZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucw0KICAgICAg IGFuZCByYXRlL3JlYWNoIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBzcGVjdHJhbCBt b2RlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9DQoNCiAgIGVmbUN1UG1l MkJzTW9kZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9scyBjcmVhdGlvbi9k ZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9k ZVRhYmxlIHBlciB0aGUgc2VtYW50aWNzIG9mDQogICAgICAgUm93U3RhdHVzLg0KICAgICAgIElm IGFuICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZSwgdGhl DQogICAgICAgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMg YXJlIHJlbW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAzIH0NCg0KDQog ICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg U0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZl IGN1c3RvbQ0KICAgICAgIHNwZWN0cmFsIG1vZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRp bmcgc3BlY3RyYWwNCiAgICAgICBsaW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVj aWZpZWQgYnkNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHNwZWN0cmFs IHJlZ3VsYXRpb25zIGluIHNvbWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApDQogICAgICAgbGlt aXQgdGhlIGxlbmd0aCBvZiB0aGUgbG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4NCiAgICAg ICBUaGlzIHRhYmxlIGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRv IGJlDQogICAgICAgc3BlY2lmaWVkLg0KDQogICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0 aGlzIHRhYmxlIGZvciBbQU5GUF06DQogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0r DQogICAgICAgRXF1aXZhbGVudCBNYXhSYXRlIE1heFJhdGUNCiAgICAgICAgIExlbmd0aCAgICBQ QU0xNiAgIFBBTTMyDQogICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykNCiAgICAgICAt LS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsNCiAgICAgICAgICAgOTc1ICAgICAgMjMwNCAgICA1 Njk2DQogICAgICAgICAgMTEyNSAgICAgIDIzMDQgICAgNTUwNA0KICAgICAgICAgIDEyNzUgICAg ICAyMzA0ICAgIDUxMjANCiAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0DQogICAgICAg ICAgMTQyNSAgICAgIDIzMDQgICAgNDU0NA0KICAgICAgICAgIDE1MDAgICAgICAyMzA0ICAgIDQy ODgNCiAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4DQogICAgICAgICAgMTY1MCAgICAg IDIzMDQgICAgMzc3Ng0KICAgICAgICAgIDE3MjUgICAgICAyMzA0ICAgIDM1MjANCiAgICAgICAg ICAxODAwICAgICAgMjMwNCAgICAzMjY0DQogICAgICAgICAgMTg3NSAgICAgIDIzMDQgICAgMzA3 Mg0KICAgICAgICAgIDE5NTAgICAgICAyMDQ4ICAgIDI2ODgNCiAgICAgICAgICAyMTAwICAgICAg MTc5MiAgICAyMzY4DQogICAgICAgICAgMjI1MCAgICAgIDE1MzYgICAgICAgMA0KICAgICAgICAg IDI0MDAgICAgICAxNDA4ICAgICAgIDANCiAgICAgICAgICAyNTUwICAgICAgMTI4MCAgICAgICAw DQogICAgICAgICAgMjc3NSAgICAgIDExNTIgICAgICAgMA0KICAgICAgICAgIDI5MjUgICAgICAx MTUyICAgICAgIDANCiAgICAgICAgICAzMTUwICAgICAgMTA4OCAgICAgICAwDQogICAgICAgICAg MzM3NSAgICAgIDEwMjQgICAgICAgMA0KICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0t KyAgICAgICANCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCc01vZGUNCiAgICAgICBNVVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0 aGUgYWN0aXZlIHJlZmVyZW5jZXMgYXJlDQogICAgICAgcmVtb3ZlZC4NCg0KICAgICAgIFRoaXMg dGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiW0FORlBdIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0NCg0K ICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVh Y2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0ZXMNCiAgICAg ICBhbGxvd2VkIGZvciBhIGNlcnRhaW4gZXF1aXZhbGVudCBsb29wIGxlbmd0aCwgd2hlbiB1c2lu ZyANCiAgICAgICAxNi1UQ1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4NCg0KICAgICAgIFdoZW4g MkJBU0UtVEwgUE1FIGlzIGluaXRpYWxpemVkLCBpdHMgZGF0YSByYXRlIE1VU1QgTk9UDQogICAg ICAgZXhjZWVkIG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOg0KICAgICAgIC0gdGhl IHZhbHVlIG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQ0KICAgICAgIC0gbWF4aW11bSBkYXRhIHJh dGUgYWxsb3dlZCBieSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBzcGVj aWZpZWQgaW4gdGhlDQogICAgICAgICBlZm1DdVBtZTJCc01vZGVFbnRyeSwgY29ycmVzcG9uZGlu ZyB0byB0aGUgZXF1aXZhbGVudCBsb29wDQogICAgICAgICBsZW5ndGgsIGVzdGltYXRlZCBieSB0 aGUgUE1FLg0KICAgICAgIA0KICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgdGhlIGVmbUN1 UG1lMkJFcXVpdmFsZW50TGVuZ3RoIHZhbHVlcw0KICAgICAgIGFyZSBhc3NpZ25lZCBpbiB0aGUg aW5jcmVhc2luZyBvcmRlciwgc3RhcnRpbmcgZnJvbSB0aGUNCiAgICAgICBtaW5pbXVtIHZhbHVl Lg0KDQogICAgICAgRW50cmllcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cg Y3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJSZWFjaFJh dGVSb3dTdGF0dXMuIg0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJzTW9kZUluZGV4LCBlZm1DdVBt ZTJCUmVhY2hSYXRlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUg MSB9DQoNCiAgIEVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0K ICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwN CiAgICAgICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgICAgICBVbnNpZ25lZDMyLA0KICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1D dVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzICAgICBSb3dTdGF0dXMNCiAgICAgfQ0KDQogICBlZm1D dVBtZTJCUmVhY2hSYXRlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJv ZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgY3VzdG9tIHNw ZWN0cmFsIG1vZGUgUmVhY2gtUmF0ZSB0YWJsZSBpbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBp cyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCBlYWNoIGVucnkuIg0KICAgICA6Oj0g eyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMkJFcXVpdmFsZW50 TGVuZ3RoICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDAuLjgxOTIp DQogICAgIFVOSVRTICAgICAgICJtIg0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0g YWxsb3dlZCBFcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4gbWV0ZXJzDQogICAg ICAgZm9yIHRoZSBzcGVjaWZpZWQgZGF0YSByYXRlcy4NCiAgICAgICBBbiBlcXVpdmFsZW50IGxv b3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQ0KICAgICAgIHBl cmZlY3Qgc3F1YXJlIHJvb3QgYXR0ZW51YXRpb24gY2hhcmFjdGVyaXN0aWMsIHdpdGhvdXQgYW55 DQogICAgICAgYnJpZGdlZCB0YXBzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVu dHJ5IDIgfQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwfDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAg IkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJC QVNFLVRMIFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVu Z3RoIHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1l YW5zIHRoYXQgVEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgIHVzZWQgYXQg dGhpcyBkaXN0YW5jZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAzIH0N Cg0KICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQ TUUgYXQgdGhlIHNwZWNpZmllZA0KICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2lu ZyBUQy1QQU0zMiBlbmNvZGluZy4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0 IFRDLVBBTTMyIGVuY29kaW5nIHNob3VsZCBub3QgYmUNCiAgICAgICB1c2VkIGF0IHRoaXMgZGlz dGFuY2UuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9DQoNCiAgIGVm bUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg Um93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMg Y3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQNCiAgICAgICBlbnRyeSBpbiBlZm1D dVBtZTJCUmVhY2hSYXRlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dTdGF0 dXMuDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQ bWUyQnNNb2RlLCB0aGUNCiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBh bGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJh dGVFbnRyeSA1IH0NCg0KDQogIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAg ZWZtQ3VQbWUxMFAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA2IH0NCg0K ICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg U0VRVUVOQ0UgT0YgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3VyYXRpb24g cHJvZmlsZXMgZm9yDQogICAgICAgMTBQYXNzVEwgUE1Fcy4NCiAgICAgICBGaXJzdCAyMiBlbnRy aWVzIGluIHRoaXMgdGFibGUgU0hBTEwgYWx3YXlzIGJlIGRlZmluZWQgYXMNCiAgICAgICBmb2xs b3dzIChzZWUgODAyLjNhaCBBbm5leCA2MkIuMyk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tLSst LS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICBQcm9maWxlIEJhbmRwbGFu IFVQQk8gQmFuZE5vdGNoIERSYXRlIFVSYXRlDQogICAgICAgIEluZGV4ICBQU0RNYXNrIyAgcCMg ICAgcCMgICAgICAgIHAjICAgIHAjDQogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0t LS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICAxICAgICAgMSAgICAgIDMgICAgMiw2 LDEwLDExICAgIDIwICAgIDIwKGRlZmF1bHQpDQogICAgICAgICAgMiAgICAgMTMgICAgICA1ICAg IDAgICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAg ICAgICAgICAgMjAgICAgMjANCiAgICAgICAgICA0ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAg ICAgMTAwICAgMTAwDQogICAgICAgICAgNSAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgICA3 MCAgICA1MA0KICAgICAgICAgIDYgICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAg MTANCiAgICAgICAgICA3ICAgICAxNyAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgIDMwDQog ICAgICAgICAgOCAgICAgIDggICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAgNQ0KICAgICAg ICAgIDkgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUNCiAgICAgICAgIDEw ICAgICAgNCAgICAgIDAgICAgMCAgICAgICAgICAgIDE1ICAgIDE1DQogICAgICAgICAxMSAgICAg MjMgICAgICAwICAgIDAgICAgICAgICAgICAxMCAgICAxMA0KICAgICAgICAgMTIgICAgIDIzICAg ICAgMCAgICAwICAgICAgICAgICAgIDUgICAgIDUNCiAgICAgICAgIDEzICAgICAxNiAgICAgIDAg ICAgMiw1LDksMTEgICAgMTAwICAgMTAwDQogICAgICAgICAxNCAgICAgMTYgICAgICAwICAgIDIs NSw5LDExICAgICA3MCAgICA1MA0KICAgICAgICAgMTUgICAgICA2ICAgICAgMCAgICAyLDYsMTAs MTEgICAgNTAgICAgMTANCiAgICAgICAgIDE2ICAgICAxNyAgICAgIDAgICAgMiw1LDksMTEgICAg IDMwICAgIDMwDQogICAgICAgICAxNyAgICAgIDggICAgICAwICAgIDIsNiwxMCwxMSAgICAzMCAg ICAgNQ0KICAgICAgICAgMTggICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMjUgICAgMjUN CiAgICAgICAgIDE5ICAgICAgNCAgICAgIDAgICAgMiw2LDEwLDExICAgIDE1ICAgIDE1DQogICAg ICAgICAyMCAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAxMCAgICAxMA0KICAgICAgICAg MjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAgIDUgICAgIDUNCiAgICAgICAgIDIyICAg ICAzMCAgICAgIDAgICAgMCAgICAgICAgICAgMjAwICAgIDUwDQoNCiAgICAgICBUaGVzZSBkZWZh dWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRlZCBieSBkdXJpbmcgYWdlbnQNCiAgICAgICBpbml0 aWFsaXphdGlvbiBhbmQgTVVTVCBOT1QgYmUgZGVsZXRlZC4NCg0KICAgICAgIEVudHJpZXMgZm9s bG93aW5nIHRoZSBmaXJzdCAyMiwgY2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kDQogICAg ICAgZGVsZXRlZCwgdG8gcHJvdmlkZSBjdXN0b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRp b24pDQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJvZmlsZXMuDQoN CiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFu bmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAu MTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQICAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3Bv bmRzIHRvIGEgc2luZ2xlIDEwUEFTUy1UUyBQTUUNCiAgICAgICBwcm9maWxlLg0KICAgICAgIEVh Y2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IN CiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgMTBQQVNTLVRTIFBN RS4gIA0KICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2 aWENCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9m aWxlIGlmDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2Vu dCB0aGUgZGVzaXJlZA0KICAgICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRp YWxpemF0aW9uLg0KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0 aW5nIHBhcmFtZXRlcnMgb2YgdGhlIFBNRS4NCg0KICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVh dGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNo YW5pc20gdmlhIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAnYWN0 aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScN CiAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICBEZWZhdWx0 IGVudHJpZXMgTVVTVCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQ cm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0K ICAgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBl Zm1DdVBtZTEwUFByb2ZpbGVJbmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAg ICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQogICAgICAgZWZt Q3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUx MFBCYW5kTm90Y2hQcm9maWxlcyAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQ cm9maWxlICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAg ICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICBUaGlzIG9i amVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQog ICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgOjo9IHsgZWZt Q3VQbWUxMFBQcm9maWxlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91 dCAxMFBBU1MtVFMgUE1FDQogICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBp bmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlv bnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgSU5URUdFUiB7DQogICAgICAgcHJvZmlsZTEoMSksDQog ICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQo NCksDQogICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJv ZmlsZTcoNyksDQogICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTEoMTEpLA0KICAgICAgIHByb2ZpbGUx MigxMiksDQogICAgICAgcHJvZmlsZTEzKDEzKSwNCiAgICAgICBwcm9maWxlMTQoMTQpLA0KICAg ICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTE2KDE2KSwNCiAgICAgICBwcm9maWxl MTcoMTcpLA0KICAgICAgIHByb2ZpbGUxOCgxOCksDQogICAgICAgcHJvZmlsZTE5KDE5KSwNCiAg ICAgICBwcm9maWxlMjAoMjApLA0KICAgICAgIHByb2ZpbGUyMSgyMSksDQogICAgICAgcHJvZmls ZTIyKDIyKSwNCiAgICAgICBwcm9maWxlMjMoMjMpLA0KICAgICAgIHByb2ZpbGUyNCgyNCksDQog ICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAgICBwcm9maWxlMjYoMjYpLA0KICAgICAgIHByb2Zp bGUyNygyNyksDQogICAgICAgcHJvZmlsZTI4KDI4KSwNCiAgICAgICBwcm9maWxlMjkoMjkpDQog ICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEJhbmRwbGFuIGFu ZCBQU0QgTWFzayBwcm9maWxlLA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4 IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBO YW1lICAgIFBTRCBNYXNrICAgICAgICAgICAgICAgICAgQmFuZHMgICAgIEJhbmRwbGFuDQogICAg ICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLQ0KICAgICAgIHByb2ZpbGUxKDEpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAg eC9EL1UvRC9VICBBDQogICAgICAgcHJvZmlsZTIoMikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXgu TTENCiAgICAgICBwcm9maWxlMygzKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAg ICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU1 KDUpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgRC9EL1UvRC9VDQogICAgICAgcHJvZmls ZTYoNikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxlNyg3KSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlOCg4KSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU5KDkpICAgLSBUMS40MjQvVC1VIFAxIEZUVENh Yi5NMSAgVS9EL1UvRC94DQogICAgICAgcHJvZmlsZTEwKDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRU RXguTTENCiAgICAgICBwcm9maWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAg ICAgICBwcm9maWxlMTIoMTIpIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2Zp bGUxMygxMykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgeC9EL1UvRC9VICBCDQogICAgICAg cHJvZmlsZTE0KDE0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTE1 KDE1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTE2KDE2KSAtIFRT MSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAxMDEgMjcw LTEgUGNhYi5NMg0KICAgICAgIHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5N Mg0KICAgICAgIHByb2ZpbGUxOSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAg IHByb2ZpbGUyMCgyMCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgVS9EL1UvRC94DQogICAg ICAgcHJvZmlsZTIxKDIxKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmls ZTIyKDIyKSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTIzKDIzKSAt IFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEg MjcwLTEgUGNhYi5NMg0KICAgICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5Q MS5NMg0KICAgICAgIHByb2ZpbGUyNigyNikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAg ICAgIHByb2ZpbGUyNygyNykgLSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9V ICBGDQogICAgICAgcHJvZmlsZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNE TikNCiAgICAgICBwcm9maWxlMjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9u KQ0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2Zp bGUgYXR0cmlidXRlDQogICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgIls4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIg0KICAgICA6Oj0geyBlZm1DdVBt ZTEwUFByb2ZpbGVFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmls ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgx KSwNCiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9m aWxlNCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAg ICBwcm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KQ0K ICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQ b3dlciBCYWNrLU9mZiAoVVBCTykgUmVmZXJlbmNlIFBTRA0KICAgICAgIFByb2ZpbGUsIGFzIHNw ZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzDQogICAgICAgYXJl Og0KICAgICAgICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0x DQogICAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTIN CiAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0K ICAgICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQog ICAgICAgICBwcm9maWxlNSg1KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmQg0KICAg ICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBDDQogICAgICAg ICBwcm9maWxlNyg3KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQNCiAgICAgICAgIHBy b2ZpbGU4KDgpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRQ0KICAgICAgICAgcHJvZmls ZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBhVVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgaW4g Q2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEu My40LCAzMC41LjEuMS4yMyINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNCB9 DQoNCiAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgQklUUyB7DQogICAgICAgcHJvZmlsZTAoMCksDQogICAgICAgcHJvZmlsZTEoMSksDQog ICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQo NCksDQogICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJv ZmlsZTcoNyksDQogICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTEoMTEpDQogICAgIH0NCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2gg UHJvZmlsZSBiaXRtYXAsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJB LiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQ0KICAgICAgIFByb2ZpbGUgTmFtZSAg ICBHLjk5MS4zICBUMS40MjQvVC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGDQogICAgICAgICAg ICAgICAgICAgICAgIFRhYmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHop DQogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tKy0tLS0tDQogICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUNCiAgICAgICBw cm9maWxlMSgxKSAgIC0gRi01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44 MjUNCiAgICAgICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAg ICAxLjgxMCAgMi4wMDANCiAgICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAg ICAtICAgICAgICAgICAxLjkwNyAgMS45MTINCiAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01ICMw MyAgLSAgICAgICAgICAtICAgICAgICAgICAzLjUwMCAgMy41NzUNCiAgICAgICBwcm9maWxlNSg1 KSAgIC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDANCiAgICAg ICBwcm9maWxlNig2KSAgIC0gLSAgICAgICAgMTUtMSAgICAgICAtICAgICAgICAgICAzLjUwMCAg NC4wMDANCiAgICAgICBwcm9maWxlNyg3KSAgIC0gRi01ICMwNCAgLSAgICAgICAgICAtICAgICAg ICAgICAzLjc0NyAgMy43NTQNCiAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAg ICAgICAtICAgICAgICAgICAzLjc5MSAgMy44MDUNCiAgICAgICBwcm9maWxlOSg5KSAgIC0gNi0y ICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICA3LjAwMCAgNy4xMDANCiAgICAgICBwcm9maWxl MTAoMTApIC0gRi01ICMwNiAgMTUtMSAgICAgICAtICAgICAgICAgICA3LjAwMCAgNy4zMDANCiAg ICAgICBwcm9maWxlMTEoMTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4x MDAgMTAuMTUwDQogICAgICAgDQogICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNh biBiZSBzcGVjaWZpZWQgYnkgT1JpbmcNCiAgICAgICBpbmRpdmlkdWFsIHByb2ZpbGVzLCBmb3Ig ZXhhbXBsZSB2YWx1ZSBvZiAweDA2MjIgc2VsZWN0cw0KICAgICAgIHByb2ZpbGVzIDIsNiwxMCBh bmQgMTEuDQogICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmROb3Rj aFByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy41LCAzMC41LjEuMS4xOSINCiAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lMTBQUGF5bG9hZFVS YXRlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAg ICAgcHJvZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICBwcm9maWxlMTUo MTUpLA0KICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAg ICBwcm9maWxlMzAoMzApLA0KICAgICAgIHByb2ZpbGU1MCg1MCksDQogICAgICAgcHJvZmlsZTcw KDcwKSwNCiAgICAgICBwcm9maWxlMTAwKDEwMCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQogICAg ICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJl Og0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUgTWJwcw0KICAgICAgICAgcHJvZmls ZTEwKDEwKSAgICAgLSA1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1i cHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgIC0gMTAgTWJwcw0KICAgICAgICAgcHJvZmls ZTI1KDI1KSAgICAgLSAxMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUg TWJwcw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzDQogICAgICAgICBwcm9m aWxlNzAoNzApICAgICAtIDM1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAg TWJwcw0KDQogICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1F J3MgVXBzdHJlYW0gUGF5bG9hZA0KICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJ ZiB0aGUgcGF5bG9hZCByYXRlIG9mIHRoZQ0KICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90 IGJlIGFjaGlldmVkIGJhc2VkIG9uIHRoZSBsb29wDQogICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbg0KICAgICAgIFNIQUxMIGZh aWwuDQogICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0 ZVByb2ZpbGVVcHN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIwIg0K ICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWUxMFBQ YXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHBy b2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwNCiAgICAgICBwcm9maWxlMjUoMjUp LA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICBw cm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAwKSwNCiAgICAgICBwcm9maWxlMTQw KDE0MCksDQogICAgICAgcHJvZmlsZTIwMCgyMDApDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQog ICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICBwcm9maWxlMTUoMTUpICAgIC0gNy41IE1i cHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9maWxl MjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICBwcm9maWxlMzAoMzApICAgIC0gMTUgTWJw cw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1icHMNCiAgICAgICAgIHByb2ZpbGU3 MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICBwcm9maWxlMTAwKDEwMCkgIC0gNTAgTWJwcw0K ICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAtIDcwIE1icHMNCiAgICAgICAgIHByb2ZpbGUyMDAo MjAwKSAgLSAxMDAgTWJwcw0KDQogICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0 IGZvciB0aGUgUE1FJ3MgRG93bnN0cmVhbQ0KICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVu IGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YNCiAgICAgICB0aGUgc2VsZWN0ZWQg cHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICBlbnZp cm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQog ICAgICAgU0hBTEwgZmFpbC4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRo ZSBhUGF5bG9hZFJhdGVQcm9maWxlRG93bnN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1 c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYs IDMwLjUuMS4xLjIxIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA3IH0NCg0K ICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRy b2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAgICAgZW50cnkgaW4g ZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dT dGF0dXMuDQogICAgICAgSWYgYW4gYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1 QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBN VVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbA0KICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1v dmVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOCB9DQoNCg0KICAgZWZt Q3VQbWUxMFBTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5D RSBPRiBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGFibGUgcmVmbGVjdGluZyBzdGF0dXMgb2YgRUZNQ3UgMTBQQVNTLVRTIFBNRXMgKG1vZGVtcyku Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUCAyIH0NCg0KICAgZWZtQ3VQbWUxMFBTdGF0dXNFbnRy eSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1U UyBQTUUgU3RhdHVzIHRhYmxlLiINCiAgICAgQVVHTUVOVFMgeyBlZm1DdVBtZVN0YXR1c0VudHJ5 IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUx MFBTdGF0dXNFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMTBQRkVD Q29ycmVjdGVkQmxvY2tzICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNv cnJlY3RlZEJsb2NrcyAgIENvdW50ZXIzMg0KICAgICB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDQ29y cmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiQSBjb3VudCBvZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZF QyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTDQogICAgICAgUE1FLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNs YXVzZSAzMC4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUEvUE1EIGlzIHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAx MFAgRkVDIGNvcnJlY3RhYmxlIGVycm9ycw0KICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVy RGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiDQogICAgIDo6 PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDVW5jb3Jy ZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMgaW4g MTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlDQogICAgICAgdW5jb3JyZWN0YWJsZS4NCg0KICAgICAg IFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmlidXRl IGluDQogICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5jb3JyZWN0YWJsZSBlcnJvcnMNCiAgICAgICByZWdpc3Rl cg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIg Y2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZh bHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjEx LjIuMS45Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQ0KDQogIC0tDQog IC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMNCiAgLS0NCg0KICAgZWZtQ3VHcm91cHMgICAgICBP QkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQ0KDQogICBlZm1DdUNv bXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9DQoN CiAgIC0tIE9iamVjdCBHcm91cHMNCg0KICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUA0K ICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCwNCiAgICAgICBlZm1DdUFk bWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlLA0KICAgICAgIGVmbUN1VGFy Z2V0U25yTWduLA0KICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhLA0KICAgICAgIGVmbUN1UG9y dFNpZGUsDQogICAgICAgZWZtQ3VGbHRTdGF0dXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3Rz IHJlcHJlc2VudGluZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9uDQogICAgICAgY29tbW9uIGZvciBh bGwgdHlwZXMgb2YgRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0NCg0K ICAgZWZtQ3VQQUZHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZt Q3VQZWVyUEFGU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNpdHksDQogICAgICAgZWZt Q3VQZWVyUEFGQ2FwYWNpdHksDQogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlLA0KICAgICAgIGVm bUN1UEFGRGlzY292ZXJ5Q29kZSwNCiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUs DQogICAgICAgZWZtQ3VOdW1QTUVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0 aW5nIE9QVElPTkFMIFBNRQ0KICAgICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFuZCBQ QUYgZGlzY292ZXJ5IGluIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9 DQoNCiAgIGVmbUN1UEFGRXJyb3JzR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0K ICAgICAgIGVmbUN1UEFGSW5FcnJvcnMsDQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRz LA0KICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluQmFk RnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzLA0KICAgICAgIGVmbUN1 UEFGSW5Mb3N0U3RhcnRzLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcywNCiAgICAgICBlZm1D dVBBRkluT3ZlcmZsb3dzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9Q VElPTkFMIGVycm9yIGNvdW50ZXJzDQogICAgICAgb2YgUEFGIG9uIEVGTUN1IHBvcnRzLiINCiAg ICAgOjo9IHsgZWZtQ3VHcm91cHMgMyB9DQoNCiAgIGVmbUN1UG1lR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIGVm bUN1UG1lT3BlclN0YXR1cywNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cywNCiAgICAgICBlZm1D dVBtZVN1YlR5cGVzU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlLA0KICAg ICAgIGVmbUN1UG1lT3BlclN1YlR5cGUsDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlD b2RlLA0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVTbnJNZ24s DQogICAgICAgZWZtQ3VQbWVQZWVyU25yTWduLA0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAg ICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuLA0KICAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0 aCwNCiAgICAgICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzLA0KICAgICAgIGVmbUN1UG1lVENDcmNF cnJvcnMsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAgICAgIGVmbUN1UG1lVGhy ZXNoU25yTWduDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRp b24gYWJvdXQNCiAgICAgICBhIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUuIg0KICAgICA6Oj0geyBl Zm1DdUdyb3VwcyA0IH0NCg0KICAgZWZtQ3VBbGFybUNvbmZHcm91cCBPQkpFQ1QtR1JPVVANCiAg ICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VUaHJlc2hMb3dSYXRlLA0KICAgICAgIGVmbUN1TG93 UmF0ZUNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biwNCiAgICAg ICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNu ck1nbiwNCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1 UG1lRGV2aWNlRmF1bHRFbmFibGUsDQogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJs ZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUNCiAgICAgfQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlv biBvZiBvYmplY3RzIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvZiBhbGFybQ0KICAgICAgIHRo cmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlvbnMgaW4gRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBl Zm1DdUdyb3VwcyA1IH0NCg0KICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cCBOT1RJRklDQVRJT04t R1JPVVANCiAgICAgTk9USUZJQ0FUSU9OUyB7DQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcs DQogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZywNCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LA0KICAgICAgIGVmbUN1UG1lQ29u ZmlnSW5pdEZhaWx1cmUsDQogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQotLSAg ICAgICBlZm1DdVBtZURldmljZUZhdWx0LA0KLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9z cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhpcyBncm91cCBzdXBwb3J0cyBub3RpZmljYXRpb25zIG9mIHNpZ25pZmljYW50IGNv bmRpdGlvbnMNCiAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0g eyBlZm1DdUdyb3VwcyA2IH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBPQkpFQ1QtR1JP VVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciwNCiAgICAg ICBlZm1DdVBtZTJCUmVnaW9uLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSwNCiAgICAgICBlZm1D dVBtZTJCTWluRGF0YVJhdGUsDQogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlLA0KICAgICAg IGVmbUN1UG1lMkJQb3dlciwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiwNCiAgICAg ICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywNCiAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNj ciwNCiAgICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMsDQogICAgICAgZWZtQ3VQbWUyQkVx dWl2YWxlbnRMZW5ndGgsDQogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYsDQogICAg ICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVJvd1N0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBjb25zdGl0dXRlIGEg Y29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUgZm9yIGNvbmZpZ3VyYXRpb24gb2YgMkJBU0Ut VEwgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQ0KDQogICBlZm1DdVBtZTEwUFBy b2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUx MFBQcm9maWxlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUs DQogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwNCiAgICAgICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzLA0KICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJv ZmlsZSwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsDQogICAgICAgZWZt Q3VQbWUxMFBQcm9maWxlUm93U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRoYXQgY29u c3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9u IG9mIDEwUEFTUy1UUyBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQ0KDQogICBl Zm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAg ICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcywNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1Vu Y29ycmVjdGVkQmxvY2tzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBzdGF0dXMg aW5mb3JtYXRpb24NCiAgICAgICBzcGVjaWZpYyB0byAxMFBBU1MtVFMgUE1Fcy4iDQogICAgIDo6 PSB7IGVmbUN1R3JvdXBzIDkgfQ0KDQogIC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICBl Zm1DdUNvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9y IDJCQVNFLVRMLzEwUEFTUy1UUyBpbnRlcmZhY2VzLg0KICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0 aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlzIFJF UVVJUkVEOg0KICAgICAgIA0KICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5j ZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAgICAgICAgICBpZkNvbXBsaWFuY2UzDQogICAg ICAgRXRoZXJMaWtlLU1JQiAgICAgICAgICBkb3QzQ29tcGxpYW5jZTINCiAgICAgICBNQVUtTUlC ICAgICAgICAgICAgICAgIG1hdU1vZElmQ29tcGwzDQoNCiAgICAgICBDb21wbGlhbmNlIHdpdGgg dGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBP UFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uDQog ICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4g dGhlIFBDUw0KICAgICAgIGFuZCBQTUUgcG9ydHM6DQogICAgICAgDQogICAgICAgTUlCIE1vZHVs ZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudA0KICAgICAgIC0tLS0tLS0tLS0gICAg ICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1N SUIgIGlmSW52Q29tcGxpYW5jZQ0KICAgICAgIElGLUNBUC1TVEFDSy1NSUIgICAgICAgaWZDYXBT dGFja0NvbXBsaWFuY2UiDQogICAgIA0KICAgICBNT0RVTEUgIC0tIHRoaXMgbW9kdWxlDQogICAg ICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBlZm1DdUJhc2ljR3JvdXAsDQogICAgICAg ICBlZm1DdVBtZUdyb3VwLA0KICAgICAgICAgZWZtQ3VBbGFybUNvbmZHcm91cCwNCiAgICAgICAg IGVmbUN1Tm90aWZpY2F0aW9uR3JvdXANCiAgICAgICB9DQogICAgICAgDQogICAgICAgR1JPVVAg ICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRh dGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMkJBU0UtVEwgUGh5LiINCiAgICAgICANCiAgICAg ICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cA0KICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBp bXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iDQogICAg ICAgDQogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZHcm91cA0KICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcg0K ICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0 aW9uIChQQUYpLiINCiAgICAgICANCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkVycm9yc0dy b3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3Vw IGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgUE1F IEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpLiINCiAgICAgICANCiAgICAgICBHUk9VUCAgICAg ICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJT dXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAg ICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iDQogICAgICAgDQogICAgICAgT0JKRUNU ICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZA0KICAgICAgIFNZTlRBWCAgICAgIEJJVFMg ew0KICAgICAgICAgaWVlZTJCYXNlVExPKDApLA0KICAgICAgICAgaWVlZTJCYXNlVExSKDEpLA0K ICAgICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAg ICAgICB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3Vi dHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0DQogICAgICAgICBvbmUgdmFs dWUgU0hBTEwgYmUgc3VwcG9ydGVkIg0KICAgICAgIA0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 UG1lQWRtaW5TdWJUeXBlDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgbm90IHJlcXVpcmVkIChuZWVkZWQg b25seSBmb3IgUE1Fcw0KICAgICAgICAgc3VwcG9ydGluZyBtb3JlIHRoYW4gYSBzaW5nbGUgc3Vi dHlwZSwgZS5nLg0KICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVl ZTEwUGFzc1RTTyBhbmQNCiAgICAgICAgIGllZWUxMFBhc3NUU1IpIg0KICAgICAgIA0KICAgICAg IE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1v bmx5DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9O QUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgdGFyZ2V0IFNO UiBtYXJnaW4gU0hBTEwgYmUgZml4ZWQgYXQgNWRCIGZvciAyQkFTRS1UTA0KICAgICAgICAgYW5k IDZkQiBmb3IgMTBQQVNTLVRTLiINCiAgICAgICANCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdUFk YXB0aXZlU3BlY3RyYQ0KICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRo b3V0IHdyaXRlIGFjY2Vzcw0KICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hPVUxEIGJlIGZh bHNlLiINCiAgICAgICANCiAgICAgOjo9IHsgZWZtQ3VDb21wbGlhbmNlcyAxIH0NCkVORA0KPC9w cmU+PC9kaXY+DQo8YSBuYW1lPSJhbmNob3IyMCI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1 bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+ Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rp b24uNyI+PC9hPjxoMz43LiZuYnNwOw0KU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnM8L2gzPg0KDQo8 cD4NCiAgVGhlcmUgaXMgYSBudW1iZXIgb2YgbWFuYWdlZCBvYmplY3RzIGRlZmluZWQgaW4gdGhl IEVGTS1DVS1NSUIgbW9kdWxlDQogIHRoYXQgaGF2ZSBhIE1BWC1BQ0NFU1MgY2xhdXNlIG9mIHJl YWQtd3JpdGUgb3IgcmVhZC1jcmVhdGUuDQogIE1vc3Qgb2JqZWN0cyBhcmUgd3JpdGVhYmxlIG9u bHkgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICBXcml0aW5nIHRvIHRoZXNlIG9iamVjdHMgY2Fu IGhhdmUgcG90ZW50aWFsbHkNCiAgZGlzcnVwdGl2ZSBlZmZlY3RzIG9uIG5ldHdvcmsgb3BlcmF0 aW9uLCBmb3IgZXhhbXBsZToNCiANCjwvcD4NCjxwPg0KICA8L3A+DQo8dWwgY2xhc3M9InRleHQi Pg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1UG1lQWRtaW5TdWJUeXBlIG1heSBsZWFkIHRvIGEgcG90 ZW50aWFsIGxvY2tpbmcNCiAgICAgIG9mIHRoZSBsaW5rLCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNh bWUgc3ViLXR5cGUgY2Fubm90IGV4Y2hhbmdlDQogICAgICBoYW5kc2hha2UgbWVzc2FnZXMuDQo8 L2xpPg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1UEFGQWRtaW5TdGF0ZSB0byBlbmFibGVkIG1heSBs ZWFkIHRvIGENCiAgICAgIHBvdGVudGlhbCBsb2NraW5nIG9mIHRoZSBsaW5rLCBpZiB0aGUgcGVl ciBQaHkgZG9lcyBub3Qgc3VwcG9ydCBQQUYuDQo8L2xpPg0KPGxpPkNoYW5naW5nIG9mIGVmbUN1 UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRoZSBkaXNjb3Zlcnkgb3BlcmF0aW9uLA0KICAgICAg bWF5IGxlYWQgdG8gYSB3cm9uZ2Z1bCBkaXNjb3ZlcnksIGZvciBleGFtcGxlIHdoZW4gdHdvIC1P IHBvcnRzDQogICAgICBhcmUgY29ubmVjdGVkIHRvIHRoZSBzYW1lIG11bHRpLVBNRSAtUiBwb3J0 IGFuZCBib3RoIC1PIHBvcnRzDQogICAgICBoYXZlIHRoZSBzYW1lIERpc2NvdmVyeSByZWdpc3Rl ciB2YWx1ZS4NCjwvbGk+DQo8bGk+Q2hhbmdpbmcgUENTIG9yIFBNRSBjb25maWd1cmF0aW9uIHBh cmFtZXRlcnMgKGUuZy4gcHJvZmlsZSBvZiBhDQogICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1DdUFk bWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJvZmlsZSkNCiAgICAgIG1heSBsZWFkIHRvIGFu eXRoaW5nIGZyb20gbGluayBxdWFsaXR5IGFuZCByYXRlIGRlZ3JhZGF0aW9uDQogICAgICB0byBh IGNvbXBsZXRlIGxpbmsgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwgYXMgYWJpbGl0eSBvZiBhbg0K ICAgICAgRUZNQ3UgcG9ydCB0byBzdXBwb3J0IGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGRl cGVuZHMgb24gdGhlIGNvcHBlcg0KICAgICAgZW52aXJvbm1lbnQuDQo8L2xpPg0KPGxpPkFjdGl2 YXRpb24gb2YgYSBQTUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0aW9uIG9mDQogICAgICBz ZXJ2aWNlIGZvciBhbm90aGVyIEVGTUN1IFBoeSwgd2hvc2UgUE1FKHMpIG1heSBiZSBhZmZlY3Rl ZCBieQ0KICAgICAgdGhlIGNyb3NzLXRhbGsgZnJvbSB0aGUgbmV3bHkgYWN0aXZhdGVkIFBNRS4N CjwvbGk+DQo8bGk+UmVtb3ZhbCBvZiBhIFBNRSBmcm9tIGFuIG9wZXJhdGlvbmFsbHkgJ3VwJyBF Rk1DdSBwb3J0LA0KICAgICAgYWdncmVnYXRpbmcgc2V2ZXJhbCBQTUVzLCBtYXkgY2F1c2UgcG9y dCdzIHJhdGUgZGVncmFkYXRpb24NCjwvbGk+DQo8L3VsPjxwPg0KIA0KPC9wPg0KPHA+DQogIFRo ZSB1c2VyIG9mIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBtdXN0IHRoZXJlZm9yZSBiZSBhd2FyZSB0 aGF0IHN1cHBvcnQgZm9yDQogIFNFVCBvcGVyYXRpb25zIGluIGEgbm9uLXNlY3VyZSBlbnZpcm9u bWVudCB3aXRob3V0IHByb3BlciBwcm90ZWN0aW9uDQogIGNhbiBoYXZlIGEgbmVnYXRpdmUgZWZm ZWN0IG9uIG5ldHdvcmsgb3BlcmF0aW9ucy4NCiANCjwvcD4NCjxwPg0KICBUaGUgcmVhZGFibGUg b2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLUFD Q0VTUw0KICBvdGhlciB0aGFuIG5vdC1hY2Nlc3NpYmxlKSBtYXkgYmUgY29uc2lkZXJlZCBzZW5z aXRpdmUgaW4gc29tZQ0KICBlbnZpcm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBw cm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZQ0KICBwZXJmb3JtYW5jZSBvZiBuZXR3b3JrIGlu dGVyZmFjZXMgYW5kIGNhbiByZXZlYWwgc29tZSBhc3BlY3RzIG9mDQogIHRoZWlyIGNvbmZpZ3Vy YXRpb24uICBJbiBwYXJ0aWN1bGFyLCBzaW5jZSBFRk1DdSBjYW4gYmUgY2FycmllZCBvdmVyDQog IFVuc2hpZWxkZWQgVHdpc3RlZCBQYWlyIChVVFApIHZvaWNlIGdyYWRlIGNvcHBlciBpbiBhIGJ1 bmRsZSB3aXRoDQogIG90aGVyIHBhaXJzIGJlbG9uZ2luZyB0byBhbm90aGVyIG9wZXJhdG9yL2N1 c3RvbWVyLCBpdCBpcw0KICB0aGVvcmV0aWNhbGx5IHBvc3NpYmxlIHRvIGV2YXNkcm9wIHRvIGFu IEVGTUN1IHRyYW5zbWlzc2lvbiBzaW1wbHkgYnkNCiAgImxpc3RlbmluZyIgdG8gYSBjcm9zcy10 YWxrIGZyb20gdGhlIEVGTUN1IHBhaXJzLCBlc3BlY2lhbGx5IGlmIHRoZQ0KICBwYXJhbWV0ZXJz IG9mIHRoZSBFRk1DdSBsaW5rIGluIHF1ZXN0aW9uIGFyZSBrbm93bi4NCiANCjwvcD4NCjxwPg0K ICBJbiBzdWNoIGVudmlyb25tZW50cyBpdCBpcyBpbXBvcnRhbnQgdG8gY29udHJvbCBhbHNvDQog IEdFVCBhbmQgTk9USUZZIGFjY2VzcyB0byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVu IHRvDQogIGVuY3J5cHQgdGhlaXIgdmFsdWVzIHdoZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5l dHdvcmsgdmlhIFNOTVAuDQogDQo8L3A+DQo8cD4NCiAgU05NUCB2ZXJzaW9ucyBwcmlvciB0byBT Tk1QdjMgZGlkIG5vdCBpbmNsdWRlIGFkZXF1YXRlIHNlY3VyaXR5Lg0KICBFdmVuIGlmIHRoZSBu ZXR3b3JrIGl0c2VsZiBpcyBzZWN1cmUgKGZvciBleGFtcGxlIGJ5IHVzaW5nIElQc2VjKSwNCiAg ZXZlbiB0aGVuLCB0aGVyZSBpcyBubyBjb250cm9sIGFzIHRvIHdobyBvbiB0aGUgc2VjdXJlIG5l dHdvcmsgaXMNCiAgYWxsb3dlZCB0byBhY2Nlc3MgYW5kIEdFVC9TRVQgKHJlYWQvY2hhbmdlL2Ny ZWF0ZS9kZWxldGUpIHRoZSBvYmplY3RzDQogIGluIHRoZXNlIE1JQiBtb2R1bGVzLg0KIA0KPC9w Pg0KPHA+DQogIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgaW1wbGVtZW50ZXJzIGNvbnNpZGVyIHRo ZSBzZWN1cml0eSBmZWF0dXJlcyBhcw0KICBwcm92aWRlZCBieSB0aGUgU05NUHYzIGZyYW1ld29y ayAoc2VlIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8 L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEouLCBNdW5keSwgUi4sIFBhcnRhaW4sIEQu LCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJpbGl0eSBT dGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50IEZyYW1ld29yaywmcmRx dW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+LCBzZWN0aW9u IDgpLA0KICBpbmNsdWRpbmcgZnVsbCBzdXBwb3J0IGZvciB0aGUgU05NUHYzIGNyeXB0b2dyYXBo aWMgbWVjaGFuaXNtcyAoZm9yDQogIGF1dGhlbnRpY2F0aW9uIGFuZCBwcml2YWN5KS4NCiANCjwv cD4NCjxwPg0KICBGdXJ0aGVyLCBkZXBsb3ltZW50IG9mIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8g U05NUHYzIGlzIE5PVA0KICBSRUNPTU1FTkRFRC4gIEluc3RlYWQsIGl0IGlzIFJFQ09NTUVOREVE IHRvIGRlcGxveSBTTk1QdjMgYW5kIHRvDQogIGVuYWJsZSBjcnlwdG9ncmFwaGljIHNlY3VyaXR5 LiAgSXQgaXMgdGhlbiBhIGN1c3RvbWVyL29wZXJhdG9yDQogIHJlc3BvbnNpYmlsaXR5IHRvIGVu c3VyZSB0aGF0IHRoZSBTTk1QIGVudGl0eSBnaXZpbmcgYWNjZXNzIHRvIGFuDQogIGluc3RhbmNl IG9mIHRoZXNlIE1JQiBtb2R1bGVzIGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gZ2l2ZSBhY2Nl c3MgdG8NCiAgdGhlIG9iamVjdHMgb25seSB0byB0aG9zZSBwcmluY2lwYWxzICh1c2VycykgdGhh dCBoYXZlIGxlZ2l0aW1hdGUNCiAgcmlnaHRzIHRvIGluZGVlZCBHRVQgb3IgU0VUIChjaGFuZ2Uv Y3JlYXRlL2RlbGV0ZSkgdGhlbS4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIxIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi44Ij48L2E+PGgzPjguJm5ic3A7DQpJQU5BIENvbnNpZGVy YXRpb25zPC9oMz4NCg0KPHA+DQogIFRoZSB0d28gbmV3IHZhbHVlcyBvZiBkb3QzTWF1VHlwZSAo ZG90M01hdVR5cGUyQmFzZVRMIGFuZA0KICBkb3QzTWF1VHlwZTEwUGFzc1RTKSBhbmQgY29ycmVz cG9uZGluZyBJQU5BaWZNYXVUeXBlTGlzdEJpdHMgYml0DQogIGRlZmluaXRpb25zIChiMkJhc2VU TCBhbmQgYjEwUGFzc1RTKSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBmb3INCiAgSUFOQWlm TWF1TWVkaWFBdmFpbGFibGUgKGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5KSBTSEFMTCBiZQ0K ICBkZWZpbmVkIGJ5IHRoZSBJQU5BIGluIHRoZSBJQU5BLU1BVS1NSUIgbW9kdWxlIChzZWUNCiAg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4pIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzDQogIHB1Ymxpc2hlZCBhcyBhbiBSRkMuDQogDQo8 L3A+DQo8cD4NCiAgQWRkaXRpb25hbGx5LCBvYmplY3QgaWRlbnRpZmllcnMgZm9yIGVmbUN1TUlC IE1PRFVMRS1JREVOVElUWSBhbmQNCiAgaWZDYXBTdGFja01JQiBNT0RVTEUtSURFTlRJVFkgU0hB TEwgYmUgYWxsb2NhdGVkIGJ5IElBTkEgaW4gdGhlDQogIE1JQi0yIHN1Yi10cmVlLCBiZWZvcmUg dGhpcyBkb2N1bWVudCBpcyBwdWJsaXNoZWQuDQogDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyMiI+ PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAi IGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xh c3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uOSI+PC9hPjxoMz45LiZuYnNwOw0KQWNrbm93 bGVkZ21lbnRzPC9oMz4NCg0KPHA+DQogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9kdWNlZCBieSB0 aGUNCiAgIDxhIGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWIt Y2hhcnRlci5odG1sJz5JRVRGDQogICBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdv cmtpbmcgR3JvdXA8L2E+LCB3aG9zZSBlZmZvcnRzDQogICB3ZXJlIGdyZWF0bHkgYWR2YW5jZWQg YnkgdGhlIGNvbnRyaWJ1dGlvbnMgb2YgdGhlIGZvbGxvd2luZyBwZW9wbGUNCiAgIChpbiBhbHBo YWJldGljYWwgb3JkZXIpOg0KDQogIDwvcD4NCjxibG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij4NCjxw PkJlcnQgV2lqbmVuIChBbGNhdGVsKQ0KPC9wPg0KPHA+RGFuIFJvbWFzY2FudSAoQXZheWEpDQo8 L3A+DQo8cD5NYXJpbmEgUG9waWxvdiAoQWN0ZWxpcykNCjwvcD4NCjxwPk1hdGhpYXMgUmllc3Mg KEluZmluZW9uKQ0KPC9wPg0KPHA+TWF0dCBTcXVpcmUgKEhhdHRlcmFzKQ0KPC9wPg0KPHA+TWlr ZSBIZWFyZA0KPC9wPg0KPHA+VWRpIEFzaGtlbmF6aSAoQWN0ZWxpcykNCjwvcD4NCjwvYmxvY2tx dW90ZT48cD4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIzIj48L2E+PGJyIC8+PGhyIC8+DQo8 dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNs YXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVm PSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJy ZmMuc2VjdGlvbi4xMCI+PC9hPjxoMz4xMC4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8L2gz Pg0KDQo8cD4NCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBub3RlcyB0byB0aGUgUkZDIEVkaXRv ciBhbmQgc2hvdWxkIGJlIHJlbW92ZWQNCnByaW9yIHRvIHB1YmxpY2F0aW9uLg0KIDwvcD4NCjxi bG9ja3F1b3RlIGNsYXNzPSJ0ZXh0Ij4NCjxwPlBsZWFzZSByZXBsYWNlICA8YSBjbGFzcz0naW5m bycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWliJz5bSSYjODIwOTtELmlldGYmIzgyMDk7 aHVibWliJiM4MjA5O2VmbSYjODIwOTttaWJdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2lu Zm8nPlNxdWlyZSwgTS4sICZsZHF1bztEZWZpbml0aW9ucyBhbmQgTWFuYWdlZCBPYmplY3RzIGZv ciBPQU0gRnVuY3Rpb25zICAgICAgICAgICAgICBvbiBFdGhlcm5ldCBMaWtlIEludGVyZmFjZXMs JnJkcXVvOyBPY3RvYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48L2E+IGFuZA0K PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4gd2l0aCBhY3R1YWwgUkZDIG51bWJlcnMgaWYNCnRob3NlIGFyZSBhdmFpbGFibGUgYXQgdGlt ZSBvZiBwdWJsaWNhdGlvbi4NCjwvcD4NCjwvYmxvY2txdW90ZT48cD4NCiANCjwvcD4NCjxhIG5h bWU9InJmYy5yZWZlcmVuY2VzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWdu PSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0Mm bmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4xMSI+PC9h PjxoMz4xMS4mbmJzcDsNClJlZmVyZW5jZXM8L2gzPg0KDQo8YSBuYW1lPSJyZmMucmVmZXJlbmNl czEiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5n PSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRk IGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwv dHI+PC90YWJsZT4NCjxoMz4xMS4xLiZuYnNwO05vcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4NCjx0 YWJsZSB3aWR0aD0iOTklIiBib3JkZXI9IjAiPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi IHZhbGlnbj0idG9wIj48YSBuYW1lPSI4MDIuMyI+WzgwMi4zXTwvYT48L3RkPg0KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+SUVFRSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly9zdGFuZGFyZHMuaWVl ZS5vcmcvZ2V0aWVlZTgwMi84MDIuMy5odG1sIj5JRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlv biB0ZWNobm9sb2d5IC0NCiAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlv biBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLQ0KICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xp dGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQ0KICAg ICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9u IERldGVjdGlvbg0KICAgICAgICAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwg TGF5ZXIgU3BlY2lmaWNhdGlvbnM8L2E+LCZyZHF1bzsgSUVFRSBTdGQmbmJzcDs4MDIuMy0yMDA1 LCBEZWNlbWJlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSI4MDIuM2FoIj5bODAyLjNhaF08L2E+PC90ZD4NCjx0 ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklFRUUsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vc3RhbmRh cmRzLmllZWUub3JnL2dldGllZWU4MDIvZG93bmxvYWQvODAyLjNhaC0yMDA0LnBkZiI+SUVFRSBT dGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtDQogICAgICAgIFRlbGVjb21tdW5p Y2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0NCiAgICAg ICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0NCiAgICAgICAgU3BlY2lm aWMgcmVxdWlyZW1lbnRzIC0NCiAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxl IEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24NCiAgICAgICAgKENTTUEvQ0QpIEFjY2Vz cyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25zIC0NCiAgICAgICAgQW1l bmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbA0KICAgICAg ICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3Mg TmV0d29ya3M8L2E+LCZyZHF1bzsgSUVFRSBTdGQmbmJzcDs4MDIuM2FoLTIwMDQsIFNlcHRlbWJl ciZuYnNwOzIwMDQuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1 Ym1pYi1yZmMzNjM2YmlzXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJl Zj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSI+QmVpbGksIEUuPC9hPiwgJmxkcXVv OzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYt aHVibWliLXJmYzM2MzZiaXMtMDUudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMg Zm9yIElFRUUgODAyLjMgTWVkaXVtDQogICAgICAgICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFV cyk8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItcmZjMzYzNmJpcy0wNSAod29yayBpbiBw cm9ncmVzcyksIEp1bHkmbmJzcDsyMDA2LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjExOSI+W1JGQzIxMTldPC9hPjwvdGQ+ DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86c29iQGhhcnZhcmQuZWR1 Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1u b3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZvciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZSBS ZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsgQkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIxMTks IE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iaHR0cDovL3htbC5yZXNvdXJjZS5vcmcvcHVibGlj L3JmYy9odG1sL3JmYzIxMTkuaHRtbCI+SFRNTDwvYT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVz b3VyY2Uub3JnL3B1YmxpYy9yZmMveG1sL3JmYzIxMTkueG1sIj5YTUw8L2E+KS48L3RkPjwvdHI+ DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1 NzgiPltSRkMyNTc4XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0i bWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRv OmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86 c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4s IE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBo cmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyNTc4LnR4dCI+U3RydWN0dXJlIG9m IE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyIChTTUl2Mik8L2E+LCZyZHF1bzsgU1RE Jm5ic3A7NTgsIFJGQyZuYnNwOzI1NzgsIEFwcmlsJm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+ PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzkiPltS RkMyNTc5XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRv Omt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJr aW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vu d0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xv Z2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJm dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyNTc5LnR4dCI+VGV4dHVhbCBDb252ZW50aW9u cyBmb3IgU01JdjI8L2E+LCZyZHF1bzsgU1REJm5ic3A7NTgsIFJGQyZuYnNwOzI1NzksIEFwcmls Jm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI1ODAiPltSRkMyNTgwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJh dXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsu PC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48 L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5KLiBTY2hv ZW53YWVsZGVyPC9hPiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVz L3JmYzI1ODAudHh0Ij5Db25mb3JtYW5jZSBTdGF0ZW1lbnRzIGZvciBTTUl2MjwvYT4sJnJkcXVv OyBTVEQmbmJzcDs1OCwgUkZDJm5ic3A7MjU4MCwgQXByaWwmbmJzcDsxOTk5LjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMzQx MCI+W1JGQzM0MTBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5DYXNlLCBKLiwg TXVuZHksIFIuLCBQYXJ0YWluLCBELiwgYW5kIEIuIFN0ZXdhcnQsICZsZHF1bzs8YSBocmVmPSJm dHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNDEwLnR4dCI+SW50cm9kdWN0aW9uIGFuZCBB cHBsaWNhYmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQg RnJhbWV3b3JrPC9hPiwmcmRxdW87IFJGQyZuYnNwOzM0MTAsIERlY2VtYmVyJm5ic3A7MjAwMi48 L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8YSBuYW1lPSJyZmMucmVmZXJlbmNlczIiPjwvYT48YnIg Lz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0Ni dWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4N CjxoMz4xMS4yLiZuYnNwO0luZm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPg0KPHRhYmxlIHdpZHRo PSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0 b3AiPjxhIG5hbWU9IkFORlAiPltBTkZQXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+TmV0d29yayBJbnRlcm9wZXJhYmlsaXR5IENvbnN1bHRhdGl2ZSBDb21taXR0ZWUgKE5JQ0Mp LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5uaWNjLm9yZy51ay9uaWNjLXB1YmxpYy9QdWJs aWMvaW50ZXJjb25uZWN0c3RhbmRhcmRzL2RzbHRnX3NwZWMvbmQxNjAyXzIwMDVfMDgucGRmIj5T cGVjaWZpY2F0aW9uIG9mIHRoZSBBY2Nlc3MgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkN CiAgICAgICAgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24gc3lzdGVtcyB1c2VkIG9uIHRoZSBC VCBBY2Nlc3MgTmV0d29yazwvYT4sJnJkcXVvOyBOSUNDIERvY3VtZW50Jm5ic3A7TkQxNjAyOjIw MDUvMDgsIEF1Z3VzdCZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJHLjk5MS4yIj5bRy45OTEuMl08L2E+PC90ZD4N Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklUVS1ULCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3 dy5pdHUuaW50L3JlYy9yZWNvbW1lbmRhdGlvbi5hc3A/dHlwZT1mb2xkZXJzJmFtcDtsYW5nPWUm YW1wO3BhcmVudD1ULVJFQy1HLjk5MS4yIj5TaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzPC9hPiwmcmRxdW87IElUVS1UIFJl Y29tbWVuZGF0aW9uJm5ic3A7Ry45OTEuMiwgRGVjZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iRy45OTMu MSI+W0cuOTkzLjFdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JVFUtVCwgJmxk cXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaXR1LmludC9yZWMvcmVjb21tZW5kYXRpb24uYXNwP3R5 cGU9Zm9sZGVycyZhbXA7bGFuZz1lJmFtcDtwYXJlbnQ9VC1SRUMtRy45OTMuMSI+VmVyeSBIaWdo IHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVyczwvYT4sJnJkcXVvOyBJ VFUtVCBSZWNvbW1lbmRhdGlvbiZuYnNwO0cuOTkzLjEsIEp1bmUmbmJzcDsyMDA0LjwvdGQ+PC90 cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSS1E LmlldGYtaHVibWliLWVmbS1lcG9uLW1pYiI+W0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWJd PC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJtYWlsdG86bGlvcl9r aGVybW9zaEBwbWMtc2llcnJhLmNvbSI+S2hlcm1vc2gsIEwuPC9hPiwgJmxkcXVvOzxhIGhyZWY9 Imh0dHA6Ly93d3cuaWV0Zi5vcmcvaW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaHVibWliLWVm bS1lcG9uLW1pYi0wNi50eHQiPk1hbmFnZWQgT2JqZWN0cyBvZiBFUE9OPC9hPiwmcmRxdW87IGRy YWZ0LWlldGYtaHVibWliLWVmbS1lcG9uLW1pYi0wNiAod29yayBpbiBwcm9ncmVzcyksIE5vdmVt YmVyJm5ic3A7MjAwNi48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs aWduPSJ0b3AiPjxhIG5hbWU9IkktRC5pZXRmLWh1Ym1pYi1lZm0tbWliIj5bSS1ELmlldGYtaHVi bWliLWVmbS1taWJdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBocmVmPSJt YWlsdG86bXNxdWlyZUBoYXR0ZXJhc25ldHdvcmtzLmNvbSI+U3F1aXJlLCBNLjwvYT4sICZsZHF1 bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRm LWh1Ym1pYi1lZm0tbWliLTA1LnR4dCI+RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBm b3IgT0FNIEZ1bmN0aW9ucw0KICAgICAgICAgICAgIG9uIEV0aGVybmV0IExpa2UgSW50ZXJmYWNl czwvYT4sJnJkcXVvOyBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tbWliLTA1ICh3b3JrIGluIHByb2dy ZXNzKSwgT2N0b2JlciZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJQU5BaWZUeXBlLU1JQiI+W0lBTkFpZlR5cGUt TUlCXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SW50ZXJuZXQgQXNzaWduZWQg TnVtYmVycyBBdXRob3JpdHkgKElBTkEpLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pYW5h Lm9yZy9hc3NpZ25tZW50cy9pYW5haWZ0eXBlLW1pYiI+SUFOQWlmVHlwZSBUZXh0dWFsIENvbnZl bnRpb24gZGVmaW5pdGlvbjwvYT4sJnJkcXVvOyAmbmJzcDtodHRwOi8vd3d3LmlhbmEub3JnL2Fz c2lnbm1lbnRzL2lhbmFpZnR5cGUtbWliLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjg2MyI+W1JGQzI4NjNdPC9hPjwvdGQ+ DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9s eiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0 Ij5UaGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVu ZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJSRkMyODY0Ij5bUkZDMjg2NF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiPk1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bzs8YSBocmVm PSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyODY0LnR4dCI+VGhlIEludmVydGVkIFN0 YWNrIFRhYmxlIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1 bzsgUkZDJm5ic3A7Mjg2NCwgSnVuZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08 L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkZsaWNrLCBKLiwgJmxkcXVvOzxhIGhy ZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzM2MzUudHh0Ij5EZWZpbml0aW9ucyBv ZiBNYW5hZ2VkIE9iamVjdHMgZm9yIHRoZSBFdGhlcm5ldC1saWtlIEludGVyZmFjZSBUeXBlczwv YT4sJnJkcXVvOyBSRkMmbmJzcDszNjM1LCBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDNDA3 MCI+W1JGQzQwNzBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5Eb2RnZSwgTS4g YW5kIEIuIFJheSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3Jm YzQwNzAudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdCBFeHRlbnNpb25zIGZvciBW ZXJ5IEhpZ2ggU3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmVzIChWRFNMKSBVc2luZyBNdWx0 aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGluZSBDb2Rpbmc8L2E+LCZyZHF1bzsgUkZD Jm5ic3A7NDA3MCwgTWF5Jm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzQzMTkiPltSRkM0MzE5XTwvYT48L3Rk Pg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+U2lrZXMsIEMuLCBSYXksIEIuLCBhbmQgUi4gQWJi aSwgJmxkcXVvOzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzQzMTkudHh0 Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0LVJhdGUgRFNMIC0g Mm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBEaWdpdGFs IFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzPC9hPiwmcmRxdW87IFJGQyZuYnNwOzQzMTks IERlY2VtYmVyJm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8L3RhYmxlPg0KDQo8YSBuYW1lPSJyZmMu YXV0aG9ycyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBh ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0 cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwv dGQ+PC90cj48L3RhYmxlPg0KPGgzPkF1dGhvcidzIEFkZHJlc3M8L2gzPg0KPHRhYmxlIHdpZHRo PSI5OSUiIGJvcmRlcj0iMCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4NCjx0cj48 dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+RWR3YXJkIEJlaWxpPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZu YnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5BY3RlbGlzIE5ldHdvcmtzPC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9 ImF1dGhvci10ZXh0Ij5CYXplbCAyNTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+UGV0YWNoLVRpa3ZhPC90 ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5Jc3JhZWw8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3Ii IGFsaWduPSJyaWdodCI+UGhvbmU6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQi Pis5NzItMy05MjQtMzQ5MTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvciIgYWxpZ249 InJpZ2h0Ij5FbWFpbDombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJl Zj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSI+ZWR3YXJkLmJlaWxpQGFjdGVsaXMu Y29tPC9hPjwvdGQ+PC90cj4NCjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuY29weXJpZ2h0Ij48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8aDM+RnVsbCBDb3B5cmlnaHQgU3RhdGVtZW50PC9oMz4NCjxwIGNsYXNzPSdjb3B5cmln aHQnPg0KQ29weXJpZ2h0ICZjb3B5OyBUaGUgSUVURiBUcnVzdCAoMjAwNykuPC9wPg0KPHAgY2xh c3M9J2NvcHlyaWdodCc+DQpUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QgdG8gdGhlIHJpZ2h0cywN CmxpY2Vuc2VzIGFuZCByZXN0cmljdGlvbnMgY29udGFpbmVkIGluIEJDUCZuYnNwOzc4LA0KYW5k IGV4Y2VwdCBhcyBzZXQgZm9ydGggdGhlcmVpbiwNCnRoZSBhdXRob3JzIHJldGFpbiBhbGwgdGhl aXIgcmlnaHRzLjwvcD4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhpcyBkb2N1bWVudCBhbmQg dGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gYXJlIHByb3ZpZGVkDQpvbiBhbiAmbGRx dW87QVMgSVMmcmRxdW87IGJhc2lzIGFuZCBUSEUgQ09OVFJJQlVUT1IsDQpUSEUgT1JHQU5JWkFU SU9OIEhFL1NIRSBSRVBSRVNFTlRTDQpPUiBJUyBTUE9OU09SRUQgQlkgKElGIEFOWSksIFRIRSBJ TlRFUk5FVCBTT0NJRVRZLCBUSEUgSUVURiBUUlVTVA0KQU5EIFRIRSBJTlRFUk5FVCBFTkdJTkVF UklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJSQU5USUVTLA0KRVhQUkVTUyBPUiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUDQpUSEUg VVNFIE9GIFRIRSBJTkZPUk1BVElPTiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hU UyBPUiBBTlkNCklNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSDQpQVVJQT1NFLjwvcD4NCjxoMz5JbnRlbGxlY3R1YWwgUHJvcGVy dHk8L2gzPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGUgSUVURiB0YWtlcyBubyBwb3NpdGlv biByZWdhcmRpbmcgdGhlIHZhbGlkaXR5IG9yIHNjb3BlIG9mIGFueQ0KSW50ZWxsZWN0dWFsIFBy b3BlcnR5IFJpZ2h0cyBvciBvdGhlciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkDQp0byBw ZXJ0YWluIHRvIHRoZSBpbXBsZW1lbnRhdGlvbiBvciB1c2Ugb2YgdGhlIHRlY2hub2xvZ3kNCmRl c2NyaWJlZCBpbiB0aGlzIGRvY3VtZW50IG9yIHRoZSBleHRlbnQgdG8gd2hpY2ggYW55IGxpY2Vu c2UNCnVuZGVyIHN1Y2ggcmlnaHRzIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5v ciBkb2VzIGl0DQpyZXByZXNlbnQgdGhhdCBpdCBoYXMgbWFkZSBhbnkgaW5kZXBlbmRlbnQgZWZm b3J0IHRvIGlkZW50aWZ5IGFueQ0Kc3VjaCByaWdodHMuDQpJbmZvcm1hdGlvbiBvbiB0aGUgcHJv Y2VkdXJlcyB3aXRoIHJlc3BlY3QgdG8NCnJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZSBm b3VuZCBpbiBCQ1AmbmJzcDs3OCBhbmQgQkNQJm5ic3A7NzkuPC9wPg0KPHAgY2xhc3M9J2NvcHly aWdodCc+DQpDb3BpZXMgb2YgSVBSIGRpc2Nsb3N1cmVzIG1hZGUgdG8gdGhlIElFVEYgU2VjcmV0 YXJpYXQgYW5kIGFueQ0KYXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWlsYWJs ZSwNCm9yIHRoZSByZXN1bHQgb2YgYW4gYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdlbmVyYWwg bGljZW5zZSBvcg0KcGVybWlzc2lvbiBmb3IgdGhlIHVzZSBvZiBzdWNoIHByb3ByaWV0YXJ5IHJp Z2h0cyBieSBpbXBsZW1lbnRlcnMgb3INCnVzZXJzIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBjYW4g YmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUg0KcmVwb3NpdG9yeSBhdCA8YSBo cmVmPSdodHRwOi8vd3d3LmlldGYub3JnL2lwcic+aHR0cDovL3d3dy5pZXRmLm9yZy9pcHI8L2E+ LjwvcD4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhlIElFVEYgaW52aXRlcyBhbnkgaW50ZXJl c3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uDQphbnkgY29weXJpZ2h0cywNCnBh dGVudHMgb3IgcGF0ZW50IGFwcGxpY2F0aW9ucywNCm9yIG90aGVyDQpwcm9wcmlldGFyeSByaWdo dHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1heSBiZSByZXF1aXJlZA0KdG8gaW1w bGVtZW50IHRoaXMgc3RhbmRhcmQuDQpQbGVhc2UgYWRkcmVzcyB0aGUgaW5mb3JtYXRpb24gdG8g dGhlIElFVEYgYXQgPGEgaHJlZj0nbWFpbHRvOmlldGYtaXByQGlldGYub3JnJz5pZXRmLWlwckBp ZXRmLm9yZzwvYT4uPC9wPg0KPGgzPkFja25vd2xlZGdtZW50PC9oMz4NCjxwIGNsYXNzPSdjb3B5 cmlnaHQnPg0KRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24gaXMgcHJvdmlkZWQg YnkNCnRoZSBJRVRGIEFkbWluaXN0cmF0aXZlIFN1cHBvcnQgQWN0aXZpdHkgKElBU0EpLjwvcD4N CjwvYm9keT48L2h0bWw+DQo= ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: application/octet-stream; name="if-cap-stack-mib.mib" Content-Transfer-Encoding: base64 Content-Description: if-cap-stack-mib.mib Content-Disposition: attachment; filename="if-cap-stack-mib.mib" SUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAg TU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTINCiAgICAgIEZST00gU05NUHYyLVNN SSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgVHJ1dGhWYWx1ZQ0KICAgICAgRlJPTSBTTk1QdjIt VEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdS T1VQDQogICAgICBGUk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MA0KICAgIGlmU3Rh Y2tHcm91cDIsIGlmU3RhY2tIaWdoZXJMYXllciwgaWZTdGFja0xvd2VyTGF5ZXIgDQogICAgICBG Uk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2Mw0KICAgIGlmSW52U3RhY2tHcm91cA0K ICAgICAgRlJPTSBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQNCiAgICA7DQoNCiAg aWZDYXBTdGFja01JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjE4 MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNw0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhl cm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1J TkZPDQogICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1s LmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAg ICAgICAgR2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vi c2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3Jp YmUgeW91cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBXaWpuZW4NCiAgICAg IFBvc3RhbDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdlbiAzMw0KICAgICAg ICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMNCiAg ICAgICAgIFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRl bC1sdWNlbnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6 IEFjdGVsaXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5C LiAxMDE3Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAg SXNyYWVsDQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6 IGVkd2FyZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhl IG9iamVjdHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBj cm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2Vz LA0KICAgICAgY29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBk ZWZpbmVkIGluDQogICAgICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0 aXZlbHkuDQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhp cyB2ZXJzaW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsg IHNlZSB0aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAg ICBSRVZJU0lPTiAgICAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3DQogICAg REVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0K ICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIg Jg0KICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KIA0KICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoN CiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMN CiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNlY3Rpb25z IG9mIHRoZSBtb2R1bGUNCiAgIC0tIFN0cnVjdHVyZWQgYXMgcmVjb21tZW5kZWQgYnkgUkZDIDQx ODEsIHNlZQ0KICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQNCg0KICAgaWZD YXBTdGFja09iamVjdHMgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIg MSB9DQoNCiAgIGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBp ZkNhcFN0YWNrTUlCIDIgfQ0KDQogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQ0KDQogICAtLQ0K ICAgLS0gaWZDYXBTdGFja1RhYmxlIGdyb3VwDQogICAtLQ0KDQogICBpZkNhcFN0YWNrVGFibGUg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIElmQ2FwU3RhY2tFbnRy eQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUsIG1vZGVsZWQgYWZ0ZXIg aWZTdGFja1RhYmxlIGZyb20gSUYtTUlCLA0KICAgICAgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9u IHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJw0KICAgICAgIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB0 aGUgbXVsdGlwbGUgc3ViLWxheWVycyBvZiBuZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcyAoYXMg b3Bwb3NlZCB0byBhY3R1YWwgcmVsYXRpb25zaGlwcyBkZXNjcmliZWQgaW4NCiAgICAgICBpZlN0 YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBpbmZvcm1hdGlvbiBvbg0KICAg ICAgIHdoaWNoIHN1Yi1sYXllcnMgTUFZIHBvc3NpYmx5IHJ1biAnb24gdG9wIG9mJyB3aGljaCBv dGhlcg0KICAgICAgIHN1Yi1sYXllcnMsIGFzIGRldGVybWluZWQgYnkgY3Jvc3MtY29ubmVjdCBj YXBhYmlsaXR5IG9mIHRoZQ0KICAgICAgIGRldmljZSwgd2hlcmUgZWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdw0KICAgICAgIGluIHRoZSBpZlRhYmxlLiBGb3Ig ZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleA0KICAgICAgIHZhbHVlIHgg Y2FuIGJlIGNvbm5lY3RlZCB0byBydW4gb24gdG9wIG9mIHRoZSBzdWItbGF5ZXIgd2l0aA0KICAg ICAgIGlmSW5kZXggdmFsdWUgeSwgdGhlbiB0aGlzIHRhYmxlIGNvbnRhaW5zOg0KICAgICAgIA0K ICAgICAgICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAgaWZDYXBTdGFja1N0 YXR1cy54Lnkgcm93IGRvZXMgbm90IGV4aXN0IGlmIGl0IGlzIGltcG9zc2libGUNCiAgICAgICB0 byBjb25uZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4NCiAgICAgICANCiAgICAg ICBOb3RlIHRoYXQgZm9yIG1vc3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNFLVRMKQ0K ICAgICAgIHRoZXJlJ3MgYWx3YXlzIGF0IGxlYXN0IG9uZSBoaWdoZXItbGV2ZWwgaW50ZXJmYWNl IChlLmcuIFBDUw0KICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVsIGludGVyZmFjZSAo ZS5nLiBQTUUpIGFuZCBhdA0KICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZlbCBpbnRlcmZhY2Ug Zm9yIGVhY2ggaGlnaGVyLWxldmVsDQogICAgICAgaW50ZXJmYWNlLCB0aGF0IGlzLCB0aGVyZSBp cyBhdCBsZWFzdCBhIHNpbmdsZSByb3cgd2l0aCBhDQogICAgICAgJ3RydWUnIHN0YXR1cyBmb3Ig YW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4NCg0KICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBkZXZpY2UgY2FwYWJpbGl0eSINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIg0KICAgICA6Oj0geyBpZkNhcFN0YWNrT2Jq ZWN0cyAxIH0NCg0KICAgaWZDYXBTdGFja0VudHJ5ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBJZkNhcFN0YWNrRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmZvcm1h dGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvDQogICAgICAgc3Vi LWxheWVycywgc3BlY2lmeWluZyB0aGF0IG9uZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bg0K ICAgICAgIG9uICd0b3AnIG9mIHRoZSBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNv cnJlc3BvbmRzDQogICAgICAgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50 ZXJmYWNlIGluZGV4IGZvcg0KICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3Rp dmVseSkuIg0KICAgICBJTkRFWCB7DQogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLA0KICAgICAg IGlmU3RhY2tMb3dlckxheWVyDQogICAgIH0NCiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEg fQ0KDQogICBJZkNhcFN0YWNrRW50cnkgOjo9IFNFUVVFTkNFIHsNCiAgICAgICAgaWZDYXBTdGFj a1N0YXR1cyAgICAgICBUcnV0aFZhbHVlDQogICAgICB9DQoNCiAgIGlmQ2FwU3RhY2tTdGF0dXMg IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiVGhlIHN0YXR1cyBvZiB0aGUgJ2Nyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eScgcmVs YXRpb25zaGlwDQogICAgICAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4gVGhlIGZvbGxvd2luZyB2 YWx1ZXMgY2FuIGJlIHJldHVybmVkOg0KICAgICAgICAgdHJ1ZSgxKSAgICAgICAgIC0gaW5kaWNh dGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2UsDQogICAgICAgICAgICAgICAgICAgICAg ICAgICBpZGVudGlmaWVkIGJ5IHRoZSBpZlN0YWNrTG93ZXJMYXllciBNQVkNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJlIGNvbm5lY3RlZCB0byBydW4gJ2JlbG93JyB0aGUgc3ViLWxheWVy DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2UsIGlkZW50aWZpZWQgYnkgdGhl DQogICAgICAgICAgICAgICAgICAgICAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIgaW5kZXguDQog ICAgICAgICBmYWxzZSgyKSAgICAgICAgLSB0aGUgc3ViLWxheWVyIGludGVyZmFjZXMgY2Fubm90 IGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgdGVtcG9yYXJpbHkgZHVl IHRvDQogICAgICAgICAgICAgICAgICAgICAgICAgICB1bmF2YWlsYWJpbGl0eSBvZiB0aGUgaW50 ZXJmYWNlKHMpLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICBvbmUgb2YgdGhlIGlu dGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgYWJz ZW50IHBsdWdnYWJsZSBtb2R1bGUuDQoNCiAgICAgICBOb3RlIHRoYXQgbG93ZXItbGF5ZXIgaW50 ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVyLA0KICAgICAgIGluZGljYXRlZCBi eSB0aGUgdmFsdWUgb2YgJ3RydWUnLCBjYW4gYmUgY29uc3RyYWluZWQgYnkNCiAgICAgICBvdGhl ciBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSBieSB0aGUgYWdncmVnYXRpb24gY2FwYWNpdHkgb2YN CiAgICAgICBhIGhpZ2hlci1sYXllciBpbnRlcmZhY2Ugb3IgYnkgdGhlIGxvd2VyLWxheWVyIGlu dGVyZmFjZSBpbg0KICAgICAgIHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29ubmVjdGVkIHRvIGFu b3RoZXIgaGlnaGVyLWxheWVyDQogICAgICAgaW50ZXJmYWNlLiBJbiBvcmRlciB0byBlbnN1cmUg dGhhdCBhIHBhcnRpY3VsYXIgc3ViLWxheWVyIGNhbg0KICAgICAgIGJlIGNvbm5lY3RlZCB0byBh bm90aGVyIHN1Yi1sYXllciwgYWxsIHJlc3BlY3RpdmUgb2JqZWN0cw0KICAgICAgIChlLmcuIGlm Q2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxlIGFuZCBlZm1DdVBBRkNhcGFjaXR5IGZvcg0KICAg ICAgIGZvciBFRk1DdSBpbnRlcmZhY2VzKSBTSEFMTCBiZSBpbnNwZWN0ZWQuDQoNCiAgICAgICBU aGlzIG9iamVjdCBpcyByZWFkIG9ubHksIHVubGlrZSBpZlN0YWNrU3RhdHVzLCBhcyBpdA0KICAg ICAgIGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iDQogICAgIDo6PSB7IGlm Q2FwU3RhY2tFbnRyeSAxIH0NCg0KICAgaWZJbnZDYXBTdGFja1RhYmxlICBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICAgIFNFUVVFTkNFIE9GIElmSW52Q2FwU3RhY2tFbnRyeQ0KICAgICBN QVgtQUNDRVNTICAgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRhYmxlIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24g b24gdGhlIHBvc3NpYmxlIHJlbGF0aW9uc2hpcHMNCiAgICAgICBiZXR3ZWVuIHRoZSBtdWx0aXBs ZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsgaW50ZXJmYWNlcy4gVGhpcyANCiAgICAgICB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQ0KICAgICAgIElGLUlOVkVSVEVELVNU QUNLLU1JQiwgaXMgYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlDQogICAgICAgZGVm aW5lZCBpbiB0aGlzIE1JQiBtb2R1bGUuDQogICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJs ZSBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaA0KICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1 biAndW5kZXJuZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUNCiAgICAgICBlYWNo IHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxl Lg0KICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZh bHVlIHggTUFZIGJlDQogICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBzdWIt bGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlDQogICAgICAgeSwgdGhlbiB0aGlzIHRhYmxlIGNvbnRh aW5zOg0KDQogICAgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAg VGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRo ZQ0KICAgICAgIGlmQ2FwU3RhY2tUYWJsZSwgYnV0IHRoZSByb3dzIGFwcGVhciBpbiBhIGRpZmZl cmVudCBvcmRlci4NCg0KICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2Ny aWJlcyBhIGNyb3NzLWNvbm5lY3QNCiAgICAgICBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAg Ojo9IHsgaWZDYXBTdGFja09iamVjdHMgMiB9DQoNCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgTUFY LUFDQ0VTUyAgICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxh dGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLQ0KICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhh dCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgb3RoZXIgc3Vi LWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAg ICAgcm93IGluIHRoZSBpZlRhYmxlLiINCiAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwg aWZTdGFja0hpZ2hlckxheWVyIH0NCiAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxlIDEgfQ0K DQogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICBpZkludkNhcFN0 YWNrU3RhdHVzICAgICAgIFRydXRoVmFsdWUNCiAgICB9DQoNCiAgIGlmSW52Q2FwU3RhY2tTdGF0 dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFY LUFDQ0VTUyAgICAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1j b25uZWN0IGNhcGFiaWxpdHknDQogICAgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBzdWIt bGF5ZXJzLg0KDQogICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3Ig ZWFjaCBpbnN0YW5jZSBvZiB0aGUNCiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFu ZCB2aWNlIHZlcnNhLiBGb3IgZXhhbXBsZSwgaWYgdGhlDQogICAgICAgIHZhcmlhYmxlIGlmQ2Fw U3RhY2tTdGF0dXMuSC5MIGV4aXN0cywgdGhlbiB0aGUgdmFyaWFibGUNCiAgICAgICAgaWZJbnZT dGFja1N0YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4gIEluDQogICAg ICAgIGFkZGl0aW9uLCB0aGUgdHdvIHZhcmlhYmxlcyBhbHdheXMgaGF2ZSB0aGUgc2FtZSB2YWx1 ZS4NCg0KICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1vbmx5LCBh cyBpdCBkZXNjcmliZXMNCiAgICAgICAgYSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiDQogICAgIDo6PSB7IGlmSW52 Q2FwU3RhY2tFbnRyeSAxIH0NCg0KICAtLQ0KICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1lbnRzDQog IC0tDQoNCiAgIGlmQ2FwU3RhY2tHcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAg ICAgICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgMSB9DQoNCiAgIGlmQ2FwU3RhY2tDb21wbGlh bmNlcyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0NCiAgICAgICAgeyBpZkNhcFN0YWNrQ29uZm9ybWFu Y2UgMiB9DQoNCiAgIC0tIFVuaXRzIG9mIENvbmZvcm1hbmNlDQoNCiAgIGlmQ2FwU3RhY2tHcm91 cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgaWZDYXBTdGFja1N0YXR1cywN CiAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3Zp ZGluZyBpbmZvcm1hdGlvbiBvbiB0aGUNCiAgICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkg b2YgbXVsdGktbGF5ZXIgKHN0YWNrZWQpIG5ldHdvcmsNCiAgICAgICBpbnRlcmZhY2VzLiINCiAg ICAgOjo9IHsgaWZDYXBTdGFja0dyb3VwcyAxIH0NCg0KDQogIC0tIENvbXBsaWFuY2UgU3RhdGVt ZW50cw0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjb21wbGlh bmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGllcywgd2hpY2ggcHJvdmlkZQ0KICAgICAgIGlu Zm9ybWF0aW9uIG9uIHRoZSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgbXVsdGktbGF5ZXIN CiAgICAgICAoc3RhY2tlZCkgbmV0d29yayBpbnRlcmZhY2VzLCB3aXRoIGZsZXhpYmxlIGNyb3Nz LWNvbm5lY3QNCiAgICAgICBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzLg0KICAgICAgIENvbXBsaWFu Y2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAg ICAgIGlzIFJFUVVJUkVEOg0KICAgICAgIA0KICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAg Q29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAgICAgICAgICBpZkNvbXBsaWFu Y2UzDQogICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UiDQoNCiAg ICAgDQogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUNCiAgICAgICBNQU5EQVRPUlktR1JPVVBT IHsNCiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cA0KICAgICAgIH0NCiAgICAgICANCiAgICAgICBP QkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZTlRBWCAgICAgICBUcnV0aFZh bHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZv ciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRh dGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4iDQoNCiAgICAgICBPQkpFQ1Qg ICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZTlRBWCAgICAgICBUcnV0aFZhbHVl IHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0 aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAgICAgICBpbXBsZW1lbnRhdGlv bnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4iDQogICAgICAgDQogICAgIE1PRFVM RSAgSUYtTUlCDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZlN0YWNrR3Jv dXAyDQogICAgICAgfQ0KDQogICAgIE1PRFVMRSAgSUYtSU5WRVJURUQtU1RBQ0stTUlCDQogICAg ICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkludlN0YWNrR3JvdXANCiAgICAgICB9 DQogICAgICAgDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tDb21wbGlhbmNlcyAxIH0NCkVORA0KDQo= ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: application/octet-stream; name="efm-cu-mib.mib" Content-Transfer-Encoding: base64 Content-Description: efm-cu-mib.mib Content-Disposition: attachment; filename="efm-cu-mib.mib" RUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAgTU9EVUxF LUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAg ICBVbnNpZ25lZDMyLCBDb3VudGVyMzIsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAg ICAgICAtLSBSRkMgMjU3OA0KICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93 U3RhdHVzLCBQaHlzQWRkcmVzcw0KICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZD IDI1NzkNCiAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04t R1JPVVANCiAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgU25t cEFkbWluU3RyaW5nDQogICAgICBGUk9NIFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQ0K ICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJG QyAyODYzDQogICAgOw0KDQogIGVmbUN1TUlCIE1PRFVMRS1JREVOVElUWQ0KICAgIExBU1QtVVBE QVRFRCAiMjAwNzAyMTgwMDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3DQogICAgT1JHQU5JWkFU SU9OICJJRVRGIEV0aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIN CiAgICBDT05UQUNULUlORk8NCiAgICAgICJXRyBjaGFydGVyOg0KICAgICAgICBodHRwOi8vd3d3 LmlldGYub3JnL2h0bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICBNYWls aW5nIExpc3RzOg0KICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0K ICAgICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MNCg0KICAgICAgQ2hhaXI6ICBCZXJ0 IFdpam5lbg0KICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudA0KICAgICAgICAgICAgICBTY2hh Z2VuIDMzDQogICAgICAgICAgICAgIDM0NjEgR0wgTGluc2Nob3Rlbg0KICAgICAgICAgICAgICBO ZXRoZXJsYW5kcw0KICAgICAgICAgVGVsOiArMzEtMzQ4LTQwNy03NzUNCiAgICAgIEUtbWFpbDog Yndpam5lbkBhbGNhdGVsLWx1Y2VudC5jb20NCg0KICAgICAgRWRpdG9yOiBFZHdhcmQgQmVpbGkN CiAgICAgIFBvc3RhbDogQWN0ZWxpcyBOZXR3b3JrcyBJbmMuDQogICAgICAgICAgICAgIDI1IEJh emVsIFN0LiwgUC5PLkIuIDEwMTczDQogICAgICAgICAgICAgIFBldGFjaC1UaWt2YSAxMDE3Mw0K ICAgICAgICAgICAgICBJc3JhZWwNCiAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0OTEN CiAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIg0KDQogICAgREVTQ1JJUFRJ T04NCiAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gbWFu YWdlDQogICAgICB0aGUgRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChF Rk1DdSkgSW50ZXJmYWNlcw0KICAgICAgMkJBU0UtVEwgYW5kIDEwUEFTUy1UUywgZGVmaW5lZCBp biBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0LA0KICAgICAgd2hpY2ggaXMgbm93IGEgcGFydCBvZiBJ RUVFIFN0ZC4gODAyLjMtMjAwNS4NCg0KICAgICAgVGhlIGZvbGxvd2luZyByZWZlcmVuY2VzIGFy ZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBNSUIgbW9kdWxlOg0KDQogICAgICBbODAyLjNhaF0gcmVm ZXJzIHRvOg0KICAgICAgICBJRUVFIFN0ZCA4MDIuM2FoLTIwMDQ6ICdJRUVFIFN0YW5kYXJkIGZv ciBJbmZvcm1hdGlvbg0KICAgICAgICB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFu ZCBpbmZvcm1hdGlvbiBleGNoYW5nZQ0KICAgICAgICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBh bmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJl bWVudHMgLQ0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdp dGggQ29sbGlzaW9uDQogICAgICAgIERldGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBh bmQgUGh5c2ljYWwgTGF5ZXINCiAgICAgICAgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBBbWVu ZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAgICAg IExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vzcw0K ICAgICAgICBOZXR3b3JrcycsIDA3IFNlcHRlbWJlciAyMDA0Lg0KDQogICAgICBPZiBwYXJ0aWN1 bGFyIGludGVyZXN0IGFyZSBDbGF1c2UgNjEsICdQaHlzaWNhbCBDb2RpbmcNCiAgICAgIFN1Ymxh eWVyIChQQ1MpIGFuZCBjb21tb24gc3BlY2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZA0K ICAgICAgdHlwZSAyQkFTRS1UTCcsIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUs DQogICAgICAnTWFuYWdlbWVudCBEYXRhIElucHV0L091dHB1dCAoTURJTykgSW50ZXJmYWNlJywg QW5uZXggNjJBLA0KICAgICAgJ1BNRCBwcm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXgg NjNBLCAnUE1EIHByb2ZpbGVzIGZvcg0KICAgICAgMkJBU0UtVEwnLg0KDQogICAgICBbRy45OTEu Ml0gcmVmZXJzIHRvOg0KICAgICAgICBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2lu Z2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdpdGFsDQogICAgICAgIFN1YnNjcmliZXIgTGluZSAoU0hE U0wpIHRyYW5zY2VpdmVycycsIERlY2VtYmVyIDIwMDMuDQoNCiAgICAgIFtBTkZQXSByZWZlcnMg dG86DQogICAgICAgIE5JQ0MgRG9jdW1lbnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZpY2F0aW9u IG9mIHRoZSBBY2Nlc3MNCiAgICAgICAgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkgYXBw bGljYWJsZSB0byB0cmFuc21pc3Npb24NCiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBB Y2Nlc3MgTmV0d29yaywnIEF1Z3VzdCAyMDA1Lg0KDQogICAgICBOYW1pbmcgQ29udmVudGlvbnM6 DQogICAgICAgIEF0biAgIC0gQXR0ZW51YXRpb24NCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9m ZmljZQ0KICAgICAgICBDUEUgICAtIEN1c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudA0KICAgICAg ICBFRk0gICAtIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlDQogICAgICAgIEVGTUN1IC0gRUZN IENvcHBlcg0KICAgICAgICBNRElPICAtIE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQNCiAg ICAgICAgTWduICAgLSBNYXJnaW4NCiAgICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVu Y3Rpb24NCiAgICAgICAgUEJPICAgLSBQb3dlciBCYWNrLU9mZg0KICAgICAgICBQQ1MgICAtIFBo eXNpY2FsIENvZGluZyBTdWJsYXllcg0KICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBE ZXBlbmRlbnQNCiAgICAgICAgUE1FICAgLSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQogICAgICAg IFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwgRGVuc2l0eQ0KICAgICAgICBTTlIgICAtIFNpZ25hbCB0 byBOb2lzZSBSYXRpbw0KICAgICAgICBUQ1BBTSAtIFRyZWxsaXMgQ29kZWQgUHVsc2UgQW1wbGl0 dWRlIE1vZHVsYXRpb24NCg0KICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAw NykuICBUaGlzIHZlcnNpb24NCiAgICAgIG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJG QyBYWFhYOyAgc2VlIHRoZSBSRkMNCiAgICAgIGl0c2VsZiBmb3IgZnVsbCBsZWdhbCBub3RpY2Vz LiINCg0KICAgIFJFVklTSU9OICAgICIyMDA3MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIw MDcNCiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhY WFguIg0KDQogICAgICAtLSBFZE5vdGU6IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZD IG51bWJlciAmDQogICAgICAtLSByZW1vdmUgdGhpcyBub3RlDQogDQogICAgOjo9IHsgbWliLTIg WVlZIH0NCg0KICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25j ZSBpdCBpcw0KICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAgLS0g U2VjdGlvbnMgb2YgdGhlIG1vZHVsZQ0KDQogICBlZm1DdU9iamVjdHMgICAgIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1TUlCIDEgfQ0KDQogICBlZm1DdUNvbmZvcm1hbmNlIE9CSkVDVCBJ REVOVElGSUVSIDo6PSB7IGVmbUN1TUlCIDIgfQ0KDQogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVs ZQ0KDQogICBlZm1DdVBvcnQgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2Jq ZWN0cyAxIH0NCg0KICAgZWZtQ3VQbWUgICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdU9iamVjdHMgMiB9DQoNCiAgIC0tIFRleHR1YWwgQ29udmVudGlvbnMNCg0KICAgRWZtUHJv ZmlsZUluZGV4IDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgRElTUExBWS1ISU5UICJkIg0K ICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHVu aXF1ZSB2YWx1ZSwgZ3JlYXRlciB0aGFuIHplcm8sIGZvciBlYWNoIFBNRSBjb25maWd1cmF0aW9u DQogICAgICAgcHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0DQogICAgICAgdmFsdWVzIGFyZSBhc3NpZ25lZCBjb250aWd1b3VzbHkgc3RhcnRp bmcgZnJvbSAxLiBUaGUgdmFsdWUNCiAgICAgICBmb3IgZWFjaCBwcm9maWxlIE1VU1QgcmVtYWlu IGNvbnN0YW50IGF0IGxlYXN0IGZyb20gb25lDQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2Yg dGhlIGVudGl0eSdzIG5ldHdvcmsgbWFuYWdlbWVudCBzeXN0ZW0NCiAgICAgICB0byB0aGUgbmV4 dCByZS1pbml0aWFsaXphdGlvbi4iDQogICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMyICgxLi4y NTUpDQoNCiAgIEVmbVByb2ZpbGVJbmRleE9yWmVybyA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQog ICAgIERJU1BMQVktSElOVCAiZCINCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4gZXh0ZW5zaW9u IG9mIEVmbVByb2ZpbGVJbmRleA0KICAgICAgIGNvbnZlbnRpb24uIFRoZSBsYXR0ZXIgZGVmaW5l cyBhIGdyZWF0ZXIgdGhhbiB6ZXJvIHZhbHVlIHVzZWQNCiAgICAgICB0byBpZGVudGlmeSBhIFBN RSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1IHBvcnQuIFRoaXMNCiAgICAgICBleHRlbnNp b24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB6ZXJvLiBUaGUgdmFsdWUgb2YNCiAg ICAgICB6ZXJvIGlzIG9iamVjdC1zcGVjaWZpYyBhbmQgTVVTVCB0aGVyZWZvcmUgYmUgZGVmaW5l ZCBhcyBwYXJ0DQogICAgICAgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3Qgd2hpY2gg dXNlcyB0aGlzIHN5bnRheC4NCiAgICAgICBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2YgemVybyB2 YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMNCiAgICAgICB3aGVyZSBjdXJyZW50IG9wZXJh dGlvbmFsIHByb2ZpbGUgaXMgdW5rbm93bi4iDQogICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMy ICgwLi4yNTUpDQoNCiAgIEVmbVByb2ZpbGVJbmRleExpc3QgOjo9IFRFWFRVQUwtQ09OVkVOVElP Tg0KICAgICBESVNQTEFZLUhJTlQgIjFkOiINCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiUmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNiBFZm1Q cm9maWxlSW5kZXgncy4NCiAgICAgICBUaGUgRWZtUHJvZmlsZUluZGV4IHRleHR1YWwgY29udmVu dGlvbiBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuDQogICAgICAgemVybyB2YWx1ZSB1c2VkIHRvIGlk ZW50aWZ5IGEgUE1FIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UNCiAgICAgICBwb3J0LiBU aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcg0KICAg ICAgIG1vcmUgKHVwIHRvIDYpIG9jdGV0cywgd2hlcmUgZWFjaCBvY3RldCBjb250YWlucyBhbiA4 LWJpdA0KICAgICAgIEVmbVByb2ZpbGVJbmRleCB2YWx1ZS4NCiAgICAgICBUaGUgRWZtUHJvZmls ZUluZGV4TGlzdCBzcGVjaWZpZXMgYSBsaXN0IG9mIGFsdGVybmF0aXZlDQogICAgICAgcHJvZmls ZXMsIGFueSBvZiB3aGljaCBjYW4gYmUgY2hvc2VuIGZvciBjb25maWd1cmF0aW9uIG9mIGFuDQog ICAgICAgUE1FLiINCiAgICAgU1lOVEFYICAgICAgIE9DVEVUIFNUUklORyAoU0laRSgxLi42KSkN Cg0KICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93biA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAg IFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGV4 dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUgVHJ1dGhWYWx1ZQ0KICAgICAg IGNvbnZlbnRpb24uIFRoZSBsYXR0ZXIgZGVmaW5lcyBhIGJvb2xlYW4gdmFsdWUgd2l0aCANCiAg ICAgICBwb3NzaWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAg ICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3 aGljaA0KICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9u LCB3aGVuIGFuIGV4YWN0DQogICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0 IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiINCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtu b3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgLS0gUG9ydCBOb3RpZmljYXRpb25zIEdy b3VwDQoNCiAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VQb3J0IDAgfQ0KICAgDQogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04t VFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICAtLSBpZkluZGV4IGlzIG5vdCBuZWVkZWQgaGVy ZSBzaW5jZSB3ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAgaWZTcGVlZCwNCiAgICAg ICBlZm1DdVRocmVzaExvd1JhdGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0 IHRoZSBFRk1DdSBwb3J0JyBkYXRhIHJhdGUNCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJl bG93IG9yIGV4Y2VlZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgc3BlY2lmaWVk IGJ5IGVmbUN1VGhyZXNoTG93UmF0ZS4NCg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBi ZSBzZW5kIGZvciB0aGUgLU8gc3VidHlwZSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNz VFMtTykgd2hpbGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgIGV2ZW50 IGluIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAg ICAgdGhyZXNob2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cg aXQpIGFuZA0KICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMg bm90IGFwcGxpY2FibGUgdG8NCiAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywN CiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZp Y2F0aW9uLA0KICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExp bmtVcC9MaW5rRG93biBhbmQNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRp b25zIHRvIGJlIHNlbnQuDQoNCiAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1D dSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgIGFkYXB0IGl0c2VsZiB0byB0 aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAgYW4gaW1w dWxzZSBub2lzZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0aW9uIG1heQ0K ICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRp b24gZ3JvdXAsDQogICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3Jl Z2F0ZWQgRUZNQ3UgbGluay4NCiAgICAgICBUaGUgZHJvcHBlZCBQTUVzIHdvdWxkIHRoZW4gdHJ5 IHRvIHJlLWluaXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAgYSBsb3dlciByYXRlIHRoYW4g YmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQ0KICAgICAgIHJlcXVpcmVkIHRh cmdldCBTTlIgbWFyZ2luLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlv biBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJs ZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBvcnROb3RpZmljYXRpb25zIDEgfQ0KDQogICAt LSBQQ1MgUG9ydCBncm91cA0KDQogICBlZm1DdVBvcnRDb25mVGFibGUgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q29uZkVudHJ5DQogICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgRUZNQ3UgMkJBU0Ut VEwvMTBQQVNTLVRTIChQQ1MpDQogICAgICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBN VVNUIGJlIG1haW50YWluZWQgaW4gYQ0KICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIg0KICAgICA6 Oj0geyBlZm1DdVBvcnQgMSB9DQoNCiAgIGVmbUN1UG9ydENvbmZFbnRyeSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLg0K ICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhl IGlmSW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9w IG9mIGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBh bHNvIGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6 Oj0geyBlZm1DdVBvcnRDb25mVGFibGUgMSB9DQoNCiAgIEVmbUN1UG9ydENvbmZFbnRyeSA6Oj0N CiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlICAgICAgICAgICAgUGh5c0Fk ZHJlc3MsDQogICAgICAgZWZtQ3VBZG1pblByb2ZpbGUgICAgICAgICAgICAgICAgRWZtUHJvZmls ZUluZGV4TGlzdCwNCiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAgICAgICAgICBVbnNp Z25lZDMyLA0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduICAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVRocmVzaExvd1JhdGUgICAgICAgICAgICAgICBVbnNpZ25lZDMyLA0KICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICAgICAgIFRydXRoVmFsdWUNCiAgICAgfQ0K DQogICBlZm1DdVBBRkFkbWluU3RhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElO VEVHRVIgew0KICAgICAgIGVuYWJsZWQoMSksDQogICAgICAgZGlzYWJsZWQoMikNCiAgICAgfQ0K ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9m IHRoZSBQQUYgb2YgdGhlIEVGTUN1IHBvcnQNCiAgICAgICAoUENTKS4NCiAgICAgICBXaGVuICdk aXNhYmxlZCcsIFBNRSBBZ2dyZWdhdGlvbiB3aWxsIG5vdCBiZSBwZXJmb3JtZWQgYnkgdGhlDQog ICAgICAgUENTLiBObyBtb3JlIHRoYW4gYSBzaW5nbGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0 aGlzIFBDUyBpbg0KICAgICAgIHRoaXMgY2FzZS4NCiAgICAgICBXaGVuICdlbmFibGVkJywgUEFG IHdpbGwgYmUgcGVyZm9ybWVkIGJ5IHRoZSBQQ1Mgd2hlbiB0aGUgbGluaw0KICAgICAgIGlzIFVw LCBldmVuIG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwgaWYgUEFGIGlzIHN1cHBvcnRlZC4NCg0K ICAgICAgIFBDUyBwb3J0cyBpbmNhcGFibGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJu IGEgdmFsdWUgb2YNCiAgICAgICAnZGlzYWJsZWQnLiBBdHRlbXB0cyB0byAnZW5hYmxlJyBzdWNo IHBvcnRzIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgUEFGICdlbmFibGVkJyBwb3J0IHdp dGggbXVsdGlwbGUgUE1FcyBhc3NpZ25lZCBjYW5ub3QgYmUNCiAgICAgICAnZGlzYWJsZWQnLiBB dHRlbXB0cyB0byAnZGlzYWJsZScgc3VjaCBwb3J0IFNIQUxMIGJlIHJlamVjdGVkLA0KICAgICAg IHVudGlsIGF0IG1vc3Qgb25lIFBNRSBpcyBsZWZ0IGFzc2lnbmVkLg0KDQogICAgICAgQ2hhbmdp bmcgUEFGQWRtaW5TdGF0ZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZSBvcGVyYXRpb24gYW5kDQog ICAgICAgYXMgc3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gQXR0ZW1w dHMgdG8NCiAgICAgICBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhl IGxpbmsgaXMgVXAgb3INCiAgICAgICBJbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZBZG1pblN0YXRlLg0KDQogICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGVuYWJsZSBiaXQgaW4gdGhl IDEwUC8yQiBQQ1MgY29udHJvbA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgNDUuMi4zLjE4LjMiDQogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSAxIH0NCg0KICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkNCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlBBRiBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgRUZNQ3UgcG9ydCAoUENT KS4NCiAgICAgICBBIHVuaXF1ZSA2IG9jdGV0IGxvbmcgY29kZSB1c2VkIGJ5IHRoZSBEaXNjb3Zl cnkgZnVuY3Rpb24sDQogICAgICAgd2hlbiBQQUYgaXMgc3VwcG9ydGVkLg0KICAgICAgIFBDUyBw b3J0cyBpbmNhcGFibGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YN CiAgICAgICBhbGwgemVyb2VzLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwg YmUgcmVqZWN0ZWQNCiAgICAgICBpbiB0aGlzIGNhc2UuDQogICAgICAgVGhpcyBvYmplY3QgTVVT VCBiZSBpbnN0YW50aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUNCiAgICAgICB3 cml0aW5nIG9wZXJhdGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZQ0KICAg ICAgIChTZXRfaWZfQ2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1F cw0KICAgICAgIGFzc29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAgICAgIFRoZSBpbml0aWFsIHZh bHVlIG9mIHRoaXMgb2JqZWN0IGZvciAtUiBzdWJ0eXBlIHBvcnRzIGFmdGVyDQogICAgICAgcmVz ZXQgaXMgYWxsIHplcm9lcy4gRm9yIC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlz DQogICAgICAgb2JqZWN0IGNhbm5vdCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1h eSBiZSBjaGFuZ2VkDQogICAgICAgYXMgYSByZXN1bHQgb2Ygd3JpdGluZyBvcGVyYXRpb24gb24g dGhlDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUg UE1FIG9mIC1PDQogICAgICAgc3VidHlwZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwg UE1FcyBhc3NvY2lhdGVkIHdpdGgNCiAgICAgICB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5 IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAg ICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBp cyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5 IGNvZGUgbWFwcyB0byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJpYWJsZSBp biBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0KICAgICAg IENsYXVzZSA0NSByZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 Q29uZkVudHJ5IDIgfQ0KDQogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4TGlzdA0KICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi RGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMgaW4g dGhlDQogICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50ZXJz IHRvIGVudHJpZXMgaW4NCiAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0K ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQN CiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0ZWQg YnkNCiAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQogICAgICAgUHJvZmlsZXMuIElmIHRo aXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9maWxlIGluZGV4LA0KICAgICAgIHRoZW4g YWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1DdSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3VyZWQN CiAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4 LCB1bmxlc3MgaXQNCiAgICAgICBpcyBvdmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16 ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ug b3ZlciBlZm1DdUFkbWluUHJvZmlsZS4NCiAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBvZiBt b3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICBpbiB0aGUgcG9ydCB0 byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgIHNwZWNpZmll ZCBpbiB0aGUgbGlzdC4NCiAgICAgICBCeSBkZWZhdWx0IHRoaXMgb2JqZWN0IGhhcyBhIHZhbHVl IG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdA0KICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUuDQoNCiAgICAgICBUaGlzIG9iamVj dCBpcyB3cml0YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSAtTyBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQgaXMgdW5zdXBwb3J0ZWQgZm9y DQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNzVFMtUikgcG9ydHMu DQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlz IGF2YWlsYWJsZSB2aWENCiAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAg ICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRo ZSBsaW5rIGlzDQogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1V U1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5n Lg0KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0aCBhIG1l bWJlcg0KICAgICAgIHZhbHVlLCB0aGF0IGlzIG5vdCB0aGUgdmFsdWUgb2YgdGhlIGluZGV4IGZv ciBhbiBhY3RpdmUgZW50cnkNCiAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxlIHRh YmxlLCBNVVNUIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWlu dGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDMwLjExLjIuMS42Ig0KICAgICBERUZWQUwgeyAnMDEnSCB9DQogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSAzIH0NCg0KICAgZWZtQ3VUYXJnZXREYXRhUmF0ZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQ0KICAg ICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgRUZN Q3UgcG9ydCAnbmV0JyAoYXMgc2VlbiBhY3Jvc3MgTUlJKSBEYXRhIFJhdGUgaW4NCiAgICAgICBL YnBzLCB0byBiZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0cmFs DQogICAgICAgcmVzdHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1pblBy b2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgd2l0aCB0aGUgZGVzaXJlZCBT TlIgTWFyZ2luIHNwZWNpZmllZCBieQ0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLg0KICAgICAg IEluIGNhc2Ugb2YgUEFGLCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2aWR1 YWwgUE1FDQogICAgICAgZGF0YSByYXRlcywgbW9kaWZpZWQgdG8gY29tcGVuc2F0ZSBmb3IgZnJh Z21lbnRhdGlvbiBhbmQNCiAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVhZCAoZS5nLiB0YXJn ZXQgZGF0YSByYXRlIG9mIDEwTWJwcw0KICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRyYW5z bWlzc2lvbiBvZiBmdWxsLWR1cGxleCAxME1icHMNCiAgICAgICBFdGhlcm5ldCBmcmFtZSBzdHJl YW0gd2l0aCBtaW5pbWFsIGludGVyLWZyYW1lIGdhcCkuDQoNCiAgICAgICBUaGUgdmFsdWUgaXMg bGltaXRlZCBhYm92ZSBieSAxMDBNYnBzIGFzIHRoaXMgaXMgdGhlIG1heA0KICAgICAgIGJ1cnN0 IHJhdGUgYWNyb3NzIE1JSSBmb3IgRUZNQ3UgcG9ydHMuDQoNCiAgICAgICBUaGUgdmFsdWUgYmV0 d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNhdGVzIHRoYXQgdGhlIHRvdGFsIGRhdGENCiAgICAgICBy YXRlIChpZlNwZWVkKSBvZiB0aGUgRUZNQ3UgcG9ydCBhZnRlciBpbml0aWFsaXphdGlvbiBTSEFM TA0KICAgICAgIGJlIGVxdWFsIHRvIHRoZSB0YXJnZXQgZGF0YSByYXRlIG9yIGxlc3MsIGlmIHRo ZSB0YXJnZXQgZGF0YQ0KICAgICAgIHJhdGUgY2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNwZWN0 cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQNCiAgICAgICBieSBlZm1DdUFkbWluUHJvZmlsZS9l Zm1DdVBtZUFkbWluUHJvZmlsZSBhbmQgd2l0aCBkZXNpcmVkIFNOUg0KICAgICAgIG1hcmdpbi4g SW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25tZW50IGFsbG93cyB0byBhY2hpZXZlDQogICAgICAg aGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJnZXQs IHRoZQ0KICAgICAgIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlIGVpdGhlciBjb252ZXJ0ZWQg dG8gYWRkaXRpb25hbCBTTlINCiAgICAgICBtYXJnaW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmltaXpp bmcgdHJhbnNtaXQgcG93ZXIgYXMgY29udHJvbGxlZA0KICAgICAgIGJ5IGVmbUN1QWRhcHRpdmVT cGVjdHJhLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIDk5OTk5OSBtZWFucyB0aGF0IHRoZSB0YXJn ZXQgZGF0YSByYXRlIGlzIG5vdA0KICAgICAgIGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhl IG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZw0KICAgICAgIGluaXRpYWxpemF0aW9uIChC ZXN0IEVmZm9ydCksIHVuZGVyIHNwZWNpZmllZCBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0aW9u cyBhbmQgd2l0aCBkZXNpcmVkIFNOUiBNYXJnaW4uDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBy ZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFzZVRM LU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCiAg ICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNUIGJlIHBl cmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBvZiBTTk1QIHdp dGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAgbGluayBpcyBV cCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUg b2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVkIG9iamVj dCBvZiBJRi1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0N Cg0KICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVu c2lnbmVkMzIoMC4uMjEpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFs bCBQTUVzDQogICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXppYXRp b24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhl IGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRoYXQgODAy LjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAgICAgICBv ZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0cyBpbiBv cmRlcg0KICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4t NyBhdCB0aGUgUE1BDQogICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBUaGlzIG9i amVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAg ICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0 eXBlcy4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4g TVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUNCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVtcHRz IHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkDQogICAgICAgKGluIGNhc2Ug b2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQ0KICAgICAg IGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQg U05SIE1hcmdpbiBvZiB0aGUgUE1FcyBjb21wcmlzaW5nIHRoZSBFRk1DdQ0KICAgICAgIHBvcnQg aXMgcmVwcmVzZW50ZWQgYnkgZWZtQ3VQbWVTbnJNZ24uDQoNCiAgICAgICBUaGlzIG9iamVjdCBN VVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5D RQ0KICAgICAgICJbODAyLjNhaF0gNjEuMS4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNSB9DQoNCiAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgaG93 IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4gdGhlIGNvcHBlcg0KICAgICAgIGVudmly b25tZW50IGFsbG93cyB0byBhY2hpZXZlIGhpZ2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0 DQogICAgICAgc3BlY2lmaWVkIGJ5IHRoZSBlZm1DdVRhcmdldERhdGFSYXRlLg0KICAgICAgICAN CiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJp bGl0eSBTSEFMTCBiZQ0KICAgICAgIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBv d2VyLCBlLmcuIHVzaW5nIGhpZ2hlcg0KICAgICAgIGNvbnN0ZWxsYXRpb25zIGFuZCBQb3dlciBC YWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlDQogICAgICAgaW50ZXJmZXJlbmNlIHRvIG90aGVy IGNvcHBlciBwYWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUgDQogICAgICAgYWR2ZXJzZSBpbXBh Y3QgdG8gbGluay9zeXN0ZW0gcGVyZm9ybWFuY2UuDQogICAgICAgDQogICAgICAgVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMDQogICAg ICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3ByZWFkIGV2ZW5s eSBhY3Jvc3MNCiAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8gdGhlIChQQ1MpIHBv cnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICByb2J1c3RuZXNzLg0KDQogICAgICAgVGhpcyBv YmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAg ICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3Vi dHlwZXMuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIChpbiBjYXNlDQogICAgICAgb2YgU05NUCB3 aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwDQogICAg ICAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNiB9DQoNCiAgIGVmbUN1VGhyZXNoTG93UmF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDApDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgRUZNQ3UgcG9y dCBsb3cgcmF0ZSBjcm9zc2luZyBhbGFybQ0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3Vy cmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQNCiAgICAgICByZWFjaGVzL2Ryb3Bz IGJlbG93IG9yIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQsIGFuDQogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3Npbmcgbm90aWZpY2F0aW9uIE1BWSBiZSBnZW5lcmF0ZWQgaWYgZW5hYmxlZA0KICAgICAg IGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMg cmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VU TC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoN CiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1h bm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VMb3dS YXRlQ3Jvc3NpbmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFs dWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1TG93UmF0 ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgc2hvdWxkDQogICAgICAgYmUgZ2VuZXJhdGVkIGZvciB0 aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0 ZXMgdGhhdCBlZm1DdUxvd1JhdGVDcm9zc2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFi bGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmlj YXRpb24gaXMgZGlzYWJsZWQuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZv ciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMt TykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgIFRoaXMg b2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAg Ojo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDggfQ0KDQoNCiAgIGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRD YXBhYmlsaXR5RW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUYWJsZSBmb3IgQ2Fw YWJpbGl0aWVzIG9mIEVGTUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQ0KICAgICAgIFBvcnRz LiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGENCiAgICAgICBw ZXJzaXN0ZW50IG1hbm5lciINCiAgICAgOjo9IHsgZWZtQ3VQb3J0IDIgfQ0KDQogICBlZm1DdVBv cnRDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0 Q2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQW4gZW50cnkgaW4g dGhlIEVGTUN1IFBvcnQgQ2FwYWJpbGl0eSB0YWJsZS4NCiAgICAgICBFYWNoIGVudHJ5IHJlcHJl c2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lg0KICAgICAgIE5vdGUg dGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBhIHNpbmdsZQ0KICAgICAgIG9y IG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgu Ig0KICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0 eVRhYmxlIDEgfQ0KDQogICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgOjo9DQogICAgIFNFUVVF TkNFIHsNCiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAgICBUcnV0aFZhbHVl LA0KICAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCAgICAgICAgICAgIEVmbVRydXRoVmFsdWVP clVua25vd24sDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eSAgICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgICAgICAgICAgICBVbnNpZ25lZDMy DQogICAgIH0NCg0KICAgZWZtQ3VQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVGTUN1IHBvcnQNCiAgICAgICAoUENT KS4NCiAgICAgICBUaGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiB0cnVlKDEpIHdoZW4gdGhlIFBD UyBjYW4gcGVyZm9ybQ0KICAgICAgIFBNRSBhZ2dyZWdhdGlvbiBvbiB0aGUgYXZhaWxhYmxlIFBN RXMuDQogICAgICAgUG9ydHMgaW5jYXBhYmxlIG9mIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBv ZiBmYWxzZSgyKS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBh dHRyaWJ1dGUgYVBBRlN1cHBvcnRlZC4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50 ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIFBBRiBhdmFpbGFibGUgYml0IGluIHRoZQ0KICAgICAgIDEwUC8yQiBjYXBhYmls aXR5IHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIs IDMwLjExLjEuMS40LCA0NS4yLjMuMTcuMSINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0 eUVudHJ5IDEgfQ0KDQogICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIEVmbVRydXRoVmFsdWVPclVua25vd24NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVGTUN1 IHBvcnQNCiAgICAgICAoUENTKSBsaW5rIHBhcnRuZXIuDQogICAgICAgVGhpcyBvYmplY3QgaGFz IGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSByZW1vdGUgUENTIGNhbg0KICAgICAgIHBlcmZv cm0gUE1FIGFnZ3JlZ2F0aW9uIG9uIGl0cyBhdmFpbGFibGUgUE1Fcy4NCiAgICAgICBQb3J0cyB3 aG9zZSBwZWVycyBhcmUgaW5jYXBhYmxlIG9mIFBBRiwgU0hBTEwgcmV0dXJuIGEgdmFsdWUNCiAg ICAgICBvZiBmYWxzZSgyKS4NCiAgICAgICBQb3J0cyB3aG9zZSBwZWVycyBjYW5ub3QgYmUgcmVh Y2hlZCBiZWNhdXNlIG9mIHRoZSBsaW5rDQogICAgICAgc3RhdGUsIFNIQUxMIHJldHVybiBhIHZh bHVlIGlmIHVua25vd24oMCkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1 c2UgMzAgYXR0cmlidXRlDQogICAgICAgYVJlbW90ZVBBRlN1cHBvcnRlZC4NCg0KICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0K ICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFJlbW90ZSBQQUYgc3VwcG9ydGVkIGJpdCBp biB0aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5D RQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuOSwgNDUuMi4zLjE3LjIiDQog ICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0NCg0KICAgZWZtQ3VQQUZDYXBh Y2l0eSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpDQog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0 ZWQgYnkgdGhlIGxvY2FsIFBBRi4NCiAgICAgICBUaGUgbnVtYmVyIG9mIFBNRXMgY3VycmVudGx5 IGFzc2lnbmVkIHRvIGEgcGFydGljdWxhcg0KICAgICAgIEVGTUN1IHBvcnQgKGVmbUN1TnVtUE1F cykgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eS4NCg0KICAg ICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICBh TG9jYWxQQUZDYXBhY2l0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEu Mi4yLCAzMC4xMS4xLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMg fQ0KDQogICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMiAoMHwxLi4zMikNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTnVtYmVyIG9m IFBNRXMgdGhhdCBjYW4gYmUgYWdncmVnYXRlZCBieSB0aGUgUEFGIG9mIHRoZSBwZWVyDQogICAg ICAgUGh5IChQQ1MgcG9ydCkuDQogICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBl ZXIgUEFGIENhcGFjaXR5IGlzIHVua25vd24NCiAgICAgICAocGVlciBjYW5ub3QgYmUgcmVhY2hl ZCkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRl DQogICAgICAgYVJlbW90ZVBBRkNhcGFjaXR5LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJp bGl0eUVudHJ5IDQgfQ0KDQoNCiAgIGVmbUN1UG9ydFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydFN0YXR1c0VudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBvdmVyYWxsIHN0YXR1cyBp bmZvcm1hdGlvbiBvZiBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBwb3J0cywgY29t cGxlbWVudGluZyB0aGUgZ2VuZXJpYyBzdGF0dXMNCiAgICAgICBpbmZvcm1hdGlvbiBmcm9tIHRo ZSBpZlRhYmxlIG9mIElGLU1JQiBhbmQgaWZNYXVUYWJsZSBvZg0KICAgICAgIE1BVS1NSUIuIEFk ZGl0aW9uYWwgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0IGNvbm5lY3RlZCBQTUVzDQogICAgICAg aXMgYXZhaWxhYmxlIGZyb20gZWZtQ3VQbWVTdGF0dXNUYWJsZS4NCg0KICAgICAgIFRoaXMgdGFi bGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVudC4gQXMgc3VjaCwNCiAgICAg ICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iDQogICAgIDo6PSB7IGVmbUN1UG9ydCAzIH0NCg0KICAg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQ b3J0U3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0 aGUgRUZNQ3UgUG9ydCBTdGF0dXMgdGFibGUuDQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRz IGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRoYXQg YW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBtdWx0 aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAg ICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c1RhYmxlIDEg fQ0KDQogICBFZm1DdVBvcnRTdGF0dXNFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1Rmx0U3RhdHVzICAgICAgICAgICAgICAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQb3J0 U2lkZSAgICAgICAgICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdU51bVBNRXMgICAg ICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UEFGSW5FcnJvcnMgICAg ICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMg ICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzICAgICAg ICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgICAgICAgICAgIENv dW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyAgICAgICAgICBDb3VudGVy MzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMgICAgICAgICAgICAgQ291bnRlcjMyLA0K ICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyAgICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAg ICBlZm1DdVBBRkluT3ZlcmZsb3dzICAgICAgICAgICAgICBDb3VudGVyMzINCiAgICAgfQ0KDQog ICBlZm1DdUZsdFN0YXR1cyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQklUUyB7DQog ICAgICAgbm9QZWVyKDApLA0KICAgICAgIHBlZXJQb3dlckxvc3MoMSksDQogICAgICAgcG1lU3Vi VHlwZU1pc21hdGNoKDIpLA0KICAgICAgIGxvd1JhdGUoMykNCiAgICAgfQ0KICAgICBNQVgtQUND RVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJFRk1DdSAoUENTKSBwb3J0IEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1h cCBvZiBwb3NzaWJsZQ0KICAgICAgIGNvbmRpdGlvbnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlv bnMgYXJlOg0KICAgICAgICAgbm9QZWVyICAgICAgICAgICAgICAtIHBlZXIgUEhZIGNhbm5vdCBi ZSByZWFjaGVkIChlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gUE1FcyBh dHRhY2hlZCwgYWxsIFBNRXMgYXJlIERvd24NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBldGMuKSBNb3JlIGluZm8gaXMgYXZhaWxhYmxlIGluDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMuDQogICAgICAgICBwZWVyUG93ZXJMb3NzICAgICAg IC0gcGVlciBQSFkgaGFzIGluZGljYXRlZCBpbXBlbmRpbmcgdW5pdA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZhaWx1cmUgZHVlIHRvIGxvc3Mgb2YgbG9jYWwgcG93ZXINCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoJ0R5aW5nIEdhc3AnKS4NCiAgICAgICAgIHBtZVN1 YlR5cGVNaXNtYXRjaCAgLSBsb2NhbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBub3Qgb2YgdGhlIHNhbWUgc3ViLXR5cGUs IGUuZy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lIFBNRXMgaW4gdGhlIGxv Y2FsIGRldmljZSBhcmUgLU8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSBv dGhlcnMgYXJlIC1SIHN1YnR5cGUuDQogICAgICAgICBsb3dSYXRlICAgICAgICAgICAgIC0gaWZT cGVlZCBvZiB0aGUgcG9ydCByZWFjaGVkIG9yIGRyb3BwZWQNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiZWxvdyBlZm1DdVRocmVzaExvd1JhdGUNCg0KICAgICAgIFRoaXMgb2JqZWN0 IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIG9iamVjdA0KICAgICAgIGlu IElGLU1JQiBhbmQgaWZNYXVNZWRpYUF2YWlsYWJsZSBpbiBNQVUtTUlCLg0KDQogICAgICAgQWRk aXRpb25hbCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdmlhIGVmbUN1UG1lRmx0U3RhdHVzDQog ICAgICAgb2JqZWN0IGZvciBlYWNoIFBNRSBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAgKHNpbmds ZSBQTUUgaWYNCiAgICAgICBQQUYgaXMgZGlzYWJsZWQpLiINCiAgICAgUkVGRVJFTkNFDQogICAg ICAgIklGLU1JQiwgaWZPcGVyU3RhdHVzOyBNQVUtTUlCLCBpZk1hdU1lZGlhQXZhaWxhYmxlOw0K ICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG9ydFNpZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IElOVEVHRVIgew0KICAgICAgIHN1YnNjcmliZXIoMSksDQogICAgICAgb2ZmaWNlKDIpLA0KICAg ICAgIHVua25vd24oMykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJFRk0gcG9ydCBt b2RlIG9mIG9wZXJhdGlvbiAoc3VidHlwZSkuDQogICAgICAgVGhlIHZhbHVlIG9mICdzdWJzY3Jp YmVyJyBpbmRpY2F0ZXMgdGhlIHBvcnQgaXMgZGVzaWduYXRlZCBhcw0KICAgICAgICctUicgc3Vi dHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZSBvZiBzdWJ0eXBlDQogICAg ICAgJy1SJykuDQogICAgICAgVGhlIHZhbHVlIG9mIHRoZSAnb2ZmaWNlJyBpbmRpY2F0ZXMgdGhh dCB0aGUgcG9ydCBpcw0KICAgICAgIGRlc2lnbmF0ZWQgYXMgJy1PJyBzdWJ0eXBlIChhbGwgUE1F cyBhc3NpZ25lZCB0byB0aGlzIHBvcnQgYXJlDQogICAgICAgb2Ygc3VidHlwZSAnLU8nKS4NCiAg ICAgICBUaGUgdmFsdWUgb2YgJ3Vua25vd24nIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0IGhhcyBu byBhc3NpZ25lZA0KICAgICAgIFBNRXMgeWV0IG9yIHRoYXQgdGhlIGFzc2lnbmVkIFBNRXMgYXJl IG5vdCBvZiB0aGUgc2FtZSBzaWRlDQogICAgICAgKHN1YlR5cGVQTUVNaXNtYXRjaCkuDQoNCiAg ICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0 ZQ0KICAgICAgIGFQaHlFbmQiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiWzgwMi4zYWhdIDYx LjEsIDMwLjExLjEuMS4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0NCg0K ICAgZWZtQ3VOdW1QTUVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMy ICgwLi4zMikNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBpcyBj dXJyZW50bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGDQogICAgICAgKGFzc2lnbmVkIHRv IHRoZSBFRk1DdSBwb3J0IHVzaW5nIGlmU3RhY2tUYWJsZSkuDQogICAgICAgVGhpcyBudW1iZXIg aXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlzIG9i amVjdCBTSEFMTCBiZSBhdXRvbWF0aWNhbGx5IGluY3JlbWVudGVkIG9yIGRlY3JlbWVudGVkDQog ICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxldGVkIHRvL2Zyb20gdGhlIEVGTUN1IHBv cnQgdXNpbmcNCiAgICAgICBpZlN0YWNrVGFibGUuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDMgfQ0KDQogICBlZm1DdVBBRkluRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFn bWVudHMgdGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZQ0KICAgICAgIGdhbW1hIGlu dGVyZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuDQogICAgICAgVGhpcyBy ZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVuIHRoZQ0K ICAgICAgIFBBRiBpcyB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlDQogICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAg ICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFG IFJYIGVycm9yIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBp bmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSA0NS4yLjMuMjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDQgfQ0KDQogICBl Zm1DdVBBRkluU21hbGxGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291 bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFs bGVyIHRoYW4gbWluRnJhZ21lbnRTaXplDQogICAgICAgKDY0IEJ5dGVzKSwgd2hpY2ggaGF2ZSBi ZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBpbnRlcmZhY2UgYW5kIGRpc2Nh cmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0K ICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgc21hbGwgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51 aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICBy ZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0 aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29u dGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UN CiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMiINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgNSB9DQoNCiAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIg b2YgZnJhZ21lbnRzIGxhcmdlciB0aGFuIG1heEZyYWdtZW50U2l6ZQ0KICAgICAgICg1MTIgQnl0 ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KICAgICAgIGlu dGVyZmFjZSBhbmQgZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMg aW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQu IFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMg cHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIFBBRiBsYXJnZSBmcmFnbWVudHMNCiAgICAgICByZWdpc3Rlci4NCg0K ICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBv Y2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3Rl bSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4i DQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIzIg0KICAgICA6Oj0g eyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA2IH0NCg0KICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyBP QkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgc2Vx dWVuY2UNCiAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24sIHRo YXQgaGF2ZSBiZWVuDQogICAgICAgcmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYSBpbnRlcmZhY2Ug YW5kIGRpc2NhcmRlZCAodGhlDQogICAgICAgZnJhbWUgYnVmZmVyIGlzIGZsdXNoZWQgdG8gdGhl IG5leHQgdmFsaWQgZnJhbWUgc3RhcnQpLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIg aXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJs ZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBp dHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJ bnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3Qg bWFwcyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoN CiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4g b2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0 ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUg b2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAgOjo9 IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRz IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBzZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdo aWNoIGhhdmUNCiAgICAgICBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNl ICh0aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBm cmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMNCiAgICAgICBleHBlY3RlZCBieSB0 aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAg ICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNv dW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCiAgICAgICANCiAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIGxvc3QgZnJhZ21l bnQNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4zLjI2Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA4IH0NCg0KICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgU3RhcnRPZlBh Y2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQ0KICAgICAgIGZyYW1lIGFzc2VtYmx5IGZ1 bmN0aW9uLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0 aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5n IHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUu DQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBE aXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQN CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3Vu dGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBS RUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNyINCiAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgOSB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RW5kcyBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBudW1i ZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQ0KICAg ICAgIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50 ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlu cyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAg cmVnaXN0ZXIuDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBi eSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5l ZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4y OCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBBRklu T3ZlcmZsb3dzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBN QVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0 aGUgZ2FtbWEgaW50ZXJmYWNlDQogICAgICAgYW5kIGRpc2NhcmRlZCwgd2hpY2ggd291bGQgaGF2 ZSBjYXVzZWQgdGhlIGZyYW1lIGFzc2VtYmx5DQogICAgICAgYnVmZmVyIHRvIG92ZXJmbG93Lg0K ICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlz DQogICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYs IHRoZSBjb3VudGVyDQogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQogICAgICAg DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVz ZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBvdmVy ZmxvdyByZWdpc3Rlci4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2Yg dGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBk ZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUu Mi4zLjI0Ig0KICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAxMSB9DQoNCiAgLS0gUE1F IE5vdGlmaWNhdGlvbnMgR3JvdXANCg0KICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVDVCBJ REVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDAgfQ0KICAgDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZUxp bmVBdG4sDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgIH0NCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlv biBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbg0KICAgICAgIHRocmVzaG9sZCAo YXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaExpbmVBdG4NCiAgICAgICB2YWx1ZSkgaGFzIGJlZW4g cmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUw0KICAgICAgIFBNRS4g VGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50IGluDQog ICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBhbmQgZnJvbSBl eGNlZWRlZA0KICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRo YXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLA0KICAgICAgIGJldHdlZW4g dGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFuZCBub3RpZmljYXRpb24sDQogICAgICAg aXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBi ZQ0KICAgICAgIHNlbnQuDQoNCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9u IGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAxIH0NCg0KICAg ZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsN CiAgICAgICBlZm1DdVBtZVNuck1nbiwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbg0KICAg ICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xk DQogICAgICAgKGFzIHBlciB0aGUgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gdmFsdWUpIGhhcyBiZWVu DQogICAgICAgcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUu DQogICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2 ZW50IGluDQogICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBh bmQgZnJvbSBleGNlZWRlZA0KICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgIEl0IGlzIFJFQ09N TUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLA0KICAgICAg IGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFuZCBub3RpZmljYXRpb24s DQogICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90aWZpY2F0 aW9ucyB0byBiZQ0KICAgICAgIHNlbnQuDQoNCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90 aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jv c3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDIg fQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0IE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVD VFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJlZW4NCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0Lg0KDQogICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAg ICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1 UG1lTm90aWZpY2F0aW9ucyAzIH0NCg0KICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBOT1RJ RklDQVRJT04tVFlQRQ0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cywN CiAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZQ0K ICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgUE1FIGluaXRpYWxpemF0aW9uIGhh cw0KICAgICAgIGZhaWxlZCwgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8gYWNo aWV2ZSByZXF1ZXN0ZWQNCiAgICAgICBjb25maWd1cmF0aW9uIHByb2ZpbGUuDQoNCiAgICAgICBH ZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIA0KICAg ICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDQgfQ0KDQogICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUg Tk9USUZJQ0FUSU9OLVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVGbHRTdGF0 dXMsDQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZQ0KICAgICB9DQogICAgIFNUQVRVUyAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBwZWVyIFBNRSB3YXMgdXNpbmcNCiAgICAgICBpbmNvbXBhdGlibGUgcHJvdG9j b2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5v dGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSANCiAgICAgICBlZm1DdVBtZVByb3RvY29s SW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25z IDUgfQ0KDQogICAtLSBUaGUgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lQ29uZlRhYmxlIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ29uZkVudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgY29t bW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0 cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8g MkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgIHJlcHJlc2VudGVkIGlu IGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlDQogICAgICAgcmVz cGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0KICAgICA6Oj0geyBlZm1DdVBt ZSAxIH0NCg0KICAgZWZtQ3VQbWVDb25mRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFjaCBlbnRy eSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAg aW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBi ZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5kZXhlZCBi eSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRz IGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7 IGVmbUN1UG1lQ29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0NCiAgICAg U0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlICAgICAgICAgICBJTlRFR0VS LA0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhP clplcm8sDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlICAgIFBoeXNBZGRyZXNz LA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgICAgICAgICBJbnRlZ2VyMzIsDQogICAg ICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1D dVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVNu ck1nbkNyb3NzaW5nRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZURldmljZUZh dWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls RW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFi bGUgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlICBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBpZWVlMkJhc2VUTE8oMSks DQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGllZWUxMFBhc3NUU08oMyksDQogICAg ICAgaWVlZTEwUGFzc1RTUig0KSwNCiAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSKDUpLA0K ICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksDQogICAgICAgaWVlZTEwUGFzc1RTb3Iy QmFzZVRMTyg3KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBZG1pbmlzdHJhdGl2 ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRl IGFzIDJCYXNlVEwtTyANCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgU0hB TEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgDQogICAgICAgICBpZWVlMTBQYXNzVFNPICAgICAgICAg IC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTyANCiAgICAgICAgIGllZWUxMFBhc3NU U1IgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1SIA0KICAgICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUiBv cg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RTLVIuIEFjdHVhbCB2 YWx1ZSB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IGJ5IC1P IGxpbmsgcGFydG5lciBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4NCiAgICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NU U08gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8NCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NUUy1PLiBBY3R1YWwNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJpbmcNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24g LVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJp bGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1SIGlzIGlu Y2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMkJhc2VUTCBtb2RlLCAxMFBhc3NUUyB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdXNlZCkuDQogICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0gUE1F IFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChwcmVmZXJyZWQpIG9yIDJCYXNlVEwtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGku ZS4gaWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUg b2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFz c1RTIG1vZGUsIDJCYXNlVEwgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVzZWQpLg0KICAgICAgIA0KICAgICAgIENoYW5naW5nIGVmbUN1UG1lQWRtaW5TdWJUeXBl IGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlDQogICAgICAgb3BlcmF0aW9uIGFuZCBhcyBzdWNoIFNI QUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICAgICAgIEF0dGVtcHRzIHRvIGNo YW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSByZWplY3RlZCBpZiB0aGUgbGluaw0KICAgICAgIGlz IFVwIG9yIEluaXRpYWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmpl Y3QgdG8gYW4gdW5zdXBwb3J0ZWQgc3VidHlwZQ0KICAgICAgIChzZWUgZWZtQ3VQbWVTdWJUeXBl c1N1cHBvcnRlZCkgU0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBUaGUgY3VycmVudCBvcGVy YXRpb25hbCBzdWIgdHlwZSBpcyBpbmRpY2F0ZWQgYnkNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJU eXBlIHZhcmlhYmxlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8g dGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVz IHZhbHVlcyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QgYml0cw0KICAgICAgIGFuZCB0aGUg UE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAg IGNvbnRyb2wgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEu MSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRy eSAxIH0NCg0KICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVz aXJlZCBQTUUgY29uZmlndXJhdGlvbiBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXIN CiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0K ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQg b3BlcmF0aW5nDQogICAgICAgU3ViVHlwZSBvZiB0aGUgUE1FLiBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgdGhlIGluZGV4IG9mDQogICAgICAgdGhlIHJlZmVyZW5jZWQgcHJvZmlsZS4NCiAg ICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgdGhlIFBNRSBp cw0KICAgICAgIGNvbmZpZ3VyZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBmb3IgdGhl IFBDUyBwb3J0LA0KICAgICAgIHRvIHdoaWNoIHRoaXMgUE1FIGlzIGFzc2lnbmVkLiBUaGF0IGlz LCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkDQogICAgICAgYnkgZWZtQ3VQbWVBZG1pblByb2ZpbGUg dGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBwcm9maWxlKHMpDQogICAgICAgcmVmZXJlbmNlZCBi eSBlZm1DdUFkbWluUHJvZmlsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGFu ZCByZWFkYWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8gb3Ig MTBQYXNzVFMtTykuIEl0IGlzIHVuc3VwcG9ydGVkIGZvciB0aGUgQ1BFIA0KICAgICAgIHN1YnR5 cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NUUy1SKS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50 IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1 UG1lT3BlclByb2ZpbGUgb2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2Jq ZWN0IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRl bXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAg ICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRo aXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhl IGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0K ICAgICAgIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDYpKQ0KICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiUEFGIFJlbW90ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgUE1FIHBv cnQgYXQgQ08uIA0KICAgICAgIEEgNiBvY3RldCBsb25nIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBw ZWVyIFBDUyBjb25uZWN0ZWQgdmlhDQogICAgICAgdGhlIFBNRS4NCiAgICAgICBSZWFkaW5nIHRo aXMgb2JqZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkgR2V0IG9wZXJhdGlvbi4gDQogICAgICAg U2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkN CiAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlz Y292ZXJ5Q29kZQ0KICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBl Zm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAgICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQg d2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvDQogICAgICAgc3VjY2VlZCkuDQogICAg ICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0K ICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xlYXIgb3BlcmF0aW9uLg0KICAgICAgIEEgemVyby1s ZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxMIGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAg ICAgICByZWFkIHRoaXMgb2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVk Lg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1 YnR5cGVzOiBpbiB0aGlzDQogICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBT SEFMTCBiZSByZXR1cm5lZCBvbiBhbg0KICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVj dCwgd3JpdGluZyB0byB0aGlzIG9iamVjdCBTSEFMTA0KICAgICAgIGJlIGlnbm9yZWQuDQogICAg ICAgDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMg RG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWpl Y3RlZCAoaW4gY2FzZSBvZg0KICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50 VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCiAgICAg ICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgaXMgYSBmdW5jdGlvbiBvZiAxMFAv MkIgYWdncmVnYXRpb24gZGlzY292ZXJ5DQogICAgICAgY29udHJvbCByZWdpc3RlciwgRGlzY292 ZXJ5IG9wZXJhdGlvbiByZXN1bHQgYml0cyBpbiAxMFAvMkINCiAgICAgICBhZ2dyZWdhdGlvbiBh bmQgZGlzY292ZXJ5IHN0YXR1cyByZWdpc3RlciBhbmQNCiAgICAgICAxMFAvMkIgYWdncmVnYXRp b24gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNjEuMi4yLjguNCwgNDUuMi42LjYtNDUuMi42LjgiDQogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDMgfQ0KDQogICBlZm1DdVBtZVRocmVzaExpbmVBdG4gIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgSW50ZWdlcjMyKC0xMjcuLjEyOCkNCiAgICAgVU5JVFMgICAgICAgImRCIg0K ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJlZCBMaW5lIEF0dGVudWF0aW9uIFRocmVzaG9s ZCBmb3IgdGhlIDJCLzEwUCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUg bGluZSBhdHRlbnVhdGlvbiBhbGFybSB0aHJlc2hvbGQuDQogICAgICAgV2hlbiB0aGUgY3VycmVu dCB2YWx1ZSBvZiBMaW5lIEF0dGVudWF0aW9uIHJlYWNoZXMgb3INCiAgICAgICBleGNlZWRzIHRo aXMgdGhyZXNob2xkLCBhIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nDQogICAgICAgbm90aWZpY2F0 aW9uIE1BWSBiZSBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkNCiAgICAgICBlZm1DdVBtZUxpbmVB dG5Dcm9zc2luZ0VuYWJsZS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJs ZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1FcyAoLU8pLg0KICAgICAgIEl0IGlzIHJlYWQtb25seSBm b3IgdGhlIENQRSBzdWJ0eXBlICgtUikuDQogICAgICAgDQogICAgICAgQ2hhbmdpbmcgb2YgdGhl IExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkDQogICAgICAgd2hl biB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBi ZQ0KICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25z aXN0ZW50VmFsdWUpLA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4N CiAgICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBh dHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0cyBpbg0KICAgICAgIHRoZSAyQiBQTUQgbGluZSBxdWFs aXR5IHRocmVzaG9sZHMgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNh aF0gNDUuMi4xLjM2Ig0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA0IH0NCg0KICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIz MigtMTI3Li4xMjgpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLg0KICAg ICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIFNOUiBtYXJnaW4gYWxhcm0gdGhyZXNob2xk Lg0KICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgU05SIE1hcmdpbiByZWFjaGVzIG9y IGV4Y2VlZHMgdGhpcw0KICAgICAgIHRocmVzaG9sZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5n IG5vdGlmaWNhdGlvbiBNQVkgYmUNCiAgICAgICBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkgZWZt Q3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBp cyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtUikuIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtUi8xMFBhc3NUUy1SKS4NCiAgICAgICANCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgU05S IE1hcmdpbiBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbg0KICAgICAgIHRoZSBsaW5r IGlzIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAg cmVqZWN0ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1 ZSksDQogICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICAN CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNl bnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVz aG9sZCBiaXRzIGluIHRoZSAyQiBQTUQNCiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyBy ZWdpc3RlciINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiDQog ICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZ0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jv c3Npbmcgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KICAgICAgICANCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0 aGF0IGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nDQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJs ZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNh dGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDYgfQ0KDQog ICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhl ciBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUg Z2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2Yg dHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1nbkNyb3NzaW5nDQogICAgICAgbm90 aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQog ICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3Jp dGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNhdGlvbnMNCiAgICAg ICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCiAgICAgICAgDQogICAg ICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZURldmljZUZhdWx0DQog ICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRl cyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7 IGVmbUN1UG1lQ29uZkVudHJ5IDggfQ0KDQogICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlIG5v dGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFj ZS4NCiAgICAgICAgDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsdXJlDQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZh bHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBp cyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDkgfQ0KDQogICBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVm bUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZSBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJl IGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQogICAgICAgIA0KICAgICAgIFZhbHVlIG9m IHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQogICAg ICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0 aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iDQogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDEwIH0NCg0KDQogICBlZm1DdVBtZUNhcGFiaWxpdHlUYWJsZSBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNhcGFiaWxpdHlF bnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9u IG9mIGNvbW1vbiBhc3BlY3RzIGZvciBFRk1DdQ0KICAgICAgIDJCQVNFLVRMLzEwUEFTUy1UUyBQ TUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YNCiAgICAgICBhc3BlY3RzIHNwZWNp ZmljIHRvIDJCQVNFLVRMIG9yIDEwUEFTUy1UUyBQTUUgdHlwZXMgaXMNCiAgICAgICByZXByZXNl bnRlZCBpbiBlZm1DdVBtZTJCQ29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQ0KICAg ICAgIHJlc3BlY3RpdmVseS4NCg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50DQogICAgICAgbWFubmVyLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWUgMiB9DQoNCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBNRSBDYXBhYmlsaXR5IHRhYmxlLg0K ICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQ TUUgcG9ydA0KICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1D dSBQTUUgcG9ydCBjYW4gYmUNCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0 LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRo IG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5k ZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgRWZtQ3VQ bWVDYXBhYmlsaXR5RW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZVN1 YlR5cGVzU3VwcG9ydGVkICAgICBCSVRTDQogICAgIH0NCg0KICAgZWZtQ3VQbWVTdWJUeXBlc1N1 cHBvcnRlZCAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQklUUyB7DQogICAgICAgaWVl ZTJCYXNlVExPKDApLA0KICAgICAgIGllZWUyQmFzZVRMUigxKSwNCiAgICAgICBpZWVlMTBQYXNz VFNPKDIpLA0KICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJQTUUgc3VwcG9ydGVkIHN1Yi10eXBlcy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3Nz aWJsZQ0KICAgICAgIHN1Yi10eXBlcy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6ICAg IA0KICAgICAgICAgaWVlZTJCYXNlVExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5n IGFzIDJCYXNlVEwtTw0KICAgICAgICAgaWVlZTJCYXNlVExSICAgIC0gUE1FIGlzIGNhcGFibGUg b2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1F IGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgIGllZWUxMFBh c3NUU1IgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SDQogICAg ICAgDQogICAgICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5 DQogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsIHdoaWxlIGVmbUN1UG1lT3BlclN1YlR5cGUg cmVmbGVjdHMgdGhlDQogICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4NCiAgICAgICAgDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29tYmluZXMgdGhlIDEwUEFTUy1UUyBjYXBhYmxl IGFuZCAyQkFTRS1UTCBjYXBhYmxlDQogICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQg c3BlZWQgYWJpbGl0eSByZWdpc3RlciBhbmQgdGhlDQogICAgICAgQ08gc3VwcG9ydGVkIGFuZCBD UEUgc3VwcG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EDQogICAgICAgc3RhdHVzIHJl Z2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS40 LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLA0KICAgICAgIDQ1LjIuMS4xMi4zIg0KICAgICA6 Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0NCg0KDQogICBlZm1DdVBtZVN0YXR1c1Rh YmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lU3Rh dHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVz IGNvbW1vbiBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFTRS1UTC8xMFBB U1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5mb3JtYXRpb24gc3BlY2lmaWMNCiAgICAgICB0byAx MFBBU1MtVFMgUE1FIGlzIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuDQog ICAgICAgDQogICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1 aXBtZW50LiBBcyBzdWNoLA0KICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9 IHsgZWZtQ3VQbWUgMyB9DQoNCiAgIGVmbUN1UG1lU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgRWZtQ3VQbWVTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVh Y2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0K ICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9y dCBjYW4gYmUNCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGlu ZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBN RSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQ0KDQogICBFZm1DdVBtZVN0YXR1c0VudHJ5 IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICAgICAgICAg ICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLA0K ICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZt Q3VQbWVPcGVyUHJvZmlsZSAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAg IGVmbUN1UG1lU25yTWduICAgICAgICAgICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBt ZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRu ICAgICAgICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAg ICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAgICBV bnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMgICAgICAgIENvdW50ZXIz MiwNCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzICAgICAgICAgICBDb3VudGVyMzINCiAgICAg fQ0KDQogICBlZm1DdVBtZU9wZXJTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IElOVEVHRVIgew0KICAgICAgIHVwKDEpLA0KICAgICAgIGRvd25Ob3RSZWFkeSgyKSwNCiAgICAg ICBkb3duUmVhZHkoMyksDQogICAgICAgaW5pdCg0KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIkN1cnJlbnQgUE1FIGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1 ZXMgYXJlOg0KICAgICAgICAgdXAoMSkgICAgICAgICAgIC0gbGluayBpcyBVcCBhbmQgcmVhZHkg dG8gcGFzcyA2NC82NUINCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZWQgZnJhbWVz IG9yIGZyYWdtZW50cy4NCiAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBh bmQgdGhlIFBNRSBkb2VzIG5vdCBkZXRlY3QNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhh bmRzaGFrZSB0b25lcyBmcm9tIGl0cyBwZWVyLiBUaGlzIHZhbHVlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICBtYXkgaW5kaWNhdGUgYSBwb3NzaWJsZSBwcm9ibGVtIHdpdGgNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRoZSBwZWVyIFBNRS4NCiAgICAgICAgIGRvd25SZWFkeSgzKSAg ICAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgdG9uZXMgZnJvbSBpdHMgcGVlci4NCiAgICAgICAgIGluaXQoNCkg ICAgICAgICAtIGxpbmsgaXMgaW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgaWZBZG1pblN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBN RSBpcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLg0KICAgICAgIA0K ICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgRG93biBzdGF0ZSBv ZiANCiAgICAgICBpZk9wZXJTdGF0dXMuDQogICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IHBh cnRpYWxseSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlDQogICAgICAgYVBNRVN0YXR1 cy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0 byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4gMTBQLzJCDQogICAgICAgUE1BL1BNRCBzdGF0 dXMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIu MS4zLCA0NS4yLjEuMTIuNCINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxIH0NCg0K ICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEJJVFMg ew0KICAgICAgIGxvc3NPZkZyYW1pbmcoMCksDQogICAgICAgc25yTWduRGVmZWN0KDEpLA0KICAg ICAgIGxpbmVBdG5EZWZlY3QoMiksDQogICAgICAgZGV2aWNlRmF1bHQoMyksDQogICAgICAgY29u ZmlnSW5pdEZhaWx1cmUoNCksDQogICAgICAgcHJvdG9jb2xJbml0RmFpbHVyZSg1KQ0KICAgICB9 DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGluayBGYXVsdCBTdGF0 dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YNCiAgICAgICBwb3NzaWJsZSBjb25kaXRpb25zLiBUaGUg dmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToNCg0KICAgICAgICAgbG9zc09mRnJhbWluZyAgICAg ICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTG9zcyBvZiBTeW5jIHdvcmQgZm9yIDJCIFBNRCBvcg0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExvc3Mgb2YgNjQvNjVCIEZyYW1pbmcNCiAgICAgICAgIHNuck1nbkRlZmVj dCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZA0KICAgICAg ICAgbGluZUF0bkRlZmVjdCAgICAgICAtIExpbmUgQXR0ZW51YXRpb24gZXhjZWVkcyB0aGUgVGhy ZXNob2xkDQogICAgICAgICBkZXZpY2VGYXVsdCAgICAgICAgIC0gSW5kaWNhdGVzIGEgdmVuZG9y LWRlcGVuZGVudA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMgb3Ig c2VsZi10ZXN0IGZhdWx0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzIGJlZW4g ZGV0ZWN0ZWQuDQogICAgICAgICBjb25maWdJbml0RmFpbHVyZSAgIC0gQ29uZmlndXJhdGlvbiBp bml0aWFsaXphdGlvbiBmYWlsdXJlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1 ZSB0byBpbmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3VwcG9ydCBjb25maWd1cmF0aW9uIHByb2ZpbGUsDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVxdWVzdGVkIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCiAgICAgICAg IHByb3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBpbmNvbXBhdGlibGUgcHJvdG9j b2wgdXNlZCBieQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBQZWVyIFBNRSBk dXJpbmcgaW5pdCAodGhhdCBjb3VsZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh cHBlbiBpZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhciANCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHLlNESFNML1ZEU0wgbW9kZW0gaW5zdGVhZCBvZiBhDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuDQogICAgICAgDQogICAgICAg VGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgaW4gSUYt TUlCLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0 IHRoZSBsYXN0IGZhdWx0Lg0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzIGlzIGNsZWFyZWQgYnkg dGhlIGRldmljZSByZXN0YXJ0Lg0KICAgICAgIEluIGFkZGl0aW9uIGxvc3NPZkZyYW1pbmcsIGNv bmZpZ0luaXRGYWlsdXJlIGFuZA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFy ZWQgYnkgUE1FIGluaXQuDQogICAgICAgZGV2aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNz ZnVsIGRpYWdub3N0aWNzL3Rlc3QuDQogICAgICAgc25yTWduRGVmZWN0IGFuZCBsaW5lQXRuRGVm ZWN0IGFyZSBjbGVhcmVkIGJ5IFNOUiBNYXJnaW4NCiAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlv biByZXNwZWN0aXZlbHkgcmV0dXJuaW5nIHRvIG5vcm0gYW5kIGJ5DQogICAgICAgUE1FIGluaXQu DQogDQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBh dHRyaWJ1dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KICAgICAgIA0KICAgICAgIElmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAg ICAgb2JqZWN0IGNvbnNvbGlkYXRlcyBpbmZvcm1hdGlvbiBmcm9tIHZhcmlvdXMgUE1BL1BNRA0K ICAgICAgIHJlZ2lzdGVycywgbmFtZWx5OiBGYXVsdCBiaXQgaW4gUE1BL1BNRCBzdGF0dXMgMSBy ZWdpc3RlciwNCiAgICAgICAxMFAvMkIgUE1BL1BNRCBsaW5rIGxvc3MgcmVnaXN0ZXIsDQogICAg ICAgMTBQIG91dGdvaW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAx MFAgaW5jb21pbmcgaW5kaWNhdG9yIGJpdHMgc3RhdHVzIHJlZ2lzdGVyLA0KICAgICAgIDJCIHN0 YXRlIGRlZmVjdHMgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDMwLjExLjIuMS4zLCA0NS4yLjEuMi4xLCA0NS4yLjEuMzgsDQogICAgICAgNDUuMi4xLjM5LCA0 NS4yLjEuNTQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1 UG1lT3BlclN1YlR5cGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0K ICAgICAgIGllZWUyQmFzZVRMTygxKSwNCiAgICAgICBpZWVlMkJhc2VUTFIoMiksDQogICAgICAg aWVlZTEwUGFzc1RTTygzKSwNCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpDQogICAgIH0NCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQ3VycmVudCBvcGVyYXRpb25hbCBzdWItdHlwZSBvZiB0aGUgUE1F Lg0KICAgICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBpZWVlMkJhc2VUTE8gICAg ICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtTyANCiAgICAgICAgIGllZWUyQmFzZVRM UiAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SIA0KICAgICAgICAgaWVlZTEw UGFzc1RTTyAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PIA0KICAgICAgICAg aWVlZTEwUGFzc1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SIA0KICAg ICAgIA0KICAgICAgIFRoZSBvcGVyYXRpb25hbCBzdWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBj b25maWd1cmVkIHZpYQ0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLg0KDQog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJl c2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9y dCBzdWItdHlwZSBzZWxlY3QNCiAgICAgICBiaXRzLCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlv biBiaXRzIGluIHRoZSAxMFAvMkIgDQogICAgICAgUE1BL1BNRCBjb250cm9sIHJlZ2lzdGVyIGFu ZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluDQogICAgICAgdGhlIDEwUC8yQiBQTUEv UE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4yLjEuMTIuNCINCiAgICAgOjo9IHsg ZWZtQ3VQbWVTdGF0dXNFbnRyeSAzIH0NCg0KICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSAgT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIlBNRSBjdXJyZW50IG9wZXJhdGluZyBQcm9maWxlLiBUaGlzIG9iamVjdCBp cyBhIHBvaW50ZXIgdG8NCiAgICAgICBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2Zp bGVUYWJsZSBvcg0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24g dGhlIGN1cnJlbnQNCiAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGluZGlj YXRlZCBieQ0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUuDQogICAgICAgTm90ZSB0aGF0IGEg cHJvZmlsZSBlbnRyeSwgdG8gd2hpY2ggZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcw0KICAgICAgIHBv aW50aW5nIHRvLCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGll dmVkDQogICAgICAgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXph dGlvbiwNCiAgICAgICBpLmUuIHZhbHVlcyBvZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1D dUFkbWluUHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG1heSBkaWZmZXIu DQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24gb3Ig aW5pdGlhbGl6aW5nLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBz IHRvIHRoZSBhT3BlcmF0aW5nUHJvZmlsZQ0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS43Ig0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDQgfQ0KDQogICBlZm1DdVBtZVNuck1nbiBPQkpFQ1Qt VFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICBV TklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjdXJyZW50IFNpZ25h bC10by1Ob2lzZSBSYXRpbyAoU05SKSBtYXJnaW4gd2l0aCByZXNwZWN0DQogICAgICAgdG8gdGhl IHJlY2VpdmVkIHNpZ25hbCBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsIFBNRS4NCiAgICAgICBU aGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAg IGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBh UE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuDQogICAgICAgDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBSWCBTTlIgbWFyZ2luIHJlZ2lzdGVyLiINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNCwgNDUuMi4xLjE2Ig0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDUgfQ0KDQogICBlZm1DdVBtZVBlZXJTbnJNZ24gT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAg ICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBT TlIgbWFyZ2luIGluIGRCIHdpdGggcmVzcGVjdCB0byB0aGUgcmVjZWl2ZWQNCiAgICAgICBzaWdu YWwsIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAg ICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAg ICAgIGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyBub3Qgc3Vw cG9ydGVkIGJ5IC1SIFBNRSBzdWJ0eXBlcy4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIGxpbmsgcGFydG5lciBSWCBTTlIgbWFyZ2luDQogICAgICAgcmVnaXN0 ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4xNyINCiAgICAg Ojo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA2fQ0KDQogICBlZm1DdVBtZUxpbmVBdG4gT0JKRUNU LVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkNCiAgICAg VU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY3VycmVudCBMaW5l IEF0dGVudWF0aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgbG9jYWwNCiAgICAgICBQTUUu DQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24g b3INCiAgICAgICBpbml0aWFsaXppbmcuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjE4Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDcg fQ0KDQogICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBw ZXJjZWl2ZWQgYnkgdGhlIHJlbW90ZQ0KICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAg ICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAg ICAgIGluaXRpYWxpemluZy4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBpcyBub3Qgc3Vw cG9ydGVkIGJ5IENQRSBwb3J0ICgtUikgc3VidHlwZXMuDQogICAgICAgDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2Jq ZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGluZSBBdHRlbnVhdGlvbg0KICAg ICAgIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEu MTkiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lRXF1 aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigw Li44MTkyfDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQW4gZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBp bg0KICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsg aXMgZXN0YWJsaXNoZWQuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRp Y2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJmZWN0IHNxdWFyZSByb290 IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgIGJyaWRnZWQg dGFwcy4NCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgaWYgdGhlIGxpbmsg aXMgRG93biBvcg0KICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1FIGlzIHVuYWJsZSB0byBl c3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgIExlbmd0aC4NCiAgICAgICANCiAgICAgICBG b3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN RSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVs ZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDkg fQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiA2NC82NS1v Y3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlzDQogICAgICAgaW5jcmVt ZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBlcnJvciBkZXRlY3RlZA0K ICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uLg0KDQogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJpYnV0ZSBpbg0KICAgICAg IGNsYXVzZSAzMC4NCiAgICAgICANCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAgICAgIChzZWUgNDUuMi42 LjEyKS4NCg0KICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3Vu dGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2Vt ZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGlu IElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjEsIDMw LjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTAg fQ0KDQogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAg IENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJlciBvZiBUQy1DUkMgZXJy b3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVtZW50ZWQgZm9yDQogICAgICAgZWFjaCBUQy1DUkMg ZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24NCiAgICAg ICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1cmUgNjEtMTkpLg0KDQogICAgICAgVGhpcyBvYmplY3Qg bWFwcyB0byBhVENDUkNFcnJvcnMgYXR0cmlidXRlIGluDQogICAgICAgY2xhdXNlIDMwLg0KICAg ICAgIA0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRD IGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBDUkMg ZXJyb3IgcmVnaXN0ZXINCiAgICAgICAoc2VlIDQ1LjIuNi4xMSkuDQoNCiAgICAgICBEaXNjb250 aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlz Y29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIN CiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMSB9DQoNCiAgLS0gMkJBU0UtVEwgc3Bl Y2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMkIgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6 Oj0geyBlZm1DdVBtZSA1IH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5DQog ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9u cyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQNCiAgICAgICBvcGVyYXRpbmcgUHJvZmlsZXMgZm9yIDJC QVNFLVRMIFBNRXMuDQogICAgICAgRmlyc3QgMTQgZW50cmllcyBpbiB0aGlzIHRhYmxlIFNIQUxM IGFsd2F5cyBiZSBkZWZpbmVkIGFzDQogICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXgg NjNBKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBNaW5SYXRlIE1heFJhdGUgUG93ZXIgUmVnaW9u IENvbnN0ZWxsYXRpb24NCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEticHMpICAoZEJtKQ0KICAg ICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0NCiAgICAgICAgICAxICAgICA1Njk2ICAgIDU2OTYgICAgMTMuNSAgICAxICAgMzItVENQQU0g KGRlZmF1bHQpDQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEzLjUgICAgMSAgIDMy LVRDUEFNDQogICAgICAgICAgMyAgICAgMjA0OCAgICAyMDQ4ICAgIDEzLjUgICAgMSAgIDE2LVRD UEFNDQogICAgICAgICAgNCAgICAgMTAyNCAgICAxMDI0ICAgIDEzLjUgICAgMSAgIDE2LVRDUEFN DQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2LVRDUEFNDQog ICAgICAgICAgNiAgICAgIDUxMiAgICAgNTEyICAgIDEzLjUgICAgMSAgIDE2LVRDUEFNDQogICAg ICAgICAgNyAgICAgNTY5NiAgICA1Njk2ICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNDQogICAgICAg ICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNDQogICAgICAgICAg OSAgICAgMjA0OCAgICAyMDQ4ICAgIDE0LjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMCAg ICAgMTAyNCAgICAxMDI0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMSAgICAg IDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMiAgICAgIDUx MiAgICAgNTEyICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNDQogICAgICAgICAxMyAgICAgIDE5MiAg ICA1Njk2ICAgICAgIDAgICAgMSAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCiAgICAgICAgIDE0 ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQ0K DQogICAgICAgVGhlc2UgZGVmYXVsdCBlbnRyaWVzIFNIQUxMIGJlIGNyZWF0ZWQgZHVyaW5nIGFn ZW50DQogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuDQoNCiAg ICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3QgMTQsIGNhbiBiZSBkeW5hbWljYWxseSBj cmVhdGVkIGFuZA0KICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0 aXZlIChjb25maWd1cmF0aW9uKQ0KICAgICAgIHByb2ZpbGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0 aW5nIHByb2ZpbGVzLg0KDQogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g QW5uZXggNjNBLCAzMC4xMS4yLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9DQoNCiAg IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZt Q3VQbWUyQlByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50 cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUgMkJBU0UtVEwgUE1FIHByb2ZpbGUuDQogICAgICAg RWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZv cg0KICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQ TUUuICANCiAgICAgICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlzIHJlZmVyZW5jZWQg dmlhDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0IChvciBlZm1DdUFkbWluUHJv ZmlsZSBpZg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNl bnQgdGhlIGRlc2lyZWQNCiAgICAgICBwYXJhbWV0ZXJzIHRoZSAyQmFzZVRMLU8gUE1FIGluaXRp YWxpemF0aW9uLg0KICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBt ZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0 aW5nIHBhcmFtZXRlcnMgb2YgdGhlIA0KICAgICAgIG9wZXJhdGlvbmFsIFBNRS4NCiAgICAgICAN CiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3Jl YXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmlsZVJv d1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVu dHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJl IHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQuIg0K ICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBt ZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDo6PQ0KICAg ICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAgRWZt UHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgICAgICAgICAgIFNu bXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAgICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAgICAgICAgICBV bnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAgICAgIFVuc2ln bmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAgVW5zaWduZWQz MiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRFR0VSLA0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICB9DQoN CiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg RWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwgUE1F IFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJs ZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBlZm1DdVBt ZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRy eSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRleHR1 YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQogICAg ICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRh IHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFy IHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0KDQogICBl Zm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsN CiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFzIHNw ZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45OTEu Ml0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBEZW5z aXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVzIGFuZCBw bGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUsIHBv d2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KICAgICAgIA0KICAgICAgIFBvc3NpYmxlIHZhbHVlcyBm b3IgdGhpcyBvYmplY3QgYXJlOg0KICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFu ZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICByZWdpb24yICAgICAgLSBBbm5leGVz IEIgYW5kIEcgKGUuZy4gRXVyb3BlKQ0KICAgICAgIA0KICAgICAgIEFubmV4IEEvQiBzcGVjaWZ5 IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVzIDE5Mi0yMzA0DQogICAgICAgS2JwcyB1 c2luZyAxNi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICBBbm5leCBGL0cgc3BlY2lmeSByZWdpb25h bCBzZXR0aW5ncyBmb3IgcmF0ZXMgMjMyMC0zODQwIEticHMNCiAgICAgICB1c2luZyAxNi1UQ1BB TSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAzMi1UQ1BBTQ0KICAgICAgIGVuY29k aW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBp cyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhl IFJlZ2lvbiBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVy LiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDI7IFtHLjk5MS4y XSBBbm5leGVzIEEsIEIsIEYgYW5kIEciDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRGVzaXJl ZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVjdA0KICAg ICAgIGlzIGEgcG9pbnRlciB0byBhbiBlbnRyeSBpbiBlZm1DdVBtZTJCc01vZGVUYWJsZSBhbmQg YSBibG9jaw0KICAgICAgIG9mIGVudHJpZXMgaW4gZWZtQ3VQbWUyQlJhdGVSZWFjaFRhYmxlLCB3 aGljaCB0b2dldGhlciBkZWZpbmUNCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2ggZGVw ZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4NCiAgICAgICBhZGRpdGlvbiB0byB0aG9zZSBkZWZp bmVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmpl Y3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkDQogICAgICAgc3BlY3RyYWwgbW9kZS4N CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5kaWNhdGVzIHRoYXQgbm8gc3Bl Y2lmaWMNCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuDQoNCiAgICAgICBBdHRl bXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUN CiAgICAgICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9u ZGluZyBzcGVjdHJhbA0KICAgICAgIG1vZGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRl UmVhY2hUYWJsZSINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgNCB9DQoNCiAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWluaW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFT RS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQp S2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9y IDMyLVRDUEFNIGVuY29kaW5nLg0KICAgICAgIA0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhl IDJCQVNFLVRMIFBNRSBpcyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2YWx1 ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQog ICAgICAgSWYgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4 RGF0YVJhdGUgaW4NCiAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEg cmF0ZSBpcyBjb25zaWRlcmVkDQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0 byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1 UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIA0KICAgICAgIGxpbWl0YXRpb25z IHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQNCiAgICAgICBlZm1DdVBtZTJCc01v ZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2Yg dGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1J Qi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMg cHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1pbiBEYXRhIFJh dGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoNCiAg ICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5l ci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJh dGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAg IFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIk1heGltdW0gRGF0 YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtl IHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQ QU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBlbmNvZGluZy4NCiAgICAgICANCiAgICAgICBU aGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQnIHdo ZW4NCiAgICAgICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQ bWUyQk1pbkRhdGFSYXRlLg0KICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNz IHRoYW4gZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgdGhlIGFkbWluaXN0cmF0aXZl IHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICdhZGFwdGl2ZScs IGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAg bm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbA0K ICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQNCiAg ICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRp b25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3Bl ZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMg dG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRA0KICAgICAgIHBhcmFtZXRl cnMgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g NDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQogICBl Zm1DdVBtZTJCUG93ZXIgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIo MHwxMC4uNDIpDQogICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAgICAg IFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRoYXQg dGhlDQogICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQgU0hBTEwg YmUgc2V0IHRvDQogICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhl IHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVn aW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQogICAgICAgDQogICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBv YmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4gdGhlIDJCIFBNRCBwYXJhbWV0ZXJzDQog ICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4x LjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBt ZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7 DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNwYW0xNigxKSwNCiAgICAgICB0Y3BhbTMy KDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUQ1BBTSBDb25zdGVsbGF0aW9u IG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhlIHBvc3NpYmxlIHZhbHVlcyBhcmU6DQog ICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0NCiAgICAgICAg IHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAgICAgIHRjcGFtMzIoMikgICAgIC0gMzIt VENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFwdGl2ZSgwKSBpbiB0aGUgYWRtaW5pc3Ry YXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQgdGhlIGNvbnN0ZWxsYXRpb24gaXMgbm90 IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJs ZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMNCiAgICAgICBwbGFjZWQgYnkg dGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz DQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJC IGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAg ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxl RW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg b2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAg ICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0K ICAgICAgIFJvd1N0YXR1cy4NCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVu Y2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxl LCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsDQogICAgICAgcmVmZXJl bmNlcyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9 DQoNCg0KICAgZWZtQ3VQbWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIHRhYmxlLCB0b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwg c3VwcG9ydHMNCiAgICAgICBkZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVj dHJhbCBtb2RlcyBmb3INCiAgICAgICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFs IGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVm bUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0 aW9ucyAoZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3Bz IGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhlc2Ug Y291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICBF bnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlDQog ICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2Vz IGFyZQ0KICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgImVm bUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAgIGVm bUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1l MkJzTW9kZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBzcGVj aWZpZXMgc3BlY3RyYWwgbW9kZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgIHdo aWNoIGlzIHVzZWQgdG8gcmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAg ICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuDQogICAgICAgDQogICAgICAgRW50cmllcyBtYXkg YmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vDQogICAgICAgZGVsZXRp b24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIg0KICAgICBJTkRFWCB7 IGVmbUN1UG1lMkJzTW9kZUluZGV4IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlVGFibGUg MSB9DQoNCiAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAg ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAg ICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyICAgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAg ICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgICAgICAgICBSb3dTdGF0dXMNCiAgICAgfQ0K DQogICBlZm1DdVBtZTJCc01vZGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBF Zm1Qcm9maWxlSW5kZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBQTUUg U3BlY3RyYWwgTW9kZSBpbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGlu ZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHNwZWN0cmFsDQogICAgICAgbW9kZS4NCiAgICAgICBF bnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZQ0K ICAgICAgIG9iamVjdC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQ0KDQog ICBlZm1DdVBtZTJCc01vZGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTbm1w QWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNv bnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQogICAgICAgc3BlY3RyYWwg bW9kZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dA0KICAgICAgIGNv cnJlc3BvbmRpbmcgKGNvdW50cnktc3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zDQogICAg ICAgYW5kIHJhdGUvcmVhY2ggbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHNwZWN0cmFs IG1vZGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQ bWUyQnNNb2RlUm93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1 cw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9u L2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkDQogICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQnNN b2RlVGFibGUgcGVyIHRoZSBzZW1hbnRpY3Mgb2YNCiAgICAgICBSb3dTdGF0dXMuDQogICAgICAg SWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0 aGUNCiAgICAgICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNl cyBhcmUgcmVtb3ZlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDMgfQ0KDQoN CiAgIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb24gb2YgYWRtaW5pc3RyYXRp dmUgY3VzdG9tDQogICAgICAgc3BlY3RyYWwgbW9kZXMgZm9yIDJCQVNFLVRMIFBNRXMsIHByb3Zp ZGluZyBzcGVjdHJhbA0KICAgICAgIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvIHRob3NlIHNw ZWNpZmllZCBieQ0KICAgICAgIGVmbUN1UG1lMkJSZWdpb24uDQoNCiAgICAgICBUaGUgc3BlY3Ry YWwgcmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsgQU5GUCkNCiAgICAgICBs aW1pdCB0aGUgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLg0KICAg ICAgIFRoaXMgdGFibGUgYWxsb3dzIHRoZXNlIGNvdW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMg dG8gYmUNCiAgICAgICBzcGVjaWZpZWQuDQoNCiAgICAgICBCZWxvdyBpcyBhbiBleGFtcGxlIG9m IHRoaXMgdGFibGUgZm9yIFtBTkZQXToNCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0t LSsNCiAgICAgICBFcXVpdmFsZW50IE1heFJhdGUgTWF4UmF0ZQ0KICAgICAgICAgTGVuZ3RoICAg IFBBTTE2ICAgUEFNMzINCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQ0KICAgICAg IC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICA5NzUgICAgICAyMzA0ICAg IDU2OTYNCiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgMTI3NSAg ICAgIDIzMDQgICAgNTEyMA0KICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4NjQNCiAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgMTUwMCAgICAgIDIzMDQgICAg NDI4OA0KICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgNCiAgICAgICAgICAxNjUwICAg ICAgMjMwNCAgICAzNzc2DQogICAgICAgICAgMTcyNSAgICAgIDIzMDQgICAgMzUyMA0KICAgICAg ICAgIDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAz MDcyDQogICAgICAgICAgMTk1MCAgICAgIDIwNDggICAgMjY4OA0KICAgICAgICAgIDIxMDAgICAg ICAxNzkyICAgIDIzNjgNCiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAg ICAgMjQwMCAgICAgIDE0MDggICAgICAgMA0KICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAg IDANCiAgICAgICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgMjkyNSAgICAg IDExNTIgICAgICAgMA0KICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAg ICAzMzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0t LS0rICAgICAgIA0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkg dGhlIGVmbUN1UG1lMkJzTW9kZQ0KICAgICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxs IHRoZSBhY3RpdmUgcmVmZXJlbmNlcyBhcmUNCiAgICAgICByZW1vdmVkLg0KDQogICAgICAgVGhp cyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbQU5GUF0iDQogICAgIDo6PSB7IGVmbUN1UG1lMkIgIDQgfQ0K DQogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3Np YmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi RWFjaCBlbnRyeSBzcGVjaWZpZXMgbWF4aW11bSAyQkFTRS1UTCBQTUUgZGF0YSByYXRlcw0KICAg ICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFsZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVz aW5nIA0KICAgICAgIDE2LVRDUEFNIG9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hl biAyQkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAg ICAgICBleGNlZWQgb25lIG9mIHRoZSBmb2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0 aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEg cmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJC UG93ZXINCiAgICAgICAtIG1heGltdW0gZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNw ZWNpZmllZCBpbiB0aGUNCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25k aW5nIHRvIHRoZSBlcXVpdmFsZW50IGxvb3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5 IHRoZSBQTUUuDQogICAgICAgDQogICAgICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCB0aGUgZWZt Q3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzDQogICAgICAgYXJlIGFzc2lnbmVkIGluIHRo ZSBpbmNyZWFzaW5nIG9yZGVyLCBzdGFydGluZyBmcm9tIHRoZQ0KICAgICAgIG1pbmltdW0gdmFs dWUuDQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJv dyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMlJlYWNo UmF0ZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgsIGVmbUN1 UG1lMkJSZWFjaFJhdGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJs ZSAxIH0NCg0KICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7 DQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4ICAgICAgICAgRWZtUHJvZmlsZUluZGV4 LA0KICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsDQog ICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVm bUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVm bUN1UG1lMkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXgNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIyQkFTRS1UTCBjdXN0b20g c3BlY3RyYWwgbW9kZSBSZWFjaC1SYXRlIHRhYmxlIGluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0 IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iDQogICAgIDo6 PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQkVxdWl2YWxl bnRMZW5ndGggIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5 MikNCiAgICAgVU5JVFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11 bSBhbGxvd2VkIEVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMNCiAg ICAgICBmb3IgdGhlIHNwZWNpZmllZCBkYXRhIHJhdGVzLg0KICAgICAgIEFuIGVxdWl2YWxlbnQg bG9vcCBpcyBhIGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhDQogICAgICAg cGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBh bnkNCiAgICAgICBicmlkZ2VkIHRhcHMuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkgMiB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2KQ0KICAgICBVTklUUyAgICAg ICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3Ig MkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBFcXVpdmFsZW50IGxvb3AncyBM ZW5ndGggdXNpbmcgVEMtUEFNMTYgZW5jb2RpbmcuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8g bWVhbnMgdGhhdCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQgbm90IGJlDQogICAgICAgdXNlZCBh dCB0aGlzIGRpc3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDMg fQ0KDQogICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwfDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRM IFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVz aW5nIFRDLVBBTTMyIGVuY29kaW5nLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRo YXQgVEMtUEFNMzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgIHVzZWQgYXQgdGhpcyBk aXN0YW5jZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA0IH0NCg0KICAg ZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBSb3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9s cyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZA0KICAgICAgIGVudHJ5IGluIGVm bUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJvd1N0 YXR1cy4NCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1D dVBtZTJCc01vZGUsIHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGls IGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNo UmF0ZUVudHJ5IDUgfQ0KDQoNCiAgLS0gMTBQQVNTLVRTIHNwZWNpZmljIFBNRSBncm91cA0KDQog ICBlZm1DdVBtZTEwUCAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDYgfQ0K DQogICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAg ICBTRVFVRU5DRSBPRiBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgY29uZmlndXJhdGlv biBwcm9maWxlcyBmb3INCiAgICAgICAxMFBhc3NUTCBQTUVzLg0KICAgICAgIEZpcnN0IDIyIGVu dHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZv bGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYyQi4zKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0t Ky0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgQmFuZHBs YW4gVVBCTyBCYW5kTm90Y2ggRFJhdGUgVVJhdGUNCiAgICAgICAgSW5kZXggIFBTRE1hc2sjICBw IyAgICBwIyAgICAgICAgcCMgICAgcCMNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0t LS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAy LDYsMTAsMTEgICAgMjAgICAgMjAoZGVmYXVsdCkNCiAgICAgICAgICAyICAgICAxMyAgICAgIDUg ICAgMCAgICAgICAgICAgIDIwICAgIDIwDQogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAg ICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAg ICAgICAxMDAgICAxMDANCiAgICAgICAgICA1ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAg IDcwICAgIDUwDQogICAgICAgICAgNiAgICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAg ICAxMA0KICAgICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAN CiAgICAgICAgICA4ICAgICAgOCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAg ICAgICAgOSAgICAgIDQgICAgICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAg MTAgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgIDExICAg ICAyMyAgICAgIDAgICAgMCAgICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAxMiAgICAgMjMg ICAgICAwICAgIDAgICAgICAgICAgICAgNSAgICAgNQ0KICAgICAgICAgMTMgICAgIDE2ICAgICAg MCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDANCiAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAg Miw1LDksMTEgICAgIDcwICAgIDUwDQogICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIsNiwx MCwxMSAgICA1MCAgICAxMA0KICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAg ICAgMzAgICAgMzANCiAgICAgICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEwLDExICAgIDMw ICAgICA1DQogICAgICAgICAxOCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAyNSAgICAy NQ0KICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUNCiAg ICAgICAgIDIwICAgICAyMyAgICAgIDAgICAgMiw1LDksMTEgICAgIDEwICAgIDEwDQogICAgICAg ICAyMSAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAgNSAgICAgNQ0KICAgICAgICAgMjIg ICAgIDMwICAgICAgMCAgICAwICAgICAgICAgICAyMDAgICAgNTANCg0KICAgICAgIFRoZXNlIGRl ZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBhZ2VudA0KICAgICAgIGlu aXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgRW50cmllcyBm b2xsb3dpbmcgdGhlIGZpcnN0IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAg ICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJh dGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4N Cg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBt YW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAz MC4xMS4yLjEuNiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICBlZm1DdVBtZTEw UFByb2ZpbGVFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgY29ycmVz cG9uZHMgdG8gYSBzaW5nbGUgMTBQQVNTLVRTIFBNRQ0KICAgICAgIHByb2ZpbGUuDQogICAgICAg RWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZv cg0KICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAxMFBBU1MtVFMg UE1FLiAgDQogICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2Vk IHZpYQ0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblBy b2ZpbGUgaWYNCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVz ZW50IHRoZSBkZXNpcmVkDQogICAgICAgcGFyYW1ldGVycyB0aGUgMTBQYXNzVFMtTyBQTUUgaW5p dGlhbGl6YXRpb24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1 UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVy YXRpbmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLg0KDQogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNy ZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICdh Y3RpdmUnIGVudHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZl Jw0KICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KICAgICAgIERlZmF1 bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiINCiAgICAgSU5ERVggeyBlZm1DdVBtZTEw UFByb2ZpbGVJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQ0K DQogICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAg ICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgSU5URUdFUiwNCiAgICAgICBl Zm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzICAgICAgQklUUywNCiAgICAgICBlZm1DdVBtZTEwUFBheWxv YWRVUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0 ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMg ICAgICAgUm93U3RhdHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4Lg0KICAgICAgIFRoaXMg b2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4N CiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRt aW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIg0KICAgICA6Oj0geyBl Zm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3Ig T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFi b3V0IDEwUEFTUy1UUyBQTUUNCiAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRl IGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0 aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQ UHJvZmlsZUVudHJ5IDIgfQ0KDQogICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAg T0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwN CiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxl NCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBw cm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAg ICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgcHJvZmls ZTEyKDEyKSwNCiAgICAgICBwcm9maWxlMTMoMTMpLA0KICAgICAgIHByb2ZpbGUxNCgxNCksDQog ICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMTYoMTYpLA0KICAgICAgIHByb2Zp bGUxNygxNyksDQogICAgICAgcHJvZmlsZTE4KDE4KSwNCiAgICAgICBwcm9maWxlMTkoMTkpLA0K ICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgcHJvZmlsZTIxKDIxKSwNCiAgICAgICBwcm9m aWxlMjIoMjIpLA0KICAgICAgIHByb2ZpbGUyMygyMyksDQogICAgICAgcHJvZmlsZTI0KDI0KSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgcHJv ZmlsZTI3KDI3KSwNCiAgICAgICBwcm9maWxlMjgoMjgpLA0KICAgICAgIHByb2ZpbGUyOSgyOSkN CiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgQmFuZHBsYW4g YW5kIFBTRCBNYXNrIHByb2ZpbGUsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5u ZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0NCiAgICAgICBQcm9maWxl IE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5kcyAgICAgQmFuZHBsYW4NCiAg ICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tDQogICAgICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0x ICB4L0QvVS9EL1UgIEENCiAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRF eC5NMQ0KICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAg ICAgIHByb2ZpbGU0KDQpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmls ZTUoNSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICBwcm9m aWxlNig2KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2ZpbGU3KDcpICAg LSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBUMS40MjQv VC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTkoOSkgICAtIFQxLjQyNC9ULVUgUDEgRlRU Q2FiLk0xICBVL0QvVS9EL3gNCiAgICAgICBwcm9maWxlMTAoMTApIC0gVDEuNDI0L1QtVSBQMSBG VFRFeC5NMQ0KICAgICAgIHByb2ZpbGUxMSgxMSkgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0K ICAgICAgIHByb2ZpbGUxMigxMikgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJv ZmlsZTEzKDEzKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1UgIEINCiAgICAg ICBwcm9maWxlMTQoMTQpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxl MTUoMTUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMTYoMTYpIC0g VFMxIDEwMSAyNzAtMSBQZXguUDIuTTENCiAgICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAy NzAtMSBQY2FiLk0yDQogICAgICAgcHJvZmlsZTE4KDE4KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAx Lk0yDQogICAgICAgcHJvZmlsZTE5KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAg ICAgcHJvZmlsZTIwKDIwKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gNCiAg ICAgICBwcm9maWxlMjEoMjEpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9m aWxlMjIoMjIpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMjMoMjMp IC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTENCiAgICAgICBwcm9maWxlMjQoMjQpIC0gVFMxIDEw MSAyNzAtMSBQY2FiLk0yDQogICAgICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4 LlAxLk0yDQogICAgICAgcHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQog ICAgICAgcHJvZmlsZTI3KDI3KSAtIEcuOTkzLjEgRi4xLjIuMSAoVkRTTG9QT1RTKSB4L0QvVS9E L1UgIEYNCiAgICAgICBwcm9maWxlMjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1J U0ROKQ0KICAgICAgIHByb2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rp b24pDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJv ZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAg ICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQSwgMzAuNS4xLjEuMjIiDQogICAgIDo6PSB7IGVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5IDMgfQ0KDQogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9m aWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGUx KDEpLA0KICAgICAgIHByb2ZpbGUyKDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHBy b2ZpbGU0KDQpLA0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAg ICAgIHByb2ZpbGU3KDcpLA0KICAgICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkp DQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFt IFBvd2VyIEJhY2stT2ZmIChVUEJPKSBSZWZlcmVuY2UgUFNEDQogICAgICAgUHJvZmlsZSwgYXMg c3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMNCiAgICAgICBh cmU6DQogICAgICAgICBwcm9maWxlMSgxKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEg TTENCiAgICAgICAgIHByb2ZpbGUyKDIpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBN Mg0KICAgICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0x DQogICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTIN CiAgICAgICAgIHByb2ZpbGU1KDUpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCDQog ICAgICAgICBwcm9maWxlNig2KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEMNCiAgICAg ICAgIHByb2ZpbGU3KDcpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRA0KICAgICAgICAg cHJvZmlsZTgoOCkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFDQogICAgICAgICBwcm9m aWxlOSg5KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEYNCg0KICAgICAgIFRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjQsIDMwLjUuMS4xLjIzIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA0 IH0NCg0KICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUNCiAgICAg U1lOVEFYICBCSVRTIHsNCiAgICAgICBwcm9maWxlMCgwKSwNCiAgICAgICBwcm9maWxlMSgxKSwN CiAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxl NCg0KSwNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBw cm9maWxlNyg3KSwNCiAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAg ICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxMSgxMSkNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3Rj aCBQcm9maWxlIGJpdG1hcCwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2 MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tDQogICAgICAgUHJvZmlsZSBOYW1l ICAgIEcuOTkxLjMgIFQxLjQyNC9ULVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYNCiAgICAgICAg ICAgICAgICAgICAgICAgVGFibGUgICAgVGFibGUgICAgICBUYWJsZSAgICAgICAoTUh6KSAgKE1I eikNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0rLS0tLS0NCiAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQ0KICAgICAg IHByb2ZpbGUxKDEpICAgLSBGLTUgIzAxICAtICAgICAgICAgIC0gICAgICAgICAgIDEuODEwICAx LjgyNQ0KICAgICAgIHByb2ZpbGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAg ICAgIDEuODEwICAyLjAwMA0KICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAg ICAgIC0gICAgICAgICAgIDEuOTA3ICAxLjkxMg0KICAgICAgIHByb2ZpbGU0KDQpICAgLSBGLTUg IzAzICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNTAwICAzLjU3NQ0KICAgICAgIHByb2ZpbGU1 KDUpICAgLSA2LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMA0KICAg ICAgIHByb2ZpbGU2KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAw ICA0LjAwMA0KICAgICAgIHByb2ZpbGU3KDcpICAgLSBGLTUgIzA0ICAtICAgICAgICAgIC0gICAg ICAgICAgIDMuNzQ3ICAzLjc1NA0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAtICAg ICAgICAgIC0gICAgICAgICAgIDMuNzkxICAzLjgwNQ0KICAgICAgIHByb2ZpbGU5KDkpICAgLSA2 LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMA0KICAgICAgIHByb2Zp bGUxMCgxMCkgLSBGLTUgIzA2ICAxNS0xICAgICAgIC0gICAgICAgICAgIDcuMDAwICA3LjMwMA0K ICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIgICAgICAxNS0xICAgICAgIDEgICAgICAgICAgIDEw LjEwMCAxMC4xNTANCiAgICAgICANCiAgICAgICBBbnkgY29tYmluYXRpb24gb2YgcHJvZmlsZXMg Y2FuIGJlIHNwZWNpZmllZCBieSBPUmluZw0KICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZv ciBleGFtcGxlIHZhbHVlIG9mIDB4MDYyMiBzZWxlY3RzDQogICAgICAgcHJvZmlsZXMgMiw2LDEw IGFuZCAxMS4NCiAgICAgICANCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZE5v dGNoUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjUsIDMwLjUuMS4xLjE5Ig0KICAgICA6 Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA1IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAg ICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUx NSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwNCiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAg ICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxl NzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAwKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAg ICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBh cmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAgICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTAoMTApICAgICAtIDUgTWJwcw0KICAgICAgICAgcHJvZmlsZTE1KDE1KSAgICAgLSA3LjUg TWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9m aWxlMjUoMjUpICAgICAtIDEyLjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAx NSBNYnBzDQogICAgICAgICBwcm9maWxlNTAoNTApICAgICAtIDI1IE1icHMNCiAgICAgICAgIHBy b2ZpbGU3MCg3MCkgICAgIC0gMzUgTWJwcw0KICAgICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1 MCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQ TUUncyBVcHN0cmVhbSBQYXlsb2FkDQogICAgICAgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUku IElmIHRoZSBwYXlsb2FkIHJhdGUgb2YgdGhlDQogICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5u b3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFu ZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwg ZmFpbC4NCiAgICAgICAgDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRS YXRlUHJvZmlsZVVwc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAi DQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDYgfQ0KDQogICBlZm1DdVBtZTEw UFBheWxvYWREUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVH RVIgew0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGUxMCgxMCksDQogICAgICAg cHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMjAoMjApLA0KICAgICAgIHByb2ZpbGUyNSgy NSksDQogICAgICAgcHJvZmlsZTMwKDMwKSwNCiAgICAgICBwcm9maWxlNTAoNTApLA0KICAgICAg IHByb2ZpbGU3MCg3MCksDQogICAgICAgcHJvZmlsZTEwMCgxMDApLA0KICAgICAgIHByb2ZpbGUx NDAoMTQwKSwNCiAgICAgICBwcm9maWxlMjAwKDIwMCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIjEwUEFTUy1UUyBQTUUgRG93bnN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwN CiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVl cyBhcmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAgIC0gMi41IE1icHMNCiAgICAgICAgIHBy b2ZpbGUxMCgxMCkgICAgLSA1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgLSA3LjUg TWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAtIDEwIE1icHMNCiAgICAgICAgIHByb2Zp bGUyNSgyNSkgICAgLSAxMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgLSAxNSBN YnBzDQogICAgICAgICBwcm9maWxlNTAoNTApICAgIC0gMjUgTWJwcw0KICAgICAgICAgcHJvZmls ZTcwKDcwKSAgICAtIDM1IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBz DQogICAgICAgICBwcm9maWxlMTQwKDE0MCkgIC0gNzAgTWJwcw0KICAgICAgICAgcHJvZmlsZTIw MCgyMDApICAtIDEwMCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJn ZXQgZm9yIHRoZSBQTUUncyBEb3duc3RyZWFtDQogICAgICAgUGF5bG9hZCBCaXRyYXRlIGFzIHNl ZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBheWxvYWQgcmF0ZSBvZg0KICAgICAgIHRoZSBzZWxlY3Rl ZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcA0KICAgICAgIGVu dmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24N CiAgICAgICBTSEFMTCBmYWlsLg0KICAgICAgIA0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGluIENs YXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMu NiwgMzAuNS4xLjEuMjEiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQ0K DQogICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBvYmplY3QgY29u dHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29jaWF0ZWQNCiAgICAgICBlbnRyeSBp biBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZg0KICAgICAgIFJv d1N0YXR1cy4NCiAgICAgICBJZiBhbiBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZt Q3VBZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5 IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsDQogICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJl bW92ZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0NCg0KDQogICBl Zm1DdVBtZTEwUFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJUYWJsZSByZWZsZWN0aW5nIHN0YXR1cyBvZiBFRk1DdSAxMFBBU1MtVFMgUE1FcyAobW9kZW1z KS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQIDIgfQ0KDQogICBlZm1DdVBtZTEwUFN0YXR1c0Vu dHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkN CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgMTBQQVNT LVRTIFBNRSBTdGF0dXMgdGFibGUuIg0KICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlIDEgfQ0KDQogICBFZm1DdVBt ZTEwUFN0YXR1c0VudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUxMFBG RUNDb3JyZWN0ZWRCbG9ja3MgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1Vu Y29ycmVjdGVkQmxvY2tzICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUND b3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQg RkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMNCiAgICAgICBQTUUuDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIGFQTUVGRUNDb3JyZWN0ZWRCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAg Y2xhdXNlIDMwLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBNQS9QTUQgaXMgcHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUCBGRUMgY29ycmVjdGFibGUgZXJyb3JzDQogICAgICAgcmVnaXN0ZXINCg0KICAgICAgIERp c2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0K ICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0 IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCINCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBGRUNVbmNv cnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQog ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY291bnQgb2YgcmVjZWl2ZWQgRkVDIGNvZGV3b3JkcyBp biAxMFBBU1MtVFMgUE1FLCB3aGljaCBhcmUNCiAgICAgICB1bmNvcnJlY3RhYmxlLg0KDQogICAg ICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrcyBhdHRyaWJ1 dGUgaW4NCiAgICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LA0KICAgICAgIHRoZW4gdGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgMTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycw0KICAgICAgIHJlZ2lz dGVyDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRl ciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVu dCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJ Ri1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMywgMzAu MTEuMi4xLjkiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMiB9DQoNCiAgLS0N CiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBlZm1DdUdyb3VwcyAgICAg IE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMSB9DQoNCiAgIGVmbUN1 Q29tcGxpYW5jZXMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VDb25mb3JtYW5jZSAyIH0N Cg0KICAgLS0gT2JqZWN0IEdyb3Vwcw0KDQogICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UEFGU3VwcG9ydGVkLA0KICAgICAgIGVmbUN1 QWRtaW5Qcm9maWxlLA0KICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUsDQogICAgICAgZWZtQ3VU YXJnZXRTbnJNZ24sDQogICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEsDQogICAgICAgZWZtQ3VQ b3J0U2lkZSwNCiAgICAgICBlZm1DdUZsdFN0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgcmVwcmVzZW50aW5nIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24NCiAgICAgICBjb21tb24gZm9y IGFsbCB0eXBlcyBvZiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDEgfQ0K DQogICBlZm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBl Zm1DdVBlZXJQQUZTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VQQUZDYXBhY2l0eSwNCiAgICAgICBl Zm1DdVBlZXJQQUZDYXBhY2l0eSwNCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUsDQogICAgICAg ZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29k ZSwNCiAgICAgICBlZm1DdU51bVBNRXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBv cnRpbmcgT1BUSU9OQUwgUE1FDQogICAgICAgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgYW5k IFBBRiBkaXNjb3ZlcnkgaW4gRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyAy IH0NCg0KICAgZWZtQ3VQQUZFcnJvcnNHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7 DQogICAgICAgZWZtQ3VQQUZJbkVycm9ycywNCiAgICAgICBlZm1DdVBBRkluU21hbGxGcmFnbWVu dHMsDQogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5C YWRGcmFnbWVudHMsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMsDQogICAgICAgZWZt Q3VQQUZJbkxvc3RTdGFydHMsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzLA0KICAgICAgIGVm bUN1UEFGSW5PdmVyZmxvd3MNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcg T1BUSU9OQUwgZXJyb3IgY291bnRlcnMNCiAgICAgICBvZiBQQUYgb24gRUZNQ3UgcG9ydHMuIg0K ICAgICA6Oj0geyBlZm1DdUdyb3VwcyAzIH0NCg0KICAgZWZtQ3VQbWVHcm91cCBPQkpFQ1QtR1JP VVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsDQogICAgICAg ZWZtQ3VQbWVPcGVyU3RhdHVzLA0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVm bUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsDQog ICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSwNCiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVy eUNvZGUsDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZVNuck1n biwNCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuLA0K ICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVu Z3RoLA0KICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMsDQogICAgICAgZWZtQ3VQbWVUQ0Ny Y0Vycm9ycywNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVU aHJlc2hTbnJNZ24NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBpbmZvcm1h dGlvbiBhYm91dA0KICAgICAgIGEgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRS4iDQogICAgIDo6PSB7 IGVmbUN1R3JvdXBzIDQgfQ0KDQogICBlZm1DdUFsYXJtQ29uZkdyb3VwIE9CSkVDVC1HUk9VUA0K ICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVRocmVzaExvd1JhdGUsDQogICAgICAgZWZtQ3VM b3dSYXRlQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAg ICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1UG1lVGhyZXNo U25yTWduLA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgZWZt Q3VQbWVEZXZpY2VGYXVsdEVuYWJsZSwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5h YmxlLA0KICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQ0KICAgICB9DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBjb25maWd1cmF0aW9uIG9mIGFsYXJtDQogICAgICAg dGhyZXNob2xkcyBhbmQgbm90aWZpY2F0aW9ucyBpbiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7 IGVmbUN1R3JvdXBzIDUgfQ0KDQogICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElP Ti1HUk9VUA0KICAgICBOT1RJRklDQVRJT05TIHsNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2lu ZywNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZywNCiAgICAgICBlZm1DdVBtZVNuck1n bkNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHQsDQogICAgICAgZWZtQ3VQbWVD b25maWdJbml0RmFpbHVyZSwNCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCi0t ICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHQsDQotLSAgICAgICBlZm1DdVBtZUxvY2FsUG93ZXJM b3NzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGlzIGdyb3VwIHN1cHBvcnRzIG5vdGlmaWNhdGlvbnMgb2Ygc2lnbmlmaWNhbnQg Y29uZGl0aW9ucw0KICAgICAgIGFzc29jaWF0ZWQgd2l0aCBFRk1DdSBwb3J0cy4iDQogICAgIDo6 PSB7IGVmbUN1R3JvdXBzIDYgfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwIE9CSkVDVC1H Uk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyLA0KICAg ICAgIGVmbUN1UG1lMkJSZWdpb24sDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlLA0KICAgICAgIGVm bUN1UG1lMkJNaW5EYXRhUmF0ZSwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsDQogICAg ICAgZWZtQ3VQbWUyQlBvd2VyLA0KICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uLA0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZURl c2NyLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cywNCiAgICAgICBlZm1DdVBtZTJC RXF1aXZhbGVudExlbmd0aCwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiwNCiAg ICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiwNCiAgICAgICBlZm1DdVBtZTJCUmVhY2hS YXRlUm93U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVND UklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUg YSBjb25maWd1cmF0aW9uDQogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlvbiBvZiAyQkFT RS1UTCBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDd9DQoNCiAgIGVmbUN1UG1lMTBQ UHJvZmlsZUdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVEZXNjciwNCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmls ZSwNCiAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlLA0KICAgICAgIGVmbUN1 UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQ cm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZERSYXRlUHJvZmlsZSwNCiAgICAgICBl Zm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMNCiAgICAgfQ0KICAgICBTVEFUVVMgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBj b25zdGl0dXRlIGEgY29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUgZm9yIGNvbmZpZ3VyYXRp b24gb2YgMTBQQVNTLVRTIHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9DQoNCiAg IGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzLA0KICAgICAgIGVmbUN1UG1lMTBQRkVD VW5jb3JyZWN0ZWRCbG9ja3MNCiAgICAgfQ0KICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIHN0YXR1 cyBpbmZvcm1hdGlvbg0KICAgICAgIHNwZWNpZmljIHRvIDEwUEFTUy1UUyBQTUVzLiINCiAgICAg Ojo9IHsgZWZtQ3VHcm91cHMgOSB9DQoNCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzDQoNCiAg IGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5DRQ0KICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBm b3IgMkJBU0UtVEwvMTBQQVNTLVRTIGludGVyZmFjZXMuDQogICAgICAgQ29tcGxpYW5jZSB3aXRo IHRoZSBmb2xsb3dpbmcgZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzDQogICAgICAgaXMg UkVRVUlSRUQ6DQogICAgICAgDQogICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlh bmNlIFN0YXRlbWVudA0KICAgICAgIC0tLS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiAgICAgICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMNCiAg ICAgICBFdGhlckxpa2UtTUlCICAgICAgICAgIGRvdDNDb21wbGlhbmNlMg0KICAgICAgIE1BVS1N SUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMNCg0KICAgICAgIENvbXBsaWFuY2Ugd2l0 aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlz IE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24N CiAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhpYmxlIGNyb3NzLWNvbm5lY3QgYmV0d2Vl biB0aGUgUENTDQogICAgICAgYW5kIFBNRSBwb3J0czoNCiAgICAgICANCiAgICAgICBNSUIgTW9k dWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQogICAgICAgLS0tLS0tLS0tLSAg ICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIElGLUlOVkVSVEVELVNUQUNL LU1JQiAgaWZJbnZDb21wbGlhbmNlDQogICAgICAgSUYtQ0FQLVNUQUNLLU1JQiAgICAgICBpZkNh cFN0YWNrQ29tcGxpYW5jZSINCiAgICAgDQogICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUNCiAg ICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGVmbUN1QmFzaWNHcm91cCwNCiAgICAg ICAgIGVmbUN1UG1lR3JvdXAsDQogICAgICAgICBlZm1DdUFsYXJtQ29uZkdyb3VwLA0KICAgICAg ICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cA0KICAgICAgIH0NCiAgICAgICANCiAgICAgICBHUk9V UCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGltcGxlbWVu dGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIg0KICAgICAgIA0KICAg ICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9y IGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCiAg ICAgICANCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkdyb3VwDQogICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9y DQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVu Y3Rpb24gKFBBRikuIg0KICAgICAgIA0KICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3Jz R3JvdXANCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3Jv dXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyBQ TUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikuIg0KICAgICAgIA0KICAgICAgIEdST1VQICAg ICAgIGVmbUN1UG1lMTBQU3RhdHVzR3JvdXANCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAg IlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0K ICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCiAgICAgICANCiAgICAgICBPQkpF Q1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkDQogICAgICAgU1lOVEFYICAgICAgQklU UyB7DQogICAgICAgICBpZWVlMkJhc2VUTE8oMCksDQogICAgICAgICBpZWVlMkJhc2VUTFIoMSks DQogICAgICAgICBpZWVlMTBQYXNzVFNPKDIpLA0KICAgICAgICAgaWVlZTEwUGFzc1RTUigzKQ0K ICAgICAgIH0NCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIGFsbCBz dWJ0eXBlcyBpcyBub3QgcmVxdWlyZWQuIEhvd2V2ZXIgYXQgbGVhc3QNCiAgICAgICAgIG9uZSB2 YWx1ZSBTSEFMTCBiZSBzdXBwb3J0ZWQiDQogICAgICAgDQogICAgICAgT0JKRUNUICAgICAgZWZt Q3VQbWVBZG1pblN1YlR5cGUNCiAgICAgICBNSU4tQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRl ZCBvbmx5IGZvciBQTUVzDQogICAgICAgICBzdXBwb3J0aW5nIG1vcmUgdGhhbiBhIHNpbmdsZSBz dWJ0eXBlLCBlLmcuDQogICAgICAgICBpZWVlMkJhc2VUTE8gYW5kIGllZWUyQmFzZVRMUiBvciBp ZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgaWVlZTEwUGFzc1RTUikiDQogICAgICAgDQogICAg ICAgT0JKRUNUICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24NCiAgICAgICBNSU4tQUNDRVNTICByZWFk LW9ubHkNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJ T05BTC4gRm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MNCiAgICAgICAgIHRoZSB0YXJnZXQg U05SIG1hcmdpbiBTSEFMTCBiZSBmaXhlZCBhdCA1ZEIgZm9yIDJCQVNFLVRMDQogICAgICAgICBh bmQgNmRCIGZvciAxMFBBU1MtVFMuIg0KICAgICAgIA0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 QWRhcHRpdmVTcGVjdHJhDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdp dGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgYmUg ZmFsc2UuIg0KICAgICAgIA0KICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KRU5EDQo= ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; name="draft-ietf-hubmib-efm-cu-mib-07.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.txt" CgoKTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEUuIEJlaWxpCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQWN0ZWxpcyBOZXR3b3JrcwpFeHBpcmVzOiBBdWd1c3QgMjIsIDIw MDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMTgsIDIwMDcKCgogICAg ICAgIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZNQ3UpIEludGVyZmFjZXMg TUlCCiAgICAgICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLWVmbS1jdS1taWItMDcudHh0 CgpTdGF0dXMgb2YgdGhpcyBNZW1vCgogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJh ZnQsIGVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkKICAgYXBwbGljYWJsZSBwYXRlbnQg b3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaCBoZSBvciBzaGUgaXMgYXdhcmUKICAgaGF2ZSBi ZWVuIG9yIHdpbGwgYmUgZGlzY2xvc2VkLCBhbmQgYW55IG9mIHdoaWNoIGhlIG9yIHNoZSBiZWNv bWVzCiAgIGF3YXJlIHdpbGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlv biA2IG9mIEJDUCA3OS4KCiAgIEludGVybmV0LURyYWZ0cyBhcmUgd29ya2luZyBkb2N1bWVudHMg b2YgdGhlIEludGVybmV0IEVuZ2luZWVyaW5nCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJl YXMsIGFuZCBpdHMgd29ya2luZyBncm91cHMuICBOb3RlIHRoYXQKICAgb3RoZXIgZ3JvdXBzIG1h eSBhbHNvIGRpc3RyaWJ1dGUgd29ya2luZyBkb2N1bWVudHMgYXMgSW50ZXJuZXQtCiAgIERyYWZ0 cy4KCiAgIEludGVybmV0LURyYWZ0cyBhcmUgZHJhZnQgZG9jdW1lbnRzIHZhbGlkIGZvciBhIG1h eGltdW0gb2Ygc2l4IG1vbnRocwogICBhbmQgbWF5IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBv YnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0IGFueQogICB0aW1lLiAgSXQgaXMgaW5hcHBy b3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQogICBtYXRlcmlhbCBv ciB0byBjaXRlIHRoZW0gb3RoZXIgdGhhbiBhcyAid29yayBpbiBwcm9ncmVzcy4iCgogICBUaGUg bGlzdCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQKICAgaHR0 cDovL3d3dy5pZXRmLm9yZy9pZXRmLzFpZC1hYnN0cmFjdHMudHh0LgoKICAgVGhlIGxpc3Qgb2Yg SW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdAogICBo dHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1sLgoKICAgVGhpcyBJbnRlcm5ldC1EcmFmdCB3 aWxsIGV4cGlyZSBvbiBBdWd1c3QgMjIsIDIwMDcuCgpDb3B5cmlnaHQgTm90aWNlCgogICBDb3B5 cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3KS4KCkFic3RyYWN0CgogICBUaGlzIGRvY3Vt ZW50IGRlZmluZXMgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZXMgZm9y CiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gVENQL0lQIGJhc2Vk IGludGVybmV0cy4KICAgVGhpcyBkb2N1bWVudCBkZXNjcmliZXMgZXh0ZW5zaW9ucyB0byB0aGUg RXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzCiAgIE1JQiBhbmQgTUFVIE1JQiBtb2R1bGVzIHdpdGgg YSBzZXQgb2Ygb2JqZWN0cyBmb3IgbWFuYWdpbmcgRXRoZXJuZXQKICAgaW4gdGhlIEZpcnN0IE1p bGUgQ29wcGVyIChFRk1DdSkgaW50ZXJmYWNlcyAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLAogICBk ZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAwNC4gIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9i amVjdHMgaXMKICAgZGVmaW5lZCwgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkg b2YgYSBtYW5hZ2VkIGRldmljZSB3aXRoCiAgIG11bHRpLWxheWVyIChzdGFja2VkKSBpbnRlcmZh Y2VzLCBleHRlbmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQKICAgb2JqZWN0cyBpbiB0aGUgSW50 ZXJmYWNlcyBHcm91cCBNSUIgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIKCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgIFtQYWdlIDFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgbW9kdWxlcy4KCgpUYWJsZSBvZiBD b250ZW50cwoKICAgMS4gIEludHJvZHVjdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuICAzCiAgIDIuICBUaGUgSW50ZXJuZXQtU3RhbmRhcmQgTWFu YWdlbWVudCBGcmFtZXdvcmsgLiAuIC4gLiAuIC4gLiAuIC4gLiAgMwogICAzLiAgUmVsYXRpb24g dG8gb3RoZXIgTUlCIG1vZHVsZXMgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDQK ICAgICAzLjEuICBSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUgIC4gLiAu IC4gLiAuIC4gLiAuICA0CiAgICAgICAzLjEuMS4gIExheWVyaW5nIE1vZGVsIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNAogICAgICAgMy4xLjIuICBQTUUgQWdncmVn YXRpb24gRnVuY3Rpb24gKFBBRikgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDYKICAgICAgIDMu MS4zLiAgRGlzY292ZXJ5IE9wZXJhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuICA3CiAgICAgICAzLjEuNC4gIEVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAgOQogICAgICAgMy4xLjUuICBVc2FnZSBvZiBpZlRhYmxlIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gIDkKICAgICAzLjIuICBSZWxhdGlv biB0byBTSERTTCBNSUIgbW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEwCiAg ICAgMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlICAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAxMAogICAgIDMuNC4gIFJlbGF0aW9uIHRvIEV0aGVybmV0LUxpa2UgYW5kIE1B VSBNSUIgbW9kdWxlcyAgLiAuIC4gLiAuIC4gMTEKICAgNC4gIE1JQiBTdHJ1Y3R1cmUgIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEyCiAgICAgNC4xLiAg RUZNIENvcHBlciBNSUIgT3ZlcnZpZXcgIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAxMgogICAgIDQuMi4gIEludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVydmlldyAg LiAuIC4gLiAuIC4gLiAuIC4gMTIKICAgICA0LjMuICBQTUUgUHJvZmlsZXMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzCiAgICAgNC40LiAgTWFwcGluZyBv ZiBJRUVFIDgwMi4zYWggTWFuYWdlZCBPYmplY3RzICAuIC4gLiAuIC4gLiAuIC4gLiAxMwogICA1 LiAgSW50ZXJmYWNlIFN0YWNrIENhcGFiaWxpdHkgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAu IC4gLiAuIC4gMTQKICAgNi4gIEVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDIxCiAgIDcuICBTZWN1cml0eSBDb25zaWRlcmF0aW9u cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4MgogICA4LiAgSUFOQSBD b25zaWRlcmF0aW9ucyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g ODMKICAgOS4gIEFja25vd2xlZGdtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIDg0CiAgIDEwLiBOb3RlcyB0byBSRkMgRWRpdG9yICAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4NAogICAxMS4gUmVmZXJlbmNlcyAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODQKICAgICAx MS4xLiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDg0CiAgICAgMTEuMi4gSW5mb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4NQogICBBdXRob3IncyBBZGRyZXNzIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODcKICAgSW50ZWxsZWN0dWFs IFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAuIDg4 CgoKCgoKCgoKCgoKCgoKCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyMiwgMjAwNyAgICAgICAgICAgICAgICBbUGFnZSAyXQoMCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCjEu ICBJbnRyb2R1Y3Rpb24KCiAgIE5ldyBFdGhlcm5ldC1saWtlIGludGVyZmFjZXMgaGF2ZSBiZWVu IGRlZmluZWQgaW4gdGhlIEluc3RpdHV0ZSBvZgogICBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmlj cyBFbmdpbmVlcnMgKElFRUUpIFN0YW5kYXJkIDgwMi4zYWgtMjAwNAogICBbODAyLjNhaF0sIGEu ay5hLiAgRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVGTSksIHdoaWNoIGlzIG5vdyBhCiAg IHBhcnQgb2YgdGhlIGJhc2UgSUVFRSBTdGFuZGFyZCA4MDIuMy0yMDA1IFs4MDIuM10uICBJbiBw YXJ0aWN1bGFyCiAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAo UEhZcyksIGRlZmluZWQgb3ZlcgogICB2b2ljZS1ncmFkZSBjb3BwZXIgcGFpcnMsIGhhdmUgYmVl biBzcGVjaWZpZWQgZm9yIHRoZSBsb25nIGFuZCBzaG9ydAogICByZWFjaCByZXNwZWN0aXZlbHku ICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xsZWN0aXZlbHkgY2FsbGVkIEVGTSBDb3BwZXIKICAgKEVG TUN1KSwgYXJlIGJhc2VkIG9uIFNpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3Jp YmVyIExpbmUKICAgKFNIRFNMKSBbRy45OTEuMl0gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdpdGFs IFN1YnNjcmliZXIgTGluZSAoVkRTTCkKICAgW0cuOTkzLjFdIHRlY2hub2xvZ3ksIHN1cHBvcnRp bmcgb3B0aW9uYWwgUGh5c2ljYWwgTWVkaXVtIEVudGl0eQogICAoUE1FKSBhZ2dyZWdhdGlvbiAo YS5rLmEuIG11bHRpLXBhaXIgYm9uZGluZykgd2l0aCB2YXJpYWJsZSByYXRlcy4KCiAgIDJCQVNF LVRMIFBIWSBpcyBjYXBhYmxlIG9mIHByb3ZpZGluZyBhdCBsZWFzdCAyTWJwcyBvdmVyIDI3MDAg bSBsb25nCiAgIHNpbmdsZSBjb3BwZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAo QkVSKSBvZiAxMF4tNyAodXNpbmcKICAgNWRCIHRhcmdldCBub2lzZSBtYXJnaW4pLgoKICAgMTBQ QVNTLVRTIFBIWSBpcyBjYXBhYmxlIG9mIHByb3ZpZGluZyBhdCBsZWFzdCAxME1icHMgb3ZlciA3 NTAgbSBsb25nCiAgIHNpbmdsZSBjb3BwZXIgcGFpciB3aXRoIGEgbWVhbiBCRVIgb2YgMTBeLTcg KHVzaW5nIDZkQiB0YXJnZXQgbm9pc2UKICAgbWFyZ2luKS4KCiAgIFRoaXMgbWVtbyBkZWZpbmVz IGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBmb3IgdXNlCiAgIHdp dGggbmV0d29yayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgY29tbXVuaXR5 IHRvIG1hbmFnZQogICBFRk1DdSBpbnRlcmZhY2VzLiAgSW4gYWRkaXRpb24gYSBNSUIgbW9kdWxl IGlzIGRlZmluZWQgZGVzY3JpYmluZwogICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgYSBz dGFja2VkIGludGVyZmFjZS4KCiAgIE5vdGUgdGhhdCBtYW5hZ2VkIG9iamVjdHMgZm9yIE9wZXJh dGlvbiwgQWRtaW5pc3RyYXRpb24gYW5kCiAgIE1hbmFnZW1lbnQgKE9BTSkgYW5kIEV0aGVybmV0 IG92ZXIgUGFzc2l2ZSBPcHRpY2FsIE5ldHdvcmtzIChFUE9OKQogICBjbGF1c2VzIG9mIElFRUUg ODAyLjNhaCBhcmUgZGVmaW5lZCBpbiBFRk0tQ09NTU9OLU1JQiBbSS1ELmlldGYtCiAgIGh1Ym1p Yi1lZm0tbWliXSBhbmQgRUZNLUVQT04tTUlCIFtJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24tbWli XQogICByZXNwZWN0aXZlbHkuCgoKMi4gIFRoZSBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50 IEZyYW1ld29yawoKICAgRm9yIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgdGhlIGRvY3VtZW50cyB0 aGF0IGRlc2NyaWJlIHRoZSBjdXJyZW50CiAgIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQg RnJhbWV3b3JrLCBwbGVhc2UgcmVmZXIgdG8gc2VjdGlvbiA3IG9mCiAgIFJGQyAzNDEwIFtSRkMz NDEwXS4KCiAgIE1hbmFnZWQgb2JqZWN0cyBhcmUgYWNjZXNzZWQgdmlhIGEgdmlydHVhbCBpbmZv cm1hdGlvbiBzdG9yZSwgdGVybWVkCiAgIHRoZSBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ug b3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlIGdlbmVyYWxseQogICBhY2Nlc3NlZCB0aHJvdWdoIHRo ZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKS4KICAgT2JqZWN0cyBp biB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5nIHRoZSBtZWNoYW5pc21zIGRlZmluZWQgaW4gdGhl CiAgIFN0cnVjdHVyZSBvZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIChTTUkpLiAgVGhpcyBtZW1v IHNwZWNpZmllcyBNSUIKICAgbW9kdWxlcyB0aGF0IGFyZSBjb21wbGlhbnQgdG8gdGhlIFNNSXYy LCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU1RECiAgIDU4LCBSRkMgMjU3OCBbUkZDMjU3OF0sIFNU RCA1OCwgUkZDIDI1NzkgW1JGQzI1NzldIGFuZCBTVEQgNTgsIFJGQwogICAyNTgwIFtSRkMyNTgw XS4KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgIFtQYWdlIDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgVGhlIGtleSB3b3Jk cyAiTVVTVCIsICJNVVNUIE5PVCIsICJSRVFVSVJFRCIsICJTSEFMTCIsICJTSEFMTCBOT1QiLAog ICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJ T05BTCIgaW4gdGhpcwogICBkb2N1bWVudCBhcmUgdG8gYmUgaW50ZXJwcmV0ZWQgYXMgZGVzY3Jp YmVkIGluIFJGQyAyMTE5IFtSRkMyMTE5XS4KCgozLiAgUmVsYXRpb24gdG8gb3RoZXIgTUlCIG1v ZHVsZXMKCiAgIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZSBN SUIgbW9kdWxlcyBkZWZpbmVkIGluCiAgIHRoaXMgZG9jdW1lbnQgd2l0aCBvdGhlciBNSUIgbW9k dWxlcyBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuCiAgIFNwZWNpZmljYWxseSwgSW50 ZXJmYWNlcyBHcm91cCBNSUIgKElGLU1JQiksIEV0aGVybmV0LUxpa2UKICAgKEV0aGVyTGlrZS1N SUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTCAoSERTTDItU0hEU0wtTElORS1NSUIpIGFuZCBWRFNM CiAgIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuCgozLjEuICBSZWxhdGlv biB0byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUKCiAgIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgUEhZJ3Mgc3BlY2lmaWVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUKICAgc3RhY2tl ZCAoYS5rLmEuIGFnZ3JlZ2F0ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBh cyBzdWNoCiAgIGFyZSBtYW5hZ2VkIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQg b2JqZWN0cyBkZWZpbmVkIGluIHRoZQogICBJRi1NSUIgW1JGQzI4NjNdLgoKICAgVGhlIHN0YWNr IG1hbmFnZW1lbnQsIGkuZS4gYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhlIHN1Yi1sYXllcnMgdG8g dGhlCiAgIHRvcCBsYXllciBpbnRlcmZhY2UsIGlzIGRvbmUgdmlhIHRoZSBpZlN0YWNrVGFibGUs IGFzIGRlZmluZWQgaW4gdGhlCiAgIElGLU1JQiBbUkZDMjg2M10gYW5kIGl0cyBpbnZlcnNlIGlm SW52U3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiB0aGUKICAgSUYtSU5WRVJURUQtU1RBQ0stTUlC IFtSRkMyODY0XS4KCiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzIGlu dmVyc2UgaWZJbnZDYXBTdGFja1RhYmxlCiAgIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1N SUIgbW9kdWxlIGJlbG93LCBleHRlbmQgdGhlIHN0YWNrCiAgIG1hbmFnZW1lbnQgd2l0aCBhbiBh YmlsaXR5IHRvIGRlc2NyaWJlIHBvc3NpYmxlIGNvbm5lY3Rpb25zIG9yIGNyb3NzLQogICBjb25u ZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IG1hdHJpeCBpcyBw cmVzZW50CiAgIGJldHdlZW4gdGhlIGludGVyZmFjZSBsYXllcnMuCgozLjEuMS4gIExheWVyaW5n IE1vZGVsCgogICBBbiBFRk1DdSBpbnRlcmZhY2UgY2FuIGFnZ3JlZ2F0ZSB1cCB0byAzMiBQaHlz aWNhbCBNZWRpdW0gRW50aXR5CiAgIChQTUUpIHN1Yi1sYXllciBkZXZpY2VzIChtb2RlbXMpLCB1 c2luZyBzbyBjYWxsZWQgUE1FIEFnZ3JlZ2F0aW9uCiAgIEZ1bmN0aW9uIChQQUYpLgoKICAgQSBn ZW5lcmljIEVGTUN1IGRldmljZSBjYW4gaGF2ZSBhIG51bWJlciBvZiBQaHlzaWNhbCBDb2Rpbmcg U3VibGF5ZXIKICAgKFBDUykgcG9ydHMsIGVhY2ggY29ubmVjdGVkIHRvIGEgTUFDIHZpYSBNZWRp dW0gSW5kZXBlbmRlbnQgSW50ZXJmYWNlCiAgIChNSUkpIGF0IHRoZSB1cHBlciBsYXllciwgYW5k IGNyb3NzLWNvbm5lY3RlZCB0byBhIG51bWJlciBvZgogICB1bmRlcmx5aW5nIFBNRXMsIHdpdGgg YSBzaW5nbGUgUENTIHBlciBQTUUgcmVsYXRpb25zaGlwLCBzZWUgY2xhdXNlCiAgIDYxLjEgb2Yg WzgwMi4zYWhdIGZvciBtb3JlIGRldGFpbHMuCgogICBFYWNoIFBNRSBpbiB0aGUgYWdncmVnYXRl ZCBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBJbnRlcmZhY2UKICAgdGFibGUgKGlm VGFibGUpIGFzIGEgc2VwYXJhdGUgaW50ZXJmYWNlIHdpdGggaWZUeXBlIG9mIHNoZHNsKDE2OSkg Zm9yCiAgIDJCQVNFLVRMIG9yIHZkc2woOTcpIGZvciAxMFBBU1MtVFMuICBUaGUgaWZUeXBlIHZh bHVlcyBhcmUgZGVmaW5lZCBpbgogICBbSUFOQWlmVHlwZS1NSUJdLgoKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdl IDRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwgcmV0 dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlIG9mIHRoZQogICBhY3RpdmUgUE1FIChlLmcuIGZv ciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZiA2NEticHMpLiAgWmVybwogICB2YWx1 ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBpbml0aWFsaXppbmcgb3IgZG93bi4KCiAg IFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhlIHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRp bmcgZGF0YSByYXRlcwogICBvZiBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdp dGhvdXQgdGhlIDY0LzY1QgogICBlbmNhcHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3Zlcmhl YWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0aGUKICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4KCiAg IFdoZW4gdXNpbmcgdGhlIHN0YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZSBQQ1Ms IHRoZXJlIHdvdWxkCiAgIGJlIG5vIGZyYW1lIGxvc3MgaW4gdGhlIGZvbGxvd2luZyBjb25maWd1 cmF0aW9uICh0aGUgdGVzdC1zZXRzIGFyZQogICBjb25maWd1cmVkIHRvIGdlbmVyYXRlIDEwMCUg b2YgYmFjayB0byBiYWNrIHRyYWZmaWMsIGkuZS4gbWluaW1hbAogICBJRkcsIGF0IDEwIG9yIDEw ME1icHMsIHdpdGggbWluIGFuZCBtYXggZnJhbWUgc2l6ZXM7IHRoZSBFRk0KICAgaW50ZXJmYWNl cyBhcmUgYWdncmVnYXRlZCwgdG8gYWNoaWV2ZSB0aGUgc2hvd24gc3BlZWQpOgoKICAgW3Rlc3Rz ZXRdLS0xMEJhc2VULS1bQ09dLS0yQmFzZVRMLS1bQ1BFXS0tMTBCYXNlVC0tW3Rlc3RzZXRdCiAg ICAgaWZTcGVlZD0gIDEwTWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJwcwoKICAgW3Rl c3RzZXRdLS0xMDBCYXNlVC0tW0NPXS0tMTBQYXNzVFMtLVtDUEVdLS0xMDBCYXNlVC0tW3Rlc3Rz ZXRdCiAgICAgaWZTcGVlZD0gIDEwME1icHMgICAgICAgICAxMDBNYnBzICAgICAgICAgMTAwTWJw cwoKICAgRmlndXJlIDE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MK CiAgIFRoZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSBsYXllcmluZyBkaWFncmFtIGFuZCBj b3JyZXNwb25kaW5nIHVzZQogICBvZiBpZlRhYmxlIGFuZCBpZk1hdVRhYmxlOgoKICAgIF9fX19f X19fX19fX19fX19fX19fX19fX18gICBfCiAgIHwgICAgICAgIExMQyAgICAgICAgICAgICAgfCAg fAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5CiAgIHwgICAgICAg IE1BQyAgICAgICAgICAgICAgfCAgfCAgICAgaWZUeXBlOiBldGhlcm5ldENzbWFjZCg2KQogICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgID4gICBpZk1hdUVudHJ5CiAgIHwgICAgICAgIFJl Y29uc2lsaWF0aW9uICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3IK ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICB8ICAgICAgICAgICAgICAgIGRvdDNNYXVU eXBlMTBQYXNzVFMKICAgfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB8CiAgICstLS0tLS0t LS0tLS0tKy0tLSstLS0tLS0tKyAgKwogICB8IFRDIFwgICAgICAgIHwgICB8ICAgICAgIHwgIHwK ICAgKy0tLS0tXCAgICAgICB8ICAgfCAgICAgICB8ICB8CiAgIHwgUE1BID4gUE1FIDEgfC4uLnwg UE1FIE4gfCAgPiBOIGlmRW50cnkgIChOPTEuLjMyKQogICArLS0tLS0vICAgICAgIHwgICB8ICAg ICAgIHwgIHwgICAgIGlmVHlwZTogc2hkc2woMTY5KSBvciB2ZHNsKDk3KQogICB8IFBNRC8gICAg ICAgIHwgICB8ICAgICAgIHwgIHwKICAgIC0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0gICAtCgog ICBGaWd1cmUgMjogVXNlIG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRz CgogICBUaGUgaWZTdGFja1RhYmxlIGlzIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXggdmFsdWVzIG9m IHRoZSBhZ2dyZWdhdGVkCiAgIEVGTUN1IHBvcnQgKFBDUykgYW5kIHRoZSBQTUVzIGNvbm5lY3Rl ZCB0byBpdC4gaWZTdGFja1RhYmxlIGFsbG93cyBhCiAgIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBs aWNhdGlvbiB0byBkZXRlcm1pbmUgd2hpY2ggUE1FcyBhcmUgY29ubmVjdGVkCiAgIHRvIGEgcGFy dGljdWxhciBQQ1MgYW5kIGNoYW5nZSBjb25uZWN0aW9ucyAoaWYgc3VwcG9ydGVkIGJ5IHRoZQoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICAgW1BhZ2UgNV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICBhcHBsaWNhdGlvbikuICBU aGUgaWZJbnZTdGFja1RhYmxlLCBiZWluZyBhbiBpbnZlcnRlZCB2ZXJzaW9uIG9mIHRoZQogICBp ZlN0YWNrVGFibGUsIHByb3ZpZGVzIGFuIGVmZmljaWVudCBtZWFucyBmb3IgYSBOZXR3b3JrIE1h bmFnZW1lbnQKICAgYXBwbGljYXRpb24gdG8gcmVhZCBhIHN1YnNldCBvZiB0aGUgaWZTdGFja1Rh YmxlIGFuZCB0aGVyZWJ5CiAgIGRldGVybWluZSB3aGljaCBQQ1MgcnVucyBvbiB0b3Agb2YgYSBw YXJ0aWN1bGFyIFBNRS4KCiAgIEEgbmV3IHRhYmxlIGlmQ2FwU3RhY2tUYWJsZSBkZWZpbmVkIGlu IHRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVsZSwKICAgc3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hl ci1sYXllciBpbnRlcmZhY2UgKGUuZy4gIFBDUyBwb3J0KSBhIGxpc3Qgb2YKICAgbG93ZXItbGF5 ZXIgaW50ZXJmYWNlcyAoZS5nLiAgUE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseSBiZSBjcm9zcy0K ICAgY29ubmVjdGVkIHRvIHRoYXQgaGlnaGVyLWxheWVyIGludGVyZmFjZSwgZGV0ZXJtaW5lZCBi eSB0aGUgY3Jvc3MtCiAgIGNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUgZGV2aWNlLiAgVGhpcyB0 YWJsZSwgbW9kZWxlZCBhZnRlcgogICBpZlN0YWNrVGFibGUsIGlzIHJlYWQgb25seSwgcmVmbGVj dGluZyBjdXJyZW50IGNyb3NzLWNvbm5lY3QKICAgY2FwYWJpbGl0eSBvZiBhIHN0YWNrZWQgaW50 ZXJmYWNlLCB3aGljaCBjYW4gYmUgZHluYW1pYyBpbiBzb21lCiAgIGltcGxlbWVudGF0aW9ucyAo ZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkIG9uIGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQKICAgdGhl IG1vZHVsZSBpcyBwdWxsZWQgb3V0KS4gIE5vdGUgdGhhdCBQTUUgYXZhaWxhYmlsaXR5IHBlciBQ Q1MsCiAgIGRlc2NyaWJlZCBieSBpZkNhcFN0YWNrVGFibGUsIGNhbiBiZSBjb25zdHJhaW5lZCBi eSBvdGhlciBwYXJhbWV0ZXJzLAogICBmb3IgZXhhbXBsZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0 eSBvZiBhIFBDUyBvciBieSB0aGUgUE1FIGluCiAgIHF1ZXN0aW9uIGJlaW5nIGFscmVhZHkgY29u bmVjdGVkIHRvIGFub3RoZXIgUENTLiAgU28sIGluIG9yZGVyIHRvCiAgIGVuc3VyZSB0aGF0IGEg cGFydGljdWxhciBQTUUgY2FuIGJlIGNvbm5lY3RlZCB0byB0aGUgUENTLCBhbGwKICAgcmVzcGVj dGl2ZSBwYXJhbWV0ZXJzIChlLmcuIGlmQ2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxlIGFuZAog ICBlZm1DdVBBRkNhcGFjaXR5KSBTSEFMTCBiZSBpbnNwZWN0ZWQuCgogICBUaGUgaWZJbnZDYXBT dGFja1RhYmxlLCBhbHNvIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLAog ICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gIFBDUyBwb3J0 cykgY2FuCiAgIHBvc3NpYmx5IGJlIGNvbm5lY3RlZCB0byBhIHBhcnRpY3VsYXIgbG93ZXItbGF5 ZXIgaW50ZXJmYWNlIChlLmcuCiAgIFBNRSksIHByb3ZpZGluZyBpbnZlcnRlZCBtYXBwaW5nIG9m IGlmQ2FwU3RhY2tUYWJsZS4gIFdoaWxlIGl0CiAgIGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5m b3JtYXRpb24gYmV5b25kIHRoYXQgYWxyZWFkeSBjb250YWluZWQgaW4KICAgdGhlIGlmQ2FwU3Rh Y2tUYWJsZSwgdGhlIGlmSW52Q2FwU3RhY2tUYWJsZSBoYXMgdGhlIGlmSW5kZXggdmFsdWVzIGlu CiAgIGl0cyBJTkRFWCBjbGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZSBsb3dl ci1sYXllcgogICBpbnRlcmZhY2UgZmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVyZmFj ZSBzZWNvbmQsIHByb3ZpZGluZyBhbgogICBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0d29yayBN YW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQKICAgb2YgdGhlIGlmQ2FwU3Rh Y2tUYWJsZSBhbmQgdGhlcmVieSBkZXRlcm1pbmUgd2hpY2ggaW50ZXJmYWNlcyBjYW4gYmUKICAg Y29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgYSBwYXJ0aWN1bGFyIGludGVyZmFjZS4KCjMuMS4y LiAgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpCgogICBUaGUgUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpIGFsbG93cyBhIG51bWJlciBvZiBQTUVzIHRvIGJlCiAgIGFnZ3JlZ2F0 ZWQgb250byBhIFBDUyBwb3J0LCBieSBmcmFnbWVudGluZyB0aGUgRXRoZXJuZXQgZnJhbWVzLAog ICB0cmFuc21pdHRpbmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRpcGxlIFBNRXMgYW5kIGFzc2Vt YmxpbmcgdGhlCiAgIG9yaWdpbmFsIGZyYW1lcyBhdCB0aGUgcmVtb3RlIHBvcnQuICBQQUYgaXMg T1BUSU9OQUwsIG1lYW5pbmcgdGhhdCBhCiAgIGRldmljZSB3aXRoIGEgc2luZ2xlIFBNRSBNQVkg cGVyZm9ybSBmcmFnbWVudGF0aW9uIGFuZCByZS1hc3NlbWJseSBpZgogICB0aGlzIGZ1bmN0aW9u IGlzIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlCiAgIGFn ZW50IGlzIFJFUVVJUkVEIHRvIHJlcG9ydCBvbiB0aGUgUEFGIGNhcGFiaWxpdHkgZm9yIGFsbCBF Rk1DdSBwb3J0cwogICAoMkJBU0UtVEwgYW5kIDEwUEFTUy1UUykuCgogICBUaGUgRUZNLUNVLU1J QiBtb2R1bGUgYWxsb3dzIGEgTmV0d29yayBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvCiAgIHF1 ZXJ5IFBBRiBjYXBhYmlsaXR5IGFuZCBlbmFibGUvZGlzYWJsZSBpdCBpZiBzdXBwb3J0ZWQuICBO b3RlIHRoYXQKICAgZW5hYmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRp b24gYW5kIHJlLWFzc2VtYmx5LCBldmVuCiAgIG9uIGEgc2luZ2xlLVBNRSBwb3J0LgoKCgpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAg ICAgW1BhZ2UgNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgozLjEuMy4gIERpc2NvdmVyeSBPcGVyYXRp b24KCiAgIFRoZSBFRk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxseSBzdXBwb3J0IGRpc2NvdmVyeSBv cGVyYXRpb24sIHdoZXJlYnkKICAgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBleGNoYW5n ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVpcgogICByZXNwZWN0aXZlIGFnZ3JlZ2F0aW9uIGdyb3Vw cyAoUENTKS4gIFRoaXMgaW5mb3JtYXRpb24gY2FuIHRoZW4gYmUKICAgdXNlZCB0byBkZXRlY3Qg Y29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBhdXRvbWF0aWMgYXNzaWdubWVudAogICBv ZiB0aGUgbG9jYWwgUE1FcyBpbnRvIGFnZ3JlZ2F0aW9uIGdyb3VwcyBpbnN0ZWFkIG9mIGEgZml4 ZWQgcHJlLQogICBjb25maWd1cmF0aW9uLgoKICAgVGhlIE1JQiBtb2R1bGVzIGRlZmluZWQgaW4g dGhpcyBkb2N1bWVudCBhbGxvdyBhIE5ldHdvcmsgTWFuYWdlbWVudAogICBhcHBsaWNhdGlvbiB0 byBjb250cm9sIEVGTSBEaXNjb3ZlcnkgbWVjaGFuaXNtIGFuZCBxdWVyeSBpdHMgcmVzdWx0cy4K ICAgTm90ZSB0aGF0IHRoZSBEaXNjb3ZlcnkgbWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYgUEFG IGlzIHN1cHBvcnRlZAogICBhbmQgZW5hYmxlZC4KCiAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkg dGhlIEVGTSBEaXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kCiAgIGlmQ2FwU3Rh Y2tUYWJsZS4gIFRoZSBmb2xsb3dpbmcgcHNldWRvLWNvZGUgZ2l2ZXMgYW4gZXhhbXBsZSBvZiB0 aGUKICAgRGlzY292ZXJ5IGFuZCBhdXRvbWF0aWMgUE1FIGFzc2lnbm1lbnQgZm9yIGEgZ2VuZXJp YyBQQUYgZW5hYmxlZAogICBtdWx0aS1QQ1MgRUZNQ3UgZGV2aWNlLCBsb2NhdGVkIGF0IENlbnRy YWwgT2ZmaWNlIChDTyksIHVzaW5nIG9iamVjdHMKICAgZGVmaW5lZCBpbiB0aGVzZSBNSUIgbW9k dWxlcyBhbmQgaW4gSUYtTUlCIFtOb3RlIHRoYXQgYXV0b21hdGljIFBNRQogICBhc3NpZ25tZW50 IGlzIG9ubHkgc2hvd24gaGVyZSBmb3IgdGhlIHB1cnBvc2VzIG9mIHRoZSBleGFtcGxlLiAgRml4 ZWQKICAgUE1FIHByZS1hc3NpZ25tZW50LCBtYW51YWwgYXNzaWdubWVudCBvciBhdXRvLWFzc2ln bm1lbnQgdXNpbmcgYW4KICAgYWx0ZXJuYXRpdmUgaW50ZXJuYWwgYWxnb3JpdGhtIG1heSBiZSBj aG9zZW4gYnkgYSBwYXJ0aWN1bGFyCiAgIGltcGxlbWVudGF0aW9uXToKCiAgIC8vIEdvIG92ZXIg YWxsIFBDUyBwb3J0cyBpbiB0aGUgQ08gZGV2aWNlCiAgIEZPUkVBQ0ggcGNzW2ldIElOIENPX2Rl dmljZQogICB7IC8vIFBlcmZvcm0gZGlzY292ZXJ5IGFuZCBhdXRvLWFzc2lnbm1lbnQgb25seSBv biBQQUYgZW5hYmxlZCBwb3J0cwogICAgIC8vIHdpdGggcm9vbSBmb3IgbW9yZSBQTUVzCiAgICAg SUYgKCBwY3NbaV0uUEFGU3VwcG9ydGVkIEFORCBwY3NbaV0uTnVtUE1FcyA8IHBjc1tpXS5QQUZD YXBhY2l0eSApCiAgICAgICB7IGRjID0gcGNzW2ldLkRpc2NvdmVyeUNvZGUgPSBNQUNbaV07IC8v IHVuaXF1ZSA2LW9jdGV0cyBwZXIgUENTCiAgICAgICAgIC8vIEdvIG92ZXIgYWxsIGRpc2Nvbm5l Y3RlZCBQTUVzLCB3aGljaCBjYW4KICAgICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVk IHRvIHRoZSBQQ1MKICAgICAgICAgRk9SRUFDSCBwbWVbal0gSU4gaWZDYXBTdGFja1RhYmxlW3Bj c1tpXV0gQU5ECiAgICAgICAgICAgICAgICAgICAgICAgIE5PVCBpZkludlN0YWNrVGFibGVbcG1l W2pdXSAgLy8gbm90IGNvbm5lY3RlZAogICAgICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJl bW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZhbHVlCiAgICAgICAgICAgICAvLyBvZiB0 aGUgbG9jYWwgNi1vY3RldCBkaXNjb3ZlcnkgY29kZSB0byB0aGUgcmVtb3RlCiAgICAgICAgICAg ICAvLyBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciAodmlhIGhhbmRzaGFrZSBtZWNoYW5pc20pLgog ICAgICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rp b24sIGkuZS4gaXQKICAgICAgICAgICAgIC8vIHdvdWxkIHN1Y2NlZWQgb25seSBpZiB0aGUgcmVt b3RlIGRpc2NvdmVyeSByZWdpc3RlciB3YXMKICAgICAgICAgICAgIC8vIHplcm8uIFJlYWQgdGhl IHJlbW90ZSBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciB2aWEgR2V0CiAgICAgICAgICAgICAvLyBv cGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0dGFjaGVkIHZpYSB0aGUgUE1FCiAg ICAgICAgICAgICAvLyBpcyBpbmRlZWQgbWFya2VkIGFzIGJlaW5nIHRoZSBDT19kZXZpY2UgcGVl ci4KICAgICAgICAgICAgIHBtZVtqXS5SZW1vdGVEaXNjb3ZlcnlDb2RlID0gZGM7ICAgICAgICAv LyBTZXQtaWYtQ2xlYXIKICAgICAgICAgICAgIHIgPSBwbWVbal0uUmVtb3RlRGlzY292ZXJ5Q29k ZTsgICAgICAgICAvLyBHZXQKICAgICAgICAgICAgIElGICggciA9PSBkYyBBTkQgcGNzW2ldLk51 bVBNRXMgPCBwY3NbaV0uUEFGQ2FwYWNpdHkpCiAgICAgICAgICAgICAgIHsgLy8gUmVtb3RlIFJU X2RldmljZSBjb25uZWN0ZWQgdmlhIFBNRVtqXSBpcy93YXMgYSBwZWVyCiAgICAgICAgICAgICAg ICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBmb3IgYW5vdGhlciBQTUUgaW4gdGhl CiAgICAgICAgICAgICAgICAgLy8gUENTW2ldIGFnZ3JlZ2F0aW9uIGdyb3VwIChtYXguIFBBRiBj YXBhY2l0eSBpcyBub3QKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDIyLCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAg ICAgICAgICAgICAgICAvLyByZWFjaGVkIHlldCkuCiAgICAgICAgICAgICAgICAgLy8gQ29ubmVj dCB0aGlzIFBNRSB0byB0aGUgUENTICh2aWEgaWZTdGFja1RhYmxlLAogICAgICAgICAgICAgICAg IC8vIGlmSW52U3RhY2tUYWJsZSBiZWluZyBpbnZlcnNlIG9mIGlmU3RhY2tUYWJsZSBpcwogICAg ICAgICAgICAgICAgIC8vIHVwZGF0ZWQgYXV0b21hdGljYWxseSkKICAgICAgICAgICAgICAgICBB REQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOwogICAgICAgICAgICAgICAgICAgLy8g cGNzW2ldIGlzIGF1dG8tYWRkZWQgdG8gaWZJbnZTdGFja1RhYmxlW3BtZVtqXV0KICAgICAgICAg ICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBjc1tpXS5OdW1QTUVzICsgMTsKICAgICAgICAgICAg ICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29ubmVjdGVkIFBNRXMsCiAgICAgICAgICAg ICAgICAgLy8gYXR0YWNoZWQgdG8gdGhlIHNhbWUgUlRfZGV2aWNlIGFuZCBjb25uZWN0IHRoZW0g dG8KICAgICAgICAgICAgICAgICAvLyB0aGUgUENTIHByb3ZpZGVkIHRoZXJlIGlzIGVub3VnaCBy b29tIGZvciBtb3JlIFBNRXMuCiAgICAgICAgICAgICAgICAgRk9SRUFDSCBwbWVba10gSU4gaWZD YXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Tk9UIGlmSW52U3RhY2tUYWJsZVtwbWVba11dCiAgICAgICAgICAgICAgICAgICB7IHIgPSBwbWVb a10uUmVtb3RlRGlzY292ZXJ5Q29kZTsgLy8gR2V0CiAgICAgICAgICAgICAgICAgICAgIElGICgg ciA9PSBkYyBBTkQKICAgICAgICAgICAgICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA8IHBj c1tpXS5QQUZDYXBhY2l0eSkKICAgICAgICAgICAgICAgICAgICAgICB7IEFERCBwbWVba10gVE8g aWZTdGFja1RhYmxlW3Bjc1tpXV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBjc1tp XSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQogICAgICAgICAgICAgICAgICAg ICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0uTnVtUE1FcyArIDE7CiAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZGlzY292ZXJlZCBhbGwgbG9jYWwgUE1FcyB3 aGljaAogICAgICAgICAgICAgLy8gYXJlIHBoeXNpY2FsbHkgY29ubmVjdGVkIHRvIHRoZSBzYW1l IHJlbW90ZSBSVF9kZXZpY2UKICAgICAgICAgICAgIC8vIGFuZCBjb25uZWN0ZWQgdGhlbSB0byBQ Q1NbaV0uIEdvIHRvIHRoZSBuZXh0IFBDUy4KICAgICAgICAgICAgIEJSRUFLOwogICAgICAgICAg IH0KICAgICAgIH0KICAgfQoKICAgQW4gU05NUCBBZ2VudCBmb3IgYSBFRk1DdSBkZXZpY2UgYnVp bGRzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzCiAgIGludmVyc2UgaWZJbnZDYXBTdGFja1RhYmxl IGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluCiAgIHRoZSBDbGF1c2Ug NDUgUE1FX0F2YWlsYWJsZV9yZWdpc3RlciAoc2VlIFs4MDIuM2FoXSA2MS4xLjUuMyBhbmQKICAg NDUuMi4zLjIwKS4KCiAgIEFkZGluZyBhIFBNRSB0byB0aGUgaWZTdGFja1RhYmxlIHJvdyBmb3Ig YSBzcGVjaWZpYyBQQ1MsIGludm9sdmVzCiAgIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBQTUUg dG8gdGhlIFBDUywgd2hpY2ggY2FuIGJlIGRvbmUgYnkKICAgbW9kaWZ5aW5nIENsYXVzZSA0NSBQ TUVfQWdncmVnYXRlX3JlZ2lzdGVyIChzZWUgWzgwMi4zYWhdIDYxLjEuNS4zCiAgIGFuZCA0NS4y LjMuMjEpLgoKICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8gYmUgb3BlcmF0 aW9uYWxseSAnZG93bicgZm9yIHRoZQogICBjb25uZWN0aW9uIHRvIHN1Y2NlZWQuICBJbiBmYWN0 LCBhIGR5bmFtaWMgUE1FIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkKICAgTUFZIGJlIGltcGxlbWVu dGVkIHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZyBpbml0aWFsaXplZCBmaXJzdCAoYnkKICAg c2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbiBhZGRlZCB0byBhbiBv cGVyYXRpb25hbGx5CiAgICd1cCcgUENTIHBvcnQsIGJ5IG1vZGlmeWluZyBhIHJlc3BlY3RpdmUg aWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZQogICBpZkludlN0YWNrVGFibGUpIGVudHJ5LgoK ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHJlbW92YWwgb2YgdGhlIGxhc3Qgb3BlcmF0aW9u YWxseSAndXAnIFBNRQogICBmcm9tIGFuIG9wZXJhdGlvbmFsbHkgJ3VwJyBQQ1Mgd291bGQgYmUg cmVqZWN0ZWQgYnkgdGhlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyMiwgMjAwNyAgICAgICAgICAgICAgICBbUGFnZSA4XQoMCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAg IGltcGxlbWVudGF0aW9uLCBhcyB0aGlzIGFjdGlvbiB3b3VsZCBjb21wbGV0ZWx5IGRyb3AgdGhl IGxpbmsuCgozLjEuNC4gIEVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uCgogICBFRk1DdSBwb3J0 cyBiZWluZyBidWlsdCBvbiB0b3Agb2YgeERTTCB0ZWNobm9sb2d5LCByZXF1aXJlIGEgbGVuZ3Ro eQogICBpbml0aWFsaXphdGlvbiBvciAndHJhaW5pbmcnIHByb2Nlc3MsIGJlZm9yZSBhbnkgZGF0 YSBjYW4gcGFzcy4KICAgRHVyaW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEg bGluayAocGVlcnMpIHdvcmsKICAgY29vcGVyYXRpdmVseSB0byBhY2hpZXZlIHJlcXVpcmVkIGRh dGEgcmF0ZSBvbiBhIHBhcnRpY3VsYXIgY29wcGVyCiAgIHBhaXIuICBTb21ldGltZXMsIHdoZW4g dGhlIGNvcHBlciBsaW5lIGlzIHRvbyBsb25nIG9yIHRoZSBub2lzZSBvbgogICB0aGUgbGluZSBp cyB0b28gaGlnaCwgdGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwgdG8gYWNoaWV2ZSBh CiAgIHNwZWNpZmljIHRhcmdldCByYXRlIHdpdGggcmVxdWlyZWQgY2hhcmFjdGVyaXN0aWNzLgoK ICAgVGhlIGlmQWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMgdGhl IGRlc2lyZWQgc3RhdGUKICAgb2YgYSBQQ1Mgd2l0aCBhbGwgdGhlIFBNRXMgY29ubmVjdGVkIHRv IGl0IG9yIG9mIGFuIGluZGl2aWR1YWwgUE1FCiAgIHBvcnQuICBTZXR0aW5nIHRoaXMgb2JqZWN0 IHRvICd1cCcgaW5zdHJ1Y3RzIGEgcGFydGljdWxhciBQQ1Mgb3IgUE1FCiAgIHRvIHN0YXJ0IGlu aXRpYWxpemF0aW9uIHByb2Nlc3MsIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3IK ICAgRUZNQ3UgcG9ydHMsIGVzcGVjaWFsbHkgaWYgUEFGIGlzIGludm9sdmVkLiAgVGhlIGlmT3Bl clN0YXR1cyBvYmplY3QKICAgc2hvd3MgdGhlIG9wZXJhdGlvbmFsIHN0YXRlIG9mIGFuIGludGVy ZmFjZSAoZXh0ZW5kZWQgYnkKICAgaWZNYXVNZWRpYUF2YWlsYWJsZSBvYmplY3QgZnJvbSBNQVUt TUlCIGZvciBQQ1MgYW5kCiAgIGVmbUN1UG1lT3BlclN0YXR1cyBkZWZpbmVkIGluIHRoZSBFRk0t Q1UtTUlCIG1vZHVsZSBmb3IgUE1FCiAgIGludGVyZmFjZXMpLgoKICAgQSBkaXNjb25uZWN0ZWQg UE1FIG1heSBiZSBpbml0aWFsaXplZCBieSBjaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlCiAgIGZy b20gJ2Rvd24nIHRvICd1cCcuICBDaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlIHRvICd1cCcgb24g dGhlIFBDUwogICBpbml0aWFsaXplcyBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gdGhhdCBwYXJ0aWN1 bGFyIFBDUy4gIE5vdGUgdGhhdCBpbgogICBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5 IGZhaWwgdG8gaW5pdGlhbGl6ZSB3aGlsZSBvdGhlcnMKICAgc3VjY2VlZC4gIFRoZSBQQ1MgaXMg Y29uc2lkZXJlZCBvcGVyYXRpb25hbGx5ICd1cCcgaWYgYXQgbGVhc3Qgb25lCiAgIFBNRSBhZ2dy ZWdhdGVkIGJ5IGl0cyBQQUYgaXMgb3BlcmF0aW9uYWxseSAndXAnLiAgV2hlbiBhbGwgUE1Fcwog ICBjb25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lk ZXJlZAogICBvcGVyYXRpb25hbGx5ICdsb3dlckxheWVyRG93bicuICBUaGUgUENTIFNIQUxMIGJl IGNvbnNpZGVyZWQKICAgb3BlcmF0aW9uYWxseSAnbm90UHJlc2VudCcgaWYgaXQgaXMgbm90IGNv bm5lY3RlZCB0byBhbnkgUE1FLiAgVGhlCiAgIFBDUy9QTUUgaW50ZXJmYWNlIFNIQUxMIHJlbWFp biBvcGVyYXRpb25hbGx5ICdkb3duJyBkdXJpbmcKICAgaW5pdGlhbGl6YXRpb24uCgogICBUaGUg ZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGV4cGFu ZHMgUE1FJ3MKICAgaWZPcGVyU3RhdHVzIHZhbHVlIG9mICdkb3duJyB0byAnZG93blJlYWR5Jywg J2Rvd25Ob3RSZWFkeScgYW5kCiAgICdpbml0JyB2YWx1ZXMsIGluZGljYXRpbmcgdmFyaW91cyBF Rk1DdSBQTUUgc3BlY2lmaWMgc3RhdGVzLgoKMy4xLjUuICBVc2FnZSBvZiBpZlRhYmxlCgogICBC b3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUgbWFuYWdlZCB1 c2luZwogICBpbnRlcmZhY2Ugc3BlY2lmaWMgbWFuYWdlbWVudCBvYmplY3RzIGRlZmluZWQgaW4g dGhlIEVGTS1DVS1NSUIKICAgbW9kdWxlIGFuZCBnZW5lcmljIGludGVyZmFjZSBvYmplY3RzIGZy b20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoCiAgIGFsbCBtYW5hZ2VtZW50IHRhYmxlIGVu dHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4CiAgIGlmSW5kZXguCgogICBU aGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgRUZNQ3Ugc3BlY2lmaWMgaW50ZXJwcmV0YXRp b25zIGZvcgogICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVjdHMgc3BlY2lmaWVkIGJ5IHRoZSBt YW5kYXRvcnkKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAy MDA3ICAgICAgICAgICAgICAgIFtQYWdlIDldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgaWZHZW5l cmFsSW5mb3JtYXRpb25Hcm91cDoKCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwogICB8IElGLU1JQiBvYmplY3Qg fCBFRk1DdSBpbnRlcnByZXRhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAg Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCiAgIHwgaWZJbmRleCAgICAgICB8IEludGVyZmFjZSBpbmRleC4gTm90ZSB0 aGF0IGVhY2ggUE1FIGFuZCBlYWNoIFBDUyAgfAogICB8ICAgICAgICAgICAgICAgfCBpbiB0aGUg RUZNQ3UgUEhZIE1VU1QgaGF2ZSBhIHVuaXF1ZSBpbmRleCwgYXMgICAgIHwKICAgfCAgICAgICAg ICAgICAgIHwgdGhlcmUgYXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcyAg ICB8CiAgIHwgICAgICAgICAgICAgICB8IGFjY2Vzc2libGUgb25seSBvbiB0aGUgUENTIG9yIFBN RSBsZXZlbC4gICAgICAgICAgfAogICB8IGlmVHlwZSAgICAgICAgfCBldGhlcm5ldENzbWFjZCg2 KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvciAgICAgICAgIHwKICAgfCAgICAgICAgICAgICAgIHwg MkJBU0UtVEwgUE1FLCB2ZHNsKDk3KSBmb3IgMTBQQVNTLVRTIFBNRSAgICAgICAgICB8CiAgIHwg aWZTcGVlZCAgICAgICB8IE9wZXJhdGluZyBkYXRhIHJhdGUgZm9yIHRoZSBQTUUuIEZvciB0aGUg UENTIGl0ICAgfAogICB8ICAgICAgICAgICAgICAgfCBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50 IG9wZXJhdGluZyBkYXRhIHJhdGVzIG9mIHwKICAgfCAgICAgICAgICAgICAgIHwgYWxsIFBNRXMg aW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwLCB3aXRob3V0IHRoZSAgICB8CiAgIHwgICAgICAgICAg ICAgICB8IDY0LzY1QiBlbmNhcHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsICAg fAogICB8ICAgICAgICAgICAgICAgfCBidXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1l IEdhcHMgKElGRykgICAgIHwKICAgfCBpZkFkbWluU3RhdHVzIHwgU2V0dGluZyB0aGlzIG9iamVj dCB0byAndXAnIGluc3RydWN0cyBhICAgICAgICAgICB8CiAgIHwgICAgICAgICAgICAgICB8IHBh cnRpY3VsYXIgUENTICh3aXRoIGFsbCBQTUVzIGNvbm5lY3RlZCB0byBpdCkgb3IgfAogICB8ICAg ICAgICAgICAgICAgfCBQTUUgdG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2VzcyAgICAgICAg ICAgICAgIHwKICAgfCBpZk9wZXJTdGF0dXMgIHwgZWZtQ3VQbWVPcGVyU3RhdHVzIHN1cHBsZW1l bnRzIHRoZSAnZG93bicgdmFsdWUgICB8CiAgIHwgICAgICAgICAgICAgICB8IG9mIGlmT3BlclN0 YXR1cyBmb3IgUE1Fcy4gICAgICAgICAgICAgICAgICAgICAgICAgfAogICArLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZSAxCgozLjIuICBSZWxhdGlv biB0byBTSERTTCBNSUIgbW9kdWxlCgogICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWlsYXIgdG8g UE1FKHMpIGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUKICAgZGVzY3JpYmVkIGluIEhE U0wyLVNIRFNMLUxJTkUtTUlCIFtSRkM0MzE5XS4gIE5vdGUgdGhhdCBub3QgYWxsCiAgIGF0dHJp YnV0ZXMgb2YgRy5TSERTTCBtb2RlbXMgcmVmbGVjdGVkIGluIEhEU0wyLVNIRFNMLUxJTkUtTUlC IGhhdmUKICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRl cyBhbmQgQ2xhdXNlIDQ1CiAgIHJlZ2lzdGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4KCiAgIEJl Y2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxp Y2l0eSwKICAgdW5pZmljYXRpb24gb2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1U TCBhbmQgMTBQQVNTLVRTIFBNRXMKICAgYW5kIG5hbWUgY29uc2lzdGVuY3kgKGUuZy4gcHJlZml4 aW5nIHRoZSAyQkFTRS1UTCBQTUUgcmVsYXRlZCBvYmplY3RzCiAgIHdpdGggJ2VmbUN1UG1lMkIn IGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvCiAgIHJlZmVy ZW5jZSBIRFNMMi1TSERTTC1MSU5FLU1JQiBvYmplY3RzLCBidXQgZGVmaW5lIGFsbCB0aGUgcmVs ZXZhbnQKICAgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuCgogICBIb3dldmVyLCBp ZiBzb21lIGZ1bmN0aW9uYWxpdHksIG5vdCBhdmFpbGFibGUgaW4gdGhlIEVGTS1DVS1NSUIKICAg bW9kdWxlLCBpcyByZXF1aXJlZCBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBQTUUsIGUuZy4gcGVyZm9y bWFuY2UKICAgbW9uaXRvcmluZywgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIgZ3JvdXBz IE1BWSBiZSBpbmNsdWRlZCBhbmQKICAgYXBwbGllZCBmb3IgUE1FcyBvZiAyQkFTRS1UTCBzdWJ0 eXBlLgoKMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlCgogICBWRFNMIG1vZGVtcywg c2ltaWxhciB0byB0aGUgUE1FKHMpIGNvbXByaXNpbmcgYSAxMFBBU1MtVFMgcG9ydCwgYXJlCgoK CkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAg ICAgICAgIFtQYWdlIDEwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJm YWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgIGRlc2NyaWJlZCBpbiBWRFNM LUxJTkUtRVhULU1DTS1NSUIgW1JGQzQwNzBdLiAgTm90ZSB0aGF0IG5vdCBhbGwKICAgYXR0cmli dXRlcyBvZiBWRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4gVkRTTC1MSU5FLUVYVC1NQ00tTUlCIGhh dmUKICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRlcyBh bmQgQ2xhdXNlIDQ1CiAgIHJlZ2lzdGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4KCiAgIEJlY2F1 c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxpY2l0 eSwKICAgdW5pZmljYXRpb24gb2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1UTCBh bmQgMTBQQVNTLVRTIFBNRXMKICAgYW5kIG5hbWUgY29uc2lzdGVuY3ksIGl0IHdhcyBkZWNpZGVk IG5vdCB0byByZWZlcmVuY2UgVkRTTC1MSU5FLUVYVC0KICAgTUNNLU1JQiBvYmplY3RzLCBidXQg ZGVmaW5lIGFsbCB0aGUgcmVsZXZhbnQgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLQogICBNSUIgbW9k dWxlLgoKICAgSG93ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5LCBub3QgYXZhaWxhYmxlIGlu IHRoZSBFRk0tQ1UtTUlCCiAgIG1vZHVsZSwgaXMgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBieSB0 aGUgUE1FLCByZWxldmFudCBWRFNMLUxJTkUtRVhULQogICBNQ00tTUlCIGdyb3VwcyBNQVkgYmUg aW5jbHVkZWQgYW5kIGFwcGxpZWQgZm9yIFBNRXMgb2YgMTBQQVNTLVRTCiAgIHN1YnR5cGUuCgoz LjQuICBSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXMKCiAgIFRo ZSBpbXBsZW1lbnRhdGlvbiBvZiBFdGhlckxpa2UtTUlCIFtSRkMzNjM1XSBhbmQgTUFVLU1JQiBb SS1ELmlldGYtCiAgIGh1Ym1pYi1yZmMzNjM2YmlzXSBpcyBSRVFVSVJFRCBmb3IgdGhlIEVGTUN1 IGludGVyZmFjZXMuCgogICBUd28gbmV3IHZhbHVlcyBvZiBpZk1hdVR5cGUgKE9CSkVDVC1JREVO VElUSUVTIG9mIGRvdDNNYXVUeXBlKSBhbmQKICAgY29ycmVzcG9uZGluZyBiaXQgZGVmaW5pdGlv bnMgb2YgaWZNYXVUeXBlTGlzdEJpdHMKICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBi ZWVuIGRlZmluZWQgaW4gdGhlIElBTkEtTUFVLU1JQgogICBbSS1ELmlldGYtaHVibWliLXJmYzM2 MzZiaXNdIGZvciB0aGUgRUZNQ3UgTUFVczoKCiAgIG8gIGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQg YjJCYXNlVEwgLSBmb3IgMkJBU0UtVEwgTUFVCgogICBvICBkb3QzTWF1VHlwZTEwUGFzc1RTIGFu ZCBiMTBQYXNzVFMgLSBmb3IgMTBQQVNTLVRTIE1BVQoKICAgQWRkaXRpb25hbGx5IElBTkEtTUFV LU1JQiBkZWZpbmVzIHR3byBuZXcgdmFsdWVzIG9mCiAgIGlmTWF1TWVkaWFBdmFpbGFibGUsIGFz IGEgdGV4dHVhbCBjb252ZW50aW9uIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlCiAgIC0gYXZhaWxh YmxlUmVkdWNlZCBhbmQgcmVhZHksIHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLiAg RHVlCiAgIHRvIHRoZSBQTUUgYWdncmVnYXRpb24sIHRoZSBFRk1DdSBpbnRlcnByZXRhdGlvbiBv ZiBzb21lIHBvc3NpYmxlCiAgIGlmTWF1TWVkaWFBdmFpbGFibGUgdmFsdWVzIGRpZmZlcnMgZnJv bSBvdGhlciBNQVVzIGFzIGZvbGxvd3M6CgogICBvICB1bmtub3duIC0gdGhlIEVGTUN1IGludGVy ZmFjZSAoUENTIHdpdGggY29ubmVjdGVkIFBNRXMpIGlzCiAgICAgIGluaXRpYWxpemluZwoKICAg byAgcmVhZHkgLSB0aGUgaW50ZXJmYWNlIGlzIGRvd24sIGF0IGxlYXN0IG9uZSBQTUUgaW4gdGhl IGFnZ3JlZ2F0aW9uCiAgICAgIGdyb3VwIChhbGwgUE1FcyBjb25uZWN0ZWQgdG8gdGhlIFBDUykg aXMgcmVhZHkgZm9yIGhhbmRzaGFrZQoKICAgbyAgYXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBp cyB1cCwgYWxsIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwCiAgICAgIGFyZSB1cAoKICAg byAgbm90QXZhaWxhYmxlIC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhbGwgUE1FcyBpbiB0aGUg YWdncmVnYXRpb24KICAgICAgZ3JvdXAgYXJlIGRvd24sIG5vIGhhbmRzaGFrZSB0b25lcyBhcmUg ZGV0ZWN0ZWQgYnkgYW55IFBNRQoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTFdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgbyAgYXZhaWxhYmxlUmVkdWNlZCAtIHRoZSBpbnRlcmZhY2UgaXMgdXAsIGEgbGluayBm YXVsdCBpcyBkZXRlY3RlZAogICAgICBhdCB0aGUgcmVjZWl2ZSBkaXJlY3Rpb24gYnkgb25lIG9y IG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24KICAgICAgZ3JvdXAsIGJ1dCBhdCBsZWFzdCBv bmUgUE1FIGlzIHVwCgogICBvICBwbWRMaW5rRmF1bHQgLSBhIGxpbmsgZmF1bHQgaXMgZGV0ZWN0 ZWQgYXQgdGhlIHJlY2VpdmUgZGlyZWN0aW9uCiAgICAgIGJ5IGFsbCBQTUVzIGluIHRoZSBhZ2dy ZWdhdGlvbiBncm91cAoKICAgQXMgYW4gRXRoZXJMaWtlIGludGVyZmFjZSBldmVyeSBFRk1DdSBw b3J0IChhbiBpZkVudHJ5IHJlcHJlc2VudGluZyBhCiAgIGNvbnNvbGlkYXRpb24gb2YgTExDLCBN QUMgYW5kIFBDUyAoc3ViKWxheWVycykgU0hBTEwgcmV0dXJuIGFuIGlmVHlwZQogICBvZiBldGhl cm5ldENzbWFjZCg2KS4gIFdoaWxlIG1vc3Qgb2YgdGhlIE1BVSBjaGFyYWN0ZXJpc3RpY3MgYXJl IG5vdAogICBhcHBsaWNhYmxlIHRvIHRoZSBFRk1DdSBwb3J0cyAobm8gYXV0by1uZWdvdGlhdGlv biwgZmFsc2UgY2FycmllcnMgb3IKICAgamFiYmVyKSwgdGhleSBTSEFMTCByZXR1cm4gYW4gYXBw cm9wcmlhdGUgaWZNYXVUeXBlCiAgIChkb3QzTWF1VHlwZTJCYXNlVEwgb3IgZG90M21hdVR5cGUx MFBhc3NUUykgaW4gb3JkZXIgdG8gZGlyZWN0IHRoZQogICBtYW5hZ2VtZW50IHNvZnR3YXJlIHRv IGxvb2sgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGZvciB0aGUgZGVzaXJlZAogICBpbmZvcm1h dGlvbi4gIEZvciBleGFtcGxlIHRoZSBpbmZvcm1hdGlvbiBvbiB0aGUgcGFydGljdWxhciBFRk1D dQogICBmbGF2b3IgdGhhdCBhbiBFRk1DdSBwb3J0IGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZy b20KICAgZWZtQ3VPcGVyU3ViVHlwZSwgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUu CgogICBTaW5jZSBFRk1DdSBQTUVzIGFyZSBub3QgRXRoZXJMaWtlIGludGVyZmFjZXMsIHRoZXkg Y2Fubm90IGJlCiAgIGluc3RhbnRpYXRlZCBhcyBNQVUgaW50ZXJmYWNlIG9iamVjdHMuCgoKNC4g IE1JQiBTdHJ1Y3R1cmUKCjQuMS4gIEVGTSBDb3BwZXIgTUlCIE92ZXJ2aWV3CgogICBUaGUgbWFp biBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJl CiAgIHNwbGl0IGludG8gMiBncm91cHM6CgogICBvICBlZm1DdVBvcnQgLSBjb250YWluaW5nIG9i amVjdHMgZm9yIGNvbmZpZ3VyYXRpb24sIGNhcGFiaWxpdGllcywKICAgICAgc3RhdHVzIGFuZCBu b3RpZmljYXRpb25zLCBjb21tb24gdG8gYWxsIEVGTUN1IFBIWXMuCgogICBvICBlZm1DdVBtZSAt IGNvbnRhaW5pbmcgb2JqZWN0cyBmb3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLAogICAg ICBzdGF0dXMgYW5kIG5vdGlmaWNhdGlvbnMgb2YgRUZNQ3UgUE1Fcy4KCiAgIFRoZSBlZm1DdVBt ZSBncm91cCBpbiB0dXJuIGNvbnRhaW5zIGVmbUN1UG1lMkIgYW5kIGVmbUN1UG1lMTBQCiAgIGdy b3Vwcywgd2hpY2ggZGVmaW5lIFBNRSBQcm9maWxlcyBzcGVjaWZpYyB0byAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTCiAgIFBNRXMgcmVzcGVjdGl2ZWx5LCBhcyB3ZWxsIGFzIFBNRSBzcGVjaWZpYyBz dGF0dXMgaW5mb3JtYXRpb24uCgo0LjIuICBJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBNSUIg T3ZlcnZpZXcKCiAgIFRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVsZSBjb250YWlucyAyIHRhYmxl czoKCiAgIG8gIGlmQ2FwU3RhY2tUYWJsZSAtIGNvbnRhaW5pbmcgb2JqZWN0cyB0aGF0IGRlZmlu ZSBwb3NzaWJsZQogICAgICByZWxhdGlvbnNoaXBzIGFtb25nIHRoZSBzdWItbGF5ZXJzIG9mIGFu IGludGVyZmFjZSB3aXRoIGZsZXhpYmxlCiAgICAgIGNyb3NzLWNvbm5lY3QgKGNyb3NzLWNvbm5l Y3QgY2FwYWJpbGl0eSkuCgoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn dXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTJdCgwKSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoK ICAgbyAgaWZJbnZDYXBTdGFja1RhYmxlIC0gYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBzdGFja1Rh YmxlLgoKNC4zLiAgUE1FIFByb2ZpbGVzCgogICBTaW5jZSBhIG1hbmFnZWQgbm9kZSBjYW4gaGF2 ZSBhIGxhcmdlIG51bWJlciBvZiBFRk1DdSBQSFlzLAogICBwcm92aXNpb25pbmcgZXZlcnkgcGFy YW1ldGVyIG9uIGV2ZXJ5IEVGTUN1IFBIWSBtYXkgYmVjb21lCiAgIGJ1cmRlbnNvbWUuICBNb3Jl b3ZlciwgbW9zdCBQTUVzIGFyZSBwcm92aXNpb25lZCBpZGVudGljYWxseSB3aXRoIHRoZQogICBz YW1lIHNldCBvZiBwYXJhbWV0ZXJzLiAgVG8gc2ltcGxpZnkgdGhlIHByb3Zpc2lvbmluZyBwcm9j ZXNzLCB0aGUKICAgRUZNLUNVLU1JQiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZpZ3VyYXRpb24g cHJvZmlsZXMsIHNpbWlsYXIgdG8KICAgSERTTDItU0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElO RS1FWFQtTUNNLU1JQi4gIEEgcHJvZmlsZSBpcyBhIHNldAogICBvZiBwYXJhbWV0ZXJzLCB1c2Vk IGVpdGhlciBmb3IgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhCiAgIFBNRS4g IFRoZSBzYW1lIHByb2ZpbGUgY2FuIGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsIHVz aW5nIHRoZQogICBzYW1lIGNvbmZpZ3VyYXRpb24uCgogICBUaGUgUE1FIHByb2ZpbGVzIGFyZSBk ZWZpbmVkIGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgYW5kCiAgIGVmbUN1UG1lMTBQUHJvZmls ZVRhYmxlIGZvciAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMgcmVzcGVjdGl2ZWx5LgogICBU aGVyZSBhcmUgMTIgcHJlZGVmaW5lZCBzdGFuZGFyZCBwcm9maWxlcyBmb3IgMkJBU0UtVEwgYW5k IDIyCiAgIHN0YW5kYXJkIHByb2ZpbGVzIGZvciAxMFBBU1MtVFMsIGRlZmluZWQgaW4gODAyLjNh aCBhbmQgZGVkaWNhdGVkIGZvcgogICByYXBpZCBwcm92aXNpb25pbmcgb2YgRUZNQ3UgUEhZcyBp biBtb3N0IHNjZW5hcmlvcy4gIEluIGFkZGl0aW9uIHRoZQogICBFRk0tQ1UtTUlCIGRlZmluZXMg dHdvIGFkZGl0aW9uYWwgcHJlZGVmaW5lZCBwcm9maWxlcyBmb3IgImJlc3QtCiAgIGVmZm9ydCIg cHJvdmlzaW9uaW5nIG9mIDJCQVNFLVRMIFBNRXMuICBBbiBhYmlsaXR5IHRvIGRlZmluZSBuZXcK ICAgY29uZmlndXJhdGlvbiBwcm9maWxlcyBpcyBhbHNvIHByb3ZpZGVkIHRvIGFsbG93IGZvciBF Rk1DdSBkZXBsb3ltZW50CiAgIHRhaWxvcmVkIHRvIHNwZWNpZmljIGNvcHBlciBlbnZpcm9ubWVu dCBhbmQgc3BlY3RyYWwgcmVndWxhdGlvbnMuCgogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24g b3IgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhCiAgIHNwZWNpZmljIFBN RSB2aWEgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0LiAgSWYKICAgZWZtQ3VQbWVBZG1pblBy b2ZpbGUgaXMgemVybywgdGhlbiBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qgb2YgdGhlCiAgIFBD UyBwb3J0LCBjb25uZWN0ZWQgdG8gdGhlIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlv biBwcm9maWxlCiAgIChvciBhIGxpc3Qgb2YgcG9zc2libGUgcHJvZmlsZXMpIGZvciB0aGF0IFBN RS4gIFRoaXMgbWVjaGFuaXNtIGFsbG93cwogICB0byBzcGVjaWZ5IGEgY29tbW9uIHByb2ZpbGUo cykgZm9yIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGUgUENTCiAgIHBvcnQsIHdpdGggYW4gYWJp bGl0eSB0byBjaGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZwogICBlZm1D dVBtZUFkbWluUHJvZmlsZSBvYmplY3QsIHdoaWNoIG92ZXJ3cml0ZXMgdGhlIHByb2ZpbGUgc2V0 IGJ5CiAgIGVmbUN1QWRtaW5Qcm9maWxlLgoKICAgQSBjdXJyZW50IG9wZXJhdGluZyBQTUUgcHJv ZmlsZSBpcyBwb2ludGVkIHRvIGJ5IGVmbUN1UG1lT3BlclByb2ZpbGUKICAgb2JqZWN0LiAgTm90 ZSB0aGF0IHRoaXMgcHJvZmlsZSBlbnRyeSwgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwK ICAgdG8gcmVmbGVjdCBhY2hpZXZlZCBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQp CiAgIGluaXRpYWxpemF0aW9uLgoKNC40LiAgTWFwcGluZyBvZiBJRUVFIDgwMi4zYWggTWFuYWdl ZCBPYmplY3RzCgogICBUaGlzIHNlY3Rpb24gY29udGFpbnMgdGhlIG1hcHBpbmcgYmV0d2VlbiBy ZWxldmFudCBtYW5hZ2VkIG9iamVjdHMKICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gWzgwMi4z YWhdIENsYXVzZSAzMCwgYW5kIG1hbmFnZWQgb2JqZWN0cwogICBkZWZpbmVkIGluIHRoaXMgZG9j dW1lbnQgYW5kIGluIGFzc29jaWF0ZWQgTUlCIG1vZHVsZXMsIGkuZS4sIHRoZSBJRi0KICAgTUlC IFtSRkMyODYzXS4KCiAgIE5vdGUgdGhhdCBtYWpvcml0eSBvZiB0aGUgb2JqZWN0cyBkZWZpbmVk IGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBkbwogICBub3QgaGF2ZSBkaXJlY3QgY291bnRlcnBh cnRzIGluIENsYXVzZSAzMCBhbmQgaW5zdGVhZCByZWZlciB0byBDbGF1c2UKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgMTNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgNDUgcmVnaXN0ZXJzLgoKICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCiAgIHwgSUVFRSA4MDIuMyBNYW5hZ2VkIE9iamVjdCAgICAgICB8IENvcnJlc3BvbmRpbmcg U05NUCBPYmplY3QgICAgICAgfAogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKICAgfCBvTUFVIC0gQmFzaWMgUGFj a2FnZSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwg KE1hbmRhdG9yeSkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAogICB8IGFNQVVUeXBlICAgICAgICAgICAgICAgICAgICAgICAgfCBpZk1hdVR5 cGUgKE1BVS1NSUIpICAgICAgICAgICAgIHwKICAgfCBhTUFVVHlwZUxpc3QgICAgICAgICAgICAg ICAgICAgIHwgaWZNYXVUeXBlTGlzdEJpdHMgKE1BVS1NSUIpICAgICB8CiAgIHwgYU1lZGlhQXZh aWxhYmxlICAgICAgICAgICAgICAgICB8IGlmTWVkaWFBdmFpbGFibGUgKE1BVS1NSUIpICAgICAg fAogICB8IG9QQUYgLSBCYXNpYyBQYWNrYWdlICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwKICAgfCAoTWFuZGF0b3J5KSAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBBRklEICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGlmSW5kZXggKElGLU1JQikgICAgICAgICAgICAgICAgfAogICB8IGFQ aHlFbmQgICAgICAgICAgICAgICAgICAgICAgICAgfCBlZm1DdVBoeVNpZGUgICAgICAgICAgICAg ICAgICAgIHwKICAgfCBhUEhZQ3VycmVudFN0YXR1cyAgICAgICAgICAgICAgIHwgZWZtQ3VTdGF0 dXMgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAg ICAgICB8IGVmbUN1UEFGU3VwcG9ydGVkICAgICAgICAgICAgICAgfAogICB8IG9QQUYgLSBQTUUg QWdncmVnYXRpb24gUGFja2FnZSAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgfCAoT3B0aW9uYWwpICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgIHwgYVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICAgICB8IGVm bUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAgfAogICB8IGFMb2NhbFBBRkNhcGFjaXR5ICAg ICAgICAgICAgICAgfCBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgIHwKICAgfCBhTG9j YWxQTUVBdmFpbGFibGUgICAgICAgICAgICAgIHwgaWZDYXBTdGFja1RhYmxlICAgICAgICAgICAg ICAgICB8CiAgIHwgYUxvY2FsUE1FQWdncmVnYXRlICAgICAgICAgICAgICB8IGlmU3RhY2tUYWJs ZSAoSUYtTUlCKSAgICAgICAgICAgfAogICB8IGFSZW1vdGVQQUZTdXBwb3J0ZWQgICAgICAgICAg ICAgfCBlZm1DdVJlbW90ZVBBRlN1cHBvcnRlZCAgICAgICAgIHwKICAgfCBhUmVtb3RlUEFGQ2Fw YWNpdHkgICAgICAgICAgICAgIHwgZWZtQ3VSZW1vdGVQQUZDYXBhY2l0eSAgICAgICAgICB8CiAg IHwgYVJlbW90ZVBNRUFnZ3JlZ2F0ZSAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICB8IG9QTUUgLSAxMFAvMkIgUGFja2FnZSAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgfCAoTWFuZGF0b3J5KSAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBNRUlE ICAgICAgICAgICAgICAgICAgICAgICAgICB8IGlmSW5kZXggKElGLU1JQikgICAgICAgICAgICAg ICAgfAogICB8IGFQTUVBZG1pblN0YXRlICAgICAgICAgICAgICAgICAgfCBpZkFkbWluU3RhdGUg KElGLU1JQikgICAgICAgICAgIHwKICAgfCBhUE1FU3RhdHVzICAgICAgICAgICAgICAgICAgICAg IHwgZWZtQ3VQbWVTdGF0dXMgICAgICAgICAgICAgICAgICB8CiAgIHwgYVBNRVNOUk1nbiAgICAg ICAgICAgICAgICAgICAgICB8IGVmbUN1UG1lU25yTWduICAgICAgICAgICAgICAgICAgfAogICB8 IGFUQ0NvZGluZ1Zpb2xhdGlvbnMgICAgICAgICAgICAgfCBlZm1DdVBtZVRDQ29kaW5nRXJyb3Jz ICAgICAgICAgIHwKICAgfCBhVENDUkNFcnJvcnMgICAgICAgICAgICAgICAgICAgIHwgZWZtQ3VQ bWVUQ0NyY0Vycm9ycyAgICAgICAgICAgICB8CiAgIHwgYVByb2ZpbGVTZWxlY3QgICAgICAgICAg ICAgICAgICB8IGVmbUN1QWRtaW5Qcm9maWxlLCAgICAgICAgICAgICAgfAogICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCBlZm1DdVBtZUFkbWluUHJvZmlsZSAgICAgICAgICAg IHwKICAgfCBhT3BlcmF0aW5nUHJvZmlsZSAgICAgICAgICAgICAgIHwgZWZtQ3VQbWVPcGVyUHJv ZmlsZSAgICAgICAgICAgICB8CiAgIHwgYVBNRUZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgICAgICB8 IGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICAgfAogICB8IGFQTUVGRUNVbmNvcnJlY3Rh YmxlQmxvY2tzICAgICAgfCBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzIHwKICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGUgMgoKCjUu ICBJbnRlcmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMKCgogICBJRi1DQVAt U1RBQ0stTUlCIERFRklOSVRJT05TIDo6PSBCRUdJTgoKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMTRdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgICBJTVBPUlRTCiAgICAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVD VC1UWVBFLCBtaWItMgogICAgICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3 OAogICAgICAgVHJ1dGhWYWx1ZQogICAgICAgICBGUk9NIFNOTVB2Mi1UQyAgICAgICAgICAtLSBS RkMgMjU3OQogICAgICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUAogICAgICAgICBG Uk9NIFNOTVB2Mi1DT05GICAgICAgICAtLSBSRkMgMjU4MAogICAgICAgaWZTdGFja0dyb3VwMiwg aWZTdGFja0hpZ2hlckxheWVyLCBpZlN0YWNrTG93ZXJMYXllcgogICAgICAgICBGUk9NIElGLU1J QiAgICAgICAgICAgICAtLSBSRkMgMjg2MwogICAgICAgaWZJbnZTdGFja0dyb3VwCiAgICAgICAg IEZST00gSUYtSU5WRVJURUQtU1RBQ0stTUlCIC0tIFJGQyAyODY0CiAgICAgICA7CgogICAgIGlm Q2FwU3RhY2tNSUIgTU9EVUxFLUlERU5USVRZCiAgICAgICBMQVNULVVQREFURUQgIjIwMDcwMjE4 MDAwMFoiICAtLSBGZWJydWFyeSAxOCwgMjAwNwogICAgICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0 aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIKICAgICAgIENPTlRB Q1QtSU5GTwogICAgICAgICAiV0cgY2hhcnRlcjoKICAgICAgICAgICBodHRwOi8vd3d3LmlldGYu b3JnL2h0bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbAoKICAgICAgICAgTWFpbGluZyBM aXN0czoKICAgICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZwogICAg ICAgICAgIFRvIFN1YnNjcmliZTogaHVibWliLXJlcXVlc3RAaWV0Zi5vcmcKICAgICAgICAgICBJ biBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFpbF9hZGRyZXNzCgogICAgICAgICBDaGFpcjogIEJl cnQgV2lqbmVuCiAgICAgICAgIFBvc3RhbDogQWxjYXRlbC1MdWNlbnQKICAgICAgICAgICAgICAg ICBTY2hhZ2VuIDMzCiAgICAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuCiAgICAgICAg ICAgICAgICAgTmV0aGVybGFuZHMKICAgICAgICAgICAgVGVsOiArMzEtMzQ4LTQwNy03NzUKICAg ICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQoKICAgICAgICAgRWRpdG9y OiBFZHdhcmQgQmVpbGkKICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4KICAg ICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3MwogICAgICAgICAgICAgICAg IFBldGFjaC1UaWt2YSAxMDE3MwogICAgICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAg ICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxCiAgICAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFj dGVsaXMuY29tIgoKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJUaGUgb2JqZWN0cyBpbiB0 aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gZGVzY3JpYmUKICAgICAgICAgY3Jvc3MtY29ubmVj dCBjYXBhYmlsaXRpZXMgb2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywKICAgICAgICAg Y29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVkIGlu CiAgICAgICAgIElGLU1JQiBhbmQgSUYtSU5WRVJURUQtU1RBQ0stTUlCIHJlc3BlY3RpdmVseS4K CiAgICAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJz aW9uCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDE1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgIG9mIHRo aXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMKICAgICAgICAg aXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIgoKICAgICAgIFJFVklTSU9OICAgICIyMDA3 MDIxODAwMDBaIiAgLS0gRmVicnVhcnkgMTgsIDIwMDcKICAgICAgIERFU0NSSVBUSU9OICJJbml0 aWFsIHZlcnNpb24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iCgogICAgICAgICAtLSBFZE5vdGU6 IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmCiAgICAgICAgIC0tIHJl bW92ZSB0aGlzIG5vdGUKCiAgICAgICA6Oj0geyBtaWItMiBaWlogfQoKICAgICAgICAgLS0gRWRO b3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAgICAgICAtLSBh bGxvY2F0ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1v ZHVsZQogICAgICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUK ICAgICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQKCiAgICAgIGlmQ2FwU3Rh Y2tPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoK ICAgICAgaWZDYXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2Fw U3RhY2tNSUIgMiB9CgogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgICAgLS0KICAg ICAgLS0gaWZDYXBTdGFja1RhYmxlIGdyb3VwCiAgICAgIC0tCgogICAgICBpZkNhcFN0YWNrVGFi bGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFj a0VudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlzIHRhYmxlLCBt b2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwKICAgICAgICAgIGNvbnRhaW5z IGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJwogICAgICAgICAgcmVsYXRp b25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsKICAgICAg ICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3Jp YmVkIGluCiAgICAgICAgICBpZlN0YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlu cyBpbmZvcm1hdGlvbiBvbgogICAgICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2libHkg cnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyCiAgICAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRl cm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUKICAgICAgICAgIGRldmlj ZSwgd2hlcmUgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdwog ICAgICAgICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIg d2l0aCBpZkluZGV4CiAgICAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9u IHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgKICAgICAgICAgIGlmSW5kZXggdmFsdWUgeSwgdGhl biB0aGlzIHRhYmxlIGNvbnRhaW5zOgoKICAgICAgICAgICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9 dHJ1ZQoKICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2VzIG5vdCBleGlzdCBp ZiBpdCBpcyBpbXBvc3NpYmxlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE2XQoMCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoK CiAgICAgICAgICB0byBjb25uZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4KCiAg ICAgICAgICBOb3RlIHRoYXQgZm9yIG1vc3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNF LVRMKQogICAgICAgICAgdGhlcmUncyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBp bnRlcmZhY2UgKGUuZy4gUENTCiAgICAgICAgICBwb3J0KSBmb3IgZWFjaCBsb3dlci1sZXZlbCBp bnRlcmZhY2UgKGUuZy4gUE1FKSBhbmQgYXQKICAgICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZl bCBpbnRlcmZhY2UgZm9yIGVhY2ggaGlnaGVyLWxldmVsCiAgICAgICAgICBpbnRlcmZhY2UsIHRo YXQgaXMsIHRoZXJlIGlzIGF0IGxlYXN0IGEgc2luZ2xlIHJvdyB3aXRoIGEKICAgICAgICAgICd0 cnVlJyBzdGF0dXMgZm9yIGFueSBleGlzdGluZyB2YWx1ZSBvZiB4IG9yIHkuCgogICAgICAgICAg VGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQgZGVzY3JpYmVzIGRldmljZSBjYXBhYmlsaXR5 IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIgogICAg ICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQoKICAgICAgaWZDYXBTdGFja0VudHJ5ICBP QkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIElmQ2FwU3RhY2tFbnRyeQogICAgICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiSW5mb3JtYXRpb24gb24gYSBwYXJ0aWN1bGFyIHJl bGF0aW9uc2hpcCBiZXR3ZWVuIHR3bwogICAgICAgICAgc3ViLWxheWVycywgc3BlY2lmeWluZyB0 aGF0IG9uZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bgogICAgICAgICAgb24gJ3RvcCcgb2Yg dGhlIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMKICAgICAgICAg IHRvIGEgY29uY2VwdHVhbCByb3cgaW4gdGhlIGlmVGFibGUgKGludGVyZmFjZSBpbmRleCBmb3IK ICAgICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3RpdmVseSkuIgogICAgICAg IElOREVYIHsKICAgICAgICAgIGlmU3RhY2tIaWdoZXJMYXllciwKICAgICAgICAgIGlmU3RhY2tM b3dlckxheWVyCiAgICAgICAgfQogICAgICAgIDo6PSB7IGlmQ2FwU3RhY2tUYWJsZSAxIH0KCiAg ICAgIElmQ2FwU3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0UgewogICAgICAgICAgIGlmQ2FwU3RhY2tT dGF0dXMgICAgICAgVHJ1dGhWYWx1ZQogICAgICAgICB9CgogICAgICBpZkNhcFN0YWNrU3RhdHVz ICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBjYXBh YmlsaXR5JyByZWxhdGlvbnNoaXAKICAgICAgICAgIGJldHdlZW4gdHdvIHN1Yi1sYXllcnMuIFRo ZSBmb2xsb3dpbmcgdmFsdWVzIGNhbiBiZSByZXR1cm5lZDoKICAgICAgICAgICAgdHJ1ZSgxKSAg ICAgICAgIC0gaW5kaWNhdGVzIHRoYXQgdGhlIHN1Yi1sYXllciBpbnRlcmZhY2UsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVy IE1BWQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBjb25uZWN0ZWQgdG8gcnVuICdi ZWxvdycgdGhlIHN1Yi1sYXllcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcmZh Y2UsIGlkZW50aWZpZWQgYnkgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmU3Rh Y2tIaWdoZXJMYXllciBpbmRleC4KICAgICAgICAgICAgZmFsc2UoMikgICAgICAgIC0gdGhlIHN1 Yi1sYXllciBpbnRlcmZhY2VzIGNhbm5vdCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25uZWN0ZWQgdGVtcG9yYXJpbHkgZHVlIHRvCgoKCkJlaWxpICAgICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE3XQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNwoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5 IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b25lIG9mIHRoZSBpbnRlcmZhY2VzIGlzIGxvY2F0ZWQgb24gYW4KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYWJzZW50IHBsdWdnYWJsZSBtb2R1bGUuCgogICAgICAgICAgTm90ZSB0aGF0 IGxvd2VyLWxheWVyIGludGVyZmFjZSBhdmFpbGFiaWxpdHkgcGVyIGhpZ2hlci1sYXllciwKICAg ICAgICAgIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgJ3RydWUnLCBjYW4gYmUgY29uc3RyYWlu ZWQgYnkKICAgICAgICAgIG90aGVyIHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dy ZWdhdGlvbiBjYXBhY2l0eSBvZgogICAgICAgICAgYSBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlIG9y IGJ5IHRoZSBsb3dlci1sYXllciBpbnRlcmZhY2UgaW4KICAgICAgICAgIHF1ZXN0aW9uIGJlaW5n IGFscmVhZHkgY29ubmVjdGVkIHRvIGFub3RoZXIgaGlnaGVyLWxheWVyCiAgICAgICAgICBpbnRl cmZhY2UuIEluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IGEgcGFydGljdWxhciBzdWItbGF5ZXIgY2Fu CiAgICAgICAgICBiZSBjb25uZWN0ZWQgdG8gYW5vdGhlciBzdWItbGF5ZXIsIGFsbCByZXNwZWN0 aXZlIG9iamVjdHMKICAgICAgICAgIChlLmcuIGlmQ2FwU3RhY2tUYWJsZSwgaWZTdGFja1RhYmxl IGFuZCBlZm1DdVBBRkNhcGFjaXR5IGZvcgogICAgICAgICAgZm9yIEVGTUN1IGludGVyZmFjZXMp IFNIQUxMIGJlIGluc3BlY3RlZC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkIG9ubHks IHVubGlrZSBpZlN0YWNrU3RhdHVzLCBhcyBpdAogICAgICAgICAgZGVzY3JpYmVzIGEgY3Jvc3Mt Y29ubmVjdCBjYXBhYmlsaXR5LiIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrRW50cnkgMSB9Cgog ICAgICBpZkludkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg ICBTRVFVRU5DRSBPRiBJZkludkNhcFN0YWNrRW50cnkKICAgICAgICBNQVgtQUNDRVNTICAgIG5v dC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgICJBIHRhYmxlIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gb24gdGhlIHBv c3NpYmxlIHJlbGF0aW9uc2hpcHMKICAgICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1s YXllcnMgb2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzCiAgICAgICAgICB0YWJsZSwgbW9kZWxl ZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQogICAgICAgICAgSUYtSU5WRVJURUQtU1RBQ0st TUlCLCBpcyBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcFN0YWNrVGFibGUKICAgICAgICAgIGRlZmlu ZWQgaW4gdGhpcyBNSUIgbW9kdWxlLgogICAgICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJs ZSBjb250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaAogICAgICAgICAgc3ViLWxheWVycyBNQVkg cnVuICd1bmRlcm5lYXRoJyB3aGljaCBvdGhlciBzdWItbGF5ZXJzLCB3aGVyZQogICAgICAgICAg ZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZU YWJsZS4KICAgICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZklu ZGV4IHZhbHVlIHggTUFZIGJlCiAgICAgICAgICBjb25uZWN0ZWQgdG8gcnVuIHVuZGVybmVhdGgg dGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXggdmFsdWUKICAgICAgICAgIHksIHRoZW4gdGhpcyB0 YWJsZSBjb250YWluczoKCiAgICAgICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzLngueT10cnVl CgogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBv ZiByb3dzIGFzIHRoZQogICAgICAgICAgaWZDYXBTdGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBw ZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoKICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBv bmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QKICAgICAgICAgIGNhcGFiaWxpdHku IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlm SW52U3RhY2tUYWJsZSIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrT2JqZWN0cyAyIH0KCiAgICAg IGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICAgIElm SW52Q2FwU3RhY2tFbnRyeQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOF0KDApJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgog ICAgICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICJJbmZvcm1hdGlvbiBvbiBh IHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0KICAgICAgICAgICBsYXll cnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUK ICAgICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzIHRv IGEgY29uY2VwdHVhbAogICAgICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAgICAgSU5E RVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICAgICA6Oj0g eyBpZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBT RVFVRU5DRSB7CiAgICAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQog ICAgICAgfQoKICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5 CiAgICAgICAgU1RBVFVTICAgICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxp dHknCiAgICAgICAgICAgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi1sYXllcnMuCgogICAg ICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5j ZSBvZiB0aGUKICAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVzIG9iamVjdCwgYW5kIHZpY2UgdmVy c2EuIEZvciBleGFtcGxlLCBpZiB0aGUKICAgICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3Rh dHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlCiAgICAgICAgICAgaWZJbnZTdGFja1N0 YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4gIEluCiAgICAgICAgICAg YWRkaXRpb24sIHRoZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLgoK ICAgICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1vbmx5LCBhcyBp dCBkZXNjcmliZXMKICAgICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iCiAgICAg ICAgUkVGRVJFTkNFCiAgICAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiCiAgICAgICAgOjo9IHsg aWZJbnZDYXBTdGFja0VudHJ5IDEgfQoKICAgICAtLQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRl bWVudHMKICAgICAtLQoKICAgICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PQogICAgICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDEgfQoKICAgICAgaWZD YXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgICAgIHsgaWZD YXBTdGFja0NvbmZvcm1hbmNlIDIgfQoKICAgICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFuY2UKCiAg ICAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JPVVAKICAgICAgICBPQkpFQ1RTIHsKCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgMTldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0 dXMsCiAgICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzCiAgICAgICAgfQogICAgICAgIFNUQVRV UyAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9m IG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9uIHRoZQogICAgICAgICAgY3Jvc3MtY29u bmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFja2VkKSBuZXR3b3JrCiAgICAgICAg ICBpbnRlcmZhY2VzLiIKICAgICAgICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQoKCiAgICAg LS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICAgICBpZkNhcFN0YWNrQ29tcGxpYW5jZSBNT0RV TEUtQ09NUExJQU5DRQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQ VElPTgogICAgICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGll cywgd2hpY2ggcHJvdmlkZQogICAgICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5l Y3QgY2FwYWJpbGl0eSBvZiBtdWx0aS1sYXllcgogICAgICAgICAgKHN0YWNrZWQpIG5ldHdvcmsg aW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0CiAgICAgICAgICBiZXR3ZWVu IHRoZSBzdWItbGF5ZXJzLgogICAgICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcg ZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzCiAgICAgICAgICBpcyBSRVFVSVJFRDoKCiAg ICAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50CiAgICAg ICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAg ICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMKICAgICAgICAgIElGLUlOVkVS VEVELVNUQUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlIgoKCiAgICAgICAgTU9EVUxFICAtLSB0aGlz IG1vZHVsZQogICAgICAgICAgTUFOREFUT1JZLUdST1VQUyB7CiAgICAgICAgICAgIGlmQ2FwU3Rh Y2tHcm91cAogICAgICAgICAgfQoKICAgICAgICAgIE9CSkVDVCAgICAgICBpZkNhcFN0YWNrU3Rh dHVzCiAgICAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQogICAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBmYWxzZSgyKSB2YWx1 ZSBpcyBPUFRJT05BTCBmb3IKICAgICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcg cGx1Z2dhYmxlIGludGVyZmFjZXMuIgoKICAgICAgICAgIE9CSkVDVCAgICAgICBpZkludkNhcFN0 YWNrU3RhdHVzCiAgICAgICAgICBTWU5UQVggICAgICAgVHJ1dGhWYWx1ZSB7IHRydWUoMSkgfQog ICAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRoZSBmYWxzZSgy KSB2YWx1ZSBpcyBPUFRJT05BTCBmb3IKICAgICAgICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBv cnRpbmcgcGx1Z2dhYmxlIGludGVyZmFjZXMuIgoKICAgICAgICBNT0RVTEUgIElGLU1JQgogICAg ICAgICAgTUFOREFUT1JZLUdST1VQUyB7CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIwXQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICAgIGlmU3RhY2tHcm91cDIKICAgICAgICAgIH0KCiAgICAgICAgTU9E VUxFICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIKICAgICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgewog ICAgICAgICAgICBpZkludlN0YWNrR3JvdXAKICAgICAgICAgIH0KCiAgICAgICAgOjo9IHsgaWZD YXBTdGFja0NvbXBsaWFuY2VzIDEgfQogICBFTkQKCgoKCgo2LiAgRUZNIENvcHBlciBNSUIgRGVm aW5pdGlvbnMKCgogICBFRk0tQ1UtTUlCIERFRklOSVRJT05TIDo6PSBCRUdJTgoKICAgICBJTVBP UlRTCiAgICAgICBNT0RVTEUtSURFTlRJVFksIE9CSkVDVC1UWVBFLCBOT1RJRklDQVRJT04tVFlQ RSwgSW50ZWdlcjMyLAogICAgICAgVW5zaWduZWQzMiwgQ291bnRlcjMyLCBtaWItMgogICAgICAg ICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OAogICAgICAgVEVYVFVBTC1DT05W RU5USU9OLCBUcnV0aFZhbHVlLCBSb3dTdGF0dXMsIFBoeXNBZGRyZXNzCiAgICAgICAgIEZST00g U05NUHYyLVRDICAgICAgICAgIC0tIFJGQyAyNTc5CiAgICAgICBNT0RVTEUtQ09NUExJQU5DRSwg T0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAKICAgICAgICAgRlJPTSBTTk1QdjItQ09O RiAgICAgICAgLS0gUkZDIDI1ODAKICAgICAgIFNubXBBZG1pblN0cmluZwogICAgICAgICBGUk9N IFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQogICAgICAgaWZJbmRleCwgaWZTcGVlZAog ICAgICAgICBGUk9NIElGLU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2MwogICAgICAgOwoKICAg ICBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkKICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMTgw MDAwWiIgIC0tIEZlYnJ1YXJ5IDE4LCAyMDA3CiAgICAgICBPUkdBTklaQVRJT04gIklFVEYgRXRo ZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgICAgQ09OVEFD VC1JTkZPCiAgICAgICAgICJXRyBjaGFydGVyOgogICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5v cmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sCgogICAgICAgICBNYWlsaW5nIExp c3RzOgogICAgICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lvbjogaHVibWliQGlldGYub3JnCiAgICAg ICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZwogICAgICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKCiAgICAgICAgIENoYWlyOiAgQmVy dCBXaWpuZW4KICAgICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudAoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAy MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgICAgICAgIFNjaGFnZW4gMzMKICAgICAg ICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4KICAgICAgICAgICAgICAgICBOZXRoZXJsYW5k cwogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQogICAgICAgICBFLW1haWw6IGJ3aWpu ZW5AYWxjYXRlbC1sdWNlbnQuY29tCgogICAgICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQogICAg ICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgogICAgICAgICAgICAgICAgIDI1IEJh emVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEwMTcz CiAgICAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0 LTM0OTEKICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgogICAgICAg REVTQ1JJUFRJT04KICAgICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUg dXNlZCB0byBtYW5hZ2UKICAgICAgICAgdGhlIEV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIChF Rk0pIENvcHBlciAoRUZNQ3UpIEludGVyZmFjZXMKICAgICAgICAgMkJBU0UtVEwgYW5kIDEwUEFT Uy1UUywgZGVmaW5lZCBpbiBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0LAogICAgICAgICB3aGljaCBp cyBub3cgYSBwYXJ0IG9mIElFRUUgU3RkLiA4MDIuMy0yMDA1LgoKICAgICAgICAgVGhlIGZvbGxv d2luZyByZWZlcmVuY2VzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBNSUIgbW9kdWxlOgoKICAg ICAgICAgWzgwMi4zYWhdIHJlZmVycyB0bzoKICAgICAgICAgICBJRUVFIFN0ZCA4MDIuM2FoLTIw MDQ6ICdJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbgogICAgICAgICAgIHRlY2hub2xvZ3kg LSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlCiAgICAgICAgICAg YmV0d2VlbiBzeXN0ZW1zIC0gTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0K ICAgICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQogICAgICAgICAgIFBhcnQgMzogQ2Fy cmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24KICAgICAgICAgICBEZXRl Y3Rpb24gKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyCiAgICAgICAg ICAgU3BlY2lmaWNhdGlvbnMgLQogICAgICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENv bnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwKICAgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1l bnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJlciBBY2Nlc3MKICAgICAgICAgICBOZXR3b3Jrcycs IDA3IFNlcHRlbWJlciAyMDA0LgoKICAgICAgICAgT2YgcGFydGljdWxhciBpbnRlcmVzdCBhcmUg Q2xhdXNlIDYxLCAnUGh5c2ljYWwgQ29kaW5nCiAgICAgICAgIFN1YmxheWVyIChQQ1MpIGFuZCBj b21tb24gc3BlY2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZAogICAgICAgICB0eXBlIDJC QVNFLVRMJywgQ2xhdXNlIDMwLCAnTWFuYWdlbWVudCcsIENsYXVzZSA0NSwKICAgICAgICAgJ01h bmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8pIEludGVyZmFjZScsIEFubmV4IDYyQSwK ICAgICAgICAgJ1BNRCBwcm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXggNjNBLCAnUE1E IHByb2ZpbGVzIGZvcgogICAgICAgICAyQkFTRS1UTCcuCgogICAgICAgICBbRy45OTEuMl0gcmVm ZXJzIHRvOgogICAgICAgICAgIElUVS1UIFJlY29tbWVuZGF0aW9uIEcuOTkxLjI6ICdTaW5nbGUt cGFpciBIaWdoLXNwZWVkIERpZ2l0YWwKICAgICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNM KSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAyMDAzLgoKICAgICAgICAgW0FORlBdIHJlZmVycyB0 bzoKICAgICAgICAgICBOSUNDIERvY3VtZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlv biBvZiB0aGUgQWNjZXNzCiAgICAgICAgICAgTmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkg YXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjJdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFy eSAyMDA3CgoKICAgICAgICAgICBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2VzcyBOZXR3b3Jr LCcgQXVndXN0IDIwMDUuCgogICAgICAgICBOYW1pbmcgQ29udmVudGlvbnM6CiAgICAgICAgICAg QXRuICAgLSBBdHRlbnVhdGlvbgogICAgICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZpY2UKICAg ICAgICAgICBDUEUgICAtIEN1c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudAogICAgICAgICAgIEVG TSAgIC0gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUKICAgICAgICAgICBFRk1DdSAtIEVGTSBD b3BwZXIKICAgICAgICAgICBNRElPICAtIE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQKICAg ICAgICAgICBNZ24gICAtIE1hcmdpbgogICAgICAgICAgIFBBRiAgIC0gUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uCiAgICAgICAgICAgUEJPICAgLSBQb3dlciBCYWNrLU9mZgogICAgICAgICAgIFBD UyAgIC0gUGh5c2ljYWwgQ29kaW5nIFN1YmxheWVyCiAgICAgICAgICAgUE1EICAgLSBQaHlzaWNh bCBNZWRpdW0gRGVwZW5kZW50CiAgICAgICAgICAgUE1FICAgLSBQaHlzaWNhbCBNZWRpdW0gRW50 aXR5CiAgICAgICAgICAgUFNEICAgLSBQb3dlciBTcGVjdHJhbCBEZW5zaXR5CiAgICAgICAgICAg U05SICAgLSBTaWduYWwgdG8gTm9pc2UgUmF0aW8KICAgICAgICAgICBUQ1BBTSAtIFRyZWxsaXMg Q29kZWQgUHVsc2UgQW1wbGl0dWRlIE1vZHVsYXRpb24KCiAgICAgICAgIENvcHlyaWdodCAoQykg VGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJzaW9uCiAgICAgICAgIG9mIHRoaXMgTUlC IG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMKICAgICAgICAgaXRzZWxm IGZvciBmdWxsIGxlZ2FsIG5vdGljZXMuIgoKICAgICAgIFJFVklTSU9OICAgICIyMDA3MDIxODAw MDBaIiAgLS0gRmVicnVhcnkgMTgsIDIwMDcKICAgICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZl cnNpb24sIHB1Ymxpc2hlZCBhcyBSRkMgWFhYWC4iCgogICAgICAgICAtLSBFZE5vdGU6IFJlcGxh Y2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmCiAgICAgICAgIC0tIHJlbW92ZSB0 aGlzIG5vdGUKCiAgICAgICA6Oj0geyBtaWItMiBZWVkgfQoKICAgICAgICAgLS0gRWROb3RlOiBS ZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAgICAgICAtLSBhbGxvY2F0 ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1vZHVsZQoK ICAgICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU1JQiAx IH0KCiAgICAgIGVmbUN1Q29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VN SUIgMiB9CgogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgICAgZWZtQ3VQb3J0ICAg ICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMSB9CgogICAgICBlZm1D dVBtZSAgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAyIH0KCiAg ICAgIC0tIFRleHR1YWwgQ29udmVudGlvbnMKCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBF eHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIzXQoMCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNwoKCiAgICAgIEVmbVByb2ZpbGVJbmRleCA6Oj0gVEVYVFVBTC1DT05WRU5USU9OCiAg ICAgICAgRElTUExBWS1ISU5UICJkIgogICAgICAgIFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIHVuaXF1ZSB2YWx1ZSwgZ3JlYXRlciB0aGFuIHpl cm8sIGZvciBlYWNoIFBNRSBjb25maWd1cmF0aW9uCiAgICAgICAgICBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1IHBvcnQuIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQKICAgICAgICAgIHZhbHVl cyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5nIGZyb20gMS4gVGhlIHZhbHVlCiAg ICAgICAgICBmb3IgZWFjaCBwcm9maWxlIE1VU1QgcmVtYWluIGNvbnN0YW50IGF0IGxlYXN0IGZy b20gb25lCiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgZW50aXR5J3MgbmV0d29y ayBtYW5hZ2VtZW50IHN5c3RlbQogICAgICAgICAgdG8gdGhlIG5leHQgcmUtaW5pdGlhbGl6YXRp b24uIgogICAgICAgIFNZTlRBWCAgICAgICBVbnNpZ25lZDMyICgxLi4yNTUpCgogICAgICBFZm1Q cm9maWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTgogICAgICAgIERJU1BMQVkt SElOVCAiZCIKICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgYW4gZXh0ZW5zaW9uIG9mIEVm bVByb2ZpbGVJbmRleAogICAgICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEg Z3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZAogICAgICAgICAgdG8gaWRlbnRpZnkgYSBQTUUg cHJvZmlsZSBpbiB0aGUgbWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzCiAgICAgICAgICBleHRlbnNp b24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB6ZXJvLiBUaGUgdmFsdWUgb2YKICAg ICAgICAgIHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRoZXJlZm9yZSBiZSBkZWZp bmVkIGFzIHBhcnQKICAgICAgICAgIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdo aWNoIHVzZXMgdGhpcyBzeW50YXguCiAgICAgICAgICBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2Yg emVybyB2YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMKICAgICAgICAgIHdoZXJlIGN1cnJl bnQgb3BlcmF0aW9uYWwgcHJvZmlsZSBpcyB1bmtub3duLiIKICAgICAgICBTWU5UQVggICAgICAg VW5zaWduZWQzMiAoMC4uMjU1KQoKICAgICAgRWZtUHJvZmlsZUluZGV4TGlzdCA6Oj0gVEVYVFVB TC1DT05WRU5USU9OCiAgICAgICAgRElTUExBWS1ISU5UICIxZDoiCiAgICAgICAgU1RBVFVTICAg ICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlJlcHJlc2VudHMgYSBs aXN0IG9mIHVwIHRvIDYgRWZtUHJvZmlsZUluZGV4J3MuCiAgICAgICAgICBUaGUgRWZtUHJvZmls ZUluZGV4IHRleHR1YWwgY29udmVudGlvbiBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuCiAgICAgICAg ICB6ZXJvIHZhbHVlIHVzZWQgdG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZSBpbiB0aGUgbWFuYWdl ZCBFRk1DdQogICAgICAgICAgcG9ydC4gVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIGEgY29u Y2F0ZW5hdGlvbiBvZiBvbmUgb3IKICAgICAgICAgIG1vcmUgKHVwIHRvIDYpIG9jdGV0cywgd2hl cmUgZWFjaCBvY3RldCBjb250YWlucyBhbiA4LWJpdAogICAgICAgICAgRWZtUHJvZmlsZUluZGV4 IHZhbHVlLgogICAgICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleExpc3Qgc3BlY2lmaWVzIGEgbGlz dCBvZiBhbHRlcm5hdGl2ZQogICAgICAgICAgcHJvZmlsZXMsIGFueSBvZiB3aGljaCBjYW4gYmUg Y2hvc2VuIGZvciBjb25maWd1cmF0aW9uIG9mIGFuCiAgICAgICAgICBQTUUuIgogICAgICAgIFNZ TlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMS4uNikpCgogICAgICBFZm1UcnV0aFZhbHVl T3JVbmtub3duIDo6PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICAgICBTVEFUVVMgICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZlbnRp b24gaXMgYW4gZXh0ZW5zaW9uIG9mIHRoZSBUcnV0aFZhbHVlCiAgICAgICAgICBjb252ZW50aW9u LiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgKICAgICAgICAgIHBvc3Np YmxlIHZhbHVlcyBvZiB0cnVlKDEpIGFuZCBmYWxzZSgyKS4gVGhpcwogICAgICAgICAgZXh0ZW5z aW9uIHBlcm1pdHMgdGhlIGFkZGl0aW9uYWwgdmFsdWUgb2YgdW5rbm93bigwKSwgd2hpY2gKCgoK QmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAg ICAgICAgW1BhZ2UgMjRdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZh Y2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGNhbiBiZSByZXR1 cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3aGVuIGFuIGV4YWN0CiAgICAgICAg ICB0cnVlIG9yIGZhbHNlIHZhbHVlIG9mIHRoZSBvYmplY3QgY2Fubm90IGJlIGRldGVybWluZWQu IgogICAgICAgIFNZTlRBWCAgICAgICBJTlRFR0VSIHsgdW5rbm93bigwKSwgdHJ1ZSgxKSwgZmFs c2UoMikgfQoKICAgICAtLSBQb3J0IE5vdGlmaWNhdGlvbnMgR3JvdXAKCiAgICAgIGVmbUN1UG9y dE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQb3J0IDAgfQoKICAg ICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RT IHsKICAgICAgICAgIC0tIGlmSW5kZXggaXMgbm90IG5lZWRlZCBoZXJlIHNpbmNlIHdlIGFyZSB1 bmRlciBzcGVjaWZpYyBQQ1MKICAgICAgICAgIGlmU3BlZWQsCiAgICAgICAgICBlZm1DdVRocmVz aExvd1JhdGUKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERF U0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhl IEVGTUN1IHBvcnQnIGRhdGEgcmF0ZQogICAgICAgICAgaGFzIHJlYWNoZWQvZHJvcHBlZCBiZWxv dyBvciBleGNlZWRlZCB0aGUgbG93IHJhdGUgdGhyZXNob2xkLAogICAgICAgICAgc3BlY2lmaWVk IGJ5IGVmbUN1VGhyZXNoTG93UmF0ZS4KCiAgICAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkg YmUgc2VuZCBmb3IgdGhlIC1PIHN1YnR5cGUgcG9ydHMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtTykgd2hpbGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZwogICAgICAgICAg ZXZlbnQgaW4gYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCAocmF0ZSBpcyBhYm92ZSB0aGUK ICAgICAgICAgIHRocmVzaG9sZCkgdG8gbG93IChyYXRlIGVxdWFscyB0aGUgdGhyZXNob2xkIG9y IGJlbG93IGl0KSBhbmQKICAgICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmlj YXRpb24gaXMgbm90IGFwcGxpY2FibGUgdG8KICAgICAgICAgIHRoZSAtUiBzdWJ0eXBlcy4KCiAg ICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qg b2YgMi41IHNlYywKICAgICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0 aW9uIGFuZCBub3RpZmljYXRpb24sCiAgICAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50 IHNpbXVsdGFuZW91cyBMaW5rVXAvTGlua0Rvd24gYW5kCiAgICAgICAgICBlZm1DdUxvd1JhdGVD cm9zc2luZyBub3RpZmljYXRpb25zIHRvIGJlIHNlbnQuCgogICAgICAgICAgVGhlIGFkYXB0aXZl IG5hdHVyZSBvZiB0aGUgRUZNQ3UgdGVjaG5vbG9neSBhbGxvd3MgdGhlIHBvcnQgdG8KICAgICAg ICAgIGFkYXB0IGl0c2VsZiB0byB0aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50 LCBlLmcuCiAgICAgICAgICBhbiBpbXB1bHNlIG5vaXNlLCBhbGllbiBjcm9zc3RhbGsgb3IgYSBt aWNyby1pbnRlcnJ1cHRpb24gbWF5CiAgICAgICAgICB0ZW1wb3JhcmlseSBkcm9wIG9uZSBvciBt b3JlIFBNRXMgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdyb3VwLAogICAgICAgICAgY2F1c2luZyBhIHJh dGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZNQ3UgbGluay4KICAgICAgICAgIFRo ZSBkcm9wcGVkIFBNRXMgd291bGQgdGhlbiB0cnkgdG8gcmUtaW5pdGlhbGl6ZSwgcG9zc2libHkg YXQKICAgICAgICAgIGEgbG93ZXIgcmF0ZSB0aGFuIGJlZm9yZSwgYWRqdXN0aW5nIHRoZSByYXRl IHRvIHByb3ZpZGUKICAgICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIgbWFyZ2luLgoKICAgICAg ICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUK ICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgICAgOjo9 IHsgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyAxIH0KCiAgICAgIC0tIFBDUyBQb3J0IGdyb3VwCgog ICAgICBlZm1DdVBvcnRDb25mVGFibGUgT0JKRUNULVRZUEUKCgoKQmVpbGkgICAgICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjVdCgwK SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3CgoKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBv cnRDb25mRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRhYmxlIGZv ciBDb25maWd1cmF0aW9uIG9mIEVGTUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQogICAgICAg ICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQog ICAgICAgICAgcGVyc2lzdGVudCBtYW5uZXIiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0IDEgfQoK ICAgICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg RWZtQ3VQb3J0Q29uZkVudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJB biBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLgogICAgICAgICAg RWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRl eC4KICAgICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBh IHNpbmdsZQogICAgICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iCiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgICAg Ojo9IHsgZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQoKICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6 PQogICAgICAgIFNFUVVFTkNFIHsKICAgICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAg ICAgICAgIElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAg ICBQaHlzQWRkcmVzcywKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAg IEVmbVByb2ZpbGVJbmRleExpc3QsCiAgICAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAg ICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAg ICAgICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAg ICAgIFRydXRoVmFsdWUsCiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUgICAgICAgICAgICAg ICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAg VHJ1dGhWYWx1ZQogICAgICAgIH0KCiAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGVuYWJsZWQoMSksCiAg ICAgICAgICBkaXNhYmxlZCgyKQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9mIHRoZSBQQUYgb2YgdGhlIEVG TUN1IHBvcnQKICAgICAgICAgIChQQ1MpLgogICAgICAgICAgV2hlbiAnZGlzYWJsZWQnLCBQTUUg QWdncmVnYXRpb24gd2lsbCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQogICAgICAgICAgUENTLiBO byBtb3JlIHRoYW4gYSBzaW5nbGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0aGlzIFBDUyBpbgog ICAgICAgICAgdGhpcyBjYXNlLgogICAgICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3aWxsIGJl IHBlcmZvcm1lZCBieSB0aGUgUENTIHdoZW4gdGhlIGxpbmsKICAgICAgICAgIGlzIFVwLCBldmVu IG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwgaWYgUEFGIGlzIHN1cHBvcnRlZC4KCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgMjZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFBDUyBwb3J0cyBpbmNhcGFi bGUgb2Ygc3VwcG9ydGluZyBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YKICAgICAgICAgICdk aXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hBTEwgYmUgcmVqZWN0 ZWQuCgogICAgICAgICAgUEFGICdlbmFibGVkJyBwb3J0IHdpdGggbXVsdGlwbGUgUE1FcyBhc3Np Z25lZCBjYW5ub3QgYmUKICAgICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdkaXNhYmxl JyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsCiAgICAgICAgICB1bnRpbCBhdCBtb3N0IG9u ZSBQTUUgaXMgbGVmdCBhc3NpZ25lZC4KCiAgICAgICAgICBDaGFuZ2luZyBQQUZBZG1pblN0YXRl IGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlvbiBhbmQKICAgICAgICAgIGFzIHN1Y2gg U0hBTEwgYmUgZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uIEF0dGVtcHRzIHRvCiAgICAgICAg ICBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsgaXMgVXAg b3IKICAgICAgICAgIEluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRv IHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZBZG1pblN0YXRlLgoKICAgICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGVuYWJsZSBiaXQgaW4gdGhlIDEwUC8y QiBQQ1MgY29udHJvbAogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAgICAgVGhpcyBvYmplY3Qg TVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJFRkVS RU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDQ1LjIuMy4xOC4zIgogICAgICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAxIH0KCiAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSAg T0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkKICAg ICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBF Rk1DdSBwb3J0IChQQ1MpLgogICAgICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNl ZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0aW9uLAogICAgICAgICAgd2hlbiBQQUYgaXMgc3VwcG9y dGVkLgogICAgICAgICAgUENTIHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFM TCByZXR1cm4gYSB2YWx1ZSBvZgogICAgICAgICAgYWxsIHplcm9lcy4gQXR0ZW1wdHMgdG8gY2hh bmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkCiAgICAgICAgICBpbiB0aGlzIGNhc2Uu CiAgICAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIC1PIHN1 YnR5cGUgUENTIGJlZm9yZQogICAgICAgICAgd3JpdGluZyBvcGVyYXRpb25zIG9uIHRoZSBlZm1D dVBBRlJlbW90ZURpc2NvdmVyeUNvZGUKICAgICAgICAgIChTZXRfaWZfQ2xlYXIgYW5kIENsZWFy X2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1FcwogICAgICAgICAgYXNzb2NpYXRlZCB3aXRo IHRoZSBQQ1MuCiAgICAgICAgICBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB0aGlzIG9iamVjdCBmb3Ig LVIgc3VidHlwZSBwb3J0cyBhZnRlcgogICAgICAgICAgcmVzZXQgaXMgYWxsIHplcm9lcy4gRm9y IC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlzCiAgICAgICAgICBvYmplY3QgY2Fu bm90IGJlIGNoYW5nZWQgZGlyZWN0bHkuIFRoaXMgdmFsdWUgbWF5IGJlIGNoYW5nZWQKICAgICAg ICAgIGFzIGEgcmVzdWx0IG9mIHdyaXRpbmcgb3BlcmF0aW9uIG9uIHRoZQogICAgICAgICAgZWZt Q3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUgUE1FIG9mIC1PCiAgICAg ICAgICBzdWJ0eXBlLCBjb25uZWN0ZWQgdG8gb25lIG9mIHRoZSBsb2NhbCBQTUVzIGFzc29jaWF0 ZWQgd2l0aAogICAgICAgICAgdGhlIFBDUy4KCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hh bmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgMjddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3Ig aW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcgogICAgICAgICAgSW5pdGlh bGl6aW5nLgoKICAgICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUgbWFwcyB0byB0aGUgbG9j YWwgRGlzY292ZXJ5IGNvZGUKICAgICAgICAgIHZhcmlhYmxlIGluIFBBRiAobm90ZSB0aGF0IGl0 IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nCiAgICAgICAgICBDbGF1c2UgNDUgcmVnaXN0 ZXIpIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC4zLCA2 MS4yLjIuOC40LCA0NS4yLjYuNi4xIgogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAy IH0KCiAgICAgIGVmbUN1QWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbVByb2ZpbGVJbmRleExpc3QKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi RGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMgaW4g dGhlCiAgICAgICAgICBFRk1DdSBwb3J0LiBUaGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgcG9pbnRl cnMgdG8gZW50cmllcyBpbgogICAgICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUg b3IKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1 cnJlbnQKICAgICAgICAgIG9wZXJhdGluZyBTdWJUeXBlIG9mIHRoZSBFRk1DdSBwb3J0IGFzIGlu ZGljYXRlZCBieQogICAgICAgICAgZWZtQ3VQb3J0U2lkZS4KICAgICAgICAgIFRoZSB2YWx1ZSBv ZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mCiAgICAgICAgICBQ cm9maWxlcy4gSWYgdGhpcyBsaXN0IGNvbnNpc3RzIG9mIGEgc2luZ2xlIFByb2ZpbGUgaW5kZXgs CiAgICAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFM TCBiZSBjb25maWd1cmVkCiAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFByb2ZpbGUgcmVmZXJl bmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQKICAgICAgICAgIGlzIG92ZXJ3cml0dGVuIGJ5 IGNvcnJlc3BvbmRpbmcgbm9uLXplcm8gZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAgICAgICB3 aGljaCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuCiAgICAgICAgICBU aGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4LCBhbGxvd3MgZWFjaCBQ TUUKICAgICAgICAgIGluIHRoZSBwb3J0IHRvIGJlIGNvbmZpZ3VyZWQgYWNjb3JkaW5nIHRvIGFu eSBQcm9maWxlCiAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuCiAgICAgICAgICBCeSBk ZWZhdWx0IHRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIDB4MDEsIHJlZmVyZW5jaW5nIDFzdAog ICAgICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1DdVBtZTEwUFBy b2ZpbGVUYWJsZS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBhbmQgcmVhZGFi bGUgZm9yIHRoZSAtTyBzdWJ0eXBlCiAgICAgICAgICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8p IEVGTUN1IHBvcnRzLiBJdCBpcyB1bnN1cHBvcnRlZCBmb3IKICAgICAgICAgIHRoZSAtUiAgc3Vi dHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzLgoKICAgICAgICAgIE5vdGUgdGhh dCBjdXJyZW50IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQogICAg ICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QuCgogICAgICAgICAgTW9kaWZpY2F0aW9u IG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMKICAgICAg ICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVk LCBpZiB0aGUKICAgICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgogICAgICAgICAg QXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgbGlzdCB3aXRoIGEgbWVtYmVyCiAgICAg ICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0 aXZlIGVudHJ5CiAgICAgICAgICBpbiB0aGUgY29ycmVzcG9uZGluZyBwcm9maWxlIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjhdCgwKSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFy eSAyMDA3CgoKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4x LjYiCiAgICAgICAgREVGVkFMIHsgJzAxJ0ggfQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZF bnRyeSAzIH0KCiAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgIE9CSkVDVC1UWVBFCiAgICAgICAg U1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDB8OTk5OTk5KQogICAgICAgIFVOSVRTICAg ICAgICJLYnBzIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJEZXNpcmVkIEVGTUN1 IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRlIGluCiAgICAgICAgICBL YnBzLCB0byBiZSBhY2hpZXZlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIHVuZGVyIHNwZWN0cmFs CiAgICAgICAgICByZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvcgogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGggdGhlIGRlc2ly ZWQgU05SIE1hcmdpbiBzcGVjaWZpZWQgYnkKICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLgog ICAgICAgICAgSW4gY2FzZSBvZiBQQUYsIHRoaXMgb2JqZWN0IHJlcHJlc2VudHMgYSBzdW0gb2Yg aW5kaXZpZHVhbCBQTUUKICAgICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBlbnNh dGUgZm9yIGZyYWdtZW50YXRpb24gYW5kCiAgICAgICAgICA2NC82NUIgZnJhbWluZyBvdmVyaGVh ZCAoZS5nLiB0YXJnZXQgZGF0YSByYXRlIG9mIDEwTWJwcwogICAgICAgICAgU0hBTEwgYWxsb3cg bG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwtZHVwbGV4IDEwTWJwcwogICAgICAgICAgRXRo ZXJuZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLgoKICAgICAg ICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEwME1icHMgYXMgdGhpcyBpcyB0aGUg bWF4CiAgICAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLgoKICAg ICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAwMCBpbmRpY2F0ZXMgdGhhdCB0aGUg dG90YWwgZGF0YQogICAgICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0 ZXIgaW5pdGlhbGl6YXRpb24gU0hBTEwKICAgICAgICAgIGJlIGVxdWFsIHRvIHRoZSB0YXJnZXQg ZGF0YSByYXRlIG9yIGxlc3MsIGlmIHRoZSB0YXJnZXQgZGF0YQogICAgICAgICAgcmF0ZSBjYW5u b3QgYmUgYWNoaWV2ZWQgdW5kZXIgc3BlY3RyYWwgcmVzdHJpY3Rpb25zIHNwZWNpZmllZAogICAg ICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGgg ZGVzaXJlZCBTTlIKICAgICAgICAgIG1hcmdpbi4gSW4gY2FzZSB0aGUgY29wcGVyIGVudmlyb25t ZW50IGFsbG93cyB0byBhY2hpZXZlCiAgICAgICAgICBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRo YW4gdGhhdCBzcGVjaWZpZWQgYnkgdGhlIHRhcmdldCwgdGhlCiAgICAgICAgICBleGNlc3MgY2Fw YWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SCiAgICAg ICAgICBtYXJnaW4gb3IgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQgcG93ZXIgYXMg Y29udHJvbGxlZAogICAgICAgICAgYnkgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEuCgogICAgICAgICAg VGhlIHZhbHVlIG9mIDk5OTk5OSBtZWFucyB0aGF0IHRoZSB0YXJnZXQgZGF0YSByYXRlIGlzIG5v dAogICAgICAgICAgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5h YmxlIHJhdGUgZHVyaW5nCiAgICAgICAgICBpbml0aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1 bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwKICAgICAgICAgIHJlc3RyaWN0aW9ucyBhbmQgd2l0aCBk ZXNpcmVkIFNOUiBNYXJnaW4uCgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBm b3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNz VFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4KCiAgICAgICAgICBD aGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRo ZQogICAgICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3Qg TVVTVCBiZSByZWplY3RlZAogICAgICAgICAgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJv ciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQogICAgICAgICAgbGluayBpcyBVcCBvciBJbml0 aWFsaXppbmcuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDI5XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg RUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAg ICBOb3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVz ZW50ZWQKICAgICAgICAgIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICAgICBU aGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDQgfQoKICAgICAgZWZtQ3VUYXJnZXRTbnJN Z24gIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi4yMSkKICAg ICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkRl c2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQTUVzCiAg ICAgICAgICBhc3NpZ25lZCB0byB0aGUgcG9ydCwgZHVyaW5nIGluaXRpYWxpemlhdGlvbi4gKFRo ZSBTTlIgbWFyZ2luCiAgICAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNp cmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLgoKICAgICAgICAgIE5vdGUgdGhhdCA4MDIuM2Fo IHJlY29tbWVuZHMgdXNpbmcgZGVmYXVsdCBUYXJnZXQgU05SIE1hcmdpbgogICAgICAgICAgb2Yg NWRCIGZvciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3Jk ZXIKICAgICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4t NyBhdCB0aGUgUE1BCiAgICAgICAgICBzZXJ2aWNlIGludGVyZmFjZS4KCiAgICAgICAgICBUaGlz IG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAg ICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1S IHN1YnR5cGVzLgoKICAgICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgU05SIE1hcmdpbiBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQogICAgICAgICAgbGluayBpcyBEb3duLiBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZAogICAgICAgICAgKGluIGNh c2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZQogICAg ICAgICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCgogICAgICAgICAgTm90ZSB0aGF0IGN1 cnJlbnQgU05SIE1hcmdpbiBvZiB0aGUgUE1FcyBjb21wcmlzaW5nIHRoZSBFRk1DdQogICAgICAg ICAgcG9ydCBpcyByZXByZXNlbnRlZCBieSBlZm1DdVBtZVNuck1nbi4KCiAgICAgICAgICBUaGlz IG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAg ICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEuMiIKICAgICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgNSB9CgogICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElP TgogICAgICAgICAgIkluZGljYXRlcyBob3cgdG8gdXRpbGl6ZSBleGNlc3MgY2FwYWNpdHkgd2hl biB0aGUgY29wcGVyCiAgICAgICAgICBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdo ZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhhdAogICAgICAgICAgc3BlY2lmaWVkIGJ5IHRoZSBl Zm1DdVRhcmdldERhdGFSYXRlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlCiAgICAgICAgICByZWNsYWltZWQg YnkgbWluaW1pemluZyB0cmFuc21pdCBwb3dlciwgZS5nLiB1c2luZyBoaWdoZXIKCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgMzBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGNvbnN0ZWxsYXRpb25zIGFu ZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgICAgICBpbnRlcmZlcmVu Y2UgdG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZQogICAgICAgICAg YWR2ZXJzZSBpbXBhY3QgdG8gbGluay9zeXN0ZW0gcGVyZm9ybWFuY2UuCgogICAgICAgICAgVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxM CiAgICAgICAgICBiZSBjb252ZXJ0ZWQgdG8gYWRkaXRpb25hbCBTTlIgbWFyZ2luIGFuZCBzcHJl YWQgZXZlbmx5IGFjcm9zcwogICAgICAgICAgYWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRo ZSAoUENTKSBwb3J0LCB0byBpbmNyZWFzZSBsaW5rCiAgICAgICAgICByb2J1c3RuZXNzLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxl IGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3Qg TVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgICAgRG93bi4gQXR0ZW1w dHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2UKICAgICAg ICAgIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGlu ayBpcyBVcAogICAgICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgNiB9CgogICAgICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVD VC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgICAg VU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMg b2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jvc3NpbmcgYWxhcm0K ICAgICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZv ciB0aGlzIHBvcnQKICAgICAgICAgIHJlYWNoZXMvZHJvcHMgYmVsb3cgb3IgZXhjZWVkcyB0aGlz IHRocmVzaG9sZCwgYW4KICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlv biBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQKICAgICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNy b3NzaW5nRW5hYmxlLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRo ZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgVGhpcyBv YmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAg IDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRl Q3Jvc3Npbmcgbm90aWZpY2F0aW9ucyBzaG91bGQKICAgICAgICAgIGJlIGdlbmVyYXRlZCBmb3Ig dGhpcyBpbnRlcmZhY2UuCgogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhh dCBlZm1DdUxvd1JhdGVDcm9zc2luZwogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQu IFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CgoKCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMxXQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNwoKCiAgICAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLgoK ICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVG TUN1IHBvcnRzCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxh YmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIDo6PSB7IGVmbUN1UG9y dENvbmZFbnRyeSA4IH0KCgogICAgICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDYXBhYmlsaXR5RW50 cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRhYmxlIGZvciBDYXBhYmls aXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNTLVRTIChQQ1MpCiAgICAgICAgICBQb3J0cy4g RW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhCiAgICAgICAgICBw ZXJzaXN0ZW50IG1hbm5lciIKICAgICAgICA6Oj0geyBlZm1DdVBvcnQgMiB9CgogICAgICBlZm1D dVBvcnRDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1D dVBvcnRDYXBhYmlsaXR5RW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAg IkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUuCiAgICAgICAgICBF YWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4 LgogICAgICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEg c2luZ2xlCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28g aW5kZXhlZCBieSBpZkluZGV4LiIKICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICAgICA6 Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgMSB9CgogICAgICBFZm1DdVBvcnRDYXBhYmls aXR5RW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQQUZTdXBwb3J0 ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwKICAgICAgICAgIGVmbUN1UGVlclBBRlN1cHBv cnRlZCAgICAgICAgICAgIEVmbVRydXRoVmFsdWVPclVua25vd24sCiAgICAgICAgICBlZm1DdVBB RkNhcGFjaXR5ICAgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMgogICAgICAgIH0KCiAgICAgIGVmbUN1 UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUK ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24g KFBBRikgQ2FwYWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgICAgKFBDUykuCiAgICAg ICAgICBUaGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiB0cnVlKDEpIHdoZW4gdGhlIFBDUyBjYW4g cGVyZm9ybQogICAgICAgICAgUE1FIGFnZ3JlZ2F0aW9uIG9uIHRoZSBhdmFpbGFibGUgUE1Fcy4K CgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMzJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRl cmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFBvcnRzIGlu Y2FwYWJsZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuCgogICAgICAg ICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGU3VwcG9y dGVkLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwKICAgICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUEFGIGF2 YWlsYWJsZSBiaXQgaW4gdGhlCiAgICAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4x LjQsIDQ1LjIuMy4xNy4xIgogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAx IH0KCiAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCAgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIENhcGFiaWxpdHkgb2YgdGhlIEVG TUN1IHBvcnQKICAgICAgICAgIChQQ1MpIGxpbmsgcGFydG5lci4KICAgICAgICAgIFRoaXMgb2Jq ZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBDUyBjYW4KICAgICAg ICAgIHBlcmZvcm0gUE1FIGFnZ3JlZ2F0aW9uIG9uIGl0cyBhdmFpbGFibGUgUE1Fcy4KICAgICAg ICAgIFBvcnRzIHdob3NlIHBlZXJzIGFyZSBpbmNhcGFibGUgb2YgUEFGLCBTSEFMTCByZXR1cm4g YSB2YWx1ZQogICAgICAgICAgb2YgZmFsc2UoMikuCiAgICAgICAgICBQb3J0cyB3aG9zZSBwZWVy cyBjYW5ub3QgYmUgcmVhY2hlZCBiZWNhdXNlIG9mIHRoZSBsaW5rCiAgICAgICAgICBzdGF0ZSwg U0hBTEwgcmV0dXJuIGEgdmFsdWUgaWYgdW5rbm93bigwKS4KCiAgICAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUmVtb3RlUEFGU3Vw cG9ydGVkLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ Q1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgUmVt b3RlIFBBRiBzdXBwb3J0ZWQgYml0IGluIHRoZQogICAgICAgICAgMTBQLzJCIGNhcGFiaWxpdHkg cmVnaXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIs IDMwLjExLjEuMS45LCA0NS4yLjMuMTcuMiIKICAgICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmls aXR5RW50cnkgMiB9CgogICAgICBlZm1DdVBBRkNhcGFjaXR5ICBPQkpFQ1QtVFlQRQogICAgICAg IFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDEuLjMyKQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2Fs IFBBRi4KICAgICAgICAgIFRoZSBudW1iZXIgb2YgUE1FcyBjdXJyZW50bHkgYXNzaWduZWQgdG8g YSBwYXJ0aWN1bGFyCiAgICAgICAgICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5ldmVy IGdyZWF0ZXIgdGhhbgogICAgICAgICAgZWZtQ3VQQUZDYXBhY2l0eS4KCiAgICAgICAgICBUaGlz IG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhTG9jYWxQ QUZDYXBhY2l0eS4iCiAgICAgICAgUkVGRVJFTkNFCgoKCkJlaWxpICAgICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMzXQoMCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNwoKCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQoKICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAo MHwxLi4zMikKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJOdW1iZXIgb2YgUE1FcyB0 aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRoZSBQQUYgb2YgdGhlIHBlZXIKICAgICAgICAgIFBo eSAoUENTIHBvcnQpLgogICAgICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBlZXIg UEFGIENhcGFjaXR5IGlzIHVua25vd24KICAgICAgICAgIChwZWVyIGNhbm5vdCBiZSByZWFjaGVk KS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRl CiAgICAgICAgICBhUmVtb3RlUEFGQ2FwYWNpdHkuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAg ICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCIKICAgICAgICA6Oj0geyBlZm1DdVBv cnRDYXBhYmlsaXR5RW50cnkgNCB9CgoKICAgICAgZWZtQ3VQb3J0U3RhdHVzVGFibGUgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRTdGF0dXNFbnRy eQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRl cyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQogICAgICAgICAgMkJBU0UtVEwv MTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1cwogICAgICAg ICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFibGUg b2YKICAgICAgICAgIE1BVS1NSUIuIEFkZGl0aW9uYWwgc3RhdHVzIGluZm9ybWF0aW9uIGFib3V0 IGNvbm5lY3RlZCBQTUVzCiAgICAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBlZm1DdVBtZVN0YXR1 c1RhYmxlLgoKICAgICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhl IGVxdWlwbWVudC4gQXMgc3VjaCwKICAgICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiIKICAg ICAgICA6Oj0geyBlZm1DdVBvcnQgMyB9CgogICAgICBlZm1DdVBvcnRTdGF0dXNFbnRyeSBPQkpF Q1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5CiAgICAgICAg TUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBT dGF0dXMgdGFibGUuCiAgICAgICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9y dCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LgogICAgICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBD UyBwb3J0IHJ1bnMgb24gdG9wIG9mIGEgc2luZ2xlCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUg cG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIKICAgICAgICBJTkRF WCAgeyBpZkluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0KCiAg ICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6PQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAzNF0KDApJbnRlcm5l dC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1 YXJ5IDIwMDcKCgogICAgICAgIFNFUVVFTkNFIHsKICAgICAgICAgIGVmbUN1Rmx0U3RhdHVzICAg ICAgICAgICAgICAgICAgIEJJVFMsCiAgICAgICAgICBlZm1DdVBvcnRTaWRlICAgICAgICAgICAg ICAgICAgICBJTlRFR0VSLAogICAgICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAgICAgICAg ICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1UEFGSW5FcnJvcnMgICAgICAgICAgICAgICAg IENvdW50ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAgICAgIENv dW50ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwKICAgICAgICAgIGVmbUN1UEFGSW5CYWRGcmFnbWVudHMgICAgICAgICAgIENvdW50ZXIz MiwKICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwK ICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzICAgICAgICAgICAgIENvdW50ZXIzMiwKICAg ICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyAgICAgICAgICAgICAgIENvdW50ZXIzMiwKICAgICAg ICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMgogICAgICAgIH0K CiAgICAgIGVmbUN1Rmx0U3RhdHVzICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEJJ VFMgewogICAgICAgICAgbm9QZWVyKDApLAogICAgICAgICAgcGVlclBvd2VyTG9zcygxKSwKICAg ICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwKICAgICAgICAgIGxvd1JhdGUoMykKICAgICAg ICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUKICAgICAgICAgIGNvbmRpdGlv bnMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgogICAgICAgICAgICBub1BlZXIgICAg ICAgICAgICAgIC0gcGVlciBQSFkgY2Fubm90IGJlIHJlYWNoZWQgKGUuZy4KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3du CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldGMuKSBNb3JlIGluZm8gaXMgYXZh aWxhYmxlIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZm1DdVBtZUZsdFN0 YXR1cy4KICAgICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRp Y2F0ZWQgaW1wZW5kaW5nIHVuaXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh aWx1cmUgZHVlIHRvIGxvc3Mgb2YgbG9jYWwgcG93ZXIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICgnRHlpbmcgR2FzcCcpLgogICAgICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2gg IC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGFyZSBub3Qgb2YgdGhlIHNhbWUgc3ViLXR5cGUsIGUuZy4KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbWUgUE1FcyBpbiB0aGUgbG9jYWwgZGV2aWNl IGFyZSAtTwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFy ZSAtUiBzdWJ0eXBlLgogICAgICAgICAgICBsb3dSYXRlICAgICAgICAgICAgIC0gaWZTcGVlZCBv ZiB0aGUgcG9ydCByZWFjaGVkIG9yIGRyb3BwZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJlbG93IGVmbUN1VGhyZXNoTG93UmF0ZQoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IGludGVuZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIG9iamVjdAogICAgICAgICAgaW4g SUYtTUlCIGFuZCBpZk1hdU1lZGlhQXZhaWxhYmxlIGluIE1BVS1NSUIuCgogICAgICAgICAgQWRk aXRpb25hbCBpbmZvcm1hdGlvbiBpcyBhdmFpbGFibGUgdmlhIGVmbUN1UG1lRmx0U3RhdHVzCiAg ICAgICAgICBvYmplY3QgZm9yIGVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cCAoc2lu Z2xlIFBNRSBpZgogICAgICAgICAgUEFGIGlzIGRpc2FibGVkKS4iCiAgICAgICAgUkVGRVJFTkNF CiAgICAgICAgICAiSUYtTUlCLCBpZk9wZXJTdGF0dXM7IE1BVS1NSUIsIGlmTWF1TWVkaWFBdmFp bGFibGU7CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDM1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICAg ZWZtQ3VQbWVGbHRTdGF0dXMiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMSB9 CgogICAgICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIElO VEVHRVIgewogICAgICAgICAgc3Vic2NyaWJlcigxKSwKICAgICAgICAgIG9mZmljZSgyKSwKICAg ICAgICAgIHVua25vd24oMykKICAgICAgICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLgogICAgICAgICAgVGhlIHZh bHVlIG9mICdzdWJzY3JpYmVyJyBpbmRpY2F0ZXMgdGhlIHBvcnQgaXMgZGVzaWduYXRlZCBhcwog ICAgICAgICAgJy1SJyBzdWJ0eXBlIChhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIHBvcnQgYXJl IG9mIHN1YnR5cGUKICAgICAgICAgICctUicpLgogICAgICAgICAgVGhlIHZhbHVlIG9mIHRoZSAn b2ZmaWNlJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBpcwogICAgICAgICAgZGVzaWduYXRlZCBh cyAnLU8nIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUKICAgICAg ICAgIG9mIHN1YnR5cGUgJy1PJykuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgJ3Vua25vd24nIGlu ZGljYXRlcyB0aGF0IHRoZSBwb3J0IGhhcyBubyBhc3NpZ25lZAogICAgICAgICAgUE1FcyB5ZXQg b3IgdGhhdCB0aGUgYXNzaWduZWQgUE1FcyBhcmUgbm90IG9mIHRoZSBzYW1lIHNpZGUKICAgICAg ICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxs eSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUGh5RW5kIgogICAg ICAgIFJFRkVSRU5DRQogICAgICAgICAgICJbODAyLjNhaF0gNjEuMSwgMzAuMTEuMS4xLjIiCiAg ICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMiB9CgogICAgICBlZm1DdU51bVBNRXMg IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpCiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBpcyBjdXJyZW50 bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGCiAgICAgICAgICAoYXNzaWduZWQgdG8gdGhl IEVGTUN1IHBvcnQgdXNpbmcgaWZTdGFja1RhYmxlKS4KICAgICAgICAgIFRoaXMgbnVtYmVyIGlz IG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNhcGFjaXR5LgoKICAgICAgICAgIFRoaXMgb2Jq ZWN0IFNIQUxMIGJlIGF1dG9tYXRpY2FsbHkgaW5jcmVtZW50ZWQgb3IgZGVjcmVtZW50ZWQKICAg ICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVsZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBw b3J0IHVzaW5nCiAgICAgICAgICBpZlN0YWNrVGFibGUuIgogICAgICAgIFJFRkVSRU5DRQogICAg ICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42IgogICAgICAgIDo6PSB7IGVmbUN1 UG9ydFN0YXR1c0VudHJ5IDMgfQoKICAgICAgZWZtQ3VQQUZJbkVycm9ycyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSAzNl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGZy YWdtZW50cyB0aGF0IGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlCiAgICAgICAgICBnYW1t YSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQgZGlzY2FyZGVkLgogICAgICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVu IHRoZQogICAgICAgICAgUEFGIGlzIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUKICAgICAgICAgIGNvdW50ZXIgcmV0YWlucyBpdHMgcHJldmlvdXMg dmFsdWUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAv MkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0 aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAg ICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0 eVRpbWUsCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAg ICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMSIKICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0 dXNFbnRyeSA0IH0KCiAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWluRnJhZ21lbnRTaXplCiAg ICAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZSBn YW1tYQogICAgICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAgICAgICBUaGlzIHJl YWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgICAgdW5z dXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVy CiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAg ICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwgZnJhZ21lbnRzCiAg ICAgICAgICByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBh cyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAog ICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjIiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkg NSB9CgogICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MzddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMg bGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplCiAgICAgICAgICAoNTEyIEJ5dGVzKSwgd2hpY2gg aGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEKICAgICAgICAgIGludGVyZmFjZSBh bmQgZGlzY2FyZGVkLgogICAgICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2 ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9u IGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgICAgcmV0YWlucyBpdHMgcHJl dmlvdXMgdmFsdWUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8g dGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRo ZSAxMFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cwogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlC LiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIzIgogICAg ICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDYgfQoKICAgICAgZWZtQ3VQQUZJbkJhZEZy YWdtZW50cyBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBu b3QgZml0IGludG8gdGhlIHNlcXVlbmNlCiAgICAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUg YXNzZW1ibHkgZnVuY3Rpb24sIHRoYXQgaGF2ZSBiZWVuCiAgICAgICAgICByZWNlaXZlZCBhY3Jv c3MgdGhlIGdhbW1hIGludGVyZmFjZSBhbmQgZGlzY2FyZGVkICh0aGUKICAgICAgICAgIGZyYW1l IGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4KICAgICAg ICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAg ICAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXIKICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJh Z21lbnRzCiAgICAgICAgICByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRp YWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAg ICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVp dHlUaW1lLAogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3Rh dHVzRW50cnkgNyB9CgogICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzhdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIGdh cHMgaW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdtZW50cywgd2hpY2ggaGF2ZQogICAgICAgICAgYmVl biByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBp cwogICAgICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBm cmFnbWVudC9mcmFnbWVudHMKICAgICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbiBpcy9hcmUgbm90IHJlY2VpdmVkKS4KICAgICAgICAgIFRoaXMgcmVhZC1vbmx5 IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICAgICB1bnN1cHBvcnRl ZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAg ICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1 IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IGZyYWdtZW50CiAgICAgICAgICBy ZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBt YW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBhcyBpbmRpY2F0 ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgICAg ZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2Fo XSA0NS4yLjMuMjYiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgOCB9CgogICAg ICBlZm1DdVBBRkluTG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIENv dW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgbnVtYmVyIG9mIG1pc3Np bmcgU3RhcnRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVkIGJ5IHRoZQogICAgICAgICAgZnJh bWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJs ZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyCiAgICAgICAgICByZXRhaW5z IGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgICAgcmVn aXN0ZXIuCgogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNv dW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVk IGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjI3IgogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkgfQoKICAgICAg ZWZtQ3VQQUZJbkxvc3RFbmRzIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSAzOV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIERFU0NS SVBUSU9OCiAgICAgICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0 b3JzIGV4cGVjdGVkIGJ5IHRoZQogICAgICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uCiAg ICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBp cwogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQ QUYsIHRoZSBjb3VudGVyCiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KCiAg ICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNl bnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9z dCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgICAgcmVnaXN0ZXIuCgogICAgICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcwogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICAg ICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgICAgIDo6PSB7 IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEwIH0KCiAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJ T04KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUg Z2FtbWEgaW50ZXJmYWNlCiAgICAgICAgICBhbmQgZGlzY2FyZGVkLCB3aGljaCB3b3VsZCBoYXZl IGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkKICAgICAgICAgIGJ1ZmZlciB0byBvdmVyZmxvdy4K ICAgICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFG IGlzCiAgICAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhl IFBBRiwgdGhlIGNvdW50ZXIKICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgoK ICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJl c2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBv dmVyZmxvdyByZWdpc3Rlci4KCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9u IG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBh cyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAog ICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjQiCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkg MTEgfQoKICAgICAtLSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cAoKICAgICAgZWZtQ3VQbWVOb3Rp ZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDAgfQoKICAgICAgZWZt Q3VQbWVMaW5lQXRuQ3Jvc3NpbmcgTk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RTIHsK CgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgNDBdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRl cmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGVmbUN1UG1l TGluZUF0biwKICAgICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgICAgIH0KICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlz IG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbgogICAgICAg ICAgdGhyZXNob2xkIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoTGluZUF0bgogICAgICAgICAg dmFsdWUpIGhhcyBiZWVuIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1Mt VFMKICAgICAgICAgIFBNRS4gVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNy b3NzaW5nIGV2ZW50IGluCiAgICAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIHRv IGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkCiAgICAgICAgICB0byBub3JtYWwuCgogICAgICAg ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIu NSBzZWMsCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLAogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRl cm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQogICAgICAgICAgc2VudC4KCiAgICAgICAgICBH ZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAg ICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lTm90aWZpY2F0aW9ucyAxIH0KCiAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcg Tk9USUZJQ0FUSU9OLVRZUEUKICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lU25y TWduLAogICAgICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24KICAgICAgICB9CiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3Rp ZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkCiAgICAgICAg ICAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaFNuck1nbiB2YWx1ZSkgaGFzIGJlZW4KICAgICAg ICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FLgogICAg ICAgICAgVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5nIGV2ZW50 IGluCiAgICAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFsIHRvIGV4Y2VlZGVkIGFu ZCBmcm9tIGV4Y2VlZGVkCiAgICAgICAgICB0byBub3JtYWwuCgogICAgICAgICAgSXQgaXMgUkVD T01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIuNSBzZWMsCiAgICAg ICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0 aW9uLAogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRlcm1pdHRlbnQgbm90 aWZpY2F0aW9ucyB0byBiZQogICAgICAgICAgc2VudC4KCiAgICAgICAgICBHZW5lcmF0aW9uIG9m IHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVOb3Rp ZmljYXRpb25zIDIgfQoKICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQ RQogICAgICAgIE9CSkVDVFMgewogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICAgICB9 CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDQxXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRp b24gaW5kaWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICAgICBk ZXRlY3RlZCBieSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoK ICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBi eSB0aGUKICAgICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiIKICAgICAg ICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgMyB9CgogICAgICBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBl Zm1DdVBtZUZsdFN0YXR1cywKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLAogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNh dGVzIHRoYXQgUE1FIGluaXRpYWxpemF0aW9uIGhhcwogICAgICAgICAgZmFpbGVkLCBkdWUgdG8g aW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZAogICAgICAgICAg Y29uZmlndXJhdGlvbiBwcm9maWxlLgoKICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3Rp ZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUKICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5p dEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMg NCB9CgogICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgTk9USUZJQ0FUSU9OLVRZUEUK ICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLAogICAgICAgICAg ZWZtQ3VQbWVPcGVyU3ViVHlwZQogICAgICAgIH0KICAgICAgICBTVEFUVVMgICAgIGN1cnJlbnQK ICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRl cyB0aGF0IHBlZXIgUE1FIHdhcyB1c2luZwogICAgICAgICAgaW5jb21wYXRpYmxlIHByb3RvY29s IGR1cmluZyBpbml0aWFsaXphdGlvbi4KCiAgICAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90 aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlCiAgICAgICAgICBlZm1DdVBtZVByb3RvY29s SW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZU5vdGlmaWNhdGlv bnMgNSB9CgogICAgICAtLSBUaGUgUE1FIGdyb3VwCgogICAgICBlZm1DdVBtZUNvbmZUYWJsZSBP QkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ29uZkVu dHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUYWJsZSBmb3IgQ29uZmln dXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgICAgIDJCQVNFLVRMLzEw UEFTUy1UUyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNDJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGFzcGVjdHMgc3BlY2lmaWMgdG8g MkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgICAgcmVwcmVzZW50ZWQg aW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUKICAgICAgICAg IHJlc3BlY3RpdmVseS4KCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgICAgbWFubmVyLiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZSAxIH0KCiAgICAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAg ICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElP TgogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJs ZS4KICAgICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBF Rk1DdSBQTUUgcG9ydAogICAgICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0 IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmds ZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsCiAgICAgICAgICBwb3NzaWJseSB0 b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxlZC4iCiAgICAgICAg SU5ERVggIHsgaWZJbmRleCB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mVGFibGUgMSB9Cgog ICAgICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICAgICBTRVFVRU5DRSB7CiAgICAgICAgICBl Zm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8sCiAgICAgICAgICBl Zm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgICAgZWZtQ3VQbWVU aHJlc2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nRW5hYmxlICBUcnV0aFZhbHVlLAogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9z c2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsCiAgICAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5h YmxlICAgICAgVHJ1dGhWYWx1ZSwKICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFi bGUgICBUcnV0aFZhbHVlLAogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxl IFRydXRoVmFsdWUKICAgICAgICB9CgogICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGllZWUyQmFzZVRM TygxKSwKICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwKICAgICAgICAgIGllZWUxMFBhc3NUU08o MyksCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAgICAgaWVlZTJCYXNlVExvcjEw UGFzc1RTUig1KSwKICAgICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksCiAgICAgICAg ICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJ T04KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNDNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICJBZG1p bmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAgICAgICAgIFBvc3Np YmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg U0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8KICAgICAgICAgICAgaWVlZTJCYXNlVExSICAgICAg ICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUgogICAgICAgICAgICBpZWVlMTBQ YXNzVFNPICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAg ICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNz VFMtUgogICAgICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJh dGUgYXMgMkJhc2VUTC1SIG9yCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAx MFBhc3NUUy1SLiBBY3R1YWwgdmFsdWUgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2V0IGJ5IC1PIGxpbmsgcGFydG5lciBkdXJpbmcKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLgogICAgICAg ICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNPIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMkJhc2VU TC1PCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAx MFBhc3NUUy1PLiBBY3R1YWwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh bHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5lLiBpZgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVmZXJy ZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDJCYXNlVEwgbW9kZSwgMTBQ YXNzVFMgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCku CiAgICAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8gLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAxMFBhc3NUUy1PCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVy cmVkKSBvciAyQmFzZVRMLU8uIEFjdHVhbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVIKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpbmsgcGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUgb2YgdGhl IHByZWZlcnJlZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNzVFMg bW9kZSwgMkJhc2VUTCB3aWxsIGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1c2VkKS4KCiAgICAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWluU3ViVHlwZSBpcyBhIHRy YWZmaWMgZGlzcnVwdGl2ZQogICAgICAgICAgb3BlcmF0aW9uIGFuZCBhcyBzdWNoIFNIQUxMIGJl IGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBsaW5rCiAgICAgICAgICBpcyBV cCBvciBJbml0aWFsaXppbmcuCiAgICAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmpl Y3QgdG8gYW4gdW5zdXBwb3J0ZWQgc3VidHlwZQogICAgICAgICAgKHNlZSBlZm1DdVBtZVN1YlR5 cGVzU3VwcG9ydGVkKSBTSEFMTCBiZSByZWplY3RlZC4KCiAgICAgICAgICBUaGUgY3VycmVudCBv cGVyYXRpb25hbCBzdWIgdHlwZSBpcyBpbmRpY2F0ZWQgYnkKICAgICAgICAgIGVmbUN1UG1lT3Bl clN1YlR5cGUgdmFyaWFibGUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgICAgdGhpcyBvYmplY3Qg Y29tYmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdCBiaXRzCiAgICAgICAg ICBhbmQgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9Q TUQKICAgICAgICAgIGNvbnRyb2wgcmVnaXN0ZXIiCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAg ICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyIKICAgICAgICA6Oj0g eyBlZm1DdVBtZUNvbmZFbnRyeSAxIH0KCiAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpF Q1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybwogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNDRdCgwKSW50ZXJuZXQtRHJh ZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAy MDA3CgoKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJEZXNpcmVkIFBNRSBjb25maWd1cmF0aW9uIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlz IGEgcG9pbnRlcgogICAgICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3IKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcg b24gdGhlIGN1cnJlbnQgb3BlcmF0aW5nCiAgICAgICAgICBTdWJUeXBlIG9mIHRoZSBQTUUuIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyB0aGUgaW5kZXggb2YKICAgICAgICAgIHRoZSByZWZl cmVuY2VkIHByb2ZpbGUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVsdCkgaW5k aWNhdGVzIHRoYXQgdGhlIFBNRSBpcwogICAgICAgICAgY29uZmlndXJlZCB2aWEgZWZtQ3VBZG1p blByb2ZpbGUgb2JqZWN0IGZvciB0aGUgUENTIHBvcnQsCiAgICAgICAgICB0byB3aGljaCB0aGlz IFBNRSBpcyBhc3NpZ25lZC4gVGhhdCBpcywgdGhlIHByb2ZpbGUgcmVmZXJlbmNlZAogICAgICAg ICAgYnkgZWZtQ3VQbWVBZG1pblByb2ZpbGUgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoZSBwcm9m aWxlKHMpCiAgICAgICAgICByZWZlcmVuY2VkIGJ5IGVmbUN1QWRtaW5Qcm9maWxlLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGFuZCByZWFkYWJsZSBmb3IgdGhlIENPIHN1YnR5 cGUgUE1FcwogICAgICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKS4gSXQgaXMgdW5zdXBw b3J0ZWQgZm9yIHRoZSBDUEUKICAgICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NU Uy1SKS4KCiAgICAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZh bHVlIGlzIGF2YWlsYWJsZSB2aWEKICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 LgoKICAgICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1l ZCB3aGVuIHRoZSBsaW5rIGlzCiAgICAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlCiAgICAgICAgICBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4KICAgICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBh IHZhbHVlIHRoYXQgaXMgbm90IHRoZSB2YWx1ZQogICAgICAgICAgb2YgdGhlIGluZGV4IGZvciBh biBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQogICAgICAgICAgdGFi bGUsIE1VU1QgYmUgcmVqZWN0ZWQuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIu M2FoXSAzMC4xMS4yLjEuNiIKICAgICAgICBERUZWQUwgeyAwIH0KICAgICAgICA6Oj0geyBlZm1D dVBtZUNvbmZFbnRyeSAyIH0KCiAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSAgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBQaHlzQWRkcmVzcyAoU0laRSg2KSkKICAgICAg ICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAg ICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiUEFGIFJlbW90ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0 aGUgUE1FIHBvcnQgYXQgQ08uCiAgICAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29k ZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQogICAgICAgICAgdGhlIFBNRS4KICAgICAg ICAgIFJlYWRpbmcgdGhpcyBvYmplY3QgcmVzdWx0cyBpbiBhIERpc2NvdmVyeSBHZXQgb3BlcmF0 aW9uLgogICAgICAgICAgU2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMg aW4gYSBEaXNjb3ZlcnkKICAgICAgICAgIENsZWFyX2lmX1NhbWUgb3BlcmF0aW9uICh0aGUgdmFs dWUgb2YgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlCiAgICAgICAgICBhdCB0aGUgcGVlciBQQ1MgU0hB TEwgYmUgdGhlIHNhbWUgYXMgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlIG9mCiAgICAgICAgICB0aGUg bG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvCiAg ICAgICAgICBzdWNjZWVkKS4KICAgICAgICAgIFdyaXRpbmcgYSBub24temVybyB2YWx1ZSB0byB0 aGlzIG9iamVjdCByZXN1bHRzIGluIGEKICAgICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xlYXIg b3BlcmF0aW9uLgogICAgICAgICAgQSB6ZXJvLWxlbmd0aCBvY3RldCBzdHJpbmcgU0hBTEwgYmUg cmV0dXJuZWQgb24gYW4gYXR0ZW1wdCB0bwoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0NV0KDApJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDcKCgogICAgICAgICAgcmVhZCB0aGlzIG9iamVjdCB3aGVuIFBBRiBhZ2dyZWdhdGlvbiBp cyBub3QgZW5hYmxlZC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyBpcnJlbGV2YW50IGluIENQ RSBwb3J0ICgtUikgc3VidHlwZXM6IGluIHRoaXMKICAgICAgICAgIGNhc2UgYSB6ZXJvIGxlbmd0 aCBvY3RldCBzdHJpbmcgU0hBTEwgYmUgcmV0dXJuZWQgb24gYW4KICAgICAgICAgIGF0dGVtcHQg dG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0byB0aGlzIG9iamVjdCBTSEFMTAogICAgICAg ICAgYmUgaWdub3JlZC4KCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBwZXJmb3JtZWQgd2hl biB0aGUgbGluayBpcyBEb3duLgogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2Jq ZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2Ugb2YKICAgICAgICAgIFNOTVAgd2l0aCB0aGUg ZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcgogICAgICAgICAg SW5pdGlhbGl6aW5nLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IGlzIGEg ZnVuY3Rpb24gb2YgMTBQLzJCIGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeQogICAgICAgICAgY29udHJv bCByZWdpc3RlciwgRGlzY292ZXJ5IG9wZXJhdGlvbiByZXN1bHQgYml0cyBpbiAxMFAvMkIKICAg ICAgICAgIGFnZ3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZAogICAg ICAgICAgMTBQLzJCIGFnZ3JlZ2F0aW9uIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIgogICAgICAg IFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4y LjYuOCIKICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSAzIH0KCiAgICAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggIEludGVnZXIzMigtMTI3 Li4xMjgpCiAgICAgICAgVU5JVFMgICAgICAgImRCIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJEZXNpcmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQ IFBNRS4KICAgICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxpbmUgYXR0ZW51YXRp b24gYWxhcm0gdGhyZXNob2xkLgogICAgICAgICAgV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBM aW5lIEF0dGVudWF0aW9uIHJlYWNoZXMgb3IKICAgICAgICAgIGV4Y2VlZHMgdGhpcyB0aHJlc2hv bGQsIGEgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcKICAgICAgICAgIG5vdGlmaWNhdGlvbiBNQVkg YmUgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5CiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZ0VuYWJsZS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENP IHN1YnR5cGUgUE1FcyAoLU8pLgogICAgICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BF IHN1YnR5cGUgKC1SKS4KCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlv biBUaHJlc2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQKICAgICAgICAgIHdoZW4gdGhlIGxpbmsgaXMg RG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgICAgIHJl amVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LAogICAgICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhl biB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJl c2hvbGQgYml0cyBpbgogICAgICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xk cyByZWdpc3RlciIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4x LjM2IgogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDQgfQoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0 Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICBlZm1DdVBtZVRocmVzaFNuck1nbiAgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQogICAgICAgIFVO SVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRGVzaXJlZCBT TlIgTWFyZ2luIFRocmVzaG9sZCBmb3IgdGhlIDJCLzEwUCBQTUUuCiAgICAgICAgICBUaGlzIG9i amVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRocmVzaG9sZC4KICAgICAgICAg IFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgU05SIE1hcmdpbiByZWFjaGVzIG9yIGV4Y2VlZHMg dGhpcwogICAgICAgICAgdGhyZXNob2xkLCBhIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZp Y2F0aW9uIE1BWSBiZQogICAgICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVkIGJ5IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmdFbmFibGUuCgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUg Zm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMKICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtUiku IEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlCiAgICAgICAgICAoMkJhc2VUTC1S LzEwUGFzc1RTLVIpLgoKICAgICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2luIFRocmVz aG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuCiAgICAgICAgICB0aGUgbGluayBpcyBEb3duLiBB dHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQogICAgICAgICAgcmVqZWN0ZWQg KGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksCiAgICAg ICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCgogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMK ICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZCBiaXRzIGlu IHRoZSAyQiBQTUQKICAgICAgICAgIGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIgog ICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNSB9CgogICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2lu Z0VuYWJsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICAgICBERVNDUklQVElPTgogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGlu ZUF0bkNyb3NzaW5nIG5vdGlmaWNhdGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQg Zm9yIHRoaXMgaW50ZXJmYWNlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcKICAgICAgICAgIG5vdGlmaWNhdGlvbiBpcyBl bmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAogICAgICAgICAgdGhlIG5v dGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkg NiB9CgogICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAg ICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAg ICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBub3RpZmljYXRpb25z CiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4KCgoKQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgNDddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUo MSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZwogICAgICAgICAgbm90aWZp Y2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAg ICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBt ZUNvbmZFbnRyeSA3IH0KCiAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04K ICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNh dGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgoK ICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VG YXVsdAogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIp IGluZGljYXRlcyB0aGF0CiAgICAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIK ICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA4IH0KCiAgICAgIGVmbUN1UG1lQ29uZmln SW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1 ZQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgoKICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkg aW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQogICAgICAgICAgbm90aWZp Y2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAg ICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBt ZUNvbmZFbnRyeSA5IH0KCiAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSAgT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQ VElPTgogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFp bHVyZSBub3RpZmljYXRpb25zCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4KCiAgICAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVm bUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJs ZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSAxMCB9 CgoKICAgICAgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZUNhcGFiaWxpdHlFbnRyeQogICAgICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVz IEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ4XQoMCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw NwoKCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1 CiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzIChtb2RlbXMpLiBDb25maWd1 cmF0aW9uIG9mCiAgICAgICAgICBhc3BlY3RzIHNwZWNpZmljIHRvIDJCQVNFLVRMIG9yIDEwUEFT Uy1UUyBQTUUgdHlwZXMgaXMKICAgICAgICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25m VGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlCiAgICAgICAgICByZXNwZWN0aXZlbHkuCgog ICAgICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBl cnNpc3RlbnQKICAgICAgICAgIG1hbm5lci4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUgMiB9Cgog ICAgICBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUuCiAgICAg ICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1F IHBvcnQKICAgICAgICAgIGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguIE5vdGUgdGhhdCBhbiBFRk1D dSBQTUUgcG9ydCBjYW4gYmUKICAgICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LAogICAgICAgICAgcG9zc2libHkgdG9nZXRoZXIg d2l0aCBvdGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIgogICAgICAgIElOREVYICB7 IGlmSW5kZXggfQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIDEgfQoKICAg ICAgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAg ICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZCAgICAgQklUUwogICAgICAgIH0KCiAgICAgIGVm bUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg QklUUyB7CiAgICAgICAgICBpZWVlMkJhc2VUTE8oMCksCiAgICAgICAgICBpZWVlMkJhc2VUTFIo MSksCiAgICAgICAgICBpZWVlMTBQYXNzVFNPKDIpLAogICAgICAgICAgaWVlZTEwUGFzc1RTUigz KQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgc3VwcG9ydGVk IHN1Yi10eXBlcy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3NzaWJsZQogICAgICAgICAgc3ViLXR5 cGVzLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToKICAgICAgICAgICAgaWVlZTJCYXNl VExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtTwogICAgICAg ICAgICBpZWVlMkJhc2VUTFIgICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMkJh c2VUTC1SCiAgICAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9w ZXJhdGluZyBhcyAxMFBhc3NUUy1PCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IgICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SCgogICAgICAgICAgQW4gZGVzaXJl ZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5CgoKCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ5XQoM CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwgd2hpbGUg ZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUKICAgICAgICAgIGN1cnJlbnQgb3BlcmF0 aW5nIG1vZGUuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBjb21iaW5lcyB0aGUg MTBQQVNTLVRTIGNhcGFibGUgYW5kIDJCQVNFLVRMIGNhcGFibGUKICAgICAgICAgIGJpdHMgaW4g dGhlIDEwUC8yQiBQTUEvUE1EIHNwZWVkIGFiaWxpdHkgcmVnaXN0ZXIgYW5kIHRoZQogICAgICAg ICAgQ08gc3VwcG9ydGVkIGFuZCBDUEUgc3VwcG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEv UE1ECiAgICAgICAgICBzdGF0dXMgcmVnaXN0ZXIiCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAg ICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIuMS40LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLAog ICAgICAgICAgNDUuMi4xLjEyLjMiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5RW50 cnkgMSB9CgoKICAgICAgZWZtQ3VQbWVTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgIFNZ TlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgY29tbW9uIHN0YXR1cyBp bmZvcm1hdGlvbiBvZiBFRk1DdQogICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0 cy4gU3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljCiAgICAgICAgICB0byAxMFBBU1MtVFMgUE1F IGlzIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuCgogICAgICAgICAgVGhp cyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLAog ICAgICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIgogICAgICAgIDo6PSB7IGVmbUN1UG1lIDMg fQoKICAgICAgZWZtQ3VQbWVTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbUN1UG1lU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3RhdHVzIHRhYmxlLgogICAgICAgICAgRWFj aCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0CiAg ICAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBv cnQgY2FuIGJlCiAgICAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3Ro ZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiIKICAgICAgICBJTkRFWCAgeyBpZkluZGV4 IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQoKICAgICAgRWZtQ3VQbWVT dGF0dXNFbnRyeSA6Oj0KICAgICAgICBTRVFVRU5DRSB7CiAgICAgICAgICBlZm1DdVBtZU9wZXJT dGF0dXMgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAg ICAgICAgICAgQklUUywKICAgICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElO VEVHRVIsCiAgICAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxl SW5kZXhPclplcm8sCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRl Z2VyMzIsCiAgICAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIs CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDUwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBlZm1DdVBt ZUxpbmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgICBlZm1DdVBtZVBlZXJM aW5lQXRuICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRM ZW5ndGggICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyAg ICAgICAgQ291bnRlcjMyLAogICAgICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAg Q291bnRlcjMyCiAgICAgICAgfQoKICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgICAgdXAoMSksCiAgICAgICAg ICBkb3duTm90UmVhZHkoMiksCiAgICAgICAgICBkb3duUmVhZHkoMyksCiAgICAgICAgICBpbml0 KDQpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkN1cnJlbnQgUE1F IGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICAg ICB1cCgxKSAgICAgICAgICAgLSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1Qgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMu CiAgICAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBk b2VzIG5vdCBkZXRlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRv bmVzIGZyb20gaXRzIHBlZXIuIFRoaXMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWF5IGluZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRoZSBwZWVyIFBNRS4KICAgICAgICAgICAgZG93blJlYWR5KDMpICAgIC0g bGluayBpcyBEb3duIGFuZCB0aGUgUE1FIGRldGVjdHMgSGFuZHNoYWtlCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRvbmVzIGZyb20gaXRzIHBlZXIuCiAgICAgICAgICAgIGluaXQoNCkg ICAgICAgICAtIGxpbmsgaXMgaW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpZkFkbWluU3RhdHVzIGJlaW5nIHNldCB0byAndXAnIGZvciBh CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRo ZSBQTUUgaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1lbnQgRG93biBzdGF0ZSBv ZgogICAgICAgICAgaWZPcGVyU3RhdHVzLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxs eSBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlCiAgICAgICAgICBhUE1FU3RhdHVzLgoK ICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJl c2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gUE1BL1BN RCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQgogICAgICAgICAgUE1BL1BNRCBzdGF0dXMgcmVn aXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEu MywgNDUuMi4xLjEyLjQiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxIH0KCiAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEJJ VFMgewogICAgICAgICAgbG9zc09mRnJhbWluZygwKSwKICAgICAgICAgIHNuck1nbkRlZmVjdCgx KSwKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNTFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIGxpbmVB dG5EZWZlY3QoMiksCiAgICAgICAgICBkZXZpY2VGYXVsdCgzKSwKICAgICAgICAgIGNvbmZpZ0lu aXRGYWlsdXJlKDQpLAogICAgICAgICAgcHJvdG9jb2xJbml0RmFpbHVyZSg1KQogICAgICAgIH0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1 bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mCiAgICAgICAgICBwb3NzaWJsZSBjb25kaXRp b25zLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToKCiAgICAgICAgICAgIGxvc3NPZkZy YW1pbmcgICAgICAgLSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTG9zcyBvZiBTeW5jIHdvcmQgZm9yIDJCIFBNRCBvcgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9zcyBvZiA2NC82NUIgRnJhbWluZwogICAgICAg ICAgICBzbnJNZ25EZWZlY3QgICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBU aHJlc2hvbGQKICAgICAgICAgICAgbGluZUF0bkRlZmVjdCAgICAgICAtIExpbmUgQXR0ZW51YXRp b24gZXhjZWVkcyB0aGUgVGhyZXNob2xkCiAgICAgICAgICAgIGRldmljZUZhdWx0ICAgICAgICAg LSBJbmRpY2F0ZXMgYSB2ZW5kb3ItZGVwZW5kZW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkaWFnbm9zdGljIG9yIHNlbGYtdGVzdCBmYXVsdAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaGFzIGJlZW4gZGV0ZWN0ZWQuCiAgICAgICAgICAgIGNvbmZpZ0luaXRG YWlsdXJlICAgLSBDb25maWd1cmF0aW9uIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGlu ayB0bwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBjb25maWd1cmF0 aW9uIHByb2ZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWQg ZHVyaW5nIGluaXRpYWxpemF0aW9uLgogICAgICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIC0g UHJvdG9jb2wgaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGR1ZSB0byBpbmNvbXBhdGlibGUgcHJvdG9jb2wgdXNlZCBieQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFBlZXIgUE1FIGR1cmluZyBpbml0ICh0aGF0IGNv dWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBwZW4gaWYgYSBwZWVyIFBN RCBpcyBhIHJlZ3VsYXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wv VkRTTCBtb2RlbSBpbnN0ZWFkIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVu ZGVkIHRvIHN1cHBsZW1lbnQgaWZPcGVyU3RhdHVzIGluIElGLU1JQi4KCiAgICAgICAgICBUaGlz IG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbGFzdCBmYXVsdC4KICAgICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzIGlzIGNsZWFyZWQgYnkgdGhlIGRldmljZSByZXN0YXJ0LgogICAg ICAgICAgSW4gYWRkaXRpb24gbG9zc09mRnJhbWluZywgY29uZmlnSW5pdEZhaWx1cmUgYW5kCiAg ICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVkIGJ5IFBNRSBpbml0LgogICAg ICAgICAgZGV2aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNzZnVsIGRpYWdub3N0aWNzL3Rl c3QuCiAgICAgICAgICBzbnJNZ25EZWZlY3QgYW5kIGxpbmVBdG5EZWZlY3QgYXJlIGNsZWFyZWQg YnkgU05SIE1hcmdpbgogICAgICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24gcmVzcGVjdGl2ZWx5 IHJldHVybmluZyB0byBub3JtIGFuZCBieQogICAgICAgICAgUE1FIGluaXQuCgogICAgICAgICAg VGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAg ICAgICAgIGFQTUVTdGF0dXMuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBjb25z b2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQKICAgICAgICAgIHJlZ2lz dGVycywgbmFtZWx5OiBGYXVsdCBiaXQgaW4gUE1BL1BNRCBzdGF0dXMgMSByZWdpc3RlciwKICAg ICAgICAgIDEwUC8yQiBQTUEvUE1EIGxpbmsgbG9zcyByZWdpc3RlciwKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug NTJdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgIDEwUCBvdXRnb2luZyBpbmRpY2F0b3Ig Yml0cyBzdGF0dXMgcmVnaXN0ZXIsCiAgICAgICAgICAxMFAgaW5jb21pbmcgaW5kaWNhdG9yIGJp dHMgc3RhdHVzIHJlZ2lzdGVyLAogICAgICAgICAgMkIgc3RhdGUgZGVmZWN0cyByZWdpc3Rlci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4y LjEuMi4xLCA0NS4yLjEuMzgsCiAgICAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCIKICAgICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIgfQoKICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIGll ZWUyQmFzZVRMTygxKSwKICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwKICAgICAgICAgIGllZWUx MFBhc3NUU08oMyksCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDQpCiAgICAgICAgfQogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2Yg dGhlIFBNRS4KICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIGllZWUy QmFzZVRMTyAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1PCiAgICAgICAgICAg IGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SCiAgICAg ICAgICAgIGllZWUxMFBhc3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMt TwogICAgICAgICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEw UGFzc1RTLVIKCiAgICAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBj YW4gYmUgY29uZmlndXJlZCB2aWEKICAgICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlh YmxlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEv UE1EIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVl cyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QKICAgICAgICAgIGJpdHMsIHRoZSBQTUEvUE1E IHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEwUC8yQgogICAgICAgICAgUE1BL1BNRCBjb250 cm9sIHJlZ2lzdGVyIGFuZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluCiAgICAgICAg ICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UK ICAgICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4y LjEuMTIuNCIKICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQoKICAgICAgZWZt Q3VQbWVPcGVyUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9m aWxlSW5kZXhPclplcm8KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJQTUUgY3VycmVu dCBvcGVyYXRpbmcgUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyIHRvCiAgICAgICAg ICBhbiBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcgogICAgICAgICAg ZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudAogICAgICAg ICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIFBNRSBhcyBpbmRpY2F0ZWQgYnkKICAgICAgICAg IGVmbUN1UG1lT3BlclN1YlR5cGUuCiAgICAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5 LCB0byB3aGljaCBlZm1DdVBtZU9wZXJQcm9maWxlIGlzCgoKCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDUzXQoMCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBwb2ludGluZyB0bywgY2FuIGJlIGNyZWF0ZWQgYXV0 b21hdGljYWxseSwgdG8gcmVmbGVjdCBhY2hpZXZlZAogICAgICAgICAgcGFyYW1ldGVycyBpbiBh ZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXphdGlvbiwKICAgICAgICAgIGkuZS4gdmFsdWVz IG9mIGVmbUN1UG1lT3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yCiAgICAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSBtYXkgZGlmZmVyLgogICAgICAgICAgVGhlIHZhbHVlIG9m IHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24gb3IgaW5pdGlhbGl6aW5nLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBhT3BlcmF0aW5nUHJvZmlsZQog ICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAg ICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS43IgogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVz RW50cnkgNCB9CgogICAgICBlZm1DdVBtZVNuck1nbiBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRB WCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpCiAgICAgICAgVU5JVFMgICAgICAgImRC IgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoZSBjdXJyZW50IFNpZ25hbC10by1O b2lzZSBSYXRpbyAoU05SKSBtYXJnaW4gd2l0aCByZXNwZWN0CiAgICAgICAgICB0byB0aGUgcmVj ZWl2ZWQgc2lnbmFsIGFzIHBlcmNlaXZlZCBieSB0aGUgbG9jYWwgUE1FLgogICAgICAgICAgVGhl IHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlzIGRvd24gb3IKICAgICAgICAg IGluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUE1FU05S TWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0 byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4gcmVnaXN0ZXIuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNCwgNDUuMi4xLjE2IgogICAgICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9CgogICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAg ICAgIFVOSVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGUg Y3VycmVudCBTTlIgbWFyZ2luIGluIGRCIHdpdGggcmVzcGVjdCB0byB0aGUgcmVjZWl2ZWQKICAg ICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikg UE1FLgogICAgICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4gUE1FIGlz IGRvd24gb3IKICAgICAgICAgIGluaXRpYWxpemluZy4KCiAgICAgICAgICBUaGlzIG9iamVjdCBp cyBub3Qgc3VwcG9ydGVkIGJ5IC1SIFBNRSBzdWJ0eXBlcy4KCiAgICAgICAgICBJZiBhIENsYXVz ZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVj dCBtYXBzIHRvIHRoZSAxMFAvMkIgbGluayBwYXJ0bmVyIFJYIFNOUiBtYXJnaW4KICAgICAgICAg IHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNTRdCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE3IgogICAgICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0KCiAgICAgIGVmbUN1UG1lTGluZUF0biBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpCiAgICAgICAg VU5JVFMgICAgICAgImRCIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoZSBjdXJy ZW50IExpbmUgQXR0ZW51YXRpb24gaW4gZEIgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbAogICAg ICAgICAgUE1FLgogICAgICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdoZW4g UE1FIGlzIGRvd24gb3IKICAgICAgICAgIGluaXRpYWxpemluZy4KCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgICAgIG9i amVjdCBtYXBzIHRvIHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIgogICAgICAgIFJFRkVS RU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWVTdGF0dXNFbnRyeSA3IH0KCiAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZUEUK ICAgICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAgICAgIFVO SVRTICAgICAgICJkQiIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGUgY3VycmVu dCBMaW5lIEF0dGVudWF0aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlCiAgICAg ICAgICAobGluayBwYXJ0bmVyKSBQTUUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMg cmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgICAgaW5pdGlhbGl6aW5nLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIG5vdCBzdXBwb3J0ZWQgYnkgQ1BFIHBvcnQgKC1SKSBzdWJ0 eXBlcy4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0 bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgICAgIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVO Q0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgICAgIDo6PSB7IGVmbUN1UG1l U3RhdHVzRW50cnkgOCB9CgogICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQogICAgICAg IFVOSVRTICAgICAgICJtIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkFuIGVzdGlt YXRlIG9mIHRoZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4KICAgICAgICAg IG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJs aXNoZWQuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDU1XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBB biBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29wIHdp dGggYQogICAgICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkKICAgICAgICAgIGJyaWRnZWQgdGFwcy4KICAgICAgICAgIFRoZSB2 YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCBpZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICAg ICBJbml0aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2 YWxlbnQKICAgICAgICAgIExlbmd0aC4KCiAgICAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYg YSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcwogICAgICAgICAgcHJlc2Vu dCwgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRWxlY3RyaWNhbCBMZW5ndGgKICAg ICAgICAgIHJlZ2lzdGVyIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0 NS4yLjEuMjEiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA5IH0KCiAgICAgIGVm bUN1UG1lVENDb2RpbmdFcnJvcnMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3Vu dGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIG51bWJlciBvZiA2NC82NS1v Y3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhpcyBjb3VudGVyIGlzCiAgICAgICAgICBpbmNy ZW1lbnRlZCBmb3IgZWFjaCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVk CiAgICAgICAgICBieSB0aGUgNjQvNjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4KCiAgICAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIGFUQ0NvZGluZ1Zpb2xhdGlvbnMgYXR0cmlidXRlIGluCiAg ICAgICAgICBjbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBUQyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICAgICB0aGlzIG9iamVjdCBt YXBzIHRvIHRoZSBUQyBjb2RpbmcgdmlvbGF0aW9ucyByZWdpc3RlcgogICAgICAgICAgKHNlZSA0 NS4yLjYuMTIpLgoKICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhp cyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhl IG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgICAgIGFzIGluZGlj YXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4z YWhdIDYxLjMuMy4xLCAzMC4xMS4yLjEuNSwgNDUuMi42LjEyIgogICAgICAgIDo6PSB7IGVmbUN1 UG1lU3RhdHVzRW50cnkgMTAgfQoKICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyBPQkpFQ1QtVFlQ RQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAg ICAgICAgIkEgbnVtYmVyIG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1l bnRlZCBmb3IKICAgICAgICAgIGVhY2ggVEMtQ1JDIGVycm9yIGRldGVjdGVkIGJ5IHRoZSA2NC82 NS1vY3RldCByZWNlaXZlIGZ1bmN0aW9uCiAgICAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBGaWd1 cmUgNjEtMTkpLgoKICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVRDQ1JDRXJyb3JzIGF0 dHJpYnV0ZSBpbgoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1Nl0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAg ICAgY2xhdXNlIDMwLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRoZW4KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3RlcgogICAgICAgICAgKHNlZSA0NS4yLjYuMTEpLgoK ICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNh biBvY2N1ciBhdAogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUg dmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICAgICBkZWZpbmVkIGlu IElGLU1JQi4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjMuMy4z LCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0Vu dHJ5IDExIH0KCiAgICAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwCgogICAgICBlZm1D dVBtZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9CgogICAgICBl Zm1DdVBtZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VR VUVOQ0UgT0YgRWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJh dGl2ZSBhbmQKICAgICAgICAgIG9wZXJhdGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4K ICAgICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUg ZGVmaW5lZCBhcwogICAgICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAg ICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0tLS0tKy0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0KICAgICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25z dGVsbGF0aW9uCiAgICAgICAgICAgaW5kZXggIChLYnBzKSAgKEticHMpICAoZEJtKQogICAgICAg ICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LQogICAgICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFN IChkZWZhdWx0KQogICAgICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEzLjUgICAgMSAg IDMyLVRDUEFNCiAgICAgICAgICAgICAzICAgICAyMDQ4ICAgIDIwNDggICAgMTMuNSAgICAxICAg MTYtVENQQU0KICAgICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAx Ni1UQ1BBTQogICAgICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2 LVRDUEFNCiAgICAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAxICAgMTYt VENQQU0KICAgICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1U Q1BBTQogICAgICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRD UEFNCiAgICAgICAgICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYtVENQ QU0KICAgICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BB TQogICAgICAgICAgICAxMSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFN CiAgICAgICAgICAgIDEyICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0K ICAgICAgICAgICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAo YmVzdCBlZmZvcnQpCiAgICAgICAgICAgIDE0ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAy ICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQoKICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmll cyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2VudAogICAgICAgICAgaW5pdGlhbGl6YXRpb24g YW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDU3XQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3QgMTQsIGNhbiBiZSBk eW5hbWljYWxseSBjcmVhdGVkIGFuZAogICAgICAgICAgZGVsZXRlZCwgdG8gcHJvdmlkZSBjdXN0 b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRpb24pCiAgICAgICAgICBwcm9maWxlcyBhbmQg YXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4KCiAgICAgICAgICBUaGlzIHRhYmxlIE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICAgICBSRUZFUkVOQ0UK ICAgICAgICAgICJbODAyLjNhaF0gQW5uZXggNjNBLCAzMC4xMS4yLjEuNiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCICAyIH0KCiAgICAgIGVmbUN1UG1lMkJQcm9maWxlRW50cnkgT0JKRUNULVRZ UEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5CiAgICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2lu Z2xlIDJCQVNFLVRMIFBNRSBwcm9maWxlLgogICAgICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5z IGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgogICAgICAgICAgY29uZmlndXJh dGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDJCQVNFLVRMIFBNRS4KICAgICAgICAgIEluIGNh c2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEKICAgICAgICAgIGVmbUN1 UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYKICAgICAgICAg IGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQK ICAgICAgICAgIHBhcmFtZXRlcnMgdGhlIDJCYXNlVEwtTyBQTUUgaW5pdGlhbGl6YXRpb24uCiAg ICAgICAgICBJZiBhIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmls ZSBvYmplY3QsCiAgICAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFt ZXRlcnMgb2YgdGhlCiAgICAgICAgICBvcGVyYXRpb25hbCBQTUUuCgogICAgICAgICAgUHJvZmls ZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAg ICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cy4gSWYg YW4KICAgICAgICAgIGFjdGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCBy ZW1haW4gJ2FjdGl2ZScKICAgICAgICAgIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVk LgogICAgICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQuIgogICAgICAg IElOREVYIHsgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUy QlByb2ZpbGVUYWJsZSAxIH0KCiAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkgOjo9CiAgICAg ICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAg RWZtUHJvZmlsZUluZGV4LAogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciAgICAgICAg ICAgU25tcEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAgICAgICAgICAg ICAgICAgSU5URUdFUiwKICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAg IEVmbVByb2ZpbGVJbmRleE9yWmVybywKICAgICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAg ICAgICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgICAg ICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAg ICAgICAgVW5zaWduZWQzMiwKICAgICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICAgICAg ICAgIElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cyAgICAgICBS b3dTdGF0dXMKICAgICAgICB9CgogICAgICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4IE9CSkVDVC1U WVBFCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4CgoKCkJlaWxpICAgICAgICAg ICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDU4 XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAg ICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUK ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAg ICIyQkFTRS1UTCBQTUUgUHJvZmlsZSBpbmRleC4KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHRo ZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4KICAgICAgICAgIEVu dHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUK ICAgICAgICAgIG9yIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdHMuIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgMSB9CgogICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2Ny IE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nCiAgICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAg ICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5m b3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5n IG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQogICAgICAgICAgYW5kIHNw ZWN0cmFsIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBwcm9maWxlLiIKICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQoKICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiAg T0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgICAgIHJlZ2lv bjEoMSksCiAgICAgICAgICByZWdpb24yKDIpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiUmVnaW9uYWwgc2V0dGluZ3MgZm9yIDJCQVNFLVRMIFBNRSwgYXMgc3Bl Y2lmaWVkIGluIHRoZQogICAgICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkx LjJdLgogICAgICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBE ZW5zaXR5IChQU0QpIG1hc2ssCiAgICAgICAgICBQb3dlciBCYWNrLU9mZiAoUEJPKSB2YWx1ZXMg YW5kIHBsYWNlIGxpbWl0YXRpb25zIG9uIHRoZSBtYXgKICAgICAgICAgIGFsbG93ZWQgZGF0YSBy YXRlLCBwb3dlciBhbmQgY29uc3RlbGxhdGlvbi4KCiAgICAgICAgICBQb3NzaWJsZSB2YWx1ZXMg Zm9yIHRoaXMgb2JqZWN0IGFyZToKICAgICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBB IGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpCiAgICAgICAgICAgIHJlZ2lvbjIgICAgICAtIEFu bmV4ZXMgQiBhbmQgRyAoZS5nLiBFdXJvcGUpCgogICAgICAgICAgQW5uZXggQS9CIHNwZWNpZnkg cmVnaW9uYWwgc2V0dGluZ3MgZm9yIGRhdGEgcmF0ZXMgMTkyLTIzMDQKICAgICAgICAgIEticHMg dXNpbmcgMTYtVENQQU0gZW5jb2RpbmcuCiAgICAgICAgICBBbm5leCBGL0cgc3BlY2lmeSByZWdp b25hbCBzZXR0aW5ncyBmb3IgcmF0ZXMgMjMyMC0zODQwIEticHMKICAgICAgICAgIHVzaW5nIDE2 LVRDUEFNIGVuY29kaW5nIGFuZCA3NjgtNTY5NiBLYnBzIHVzaW5nIDMyLVRDUEFNCiAgICAgICAg ICBlbmNvZGluZy4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IHBhcnRpYWxseSBt YXBzIHRvIHRoZSBSZWdpb24gYml0cyBpbiB0aGUgMkIgZ2VuZXJhbAogICAgICAgICAgcGFyYW1l dGVyIHJlZ2lzdGVyLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjQyOyBbRy45OTEuMl0gQW5uZXhlcyBBLCBCLCBGIGFuZCBHIgoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1 OV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgMyB9CgogICAgICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFY ICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJEZXNpcmVkIGN1c3RvbSBTcGVjdHJhbCBNb2RlIGZvciAyQkFTRS1UTCBQTUUuIFRoaXMg b2JqZWN0CiAgICAgICAgICBpcyBhIHBvaW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNN b2RlVGFibGUgYW5kIGEgYmxvY2sKICAgICAgICAgIG9mIGVudHJpZXMgaW4gZWZtQ3VQbWUyQlJh dGVSZWFjaFRhYmxlLCB3aGljaCB0b2dldGhlciBkZWZpbmUKICAgICAgICAgIChjb3VudHJ5LXNw ZWNpZmljKSByZWFjaCBkZXBlbmRlbnQgcmF0ZSBsaW1pdGF0aW9ucyBpbgogICAgICAgICAgYWRk aXRpb24gdG8gdGhvc2UgZGVmaW5lZCBieSBlZm1DdVBtZTJCUmVnaW9uLgoKICAgICAgICAgIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyB0aGUgaW5kZXggb2YgdGhlIHJlZmVyZW5jZWQKICAg ICAgICAgIHNwZWN0cmFsIG1vZGUuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVybyAoZGVmYXVs dCkgaW5kaWNhdGVzIHRoYXQgbm8gc3BlY2lmaWMKICAgICAgICAgIHNwZWN0cmFsIG1vZGUgaXMg YXBwbGljYWJsZS4KCiAgICAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2 YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUKICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4g YWN0aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHNwZWN0cmFsCiAgICAgICAgICBtb2Rl IHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJl Zm1DdVBtZTJCc01vZGVUYWJsZSwgZWZtQ3VQbWUyQlJhdGVSZWFjaFRhYmxlIgogICAgICAgIERF RlZBTCB7IDAgfQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNCB9CgogICAg ICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICBVbnNp Z25lZDMyKDE5Mi4uNTY5NikKICAgICAgICBVTklUUyAgICAgICAiS2JwcyIKICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwg UE1FLgogICAgICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQpS2Jw cywKICAgICAgICAgIHdoZXJlIG49My4uNjAgZm9yIDE2LVRDUEFNIGFuZCBuPTEyLi44OSBmb3Ig MzItVENQQU0gZW5jb2RpbmcuCgogICAgICAgICAgVGhlIGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0Ut VEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVuCiAgICAgICAgICB0aGUgdmFsdWUgb2Yg dGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1heERhdGFSYXRlLgogICAgICAg ICAgSWYgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0 YVJhdGUgaW4KICAgICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlLCB0aGUgZGF0YSBy YXRlIGlzIGNvbnNpZGVyZWQKICAgICAgICAgICdhZGFwdGl2ZScsIGFuZCBTSEFMTCBiZSBzZXQg dG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlCiAgICAgICAgICBub3QgZXhjZWVkaW5nIGVm bUN1UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsCiAgICAgICAgICBsaW1pdGF0 aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kCiAgICAgICAgICBlZm1DdVBt ZTJCc01vZGUuCgogICAgICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSBy YXRlIG9mIHRoZSBQTUUgaXMKICAgICAgICAgIHJlcHJlc2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0 IG9mIElGLU1JQi4KCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy MiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDYwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1pbiBEYXRhIFJhdGUxIGJp dHMgaW4gdGhlIDJCIFBNRAogICAgICAgICAgcGFyYW1ldGVycyByZWdpc3Rlci4KCiAgICAgICAg ICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICAg ICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQoKICAgICAgZWZtQ3VQbWUyQk1heERh dGFSYXRlICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYp CiAgICAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJNYXhpbXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgICAgIFRo aXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICAgICB3aGVy ZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5n LgoKICAgICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBjb25zaWRl cmVkICdmaXhlZCcgd2hlbgogICAgICAgICAgdGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGVxdWFs cyB0aGF0IG9mIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZS4KICAgICAgICAgIElmIGVmbUN1UG1lMkJN aW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4gZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluCiAgICAgICAg ICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBpcyBjb25zaWRlcmVk CiAgICAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0 dGFpbmFibGUgcmF0ZQogICAgICAgICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJh dGUsIHVuZGVyIHRoZSBzcGVjdHJhbAogICAgICAgICAgbGltaXRhdGlvbnMgcGxhY2VkIGJ5IHRo ZSBlZm1DdVBtZTJCUmVnaW9uIGFuZAogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlLgoKICAgICAg ICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUgUE1FIGlz CiAgICAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuCgogICAg ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMKICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNYXggRGF0YSBSYXRlMSBi aXRzIGluIHRoZSAyQiBQTUQKICAgICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuCgogICAgICAg ICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIu IgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAg ICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0KCiAgICAgIGVmbUN1UG1lMkJQb3dl ciAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTAuLjQyKQog ICAgICAgIFVOSVRTICAgICAgICIwLjUgZEJtIgogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiU2lnbmFsIFRyYW5zbWl0IFBvd2VyLiBNdWx0aXBsZSBvZiAwLjVkQm0uCiAgICAgICAg ICBUaGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0 IHRoZQoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA2MV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgc2ln bmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvCiAgICAg ICAgICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGlt aXRhdGlvbnMKICAgICAgICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZt Q3VQbWUyQnNNb2RlLgoKICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0 aGUgUG93ZXIxIGJpdHMgaW4gdGhlIDJCIFBNRCBwYXJhbWV0ZXJzCiAgICAgICAgICByZWdpc3Rl ciIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAg ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNyB9CgogICAgICBlZm1DdVBtZTJCQ29u c3RlbGxhdGlvbiAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAg ICAgICAgIGFkYXB0aXZlKDApLAogICAgICAgICAgdGNwYW0xNigxKSwKICAgICAgICAgIHRjcGFt MzIoMikKICAgICAgICB9CiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUQ1BBTSBD b25zdGVsbGF0aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuCiAgICAgICAgICBUaGUgcG9zc2libGUg dmFsdWVzIGFyZToKICAgICAgICAgICAgYWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMy LVRDUEFNCiAgICAgICAgICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0KICAgICAgICAgICAg dGNwYW0zMigyKSAgICAgLSAzMi1UQ1BBTQoKICAgICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFwdGl2 ZSgwKSBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucwogICAgICAgICAgdGhhdCB0 aGUgY29uc3RlbGxhdGlvbiBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bwogICAgICAg ICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0 YXRpb25zCiAgICAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1 UG1lMkJzTW9kZS4KCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IENvbnN0ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgICAgIHBhcmFtZXRl ciByZWdpc3Rlci4iCiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAgIls4MDIuM2FoXSA0NS4y LjEuNDMiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSA4IH0KCiAgICAgIGVm bUN1UG1lMkJQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAg Um93U3RhdHVzCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJUaGlzIG9iamVjdCBj b250cm9scyBjcmVhdGlvbi9kZWxldGlvbiBvZiB0aGUgYXNzb2NpYXRlZAogICAgICAgICAgZW50 cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAgICAg ICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNl ZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxl LCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsCgoKCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDYyXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICByZWZlcmVuY2VzIGFyZSByZW1vdmVk LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQoKCiAgICAgIGVmbUN1 UG1lMkJzTW9kZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0Ug T0YgRWZtQ3VQbWUyQnNNb2RlRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRoaXMgdGFibGUsIHRvZ2V0aGVyIHdpdGggZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlLCBzdXBw b3J0cwogICAgICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3Ry YWwgbW9kZXMgZm9yCiAgICAgICAgICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFs IGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvCiAgICAgICAgICB0aG9zZSBzcGVjaWZpZWQgYnkg ZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1 bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUKICAgICAgICAgIGxlbmd0aCBvZiB0aGUg bG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4gVGhpcyB0YWJsZSBhbGxvd3MKICAgICAgICAg IHRoZXNlIGNvdW50cnktc3BlY2lmaWMgbGltaXRhdGlvbnMgdG8gYmUgc3BlY2lmaWVkLgoKICAg ICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRoZSBlZm1DdVBtZTJC c01vZGUKICAgICAgICAgIE1VU1QgTk9UIGJlIGRlbGV0ZWQgdW50aWwgYWxsIHRoZSBhY3RpdmUg cmVmZXJlbmNlcyBhcmUKICAgICAgICAgIHJlbW92ZWQuCgogICAgICAgICAgVGhpcyB0YWJsZSBN VVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgICAgUkVGRVJF TkNFCiAgICAgICAgICAiZWZtQ3UyQlJlYWNoUmF0ZVRhYmxlIgogICAgICAgIDo6PSB7IGVmbUN1 UG1lMkIgIDMgfQoKICAgICAgZWZtQ3VQbWUyQnNNb2RlRW50cnkgT0JKRUNULVRZUEUKICAgICAg ICBTWU5UQVggICAgICBFZm1DdVBtZTJCc01vZGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5v dC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBkZXNjcmlw dGlvbiBhbmQgaXRzIGluZGV4LAogICAgICAgICAgd2hpY2ggaXMgdXNlZCB0byByZWZlcmVuY2Ug Y29ycmVzcG9uZGluZyBlbnRyaWVzIGluIHRoZQogICAgICAgICAgZWZtQ3UyQlJlYWNoUmF0ZVRh YmxlLgoKICAgICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUg cm93IGNyZWF0aW9uLwogICAgICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJC c01vZGVSb3dTdGF0dXMuIgogICAgICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQog ICAgICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZVRhYmxlIDEgfQoKICAgICAgRWZtQ3VQbWUyQnNN b2RlRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0UgewogICAgICAgICAgZWZtQ3VQbWUyQnNNb2Rl SW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAogICAgICAgICAgZWZtQ3VQbWUyQnNN b2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUy QnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzCiAgICAgICAgfQoKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNjNdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JK RUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXgKICAgICAgICBNQVgt QUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAg ICBERVNDUklQVElPTgogICAgICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4 LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdp dGggdGhpcyBzcGVjdHJhbAogICAgICAgICAgbW9kZS4KICAgICAgICAgIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICAgICBvYmpl Y3QuIgogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQoKICAgICAgZWZtQ3VQ bWUyQnNNb2RlRGVzY3IgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5T dHJpbmcKICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcg Y29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgICAgIHNwZWN0 cmFsIG1vZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKICAgICAg ICAgIGNvcnJlc3BvbmRpbmcgKGNvdW50cnktc3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25z CiAgICAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIg c3BlY3RyYWwgbW9kZS4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9Cgog ICAgICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVgg ICAgICBSb3dTdGF0dXMKICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMgb2Jq ZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0aW9uIG9mIHRoZSBhc3NvY2lhdGVkCiAgICAgICAg ICBlbnRyeSBpbiBlZm1DdVBtZTJCc01vZGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAg ICAgICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJl bmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgICAgIGVudHJ5IE1VU1QgcmVtYWlu ICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLiIKICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCc01vZGVFbnRyeSAzIH0KCgogICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFi bGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJC UmVhY2hSYXRlRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIlRoaXMg dGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20KICAgICAg ICAgIHNwZWN0cmFsIG1vZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwK ICAgICAgICAgIGxpbWl0YXRpb25zIGluIGFkZGl0aW9uIHRvIHRob3NlIHNwZWNpZmllZCBieQog ICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICAgICBUaGUgc3BlY3RyYWwgcmVndWxh dGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsgQU5GUCkKICAgICAgICAgIGxpbWl0IHRo ZSBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuCgoKCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDY0XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIg ICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBUaGlzIHRhYmxlIGFsbG93cyB0 aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRvIGJlCiAgICAgICAgICBzcGVjaWZp ZWQuCgogICAgICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRhYmxlIGZvciBbQU5G UF06CiAgICAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKICAgICAgICAgIEVxdWl2 YWxlbnQgTWF4UmF0ZSBNYXhSYXRlCiAgICAgICAgICAgIExlbmd0aCAgICBQQU0xNiAgIFBBTTMy CiAgICAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQogICAgICAgICAgLS0tLS0tLS0t LSstLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgICAgOTc1ICAgICAgMjMwNCAgICA1Njk2CiAg ICAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0CiAgICAgICAgICAgICAxMjc1ICAgICAg MjMwNCAgICA1MTIwCiAgICAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0CiAgICAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0CiAgICAgICAgICAgICAxNTAwICAgICAgMjMwNCAg ICA0Mjg4CiAgICAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4CiAgICAgICAgICAgICAx NjUwICAgICAgMjMwNCAgICAzNzc2CiAgICAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIw CiAgICAgICAgICAgICAxODAwICAgICAgMjMwNCAgICAzMjY0CiAgICAgICAgICAgICAxODc1ICAg ICAgMjMwNCAgICAzMDcyCiAgICAgICAgICAgICAxOTUwICAgICAgMjA0OCAgICAyNjg4CiAgICAg ICAgICAgICAyMTAwICAgICAgMTc5MiAgICAyMzY4CiAgICAgICAgICAgICAyMjUwICAgICAgMTUz NiAgICAgICAwCiAgICAgICAgICAgICAyNDAwICAgICAgMTQwOCAgICAgICAwCiAgICAgICAgICAg ICAyNTUwICAgICAgMTI4MCAgICAgICAwCiAgICAgICAgICAgICAyNzc1ICAgICAgMTE1MiAgICAg ICAwCiAgICAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAwCiAgICAgICAgICAgICAzMTUw ICAgICAgMTA4OCAgICAgICAwCiAgICAgICAgICAgICAzMzc1ICAgICAgMTAyNCAgICAgICAwCiAg ICAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsKCiAgICAgICAgICBFbnRyaWVzIGlu IHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICAgICBN VVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMgYXJlCiAg ICAgICAgICByZW1vdmVkLgoKICAgICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVk IGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIltB TkZQXSIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0KCiAgICAgIGVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRWFjaCBlbnRy eSBzcGVjaWZpZXMgbWF4aW11bSAyQkFTRS1UTCBQTUUgZGF0YSByYXRlcwogICAgICAgICAgYWxs b3dlZCBmb3IgYSBjZXJ0YWluIGVxdWl2YWxlbnQgbG9vcCBsZW5ndGgsIHdoZW4gdXNpbmcKICAg ICAgICAgIDE2LVRDUEFNIG9yIDMyLVRDUEFNIGVuY29kaW5nLgoKCgpCZWlsaSAgICAgICAgICAg ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2NV0K DApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAg ICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlh bGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QKICAgICAgICAgIGV4Y2VlZCBvbmUgb2YgdGhl IGZvbGxvd2luZyBsaW1pdGF0aW9uczoKICAgICAgICAgIC0gdGhlIHZhbHVlIG9mIGVmbUN1UG1l MkJNYXhEYXRhUmF0ZQogICAgICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVm bUN1UG1lMkJSZWdpb24gYW5kCiAgICAgICAgICAgIGVmbUN1UG1lMkJQb3dlcgogICAgICAgICAg LSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhl CiAgICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBl cXVpdmFsZW50IGxvb3AKICAgICAgICAgICAgbGVuZ3RoLCBlc3RpbWF0ZWQgYnkgdGhlIFBNRS4K CiAgICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJCRXF1aXZhbGVu dExlbmd0aCB2YWx1ZXMKICAgICAgICAgIGFyZSBhc3NpZ25lZCBpbiB0aGUgaW5jcmVhc2luZyBv cmRlciwgc3RhcnRpbmcgZnJvbSB0aGUKICAgICAgICAgIG1pbmltdW0gdmFsdWUuCgogICAgICAg ICAgRW50cmllcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24v CiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMlJlYWNoUmF0ZVJvd1N0 YXR1cy4iCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTJCc01vZGVJbmRleCwgZWZtQ3VQbWUyQlJl YWNoUmF0ZUluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgMSB9 CgogICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0Ugewog ICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4ICAgICAgICAgRWZtUHJvZmlsZUluZGV4 LAogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggICAgICAgVW5zaWduZWQzMiwK ICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2ICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyAgICAgUm93U3RhdHVzCiAgICAgICAg fQoKICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgICAgU1lO VEFYICAgICAgRWZtUHJvZmlsZUluZGV4CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICIyQkFTRS1UTCBjdXN0b20gc3BlY3RyYWwgbW9kZSBSZWFjaC1SYXRlIHRhYmxlIGluZGV4 LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdp dGggZWFjaCBlbnJ5LiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMSB9 CgogICAgICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUKICAgICAgICBT WU5UQVggICAgICBVbnNpZ25lZDMyKDAuLjgxOTIpCiAgICAgICAgVU5JVFMgICAgICAgIm0iCiAg ICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVu dCBsb29wJ3MgUGh5c2ljYWwgTGVuZ3RoIGluIG1ldGVycwogICAgICAgICAgZm9yIHRoZSBzcGVj aWZpZWQgZGF0YSByYXRlcy4KICAgICAgICAgIEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90 aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Agd2l0aCBhCiAgICAgICAgICBwZXJmZWN0IHNxdWFy ZSByb290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQogICAgICAgICAg YnJpZGdlZCB0YXBzLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMiB9 CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDY2XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgIGVmbUN1UG1lMkJN YXhEYXRhUmF0ZVBhbTE2ICBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVk MzIoMHwxOTIuLjU2OTYpCiAgICAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwgUE1FIGF0 IHRoZSBzcGVjaWZpZWQKICAgICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBU Qy1QQU0xNiBlbmNvZGluZy4KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1lYW5zIHRoYXQg VEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgICAgdXNlZCBhdCB0aGlzIGRp c3RhbmNlLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9CgogICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVgg ICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2KQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIgog ICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJC QVNFLVRMIFBNRSBhdCB0aGUgc3BlY2lmaWVkCiAgICAgICAgICBFcXVpdmFsZW50IGxvb3AncyBM ZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2RpbmcuCiAgICAgICAgICBUaGUgdmFsdWUgb2YgemVy byBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNob3VsZCBub3QgYmUKICAgICAgICAgIHVz ZWQgYXQgdGhpcyBkaXN0YW5jZS4iCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVu dHJ5IDQgfQoKICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQog ICAgICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cwogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAg ICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24vZGVsZXRpb24gb2YgdGhlIGFzc29j aWF0ZWQKICAgICAgICAgIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhl IHNlbWFudGljcyBvZgogICAgICAgICAgUm93U3RhdHVzLgogICAgICAgICAgSWYgYW4gJ2FjdGl2 ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgICAg IGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1v dmVkLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9CgoKICAgICAt LSAxMFBBU1MtVFMgc3BlY2lmaWMgUE1FIGdyb3VwCgogICAgICBlZm1DdVBtZTEwUCAgICAgIE9C SkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDYgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9m aWxlVGFibGUgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1D dVBtZTEwUFByb2ZpbGVFbnRyeQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi VGhpcyB0YWJsZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25maWd1cmF0aW9uIHByb2ZpbGVz IGZvcgogICAgICAgICAgMTBQYXNzVEwgUE1Fcy4KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNjddCgwKSW50ZXJu ZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJy dWFyeSAyMDA3CgoKICAgICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFM TCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWggQW5u ZXggNjJCLjMpOgogICAgICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0t LSstLS0tLS0tLS0tLS0KICAgICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90Y2gg RFJhdGUgVVJhdGUKICAgICAgICAgICBJbmRleCAgUFNETWFzayMgIHAjICAgIHAjICAgICAgICBw IyAgICBwIwogICAgICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSst LS0tLS0tLS0tLS0KICAgICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAg MjAgICAgMjAoZGVmYXVsdCkKICAgICAgICAgICAgIDIgICAgIDEzICAgICAgNSAgICAwICAgICAg ICAgICAgMjAgICAgMjAKICAgICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAg ICAgMjAgICAgMjAKICAgICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAx MDAgICAxMDAKICAgICAgICAgICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAg ICAgNTAKICAgICAgICAgICAgIDYgICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAg MTAKICAgICAgICAgICAgIDcgICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAK ICAgICAgICAgICAgIDggICAgICA4ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgIDUKICAg ICAgICAgICAgIDkgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUKICAgICAg ICAgICAgMTAgICAgICA0ICAgICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUKICAgICAgICAg ICAgMTEgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgMTAgICAgMTAKICAgICAgICAgICAg MTIgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgIDUgICAgIDUKICAgICAgICAgICAgMTMg ICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDAKICAgICAgICAgICAgMTQgICAg IDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAgNzAgICAgNTAKICAgICAgICAgICAgMTUgICAgICA2 ICAgICAgMCAgICAyLDYsMTAsMTEgICAgNTAgICAgMTAKICAgICAgICAgICAgMTYgICAgIDE3ICAg ICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzAKICAgICAgICAgICAgMTcgICAgICA4ICAgICAg MCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUKICAgICAgICAgICAgMTggICAgICA0ICAgICAgMCAg ICAyLDYsMTAsMTEgICAgMjUgICAgMjUKICAgICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAy LDYsMTAsMTEgICAgMTUgICAgMTUKICAgICAgICAgICAgMjAgICAgIDIzICAgICAgMCAgICAyLDUs OSwxMSAgICAgMTAgICAgMTAKICAgICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwx MSAgICAgIDUgICAgIDUKICAgICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAgICAgICAg ICAyMDAgICAgNTAKCiAgICAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3Jl YXRlZCBieSBkdXJpbmcgYWdlbnQKICAgICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5P VCBiZSBkZWxldGVkLgoKICAgICAgICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwg Y2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kCiAgICAgICAgICBkZWxldGVkLCB0byBwcm92 aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikKICAgICAgICAgIHByb2Zp bGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0aW5nIHByb2ZpbGVzLgoKICAgICAgICAgIFRoaXMgdGFi bGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgICAgIFJF RkVSRU5DRQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAuMTEuMi4xLjYiCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRW50 cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRy eQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNw b25kcyB0byBhIHNpbmdsZSAxMFBBU1MtVFMgUE1FCiAgICAgICAgICBwcm9maWxlLgoKCgpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA2OF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgRWFjaCBwcm9maWxlIGNv bnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgogICAgICAgICAgY29u ZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDEwUEFTUy1UUyBQTUUuCiAgICAgICAg ICBJbiBjYXNlIGEgcGFydGljdWxhciBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhCiAgICAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmCiAg ICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBk ZXNpcmVkCiAgICAgICAgICBwYXJhbWV0ZXJzIHRoZSAxMFBhc3NUUy1PIFBNRSBpbml0aWFsaXph dGlvbi4KICAgICAgICAgIElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9w ZXJQcm9maWxlIG9iamVjdCwKICAgICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVyYXRp bmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLgoKICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVh dGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8KICAgICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAgICAg J2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3Rp dmUnCiAgICAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4KICAgICAgICAg IERlZmF1bHQgZW50cmllcyBNVVNUIE5PVCBiZSByZW1vdmVkLiIKICAgICAgICBJTkRFWCB7IGVm bUN1UG1lMTBQUHJvZmlsZUluZGV4IH0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVU YWJsZSAxIH0KCiAgICAgIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDo6PQogICAgICAgIFNFUVVF TkNFIHsKICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9m aWxlSW5kZXgsCiAgICAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVEZXNjciAgICAgICAgICAgU25t cEFkbWluU3RyaW5nLAogICAgICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUg IElOVEVHRVIsCiAgICAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICAgSU5U RUdFUiwKICAgICAgICAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMgICAgICBCSVRTLAog ICAgICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElOVEVHRVIsCiAgICAg ICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwKICAgICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyAgICAgICBSb3dTdGF0dXMKICAgICAgICB9Cgog ICAgICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAg ICAgIEVmbVByb2ZpbGVJbmRleAogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAi MTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4LgogICAgICAgICAgVGhpcyBvYmplY3QgaXMgdGhl IHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgICAgRW50 cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBv cgogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIgogICAgICAgIDo6PSB7IGVmbUN1UG1l MTBQUHJvZmlsZUVudHJ5IDEgfQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgT0JKRUNU LVRZUEUKICAgICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcKICAgICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVND UklQVElPTgogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlv biBhYm91dCAxMFBBU1MtVFMgUE1FCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBp bmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQogICAgICAgICAgYW5kIHNwZWN0cmFs IGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBwcm9maWxlLiIKCgoKQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug NjldCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAg ICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVF bnRyeSAyIH0KCiAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlICBPQkpFQ1Qt VFlQRQogICAgICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICAgICBwcm9maWxlMSgxKSwKICAg ICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgICAgcHJvZmlsZTMoMyksCiAgICAgICAgICBwcm9m aWxlNCg0KSwKICAgICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgICAgcHJvZmlsZTYoNiksCiAg ICAgICAgICBwcm9maWxlNyg3KSwKICAgICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgICAgcHJv ZmlsZTkoOSksCiAgICAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgICAgcHJvZmlsZTExKDEx KSwKICAgICAgICAgIHByb2ZpbGUxMigxMiksCiAgICAgICAgICBwcm9maWxlMTMoMTMpLAogICAg ICAgICAgcHJvZmlsZTE0KDE0KSwKICAgICAgICAgIHByb2ZpbGUxNSgxNSksCiAgICAgICAgICBw cm9maWxlMTYoMTYpLAogICAgICAgICAgcHJvZmlsZTE3KDE3KSwKICAgICAgICAgIHByb2ZpbGUx OCgxOCksCiAgICAgICAgICBwcm9maWxlMTkoMTkpLAogICAgICAgICAgcHJvZmlsZTIwKDIwKSwK ICAgICAgICAgIHByb2ZpbGUyMSgyMSksCiAgICAgICAgICBwcm9maWxlMjIoMjIpLAogICAgICAg ICAgcHJvZmlsZTIzKDIzKSwKICAgICAgICAgIHByb2ZpbGUyNCgyNCksCiAgICAgICAgICBwcm9m aWxlMjUoMjUpLAogICAgICAgICAgcHJvZmlsZTI2KDI2KSwKICAgICAgICAgIHByb2ZpbGUyNygy NyksCiAgICAgICAgICBwcm9maWxlMjgoMjgpLAogICAgICAgICAgcHJvZmlsZTI5KDI5KQogICAg ICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgQmFu ZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUsCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAy LjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAtLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tCiAgICAg ICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5kcyAgICAg QmFuZHBsYW4KICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0KICAgICAgICAgIHByb2ZpbGUxKDEpICAgLSBUMS40MjQv VC1VIFAxIEZUVENhYi5NMSAgeC9EL1UvRC9VICBBCiAgICAgICAgICBwcm9maWxlMigyKSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9U LVUgUDEgRlRUQ2FiLk0yCiAgICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSBQMSBG VFRFeC5NMgogICAgICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0x ICBEL0QvVS9EL1UKICAgICAgICAgIHByb2ZpbGU2KDYpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4 Lk0xCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDcwXQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgICBwcm9m aWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTIKICAgICAgICAgIHByb2ZpbGU4KDgp ICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yCiAgICAgICAgICBwcm9maWxlOSg5KSAgIC0gVDEu NDI0L1QtVSBQMSBGVFRDYWIuTTEgIFUvRC9VL0QveAogICAgICAgICAgcHJvZmlsZTEwKDEwKSAt IFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAgICAgIHByb2ZpbGUxMSgxMSkgLSBUMS40MjQv VC1VIFAxIEZUVENhYi5NMgogICAgICAgICAgcHJvZmlsZTEyKDEyKSAtIFQxLjQyNC9ULVUgUDEg RlRURXguTTIKICAgICAgICAgIHByb2ZpbGUxMygxMykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEu QSAgeC9EL1UvRC9VICBCCiAgICAgICAgICBwcm9maWxlMTQoMTQpIC0gVFMxIDEwMSAyNzAtMSBQ Y2FiLk0xLkIKICAgICAgICAgIHByb2ZpbGUxNSgxNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5N MQogICAgICAgICAgcHJvZmlsZTE2KDE2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xCiAgICAg ICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yCiAgICAgICAgICBwcm9m aWxlMTgoMTgpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTIKICAgICAgICAgIHByb2ZpbGUxOSgx OSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMgogICAgICAgICAgcHJvZmlsZTIwKDIwKSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gKICAgICAgICAgIHByb2ZpbGUyMSgyMSkg LSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQgogICAgICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAx MDEgMjcwLTEgUGV4LlAxLk0xCiAgICAgICAgICBwcm9maWxlMjMoMjMpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDIuTTEKICAgICAgICAgIHByb2ZpbGUyNCgyNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIu TTIKICAgICAgICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMgogICAg ICAgICAgcHJvZmlsZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yCiAgICAgICAgICBw cm9maWxlMjcoMjcpIC0gRy45OTMuMSBGLjEuMi4xIChWRFNMb1BPVFMpIHgvRC9VL0QvVSAgRgog ICAgICAgICAgcHJvZmlsZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNETikK ICAgICAgICAgIHByb2ZpbGUyOSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rpb24p CgogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2Zp bGUgYXR0cmlidXRlCiAgICAgICAgICBpbiBDbGF1c2UgMzAuIgogICAgICAgIFJFRkVSRU5DRQog ICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIgogICAgICAgIDo6PSB7 IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDMgfQoKICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJl bmNlUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggIElOVEVHRVIgewogICAgICAg ICAgcHJvZmlsZTEoMSksCiAgICAgICAgICBwcm9maWxlMigyKSwKICAgICAgICAgIHByb2ZpbGUz KDMpLAogICAgICAgICAgcHJvZmlsZTQoNCksCiAgICAgICAgICBwcm9maWxlNSg1KSwKICAgICAg ICAgIHByb2ZpbGU2KDYpLAogICAgICAgICAgcHJvZmlsZTcoNyksCiAgICAgICAgICBwcm9maWxl OCg4KSwKICAgICAgICAgIHByb2ZpbGU5KDkpCiAgICAgICAgfQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtY3JlYXRlCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNrLU9mZiAoVVBC TykgUmVmZXJlbmNlIFBTRAogICAgICAgICAgUHJvZmlsZSwgYXMgc3BlY2lmaWVkIGluIDgwMi4z YWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMKICAgICAgICAgIGFyZToKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNzFdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAgICAgcHJvZmlsZTEoMSkgICAtIFQx LjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xCiAgICAgICAgICAgIHByb2ZpbGUyKDIpICAgLSBU MS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMgogICAgICAgICAgICBwcm9maWxlMygzKSAgIC0g VDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTEKICAgICAgICAgICAgcHJvZmlsZTQoNCkgICAt IFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yCiAgICAgICAgICAgIHByb2ZpbGU1KDUpICAg LSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCCiAgICAgICAgICAgIHByb2ZpbGU2KDYpICAg LSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQwogICAgICAgICAgICBwcm9maWxlNyg3KSAgIC0g RVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQKICAgICAgICAgICAgcHJvZmlsZTgoOCkgICAtIEVU U0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFCiAgICAgICAgICAgIHByb2ZpbGU5KDkpICAgLSBFVFNJ IFRTIDEwMSAyNzAtMSAgTm9pc2UgRgoKICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRyaWJ1dGUKICAgICAgICAgIGluIENsYXVzZSAzMC4i CiAgICAgICAgUkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjQsIDMw LjUuMS4xLjIzIgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDQgfQoKICAg ICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUKICAgICAgICBTWU5U QVggIEJJVFMgewogICAgICAgICAgcHJvZmlsZTAoMCksCiAgICAgICAgICBwcm9maWxlMSgxKSwK ICAgICAgICAgIHByb2ZpbGUyKDIpLAogICAgICAgICAgcHJvZmlsZTMoMyksCiAgICAgICAgICBw cm9maWxlNCg0KSwKICAgICAgICAgIHByb2ZpbGU1KDUpLAogICAgICAgICAgcHJvZmlsZTYoNiks CiAgICAgICAgICBwcm9maWxlNyg3KSwKICAgICAgICAgIHByb2ZpbGU4KDgpLAogICAgICAgICAg cHJvZmlsZTkoOSksCiAgICAgICAgICBwcm9maWxlMTAoMTApLAogICAgICAgICAgcHJvZmlsZTEx KDExKQogICAgICAgIH0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIjEwUEFTUy1U UyBQTUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3RjaCBQcm9maWxlIGJpdG1hcCwKICAgICAgICAg IGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToK ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLSstLS0tLQogICAgICAgICAgUHJvZmlsZSBOYW1lICAgIEcuOTkxLjMgIFQxLjQyNC9U LVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYKICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJs ZSAgICBUYWJsZSAgICAgIFRhYmxlICAgICAgIChNSHopICAoTUh6KQogICAgICAgICAgLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tCiAg ICAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQogICAgICAgICAgcHJvZmlsZTEoMSkg ICAtIEYtNSAjMDEgIC0gICAgICAgICAgLSAgICAgICAgICAgMS44MTAgIDEuODI1CiAgICAgICAg ICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAxLjgxMCAg Mi4wMDAKICAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAgICAgIC0gICAg ICAgICAgIDEuOTA3ICAxLjkxMgogICAgICAgICAgcHJvZmlsZTQoNCkgICAtIEYtNSAjMDMgIC0g ICAgICAgICAgLSAgICAgICAgICAgMy41MDAgIDMuNTc1CiAgICAgICAgICBwcm9maWxlNSg1KSAg IC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDAKICAgICAgICAg IHByb2ZpbGU2KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAgIDMuNTAwICA0 LjAwMAogICAgICAgICAgcHJvZmlsZTcoNykgICAtIEYtNSAjMDQgIC0gICAgICAgICAgLSAgICAg ICAgICAgMy43NDcgIDMuNzU0CgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDcyXQoMCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNwoK CiAgICAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAgICAgICAtICAgICAgICAg ICAzLjc5MSAgMy44MDUKICAgICAgICAgIHByb2ZpbGU5KDkpICAgLSA2LTIgICAgICAtICAgICAg ICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMAogICAgICAgICAgcHJvZmlsZTEwKDEwKSAtIEYt NSAjMDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAgIDcuMzAwCiAgICAgICAgICBwcm9m aWxlMTEoMTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4xMDAgMTAuMTUw CgogICAgICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQg YnkgT1JpbmcKICAgICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVl IG9mIDB4MDYyMiBzZWxlY3RzCiAgICAgICAgICBwcm9maWxlcyAyLDYsMTAgYW5kIDExLgoKICAg ICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kTm90Y2hQcm9maWxlIGF0dHJpYnV0 ZQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJb ODAyLjNhaF0gQW5uZXggNjJBLjMuNSwgMzAuNS4xLjEuMTkiCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgNSB9CgogICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2Zp bGUgIE9CSkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICAgICBw cm9maWxlNSg1KSwKICAgICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICAgICBwcm9maWxlMTUo MTUpLAogICAgICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgICAgIHByb2ZpbGUyNSgyNSksCiAg ICAgICAgICBwcm9maWxlMzAoMzApLAogICAgICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgICAg IHByb2ZpbGU3MCg3MCksCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCkKICAgICAgICB9CiAgICAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBheWxv YWQgUmF0ZSBQcm9maWxlLAogICAgICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXgg NjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICAgICBwcm9maWxlNSg1KSAgICAgICAt IDIuNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAgIC0gNSBNYnBzCiAgICAgICAg ICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1icHMKICAgICAgICAgICAgcHJvZmlsZTIwKDIw KSAgICAgLSAxMCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUyNSgyNSkgICAgIC0gMTIuNSBNYnBz CiAgICAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJwcwogICAgICAgICAgICBwcm9m aWxlNTAoNTApICAgICAtIDI1IE1icHMKICAgICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAgLSAz NSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcwoKICAgICAgICAg IEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIFVwc3RyZWFtIFBh eWxvYWQKICAgICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUgcGF5bG9h ZCByYXRlIG9mIHRoZQogICAgICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2 ZWQgYmFzZWQgb24gdGhlIGxvb3AKICAgICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQg UFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24KICAgICAgICAgIFNIQUxMIGZhaWwuCgoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA3M10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgVGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3RyZWFtCiAgICAgICAgICBhdHRy aWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAgICJbODAyLjNh aF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgNiB9CgogICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgIE9C SkVDVC1UWVBFCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICAgICBwcm9maWxl NSg1KSwKICAgICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICAgICBwcm9maWxlMTUoMTUpLAog ICAgICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgICAgIHByb2ZpbGUyNSgyNSksCiAgICAgICAg ICBwcm9maWxlMzAoMzApLAogICAgICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgICAgIHByb2Zp bGU3MCg3MCksCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCksCiAgICAgICAgICBwcm9maWxlMTQw KDE0MCksCiAgICAgICAgICBwcm9maWxlMjAwKDIwMCkKICAgICAgICB9CiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRl IFByb2ZpbGUsCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBv c3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgICAgIHByb2ZpbGU1KDUpICAgICAgLSAyLjUgTWJw cwogICAgICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzCiAgICAgICAgICAgIHByb2Zp bGUxNSgxNSkgICAgLSA3LjUgTWJwcwogICAgICAgICAgICBwcm9maWxlMjAoMjApICAgIC0gMTAg TWJwcwogICAgICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzCiAgICAgICAgICAg IHByb2ZpbGUzMCgzMCkgICAgLSAxNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGU1MCg1MCkgICAg LSAyNSBNYnBzCiAgICAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzCiAgICAgICAg ICAgIHByb2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUxNDAoMTQw KSAgLSA3MCBNYnBzCiAgICAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcwoKICAg ICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIERvd25z dHJlYW0KICAgICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRo ZSBwYXlsb2FkIHJhdGUgb2YKICAgICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxlIGNhbm5vdCBi ZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcAogICAgICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbgogICAgICAgICAgU0hBTEwg ZmFpbC4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUGF5bG9hZFJhdGVQcm9m aWxlRG93bnN0cmVhbQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iCiAgICAgICAg UkVGRVJFTkNFCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIx IgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQoKCgpCZWlsaSAgICAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFn ZSA3NF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0 dXMgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMKICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBE RVNDUklQVElPTgogICAgICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uL2RlbGV0 aW9uIG9mIHRoZSBhc3NvY2lhdGVkCiAgICAgICAgICBlbnRyeSBpbiBlZm1DdVBtZTEwUFByb2Zp bGVUYWJsZSBwZXIgdGhlIHNlbWFudGljcyBvZgogICAgICAgICAgUm93U3RhdHVzLgogICAgICAg ICAgSWYgYW4gYWN0aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxl IG9yCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1VU1QgcmVtYWlu ICdhY3RpdmUnIHVudGlsCiAgICAgICAgICBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4iCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOCB9CgoKICAgICAgZWZtQ3VQbWUx MFBTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9G IEVmbUN1UG1lMTBQU3RhdHVzRW50cnkKICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRhYmxlIHJlZmxlY3Rpbmcgc3RhdHVzIG9mIEVGTUN1IDEwUEFTUy1UUyBQTUVzIChtb2Rl bXMpLiIKICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUCAyIH0KCiAgICAgIGVmbUN1UG1lMTBQU3Rh dHVzRW50cnkgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFN0YXR1 c0VudHJ5CiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBbiBlbnRyeSBpbiB0 aGUgRUZNQ3UgMTBQQVNTLVRTIFBNRSBTdGF0dXMgdGFibGUuIgogICAgICAgIEFVR01FTlRTIHsg ZWZtQ3VQbWVTdGF0dXNFbnRyeSB9CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNUYWJs ZSAxIH0KCiAgICAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkgOjo9CiAgICAgICAgU0VRVUVOQ0Ug ewogICAgICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MgICAgIENvdW50ZXIzMiwK ICAgICAgICAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVyMzIKICAg ICAgICB9CgogICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUK ICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQgRkVDIGNvZGV3b3JkcyBpbiAx MFBBU1MtVFMKICAgICAgICAgIFBNRS4KCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQ TUVGRUNDb3JyZWN0ZWRCbG9ja3MgYXR0cmlidXRlIGluCiAgICAgICAgICBjbGF1c2UgMzAuCgoK CgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA3NV0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVy ZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgICAg IHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyBjb3JyZWN0YWJsZSBlcnJvcnMK ICAgICAgICAgIHJlZ2lzdGVyCgogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICAgICByZS1pbml0aWFsaXphdGlv biBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgICAg YXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwK ICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICAgICBSRUZFUkVOQ0UKICAgICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCIKICAgICAgICA6Oj0geyBlZm1DdVBt ZTEwUFN0YXR1c0VudHJ5IDEgfQoKICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2Nr cyAgT0JKRUNULVRZUEUKICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkKICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVT Q1JJUFRJT04KICAgICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMgaW4g MTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlCiAgICAgICAgICB1bmNvcnJlY3RhYmxlLgoKICAgICAg ICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmli dXRlIGluCiAgICAgICAgICBjbGF1c2UgMzAuCgogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgICAgIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycwogICAgICAg ICAgcmVnaXN0ZXIKCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRo aXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRo ZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAg ICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgICAgIFJFRkVSRU5DRQogICAgICAgICAgIls4MDIu M2FoXSA0NS4yLjEuMjMsIDMwLjExLjIuMS45IgogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQU3Rh dHVzRW50cnkgMiB9CgogICAgIC0tCiAgICAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cwogICAg IC0tCgogICAgICBlZm1DdUdyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1 Q29uZm9ybWFuY2UgMSB9CgogICAgICBlZm1DdUNvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVS IDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9CgogICAgICAtLSBPYmplY3QgR3JvdXBzCgogICAg ICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAg ICBlZm1DdVBBRlN1cHBvcnRlZCwKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzZdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLAogICAgICAgICAgZWZtQ3VUYXJnZXREYXRh UmF0ZSwKICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLAogICAgICAgICAgZWZtQ3VBZGFwdGl2 ZVNwZWN0cmEsCiAgICAgICAgICBlZm1DdVBvcnRTaWRlLAogICAgICAgICAgZWZtQ3VGbHRTdGF0 dXMKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgICAgIERFU0NSSVBU SU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcmVwcmVzZW50aW5nIG1hbmFn ZW1lbnQgaW5mb3JtYXRpb24KICAgICAgICAgIGNvbW1vbiBmb3IgYWxsIHR5cGVzIG9mIEVGTUN1 IHBvcnRzLiIKICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0KCiAgICAgIGVmbUN1UEFGR3Jv dXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBlZXJQQUZT dXBwb3J0ZWQsCiAgICAgICAgICBlZm1DdVBBRkNhcGFjaXR5LAogICAgICAgICAgZWZtQ3VQZWVy UEFGQ2FwYWNpdHksCiAgICAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUsCiAgICAgICAgICBlZm1D dVBBRkRpc2NvdmVyeUNvZGUsCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUs CiAgICAgICAgICBlZm1DdU51bVBNRXMKICAgICAgICB9CiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgc3VwcG9ydGluZyBPUFRJT05BTCBQTUUKICAgICAgICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9u IChQQUYpIGFuZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1IHBvcnRzLiIKICAgICAgICA6Oj0geyBl Zm1DdUdyb3VwcyAyIH0KCiAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAgT0JKRUNULUdST1VQCiAg ICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBBRkluRXJyb3JzLAogICAgICAgICAgZWZt Q3VQQUZJblNtYWxsRnJhZ21lbnRzLAogICAgICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRz LAogICAgICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cywKICAgICAgICAgIGVmbUN1UEFGSW5M b3N0RnJhZ21lbnRzLAogICAgICAgICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMsCiAgICAgICAgICBl Zm1DdVBBRkluTG9zdEVuZHMsCiAgICAgICAgICBlZm1DdVBBRkluT3ZlcmZsb3dzCiAgICAgICAg fQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcgT1BUSU9OQUwgZXJyb3IgY291 bnRlcnMKICAgICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iCiAgICAgICAgOjo9IHsgZWZt Q3VHcm91cHMgMyB9CgogICAgICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9C SkVDVFMgewoKCgpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIw MDcgICAgICAgICAgICAgICBbUGFnZSA3N10KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVG TUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsCiAgICAg ICAgICBlZm1DdVBtZUZsdFN0YXR1cywKICAgICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0 ZWQsCiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwKICAgICAgICAgIGVmbUN1UG1lT3Bl clN1YlR5cGUsCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsCiAgICAgICAg ICBlZm1DdVBtZU9wZXJQcm9maWxlLAogICAgICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAgICAg ICBlZm1DdVBtZVBlZXJTbnJNZ24sCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sCiAgICAgICAg ICBlZm1DdVBtZVBlZXJMaW5lQXRuLAogICAgICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3Ro LAogICAgICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycywKICAgICAgICAgIGVmbUN1UG1lVEND cmNFcnJvcnMsCiAgICAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sCiAgICAgICAgICBlZm1D dVBtZVRocmVzaFNuck1nbgogICAgICAgIH0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92 aWRpbmcgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgICAgIGEgMkJBU0UtVEwvMTBQQVNTLVRTIFBN RS4iCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9CgogICAgICBlZm1DdUFsYXJtQ29uZkdy b3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9CSkVDVFMgewogICAgICAgICAgZWZtQ3VUaHJlc2hM b3dSYXRlLAogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUsCiAgICAgICAgICBl Zm1DdVBtZVRocmVzaExpbmVBdG4sCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0Vu YWJsZSwKICAgICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduLAogICAgICAgICAgZWZtQ3VQbWVT bnJNZ25Dcm9zc2luZ0VuYWJsZSwKICAgICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUs CiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlLAogICAgICAgICAgZWZtQ3VQ bWVQcm90b2NvbEluaXRGYWlsRW5hYmxlCiAgICAgICAgfQogICAgICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmpl Y3RzIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvZiBhbGFybQogICAgICAgICAgdGhyZXNob2xk cyBhbmQgbm90aWZpY2F0aW9ucyBpbiBFRk1DdSBwb3J0cy4iCiAgICAgICAgOjo9IHsgZWZtQ3VH cm91cHMgNSB9CgogICAgICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElPTi1HUk9V UAogICAgICAgIE5PVElGSUNBVElPTlMgewogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcs CiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZywKICAgICAgICAgIGVmbUN1UG1lU25y TWduQ3Jvc3NpbmcsCiAgICAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LAoKCgpCZWlsaSAgICAg ICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFn ZSA3OF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bHVyZSwKICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQogICAtLSAgICAgICBl Zm1DdVBtZURldmljZUZhdWx0LAogICAtLSAgICAgICBlZm1DdVBtZUxvY2FsUG93ZXJMb3NzCiAg ICAgICAgfQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgog ICAgICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9ydHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZpY2Fu dCBjb25kaXRpb25zCiAgICAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIgogICAg ICAgIDo6PSB7IGVmbUN1R3JvdXBzIDYgfQoKICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBP QkpFQ1QtR1JPVVAKICAgICAgICBPQkpFQ1RTIHsKICAgICAgICAgIGVmbUN1UG1lMkJQcm9maWxl RGVzY3IsCiAgICAgICAgICBlZm1DdVBtZTJCUmVnaW9uLAogICAgICAgICAgZWZtQ3VQbWUyQnNN b2RlLAogICAgICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLAogICAgICAgICAgZWZtQ3VQbWUy Qk1heERhdGFSYXRlLAogICAgICAgICAgZWZtQ3VQbWUyQlBvd2VyLAogICAgICAgICAgZWZtQ3VQ bWUyQkNvbnN0ZWxsYXRpb24sCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywK ICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyLAogICAgICAgICAgZWZtQ3VQbWUyQnNNb2Rl Um93U3RhdHVzLAogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGgsCiAgICAgICAg ICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiwKICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRh UmF0ZVBhbTMyLAogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cwogICAgICAg IH0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAg ICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0 aW9uCiAgICAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRz LiIKICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQoKICAgICAgZWZtQ3VQbWUxMFBQcm9maWxl R3JvdXAgT0JKRUNULUdST1VQCiAgICAgICAgT0JKRUNUUyB7CiAgICAgICAgICBlZm1DdVBtZTEw UFByb2ZpbGVEZXNjciwKICAgICAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxl LAogICAgICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwKICAgICAgICAgIGVm bUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsCiAgICAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRV UmF0ZVByb2ZpbGUsCiAgICAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsCiAg ICAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMKICAgICAgICB9CiAgICAgICAgU1RB VFVTICBjdXJyZW50CiAgICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICJBIGNvbGxlY3Rpb24g b2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0aW9uCiAgICAgICAgICBwcm9m aWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDEwUEFTUy1UUyBwb3J0cy4iCgoKCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDc5XQoMCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNwoKCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9Cgog ICAgICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUAogICAgICAgIE9CSkVDVFMg ewogICAgICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MsCiAgICAgICAgICBlZm1D dVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzCiAgICAgICAgfQogICAgICAgIFNUQVRVUyAgY3Vy cmVudAogICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVj dHMgcHJvdmlkaW5nIHN0YXR1cyBpbmZvcm1hdGlvbgogICAgICAgICAgc3BlY2lmaWMgdG8gMTBQ QVNTLVRTIFBNRXMuIgogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQoKICAgICAtLSBDb21w bGlhbmNlIFN0YXRlbWVudHMKCiAgICAgIGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUtQ09NUExJQU5D RQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICAgICBERVNDUklQVElPTgogICAgICAg ICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgMkJBU0UtVEwvMTBQQVNTLVRTIGludGVy ZmFjZXMuCiAgICAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBj b21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgICAgIGlzIFJFUVVJUkVEOgoKICAgICAgICAgIE1J QiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQKICAgICAgICAgIC0tLS0t LS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgIElGLU1JQiAg ICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMwogICAgICAgICAgRXRoZXJMaWtlLU1JQiAgICAg ICAgICBkb3QzQ29tcGxpYW5jZTIKICAgICAgICAgIE1BVS1NSUIgICAgICAgICAgICAgICAgbWF1 TW9kSWZDb21wbDMKCiAgICAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRl cm5hbCBjb21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgICAgIGlzIE9QVElPTkFMIGZvciBpbXBs ZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24KICAgICAgICAgIEZ1bmN0aW9u IChQQUYpIHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdCBiZXR3ZWVuIHRoZSBQQ1MKICAgICAg ICAgIGFuZCBQTUUgcG9ydHM6CgogICAgICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21w bGlhbmNlIFN0YXRlbWVudAogICAgICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0t LS0tLS0tLS0tLS0tLQogICAgICAgICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBs aWFuY2UKICAgICAgICAgIElGLUNBUC1TVEFDSy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFu Y2UiCgogICAgICAgIE1PRFVMRSAgLS0gdGhpcyBtb2R1bGUKICAgICAgICAgIE1BTkRBVE9SWS1H Uk9VUFMgewogICAgICAgICAgICBlZm1DdUJhc2ljR3JvdXAsCiAgICAgICAgICAgIGVmbUN1UG1l R3JvdXAsCiAgICAgICAgICAgIGVmbUN1QWxhcm1Db25mR3JvdXAsCiAgICAgICAgICAgIGVmbUN1 Tm90aWZpY2F0aW9uR3JvdXAKICAgICAgICAgIH0KCiAgICAgICAgICBHUk9VUCAgICAgICBlZm1D dVBtZTJCUHJvZmlsZUdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgoKCgpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjIsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4 MF0KDApJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcKCgogICAgICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91 cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9y dGluZyAyQkFTRS1UTCBQaHkuIgoKICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJv ZmlsZUdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAg ICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiIKCiAgICAgICAgICBHUk9VUCAgICAgICBlZm1D dVBBRkdyb3VwCiAgICAgICAgICBERVNDUklQVElPTgogICAgICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcgogICAgICAgICAgICBpbXBsZW1lbnRhdGlv bnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikuIgoKICAgICAgICAg IEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAKICAgICAgICAgIERFU0NSSVBUSU9OCiAg ICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBpbXBsZW1l bnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24g KFBBRikuIgoKICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAKICAg ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlz IE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgICAgc3VwcG9ydGluZyAxMFBB U1MtVFMgUGh5LiIKCiAgICAgICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9y dGVkCiAgICAgICAgICBTWU5UQVggICAgICBCSVRTIHsKICAgICAgICAgICAgaWVlZTJCYXNlVExP KDApLAogICAgICAgICAgICBpZWVlMkJhc2VUTFIoMSksCiAgICAgICAgICAgIGllZWUxMFBhc3NU U08oMiksCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IoMykKICAgICAgICAgIH0KICAgICAgICAg IERFU0NSSVBUSU9OCiAgICAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3VidHlwZXMgaXMgbm90 IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0CiAgICAgICAgICAgIG9uZSB2YWx1ZSBTSEFMTCBi ZSBzdXBwb3J0ZWQiCgogICAgICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUK ICAgICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgICAgREVTQ1JJUFRJT04KICAg ICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQ TUVzCiAgICAgICAgICAgIHN1cHBvcnRpbmcgbW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUsIGUu Zy4KICAgICAgICAgICAgaWVlZTJCYXNlVExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVlZTEwUGFz c1RTTyBhbmQKICAgICAgICAgICAgaWVlZTEwUGFzc1RTUikiCgogICAgICAgICAgT0JKRUNUICAg ICAgZWZtQ3VUYXJnZXRTbnJNZ24KICAgICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAg ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJT05BTC4g Rm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MKICAgICAgICAgICAgdGhlIHRhcmdldCBTTlIg bWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVkQiBmb3IgMkJBU0UtVEwKICAgICAgICAgICAgYW5k IDZkQiBmb3IgMTBQQVNTLVRTLiIKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODFdCgwKSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 CgoKICAgICAgICAgIE9CSkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhCiAgICAgICAgICBN SU4tQUNDRVNTICByZWFkLW9ubHkKICAgICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICAgICJX cml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAg ICAgICAgICAgIHRoZSBkZWZhdWx0IHZhbHVlIFNIT1VMRCBiZSBmYWxzZS4iCgogICAgICAgIDo6 PSB7IGVmbUN1Q29tcGxpYW5jZXMgMSB9CiAgIEVORAoKCgoKNy4gIFNlY3VyaXR5IENvbnNpZGVy YXRpb25zCgogICBUaGVyZSBpcyBhIG51bWJlciBvZiBtYW5hZ2VkIG9iamVjdHMgZGVmaW5lZCBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUKICAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBjbGF1c2Ug b2YgcmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4gIE1vc3QKICAgb2JqZWN0cyBhcmUgd3JpdGVh YmxlIG9ubHkgd2hlbiB0aGUgbGluayBpcyBEb3duLiAgV3JpdGluZyB0byB0aGVzZQogICBvYmpl Y3RzIGNhbiBoYXZlIHBvdGVudGlhbGx5IGRpc3J1cHRpdmUgZWZmZWN0cyBvbiBuZXR3b3JrIG9w ZXJhdGlvbiwKICAgZm9yIGV4YW1wbGU6CgogICBvICBDaGFuZ2luZyBvZiBlZm1DdVBtZUFkbWlu U3ViVHlwZSBtYXkgbGVhZCB0byBhIHBvdGVudGlhbCBsb2NraW5nCiAgICAgIG9mIHRoZSBsaW5r LCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNhbWUgc3ViLXR5cGUgY2Fubm90IGV4Y2hhbmdlCiAgICAg IGhhbmRzaGFrZSBtZXNzYWdlcy4KCiAgIG8gIENoYW5naW5nIG9mIGVmbUN1UEFGQWRtaW5TdGF0 ZSB0byBlbmFibGVkIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsCiAgICAgIGxvY2tpbmcgb2YgdGhl IGxpbmssIGlmIHRoZSBwZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBBRi4KCiAgIG8gIENoYW5n aW5nIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRoZSBkaXNjb3Zlcnkgb3BlcmF0 aW9uLAogICAgICBtYXkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2NvdmVyeSwgZm9yIGV4YW1wbGUg d2hlbiB0d28gLU8gcG9ydHMKICAgICAgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBtdWx0aS1Q TUUgLVIgcG9ydCBhbmQgYm90aCAtTyBwb3J0cyBoYXZlCiAgICAgIHRoZSBzYW1lIERpc2NvdmVy eSByZWdpc3RlciB2YWx1ZS4KCiAgIG8gIENoYW5naW5nIFBDUyBvciBQTUUgY29uZmlndXJhdGlv biBwYXJhbWV0ZXJzIChlLmcuIHByb2ZpbGUgb2YgYQogICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1D dUFkbWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJvZmlsZSkgbWF5IGxlYWQKICAgICAgdG8g YW55dGhpbmcgZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJhdGUgZGVncmFkYXRpb24gdG8gYSBjb21w bGV0ZQogICAgICBsaW5rIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsIGFzIGFiaWxpdHkgb2YgYW4g RUZNQ3UgcG9ydCB0bwogICAgICBzdXBwb3J0IGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIGRl cGVuZHMgb24gdGhlIGNvcHBlcgogICAgICBlbnZpcm9ubWVudC4KCiAgIG8gIEFjdGl2YXRpb24g b2YgYSBQTUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0aW9uIG9mIHNlcnZpY2UgZm9yCiAg ICAgIGFub3RoZXIgRUZNQ3UgUGh5LCB3aG9zZSBQTUUocykgbWF5IGJlIGFmZmVjdGVkIGJ5IHRo ZSBjcm9zcy10YWxrCiAgICAgIGZyb20gdGhlIG5ld2x5IGFjdGl2YXRlZCBQTUUuCgogICBvICBS ZW1vdmFsIG9mIGEgUE1FIGZyb20gYW4gb3BlcmF0aW9uYWxseSAndXAnIEVGTUN1IHBvcnQsCiAg ICAgIGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1FcywgbWF5IGNhdXNlIHBvcnQncyByYXRlIGRlZ3Jh ZGF0aW9uCgogICBUaGUgdXNlciBvZiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgbXVzdCB0aGVyZWZv cmUgYmUgYXdhcmUgdGhhdAogICBzdXBwb3J0IGZvciBTRVQgb3BlcmF0aW9ucyBpbiBhIG5vbi1z ZWN1cmUgZW52aXJvbm1lbnQgd2l0aG91dCBwcm9wZXIKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODJdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgcHJvdGVjdGlvbiBjYW4gaGF2ZSBhIG5lZ2F0aXZlIGVmZmVjdCBv biBuZXR3b3JrIG9wZXJhdGlvbnMuCgogICBUaGUgcmVhZGFibGUgb2JqZWN0cyBpbiB0aGUgRUZN LUNVLU1JQiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLQogICBBQ0NFU1Mgb3RoZXIgdGhh biBub3QtYWNjZXNzaWJsZSkgbWF5IGJlIGNvbnNpZGVyZWQgc2Vuc2l0aXZlIGluIHNvbWUKICAg ZW52aXJvbm1lbnRzIHNpbmNlLCBjb2xsZWN0aXZlbHksIHRoZXkgcHJvdmlkZSBpbmZvcm1hdGlv biBhYm91dCB0aGUKICAgcGVyZm9ybWFuY2Ugb2YgbmV0d29yayBpbnRlcmZhY2VzIGFuZCBjYW4g cmV2ZWFsIHNvbWUgYXNwZWN0cyBvZgogICB0aGVpciBjb25maWd1cmF0aW9uLiAgSW4gcGFydGlj dWxhciwgc2luY2UgRUZNQ3UgY2FuIGJlIGNhcnJpZWQgb3ZlcgogICBVbnNoaWVsZGVkIFR3aXN0 ZWQgUGFpciAoVVRQKSB2b2ljZSBncmFkZSBjb3BwZXIgaW4gYSBidW5kbGUgd2l0aAogICBvdGhl ciBwYWlycyBiZWxvbmdpbmcgdG8gYW5vdGhlciBvcGVyYXRvci9jdXN0b21lciwgaXQgaXMKICAg dGhlb3JldGljYWxseSBwb3NzaWJsZSB0byBldmFzZHJvcCB0byBhbiBFRk1DdSB0cmFuc21pc3Np b24gc2ltcGx5IGJ5CiAgICJsaXN0ZW5pbmciIHRvIGEgY3Jvc3MtdGFsayBmcm9tIHRoZSBFRk1D dSBwYWlycywgZXNwZWNpYWxseSBpZiB0aGUKICAgcGFyYW1ldGVycyBvZiB0aGUgRUZNQ3UgbGlu ayBpbiBxdWVzdGlvbiBhcmUga25vd24uCgogICBJbiBzdWNoIGVudmlyb25tZW50cyBpdCBpcyBp bXBvcnRhbnQgdG8gY29udHJvbCBhbHNvIEdFVCBhbmQgTk9USUZZCiAgIGFjY2VzcyB0byB0aGVz ZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVuIHRvIGVuY3J5cHQgdGhlaXIgdmFsdWVzCiAgIHdo ZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5ldHdvcmsgdmlhIFNOTVAuCgogICBTTk1QIHZlcnNp b25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2VjdXJpdHkuCiAg IEV2ZW4gaWYgdGhlIG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9yIGV4YW1wbGUgYnkgdXNp bmcgSVBzZWMpLAogICBldmVuIHRoZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9u IHRoZSBzZWN1cmUgbmV0d29yayBpcwogICBhbGxvd2VkIHRvIGFjY2VzcyBhbmQgR0VUL1NFVCAo cmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMKICAgaW4gdGhlc2UgTUlCIG1v ZHVsZXMuCgogICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVudGVycyBjb25zaWRlciB0 aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMKICAgcHJvdmlkZWQgYnkgdGhlIFNOTVB2MyBmcmFtZXdv cmsgKHNlZSBbUkZDMzQxMF0sIHNlY3Rpb24gOCksCiAgIGluY2x1ZGluZyBmdWxsIHN1cHBvcnQg Zm9yIHRoZSBTTk1QdjMgY3J5cHRvZ3JhcGhpYyBtZWNoYW5pc21zIChmb3IKICAgYXV0aGVudGlj YXRpb24gYW5kIHByaXZhY3kpLgoKICAgRnVydGhlciwgZGVwbG95bWVudCBvZiBTTk1QIHZlcnNp b25zIHByaW9yIHRvIFNOTVB2MyBpcyBOT1QKICAgUkVDT01NRU5ERUQuICBJbnN0ZWFkLCBpdCBp cyBSRUNPTU1FTkRFRCB0byBkZXBsb3kgU05NUHYzIGFuZCB0bwogICBlbmFibGUgY3J5cHRvZ3Jh cGhpYyBzZWN1cml0eS4gIEl0IGlzIHRoZW4gYSBjdXN0b21lci9vcGVyYXRvcgogICByZXNwb25z aWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGUgU05NUCBlbnRpdHkgZ2l2aW5nIGFjY2VzcyB0byBh bgogICBpbnN0YW5jZSBvZiB0aGVzZSBNSUIgbW9kdWxlcyBpcyBwcm9wZXJseSBjb25maWd1cmVk IHRvIGdpdmUgYWNjZXNzCiAgIHRvIHRoZSBvYmplY3RzIG9ubHkgdG8gdGhvc2UgcHJpbmNpcGFs cyAodXNlcnMpIHRoYXQgaGF2ZSBsZWdpdGltYXRlCiAgIHJpZ2h0cyB0byBpbmRlZWQgR0VUIG9y IFNFVCAoY2hhbmdlL2NyZWF0ZS9kZWxldGUpIHRoZW0uCgoKOC4gIElBTkEgQ29uc2lkZXJhdGlv bnMKCiAgIFRoZSB0d28gbmV3IHZhbHVlcyBvZiBkb3QzTWF1VHlwZSAoZG90M01hdVR5cGUyQmFz ZVRMIGFuZAogICBkb3QzTWF1VHlwZTEwUGFzc1RTKSBhbmQgY29ycmVzcG9uZGluZyBJQU5BaWZN YXVUeXBlTGlzdEJpdHMgYml0CiAgIGRlZmluaXRpb25zIChiMkJhc2VUTCBhbmQgYjEwUGFzc1RT KSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBmb3IKICAgSUFOQWlmTWF1TWVkaWFBdmFpbGFi bGUgKGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5KSBTSEFMTCBiZSBkZWZpbmVkCiAgIGJ5IHRo ZSBJQU5BIGluIHRoZSBJQU5BLU1BVS1NSUIgbW9kdWxlIChzZWUgW0ktRC5pZXRmLWh1Ym1pYi0K ICAgcmZjMzYzNmJpc10pIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxpc2hlZCBhcyBhbiBS RkMuCgogICBBZGRpdGlvbmFsbHksIG9iamVjdCBpZGVudGlmaWVycyBmb3IgZWZtQ3VNSUIgTU9E VUxFLUlERU5USVRZIGFuZAogICBpZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBTSEFMTCBi ZSBhbGxvY2F0ZWQgYnkgSUFOQSBpbiB0aGUgTUlCLTIKCgoKQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODNdCgwKSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3CgoKICAgc3ViLXRyZWUsIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxp c2hlZC4KCgo5LiAgQWNrbm93bGVkZ21lbnRzCgogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9kdWNl ZCBieSB0aGUgSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWIKICAgTUlCIFdvcmtpbmcg R3JvdXAgWzFdLCB3aG9zZSBlZmZvcnRzIHdlcmUgZ3JlYXRseSBhZHZhbmNlZCBieSB0aGUKICAg Y29udHJpYnV0aW9ucyBvZiB0aGUgZm9sbG93aW5nIHBlb3BsZSAoaW4gYWxwaGFiZXRpY2FsIG9y ZGVyKToKCiAgICAgIEJlcnQgV2lqbmVuIChBbGNhdGVsKQoKICAgICAgRGFuIFJvbWFzY2FudSAo QXZheWEpCgogICAgICBNYXJpbmEgUG9waWxvdiAoQWN0ZWxpcykKCiAgICAgIE1hdGhpYXMgUmll c3MgKEluZmluZW9uKQoKICAgICAgTWF0dCBTcXVpcmUgKEhhdHRlcmFzKQoKICAgICAgTWlrZSBI ZWFyZAoKICAgICAgVWRpIEFzaGtlbmF6aSAoQWN0ZWxpcykKCgoxMC4gIE5vdGVzIHRvIFJGQyBF ZGl0b3IKCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBub3RlcyB0byB0aGUgUkZDIEVkaXRvciBh bmQgc2hvdWxkIGJlIHJlbW92ZWQKICAgcHJpb3IgdG8gcHVibGljYXRpb24uCgogICAgICBQbGVh c2UgcmVwbGFjZSBbSS1ELmlldGYtaHVibWliLWVmbS1taWJdIGFuZCBbSS1ELmlldGYtaHVibWli LQogICAgICByZmMzNjM2YmlzXSB3aXRoIGFjdHVhbCBSRkMgbnVtYmVycyBpZiB0aG9zZSBhcmUg YXZhaWxhYmxlIGF0IHRpbWUKICAgICAgb2YgcHVibGljYXRpb24uCgoKMTEuICBSZWZlcmVuY2Vz CgoxMS4xLiAgTm9ybWF0aXZlIFJlZmVyZW5jZXMKCiAgIFs4MDIuM10gICAgSUVFRSwgIklFRUUg U3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLQogICAgICAgICAgICAgIFRlbGVj b21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbgogICAgICAgICAg ICAgIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVj aWZpYwogICAgICAgICAgICAgIHJlcXVpcmVtZW50cyAtIFBhcnQgMzogQ2FycmllciBTZW5zZSBN dWx0aXBsZSBBY2Nlc3Mgd2l0aAogICAgICAgICAgICAgIENvbGxpc2lvbiBEZXRlY3Rpb24gKENT TUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsCiAgICAgICAgICAgICAgTGF5ZXIgU3Bl Y2lmaWNhdGlvbnMiLCBJRUVFIFN0ZCA4MDIuMy0yMDA1LCBEZWNlbWJlciAyMDA1LgoKICAgWzgw Mi4zYWhdICBJRUVFLCAiSUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAt CiAgICAgICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5n ZSBiZXR3ZWVuCiAgICAgICAgICAgICAgc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4g YXJlYSBuZXR3b3JrcyAtIFNwZWNpZmljCgoKCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyMiwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDg0XQoMCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNwoKCiAgICAgICAgICAgICAgcmVxdWlyZW1lbnRzIC0gUGFydCAzOiBDYXJyaWVyIFNlbnNl IE11bHRpcGxlIEFjY2VzcyB3aXRoCiAgICAgICAgICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAo Q1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwKICAgICAgICAgICAgICBMYXllciBT cGVjaWZpY2F0aW9ucyAtIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wKICAgICAgICAg ICAgICBQYXJhbWV0ZXJzLCBQaHlzaWNhbCBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVy cyBmb3IKICAgICAgICAgICAgICBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcyIsIElFRUUgU3Rk IDgwMi4zYWgtMjAwNCwKICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNC4KCiAgIFtJLUQuaWV0 Zi1odWJtaWItcmZjMzYzNmJpc10KICAgICAgICAgICAgICBCZWlsaSwgRS4sICJEZWZpbml0aW9u cyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMKICAgICAgICAgICAgICBNZWRpdW0g QXR0YWNobWVudCBVbml0cyAoTUFVcykiLAogICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWli LXJmYzM2MzZiaXMtMDUgKHdvcmsgaW4gcHJvZ3Jlc3MpLAogICAgICAgICAgICAgIEp1bHkgMjAw Ni4KCiAgIFtSRkMyMTE5XSAgQnJhZG5lciwgUy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNz IHRvIEluZGljYXRlCiAgICAgICAgICAgICAgUmVxdWlyZW1lbnQgTGV2ZWxzIiwgQkNQIDE0LCBS RkMgMjExOSwgTWFyY2ggMTk5Ny4KCiAgIFtSRkMyNTc4XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBTY2hvZW53YWVsZGVyLCBKLiwgQ2FzZSwgSi4sCiAgICAgICAgICAgICAgTWNDbG9n aHJpZSwgSy4sIFJvc2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgIlN0cnVjdHVyZSBvZgogICAg ICAgICAgICAgIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lvbiAyIChTTUl2MikiLCBTVEQg NTgsCiAgICAgICAgICAgICAgUkZDIDI1NzgsIEFwcmlsIDE5OTkuCgogICBbUkZDMjU3OV0gIE1j Q2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENhc2UsIEouLAog ICAgICAgICAgICAgIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIs ICJUZXh0dWFsCiAgICAgICAgICAgICAgQ29udmVudGlvbnMgZm9yIFNNSXYyIiwgU1REIDU4LCBS RkMgMjU3OSwgQXByaWwgMTk5OS4KCiAgIFtSRkMyNTgwXSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBhbmQgSi4gU2Nob2Vud2FlbGRlciwKICAgICAgICAgICAgICAiQ29uZm9ybWFuY2Ug U3RhdGVtZW50cyBmb3IgU01JdjIiLCBTVEQgNTgsIFJGQyAyNTgwLAogICAgICAgICAgICAgIEFw cmlsIDE5OTkuCgogICBbUkZDMzQxMF0gIENhc2UsIEouLCBNdW5keSwgUi4sIFBhcnRhaW4sIEQu LCBhbmQgQi4gU3Rld2FydCwKICAgICAgICAgICAgICAiSW50cm9kdWN0aW9uIGFuZCBBcHBsaWNh YmlsaXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LQogICAgICAgICAgICAgIFN0YW5kYXJkIE1h bmFnZW1lbnQgRnJhbWV3b3JrIiwgUkZDIDM0MTAsIERlY2VtYmVyIDIwMDIuCgoxMS4yLiAgSW5m b3JtYXRpdmUgUmVmZXJlbmNlcwoKICAgW0FORlBdICAgICBOZXR3b3JrIEludGVyb3BlcmFiaWxp dHkgQ29uc3VsdGF0aXZlIENvbW1pdHRlZSAoTklDQyksCiAgICAgICAgICAgICAgIlNwZWNpZmlj YXRpb24gb2YgdGhlIEFjY2VzcyBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQKQogICAgICAg ICAgICAgIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNzaW9uIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQg QWNjZXNzCiAgICAgICAgICAgICAgTmV0d29yayIsIE5JQ0MgRG9jdW1lbnQgTkQxNjAyOjIwMDUv MDgsIEF1Z3VzdCAyMDA1LgoKICAgW0cuOTkxLjJdICBJVFUtVCwgIlNpbmdsZS1wYWlyIEhpZ2gt c3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUKICAgICAgICAgICAgICAoU0hEU0wpIHRyYW5z Y2VpdmVycyIsIElUVS1UIFJlY29tbWVuZGF0aW9uIEcuOTkxLjIsCiAgICAgICAgICAgICAgRGVj ZW1iZXIgMjAwMy4KCiAgIFtHLjk5My4xXSAgSVRVLVQsICJWZXJ5IEhpZ2ggc3BlZWQgRGlnaXRh bCBTdWJzY3JpYmVyIExpbmUKICAgICAgICAgICAgICB0cmFuc2NlaXZlcnMiLCBJVFUtVCBSZWNv bW1lbmRhdGlvbiBHLjk5My4xLCBKdW5lIDIwMDQuCgogICBbSS1ELmlldGYtaHVibWliLWVmbS1l cG9uLW1pYl0KCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgODVdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKICAgICAgICAg ICAgICBLaGVybW9zaCwgTC4sICJNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiIsCiAgICAgICAgICAg ICAgZHJhZnQtaWV0Zi1odWJtaWItZWZtLWVwb24tbWliLTA2ICh3b3JrIGluIHByb2dyZXNzKSwK ICAgICAgICAgICAgICBOb3ZlbWJlciAyMDA2LgoKICAgW0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWli XQogICAgICAgICAgICAgIFNxdWlyZSwgTS4sICJEZWZpbml0aW9ucyBhbmQgTWFuYWdlZCBPYmpl Y3RzIGZvciBPQU0KICAgICAgICAgICAgICBGdW5jdGlvbnMgb24gRXRoZXJuZXQgTGlrZSBJbnRl cmZhY2VzIiwKICAgICAgICAgICAgICBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tbWliLTA1ICh3b3Jr IGluIHByb2dyZXNzKSwKICAgICAgICAgICAgICBPY3RvYmVyIDIwMDYuCgogICBbSUFOQWlmVHlw ZS1NSUJdCiAgICAgICAgICAgICAgSW50ZXJuZXQgQXNzaWduZWQgTnVtYmVycyBBdXRob3JpdHkg KElBTkEpLCAiSUFOQWlmVHlwZQogICAgICAgICAgICAgIFRleHR1YWwgQ29udmVudGlvbiBkZWZp bml0aW9uIiwKICAgICAgICAgICAgICAgaHR0cDovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9p YW5haWZ0eXBlLW1pYi4KCiAgIFtSRkMyODYzXSAgTWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3Rl bmhvbHosICJUaGUgSW50ZXJmYWNlcyBHcm91cAogICAgICAgICAgICAgIE1JQiIsIFJGQyAyODYz LCBKdW5lIDIwMDAuCgogICBbUkZDMjg2NF0gIE1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24s ICJUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUKICAgICAgICAgICAgICBFeHRlbnNpb24gdG8gdGhl IEludGVyZmFjZXMgR3JvdXAgTUlCIiwgUkZDIDI4NjQsCiAgICAgICAgICAgICAgSnVuZSAyMDAw LgoKICAgW1JGQzM2MzVdICBGbGljaywgSi4sICJEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVj dHMgZm9yIHRoZQogICAgICAgICAgICAgIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzIiwg UkZDIDM2MzUsIFNlcHRlbWJlciAyMDAzLgoKICAgW1JGQzQwNzBdICBEb2RnZSwgTS4gYW5kIEIu IFJheSwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0CiAgICAgICAgICAgICAgRXh0ZW5z aW9ucyBmb3IgVmVyeSBIaWdoIFNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lcwogICAgICAg ICAgICAgIChWRFNMKSBVc2luZyBNdWx0aXBsZSBDYXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGlu ZQogICAgICAgICAgICAgIENvZGluZyIsIFJGQyA0MDcwLCBNYXkgMjAwNS4KCiAgIFtSRkM0MzE5 XSAgU2lrZXMsIEMuLCBSYXksIEIuLCBhbmQgUi4gQWJiaSwgIkRlZmluaXRpb25zIG9mIE1hbmFn ZWQKICAgICAgICAgICAgICBPYmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAtIDJuZCBnZW5l cmF0aW9uIChIRFNMMikgYW5kCiAgICAgICAgICAgICAgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBE aWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpCiAgICAgICAgICAgICAgTGluZXMiLCBSRkMg NDMxOSwgRGVjZW1iZXIgMjAwNS4KClVSSXMKCiAgIFsxXSAgPGh0dHA6Ly93d3cuaWV0Zi5vcmcv aHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5odG1sPgoKCgoKCgoKCgoKCgoKQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgODZdCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKQXV0aG9yJ3MgQWRkcmVzcwoKICAgRWR3YXJkIEJl aWxpCiAgIEFjdGVsaXMgTmV0d29ya3MKICAgQmF6ZWwgMjUKICAgUGV0YWNoLVRpa3ZhCiAgIElz cmFlbAoKICAgUGhvbmU6ICs5NzItMy05MjQtMzQ5MQogICBFbWFpbDogZWR3YXJkLmJlaWxpQGFj dGVsaXMuY29tCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgODddCgwKSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3CgoKSW50ZWxsZWN0dWFsIFByb3BlcnR5IFN0YXRl bWVudAoKICAgVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2YWxpZGl0 eSBvciBzY29wZSBvZiBhbnkKICAgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFJpZ2h0cyBvciBvdGhl ciByaWdodHMgdGhhdCBtaWdodCBiZSBjbGFpbWVkIHRvCiAgIHBlcnRhaW4gdG8gdGhlIGltcGxl bWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neSBkZXNjcmliZWQgaW4KICAgdGhpcyBk b2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNlbnNlIHVuZGVyIHN1Y2ggcmln aHRzCiAgIG1pZ2h0IG9yIG1pZ2h0IG5vdCBiZSBhdmFpbGFibGU7IG5vciBkb2VzIGl0IHJlcHJl c2VudCB0aGF0IGl0IGhhcwogICBtYWRlIGFueSBpbmRlcGVuZGVudCBlZmZvcnQgdG8gaWRlbnRp ZnkgYW55IHN1Y2ggcmlnaHRzLiAgSW5mb3JtYXRpb24KICAgb24gdGhlIHByb2NlZHVyZXMgd2l0 aCByZXNwZWN0IHRvIHJpZ2h0cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZQogICBmb3VuZCBpbiBC Q1AgNzggYW5kIEJDUCA3OS4KCiAgIENvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0 aGUgSUVURiBTZWNyZXRhcmlhdCBhbmQgYW55CiAgIGFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8g YmUgbWFkZSBhdmFpbGFibGUsIG9yIHRoZSByZXN1bHQgb2YgYW4KICAgYXR0ZW1wdCBtYWRlIHRv IG9idGFpbiBhIGdlbmVyYWwgbGljZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mCiAg IHN1Y2ggcHJvcHJpZXRhcnkgcmlnaHRzIGJ5IGltcGxlbWVudGVycyBvciB1c2VycyBvZiB0aGlz CiAgIHNwZWNpZmljYXRpb24gY2FuIGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJ UFIgcmVwb3NpdG9yeSBhdAogICBodHRwOi8vd3d3LmlldGYub3JnL2lwci4KCiAgIFRoZSBJRVRG IGludml0ZXMgYW55IGludGVyZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbiBh bnkKICAgY29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhl ciBwcm9wcmlldGFyeQogICByaWdodHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1h eSBiZSByZXF1aXJlZCB0byBpbXBsZW1lbnQKICAgdGhpcyBzdGFuZGFyZC4gIFBsZWFzZSBhZGRy ZXNzIHRoZSBpbmZvcm1hdGlvbiB0byB0aGUgSUVURiBhdAogICBpZXRmLWlwckBpZXRmLm9yZy4K CgpEaXNjbGFpbWVyIG9mIFZhbGlkaXR5CgogICBUaGlzIGRvY3VtZW50IGFuZCB0aGUgaW5mb3Jt YXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQgb24gYW4KICAgIkFTIElTIiBiYXNp cyBhbmQgVEhFIENPTlRSSUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRT CiAgIE9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhFIElOVEVSTkVUIFNPQ0lFVFkgQU5E IFRIRSBJTlRFUk5FVAogICBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFMTCBXQVJS QU5USUVTLCBFWFBSRVNTIE9SIElNUExJRUQsCiAgIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFIFVTRSBPRiBUSEUKICAgSU5GT1JNQVRJT04gSEVSRUlO IFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdIVFMgT1IgQU5ZIElNUExJRUQKICAgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu CgoKQ29weXJpZ2h0IFN0YXRlbWVudAoKICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAo MjAwNykuICBUaGlzIGRvY3VtZW50IGlzIHN1YmplY3QKICAgdG8gdGhlIHJpZ2h0cywgbGljZW5z ZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQKICAgZXhjZXB0IGFz IHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycyByZXRhaW4gYWxsIHRoZWlyIHJpZ2h0cy4K CgpBY2tub3dsZWRnbWVudAoKICAgRnVuZGluZyBmb3IgdGhlIFJGQyBFZGl0b3IgZnVuY3Rpb24g aXMgY3VycmVudGx5IHByb3ZpZGVkIGJ5IHRoZQogICBJRVRGIEFkbWluaXN0cmF0aXZlIFN1cHBv cnQgQWN0aXZpdHkgKElBU0EpLgoKCgoKQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDIyLCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODhdCgwK ------_=_NextPart_001_01C753CB.2D644D5B Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C753CB.2D644D5B-- From hubmib-bounces@ietf.org Tue Feb 20 11:14:34 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJXdR-0003D7-W4; Tue, 20 Feb 2007 11:14:33 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJXdQ-0003Cv-Gn for hubmib@ietf.org; Tue, 20 Feb 2007 11:14:32 -0500 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJXdN-0007p4-Mo for hubmib@ietf.org; Tue, 20 Feb 2007 11:14:32 -0500 Received: from ilexp02.ndc.lucent.com (h135-3-39-2.lucent.com [135.3.39.2]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id l1KGEEPD018925; Tue, 20 Feb 2007 10:14:18 -0600 (CST) Received: from DEEXP01.de.lucent.com ([135.248.187.65]) by ilexp02.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 10:14:14 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP01.de.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 17:14:10 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Tue, 20 Feb 2007 17:14:04 +0100 Message-ID: In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EE13EA9@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAABLZN1Q References: <9C1CAB2B65E62D49A10E49DFCD68EF3EE13EA9@il-mail.actelis.net> From: "Wijnen, Bert \(Bert\)" To: "Edward Beili" X-OriginalArrivalTime: 20 Feb 2007 16:14:10.0942 (UTC) FILETIME=[27D171E0:01C7550A] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37 X-Spam-Score: 0.0 (/) X-Scan-Signature: de672dd48bf7248e70d446cd2da63266 Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Thanks for the revision Ed, I still have some comments though. - Not sure if I mentioned this before. But anyway. I see: ifCapStackCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP entities, which provide information on the cross-connect capability of multi-layer (stacked) network interfaces, with flexible cross-connect between the sub-layers. ! Compliance with the following external compliance statements ! is REQUIRED: ! ! MIB Module Compliance Statement ! ---------- -------------------- ! IF-MIB ifCompliance3 ! IF-INVERTED-STACK-MIB ifInvCompliance" MODULE -- this module MANDATORY-GROUPS { ifCapStackGroup } OBJECT ifCapStackStatus SYNTAX TruthValue { true(1) } DESCRIPTION "Support for the false(2) value is OPTIONAL for implementations supporting pluggable interfaces." OBJECT ifInvCapStackStatus SYNTAX TruthValue { true(1) } DESCRIPTION "Support for the false(2) value is OPTIONAL for implementations supporting pluggable interfaces." MODULE IF-MIB MANDATORY-GROUPS { ifStackGroup2 } @ MODULE IF-INVERTED-STACK-MIB @ MANDATORY-GROUPS { @ ifInvStackGroup @ } ::=3D { ifCapStackCompliances 1 } My concerns are these: - I wonder if we want to keep (all) the lines that I marked with ! - part of it is already coverd with the lines I marked with @ So I would at least remove the line IF-INVERTED-STACK-MIB ifInvCompliance to avoid duplication.=20 At the other hand, I could also live with what you have. - But I do want you to fix SMICng reported error: E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be IMPORTed =20 since you do list that as a mandatory group. - see below answers from me for resolutions that I am not agreeing to. I removed all the items we agree on. Thanks for fixing or answering/explaining. =20 > > From: Wijnen, Bert (Bert) > > [mailto:bwijnen@alcatel-lucent.com] > > Sent: Thursday, January 18, 2007 21:45 > > To: Edward Beili > > Cc: Dan Romascanu (E-mail) > > Subject: RE: [Hubmib] My review of:=20 > > draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > and ifInvCapStackTable? In any event, pls re-check the > > feedback we've got on that. I do not think that what we > > currently have in the MIB module is acceptable. >=20 > [EB] Replaced with TruthValue. >=20 This is much better. I wonder if it would now be better to rename the object from ifCapStackStatus to ifCapStackCapability to better represent its purpose. Same for possibly renaming ifInvCapStackStatus into ifInvCapStackCapability. I am not hung up on it though. > >- for=20 > > efmCuPAFDiscoveryCode OBJECT-TYPE > > SYNTAX PhysAddress > > MAX-ACCESS read-write > > STATUS current > > DESCRIPTION > > "PAF Discovery Code of the EFMCu port (PCS). > > A unique 6 Byte long code used by the Discovery function, when > > PAF is supported. > > PCS ports incapable of supporting PAF SHALL return a value of > > all zeroes. Attempts to change this object SHALL be ignored in > > this case. > > This object MUST be instantiated for the -O subtype PCS before > > writing operations on the efmCuPAFRemoteDiscoveryCode > > (Set_if_Clear and Clear_if_Same) are performed by PMEs > > associated with the PCS. > > The value of this object is read-only for -R port subtypes. > > The initial value of this object for -R ports after reset > > is 0. This value may be changed as a result of writing > > operation on efmCuPAFRemoteDiscoveryCode variable of remote > > PME of -O subtype, connected to one of the local PMEs > > associated with the PCS. > > > > Discovery MUST be performed when the link is Down. > > Attempts to change this object MUST be rejected with the error > > inconsistentValue if the link is Up or Initializing. > > > > The PAF Discovery code maps to the local Discovery code > > variable in PAF (note that it does not have a corresponding > > Clause 45 register)" > > REFERENCE > > "[802.3ah] 61.2.2.8.3, 61.2.2.8.4, 45.2.6.6.1" > > ::=3D { efmCuPortConfEntry 2 } > > > > I am trying to figure out what made you choose PhysAddress as the =20 > > SYNTAX for the discovery code. Can you explain, or point me to the=20 > > 802.3ah clause that explains/justifies that? >=20 > [EB] The remote discovery code is defined by 802.3ah as a=20 > 6-octets (48-bit) value, see 45.2.6.8. Clause 61A.2 actually=20 > suggests to use a MAC address for the discovery operation, in=20 > order to ensure its 'local uniqueness'. > Since PhysAddress represents media- or physical-level=20 > addresses it was a natural choice. I've added the size=20 > attribute to indicate it's length.=20 >=20 Would it not be wise to also add 45.2.6.8 and 61A.2 in the REFERENCE clause? > >- For efmCuAdminProfile I read in DESCRIPTION clause: > > > > This object is writable and readable for the -O subtype > > (2BaseTL-O or 10PassTS-O) EFMCu ports. It is unavailable for > > the -R subtype (2BaseTL-R or 10PassTS-R) ports. > > > > what does it mean that this object is "unavailable" > > Do you not want it instatntiated in that case, or do you want its=20 > > value to be ignored/irrelevant? Pls be specific. > > > > You use that at various other places as well. Pls check and fix. >=20 > [EB] Replaced 'unavailable' with 'unsupported' >=20 But I keep wondering what that means? Does the object get instantiated with some value that means "unsupported"? What is a SNMP SET occurs, that one gets rejected I guess (probably with inconsistentValue for SNMP)? Or is the object not instantiated? Or if read, does it return a zero-length OCTET STRING? Oh no, that is not possible, cause the TC has a SIZE (1..6) Maybe we need a TC EfmProfileIndexListOrNone, which allows a=20 SIZE (0..6), and requries that an OBJECT of that SYNTAX specifies in the DESCRIPTION clause what the zero length means. And in this case it could mean "unsupported". Similar questions/comments for other uses of "unsupported" > >- For > > efmCuPAFRemoteDiscoveryCode OBJECT-TYPE > > SYNTAX PhysAddress > > MAX-ACCESS read-write > > STATUS current > > DESCRIPTION > > "PAF Remote Discovery Code of the PME port at CO. > > A 6 Byte long Discovery Code of the peer PCS connected via > > the PME. > > Reading this object results in a Discovery Get operation. > > Writing a zero to this object results in a Discovery > > Clear_if_Same operation (the value of efmCuPAFDiscoveryCode > > at the peer PCS SHALL be the same as efmCuPAFDiscoveryCode of > > the local PCS associated with the PME for the operation to > > succeed). > > Writing a non-zero value to this object results in a > > Discovery Set_if_Clear operation. > > This object does not exist in CPE port subtypes. A zero length > > octet string SHALL be returned for CPE port subtypes and also > > when PAF aggregation is not enabled. > > > > What is "writing a zero value" ?? > > Is that 6 octets, all zeroes? > > Or one octet conatining zero, > > or the zero length octet-string? > > What means "does not exist" is it not instanctiated? I guess so. > > pls be clear. You do get gaps in the tables if some objects are not=20 > > instantiated. Might be easier (on NM apps) if there was a value (like=20 > > all zeros, or zerolength string) that can be ignored. >=20 > [EB] Reworded as follows: > This object is irrelevant in CPE port (-R) subtypes: in this > case a zero length octet string SHALL be returned on an > attempt to read this object, writing to this object SHALL > be ignored. MMM... remember I do not understand what "writing to this object SHALL be ignored" means. You had replaced "ignored" with "rejected" in other objects. Maybe you better do that here as wel;l. You also changed the SYNTAX from SYNTAX PhysAddress to SYNTAX PhysAddress (SIZE(6)) Such was needed for INDEX objects, but not necessarily for this object. I do find it wise though to also be specific as to what the SIZE is, specifically since the DESCRIPTION clause does state that it is a 6-octet value. However, that makes it invalid to state: A zero-length octet string SHALL be returned on an attempt to read this object when PAF aggregation is not enabled. This object is irrelevant in CPE port (-R) subtypes: in this case a zero length octet string SHALL be returned on an attempt to read this object, writing to this object SHALL be ignored. Because the SYNTAX states that it CANNOT be zero length. To cover this, you can use a SYNTAX of: SYNTAX PhysAddress (SIZE(0 | 6)) > >- For efmCuPme2BProfileRowStatus I wonder if any (all?) of the objects > > in a row can be changed while the row is active? Would that not > > be disruptive? In any event, pls specify if any (which( objects > > can be changed or stat eif none can be change in active state. >=20 > [EB] I believe that 'read-create' in MAX-ACCESS clause of all=20 > the objects in a row (except for the 'not-accessible' index)=20 > already indicates that in order to change an object in a=20 > particular profile, one would have to create a new one,=20 > change the reference(s) from the old profile to a new one and=20 > remove the old (inactive) profile if not needed anymore. >=20 Mmm... a MAX-ACCESS read-create does not imply that semantic. So I would be more specific and state this somewhere.=20 the DESCRIPTION clause of the RowStatus object might be a good=20 place for that. I could imagine that efmCuPme2BProfileDescr might be changed even for an active row. At least from the DESCRIPTION clause of that object, I do not get the impression that it controls/prescribes operational attributes, does it? I can see that for the other objects, they probably cannot be=20 changed while the row is active and referenced. But maybe one could put the row in notInService, changed the attributes and use it again? I hope I am now explaining better why I wondered (and still wonder). In any event, this is not clear from the current definitions. If you want to prescirbe that=20 in order to change an object in a particular profile,=20 one would have to create a new one, change the reference(s) from the old profile to a new one and remove the old=20 (inactive) profile if not needed anymore. then pls be explict and put it in a DESCRIPTION clause. >=20 > > Same question for efmCuPme2BsModeRowStatus, although there a change > > is probably not disruptive. > > Pls check all occurences of RowStatus >=20 > [EB] Same answer as above. >=20 Same comment as above. > >- I really wonder if we are doing a smart thing by give the=20 > same labels > > to the various enums in > > efmCuPme10PBandplanPSDMskProfile INTEGER, > > efmCuPme10PUPBOReferenceProfile INTEGER, > > efmCuPme10PBandNotchProfiles BITS, > > efmCuPme10PPayloadURateProfile INTEGER, > > efmCuPme10PPayloadDRateProfile INTEGER, > > They have different meanings, don't they? So would it not be better > > to differentiate between the labels of the neumerations? >=20 > [EB] If we take it to extreme why not turning all enums to TCs? > Personally I prefer inline enums (if they are not repeated of=20 > course which would make they perfectly good candidates for=20 > TCs) as they list the values and their meaning in the=20 > description for the object - less jumps between the object=20 > and a TC when reading the MIB. >=20 As I said. I wondered if it is smart. If no one else wonders, and thereby (implicitly, by being silent) agrees with you. Then I am OK with what you have. > >- With regard to naming, I am somewhat worried about the conventions that > > are used (or maybe those that are not used). I always find it smarter > > to have all columnar objects in a table prefixed with a string that > > makes it clear to which table the object belongs. For example for > > the efmCuPortConfTable: > > > > EfmCuPortConfEntry ::=3D > > SEQUENCE { > > efmCuPAFAdminState INTEGER, > > efmCuPAFDiscoveryCode PhysAddress, > > efmCuAdminProfile ProfileIndexList, > > efmCuTargetDataRate Unsigned32, > > efmCuTargetSnrMgn Unsigned32, > > efmCuAdaptiveSpectra TruthValue, > > efmCuThreshLowRate Unsigned32, > > efmCuLowRateCrossingEnable TruthValue > > } > > =20 > > I would personally prefer the columns to be alll prefixed with =20 > > efmCuPortConf, so I would have named them as follows: > > > > EfmCuPortConfEntry ::=3D > > SEQUENCE { > > efmCuPortConfPAFAdminState INTEGER, > > efmCuPortConfPAFDiscoveryCode PhysAddress, > > efmCuPortConfAdminProfile ProfileIndexList, > > efmCuPortConfTargetDataRate Unsigned32, > > efmCuPortConfTargetSnrMgn Unsigned32, > > efmCuPortConfAdaptiveSpectra TruthValue, > > efmCuPortConfThreshLowRate Unsigned32, > > efmCuPortConfLowRateCrossingEnable TruthValue > > } > > > > This also holds true for most (all of) the other tables. > > My suggested naming convention above has (in my view) 2 advantages: > > =20 > > - less change for conflicting names.=20 > > I will admit, that this is not too big a risk, since this is > > all within the same MIB module. Nevertheless, I think it just > > makes it easier if any additions need to be made in the future. > > - easier for people to see which objects belong to which tables. > > I think this is a strong point. But I also understand it is > > somewhat subjective. > > > > I can accept if the WG and/or editor/author tells me that I am far > > too late with this type of comment. It of course requires a quite=20 > > massive editorial change. So, although I think it would improve > > the human-friendlyness of the MIB module, I will not insist on > > this change. >=20 > [EB] While I tend to agree with the advantages of the naming=20 > scheme you proposed, I would like to ask to be forgiven and=20 > leave the names as they are now, due to the following rasons: > - It is a big change (considering also that there are at=20 > least 2 experimental implementations of this draft that I know of) I know it is a big change, and so I am willing to accept what you=20 have because of that. The fact that there are 2 experimental implementations is somewhat of a bad argument. They should (in order to avoid conflicts with whatever we finally produce as a standards track MIB module) have taken an approach whereby: - they have rooted the MIB module under their own enterprise OID tree - renamed the MIB mdoule and all objects so they won't conflict=20 with our (soon to be) standard MIB module. Normally one then prefixes all object names with the company name or some such. > - Some time ago I was asked to stick with the RFC 2578/2579=20 > recommendation of 32 char restriction - the proposed change=20 > would make some names to be longer than 32 chars. (Yes, I=20 > just read RFC 4181 view on that - the 32 character=20 > restriction recommendation of SMIv2 SHOULD be set aside in=20 > favor of promoting clarity and uniqueness). However it could=20 > be argued that it is easier to remember=20 > efmCuLowRateCrossingEnable vs. efmCuPortConfLowRateCrossingEnable >=20 Not so strong argument, but I understand what you are saying. So based on the "it is a BIG change and it is late in the process" I will not require the change to be made. Hope Dan agrees as well, and I assume that WG members also agree.=20 WG members/paritcipants: Speak up if not! > >- This table > > efmCuPmeStatusTable OBJECT-TYPE > > SYNTAX SEQUENCE OF EfmCuPmeStatusEntry > > MAX-ACCESS not-accessible > > STATUS current > > DESCRIPTION > > "This table provides common status information of EFMCu > > 2BASE-TL/10PASS-TS PME ports. Status information specific > > to 10PASS-TS PME is represented in efmCuPme10PStatusTable. > > > > This table contains live data from the equipment. As such, > > it is NOT persistent." > > ::=3D { efmCuPme 3 } > > > > Is cmposed of just read-only objects. So the last sentence of the =20 > > DESCRIPTION clause is not needed. In general people expect=20 > (I think) =20 > > writable objects when they see such a ststament. >=20 > [EB] You are right. However when one is looking at the=20 > description clause of a 'not-accessible' table, the only way=20 > to determine if it is composed of read-only objects is to=20 > check the Max access value of each and every object in the=20 > table. I believe that the 'NOT persistent' > sentence helps reader to understand the nature of a table=20 > quicker, so I would leave it as is. >=20 Mmmm... also read-write objects can be NON-persistent (volatile). So I do not follow your logic ?? I believe I still see other objects that are read-write or read-create and for which it is not clear what the persistency behaviour is=20 supposed to be. Can you pls check and make sure that that is specified for all writable objects. If the behaviour is the same for all objects in a row, you can describe it in the xxxEntry DESCRITPION clause for that row. Bert _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Tue Feb 20 11:21:37 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJXkH-0005xH-1t; Tue, 20 Feb 2007 11:21:37 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJXkF-0005x9-Hq for hubmib@ietf.org; Tue, 20 Feb 2007 11:21:35 -0500 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJXkE-0000gz-0t for hubmib@ietf.org; Tue, 20 Feb 2007 11:21:35 -0500 Received: from ilexp01.ndc.lucent.com (h135-3-39-1.lucent.com [135.3.39.1]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id l1KGLRX4023518; Tue, 20 Feb 2007 10:21:29 -0600 (CST) Received: from DEEXP01.de.lucent.com ([135.248.187.65]) by ilexp01.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 10:21:28 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP01.de.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Tue, 20 Feb 2007 17:21:23 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] New things for the EFM-CU-MIB Date: Tue, 20 Feb 2007 17:21:15 +0100 Message-ID: In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EED1858@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] New things for the EFM-CU-MIB Thread-Index: AccSbRPRY2YH4akzQnyyHrodzVEyZQH3TCiwALkd6DANu7wg8AA7JWHQ References: <9C1CAB2B65E62D49A10E49DFCD68EF3EED1858@il-mail.actelis.net> From: "Wijnen, Bert \(Bert\)" To: "Edward Beili" , X-OriginalArrivalTime: 20 Feb 2007 16:21:23.0573 (UTC) FILETIME=[29AFB250:01C7550B] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37 X-Spam-Score: 0.0 (/) X-Scan-Signature: 287c806b254c6353fcb09ee0e53bbc5e Cc: "Romascanu, Dan \(Dan\)" , Matt Squire X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Edward and WG participants. This question has bee out on the mailing list for quite a while. Edward already asked for opinions on this back on Dec 7th in a posting to this mailing list. Since then we've had a couple of answers that indicate they rather see the current work completed. So I am inclined to tell the WG that we stick to what we have in the current draft and do no new additions. I'll give the WG till the end of this week to speak up more on this topic. If I do not see more support for Edwards suggested changes, then we'll not undertake them now. Bert Wijnen speaking as HUBMIB WG chair. > -----Original Message----- > From: Edward Beili [mailto:EdwardB@actelis.com]=20 > Sent: maandag 19 februari 2007 13:10 > To: hubmib@ietf.org > Cc: Wijnen, Bert (Bert); Romascanu, Dan (Dan); Matt Squire > Subject: RE: [Hubmib] New things for the EFM-CU-MIB >=20 > Dear Hubmib group members, >=20 > I would like to hear your opinion on the proposed additions=20 > to the EFM-CU-MIB specified in my original mail below. >=20 > Regards, > -E. >=20 >=20 > > -----Original Message----- > > From: Romascanu, Dan (Dan) [mailto:dromasca@avaya.com] > > Sent: Monday, December 11, 2006 16:22 > > To: Edward Beili; hubmib@ietf.org > > Cc: Wijnen, Bert (Bert) > > Subject: RE: [Hubmib] New things for the EFM-CU-MIB > >=20 > > I believe that the WG should focus on completing the=20 > current charter=20 > > before discussing about any new work 'stemming from ...=20 > latest RFPs',=20 > > otherwise it risks to run forever trying to catch with the=20 > permanently=20 > > moving target of the Ethernet technology. > >=20 > > Dan > >=20 > > -----Original Message----- > > From: Matt Squire [mailto:MSquire@HatterasNetworks.com] > > Sent: Friday, December 08, 2006 2:53 > > To: Edward Beili; hubmib@ietf.org > > Cc: Wijnen, Bert (Bert); Dan Romascanu (E-mail) > > Subject: RE: [Hubmib] New things for the EFM-CU-MIB > >=20 > > Hi Ed - > >=20 > > The second two seem useful. The first one doesn't seem=20 > that useful as=20 > > it is easily derived from other entries. In general, I'm not a big=20 > > fan of adding 2nd level data (e.g. > > stuff derived from other stuff). =20 > >=20 > > My 2 cents.=20 > >=20 > > - Matt > >=20 > > > -----Original Message----- > > > From: Edward Beili [mailto:EdwardB@actelis.com] > > > Sent: Friday, December 08, 2006 12:41 AM > > > To: hubmib@ietf.org > > > Cc: Wijnen, Bert (Bert); Romascanu, Dan (Dan) > > > Subject: [Hubmib] New things for the EFM-CU-MIB > > >=20 > > > Hi, > > >=20 > > > I would like to propose a few minor modifications to the=20 > EFM-CU-MIB,=20 > > > to provide support for some carrier requirements for the Ethernet=20 > > > over copper, stemming from some latest RFPs. > > >=20 > > > 1. Add a new leaf to efmCuPortStatusTable, showing the equivalent=20 > > > length of the bonded link, which would be calculated as a=20 > median of=20 > > > all the efmCuPmeEquivalentLength in the link. > > >=20 > > > 2. Add an optional ability to specify Min and Max noise margin=20 > > > (probably in efmCuPortConfEntry), which would allow one=20 > to configure=20 > > > the working SNR range for the lines in the bonded link, that is: > > > - if the SNR Margin on the copper pair in the bonded link > > > (efmCuPmeSnrMgn) goes below specified Min margin, the pair should=20 > > > re-train to achieve higher SNR margin than the Min (e.g. > > > efmCuTargetSnrMgn) > > > - if the SNR Margin on the copper pair goes above specified Max=20 > > > margin, the pair should/could lower its transmitted power (e.g.=20 > > > using Power Back-off if efmCuAdaptiveSpectra is true). > > >=20 > > > 3. Add an ability to specify Min Power Back-off, to allow an=20 > > > operator to limit the signal transmit power to a lower level than=20 > > > that allowed by the spectral limitations placed by the=20 > > > efmCuPme2BRegion and efmCuPme2BsMode. > > >=20 > > > I would appreciate your comments. > > >=20 > > > Regards, > > > -E.=20 >=20 >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 21 09:51:51 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJsoo-0006Sa-Tb; Wed, 21 Feb 2007 09:51:42 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJson-0006SU-FG for hubmib@ietf.org; Wed, 21 Feb 2007 09:51:41 -0500 Received: from ihemail1.lucent.com ([135.245.0.33]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJsom-0001BO-3L for hubmib@ietf.org; Wed, 21 Feb 2007 09:51:41 -0500 Received: from ilexp02.ndc.lucent.com (h135-3-39-2.lucent.com [135.3.39.2]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id l1LEpLFZ002104; Wed, 21 Feb 2007 08:51:22 -0600 (CST) Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp02.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Feb 2007 08:51:21 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Feb 2007 15:51:20 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 21 Feb 2007 15:51:14 +0100 Message-ID: In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19A8@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAABLZN1QAAtQiKAAKFNj4A== References: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19A8@il-mail.actelis.net> From: "Wijnen, Bert \(Bert\)" To: "Edward Beili" X-OriginalArrivalTime: 21 Feb 2007 14:51:20.0106 (UTC) FILETIME=[BF61D0A0:01C755C7] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33 X-Spam-Score: 0.0 (/) X-Scan-Signature: 3002fc2e661cd7f114cb6bae92fe88f1 Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Looks good now. One thing (I should have seen yesterday too) is that you need to move a few informative refrences to=20 the normative references and vice versa - I think RFC3410 is informative (it is also an informational RFC). - RFC2863 and RFC2864 are normative, because we IMPORT from those. - Since we use them in REFERENCE clauses or we use profiles from (as listed in DESCRIPTION clauses), I think that also ANFP< but certainly 991.2 and 992.1 are normative, no? - Since we state: 3.4. Relation to Ethernet-Like and MAU MIB modules The implementation of EtherLike-MIB [RFC3635] and MAU-MIB [I-D.ietf-hubmib-rfc3636bis] is REQUIRED for the EFMCu interfaces. We probably also better make RFC3635 a normative ref. With that I think we would be ready. Further, I would like to react to a few of Ed's rebuttals: > > - But I do want you to fix SMICng reported error: > >=20 > > E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be IMPORTed > > =20 > > since you do list that as a mandatory group. >=20 > [EB] ifStackGroup2 is already imported, I've fixed that in=20 > the version I sent before. >=20 My appology, the error is in RFC2864, not in the EFM-CU-MIB. > > > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > > > and ifInvCapStackTable? In any event, pls re-check the > > > > feedback we've got on that. I do not think that what we > > > > currently have in the MIB module is acceptable. > > >=20 > > > [EB] Replaced with TruthValue. > >=20 > > This is much better. > > I wonder if it would now be better to rename the object from=20 > > ifCapStackStatus to ifCapStackCapability to better represent its=20 > > purpose. Same for possibly renaming ifInvCapStackStatus into=20 > > ifInvCapStackCapability. > >=20 > > I am not hung up on it though. >=20 > [EB] ifCapStack already stands for "Interface Capability=20 > Stack" - appending "Capability" would make it "Interface=20 > Capability Stack Capability". How about: ifCapStackAbility ? > Or we can leave it ifCapStackStatus, to emphasize its=20 > similarity with IfStackTable >=20 Your argument for consistency with ifCapStackStatus makes sense. And as I said, I am not hung up on it. So I am OK now. > [EB] I've found only one table without the persistency definition > (efmCuPme10PStatusTable) and corrected it - now all tables=20 > contain the persistency behavior definition in the=20 > DESCRIPTION clause for the table. > Basically only the Status tables are non-persistent. > Would that be satisfactory? >=20 Yep. I think we made good progress. Pls correct the references (as stated at the top of this email) and then you can submit to internet-drafts as far as I am concenrned. Next step is then (another) W Last Call to givbe anyone a chance to look at the latest changes. Bert _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 21 11:17:01 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJu9K-00056l-ES; Wed, 21 Feb 2007 11:16:58 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJu9J-00056P-GX for hubmib@ietf.org; Wed, 21 Feb 2007 11:16:57 -0500 Received: from mail.hatterasnetworks.com ([72.15.200.21]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJu9H-0004Gf-C1 for hubmib@ietf.org; Wed, 21 Feb 2007 11:16:57 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Date: Wed, 21 Feb 2007 11:16:50 -0500 Message-ID: <467C77F6373BDE4BB16A3E8A62C0395501201EEE@Exchserv.hatteras.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: draft-ietf-hubmib-efm-oam-06 Thread-Index: AcdV07F5pQYXHg1cRgej7FIvJipsbA== From: "Matt Squire" To: X-Spam-Score: 0.0 (/) X-Scan-Signature: 715d0e6950aaebd45af78ef9318d0186 Subject: [Hubmib] draft-ietf-hubmib-efm-oam-06 X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org A new (and hopefully final) revision to the EFM OAM MIB Internet Draft has been submitted.=20 The changes to the document reflect comments issued during last call. Comments were received by the following individuals: Bert Wijnen Dan Romascanu Eric Gray Sean Turner Thanks to these and all other reviewers in the process.=20 The changes were pretty editorial, but some of main comments addressed were as follows: * Added a DEFVAL to dot3OamErrFrameWindow, dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable, dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable, dot3OamCriticalEventEnable * Changed OUI object name from Dot3Oui to EightOTwoOui in order to make it more correct hopefully useable by other MIBs in the future. The OUI is really an 802 concept, not an 802.3 concept. =20 * Updated boilerplate with newer IETF Trust wording. * Added and corrected some issues with references in that some normative references ones weren't appearing normative. References were added to the IMPORT section of the MIB so that all normative references were actually used in the document. =20 Excruciating details are included below, but those are the highlights. =20 - Matt ************************************************ ************************************************ ************************************************ ************************************************ Many other (tens) of editorial items (misspellings, typos, minor wording improvements, etc.) were also addressed. Details below. Responses indicated with "MBS>>". =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Comments from Dan, Feb-07-2007 1. The header of the document should include: 'Intended Status - Proposed Standard' MBS>>> Replaced the header line: Ethernet OAM MIB October 2006 with: Intended Status - Proposed Standard February 2007 2. References problems: - Unused Reference: 'RFC2586' is defined on line 2715, but not referenced '[RFC2586] Bierman, A., McCloghrie, K., Presuhn, R., "Textual Convent...' MBS>> CHANGED TO 2856 - Unused Reference: 'RFC3636' is defined on line 2738, but not referenced '[RFC3636] Flick, J., "Definitions of Managed Objects for IEEE 802.3...' MBS>>=20 * Downref: Informational Normative Reference: RFC 2586 - this is actually a typo (should be 2856) combined with another unused references Now, at least part of these unused references is caused by the fact that the MIB module does not list (commented) the RFC where the imported TCs originate. This should be Normative References Also, I would suggest to replace [RFC3636] with the update draft, which was already approved by the IESG and is in RFC Editor Queue MBS>> I fixed the reference 2586. Note that I don't actually reference 3636 anywhere, so I removed that from the references. Added references to MIB module when importing from other MIBs. =20 3. It would be good to run again the latest version of idnits. There are more complaints about the boilerplate and about pages exceeding the maximal allowed number of lines per page. MBS>> Done. Nothing major found (though it still spits out concerns related to spacing and IP addresses which are not appropriate). =20 4. Section 3:=20 Although Ethernet access deployments were the primary motivation for the task force activity, the results of the task force are not strictly limited to that application. =20 Maybe we can be even more explicit here by adding: 'For example Ethernet OAM could be implemented on Ethernet links that are not necessarily EFM.' MBS>> Addressed 5. Something seems to be missing in the following phrase in Section 3.4: 'OAMPDUs are the mechanism two directly connected Ethernet interfaces exchange OAM information. ' MBS>> Changed to "OAMPDUs are the mechanism by which two directly=20 connected Ethernet interfaces exchange OAM information." 6. Section 4.1 - would be better to avoid saying 'SNMP MIB Modules' in the title as MIB modules can be used with another protocol than SNMP MBS>> Removed SNMP from title of 4.1 7. Update hubmib chair name and contact information MBS>> Done, put in Bert's email (no phone). =20 8. dot3OamPeerVendorInfo - I may be wrong, but the reference points to table 57-11 in the IEEE specification and the 32-bit information there is not other but the SMI Enterprise Number. If I am correct we may want to mention this in the DESCRIPTION MBS>> After side conversations with commenters, changed the description field of this to reflect that the semantics are unknown and up to the vendor, and that this field simply reflects what was received. Included an example that it could be used for a product or product family identifier. =20 9. Why is not DEFVAL used to specify the default values of read-write or read-create objects wherever they are fixed - dot3OamErrFrameWindow, dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable, dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable, dot3OamCriticalEventEnable MBS>> Probably because nobody pointed it out before... Added defval for all of the above consistent with the text in the description section. =20 10. The Abstract section contains a reference - this should be avoideda MBS>> Removed 11. According to the naming convention in RFC 4181 the name of the Dot3Oui TC should be Dot3oamOui. Now one may argue that this TC is not Dot3-OAM specific, but then it is not Dot3 specific either. If we already infringe the naming convention let us use a more generic name (maybe just Oui or EightOTwoOui that would encourage the TC to be imported by other MIB modules.=20 MBS>> Good point - changed to EightOTwoOui. =20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >From Bert Jan-18-2007 Wow... this one dropped through the cracks. And nobody warned me. Oh well.. I see (I means smicng tells me) an INDEX object: dot3OamEventLogIndex OBJECT-TYPE SYNTAX Unsigned32=20 that would need a range. I assume that zero is not an intended value, so I would do: dot3OamEventLogIndex OBJECT-TYPE SYNTAX Unsigned32(1..4294967295) MBS>> Added range.=20 I also see that you have mad a few "editorial" changes - a few occurences of "possibility" into "possiblity". The latter is nota real word, is it? - "multiplexer" into "mulitplexor" ?? - "identifying" into "identifiying" ?? MBS>> Fixed 3 occurences of possiblity, 1 occurence of mulitplexer, 1 occurence of identifiying.=20 Anyway, the latter can be fixed by RFC editor, and the INDEX fix (if that is acceptable) can be done with a note-to-rfc-editor by Dan, or we can see it as a first IETF Last Call Comments. I don't think we need to respin a new version for this. (However, if you do plan a new rev, then pls be aware you need new copy-right text, as I posted to the list last week). MBS>> updated copyright with IETF Trust as per RFC4748.=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >From Sean Turner Feb-14-2007 - Sec 3.4: 1st sentence is missing a ) MBS>> Fixed. - Sec 6: I'd probably add an RFC EDITOR note to update the copyright notice to 2007. It's right before the 1st RFC Editor note. MBS>> Addressed the copy right notice issue re RFC 4748.=20 - Sec 6 dot3OamAdminState OBJECT-TYPE: Description says disabled(1) it should be disabled(2) to match the syntax. MBS>>> Fixed. =20 - Sec 6 dot3OamPeerEntry OBJECT-TYPE: Description last line:"(4). or" should be "(4), or"=20 MBS>> Fixed.=20 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >From Eric Feb-11-2007 Summary: =3D=3D=3D=3D=3D=3D=3D Comments: =3D=3D=3D=3D=3D=3D=3D=3D Weird formatting of section headers takes some getting used to. Weird formatting of the reference section makes it difficult to find specific references (especially if using a paper copy). MBS>> Fixed reference section and section headers. =20 ___________________________________________________________________ As a purely structural comment, the text immediately preceding=20 section 3.1 should either say something about section 3.4, or it=20 should not say anything about sections 3.1 - 3.3. Alternatively, you might consider re-structuring section 3 (e.g. - 3.1.1, 3.1.2, 3.1.3 and 3.2). MBS>> Mentioned content/purpose of 3.4. =20 ___________________________________________________________________ In the description text on page 10 (second paragraph), you have the following text (without quotation marks): "[802.3-2005] refers to: IEEE Std 802.3-2002:" I belive the second line should read (without quotation marks) -=20 "IEEE Std 802.3-2005:"=20 This looks like a cut-and-paste error. MBS>> Fixed. =20 ___________________________________________________________________ In the 1st line of the paragraph at the bottom of page 21,=20 "looopback" should be "loopback" (there is an extra "o" in=20 the current version). MBS>> Fixed mulitple occurences of looopback. =20 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Questions: =3D=3D=3D=3D=3D=3D=3D=3D=3D >From section 3 (Overview - paraphrased): Three functional objectives (of OAM): Remote fault indication =20 Link monitoring=20 Remote loopback Is this a general observation about OAM, or does it affect the=20 way that the MIB objects and tables are laid out? MBS>> Intent is a general statement about OAM. Did not make any changes. =20 ___________________________________________________________________ At the top of page 13, should "At initialization and failure ..." be "At initialization and recovery ..."? MBS>> Didn't make any changes as it seemed ok either way. =20 ___________________________________________________________________ In section 7, Security Considerations, you include the following statement: "Unlike SNMP, IEEE P802.3ah OAM does not include encryption or=20 authorization mechanisms." Should "authorization" be "authentication"? MBS>> Yes it should, changed.=20 ___________________________________________________________________ On page 53, 3rd line, you say: "information available obtainable via OAM ..." Is the phrase "available obtainable" supposed to mean something, or should one, or the other, of the two words be omitted? MBS>> Redundant wording, removed obtainable.=20 __________________________________________________________________ In the 2nd paragraph of page 53, the 2nd sentence starts with "Even if ..." and includes the phrase "..., even then, ..." - what conditions does the 2nd use of "even" apply to (or is it=20 used for additional emphasis)? I had some difficulty in parsing this sentence, but it may be that I was trying to read something that isn't there... MBS>> No changes made (see Bert's response) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Results from running idnits (non verbose) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D idnits 2.01.1=20 tmp/draft-ietf-hubmib-efm-mib-05.txt: Checking boilerplate required by RFC 3978 and 3979, updated by RFC 4748: * This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. * This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. MBS>> Added IETF trust stuff.=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 21 11:26:04 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJuI8-0007U1-GD; Wed, 21 Feb 2007 11:26:04 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJuI7-0007Tn-AD for hubmib@ietf.org; Wed, 21 Feb 2007 11:26:03 -0500 Received: from ihemail3.lucent.com ([135.245.0.37]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJuI3-0006jU-GL for hubmib@ietf.org; Wed, 21 Feb 2007 11:26:03 -0500 Received: from ilexp01.ndc.lucent.com (h135-3-39-1.lucent.com [135.3.39.1]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id l1LGPsQN021530; Wed, 21 Feb 2007 10:25:54 -0600 (CST) Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp01.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Feb 2007 10:25:54 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 21 Feb 2007 17:25:51 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] draft-ietf-hubmib-efm-oam-06 Date: Wed, 21 Feb 2007 17:22:51 +0100 Message-ID: In-Reply-To: <467C77F6373BDE4BB16A3E8A62C0395501201EEE@Exchserv.hatteras.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] draft-ietf-hubmib-efm-oam-06 Thread-Index: AcdV07F5pQYXHg1cRgej7FIvJipsbAAAHZgg References: <467C77F6373BDE4BB16A3E8A62C0395501201EEE@Exchserv.hatteras.com> From: "Wijnen, Bert \(Bert\)" To: "Matt Squire" , X-OriginalArrivalTime: 21 Feb 2007 16:25:51.0960 (UTC) FILETIME=[F4120D80:01C755D4] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37 X-Spam-Score: 0.0 (/) X-Scan-Signature: 4a4195ffb11c7b0baf82f77b2a730aa9 Cc: X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Thanks Matt. Indeed I think that this is the final revision so we can then get Dan to put it on IESG Agenda. Anyway, if anyone has comments on the below, pls let us know asap. Also, when the new rev shows up (later today or tomorrow), pls do check and speak up if you see any concerns. I have carefully reviewed the latest changes that Matt made (before he did send it to internet-drafts) and I am happy and confident that all changes are OK. =20 Bert Wijnen HUBMIB WG chair > -----Original Message----- > From: Matt Squire [mailto:MSquire@HatterasNetworks.com]=20 > Sent: woensdag 21 februari 2007 17:17 > To: hubmib@ietf.org > Subject: [Hubmib] draft-ietf-hubmib-efm-oam-06 >=20 >=20 > A new (and hopefully final) revision to the EFM OAM MIB=20 > Internet Draft has been submitted.=20 >=20 > The changes to the document reflect comments issued during last call. > Comments were received by the following individuals: > Bert Wijnen > Dan Romascanu > Eric Gray > Sean Turner > Thanks to these and all other reviewers in the process.=20 >=20 > The changes were pretty editorial, but some of main comments=20 > addressed were as follows: >=20 > * Added a DEFVAL to dot3OamErrFrameWindow,=20 > dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable,=20 > dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, > dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable,=20 > dot3OamCriticalEventEnable >=20 > * Changed OUI object name from Dot3Oui to EightOTwoOui in=20 > order to make it more correct hopefully useable by other MIBs=20 > in the future. The OUI is really an 802 concept, not an=20 > 802.3 concept. =20 >=20 > * Updated boilerplate with newer IETF Trust wording. >=20 > * Added and corrected some issues with references in that=20 > some normative references ones weren't appearing normative. =20 > References were added to the IMPORT section of the MIB so=20 > that all normative references were actually used in the document. =20 >=20 > Excruciating details are included below, but those are the=20 > highlights. =20 >=20 > - Matt >=20 >=20 >=20 >=20 > ************************************************ > ************************************************ > ************************************************ > ************************************************ >=20 >=20 >=20 >=20 > Many other (tens) of editorial items (misspellings, typos,=20 > minor wording improvements, etc.) were also addressed. =20 > Details below. Responses > indicated with "MBS>>". =20 >=20 >=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > Comments from Dan, Feb-07-2007 >=20 > 1. The header of the document should include: 'Intended=20 > Status - Proposed Standard' >=20 > MBS>>> > Replaced the header line: > Ethernet OAM MIB October 2006 > with: > Intended Status - Proposed Standard February 2007 >=20 >=20 >=20 >=20 > 2. References problems: >=20 > - Unused Reference: 'RFC2586' is defined on line 2715, but=20 > not referenced > '[RFC2586] Bierman, A., McCloghrie, K., Presuhn, R., "Textual > Convent...' > MBS>> CHANGED TO 2856 >=20 > - Unused Reference: 'RFC3636' is defined on line 2738, but=20 > not referenced > '[RFC3636] Flick, J., "Definitions of Managed Objects for IEEE > 802.3...' > MBS>>=20 >=20 > * Downref: Informational Normative Reference: RFC 2586 -=20 > this is actually a typo (should be 2856) combined with=20 > another unused references >=20 > Now, at least part of these unused references is caused by=20 > the fact that the MIB module does not list (commented) the=20 > RFC where the imported TCs originate. This should be=20 > Normative References >=20 > Also, I would suggest to replace [RFC3636] with the update=20 > draft, which was already approved by the IESG and is in RFC=20 > Editor Queue >=20 > MBS>> I fixed the reference 2586. Note that I don't actually > reference 3636 anywhere, so I removed that from the references. > Added references to MIB module when importing from other MIBs. =20 >=20 >=20 >=20 > 3. It would be good to run again the latest version of=20 > idnits. There are more complaints about the boilerplate and=20 > about pages exceeding the maximal allowed number of lines per page. >=20 > MBS>> Done. Nothing major found (though it still spits out concerns > related to spacing and IP addresses which are not appropriate). =20 >=20 >=20 >=20 > 4. Section 3:=20 >=20 > Although Ethernet access > deployments were the primary motivation for the task force=20 > activity, > the results of the task force are not strictly limited to that > application. =20 >=20 > Maybe we can be even more explicit here by adding: >=20 > 'For example Ethernet OAM could be implemented on Ethernet=20 > links that are not necessarily EFM.' >=20 > MBS>> Addressed >=20 >=20 >=20 > 5. Something seems to be missing in the following phrase in=20 > Section 3.4: >=20 > 'OAMPDUs are the mechanism two > directly connected Ethernet interfaces exchange OAM information. ' >=20 > MBS>> Changed to "OAMPDUs are the mechanism by which two directly > connected Ethernet interfaces exchange OAM information." >=20 >=20 >=20 > 6. Section 4.1 - would be better to avoid saying 'SNMP MIB Modules' in > the title as MIB modules can be used with another protocol than SNMP >=20 > MBS>> Removed SNMP from title of 4.1 >=20 >=20 >=20 > 7. Update hubmib chair name and contact information >=20 > MBS>> Done, put in Bert's email (no phone). =20 >=20 >=20 >=20 > 8. dot3OamPeerVendorInfo - I may be wrong, but the reference points to > table 57-11 in the IEEE specification and the 32-bit information there > is not other but the SMI Enterprise Number. If I am correct=20 > we may want > to mention this in the DESCRIPTION >=20 > MBS>> After side conversations with commenters, changed the=20 > description > field of this to reflect that the semantics are unknown and up to the > vendor, and that this field simply reflects what was=20 > received. Included > an example that it could be used for a product or product family > identifier. =20 >=20 >=20 >=20 > 9. Why is not DEFVAL used to specify the default values of=20 > read-write or > read-create objects wherever they are fixed - dot3OamErrFrameWindow, > dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable, > dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, > dot3OamErrFrameSecsEvNotifEnable, dot3OamDyingGaspEnable, > dot3OamCriticalEventEnable >=20 > MBS>> Probably because nobody pointed it out before... Added defval > for all of the above consistent with the text in the description > section. =20 >=20 >=20 >=20 > 10. The Abstract section contains a reference - this should=20 > be avoideda >=20 > MBS>> Removed >=20 >=20 >=20 > 11. According to the naming convention in RFC 4181 the name of the > Dot3Oui TC should be Dot3oamOui. Now one may argue that this TC is not > Dot3-OAM specific, but then it is not Dot3 specific either. If we > already infringe the naming convention let us use a more generic name > (maybe just Oui or EightOTwoOui that would encourage the TC to be > imported by other MIB modules.=20 >=20 > MBS>> Good point - changed to EightOTwoOui. =20 >=20 >=20 >=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > >From Bert Jan-18-2007 >=20 > Wow... this one dropped through the cracks. > And nobody warned me. Oh well.. >=20 > I see (I means smicng tells me) an INDEX object: > dot3OamEventLogIndex OBJECT-TYPE > SYNTAX Unsigned32=20 > that would need a range. > I assume that zero is not an intended value, so I would do: > dot3OamEventLogIndex OBJECT-TYPE > SYNTAX Unsigned32(1..4294967295) >=20 > MBS>> Added range.=20 >=20 > I also see that you have mad a few "editorial" changes > - a few occurences of "possibility" into "possiblity". > The latter is nota real word, is it? > - "multiplexer" into "mulitplexor" ?? > - "identifying" into "identifiying" ?? >=20 > MBS>> Fixed 3 occurences of possiblity, 1 occurence of mulitplexer, 1 > occurence of identifiying.=20 >=20 >=20 > Anyway, the latter can be fixed by RFC editor, and the INDEX fix (if > that is acceptable) can be done with a note-to-rfc-editor by=20 > Dan, or we > can see it as a first IETF Last Call Comments. >=20 > I don't think we need to respin a new version for this. > (However, if you do plan a new rev, then pls be aware you need new > copy-right text, as I posted to the list last week). >=20 > MBS>> updated copyright with IETF Trust as per RFC4748.=20 >=20 >=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > >From Sean Turner Feb-14-2007 >=20 > - Sec 3.4: 1st sentence is missing a ) > MBS>> Fixed. >=20 > - Sec 6: I'd probably add an RFC EDITOR note to update the copyright > notice to 2007. It's right before the 1st RFC Editor note. > MBS>> Addressed the copy right notice issue re RFC 4748.=20 >=20 > - Sec 6 dot3OamAdminState OBJECT-TYPE: Description says disabled(1) it > should be disabled(2) to match the syntax. > MBS>>> Fixed. =20 >=20 > - Sec 6 dot3OamPeerEntry OBJECT-TYPE: Description last line:"(4). or" > should be "(4), or"=20 > MBS>> Fixed.=20 >=20 >=20 > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > >From Eric Feb-11-2007 >=20 >=20 > Summary: > =3D=3D=3D=3D=3D=3D=3D >=20 >=20 > Comments: > =3D=3D=3D=3D=3D=3D=3D=3D >=20 > Weird formatting of section headers takes some getting used to. > Weird formatting of the reference section makes it difficult to > find specific references (especially if using a paper copy). >=20 > MBS>> Fixed reference section and section headers. =20 >=20 > ___________________________________________________________________ >=20 > As a purely structural comment, the text immediately preceding=20 > section 3.1 should either say something about section 3.4, or it=20 > should not say anything about sections 3.1 - 3.3. Alternatively, > you might consider re-structuring section 3 (e.g. - 3.1.1, 3.1.2, > 3.1.3 and 3.2). >=20 > MBS>> Mentioned content/purpose of 3.4. =20 > ___________________________________________________________________ >=20 > In the description text on page 10 (second paragraph), you have > the following text (without quotation marks): >=20 > "[802.3-2005] refers to: > IEEE Std 802.3-2002:" >=20 > I belive the second line should read (without quotation marks) -=20 >=20 > "IEEE Std 802.3-2005:"=20 >=20 > This looks like a cut-and-paste error. >=20 > MBS>> Fixed. =20 > ___________________________________________________________________ >=20 > In the 1st line of the paragraph at the bottom of page 21,=20 > "looopback" should be "loopback" (there is an extra "o" in=20 > the current version). >=20 > MBS>> Fixed mulitple occurences of looopback. =20 >=20 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >=20 > Questions: > =3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > >From section 3 (Overview - paraphrased): > Three functional objectives (of OAM): >=20 > Remote fault indication =20 > Link monitoring=20 > Remote loopback >=20 > Is this a general observation about OAM, or does it affect the=20 > way that the MIB objects and tables are laid out? >=20 > MBS>> Intent is a general statement about OAM. Did not make any > changes. =20 > ___________________________________________________________________ >=20 > At the top of page 13, should "At initialization and failure ..." > be "At initialization and recovery ..."? >=20 > MBS>> Didn't make any changes as it seemed ok either way. =20 > ___________________________________________________________________ >=20 > In section 7, Security Considerations, you include the following > statement: >=20 > "Unlike SNMP, IEEE P802.3ah OAM does not include encryption or=20 > authorization mechanisms." >=20 > Should "authorization" be "authentication"? >=20 > MBS>> Yes it should, changed.=20 > ___________________________________________________________________ >=20 > On page 53, 3rd line, you say: >=20 > "information available obtainable via OAM ..." >=20 > Is the phrase "available obtainable" supposed to mean something, > or should one, or the other, of the two words be omitted? >=20 > MBS>> Redundant wording, removed obtainable.=20 > __________________________________________________________________ >=20 > In the 2nd paragraph of page 53, the 2nd sentence starts with > "Even if ..." and includes the phrase "..., even then, ..." - > what conditions does the 2nd use of "even" apply to (or is it=20 > used for additional emphasis)? >=20 > I had some difficulty in parsing this sentence, but it may be > that I was trying to read something that isn't there... >=20 > MBS>> No changes made (see Bert's response) >=20 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >=20 > Results from running idnits (non verbose) > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > idnits 2.01.1=20 >=20 > tmp/draft-ietf-hubmib-efm-mib-05.txt: >=20 > Checking boilerplate required by RFC 3978 and 3979, updated by RFC > 4748: > * This document has an original RFC 3978 Section 5.4 Copyright Line, > instead of the newer IETF Trust Copyright according to RFC 4748. > * This document has an original RFC 3978 Section 5.5 Disclaimer, > instead of > the newer disclaimer which includes the IETF Trust=20 > according to RFC > 4748. >=20 > MBS>> Added IETF trust stuff.=20 >=20 >=20 >=20 >=20 > _______________________________________________ > Hubmib mailing list > Hubmib@ietf.org > https://www1.ietf.org/mailman/listinfo/hubmib >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Wed Feb 21 13:39:21 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJwN2-0000yX-Rt; Wed, 21 Feb 2007 13:39:16 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJrno-0004ZU-02 for hubmib@ietf.org; Wed, 21 Feb 2007 08:46:36 -0500 Received: from il-mail.actelis.net ([62.90.13.193]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJrnU-0004Wd-Ip for hubmib@ietf.org; Wed, 21 Feb 2007 08:46:35 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C755BE.ADD5F788" Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 21 Feb 2007 15:46:25 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19A8@il-mail.actelis.net> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAABLZN1QAAtQiKA= From: "Edward Beili" To: "Wijnen, Bert \(Bert\)" X-Spam-Score: 0.5 (/) X-Scan-Signature: 9c131708f322c7ba0ec529fbb6756fa1 X-Mailman-Approved-At: Wed, 21 Feb 2007 13:39:13 -0500 Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Bert, Thanks for such a quick reply. I've attached the latest version of the draft and the MIB modules. See my rebuttal below (there are two questions for you): Regards, -E. > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@alcatel-lucent.com]=20 > Sent: Tuesday, February 20, 2007 18:14 > To: Edward Beili > Cc: Dan Romascanu (E-mail); Hub Mib > Subject: RE: [Hubmib] My review of:=20 > draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > Thanks for the revision Ed, >=20 > I still have some comments though. >=20 > - Not sure if I mentioned this before. But anyway. > I see: >=20 > ifCapStackCompliance MODULE-COMPLIANCE > STATUS current > DESCRIPTION > "The compliance statement for SNMP entities, which provide > information on the cross-connect capability of multi-layer > (stacked) network interfaces, with flexible cross-connect > between the sub-layers. > ! Compliance with the following external compliance=20 > statements > ! is REQUIRED: > ! > ! MIB Module Compliance Statement > ! ---------- -------------------- > ! IF-MIB ifCompliance3 > ! IF-INVERTED-STACK-MIB ifInvCompliance" >=20 > MODULE -- this module > MANDATORY-GROUPS { > ifCapStackGroup > } >=20 > OBJECT ifCapStackStatus > SYNTAX TruthValue { true(1) } > DESCRIPTION > "Support for the false(2) value is OPTIONAL for > implementations supporting pluggable interfaces." >=20 > OBJECT ifInvCapStackStatus > SYNTAX TruthValue { true(1) } > DESCRIPTION > "Support for the false(2) value is OPTIONAL for > implementations supporting pluggable interfaces." >=20 > MODULE IF-MIB > MANDATORY-GROUPS { >=20 > ifStackGroup2 > } >=20 > @ MODULE IF-INVERTED-STACK-MIB > @ MANDATORY-GROUPS { > @ ifInvStackGroup > @ } >=20 > ::=3D { ifCapStackCompliances 1 } >=20 > My concerns are these: > - I wonder if we want to keep (all) the lines that I marked with ! > - part of it is already coverd with the lines I marked with @ > So I would at least remove the line > IF-INVERTED-STACK-MIB ifInvCompliance > to avoid duplication.=20 >=20 > At the other hand, I could also live with what you have. [EB] I agree - removed the lines marked by !. > - But I do want you to fix SMICng reported error: >=20 > E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be IMPORTed > =20 > since you do list that as a mandatory group. [EB] ifStackGroup2 is already imported, I've fixed that in the version I sent before. > - see below answers from me for resolutions that I am not > agreeing to. I removed all the items we agree on. Thanks > for fixing or answering/explaining. > =20 > > > From: Wijnen, Bert (Bert) > > > [mailto:bwijnen@alcatel-lucent.com] > > > Sent: Thursday, January 18, 2007 21:45 > > > To: Edward Beili > > > Cc: Dan Romascanu (E-mail) > > > Subject: RE: [Hubmib] My review of:=20 > > > draft-ietf-hubmib-efm-cu-mib-06.txt > >=20 > > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > > and ifInvCapStackTable? In any event, pls re-check the > > > feedback we've got on that. I do not think that what we > > > currently have in the MIB module is acceptable. > >=20 > > [EB] Replaced with TruthValue. >=20 > This is much better. > I wonder if it would now be better to rename the object from=20 > ifCapStackStatus to ifCapStackCapability to better represent=20 > its purpose. Same for possibly renaming ifInvCapStackStatus=20 > into ifInvCapStackCapability. >=20 > I am not hung up on it though. [EB] ifCapStack already stands for "Interface Capability Stack" - appending "Capability" would make it "Interface Capability Stack Capability". How about: ifCapStackAbility ? Or we can leave it ifCapStackStatus, to emphasize its similarity with IfStackTable > > >- for=20 > > > efmCuPAFDiscoveryCode OBJECT-TYPE > > > SYNTAX PhysAddress > > > MAX-ACCESS read-write > > > STATUS current > > > DESCRIPTION > > > "PAF Discovery Code of the EFMCu port (PCS). > > > A unique 6 Byte long code used by the Discovery function, > when > > > PAF is supported. > > > PCS ports incapable of supporting PAF SHALL return a value > of > > > all zeroes. Attempts to change this object SHALL=20 > be ignored > in > > > this case. > > > This object MUST be instantiated for the -O subtype PCS > before > > > writing operations on the efmCuPAFRemoteDiscoveryCode > > > (Set_if_Clear and Clear_if_Same) are performed by PMEs > > > associated with the PCS. > > > The value of this object is read-only for -R port=20 > subtypes. > > > The initial value of this object for -R ports after reset > > > is 0. This value may be changed as a result of writing > > > operation on efmCuPAFRemoteDiscoveryCode variable=20 > of remote > > > PME of -O subtype, connected to one of the local PMEs > > > associated with the PCS. > > > > > > Discovery MUST be performed when the link is Down. > > > Attempts to change this object MUST be rejected with the > error > > > inconsistentValue if the link is Up or Initializing. > > > > > > The PAF Discovery code maps to the local Discovery code > > > variable in PAF (note that it does not have a=20 > corresponding > > > Clause 45 register)" > > > REFERENCE > > > "[802.3ah] 61.2.2.8.3, 61.2.2.8.4, 45.2.6.6.1" > > > ::=3D { efmCuPortConfEntry 2 } > > > > > > I am trying to figure out what made you choose=20 > PhysAddress as the=20 > > > SYNTAX for the discovery code. Can you explain, or point=20 > me to the=20 > > > 802.3ah clause that explains/justifies that? > >=20 > > [EB] The remote discovery code is defined by 802.3ah as a 6-octets=20 > > (48-bit) value, see 45.2.6.8. Clause 61A.2 actually=20 > suggests to use a=20 > > MAC address for the discovery operation, in order to ensure=20 > its 'local=20 > > uniqueness'. > > Since PhysAddress represents media- or physical-level=20 > addresses it was=20 > > a natural choice. I've added the size attribute to indicate it's=20 > > length. >=20 > Would it not be wise to also add 45.2.6.8 and 61A.2 in the > REFERENCE clause? [EB] Added > > >- For efmCuAdminProfile I read in DESCRIPTION clause: > > > > > > This object is writable and readable for the -O subtype > > > (2BaseTL-O or 10PassTS-O) EFMCu ports. It is unavailable > for > > > the -R subtype (2BaseTL-R or 10PassTS-R) ports. > > > > > > what does it mean that this object is "unavailable" > > > Do you not want it instatntiated in that case, or do you=20 > want its=20 > > > value to be ignored/irrelevant? Pls be specific. > > > > > > You use that at various other places as well. Pls check and fix. > >=20 > > [EB] Replaced 'unavailable' with 'unsupported' >=20 > But I keep wondering what that means? Does the object get instantiated > with some value that means "unsupported"? What is a SNMP SET occurs, > that one gets rejected I guess (probably with inconsistentValue for > SNMP)? > Or is the object not instantiated? > Or if read, does it return a zero-length OCTET STRING? > Oh no, that is not possible, cause the TC has a SIZE (1..6) >=20 > Maybe we need a TC EfmProfileIndexListOrNone, which allows a=20 > SIZE (0..6), and requries that an OBJECT of that SYNTAX specifies in > the DESCRIPTION clause what the zero length means. And in this case > it could mean "unsupported". >=20 > Similar questions/comments for other uses of "unsupported" [EB] Replaced "unsupported" or "not supported" with "irrelevant" for: efmCuAdminProfile, efmCuPmeAdminProfile, efmCuPmePeerSnrMgn, efmCuPmePeerLineAtn In all cases specified which value shall be returned on an attempt to read and write, if allowed. I've also added a zero length value to EfmProfileIndexList TC. > > >- For > > > efmCuPAFRemoteDiscoveryCode OBJECT-TYPE > > > SYNTAX PhysAddress > > > MAX-ACCESS read-write > > > STATUS current > > > DESCRIPTION > > > "PAF Remote Discovery Code of the PME port at CO. > > > A 6 Byte long Discovery Code of the peer PCS connected via > > > the PME. > > > Reading this object results in a Discovery Get operation. > > > Writing a zero to this object results in a Discovery > > > Clear_if_Same operation (the value of=20 > efmCuPAFDiscoveryCode > > > at the peer PCS SHALL be the same as efmCuPAFDiscoveryCode > of > > > the local PCS associated with the PME for the operation to > > > succeed). > > > Writing a non-zero value to this object results in a > > > Discovery Set_if_Clear operation. > > > This object does not exist in CPE port subtypes. A zero > length > > > octet string SHALL be returned for CPE port subtypes and > also > > > when PAF aggregation is not enabled. > > > > > > What is "writing a zero value" ?? > > > Is that 6 octets, all zeroes? > > > Or one octet conatining zero, > > > or the zero length octet-string? > > > What means "does not exist" is it not instanctiated? I guess so. > > > pls be clear. You do get gaps in the tables if some objects are > not=20 > > > instantiated. Might be easier (on NM apps) if there was a value > (like=20 > > > all zeros, or zerolength string) that can be ignored. > >=20 > > [EB] Reworded as follows: > > This object is irrelevant in CPE port (-R) subtypes: in this > > case a zero length octet string SHALL be returned on an > > attempt to read this object, writing to this object SHALL > > be ignored. >=20 > MMM... remember I do not understand what "writing to this object SHALL > be ignored" means. You had replaced "ignored" with "rejected" in other > objects. Maybe you better do that here as wel;l. [EB] Agree. Replaced "ignored" with "rejected" =20 > You also changed the SYNTAX from >=20 > SYNTAX PhysAddress >=20 > to >=20 > SYNTAX PhysAddress (SIZE(6)) >=20 > Such was needed for INDEX objects, but not necessarily for=20 > this object. > I do find it wise though to also be specific as to what the SIZE is, > specifically since the DESCRIPTION clause does state that it is a > 6-octet > value. However, that makes it invalid to state: >=20 > A zero-length octet string SHALL be returned on an=20 > attempt to > read this object when PAF aggregation is not enabled. >=20 > This object is irrelevant in CPE port (-R) subtypes: in this > case a zero length octet string SHALL be returned on an > attempt to read this object, writing to this object SHALL > be ignored. >=20 > Because the SYNTAX states that it CANNOT be zero length. To=20 > cover this, > you > can use a SYNTAX of: >=20 > SYNTAX PhysAddress (SIZE(0 | 6)) [EB] Agree. Modified the syntax to include 0 length for both efmCuPAFDiscoveryCode and efmCuPAFRemoteDiscoveryCode. For efmCuPAFDiscoveryCode reworded the behavior for non-PAF ports as follows: PCS ports incapable of supporting PAF SHALL return a zero length octet string on an attempt to read this object. An attempt to write to this object SHALL be rejected for such ports. > > >- For efmCuPme2BProfileRowStatus I wonder if any (all?) of the > objects > > > in a row can be changed while the row is active? Would that not > > > be disruptive? In any event, pls specify if any (which( objects > > > can be changed or stat eif none can be change in active state. > >=20 > > [EB] I believe that 'read-create' in MAX-ACCESS clause of all=20 > > the objects in a row (except for the 'not-accessible' index)=20 > > already indicates that in order to change an object in a=20 > > particular profile, one would have to create a new one,=20 > > change the reference(s) from the old profile to a new one and=20 > > remove the old (inactive) profile if not needed anymore. >=20 > Mmm... a MAX-ACCESS read-create does not imply that semantic. > So I would be more specific and state this somewhere.=20 > the DESCRIPTION clause of the RowStatus object might be a good=20 > place for that. >=20 > I could imagine that efmCuPme2BProfileDescr might be changed even > for an active row. At least from the DESCRIPTION clause of that > object, I do not get the impression that it controls/prescribes > operational attributes, does it? >=20 > I can see that for the other objects, they probably cannot be=20 > changed while the row is active and referenced. But maybe one > could put the row in notInService, changed the attributes and > use it again? >=20 > I hope I am now explaining better why I wondered (and still wonder). >=20 > In any event, this is not clear from the current definitions. > If you want to prescirbe that=20 > in order to change an object in a particular profile,=20 > one would have to create a new one, change the reference(s) > from the old profile to a new one and remove the old=20 > (inactive) profile if not needed anymore. >=20 > then pls be explict and put it in a DESCRIPTION clause. [EB] I added the following paragraph to all RowStatus DESCRIPTION clauses: An 'active' entry SHALL NOT be modified. In order to modify an existing entry it MUST be taken out of service (by setting this object to 'notInService'), modified and set 'active' again. > > > Same question for efmCuPme2BsModeRowStatus, although=20 > there a change >=20 > > > is probably not disruptive. > > > Pls check all occurences of RowStatus > >=20 > > [EB] Same answer as above. > >=20 > Same comment as above. [EB] Same answer as above > > >- I really wonder if we are doing a smart thing by give the=20 > > same labels > > > to the various enums in > > > efmCuPme10PBandplanPSDMskProfile INTEGER, > > > efmCuPme10PUPBOReferenceProfile INTEGER, > > > efmCuPme10PBandNotchProfiles BITS, > > > efmCuPme10PPayloadURateProfile INTEGER, > > > efmCuPme10PPayloadDRateProfile INTEGER, > > > They have different meanings, don't they? So would it=20 > not be better > > > to differentiate between the labels of the neumerations? > >=20 > > [EB] If we take it to extreme why not turning all enums to TCs? > > Personally I prefer inline enums (if they are not repeated of=20 > > course which would make they perfectly good candidates for=20 > > TCs) as they list the values and their meaning in the=20 > > description for the object - less jumps between the object=20 > > and a TC when reading the MIB. >=20 > As I said. I wondered if it is smart. > If no one else wonders, and thereby (implicitly, by being silent) > agrees with you. Then I am OK with what you have. [EB] OK. =20 > > >- With regard to naming, I am somewhat worried about the=20 > conventions > that > > > are used (or maybe those that are not used). I always find it > smarter > > > to have all columnar objects in a table prefixed with a=20 > string that > > > makes it clear to which table the object belongs. For example for > > > the efmCuPortConfTable: > > > > > > EfmCuPortConfEntry ::=3D > > > SEQUENCE { > > > efmCuPAFAdminState INTEGER, > > > efmCuPAFDiscoveryCode PhysAddress, > > > efmCuAdminProfile ProfileIndexList, > > > efmCuTargetDataRate Unsigned32, > > > efmCuTargetSnrMgn Unsigned32, > > > efmCuAdaptiveSpectra TruthValue, > > > efmCuThreshLowRate Unsigned32, > > > efmCuLowRateCrossingEnable TruthValue > > > } > > > =20 > > > I would personally prefer the columns to be alll prefixed with =20 > > > efmCuPortConf, so I would have named them as follows: > > > > > > EfmCuPortConfEntry ::=3D > > > SEQUENCE { > > > efmCuPortConfPAFAdminState INTEGER, > > > efmCuPortConfPAFDiscoveryCode PhysAddress, > > > efmCuPortConfAdminProfile ProfileIndexList, > > > efmCuPortConfTargetDataRate Unsigned32, > > > efmCuPortConfTargetSnrMgn Unsigned32, > > > efmCuPortConfAdaptiveSpectra TruthValue, > > > efmCuPortConfThreshLowRate Unsigned32, > > > efmCuPortConfLowRateCrossingEnable TruthValue > > > } > > > > > > This also holds true for most (all of) the other tables. > > > My suggested naming convention above has (in my view) 2=20 > advantages: > > > =20 > > > - less change for conflicting names.=20 > > > I will admit, that this is not too big a risk, since this is > > > all within the same MIB module. Nevertheless, I think it just > > > makes it easier if any additions need to be made in=20 > the future. > > > - easier for people to see which objects belong to=20 > which tables. > > > I think this is a strong point. But I also understand it is > > > somewhat subjective. > > > > > > I can accept if the WG and/or editor/author tells me=20 > that I am far > > > too late with this type of comment. It of course=20 > requires a quite=20 > > > massive editorial change. So, although I think it would improve > > > the human-friendlyness of the MIB module, I will not insist on > > > this change. > >=20 > > [EB] While I tend to agree with the advantages of the naming=20 > > scheme you proposed, I would like to ask to be forgiven and=20 > > leave the names as they are now, due to the following rasons: > > - It is a big change (considering also that there are at=20 > > least 2 experimental implementations of this draft that I know of) >=20 > I know it is a big change, and so I am willing to accept what you=20 > have because of that. >=20 > The fact that there are 2 experimental implementations is somewhat > of a bad argument. They should (in order to avoid conflicts > with whatever we finally produce as a standards track MIB module) > have taken an approach whereby: >=20 > - they have rooted the MIB module under their own enterprise OID > tree > - renamed the MIB mdoule and all objects so they won't conflict=20 > with our (soon to be) standard MIB module. Normally one then > prefixes all object names with the company name or some such. >=20 > > - Some time ago I was asked to stick with the RFC 2578/2579=20 > > recommendation of 32 char restriction - the proposed change=20 > > would make some names to be longer than 32 chars. (Yes, I=20 > > just read RFC 4181 view on that - the 32 character=20 > > restriction recommendation of SMIv2 SHOULD be set aside in=20 > > favor of promoting clarity and uniqueness). However it could=20 > > be argued that it is easier to remember=20 > > efmCuLowRateCrossingEnable vs. efmCuPortConfLowRateCrossingEnable >=20 > Not so strong argument, but I understand what you are saying. >=20 > So based on the "it is a BIG change and it is late in the process" > I will not require the change to be made. Hope Dan agrees as well, > and I assume that WG members also agree.=20 >=20 > WG members/paritcipants: Speak up if not! [EB] I'm going to wait here. > > >- This table > > > efmCuPmeStatusTable OBJECT-TYPE > > > SYNTAX SEQUENCE OF EfmCuPmeStatusEntry > > > MAX-ACCESS not-accessible > > > STATUS current > > > DESCRIPTION > > > "This table provides common status information of EFMCu > > > 2BASE-TL/10PASS-TS PME ports. Status information specific > > > to 10PASS-TS PME is represented in efmCuPme10PStatusTable. > > > > > > This table contains live data from the equipment. As such, > > > it is NOT persistent." > > > ::=3D { efmCuPme 3 } > > > > > > Is cmposed of just read-only objects. So the last=20 > sentence of the =20 > > > DESCRIPTION clause is not needed. In general people expect=20 > > (I think) =20 > > > writable objects when they see such a ststament. > >=20 > > [EB] You are right. However when one is looking at the=20 > > description clause of a 'not-accessible' table, the only way=20 > > to determine if it is composed of read-only objects is to=20 > > check the Max access value of each and every object in the=20 > > table. I believe that the 'NOT persistent' > > sentence helps reader to understand the nature of a table=20 > > quicker, so I would leave it as is. > >=20 >=20 > Mmmm... also read-write objects can be NON-persistent (volatile). > So I do not follow your logic ?? >=20 > I believe I still see other objects that are read-write or read-create > and for which it is not clear what the persistency behaviour is=20 > supposed to be. Can you pls check and make sure that that is specified > for all writable objects. If the behaviour is the same for all > objects in a row, you can describe it in the xxxEntry DESCRITPION > clause for that row. >=20 > Bert [EB] I've found only one table without the persistency definition (efmCuPme10PStatusTable) and corrected it - now all tables contain the persistency behavior definition in the DESCRIPTION clause for the table. Basically only the Status tables are non-persistent. Would that be satisfactory? ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-07.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9ImRlc2Ny aXB0aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzIE1JQiI+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iTmV0d29y ayBNYW5hZ2VtZW50LCBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sLCBTTk1QLCBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UsIE1JQiwgVGV4dHVhbCBDb252ZW50aW9ucyI+DQo8 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzIgKGh0dHA6Ly94bWwu cmVzb3VyY2Uub3JnLykiPg0KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tDQogICAgICAgIGJv ZHkgew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNt YWxsOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCiAgICAgICAgICAgICAg ICBtYXJnaW46IDJlbTsNCiAgICAgICAgfQ0KICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2 IHsNCiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBT YW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWln aHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgfQ0KICAgICAgICBoMSB7IGNv bG9yOiAjOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgdGV4dC1hbGlnbjogcmln aHQ7IH0NCiAgICAgICAgaDMgeyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0NCg0KICAgICAgICB0ZC5SRkNidWcgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6 ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgICAgIHdpZHRo OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7DQogICAgICAgICAgICAgICAg dGV4dC1hbGlnbjoganVzdGlmeTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICAgICAgICAg ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlJGQ2J1 ZyBzcGFuLlJGQyB7DQogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNv YWwsIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNjY2Ow0KICAg ICAgICB9DQogICAgICAgIHRkLlJGQ2J1ZyBzcGFuLmhvdFRleHQgew0KICAgICAgICAgICAgICAg IGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwg aGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgICAgIGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7DQogICAgICAgIH0N Cg0KICAgICAgICB0YWJsZS5UT0NidWcgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OyB9DQog ICAgICAgIHRkLlRPQ2J1ZyB7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB3 aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyBi YWNrZ3JvdW5kLWNvbG9yOiAjOTAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlRPQ2J1ZyBhIHsN CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAi TVMgU2FucyBTZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBm b250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiB4LXNtYWxsOyB0ZXh0LWRlY29yYXRpb246IG5v bmU7DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgdGQuaGVhZGVyIHsNCiAgICAgICAgICAgICAg ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiB4 LXNtYWxsOw0KICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAzMyU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7DQog ICAgICAgIH0NCiAgICAgICAgdGQuYXV0aG9yIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6 ZTogeC1zbWFsbDsgbWFyZ2luLWxlZnQ6IDRlbTsgfQ0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7 IGZvbnQtc2l6ZTogeC1zbWFsbDsgfQ0KDQogICAgICAgIC8qIGluZm8gY29kZSBmcm9tIFNhbnRh S2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20vdG9vbHRpcDIuaHRtbCAqLw0K ICAgICAgICBhLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIGtleS4gKi8N CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICAgICAgei1p bmRleDogMjQ7DQogICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg ICB9DQogICAgICAgIGEuaW5mbzpob3ZlciB7DQogICAgICAgICAgICAgICAgei1pbmRleDogMjU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7DQog ICAgICAgIH0NCiAgICAgICAgYS5pbmZvIHNwYW4geyBkaXNwbGF5OiBub25lOyB9DQogICAgICAg IGEuaW5mbzpob3ZlciBzcGFuLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdp bGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZS4gKi8NCiAgICAgICAgICAgICAgICBkaXNw bGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAg ICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyOw0KICAgICAgICAgICAgICAgIHRvcDogMmVtOyBs ZWZ0OiAtNWVtOyB3aWR0aDogMTVlbTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IGJv cmRlcjogMXB4IHNvbGlkICMzMzM7DQogICAgICAgICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tn cm91bmQtY29sb3I6ICNFRUU7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAg ICAgICAgfQ0KDQogICAgICAgIGEgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICBhOmxp bmsgICAgeyBjb2xvcjogIzkwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAg ICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyB9DQogICAgICAgIGE6YWN0aXZlICB7IGNvbG9yOiAjNjMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgfQ0KDQogICAgICAgIHAgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4t cmlnaHQ6IDJlbTsgfQ0KICAgICAgICBwLmNvcHlyaWdodCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQ0KICAgICAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyBt YXJnaW4tbGVmdDogM2VtOyB9DQogICAgICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAwIDAgM2Vt OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfQ0KICAg ICAgICB0ZC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250LXdlaWdodDogYm9sZDsgdmVydGlj YWwtYWxpZ246IHRleHQtdG9wOyB9DQoNCiAgICAgICAgb2wudGV4dCB7IG1hcmdpbi1sZWZ0OiAy ZW07IG1hcmdpbi1yaWdodDogMmVtOyB9DQogICAgICAgIHVsLnRleHQgeyBtYXJnaW4tbGVmdDog MmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQ0KICAgICAgICBsaSAgICAgIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgfQ0KDQogICAgICAgIC8qIFJGQy0yNjI5IDxzcGFueD5zIGFuZCA8YXJ0d29yaz5zLiAq Lw0KICAgICAgICBlbSAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0NCiAgICAgICAgc3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgZGZuICAgIHsgZm9udC13ZWlnaHQ6IGJv bGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQ0KICAgICAgICBjaXRlICAgeyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0NCiAgICAgICAgdHQgICAgIHsgY29sb3I6ICMw MzY7IH0NCiAgICAgICAgdHQsIHByZSwgcHJlIGRmbiwgcHJlIGVtLCBwcmUgY2l0ZSwgcHJlIHNw YW4gew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAgIH0NCiAgICAgICAgcHJlIHsN CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA0cHg7DQogICAgICAg ICAgICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7DQogICAgICAgIH0N CiAgICAgICAgcHJlIGRmbiAgeyBjb2xvcjogIzkwMDsgfQ0KICAgICAgICBwcmUgZW0gICB7IGNv bG9yOiAjNjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9 DQogICAgICAgIHByZSAua2V5IHsgY29sb3I6ICMzM0M7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQog ICAgICAgIHByZSAuaWQgIHsgY29sb3I6ICM5MDA7IH0NCiAgICAgICAgcHJlIC5zdHIgeyBjb2xv cjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQ0KICAgICAgICBwcmUgLnZhbCB7IGNv bG9yOiAjMDY2OyB9DQogICAgICAgIHByZSAucmVwIHsgY29sb3I6ICM5MDk7IH0NCiAgICAgICAg cHJlIC5vdGggeyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQ0KICAgICAg ICBwcmUgLmVyciB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M7IH0NCg0KICAgICAgICAvKiBSRkMt MjYyOSA8dGV4dHRhYmxlPnMuICovDQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCwgdGFi bGUuaGVhZGVycywgdGFibGUubm9uZSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFs bDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItd2lkdGg6IDJweDsNCiAgICAgICAgICAgICAg ICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAg ICB9DQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCB7IGJvcmRlci1zdHlsZTogc29saWQ7 IGJvcmRlci1jb2xvcjogYmxhY2s7IH0NCiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9u ZSB7IGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAgICAgICB0aCB7DQogICAgICAgICAgICAgICAg Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlci1jb2xvcjogYmxhY2s7DQogICAgICAgICAgICAgICAg Ym9yZGVyLXdpZHRoOiAycHggMnB4IDNweCAycHg7DQogICAgICAgIH0NCiAgICAgICAgdGFibGUu YWxsIHRoLCB0YWJsZS5mdWxsIHRoIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfQ0KICAgICAgICB0 YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQ0K ICAgICAgICB0YWJsZS5ub25lIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAgICAgIHRh YmxlLmFsbCB0ZCB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVy LWNvbG9yOiAjMzMzOw0KICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweDsNCiAg ICAgICAgfQ0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5u b25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQoNCiAgICAgICAgaHIgeyBoZWlnaHQ6IDFw eDsgfQ0KICAgICAgICBoci5pbnNlcnQgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7IGJv cmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOw0KICAgICAgICAgICAgICAgIGNvbG9y OiAjQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KICAgICAgICB9DQotLT48L3N0eWxlPg0K PC9oZWFkPg0KPGJvZHk+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iNjYlIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9 IjEiPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3RkPjx0 ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl ciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BY3RlbGlzIE5ldHdvcmtz PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlbmRlZCBzdGF0dXM6IFN0YW5k YXJkcyBUcmFjazwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5IDIxLCAyMDA3PC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgMjUsIDIwMDc8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGgxPjxiciAvPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50 eHQ8L2gxPg0KDQo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+DQo8cD4NCkJ5IHN1Ym1pdHRp bmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwNCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkg YXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaA0KaGUgb3Igc2hl IGlzIGF3YXJlIGhhdmUgYmVlbiBvciB3aWxsIGJlIGRpc2Nsb3NlZCwNCmFuZCBhbnkgb2Ygd2hp Y2ggaGUgb3Igc2hlIGJlY29tZXMgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsDQppbiBhY2NvcmRh bmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPg0KPHA+DQpJbnRlcm5l dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu Zw0KVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4N Ck5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3Vt ZW50cyBhcw0KSW50ZXJuZXQtRHJhZnRzLjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBk cmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQphbmQgbWF5 IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0 IGFueSB0aW1lLg0KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFz IHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlDQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVv O3dvcmsgaW4gcHJvZ3Jlc3MuJnJkcXVvOzwvcD4NCjxwPg0KVGhlIGxpc3Qgb2YgY3VycmVudCBJ bnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8vd3d3Lmll dGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8x aWQtYWJzdHJhY3RzLnR4dDwvYT4uPC9wPg0KPHA+DQpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFm dCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8v d3d3LmlldGYub3JnL3NoYWRvdy5odG1sJz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s PC9hPi48L3A+DQo8cD4NClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0 IDI1LCAyMDA3LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmln aHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+ DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24g QmFzZSAoTUlCKSBtb2R1bGVzIGZvcg0KICAgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHBy b3RvY29scyBpbiBUQ1AvSVAgYmFzZWQgaW50ZXJuZXRzLg0KICAgVGhpcyBkb2N1bWVudCBkZXNj cmliZXMgZXh0ZW5zaW9ucyB0byB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzDQogICBNSUIg YW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9iamVjdHMgZm9yIG1hbmFnaW5nDQog ICBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBpbnRlcmZhY2VzDQog ICAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLCBkZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAw NC4NCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMgZGVmaW5lZCwgZGVzY3JpYmlu ZyBjcm9zcy1jb25uZWN0DQogICBjYXBhYmlsaXR5IG9mIGEgbWFuYWdlZCBkZXZpY2Ugd2l0aCBt dWx0aS1sYXllciAoc3RhY2tlZCkgaW50ZXJmYWNlcywNCiAgIGV4dGVuZGluZyB0aGUgc3RhY2sg bWFuYWdlbWVudCBvYmplY3RzIGluIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQg0KICAgYW5kIHRo ZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gDQogIA0KPC9wPjxhIG5hbWU9InRv YyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNz PSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEuPC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJy IC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+Jm5ic3A7DQpUaGUgSW50ZXJuZXQtU3RhbmRh cmQgTWFuYWdlbWVudCBGcmFtZXdvcms8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4m bmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzPGJyIC8+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNCI+My4xLjwvYT4mbmJzcDsNClJlbGF0aW9uIHRv IEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjUiPjMuMS4xLjwvYT4m bmJzcDsNCkxheWVyaW5nIE1vZGVsPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOw0K UE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+My4xLjMuPC9h PiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjMuMS40LjwvYT4m bmJzcDsNCkVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUu PC9hPiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI2FuY2hvcjEwIj4zLjIuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wg TUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjExIj4zLjMuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPGJyIC8+DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7 DQpSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8YnIgLz4NCjxh IGhyZWY9IiNhbmNob3IxMyI+NC48L2E+Jm5ic3A7DQpNSUIgU3RydWN0dXJlPGJyIC8+DQombmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQiPjQuMS48L2E+Jm5ic3A7DQpF Rk0gQ29wcGVyIE1JQiBPdmVydmlldzxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEg aHJlZj0iI2FuY2hvcjE1Ij40LjIuPC9hPiZuYnNwOw0KSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxp dHkgTUlCIE92ZXJ2aWV3PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj YW5jaG9yMTYiPjQuMy48L2E+Jm5ic3A7DQpQTUUgUHJvZmlsZXM8YnIgLz4NCiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NC40LjwvYT4mbmJzcDsNCk1hcHBpbmcg b2YgSUVFRSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE4 Ij41LjwvYT4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmlsaXR5IE1JQiBEZWZpbml0aW9u czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE5Ij42LjwvYT4mbmJzcDsNCkVGTSBDb3BwZXIgTUlC IERlZmluaXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjAiPjcuPC9hPiZuYnNwOw0KU2Vj dXJpdHkgQ29uc2lkZXJhdGlvbnM8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5i c3A7DQpJQU5BIENvbnNpZGVyYXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjIiPjkuPC9h PiZuYnNwOw0KQWNrbm93bGVkZ21lbnRzPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjMiPjEwLjwv YT4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8YnIgLz4NCjxhIGhyZWY9IiNyZmMucmVmZXJl bmNlczEiPjExLjwvYT4mbmJzcDsNClJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjExLjEuPC9hPiZuYnNwOw0KTm9ybWF0 aXZlIFJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNy ZmMucmVmZXJlbmNlczIiPjExLjIuPC9hPiZuYnNwOw0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlczxi ciAvPg0KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7DQpBdXRob3IncyBB ZGRyZXNzPGJyIC8+DQo8YSBocmVmPSIjcmZjLmNvcHlyaWdodCI+JiMxNjc7PC9hPiZuYnNwOw0K SW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxiciAvPg0KPC9w Pg0KPGJyIGNsZWFyPSJhbGwiIC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsNCkludHJvZHVjdGlvbjwvaDM+DQoN CjxwPg0KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVmaW5lZCBp biB0aGUNCiAgIEluc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljcyBFbmdpbmVl cnMgKElFRUUpIFN0YW5kYXJkDQogICA4MDIuM2FoLTIwMDQgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SUVF RSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAg ICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBz eXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAg ICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNl bnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAg ICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJl ciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bh bj4pPC9zcGFuPjwvYT4sDQogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVG TSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlDQogICBiYXNlIElFRUUgU3RhbmRhcmQgODAy LjMtMjAwNSA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zJz5bODAyLjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZv cm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9y bWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAg ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uDQogICBJbiBwYXJ0aWN1bGFyIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAoUEhZcyksDQogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlDQogICBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcgYW5k IHNob3J0IHJlYWNoIHJlc3BlY3RpdmVseS4NCiAgIFRoZXNlIGludGVyZmFjZXMsIGNvbGxlY3Rp dmVseSBjYWxsZWQgRUZNIENvcHBlciAoRUZNQ3UpLCBhcmUgYmFzZWQgb24NCiAgIFNpbmdsZS1w YWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKQ0KICAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNHLjk5MS4yJz5bRy45OTEuMl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+SVRVLVQsICZsZHF1bztTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdp dGFsIFN1YnNjcmliZXINCiAgIExpbmUgKFZEU0wpIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjRy45 OTMuMSc+W0cuOTkzLjFdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklUVS1ULCAm bGRxdW87VmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVy cywmcmRxdW87IEp1bmUmbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGVjaG5v bG9neSwgc3VwcG9ydGluZyANCiAgIG9wdGlvbmFsIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkgKFBN RSkgYWdncmVnYXRpb24NCiAgIChhLmsuYS4gbXVsdGktcGFpciBib25kaW5nKSB3aXRoIHZhcmlh YmxlIHJhdGVzLg0KICANCjwvcD4NCjxwPg0KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUgb2Yg cHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzDQogICBvdmVyIDI3MDAgbSBsb25nIHNpbmdsZSBjb3Bw ZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKQ0KICAgb2YgMTBeLTcgKHVz aW5nIDVkQiB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIDEwUEFTUy1U UyBQSFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXINCiAgIDc1 MCBtIGxvbmcgc2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNp bmcgNmRCDQogICB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIFRoaXMg bWVtbyBkZWZpbmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBm b3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gdGhlIEludGVy bmV0IA0KICAgY29tbXVuaXR5IHRvIG1hbmFnZSBFRk1DdSBpbnRlcmZhY2VzLg0KICAgSW4gYWRk aXRpb24gYSBNSUIgbW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UuDQogIA0KPC9wPg0KPHA+DQogICBO b3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24sIEFkbWluaXN0cmF0aW9uIGFu ZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwg TmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAyLjNhaCBhcmUgZGVmaW5lZCBp biBFRk0tQ09NTU9OLU1JQg0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJt aWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7 bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87 RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3IgT0FNIEZ1bmN0aW9ucyAgICAgICAg ICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgRUZNLUVQT04tTUlCDQogICA8YSBjbGFz cz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWInPltJJiM4MjA5O0Qu aWV0ZiYjODIwOTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O2Vwb24mIzgyMDk7bWliXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5LaGVybW9zaCwgTC4sICZsZHF1bztNYW5hZ2VkIE9i amVjdHMgb2YgRVBPTiwmcmRxdW87IE5vdmVtYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+IHJlc3BlY3RpdmVseS4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyIj48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7DQpUaGUgSW50ZXJu ZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcms8L2gzPg0KDQo8cD4NCiAgIEZvciBhIGRl dGFpbGVkIG92ZXJ2aWV3IG9mIHRoZSBkb2N1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgY3VycmVu dA0KICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZl ciB0bw0KICAgc2VjdGlvbiA3IG9mIFJGQyAzNDEwIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD MzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yaywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTWFuYWdlZCBvYmplY3RzIGFyZSBh Y2Nlc3NlZCB2aWEgYSB2aXJ0dWFsIGluZm9ybWF0aW9uIHN0b3JlLA0KICAgdGVybWVkIHRoZSBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlDQogICBn ZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQ cm90b2NvbA0KICAgKFNOTVApLiAgT2JqZWN0cyBpbiB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5n IHRoZSBtZWNoYW5pc21zDQogICBkZWZpbmVkIGluIHRoZSBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVu dCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMNCiAgIG1lbW8gc3BlY2lmaWVzIE1JQiBtb2R1bGVz IHRoYXQgYXJlIGNvbXBsaWFudCB0byB0aGUgU01JdjIsIHdoaWNoDQogICBpcyBkZXNjcmliZWQg aW4gU1REIDU4LCBSRkMgMjU3OCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzI1NzgnPltSRkMy NTc4XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5NY0Nsb2docmllLCBLLiwgUGVy a2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJv c2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50 IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwv c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sDQogICBTVEQgNTgsIFJGQyAyNTc5IDxhIGNsYXNzPSdp bmZvJyBocmVmPScjUkZDMjU3OSc+W1JGQzI1NzldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 J2luZm8nPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENh c2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRx dW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTku PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBSRkMNCiAgIDI1ODAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNSRkMyNTgwJz5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2Fl bGRlciwgJmxkcXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXBy aWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQog ICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwg IlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAi TUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVy cHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOQ0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJh ZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJl cXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNoJm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+Lg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBt b2R1bGVzPC9oMz4NCg0KPHA+DQogIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25z aGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogIHRoaXMgZG9jdW1lbnQgd2l0aCBv dGhlciBNSUIgbW9kdWxlcw0KICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuIFNwZWNp ZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUINCiAgKElGLU1JQiksIEV0aGVybmV0LUxpa2Ug KEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTA0KICAoSERTTDItU0hEU0wtTElO RS1NSUIpIGFuZCBWRFNMIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuDQog DQo8L3A+DQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEiPjwvYT48aDM+My4xLiZuYnNwOw0KUmVsYXRpb24gdG8gSW50ZXJmYWNlcyBHcm91cCBNSUIg bW9kdWxlPC9oMz4NCg0KPHA+DQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBIWSdzIHNwZWNp ZmllZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJlIHN0YWNrZWQNCiAgIChhLmsuYS4gYWdn cmVnYXRlZCBvciBib25kZWQpIEV0aGVybmV0IGludGVyZmFjZXMgYW5kIGFzIHN1Y2ggYXJlIG1h bmFnZWQNCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQ0KICAgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JG QzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsg SnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBpLmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBz dWItbGF5ZXJzIHRvDQogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhl IGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiANCiAgIHRoZSBJRi1NSUIgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJm YWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bh bj48L2E+IGFuZCBpdHMgaW52ZXJzZQ0KICAgaWZJbnZTdGFja1RhYmxlLCBhcyBkZWZpbmVkIGlu IHRoZSBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD Mjg2NCc+W1JGQzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hy aWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0 ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAw Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQogICBUaGUgbmV3IHRh YmxlcyBpZkNhcFN0YWNrVGFibGUgYW5kIGl0cyBpbnZlcnNlDQogICBpZkludkNhcFN0YWNrVGFi bGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUNCiAgIGJlbG93LCBleHRl bmQgdGhlIHN0YWNrIG1hbmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlDQogICBw b3NzaWJsZSBjb25uZWN0aW9ucyBvciBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBm bGV4aWJsZQ0KICAgY3Jvc3MtY29ubmVjdCBtYXRyaXggaXMgcHJlc2VudCBiZXR3ZWVuIHRoZSBp bnRlcmZhY2UgbGF5ZXJzLg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjMuMS4xIj48L2E+PGgzPjMuMS4xLiZuYnNwOw0KTGF5ZXJpbmcg TW9kZWw8L2gzPg0KDQo8cD4NCiAgICAgQW4gRUZNQ3UgaW50ZXJmYWNlIGNhbiBhZ2dyZWdhdGUg dXAgdG8gMzIgUGh5c2ljYWwgTWVkaXVtDQogICAgIEVudGl0eSAoUE1FKSBzdWItbGF5ZXIgZGV2 aWNlcyAobW9kZW1zKSwgdXNpbmcgc28NCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBBIGdlbmVyaWMgRUZNQ3UgZGV2aWNl IGNhbiBoYXZlIGEgbnVtYmVyIG9mIFBoeXNpY2FsIENvZGluZw0KICAgICBTdWJsYXllciAoUENT KSBwb3J0cywgZWFjaCBjb25uZWN0ZWQgdG8gYSBNQUMgdmlhIE1lZGl1bSBJbmRlcGVuZGVudA0K ICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVj dGVkIHRvIGENCiAgICAgbnVtYmVyIG9mIHVuZGVybHlpbmcgUE1Fcywgd2l0aCBhIHNpbmdsZSBQ Q1MgcGVyIFBNRSByZWxhdGlvbnNoaXAsDQogICAgIHNlZSBjbGF1c2UgNjEuMSBvZiA8YSBjbGFz cz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNo YW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJl YSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0 IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlv biAgICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVj aWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJh bWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIw MDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgbW9yZSBkZXRhaWxzLg0KICAgIA0KPC9w Pg0KPHA+DQogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVw cmVzZW50ZWQgaW4gdGhlDQogICAgIEludGVyZmFjZSB0YWJsZSAoaWZUYWJsZSkgYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2Ugd2l0aCBpZlR5cGUgb2YNCiAgICAgc2hkc2woMTY5KSBmb3IgMkJBU0Ut VEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gVGhlIGlmVHlwZQ0KICAgICB2YWx1ZXMgYXJl IGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJQU5BaWZUeXBlLU1JQic+W0lBTkFp ZlR5cGUmIzgyMDk7TUlCXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JbnRlcm5l dCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bztJQU5BaWZUeXBlIFRl eHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uLCZyZHF1bzsgLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4uDQogICAgDQo8L3A+DQo8cD4NCiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwg cmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlDQogICAgIG9mIHRoZSBhY3RpdmUgUE1FIChl LmcuIGZvciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZg0KICAgICA2NEticHMpLiBa ZXJvIHZhbHVlIFNIQUxMIGJlIHJldHVybmVkIHdoZW4gUE1FIGlzIGluaXRpYWxpemluZyBvciBk b3duLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQ0KICAgICByYXRlcyBvZiBhbGwgUE1F cyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgICBlbmNh cHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0 aGUNCiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4NCiAgICA8YnIgLz48aHIgY2xhc3M9Imlu c2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAxIj48L2E+DQoNCjxwPldoZW4gdXNpbmcgdGhlIHN0 YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZQ0KICAgICAgICAgICAgICAgIFBDUywg dGhlcmUgd291bGQgYmUgbm8gZnJhbWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRp b24NCiAgICAgICAgICAgICAgICAodGhlIHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5l cmF0ZSAxMDAlIG9mIGJhY2sNCiAgICAgICAgICAgICAgICB0byBiYWNrIHRyYWZmaWMsIGkuZS4g bWluaW1hbCBJRkcsIGF0IDEwIG9yIDEwME1icHMsDQogICAgICAgICAgICAgICAgd2l0aCBtaW4g YW5kIG1heCBmcmFtZSBzaXplczsNCiAgICAgICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMg YXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUgdGhlIHNob3duIHNwZWVkKToNCiAgICAgIA0KPC9w PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IGF1dG87 IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0tLiAgICAgICAgICAgLi0tLiAgICAg ICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KfHRlc3RzZXR8LS0xMEJhc2VULS18Q098 LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQonLS0tLS0tLScgICAgICAgICAg ICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0tLScNCiAgaWZTcGVlZD0gIDEw TWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJwcw0KDQouLS0tLS0tLS4gICAgICAgICAg ICAuLS0uICAgICAgICAgICAgLi0tLS4gICAgICAgICAgICAuLS0tLS0tLS4NCnx0ZXN0c2V0fC0t MTAwQmFzZVQtLXxDT3wtLTEwUGFzc1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KJy0t LS0tLS0nICAgICAgICAgICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0t LS0nDQogIGlmU3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMN CjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJt b25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzE6IEV4 YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MmbmJzcDs8L2I+PC9mb250Pjxi ciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQogICAgDQo8YnIg Lz48aHIgY2xhc3M9Imluc2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAyIj48L2E+DQoNCjxwPlRo ZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSBJRUVFIDgwMi4zIGxheWVyaW5nIGRpYWdyYW0g YW5kDQogICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZN YXVUYWJsZToNCiAgICAgIA0KPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDog MDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLiAgLQ0KfCAgICAgICAgTExDICAgICAgICAgICAgICB8ICBeDQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5DQp8ICAgICAgICBNQUMgICAg ICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgKSAgIGlmTWF1RW50cnkNCnwgICAgICAgIFJlY29uc2lsaWF0aW9u ICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3INCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3QzTWF1VHlwZTEwUGFzc1RTDQp8 ICAgICAgICBQQ1MgICAgICAgICAgICAgIHwgIHYNCistLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0t KyAgLQ0KfCBUQyBcICAgICAgICB8ICAgfCAgICAgICB8ICBeDQorLS0tLS1cICAgICAgIHwgICB8 ICAgICAgIHwgIHwNCnwgUE1BICApUE1FIDEgfC4uLnwgUE1FIE4gfCAgKSBOIGlmRW50cnkgIChO PTEuLjMyKQ0KKy0tLS0tLyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNs KDE2OSkgb3IgdmRzbCg5NykNCnwgUE1ELyAgICAgICAgfCAgIHwgICAgICAgfCAgdg0KJy0tLS0t LS0tLS0tLS0rLS0tKy0tLS0tLS0nICAtDQoNCiBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAg ICAgICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KIE1BQyAtIE1lZGlhIEFjY2Vz cyBDb250cm9sICAgICAgIFBNRCAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiBQQ1MgLSBQ aHlzaWNhbCBDb2RpbmcgU3ViLWxheWVyICBQTUUgLSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQog VEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQo8L3ByZT48L2Rpdj48dGFibGUgYm9yZGVy PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48 dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXpl PSIxIj48Yj4mbmJzcDtGaWd1cmUmbmJzcDsyOiBVc2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJs ZSBmb3IgRUZNQ3UgcG9ydHMmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxl PjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQo8cD4NCiAgICAgVGhlIGlmU3RhY2tUYWJsZSBpcyBp bmRleGVkIGJ5IHRoZSBpZkluZGV4IHZhbHVlcyBvZiB0aGUgYWdncmVnYXRlZA0KICAgICBFRk1D dSBwb3J0IChQQ1MpIGFuZCB0aGUgUE1FcyBjb25uZWN0ZWQgdG8gaXQuIGlmU3RhY2tUYWJsZSBh bGxvd3MgYQ0KICAgICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGljYXRpb24gdG8gZGV0ZXJtaW5l IHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgICB0byBhIHBhcnRpY3VsYXIgUENTIGFuZCBj aGFuZ2UgY29ubmVjdGlvbnMgKGlmIHN1cHBvcnRlZCBieSB0aGUgDQogICAgIGFwcGxpY2F0aW9u KS4gVGhlIGlmSW52U3RhY2tUYWJsZSwgYmVpbmcgYW4gaW52ZXJ0ZWQgdmVyc2lvbiBvZg0KICAg ICB0aGUgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yaw0KICAgICBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmU3RhY2tUYWJsZSBhbmQNCiAgICAgdGhlcmVieSBkZXRlcm1pbmUgd2hpY2ggUENTIHJ1bnMg b24gdG9wIG9mIGEgcGFydGljdWxhciBQTUUuDQogICAgDQo8L3A+DQo8cD4NCiAgICAgQSBuZXcg dGFibGUgaWZDYXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUINCiAg ICAgbW9kdWxlLCBzcGVjaWZpZXMgZm9yIGVhY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZSAoZS5n LiBQQ1MgcG9ydCkNCiAgICAgYSBsaXN0IG9mIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4g UE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseQ0KICAgICBiZSBjcm9zcy1jb25uZWN0ZWQgdG8gdGhh dCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlLA0KICAgICBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy1j b25uZWN0DQogICAgIGNhcGFiaWxpdHkgb2YgdGhlIGRldmljZS4gVGhpcyB0YWJsZSwgbW9kZWxl ZCBhZnRlciBpZlN0YWNrVGFibGUsIGlzDQogICAgIHJlYWQgb25seSwgcmVmbGVjdGluZyBjdXJy ZW50IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhDQogICAgIHN0YWNrZWQgaW50ZXJmYWNl LCB3aGljaA0KICAgICBjYW4gYmUgZHluYW1pYyBpbiBzb21lIGltcGxlbWVudGF0aW9ucyAoZS5n LiBpZiBQTUVzIGFyZSBsb2NhdGVkDQogICAgIG9uIGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQgdGhl IG1vZHVsZSBpcyBwdWxsZWQgb3V0KS4NCiAgICAgTm90ZSB0aGF0IFBNRSBhdmFpbGFiaWxpdHkg cGVyIFBDUywgZGVzY3JpYmVkIGJ5DQogICAgIGlmQ2FwU3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0 cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICAgIGZvciBleGFtcGxlIGJ5IGFnZ3JlZ2F0 aW9uIGNhcGFjaXR5IG9mIGEgUENTIG9yIGJ5IHRoZSBQTUUgaW4NCiAgICAgcXVlc3Rpb24gYmVp bmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBQQ1MuIFNvLCBpbg0KICAgICBvcmRlciB0 byBlbnN1cmUgdGhhdCBhIHBhcnRpY3VsYXIgUE1FIGNhbiBiZSBjb25uZWN0ZWQgdG8gdGhlIFBD UywNCiAgICAgYWxsIHJlc3BlY3RpdmUgcGFyYW1ldGVycyAoZS5nLiBpZkNhcFN0YWNrVGFibGUs DQogICAgIGlmU3RhY2tUYWJsZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSkgU0hBTEwgYmUgaW5zcGVj dGVkLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28g ZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICAgIGRlc2NyaWJlcyB3 aGljaCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlcyAoZS5nLiBQQ1MgcG9ydHMpIGNhbiBwb3NzaWJs eQ0KICAgICBiZSBjb25uZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFj ZSAoZS5nLiBQTUUpLA0KICAgICBwcm92aWRpbmcgaW52ZXJ0ZWQgbWFwcGluZyBvZiBpZkNhcFN0 YWNrVGFibGUuDQogICAgIFdoaWxlIGl0IGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRp b24gYmV5b25kIHRoYXQgYWxyZWFkeQ0KICAgICBjb250YWluZWQgaW4gdGhlIGlmQ2FwU3RhY2tU YWJsZSwgdGhlIGlmSW52Q2FwU3RhY2tUYWJsZSBoYXMgdGhlDQogICAgIGlmSW5kZXggdmFsdWVz IGluIGl0cyBJTkRFWCBjbGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZQ0KICAg ICBsb3dlci1sYXllciBpbnRlcmZhY2UgZmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVy ZmFjZQ0KICAgICBzZWNvbmQsIHByb3ZpZGluZyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yayBNYW5hZ2VtZW50DQogICAgIGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmQ2FwU3RhY2tUYWJsZSBhbmQgdGhlcmVieQ0KICAgICBkZXRlcm1pbmUgd2hpY2ggaW50ZXJm YWNlcyBjYW4gYmUgY29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgYQ0KICAgICBwYXJ0aWN1bGFy IGludGVyZmFjZS4NCiAgICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjYiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjMuMS4yIj48L2E+PGgzPjMuMS4yLiZuYnNwOw0KUE1FIEFnZ3JlZ2F0 aW9uIEZ1bmN0aW9uIChQQUYpPC9oMz4NCg0KPHA+DQogICAgIFRoZSBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikgYWxsb3dzIGEgbnVtYmVyIG9mIFBNRXMgdG8gYmUNCiAgICAgYWdncmVn YXRlZCBvbnRvIGEgUENTIHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMs DQogICAgIHRyYW5zbWl0dGluZyB0aGUgZnJhZ21lbnRzIG92ZXIgbXVsdGlwbGUgUE1FcyBhbmQg YXNzZW1ibGluZyB0aGUNCiAgICAgb3JpZ2luYWwgZnJhbWVzIGF0IHRoZSByZW1vdGUgcG9ydC4g UEFGIGlzIE9QVElPTkFMLCBtZWFuaW5nIHRoYXQgYQ0KICAgICBkZXZpY2Ugd2l0aCBhIHNpbmds ZSBQTUUgTUFZIHBlcmZvcm0gZnJhZ21lbnRhdGlvbiBhbmQNCiAgICAgcmUtYXNzZW1ibHkgaWYg dGhpcyBmdW5jdGlvbiBpcyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS4NCiAgICAgTm90ZSBob3dl dmVyIHRoYXQgdGhlIGFnZW50IGlzIFJFUVVJUkVEIHRvIHJlcG9ydCBvbiB0aGUNCiAgICAgUEFG IGNhcGFiaWxpdHkgZm9yIGFsbCBFRk1DdSBwb3J0cyAoMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyku DQogICAgDQo8L3A+DQo8cD4NCiAgICAgVGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFsbG93cyBhIE5l dHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBxdWVyeQ0KICAgICBQQUYgY2FwYWJpbGl0 eSBhbmQgZW5hYmxlL2Rpc2FibGUgaXQgaWYgc3VwcG9ydGVkLiBOb3RlIHRoYXQNCiAgICAgZW5h YmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24gYW5kIHJlLWFzc2Vt Ymx5LA0KICAgICBldmVuIG9uIGEgc2luZ2xlLVBNRSBwb3J0Lg0KICAgIA0KPC9wPg0KPGEgbmFt ZT0iYW5jaG9yNyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4xLjMiPjwvYT48aDM+ My4xLjMuJm5ic3A7DQpEaXNjb3ZlcnkgT3BlcmF0aW9uPC9oMz4NCg0KPHA+DQogICAgIFRoZSBF Rk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxseSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sDQog ICAgIHdoZXJlYnkgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBleGNoYW5nZSBpbmZvcm1h dGlvbiBhYm91dA0KICAgICB0aGVpciByZXNwZWN0aXZlIGFnZ3JlZ2F0aW9uIGdyb3VwcyAoUENT KS4gVGhpcyBpbmZvcm1hdGlvbiBjYW4NCiAgICAgdGhlbiBiZSB1c2VkIHRvIGRldGVjdCBjb3Bw ZXIgbWlzY29ubmVjdGlvbnMgb3IgZm9yIGFuIGF1dG9tYXRpYw0KICAgICBhc3NpZ25tZW50IG9m IHRoZSBsb2NhbCBQTUVzIGludG8gYWdncmVnYXRpb24gZ3JvdXBzIGluc3RlYWQgb2YNCiAgICAg YSBmaXhlZCBwcmUtY29uZmlndXJhdGlvbi4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUaGUgTUlC IG1vZHVsZXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50IGFsbG93IGEgTmV0d29yaw0KICAgICBN YW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNoYW5pc20g YW5kIHF1ZXJ5DQogICAgIGl0cyByZXN1bHRzLiBOb3RlIHRoYXQgdGhlIERpc2NvdmVyeSBtZWNo YW5pc20gY2FuIHdvcmsgb25seSBpZg0KICAgICBQQUYgaXMgc3VwcG9ydGVkIGFuZCBlbmFibGVk Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBE aXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICAgIGlmQ2FwU3RhY2tUYWJs ZS4gVGhlIGZvbGxvd2luZyBwc2V1ZG8tY29kZSBnaXZlcw0KICAgICBhbiBleGFtcGxlIG9mIHRo ZSBEaXNjb3ZlcnkgYW5kIGF1dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljDQog ICAgIFBBRiBlbmFibGVkIG11bHRpLVBDUyBFRk1DdSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJh bCBPZmZpY2UNCiAgICAgKENPKSwgdXNpbmcgb2JqZWN0cyBkZWZpbmVkIGluIHRoZXNlIE1JQiBt b2R1bGVzIGFuZCBpbiBJRi1NSUINCiAgICAgW05vdGUgdGhhdCBhdXRvbWF0aWMgUE1FIGFzc2ln bm1lbnQgaXMgb25seSBzaG93biBoZXJlIGZvcg0KICAgICB0aGUgcHVycG9zZXMgb2YgdGhlIGV4 YW1wbGUuIEZpeGVkIFBNRSBwcmUtYXNzaWdubWVudCwgbWFudWFsDQogICAgIGFzc2lnbm1lbnQg b3IgYXV0by1hc3NpZ25tZW50IHVzaW5nIGFuIGFsdGVybmF0aXZlIGludGVybmFsDQogICAgIGFs Z29yaXRobSBtYXkgYmUgY2hvc2VuIGJ5IGEgcGFydGljdWxhciBpbXBsZW1lbnRhdGlvbl06DQog ICAgDQo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVm dDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+DQovLyBHbyBvdmVyIGFsbCBQQ1MgcG9y dHMgaW4gdGhlIENPIGRldmljZQ0KRk9SRUFDSCBwY3NbaV0gSU4gQ09fZGV2aWNlDQp7IC8vIFBl cmZvcm0gZGlzY292ZXJ5IGFuZCBhdXRvLWFzc2lnbm1lbnQgb25seSBvbiBQQUYgZW5hYmxlZCBw b3J0cw0KICAvLyB3aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICBJRiAoIHBjc1tpXS5QQUZTdXBw b3J0ZWQgQU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQog ICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFDW2ldOyAvLyB1bmlxdWUgNi1vY3Rl dHMgcGVyIFBDUw0KICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29ubmVjdGVkIFBNRXMsIHdoaWNo IGNhbg0KICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAg IEZPUkVBQ0ggcG1lW2pdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIEFORA0KICAgICAgICAg ICAgICAgICAgICAgTk9UIGlmSW52U3RhY2tUYWJsZVtwbWVbal1dICAvLyBub3QgY29ubmVjdGVk DQogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRp bmcgdGhlIHZhbHVlDQogICAgICAgICAgLy8gb2YgdGhlIGxvY2FsIDYtb2N0ZXQgZGlzY292ZXJ5 IGNvZGUgdG8gdGhlIHJlbW90ZQ0KICAgICAgICAgIC8vIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVy ICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuDQogICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24g aXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAvLyB3b3Vs ZCBzdWNjZWVkIG9ubHkgaWYgdGhlIHJlbW90ZSBkaXNjb3ZlcnkgcmVnaXN0ZXIgd2FzDQogICAg ICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIHZp YSBHZXQNCiAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0 dGFjaGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgLy8gaXMgaW5kZWVkIG1hcmtlZCBhcyBiZWlu ZyB0aGUgQ09fZGV2aWNlIHBlZXIuDQogICAgICAgICAgcG1lW2pdLlJlbW90ZURpc2NvdmVyeUNv ZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcg0KICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICBJRiAoIHIgPT0gZGMg QU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAg ICAgIHsgLy8gUmVtb3RlIFJUX2RldmljZSBjb25uZWN0ZWQgdmlhIFBNRVtqXSBpcy93YXMgYSBw ZWVyDQogICAgICAgICAgICAgIC8vIGZvciBQQ1NbaV0gYW5kIHRoZXJlIGlzIHJvb20gZm9yIGFu b3RoZXIgUE1FIGluIHRoZQ0KICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAvLyByZWFjaGVkIHll dCkuDQogICAgICAgICAgICAgIC8vIENvbm5lY3QgdGhpcyBQTUUgdG8gdGhlIFBDUyAodmlhIGlm U3RhY2tUYWJsZSwNCiAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGludmVy c2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgIC8vIHVwZGF0ZWQgYXV0b21hdGlj YWxseSkNCiAgICAgICAgICAgICAgQUREIHBtZVtqXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ldXTsN CiAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0YWNrVGFi bGVbcG1lW2pdXQ0KICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBjc1tpXS5OdW1QTUVz ICsgMTsNCiAgICAgICAgICAgICAgLy8gRGlzY292ZXIgYWxsIG90aGVyIGRpc2Nvbm5lY3RlZCBQ TUVzLA0KICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9kZXZpY2UgYW5k IGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAvLyB0aGUgUENTIHByb3ZpZGVkIHRoZXJl IGlzIGVub3VnaCByb29tIGZvciBtb3JlIFBNRXMuDQogICAgICAgICAgICAgIEZPUkVBQ0ggcG1l W2tdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIGFuZA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAgICAgICAgICB7IHIg PSBwbWVba10uUmVtb3RlRGlzY292ZXJ5Q29kZTsgLy8gR2V0DQogICAgICAgICAgICAgICAgICBJ RiAoIHIgPT0gZGMgQU5EDQogICAgICAgICAgICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzICZh bXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAgICAgICAgICAgeyBBREQgcG1l W2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAgICAgICAgICAgLy8g cGNzW2ldIGlzIGFkZGVkIFRPIGlmSW52U3RhY2tUYWJsZVtwbWVba11dDQogICAgICAgICAgICAg ICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0uTnVtUE1FcyArIDE7DQogICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg Ly8gQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGRpc2NvdmVyZWQgYWxsIGxvY2FsIFBNRXMgd2hpY2gN CiAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgcmVtb3Rl IFJUX2RldmljZQ0KICAgICAgICAgIC8vIGFuZCBjb25uZWN0ZWQgdGhlbSB0byBQQ1NbaV0uIEdv IHRvIHRoZSBuZXh0IFBDUy4NCiAgICAgICAgICBCUkVBSzsNCiAgICAgICAgfQ0KICAgIH0NCn0N CjwvcHJlPjwvZGl2Pg0KPHA+DQogICAgIEFuIFNOTVAgQWdlbnQgZm9yIGEgRUZNQ3UgZGV2aWNl IGJ1aWxkcyBpZkNhcFN0YWNrVGFibGUNCiAgICAgYW5kIGl0cyBpbnZlcnNlIGlmSW52Q2FwU3Rh Y2tUYWJsZSBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uDQogICAgIGNvbnRhaW5lZCBpbiB0 aGUgQ2xhdXNlIDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZQ0KICAgICA8YSBjbGFzcz0n aW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5v bG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5n ZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBu ZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAg ICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZp Y2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0 ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZv ciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiA2MS4xLjUuMyBhbmQgNDUuMi4zLjIwKS4NCiAgICAN CjwvcD4NCjxwPg0KICAgICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cgZm9y IGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgICBhY3R1YWwgY29ubmVjdGlvbiBvZiB0aGUg UE1FIHRvIHRoZSBQQ1MsIHdoaWNoIGNhbiBiZSBkb25lIGJ5IG1vZGlmeWluZw0KICAgICBDbGF1 c2UgNDUgUE1FX0FnZ3JlZ2F0ZV9yZWdpc3RlciAoc2VlIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj ODAyLjNhaCc+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUs ICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAg ICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lz dGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAg ICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5z ZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEv Q0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25zIC0gICAg ICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2Fs ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzIE5ldHdvcmtzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+ KTwvc3Bhbj48L2E+DQogICAgIDYxLjEuNS4zIGFuZCA0NS4yLjMuMjEpLg0KICAgIA0KPC9wPg0K PHA+DQogICAgIE5vdGUgdGhhdCBQQ1MgcG9ydCBkb2VzIG5vdCBoYXZlIHRvIGJlIG9wZXJhdGlv bmFsbHkgJ2Rvd24nIGZvcg0KICAgICB0aGUgY29ubmVjdGlvbiB0byBzdWNjZWVkLiBJbiBmYWN0 LCBhIGR5bmFtaWMgUE1FDQogICAgIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkgTUFZIGJlIGltcGxl bWVudGVkIHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZw0KICAgICBpbml0aWFsaXplZCBmaXJz dCAoYnkgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbg0KICAgICBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHBvcnQsIGJ5IG1vZGlmeWluZyBhIHJl c3BlY3RpdmUNCiAgICAgaWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZSBpZkludlN0YWNrVGFi bGUpIGVudHJ5Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQg YSByZW1vdmFsIG9mIHRoZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgICAgZnJvbSBh biBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHdvdWxkIGJlIHJlamVjdGVkIGJ5IHRoZQ0KICAgICBp bXBsZW1lbnRhdGlvbiwgYXMgdGhpcyBhY3Rpb24gd291bGQgY29tcGxldGVseSBkcm9wIHRoZSBs aW5rLg0KICAgIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPg0KPHRh YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZj LnNlY3Rpb24uMy4xLjQiPjwvYT48aDM+My4xLjQuJm5ic3A7DQpFRk1DdSBwb3J0cyBpbml0aWFs aXphdGlvbjwvaDM+DQoNCjxwPg0KICAgIEVGTUN1IHBvcnRzIGJlaW5nIGJ1aWx0IG9uIHRvcCBv ZiB4RFNMIHRlY2hub2xvZ3ksIHJlcXVpcmUgYQ0KICAgIGxlbmd0aHkgaW5pdGlhbGl6YXRpb24g b3IgJ3RyYWluaW5nJyBwcm9jZXNzLCBiZWZvcmUgYW55IGRhdGEgY2FuDQogICAgcGFzcy4gRHVy aW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdvcmsN CiAgICBjb29wZXJhdGl2ZWx5IHRvIGFjaGlldmUgcmVxdWlyZWQgZGF0YSByYXRlIG9uIGEgcGFy dGljdWxhciBjb3BwZXINCiAgICBwYWlyLiBTb21ldGltZXMsIHdoZW4gdGhlIGNvcHBlciBsaW5l IGlzIHRvbyBsb25nIG9yIHRoZSBub2lzZQ0KICAgIG9uIHRoZSBsaW5lIGlzIHRvbyBoaWdoLCB0 aGF0ICd0cmFpbmluZycgcHJvY2VzcyBtYXkgZmFpbA0KICAgIHRvIGFjaGlldmUgYSBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCiAgIA0KPC9wPg0K PHA+DQogICAgVGhlIGlmQWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJv bHMNCiAgICB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBhIFBDUyB3aXRoIGFsbCB0aGUgUE1FcyBjb25u ZWN0ZWQgdG8gaXQgb3Igb2YNCiAgICBhbiBpbmRpdmlkdWFsIFBNRSBwb3J0LiBTZXR0aW5nIHRo aXMgb2JqZWN0IHRvICd1cCcNCiAgICBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUg dG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2VzcywNCiAgICB3aGljaCBtYXkgdGFrZSB0ZW5z IG9mIHNlY29uZHMgZm9yIEVGTUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcw0KICAgIGlu dm9sdmVkLiBUaGUgaWZPcGVyU3RhdHVzIG9iamVjdCBzaG93cyB0aGUgb3BlcmF0aW9uYWwgc3Rh dGUgb2YgYW4NCiAgICBpbnRlcmZhY2UgKGV4dGVuZGVkIGJ5IGlmTWF1TWVkaWFBdmFpbGFibGUg b2JqZWN0IGZyb20gTUFVLU1JQiBmb3INCiAgICBQQ1MgYW5kIGVmbUN1UG1lT3BlclN0YXR1cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICAgbW9kdWxlIGZvciBQTUUgaW50ZXJmYWNlcyku DQogICANCjwvcD4NCjxwPg0KICAgIEEgZGlzY29ubmVjdGVkIFBNRSBtYXkgYmUgaW5pdGlhbGl6 ZWQgYnkgY2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZQ0KICAgIGZyb20gJ2Rvd24nIHRvICd1cCcu IENoYW5naW5nIHRoZSBpZkFkbWluU3RhdGUgdG8gJ3VwJyBvbiB0aGUNCiAgICBQQ1MgaW5pdGlh bGl6ZXMgYWxsIFBNRXMgY29ubmVjdGVkIHRvIHRoYXQgcGFydGljdWxhciBQQ1MuDQogICAgTm90 ZSB0aGF0IGluIGNhc2Ugb2YgUEFGIHNvbWUgaW50ZXJmYWNlcyBtYXkgZmFpbCB0byBpbml0aWFs aXplDQogICAgd2hpbGUgb3RoZXJzIHN1Y2NlZWQuIFRoZSBQQ1MgaXMgY29uc2lkZXJlZCBvcGVy YXRpb25hbGx5ICd1cCcgaWYgYXQNCiAgICBsZWFzdCBvbmUgUE1FIGFnZ3JlZ2F0ZWQgYnkgaXRz IFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuIFdoZW4gYWxsDQogICAgUE1FcyBjb25uZWN0ZWQg dG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJlZA0KICAgIG9w ZXJhdGlvbmFsbHkgJ2xvd2VyTGF5ZXJEb3duJy4gVGhlIFBDUyBTSEFMTCBiZSBjb25zaWRlcmVk DQogICAgb3BlcmF0aW9uYWxseSAnbm90UHJlc2VudCcgaWYgaXQgaXMgbm90IGNvbm5lY3RlZCB0 byBhbnkgUE1FLg0KICAgIFRoZSBQQ1MvUE1FIGludGVyZmFjZSBTSEFMTCByZW1haW4gb3BlcmF0 aW9uYWxseSAnZG93bicgZHVyaW5nDQogICAgaW5pdGlhbGl6YXRpb24uDQogICANCjwvcD4NCjxw Pg0KICAgIFRoZSBlZm1DdVBtZU9wZXJTdGF0dXMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUNCiAgICBleHBhbmRzIFBNRSdzIGlmT3BlclN0YXR1cw0KICAgIHZhbHVlIG9mICdkb3du JyB0byAnZG93blJlYWR5JywgJ2Rvd25Ob3RSZWFkeScgYW5kICdpbml0JyB2YWx1ZXMsDQogICAg aW5kaWNhdGluZyB2YXJpb3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQogICANCjwvcD4N CjxhIG5hbWU9ImFuY2hvcjkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249 InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZu YnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuMS41Ij48 L2E+PGgzPjMuMS41LiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTwvaDM+DQoNCjxwPg0KICAgIEJv dGggUE1FIGFuZCBQQ1MgaW50ZXJmYWNlcyBvZiB0aGUgRUZNQ3UgUEhZIGFyZSBtYW5hZ2VkIHVz aW5nDQogICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZpbmVkIGlu IHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhbmQNCiAgICBnZW5lcmljIGludGVyZmFjZSBvYmplY3Rz IGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoIGFsbA0KICAgIG1hbmFnZW1lbnQgdGFi bGUgZW50cmllcyByZWZlcmVuY2VkIGJ5IHRoZSBpbnRlcmZhY2UgaW5kZXggaWZJbmRleC4NCiAg IA0KPC9wPg0KPHA+DQogICAgVGhlIGZvbGxvd2luZyB0YWJsZSBzdW1tYXJpemVzIEVGTUN1IHNw ZWNpZmljIGludGVycHJldGF0aW9ucyBmb3INCiAgICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVj dHMgc3BlY2lmaWVkIGluIHRoZSBtYW5kYXRvcnkNCiAgICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdy b3VwOg0KICAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJpbnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJs ZTEiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFs aWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQiPklGLU1JQiBvYmplY3Q8L3RoPjx0aCBh bGlnbj0ibGVmdCI+RUZNQ3UgaW50ZXJwcmV0YXRpb248L3RoPjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmlmSW5kZXg8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5JbnRlcmZhY2UgaW5kZXgu IE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQgZWFjaCBQQ1MNCiAgICAgICAgICAgICAgICAgICAgIGlu IHRoZSBFRk1DdSBQSFkgTVVTVCBoYXZlIGEgdW5pcXVlIGluZGV4LCBhcw0KICAgICAgICAgICAg ICAgICAgICAgdGhlcmUgYXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcw0K ICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJsZSBvbmx5IG9uIHRoZSBQQ1Mgb3IgUE1FIGxl dmVsLjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZlR5cGU8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5ldGhlcm5ldENzbWFjZCg2KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvcg0K ICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMg UE1FPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmU3BlZWQ8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5PcGVyYXRpbmcgZGF0YSByYXRlIGZvciB0aGUgUE1FLiBGb3IgdGhlIFBD UyBpdA0KICAgICBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVz IG9mIGFsbCBQTUVzIGluIHRoZQ0KICAgICBhZ2dyZWdhdGlvbiBncm91cCwgd2l0aG91dCB0aGUg NjQvNjVCIGVuY2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kDQogICAgIFBBRiBvdmVyaGVhZCwgYnV0 IGFjY291bnRpbmcgZm9yIHRoZSBJbnRlci1GcmFtZSBHYXBzIChJRkcpPC90ZD4NCjwvdHI+DQo8 dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmQWRtaW5TdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5TZXR0aW5nIHRoaXMgb2JqZWN0IHRvICd1cCcgaW5zdHJ1Y3RzIGENCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcnRpY3VsYXIgUENTICh3aXRoIGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQpIG9yIFBNRSB0byBzdGFydCBpbml0aWFsaXph dGlvbiBwcm9jZXNzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmT3BlclN0 YXR1czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lT3BlclN0YXR1cyBzdXBwbGVtZW50 cyB0aGUgJ2Rvd24nIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGlmT3BlclN0 YXR1cyBmb3IgUE1Fcy48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFibGUgYm9yZGVyPSIwIiBj ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYWxp Z249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXplPSIxIj48 Yj4mbmJzcDtUYWJsZSAxOiBFRk1DdSBpbnRlcnByZXRhdGlvbiBvZiBJRi1NSUIgb2JqZWN0cyZu YnNwOzwvYj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIGNsYXNzPSJpbnNlcnQi IC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEwIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjIiPjwvYT48aDM+My4yLiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wgTUlCIG1vZHVsZTwvaDM+ DQoNCjxwPg0KICAgIEcuU0hEU0wuYmlzIG1vZGVtcywgc2ltaWxhciB0byBQTUUocykgY29tcHJp c2luZyBhIDJCQVNFLVRMIHBvcnQsIGFyZQ0KICAgIGRlc2NyaWJlZCBpbiBIRFNMMi1TSERTTC1M SU5FLU1JQg0KICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDNDMxOSc+W1JGQzQzMTldPHNw YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIu IEFiYmksICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0 LVJhdGUgRFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1T cGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzLCZyZHF1bzsgRGVjZW1i ZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogICAgTm90ZSB0aGF0IG5v dCBhbGwgYXR0cmlidXRlcyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4NCiAgICBIRFNM Mi1TSERTTC1MSU5FLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3kgKGUuZy4gcHJlZml4aW5nIHRoZSAyQkFTRS1UTCBQTUUg cmVsYXRlZCBvYmplY3RzDQogICAgd2l0aCAnZWZtQ3VQbWUyQicgaW5zdGVhZCBvZiAnaGRzbDJz aGRzbCcpLCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNlDQogICAgSERTTDItU0hEU0wt TElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9iamVjdHMNCiAg ICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4NCjxwPg0KICAgIEhvd2V2ZXIs IGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBieSB0aGUgUE1FLCBlLmcuIHBl cmZvcm1hbmNlIG1vbml0b3JpbmcsDQogICAgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIg Z3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQgYXBwbGllZA0KICAgIGZvciBQTUVzIG9mIDJCQVNF LVRMIHN1YnR5cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjExIj48L2E+PGJyIC8+PGhy IC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9 IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48 YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu YW1lPSJyZmMuc2VjdGlvbi4zLjMiPjwvYT48aDM+My4zLiZuYnNwOw0KUmVsYXRpb24gdG8gVkRT TCBNSUIgbW9kdWxlPC9oMz4NCg0KPHA+DQogICAgVkRTTCBtb2RlbXMsIHNpbWlsYXIgdG8gdGhl IFBNRShzKSBjb21wcmlzaW5nIGEgMTBQQVNTLVRTIHBvcnQsDQogICAgYXJlIGRlc2NyaWJlZCBp biBWRFNMLUxJTkUtRVhULU1DTS1NSUINCiAgICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzQw NzAnPltSRkM0MDcwXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5Eb2RnZSwgTS4g YW5kIEIuIFJheSwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0IEV4dGVuc2lv bnMgZm9yIFZlcnkgSGlnaCBTcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZXMgKFZEU0wpIFVz aW5nIE11bHRpcGxlIENhcnJpZXIgTW9kdWxhdGlvbiAoTUNNKSBMaW5lIENvZGluZywmcmRxdW87 IE1heSZuYnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgICBOb3RlIHRoYXQg bm90IGFsbCBhdHRyaWJ1dGVzIG9mIFZEU0wgbW9kZW1zIHJlZmxlY3RlZCBpbg0KICAgIFZEU0wt TElORS1FWFQtTUNNLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3ksIGl0IHdhcyBkZWNpZGVkIG5vdCB0byByZWZlcmVuY2UN CiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJl bGV2YW50IG9iamVjdHMNCiAgICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4N CjxwPg0KICAgIEhvd2V2ZXIsIGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBi eSB0aGUgUE1FLA0KICAgIHJlbGV2YW50IFZEU0wtTElORS1FWFQtTUNNLU1JQiBncm91cHMgTUFZ IGJlIGluY2x1ZGVkIGFuZCBhcHBsaWVkDQogICAgZm9yIFBNRXMgb2YgMTBQQVNTLVRTIHN1YnR5 cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFi bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz PSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIj dG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMu c2VjdGlvbi4zLjQiPjwvYT48aDM+My40LiZuYnNwOw0KUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlr ZSBhbmQgTUFVIE1JQiBtb2R1bGVzPC9oMz4NCg0KPHA+DQogICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMzNjM1Jz5bUkZDMzYz NV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+RmxpY2ssIEouLCAmbGRxdW87RGVm aW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZh Y2UgVHlwZXMsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4NCiAgICBhbmQgTUFVLU1JQiA8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1 Ym1pYi1yZmMzNjM2YmlzJz5bSSYjODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2 MzZiaXNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVv O0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAg ICAgICAgICAgIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpcw0KICAgIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3Ug aW50ZXJmYWNlcy4NCiAgIA0KPC9wPg0KPHA+DQogICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVU eXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3QzTWF1VHlwZSkNCiAgICBhbmQgY29ycmVzcG9u ZGluZyBiaXQgZGVmaW5pdGlvbnMgb2YgaWZNYXVUeXBlTGlzdEJpdHMNCiAgICAoSUFOQWlmTWF1 VHlwZUxpc3RCaXRzKSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgSUFOQS1NQVUtTUlCDQogICAg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4gZm9yIHRoZSBFRk1DdSBNQVVzOg0KDQogICAgIDwvcD4NCjx1bCBjbGFzcz0idGV4dCI+DQo8 bGk+ZG90M01hdVR5cGUyQmFzZVRMIGFuZCBiMkJhc2VUTCAtIGZvciAyQkFTRS1UTCBNQVUNCjwv bGk+DQo8bGk+ZG90M01hdVR5cGUxMFBhc3NUUyBhbmQgYjEwUGFzc1RTIC0gZm9yIDEwUEFTUy1U UyBNQVUNCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAgICBBZGRpdGlvbmFsbHkg SUFOQS1NQVUtTUlCIGRlZmluZXMgdHdvIG5ldyB2YWx1ZXMgb2YNCiAgICBpZk1hdU1lZGlhQXZh aWxhYmxlLCBhcyBhIHRleHR1YWwgY29udmVudGlvbg0KICAgIElBTkFpZk1hdU1lZGlhQXZhaWxh YmxlIC0gYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHksDQogICAgc3BlY2lmaWNhbGx5IGZvciB0 aGUgRUZNQ3UgcG9ydHMuDQogICAgRHVlIHRvIHRoZSBQTUUgYWdncmVnYXRpb24sIHRoZSBFRk1D dSBpbnRlcnByZXRhdGlvbiBvZiBzb21lDQogICAgcG9zc2libGUgaWZNYXVNZWRpYUF2YWlsYWJs ZSB2YWx1ZXMgZGlmZmVycyBmcm9tIG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgICA8L3A+ DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPnVua25vd24gLSB0aGUgRUZNQ3UgaW50ZXJmYWNlIChQ Q1Mgd2l0aCBjb25uZWN0ZWQgUE1FcykgaXMgaW5pdGlhbGl6aW5nDQo8L2xpPg0KPGxpPnJlYWR5 IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGluIHRoZQ0KICAgICAg ICAgYWdncmVnYXRpb24gZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0KICAgICAgICAgdGhl IFBDUykgaXMgcmVhZHkgZm9yIGhhbmRzaGFrZQ0KPC9saT4NCjxsaT5hdmFpbGFibGUgLSB0aGUg aW50ZXJmYWNlIGlzIHVwLCBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24NCiAgICAgICAgIGdy b3VwIGFyZSB1cA0KPC9saT4NCjxsaT5ub3RBdmFpbGFibGUgLSB0aGUgaW50ZXJmYWNlIGlzIGRv d24sIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgICAgZ3JvdXAgYXJlIGRvd24s IG5vIGhhbmRzaGFrZSB0b25lcyBhcmUgZGV0ZWN0ZWQgYnkgYW55IFBNRQ0KPC9saT4NCjxsaT5h dmFpbGFibGVSZWR1Y2VkIC0gdGhlIGludGVyZmFjZSBpcyB1cCwgYSBsaW5rIGZhdWx0IGlzDQog ICAgICAgICBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJlY3Rpb24gYnkgb25lIG9yIG1vcmUg UE1FcyBpbiB0aGUNCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCBidXQgYXQgbGVhc3Qgb25l IFBNRSBpcyB1cA0KPC9saT4NCjxsaT5wbWRMaW5rRmF1bHQgLSBhIGxpbmsgZmF1bHQgaXMgZGV0 ZWN0ZWQgYXQgdGhlIHJlY2VpdmUNCiAgICAgICAgIGRpcmVjdGlvbiBieSBhbGwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAg ICBBcyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkN CiAgICByZXByZXNlbnRpbmcgYSBjb25zb2xpZGF0aW9uIG9mIExMQywgTUFDIGFuZCBQQ1MgKHN1 YilsYXllcnMpDQogICAgU0hBTEwgcmV0dXJuIGFuIGlmVHlwZSBvZiBldGhlcm5ldENzbWFjZCg2 KS4NCiAgICBXaGlsZSBtb3N0IG9mIHRoZSBNQVUgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3QgYXBw bGljYWJsZSB0byB0aGUgRUZNQ3UNCiAgICBwb3J0cyAobm8gYXV0by1uZWdvdGlhdGlvbiwgZmFs c2UgY2FycmllcnMgb3IgamFiYmVyKSwNCiAgICB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3By aWF0ZSBpZk1hdVR5cGUgKGRvdDNNYXVUeXBlMkJhc2VUTCBvcg0KICAgIGRvdDNtYXVUeXBlMTBQ YXNzVFMpIGluIG9yZGVyIHRvIGRpcmVjdCB0aGUgbWFuYWdlbWVudCBzb2Z0d2FyZQ0KICAgIHRv IGxvb2sgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGZvciB0aGUgZGVzaXJlZCBpbmZvcm1hdGlv bi4gRm9yIGV4YW1wbGUNCiAgICB0aGUgaW5mb3JtYXRpb24gb24gdGhlIHBhcnRpY3VsYXIgRUZN Q3UgZmxhdm9yIHRoYXQgYW4gRUZNQ3UgcG9ydA0KICAgIGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxl IGZyb20gZWZtQ3VPcGVyU3ViVHlwZSwgZGVmaW5lZCBpbiB0aGUNCiAgICBFRk0tQ1UtTUlCIG1v ZHVsZS4NCiAgIA0KPC9wPg0KPHA+DQogICAgU2luY2UgRUZNQ3UgUE1FcyBhcmUgbm90IEV0aGVy TGlrZSBpbnRlcmZhY2VzLCB0aGV5IGNhbm5vdCBiZQ0KICAgIGluc3RhbnRpYXRlZCBhcyBNQVUg aW50ZXJmYWNlIG9iamVjdHMuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEzIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi40Ij48L2E+PGgzPjQuJm5ic3A7DQpNSUIgU3RydWN0dXJl PC9oMz4NCg0KPGEgbmFtZT0iYW5jaG9yMTQiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1t YXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1 ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZu YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9u LjQuMSI+PC9hPjxoMz40LjEuJm5ic3A7DQpFRk0gQ29wcGVyIE1JQiBPdmVydmlldzwvaDM+DQoN CjxwPg0KICAgVGhlIG1haW4gbWFuYWdlbWVudCBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1D VS1NSUIgbW9kdWxlIGFyZSBzcGxpdCBpbnRvIDINCiAgIGdyb3VwczoNCiAgIDwvcD4NCjx1bCBj bGFzcz0idGV4dCI+DQo8bGk+ZWZtQ3VQb3J0IC0gY29udGFpbmluZyBvYmplY3RzIGZvciBjb25m aWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFuZCBub3RpZmljYXRpb25zLCBj b21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQo8L2xpPg0KPGxpPmVmbUN1UG1lIC0gY29udGFpbmlu ZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFu ZCBub3RpZmljYXRpb25zIG9mIEVGTUN1IFBNRXMuDQo8L2xpPg0KPC91bD48cD4NCiAgDQo8L3A+ DQo8cD4NCiAgIFRoZSBlZm1DdVBtZSBncm91cCBpbiB0dXJuIGNvbnRhaW5zIGVmbUN1UG1lMkIg YW5kIGVmbUN1UG1lMTBQDQogICBncm91cHMsIHdoaWNoIGRlZmluZSBQTUUgUHJvZmlsZXMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgYW5kDQogICAxMFBBU1MtVFMgUE1FcyByZXNwZWN0aXZlbHksIGFz IHdlbGwgYXMgUE1FIHNwZWNpZmljIHN0YXR1cyBpbmZvcm1hdGlvbi4NCiAgDQo8L3A+DQo8YSBu YW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7 PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC4yIj48L2E+PGgz PjQuMi4mbmJzcDsNCkludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVydmlldzwvaDM+ DQoNCjxwPg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIgdGFibGVz Og0KICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5pZkNhcFN0YWNrVGFibGUgLSBjb250 YWluaW5nIG9iamVjdHMgdGhhdCBkZWZpbmUgcG9zc2libGUNCiAgICAgICByZWxhdGlvbnNoaXBz IGFtb25nIHRoZSBzdWItbGF5ZXJzIG9mIGFuIGludGVyZmFjZSB3aXRoDQogICAgICAgZmxleGli bGUgY3Jvc3MtY29ubmVjdCAoY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5KS4NCjwvbGk+DQo8bGk+ aWZJbnZDYXBTdGFja1RhYmxlIC0gYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBzdGFja1RhYmxlLg0K PC9saT4NCjwvdWw+PHA+DQogIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTYiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjQuMyI+PC9hPjxoMz40LjMuJm5ic3A7DQpQTUUgUHJvZmlsZXM8 L2gzPg0KDQo8cD4NCiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVt YmVyIG9mIEVGTUN1IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2 ZXJ5IEVGTUN1IFBIWSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiBNb3Jlb3ZlciwgbW9zdCBQ TUVzIGFyZSBwcm92aXNpb25lZCBpZGVudGljYWxseQ0KICAgd2l0aCB0aGUgc2FtZSBzZXQgb2Yg cGFyYW1ldGVycy4gIFRvIHNpbXBsaWZ5IHRoZSBwcm92aXNpb25pbmcNCiAgIHByb2Nlc3MsIHRo ZSBFRk0tQ1UtTUlCIG1vZHVsZSBtYWtlcyB1c2Ugb2YgY29uZmlndXJhdGlvbiBwcm9maWxlcywg c2ltaWxhcg0KICAgdG8gSERTTDItU0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNN LU1JQi4gQSBwcm9maWxlIGlzIGENCiAgIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBm b3IgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbg0KICAgb2YgYSBQTUUuIFRoZSBzYW1l IHByb2ZpbGUgY2FuIGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsDQogICB1c2luZyB0 aGUgc2FtZSBjb25maWd1cmF0aW9uLg0KICANCjwvcD4NCjxwPg0KICAgVGhlIFBNRSBwcm9maWxl cyBhcmUgZGVmaW5lZCBpbg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBhbmQgZWZtQ3VQbWUx MFBQcm9maWxlVGFibGUgZm9yDQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMgcmVzcGVj dGl2ZWx5LiBUaGVyZSBhcmUgMTIgcHJlZGVmaW5lZA0KICAgc3RhbmRhcmQgcHJvZmlsZXMgZm9y IDJCQVNFLVRMIGFuZCAyMiBzdGFuZGFyZCBwcm9maWxlcyBmb3INCiAgIDEwUEFTUy1UUywgZGVm aW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yIHJhcGlkIHByb3Zpc2lvbmluZw0KICAg b2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gSW4gYWRkaXRpb24gdGhlIEVGTS1DVS1N SUIgZGVmaW5lcyB0d28NCiAgIGFkZGl0aW9uYWwgcHJlZGVmaW5lZCBwcm9maWxlcyBmb3IgImJl c3QtZWZmb3J0IiBwcm92aXNpb25pbmcgb2YNCiAgIDJCQVNFLVRMIFBNRXMuDQogICBBbiBhYmls aXR5IHRvIGRlZmluZSBuZXcgY29uZmlndXJhdGlvbiBwcm9maWxlcyBpcyBhbHNvIHByb3ZpZGVk IHRvIA0KICAgYWxsb3cgZm9yIEVGTUN1IGRlcGxveW1lbnQgdGFpbG9yZWQgdG8gc3BlY2lmaWMg Y29wcGVyIGVudmlyb25tZW50IGFuZCANCiAgIHNwZWN0cmFsIHJlZ3VsYXRpb25zLg0KICANCjwv cD4NCjxwPg0KICAgQSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9yIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUgaXMgYXNzaWduZWQgdG8gYQ0KICAgc3BlY2lmaWMgUE1FIHZpYSBlZm1DdVBtZUFkbWlu UHJvZmlsZSBvYmplY3QuIElmIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQogICBpcyB6ZXJvLCB0aGVu IGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUgUENTIHBvcnQsIGNvbm5lY3RlZCB0byB0 aGUNCiAgIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlIChvciBhIGxp c3Qgb2YgcG9zc2libGUNCiAgIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuIFRoaXMgbWVjaGFuaXNt IGFsbG93cyB0byBzcGVjaWZ5IGEgY29tbW9uDQogICBwcm9maWxlKHMpIGZvciBhbGwgUE1FcyBj b25uZWN0ZWQgdG8gdGhlIFBDUyBwb3J0LCB3aXRoIGFuIGFiaWxpdHkNCiAgIHRvIGNoYW5nZSBp bmRpdmlkdWFsIFBNRSBwcm9maWxlcyBieSBzZXR0aW5nIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQog ICBvYmplY3QsIHdoaWNoIG92ZXJ3cml0ZXMgdGhlIHByb2ZpbGUgc2V0IGJ5IGVmbUN1QWRtaW5Q cm9maWxlLg0KICANCjwvcD4NCjxwPg0KICAgQSBjdXJyZW50IG9wZXJhdGluZyBQTUUgcHJvZmls ZSBpcyBwb2ludGVkIHRvIGJ5IGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0Lg0KICAgTm90ZSB0 aGF0IHRoaXMgcHJvZmlsZSBlbnRyeSwgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwgdG8g cmVmbGVjdA0KICAgYWNoaWV2ZWQgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBp bml0aWFsaXphdGlvbi4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxNyI+PC9hPjxiciAvPjxo ciAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+ PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg bmFtZT0icmZjLnNlY3Rpb24uNC40Ij48L2E+PGgzPjQuNC4mbmJzcDsNCk1hcHBpbmcgb2YgSUVF RSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czwvaDM+DQoNCjxwPg0KICAgVGhpcyBzZWN0aW9uIGNv bnRhaW5zIHRoZSBtYXBwaW5nIGJldHdlZW4gcmVsZXZhbnQgbWFuYWdlZCBvYmplY3RzDQogICAo YXR0cmlidXRlcykgZGVmaW5lZCBpbiA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4 MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVF RSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAg ICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lm aWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUg QWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01BL0NEKSBBY2Nlc3Mg TWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRt ZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExh eWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3 b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9h PiBDbGF1c2UgMzAsIGFuZCBtYW5hZ2VkDQogICBvYmplY3RzIGRlZmluZWQgaW4gdGhpcyBkb2N1 bWVudCBhbmQgaW4gYXNzb2NpYXRlZCBNSUIgbW9kdWxlcywNCiAgIGkuZS4sIHRoZSBJRi1NSUIg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48 c3BhbiBjbGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1 bztUaGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+ PHNwYW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTm90ZSB0aGF0IG1ham9yaXR5 IG9mIHRoZSBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlDQogICBkbyBu b3QgaGF2ZSBkaXJlY3QgY291bnRlcnBhcnRzIGluIENsYXVzZSAzMCBhbmQgaW5zdGVhZCByZWZl ciB0byBDbGF1c2UgNDUNCiAgIHJlZ2lzdGVycy4NCiAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJp bnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJsZTIiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGln bj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8 Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQi PklFRUUgODAyLjMgTWFuYWdlZCBPYmplY3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+Q29ycmVzcG9u ZGluZyBTTk1QIE9iamVjdDwvdGg+PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b01BVSAt IEJhc2ljIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU1BVVR5cGU8L3RkPg0KPHRkIGFs aWduPSJsZWZ0Ij5pZk1hdVR5cGUgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmFNQVVUeXBlTGlzdDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmTWF1VHlwZUxp c3RCaXRzIChNQVUtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hTWVk aWFBdmFpbGFibGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZk1lZGlhQXZhaWxhYmxlIChNQVUt TUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5vUEFGIC0gQmFzaWMgUGFj a2FnZSAoTWFuZGF0b3J5KTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3Ry Pg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGSUQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5p ZkluZGV4IChJRi1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQaHlF bmQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBoeVNpZGU8L3RkPg0KPC90cj4NCjx0cj4N Cjx0ZCBhbGlnbj0ibGVmdCI+YVBIWUN1cnJlbnRTdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVN0YXR1czwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGU3Vw cG9ydGVkPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQQUZTdXBwb3J0ZWQ8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdl IChPcHRpb25hbCk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0 cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBBRkFkbWluU3RhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVBBRkFkbWluU3RhdGU8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+ YUxvY2FsUEFGQ2FwYWNpdHk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBBRkNhcGFjaXR5 PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFMb2NhbFBNRUF2YWlsYWJsZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmQ2FwU3RhY2tUYWJsZTwvdGQ+DQo8L3RyPg0KPHRyPg0K PHRkIGFsaWduPSJsZWZ0Ij5hTG9jYWxQTUVBZ2dyZWdhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5pZlN0YWNrVGFibGUgKElGLU1JQik8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVm dCI+YVJlbW90ZVBBRlN1cHBvcnRlZDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3Rl UEFGU3VwcG9ydGVkPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFSZW1vdGVQ QUZDYXBhY2l0eTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3RlUEFGQ2FwYWNpdHk8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVJlbW90ZVBNRUFnZ3JlZ2F0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWdu PSJsZWZ0Ij5vUE1FIC0gMTBQLzJCIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUlE PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZJbmRleCAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRy Pg0KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FQWRtaW5TdGF0ZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQi PmlmQWRtaW5TdGF0ZSAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0 Ij5hUE1FU3RhdHVzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVTdGF0dXM8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRVNOUk1nbjwvdGQ+DQo8dGQgYWxpZ249 ImxlZnQiPmVmbUN1UG1lU25yTWduPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQi PmFUQ0NvZGluZ1Zpb2xhdGlvbnM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZVRDQ29k aW5nRXJyb3JzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFUQ0NSQ0Vycm9y czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lVENDcmNFcnJvcnM8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVByb2ZpbGVTZWxlY3Q8L3RkPg0KPHRkIGFsaWduPSJs ZWZ0Ij5lZm1DdUFkbWluUHJvZmlsZSwgZWZtQ3VQbWVBZG1pblByb2ZpbGU8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU9wZXJhdGluZ1Byb2ZpbGU8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij5lZm1DdVBtZU9wZXJQcm9maWxlPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249 ImxlZnQiPmFQTUVGRUNDb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1D dVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrczwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJs ZWZ0Ij5hUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrczwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVm bUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFi bGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50 ZXIiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNl cmlmIiBzaXplPSIxIj48Yj4mbmJzcDtUYWJsZSAyOiBNYXBwaW5nIG9mIElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3RzJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIg Y2xhc3M9Imluc2VydCIgLz4NCg0KPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjUiPjwvYT48aDM+NS4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmls aXR5IE1JQiBEZWZpbml0aW9uczwvaDM+DQo8ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCklGLUNB UC1TVEFDSy1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVM RS1JREVOVElUWSwgT0JKRUNULVRZUEUsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAg ICAgICAtLSBSRkMgMjU3OA0KICAgIFRydXRoVmFsdWUNCiAgICAgIEZST00gU05NUHYyLVRDICAg ICAgICAgIC0tIFJGQyAyNTc5DQogICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUA0K ICAgICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODANCiAgICBpZlN0YWNrR3Jv dXAyLCBpZlN0YWNrSGlnaGVyTGF5ZXIsIGlmU3RhY2tMb3dlckxheWVyDQogICAgICBGUk9NIElG LU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2Mw0KICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAg RlJPTSBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQNCiAgICA7DQoNCiAgaWZDYXBT dGFja01JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAwMFoi ICAtLSBGZWJydWFyeSAyMSwgMjAwNw0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJ bnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1JTkZPDQog ICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0 ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAgICAgICAg R2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vic2NyaWJl OiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91 cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBXaWpuZW4NCiAgICAgIFBvc3Rh bDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdlbiAzMw0KICAgICAgICAgICAg ICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMNCiAgICAgICAg IFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNl bnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6IEFjdGVs aXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3 Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAgSXNyYWVs DQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6IGVkd2Fy ZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhlIG9iamVj dHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBjcm9zcy1j b25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2VzLA0KICAg ICAgY29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVk IGluDQogICAgICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0aXZlbHku DQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJz aW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0 aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgREVTQ1JJ UFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAgICAg LS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIgJmFtcDsN CiAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0KICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAg ICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAg ICAgIC0tIGFsbG9jYXRlZCAmYW1wOyByZW1vdmUgdGhpcyBub3RlLg0KDQogICAtLSBTZWN0aW9u cyBvZiB0aGUgbW9kdWxlDQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0 MTgxLCBzZWUNCiAgIC0tIEFwcGVuZGl4IEQ6IFN1Z2dlc3RlZCBPSUQgTGF5b3V0DQoNCiAgIGlm Q2FwU3RhY2tPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlC IDEgfQ0KDQogICBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg aWZDYXBTdGFja01JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0N CiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50 cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVy IGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwNCiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBv biB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicNCiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4g dGhlIG11bHRpcGxlIHN1Yi1sYXllcnMgb2YgbmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFz IG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZT dGFja1RhYmxlKS4gSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAg ICAgICB3aGljaCBzdWItbGF5ZXJzIE1BWSBwb3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2gg b3RoZXINCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiB0aGUNCiAgICAgICBkZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNv cnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCByb3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9y IGV4YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4 IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAg ICAgICBpZkluZGV4IHZhbHVlIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAgaWZDYXBTdGFja1N0YXR1cy54 Lnkgcm93IGRvZXMgbm90IGV4aXN0IGlmIGl0IGlzIGltcG9zc2libGUNCiAgICAgICB0byBjb25u ZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4NCg0KICAgICAgIE5vdGUgdGhhdCBm b3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUuZy4gMkJBU0UtVEwpDQogICAgICAgdGhlcmUn cyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4gUENTDQog ICAgICAgcG9ydCkgZm9yIGVhY2ggbG93ZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBNRSkgYW5k IGF0DQogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVsIGludGVyZmFjZSBmb3IgZWFjaCBoaWdo ZXItbGV2ZWwNCiAgICAgICBpbnRlcmZhY2UsIHRoYXQgaXMsIHRoZXJlIGlzIGF0IGxlYXN0IGEg c2luZ2xlIHJvdyB3aXRoIGENCiAgICAgICAndHJ1ZScgc3RhdHVzIGZvciBhbnkgZXhpc3Rpbmcg dmFsdWUgb2YgeCBvciB5Lg0KDQogICAgICAgVGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQg ZGVzY3JpYmVzIGRldmljZSBjYXBhYmlsaXR5Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiSUYt TUlCLCBpZlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQ0KDQog ICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElmQ2FwU3Rh Y2tFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFy dGljdWxhciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28NCiAgICAgICBzdWItbGF5ZXJzLCBzcGVj aWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuDQogICAgICAgb24gJ3Rv cCcgb2YgdGhlIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMNCiAg ICAgICB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlIChpbnRlcmZhY2UgaW5kZXgg Zm9yDQogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4iDQogICAg IElOREVYIHsNCiAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgaWZTdGFja0xvd2Vy TGF5ZXINCiAgICAgfQ0KICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgIElmQ2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICBpZkNhcFN0YWNrU3RhdHVzICAgICAg IFRydXRoVmFsdWUNCiAgICAgIH0NCg0KICAgaWZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUg c3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAg ICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUg cmV0dXJuZWQ6DQogICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUg c3ViLWxheWVyIGludGVyZmFjZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZp ZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmUgY29ubmVjdGVkIHRvIHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgIGZhbHNl KDIpICAgICAgICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUu Zy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxl IG1vZHVsZS4NCg0KICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2UgYXZhaWxh YmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgIG90aGVyIHBhcmFtZXRlcnMs IGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0KICAgICAgIGEgaGln aGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGluDQog ICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXIt bGF5ZXINCiAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IGEgcGFydGlj dWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgYmUgY29ubmVjdGVkIHRvIGFub3RoZXIgc3ViLWxh eWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxl LCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkgZm9yDQogICAgICAgZm9yIEVGTUN1 IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3BlY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMsIGFzIGl0DQogICAgICAgZGVzY3JpYmVz IGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5 IDEgfQ0KDQogICBpZkludkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgICAgU0VRVUVOQ0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXllcnMg b2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIg aWZJbnZTdGFja1RhYmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBN SUIgbW9kdWxlLg0KICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5m b3JtYXRpb24gb24gd2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgn IHdoaWNoIG90aGVyIHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3Ig ZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0K ICAgICAgIGNvbm5lY3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJ bmRleCB2YWx1ZQ0KICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMueC55PXRydWUNCg0KICAgICAgIFRoaXMgdGFibGUgY29u dGFpbnMgZXhhY3RseSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGUNCiAgICAgICBpZkNh cFN0YWNrVGFibGUsIGJ1dCB0aGUgcm93cyBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgb3JkZXIuDQoN CiAgICAgICBUaGlzIHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgYSBjcm9zcy1j b25uZWN0DQogICAgICAgY2FwYWJpbGl0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiSUYt SU5WRVJURUQtU1RBQ0stTUlCLCBpZkludlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3Rh Y2tPYmplY3RzIDIgfQ0KDQogICBpZkludkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgICAgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdl ZW4gdHdvIHN1Yi0NCiAgICAgICAgbGF5ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXll ciBNQVkgcnVuIHVuZGVybmVhdGggdGhlDQogICAgICAgIG90aGVyIHN1Yi1sYXllci4gRWFjaCBz dWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAgICAgIHJvdyBpbiB0aGUg aWZUYWJsZS4iDQogICAgIElOREVYIHsgaWZTdGFja0xvd2VyTGF5ZXIsIGlmU3RhY2tIaWdoZXJM YXllciB9DQogICAgIDo6PSB7IGlmSW52Q2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgIElmSW52Q2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgICAg ICBUcnV0aFZhbHVlDQogICAgfQ0KDQogICBpZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgICAgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSBwb3NzaWJsZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmls aXR5Jw0KICAgICAgICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4NCg0KICAg ICAgICBBbiBpbnN0YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ug b2YgdGhlDQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2JqZWN0LCBhbmQgdmljZSB2ZXJzYS4g Rm9yIGV4YW1wbGUsIGlmIHRoZQ0KICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3RhdHVzLkgu TCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlDQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5I IG11c3QgYWxzbyBleGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbg0KICAgICAgICBhZGRpdGlvbiwg dGhlIHR3byB2YXJpYWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNhbWUgdmFsdWUuDQoNCiAgICAgICAg VGhlIGlmSW52U3RhY2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVz DQogICAgICAgIGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgICJpZkNhcFN0YWNrU3RhdHVzIg0KICAgICA6Oj0geyBpZkludkNhcFN0YWNrRW50cnkg MSB9DQoNCiAgLS0NCiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBpZkNh cFN0YWNrR3JvdXBzICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBT dGFja0NvbmZvcm1hbmNlIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgT0JKRUNUIElE RU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQ0KDQogICAt LSBVbml0cyBvZiBDb25mb3JtYW5jZQ0KDQogICBpZkNhcFN0YWNrR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsDQogICAgICAgaWZJbnZD YXBTdGFja1N0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRp b24gb24gdGhlDQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVy IChzdGFja2VkKSBuZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcy4iDQogICAgIDo6PSB7IGlmQ2Fw U3RhY2tHcm91cHMgMSB9DQoNCg0KICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgaWZD YXBTdGFja0NvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQg Zm9yIFNOTVAgZW50aXRpZXMsIHdoaWNoIHByb3ZpZGUNCiAgICAgICBpbmZvcm1hdGlvbiBvbiB0 aGUgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyDQogICAgICAgKHN0YWNr ZWQpIG5ldHdvcmsgaW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0DQogICAg ICAgYmV0d2VlbiB0aGUgc3ViLWxheWVycy4iDQoNCg0KICAgICBNT0RVTEUgIC0tIHRoaXMgbW9k dWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkNhcFN0YWNrR3JvdXAN CiAgICAgICB9DQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9y DQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNl cy4iDQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZ TlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQog ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAg ICAgIGlmU3RhY2tHcm91cDINCiAgICAgICB9DQoNCiAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1T VEFDSy1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGlmSW52U3RhY2tH cm91cA0KICAgICAgIH0NCg0KICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQpF TkQNCjwvcHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9yMTkiPjwvYT48YnIgLz48aHIgLz4NCjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9 IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm Yy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDsNCkVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25z PC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6 IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6 Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwg Tk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICBVbnNpZ25lZDMyLCBDb3VudGVyMzIs IG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OA0KICAgIFRF WFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlzQWRkcmVzcw0KICAg ICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICBNT0RVTEUtQ09NUExJ QU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVANCiAgICAgIEZST00gU05NUHYy LUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgU25tcEFkbWluU3RyaW5nDQogICAgICBGUk9N IFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQ0KICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAg ICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJGQyAyODYzDQogICAgOw0KDQogIGVmbUN1 TUlCIE1PRFVMRS1JREVOVElUWQ0KICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IEludGVy ZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICBDT05UQUNULUlORk8NCiAgICAg ICJXRyBjaGFydGVyOg0KICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRlcnMv aHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICBNYWlsaW5nIExpc3RzOg0KICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAgICBUbyBTdWJzY3JpYmU6IGh1 Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2Vt YWlsX2FkZHJlc3MNCg0KICAgICAgQ2hhaXI6ICBCZXJ0IFdpam5lbg0KICAgICAgUG9zdGFsOiBB bGNhdGVsLUx1Y2VudA0KICAgICAgICAgICAgICBTY2hhZ2VuIDMzDQogICAgICAgICAgICAgIDM0 NjEgR0wgTGluc2Nob3Rlbg0KICAgICAgICAgICAgICBOZXRoZXJsYW5kcw0KICAgICAgICAgVGVs OiArMzEtMzQ4LTQwNy03NzUNCiAgICAgIEUtbWFpbDogYndpam5lbkBhbGNhdGVsLWx1Y2VudC5j b20NCg0KICAgICAgRWRpdG9yOiBFZHdhcmQgQmVpbGkNCiAgICAgIFBvc3RhbDogQWN0ZWxpcyBO ZXR3b3JrcyBJbmMuDQogICAgICAgICAgICAgIDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczDQog ICAgICAgICAgICAgIFBldGFjaC1UaWt2YSAxMDE3Mw0KICAgICAgICAgICAgICBJc3JhZWwNCiAg ICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0OTENCiAgICAgIEUtbWFpbDogZWR3YXJkLmJl aWxpQGFjdGVsaXMuY29tIg0KDQogICAgREVTQ1JJUFRJT04NCiAgICAgICJUaGUgb2JqZWN0cyBp biB0aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gbWFuYWdlDQogICAgICB0aGUgRXRoZXJuZXQg aW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChFRk1DdSkgSW50ZXJmYWNlcw0KICAgICAg MkJBU0UtVEwgYW5kIDEwUEFTUy1UUywgZGVmaW5lZCBpbiBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0 LA0KICAgICAgd2hpY2ggaXMgbm93IGEgcGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4NCg0K ICAgICAgVGhlIGZvbGxvd2luZyByZWZlcmVuY2VzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBN SUIgbW9kdWxlOg0KDQogICAgICBbODAyLjNhaF0gcmVmZXJzIHRvOg0KICAgICAgICBJRUVFIFN0 ZCA4MDIuM2FoLTIwMDQ6ICdJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbg0KICAgICAgICB0 ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQ0K ICAgICAgICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0 d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQ0KICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uDQogICAgICAgIERl dGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXINCiAgICAg ICAgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250 cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vzcw0KICAgICAgICBOZXR3b3JrcycsIDA3IFNl cHRlbWJlciAyMDA0Lg0KDQogICAgICBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IGFyZSBDbGF1c2Ug NjEsICdQaHlzaWNhbCBDb2RpbmcNCiAgICAgIFN1YmxheWVyIChQQ1MpIGFuZCBjb21tb24gc3Bl Y2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZA0KICAgICAgdHlwZSAyQkFTRS1UTCcsIENs YXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsDQogICAgICAnTWFuYWdlbWVudCBEYXRh IElucHV0L091dHB1dCAoTURJTykgSW50ZXJmYWNlJywgQW5uZXggNjJBLA0KICAgICAgJ1BNRCBw cm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXggNjNBLCAnUE1EIHByb2ZpbGVzIGZvcg0K ICAgICAgMkJBU0UtVEwnLg0KDQogICAgICBbRy45OTEuMl0gcmVmZXJzIHRvOg0KICAgICAgICBJ VFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdp dGFsDQogICAgICAgIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIHRyYW5zY2VpdmVycycsIERlY2Vt YmVyIDIwMDMuDQoNCiAgICAgIFtBTkZQXSByZWZlcnMgdG86DQogICAgICAgIE5JQ0MgRG9jdW1l bnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZpY2F0aW9uIG9mIHRoZSBBY2Nlc3MNCiAgICAgICAg TmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24N CiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3VzdCAy MDA1Lg0KDQogICAgICBOYW1pbmcgQ29udmVudGlvbnM6DQogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24NCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9mZmljZQ0KICAgICAgICBDUEUgICAtIEN1 c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudA0KICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRo ZSBGaXJzdCBNaWxlDQogICAgICAgIEVGTUN1IC0gRUZNIENvcHBlcg0KICAgICAgICBNRElPICAt IE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQNCiAgICAgICAgTWduICAgLSBNYXJnaW4NCiAg ICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24NCiAgICAgICAgUEJPICAgLSBQ b3dlciBCYWNrLU9mZg0KICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcg0K ICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiAgICAgICAgUE1FICAg LSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwg RGVuc2l0eQ0KICAgICAgICBTTlIgICAtIFNpZ25hbCB0byBOb2lzZSBSYXRpbw0KICAgICAgICBU Q1BBTSAtIFRyZWxsaXMgQ29kZWQgUHVsc2UgQW1wbGl0dWRlIE1vZHVsYXRpb24NCg0KICAgICAg Q29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuICBUaGlzIHZlcnNpb24NCiAgICAg IG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMNCiAg ICAgIGl0c2VsZiBmb3IgZnVsbCBsZWdhbCBub3RpY2VzLiINCg0KICAgIFJFVklTSU9OICAgICIy MDA3MDIyMTAwMDBaIiAgLS0gRmVicnVhcnkgMjEsIDIwMDcNCiAgICBERVNDUklQVElPTiAiSW5p dGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhYWFguIg0KDQogICAgICAtLSBFZE5vdGU6 IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmYW1wOw0KICAgICAgLS0g cmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgOjo9IHsgbWliLTIgWVlZIH0NCg0KICAgICAgLS0gRWRO b3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcw0KICAgICAgLS0gYWxs b2NhdGVkICZhbXA7IHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNlY3Rpb25zIG9mIHRoZSBt b2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1D dU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VQb3J0 ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMSB9DQoNCiAgIGVm bUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmplY3RzIDIgfQ0K DQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIEVmbVByb2ZpbGVJbmRleCA6Oj0gVEVY VFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAgICAgU1RBVFVTICAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlxdWUgdmFsdWUsIGdyZWF0 ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdA0KICAgICAg IHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5nIGZyb20gMS4gVGhlIHZh bHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBjb25zdGFudCBhdCBsZWFz dCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3 b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQgcmUtaW5pdGlhbGl6YXRp b24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1KQ0KDQogICBFZm1Qcm9m aWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBESVNQTEFZLUhJTlQg ImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiBFZm1Qcm9maWxlSW5k ZXgNCiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4g emVybyB2YWx1ZSB1c2VkDQogICAgICAgdG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZSBpbiB0aGUg bWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzDQogICAgICAgZXh0ZW5zaW9uIHBlcm1pdHMgdGhlIGFk ZGl0aW9uYWwgdmFsdWUgb2YgemVyby4gVGhlIHZhbHVlIG9mDQogICAgICAgemVybyBpcyBvYmpl Y3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydA0KICAgICAg IG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdoaWNoIHVzZXMgdGhpcyBzeW50YXgu DQogICAgICAgRXhhbXBsZXMgb2YgdGhlIHVzYWdlIG9mIHplcm8gdmFsdWUgbWlnaHQgaW5jbHVk ZSBzaXR1YXRpb25zDQogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlz IHVua25vd24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMC4uMjU1KQ0KDQogICBF Zm1Qcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgRElTUExBWS1I SU5UICIxZDoiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIHJlcHJlc2VudHMgYSBsaXN0IG9mIHVwIHRv IDYNCiAgICAgICBFZm1Qcm9maWxlSW5kZXgncywgYW55IG9mIHdoaWNoIGNhbiBiZSBjaG9zZW4g Zm9yDQogICAgICAgY29uZmlndXJhdGlvbiBvZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBv cnQuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5l cyBhIGdyZWF0ZXIgdGhhbg0KICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVudGlmeSBhIFBN RSBwcm9maWxlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGNvbmNhdGVu YXRpb24gb2Ygb25lIG9yDQogICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNo IG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgRWZtUHJvZmlsZUluZGV4IHZhbHVlLg0K ICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9iamVjdC1zcGVjaWZpYyBhbmQg TVVTVA0KICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICB3aGljaCB1c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxl cyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRl IHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVzaW5nIHRoaXMNCiAgICAgICB0ZXh0dWFsIGNv bnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAg dHlwZS4iDQogICAgIFNZTlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAg IEVmbVRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBTVEFU VVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRleHR1YWwg Y29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICBjb252 ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICBw b3NzaWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3aGVu IGFuIGV4YWN0DQogICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0IGNhbm5v dCBiZSBkZXRlcm1pbmVkLiINCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtub3duKDAp LCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgLS0gUG9ydCBOb3RpZmljYXRpb25zIEdyb3VwDQoN CiAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQ b3J0IDAgfQ0KDQogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAg ICBPQkpFQ1RTIHsNCiAgICAgICAtLSBpZkluZGV4IGlzIG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3 ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAgaWZTcGVlZCwNCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1D dSBwb3J0JyBkYXRhIHJhdGUNCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4 Y2VlZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1 VGhyZXNoTG93UmF0ZS4NCg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZv ciB0aGUgLU8gc3VidHlwZSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hp bGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgdGhyZXNo b2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZA0K ICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90IGFwcGxp Y2FibGUgdG8NCiAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBi ZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0K ICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5r RG93biBhbmQNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHRvIGJl IHNlbnQuDQoNCiAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9s b2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgIGFkYXB0IGl0c2VsZiB0byB0aGUgY2hhbmdl cyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAgYW4gaW1wdWxzZSBub2lz ZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0aW9uIG1heQ0KICAgICAgIHRl bXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAs DQogICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZN Q3UgbGluay4NCiAgICAgICBUaGUgZHJvcHBlZCBQTUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWlu aXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBh ZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQ0KICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIg bWFyZ2luLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250 cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4i DQogICAgIDo6PSB7IGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIC0tIFBDUyBQb3J0 IGdyb3VwDQoNCiAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1Mt VFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFp bnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1 UG9ydCAxIH0NCg0KICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFu IGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFj aCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4N CiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5n bGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhl ZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICBTRVFV RU5DRSB7DQogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywNCiAg ICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhMaXN0 LA0KICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQog ICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZhbHVlLA0KICAgICAgIGVm bUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VM b3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1 UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQog ICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICBkaXNhYmxlZCgyKQ0KICAgICB9DQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBv ZiB0aGUgRUZNQ3UgcG9ydA0KICAgICAgIChQQ1MpLg0KICAgICAgIFdoZW4gJ2Rpc2FibGVkJywg UE1FIEFnZ3JlZ2F0aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICBQQ1Mu IE5vIG1vcmUgdGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGlu DQogICAgICAgdGhpcyBjYXNlLg0KICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBw ZXJmb3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgUENT IHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBv Zg0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hB TEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0aCBtdWx0aXBs ZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRv ICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAgICAgdW50aWwgYXQg bW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICBDaGFuZ2luZyBQQUZBZG1p blN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlvbiBhbmQNCiAgICAgICBhcyBz dWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0bw0KICAg ICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSByZWplY3RlZCBpZiB0aGUgbGluayBpcyBV cCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBBRkFkbWluU3RhdGUuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBD UyBjb250cm9sDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 Q29uZkVudHJ5IDEgfQ0KDQogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQgKFBDUykuDQogICAg ICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0 aW9uLA0KICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAgICAgICBQQ1MgcG9ydHMgaW5j YXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHplcm8NCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4NCiAg ICAgICBhdHRlbXB0IHRvIHdyaXRlIHRvIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGZv ciBzdWNoDQogICAgICAgcG9ydHMuDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50 aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUNCiAgICAgICB3cml0aW5nIG9wZXJh dGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZQ0KICAgICAgIChTZXRfaWZf Q2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1Fcw0KICAgICAgIGFz c29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAgICAgIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoaXMg b2JqZWN0IGZvciAtUiBzdWJ0eXBlIHBvcnRzIGFmdGVyDQogICAgICAgcmVzZXQgaXMgYWxsIHpl cm9lcy4gRm9yIC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlzDQogICAgICAgb2Jq ZWN0IGNhbm5vdCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2Vk DQogICAgICAgYXMgYSByZXN1bHQgb2Ygd3JpdGluZyBvcGVyYXRpb24gb24gdGhlDQogICAgICAg ZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUgUE1FIG9mIC1PDQog ICAgICAgc3VidHlwZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lh dGVkIHdpdGgNCiAgICAgICB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAgICAgIFNOTVAgd2l0 aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAg ICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUgbWFwcyB0 byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUg dGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0KICAgICAgIENsYXVzZSA0NSBy ZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywg NjEuMi4yLjguNCwgNDUuMi42LjYuMSwgNDUuMi42LjgsDQogICAgICAgNjFBLjIiDQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VBZG1pblByb2ZpbGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleExpc3QNCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlvbiBQcm9maWxlKHMpLCBjb21tb24gZm9y IGFsbCBQTUVzIGluIHRoZQ0KICAgICAgIEVGTUN1IHBvcnQuIFRoaXMgb2JqZWN0IGlzIGEgbGlz dCBvZiBwb2ludGVycyB0byBlbnRyaWVzIGluDQogICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9u IHRoZSBjdXJyZW50DQogICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIEVGTUN1IHBvcnQg YXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQb3J0U2lkZS4NCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5kaWNlcyBvZg0KICAgICAgIFBy b2ZpbGVzLiBJZiB0aGlzIGxpc3QgY29uc2lzdHMgb2YgYSBzaW5nbGUgUHJvZmlsZSBpbmRleCwN CiAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFMTCBi ZSBjb25maWd1cmVkDQogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9maWxlIHJlZmVyZW5jZWQg YnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0DQogICAgICAgaXMgb3ZlcndyaXR0ZW4gYnkgY29ycmVz cG9uZGluZyBub24temVybyBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICB3aGljaCB0YWtl cyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuDQogICAgICAgVGhlIGxpc3QsIGNv bnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2ggUE1FDQogICAgICAg aW4gdGhlIHBvcnQgdG8gYmUgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gYW55IFByb2ZpbGUNCiAg ICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuDQogICAgICAgQnkgZGVmYXVsdCB0aGlzIG9iamVj dCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QNCiAgICAgICBlbnRyeSBpbiBl Zm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLg0KDQogICAg ICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8gc3VidHlw ZQ0KICAgICAgICgyQmFzZVRMLU8gb3IgMTBQYXNzVFMtTykgRUZNQ3UgcG9ydHMuIEl0IGlzIGly cmVsZXZhbnQgZm9yDQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNz VFMtUikgcG9ydHMgLSBhIHplcm8NCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxMIGJl IHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZA0KICAgICAgIHRoaXMgb2JqZWN0IGFuZCBh biBhdHRlbXB0IHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgcmVqZWN0ZWQg aW4gdGhpcyBjYXNlLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgUHJv ZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBv YmplY3QuDQoNCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0 aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkLCBpZiB0aGUNCiAgICAgICBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSBs aXN0IHdpdGggYSBtZW1iZXINCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9m IHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5DQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRp bmcgcHJvZmlsZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgJzAxJ0gg fQ0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1VGFyZ2V0RGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAw fDk5OTk5OSkNCiAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJEZXNpcmVkIEVGTUN1IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRl IGluDQogICAgICAgS2JwcywgdG8gYmUgYWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1 bmRlciBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0aW9ucyBwbGFjZWQgb24gZWFjaCBQTUUgdmlh IGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGgg dGhlIGRlc2lyZWQgU05SIE1hcmdpbiBzcGVjaWZpZWQgYnkNCiAgICAgICBlZm1DdVRhcmdldFNu ck1nbi4NCiAgICAgICBJbiBjYXNlIG9mIFBBRiwgdGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHN1 bSBvZiBpbmRpdmlkdWFsIFBNRQ0KICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBl bnNhdGUgZm9yIGZyYWdtZW50YXRpb24gYW5kDQogICAgICAgNjQvNjVCIGZyYW1pbmcgb3Zlcmhl YWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAxME1icHMNCiAgICAgICBTSEFMTCBhbGxvdyBs b3NzbGVzcyB0cmFuc21pc3Npb24gb2YgZnVsbC1kdXBsZXggMTBNYnBzDQogICAgICAgRXRoZXJu ZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLg0KDQogICAgICAg VGhlIHZhbHVlIGlzIGxpbWl0ZWQgYWJvdmUgYnkgMTAwTWJwcyBhcyB0aGlzIGlzIHRoZSBtYXgN CiAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLg0KDQogICAgICAg VGhlIHZhbHVlIGJldHdlZW4gMSBhbmQgMTAwMDAwIGluZGljYXRlcyB0aGF0IHRoZSB0b3RhbCBk YXRhDQogICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0ZXIgaW5pdGlh bGl6YXRpb24gU0hBTEwNCiAgICAgICBiZSBlcXVhbCB0byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBv ciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZl ZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMgc3BlY2lmaWVkDQogICAgICAgYnkgZWZtQ3VB ZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAg ICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNo aWV2ZQ0KICAgICAgIGhpZ2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBi eSB0aGUgdGFyZ2V0LCB0aGUNCiAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRo ZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SDQogICAgICAgbWFyZ2luIG9yIHJlY2xhaW1l ZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICBieSBl Zm1DdUFkYXB0aXZlU3BlY3RyYS4NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMg dGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICBmaXhlZCBhbmQgU0hBTEwg YmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICBpbml0 aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNU IGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBvZiBT Tk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAgbGlu ayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRh IFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVk IG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA0IH0NCg0KICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMC4uMjEpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVk IG9uIGFsbCBQTUVzDQogICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFs aXppYXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRo YXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAg ICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0 cyBpbiBvcmRlcg0KICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBv ZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBU aGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0K ICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAt UiBzdWJ0eXBlcy4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgU05SIE1hcmdpbiBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMg dG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBv ZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAg bGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBT TlIgTWFyZ2luIG9mIHRoZSBQTUVzIGNvbXByaXNpbmcgdGhlIEVGTUN1DQogICAgICAgcG9ydCBp cyByZXByZXNlbnRlZCBieSBlZm1DdVBtZVNuck1nbi4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA2MS4xLjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA1IH0NCg0KICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyBob3cg dG8gdXRpbGl6ZSBleGNlc3MgY2FwYWNpdHkgd2hlbiB0aGUgY29wcGVyDQogICAgICAgZW52aXJv bm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQN CiAgICAgICBzcGVjaWZpZWQgYnkgdGhlIGVmbUN1VGFyZ2V0RGF0YVJhdGUuDQoNCiAgICAgICBW YWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFM TCBiZQ0KICAgICAgIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyLCBlLmcu IHVzaW5nIGhpZ2hlcg0KICAgICAgIGNvbnN0ZWxsYXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwg aW4gb3JkZXIgdG8gcmVkdWNlDQogICAgICAgaW50ZXJmZXJlbmNlIHRvIG90aGVyIGNvcHBlciBw YWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUNCiAgICAgICBhZHZlcnNlIGltcGFjdCB0byBsaW5r L3N5c3RlbSBwZXJmb3JtYW5jZS4NCg0KICAgICAgIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRl cyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTA0KICAgICAgIGJlIGNvbnZlcnRlZCB0 byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5kIHNwcmVhZCBldmVubHkgYWNyb3NzDQogICAgICAg YWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRoZSAoUENTKSBwb3J0LCB0byBpbmNyZWFzZSBs aW5rDQogICAgICAgcm9idXN0bmVzcy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3Jp dGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgKDJCYXNlVEwtTy8xMFBh c3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBp cw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJl amVjdGVkIChpbiBjYXNlDQogICAgICAgb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3Rl bnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwDQogICAgICAgb3IgSW5pdGlhbGl6aW5nLg0KDQog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNiB9DQoNCiAgIGVmbUN1VGhyZXNo TG93UmF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAw MDApDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBvYmplY3QgY29uZmlndXJlcyB0aGUgRUZNQ3UgcG9ydCBsb3cgcmF0ZSBjcm9zc2luZyBhbGFy bQ0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZv ciB0aGlzIHBvcnQNCiAgICAgICByZWFjaGVzL2Ryb3BzIGJlbG93IG9yIGV4Y2VlZHMgdGhpcyB0 aHJlc2hvbGQsIGFuDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9uIE1B WSBiZSBnZW5lcmF0ZWQgaWYgZW5hYmxlZA0KICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1 YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3Qg YXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNU IGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMg c2hvdWxkDQogICAgICAgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAg IFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBw ZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4IH0NCg0K DQogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBB U1MtVFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUg bWFpbnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVm bUN1UG9ydCAyIH0NCg0KICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0 aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0 b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJl IGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQg ICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQg ICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNp dHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNp dHkgICAgICAgICAgICAgVW5zaWduZWQzMg0KICAgICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVk ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRo ZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQogICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVn YXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQ QUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQog ICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0 aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtu b3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykgbGluayBwYXJ0bmVy Lg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVt b3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxh YmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgUG9ydHMg d2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0KICAgICAg IHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQ QUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBS ZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4gdGhlDQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkg cmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAu MTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50 cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJOdW1iZXIgb2Yg UE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRoZSBsb2NhbCBQQUYuDQogICAgICAgVGhl IG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3NpZ25lZCB0byBhIHBhcnRpY3VsYXINCiAgICAg ICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbg0KICAgICAg IGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1 c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxvY2FsUEFGQ2FwYWNpdHkuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0NCg0KICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDB8MS4uMzIpDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkg dGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAgIFBoeSAoUENTIHBvcnQpLg0KICAgICAgIFZhbHVl IG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVyIFBBRiBDYXBhY2l0eSBpcyB1bmtub3duDQogICAg ICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0eS4iDQog ICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuMTAiDQog ICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0NCg0KDQogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1D dVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUg cHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFT RS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzDQog ICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFi bGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRpdGlvbmFsIHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91 dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVz VGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBl cXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6 Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAg ICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9m IGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0g eyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9 DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdUZsdFN0YXR1cyAgICAgICAgICAgICAgICAg ICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNpZGUgICAgICAgICAgICAgICAgICAgIElOVEVHRVIs DQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAg ICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAg ZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1 UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRklu QmFkRnJhZ21lbnRzICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RG cmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRz ICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluTG9zdEVuZHMgICAgICAg ICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cyAgICAgICAgICAg ICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIG5vUGVlcigwKSwNCiAgICAgICBwZWVyUG93 ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwNCiAgICAgICBsb3dSYXRl KDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICBjb25kaXRpb25z LiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToNCiAgICAgICAgIG5vUGVlciAgICAgICAg ICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3duDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBp bg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLg0KICAg ICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5k aW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBs b3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWlu ZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUg bm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAg bG93UmF0ZSAgICAgICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9w cGVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dS YXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3Bl clN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUg aW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhl IGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgUEFGIGlzIGRpc2FibGVk KS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1J QiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAg IDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICBlZm1DdVBvcnRTaWRlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBzdWJzY3JpYmVyKDEp LA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAgICB1bmtub3duKDMpDQogICAgIH0NCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAg ICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2ln bmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMg cG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICctUicpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0 aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICBkZXNpZ25hdGVk IGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAg ICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgVGhlIHZhbHVlIG9mICd1bmtub3duJyBpbmRp Y2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICBQTUVzIHlldCBvciB0 aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUgc2lkZQ0KICAgICAgIChz dWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICBhUGh5RW5kIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiINCiAgICAgOjo9IHsgZWZt Q3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg Ik51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3VycmVudGx5IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2Fs IFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNrVGFi bGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNh cGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVs ZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0IHVzaW5nDQogICAgICAgaWZTdGFja1RhYmxlLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Ig0K ICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAzIH0NCg0KICAgZWZtQ3VQQUZJbkVycm9y cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFj cm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQg ZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5v dCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlu cyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAvMkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDQgfQ0KDQogICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVy IG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWluRnJhZ21lbnRTaXplDQogICAgICAgKDY0IEJ5 dGVzKSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBp bnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVk LiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBzbWFsbCBmcmFnbWVudHMNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAg IERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBh dA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5k IGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNv dW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIyIg0KICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSA1IH0NCg0KICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFk LW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIG51bWJlciBvZiBmcmFnbWVudHMgbGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplDQogICAg ICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1h DQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgVGhpcyByZWFkLW9ubHkg Y291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1bnN1cHBvcnRlZCBv ciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8g SW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIu DQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBj YW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBz eXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFs dWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1N SUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVu dHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhl IHNlcXVlbmNlDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9u LCB0aGF0IGhhdmUgYmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJm YWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRv IHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRp c2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFp bnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2Yg aWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBzZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNo IGhhdmUNCiAgICAgICBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0 aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFt ZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMNCiAgICAgICBleHBlY3RlZCBieSB0aGUg ZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgVGhp cyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1 bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50 ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAg IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1h bmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQg YnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmlu ZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMu MjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBBRklu TG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBTdGFydE9mUGFja2V0IGluZGlj YXRvcnMgZXhwZWN0ZWQgYnkgdGhlDQogICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uDQog ICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMN CiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl bg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBv ZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGlu IHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAg ICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlU aW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkg fQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg Q291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgRW5k T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdo ZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBB RiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVy RGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yOCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBBRkluT3ZlcmZsb3dzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJl ciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlDQogICAg ICAgYW5kIGRpc2NhcmRlZCwgd2hpY2ggd291bGQgaGF2ZSBjYXVzZWQgdGhlIGZyYW1lIGFzc2Vt Ymx5DQogICAgICAgYnVmZmVyIHRvIG92ZXJmbG93Lg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNv dW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3Ig ZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0 YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBt YXBzIHRvIHRoZSAxMFAvMkIgUEFGIG92ZXJmbG93IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAg ICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3Ro ZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjQiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0 YXR1c0VudHJ5IDExIH0NCg0KICAtLSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cA0KDQogICBlZm1D dVBtZU5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgMCB9DQoN CiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVD VFMgew0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVB dG4NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBsb29wIGF0dGVudWF0 aW9uDQogICAgICAgdGhyZXNob2xkIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0K ICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2VlZGVkIGZvciB0aGUgMkJBU0UtVEwv MTBQQVNTLVRTDQogICAgICAgUE1FLiBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2VuZCBvbiB0 aGUgY3Jvc3NpbmcgZXZlbnQgaW4NCiAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFs IHRvIGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkDQogICAgICAgdG8gbm9ybWFsLg0KDQogICAg ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIu NSBzZWMsDQogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5k IG5vdGlmaWNhdGlvbiwNCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlDQogICAgICAgc2VudC4NCg0KICAgICAgIEdlbmVyYXRp b24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1D dVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5v dGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9O LVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRo ZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbg0KICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAy QkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBz ZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJv bSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwu DQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJp b2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRp dGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQg aW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICBzZW50Lg0KDQogICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0IE5PVElGSUNB VElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzDQogICAg IH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJU aGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJl ZW4NCiAgICAgICBkZXRlY3RlZCBieSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEg c2VsZi10ZXN0Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBj b250cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0 LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBQ TUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgZmFpbGVkLCBkdWUgdG8gaW5hYmlsaXR5IG9m IHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAgIGNvbmZpZ3VyYXRpb24g cHJvZmlsZS4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29u dHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVj dC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQ cm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAg fQ0KICAgICBTVEFUVVMgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAg aW5jb21wYXRpYmxlIHByb3RvY29sIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAg ICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDUgfQ0KDQogICAtLSBUaGUgUE1FIGdyb3VwDQoNCiAgIGVmbUN1 UG1lQ29uZlRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENv bmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwv MTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFz cGVjdHMgc3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAg ICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29u ZlRhYmxlDQogICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRh YmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0K ICAgICA6Oj0geyBlZm1DdVBtZSAxIH0NCg0KICAgZWZtQ3VQbWVDb25mRW50cnkgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENvbmZpZ3VyYXRpb24gdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNv bmZFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBl ICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAg ICBFZm1Qcm9maWxlSW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlD b2RlICAgIFBoeXNBZGRyZXNzLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgICAgICAg ICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gICAgICAgICAgIEludGVn ZXIzMiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVBy b3RvY29sSW5pdEZhaWxFbmFibGUgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UG1lQWRt aW5TdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAg ICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGllZWUx MFBhc3NUU08oMyksDQogICAgICAgaWVlZTEwUGFzc1RTUig0KSwNCiAgICAgICBpZWVlMkJhc2VU TG9yMTBQYXNzVFNSKDUpLA0KICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksDQogICAg ICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyg3KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAt IFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAgICAgaWVlZTJCYXNlVExSICAg ICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEw UGFzc1RTTyAgICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8NCiAgICAg ICAgIGllZWUxMFBhc3NUU1IgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NU Uy1SDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMkJhc2VUTC1SIG9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXQgYnkgLU8gbGluayBwYXJ0bmVyIGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLg0KICAgICAgICAgaWVlZTJC YXNlVExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVmZXJyZWQpIG9yIDEwUGFzc1RTLU8uIEFj dHVhbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0 IGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9u IGRlcGVuZGluZyBvbiAtUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsg cGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVmZXJyZWQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkKS4NCiAgICAgICAgIGllZWUxMFBhc3NUU29y MkJhc2VUTE8gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJpbmcN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRp bmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIg Y2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTBQYXNzVFMgbW9kZSwgMkJhc2VUTCB3aWxsIGJlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlZCkuDQoNCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWlu U3ViVHlwZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMg c3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsNCiAg ICAgICBpcyBVcCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRo aXMgb2JqZWN0IHRvIGFuIHVuc3VwcG9ydGVkIHN1YnR5cGUNCiAgICAgICAoc2VlIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhlIGN1cnJl bnQgb3BlcmF0aW9uYWwgc3ViIHR5cGUgaXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBj b21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMNCiAgICAgICBh bmQgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQN CiAgICAgICBjb250cm9sIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4z YWhdIDYxLjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBw b2ludGVyDQogICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBj dXJyZW50IG9wZXJhdGluZw0KICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9m IHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZg0KICAgICAgIHRoZSByZWZlcmVuY2VkIHByb2Zp bGUuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IHRo ZSBQTUUgaXMNCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qg Zm9yIHRoZSBQQ1MgcG9ydCwNCiAgICAgICB0byB3aGljaCB0aGlzIFBNRSBpcyBhc3NpZ25lZC4g VGhhdCBpcywgdGhlIHByb2ZpbGUgcmVmZXJlbmNlZA0KICAgICAgIGJ5IGVmbUN1UG1lQWRtaW5Q cm9maWxlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgcHJvZmlsZShzKQ0KICAgICAgIHJlZmVy ZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0 YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VU TC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BFDQogICAgICAg c3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVlIFNIQUxMIGJl DQogICAgICAgcmV0dXJuZWQgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMgb2JqZWN0IGFuZCBh bnkgYXR0ZW1wdA0KICAgICAgIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVk IGluIHRoaXMgY2FzZS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFBy b2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUg b2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEg dmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBh Y3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0KICAgICAgIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4x MS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5 IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUgcG9ydCBhdCBDTy4NCiAg ICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVj dGVkIHZpYQ0KICAgICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlzIG9iamVjdCByZXN1 bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24uDQogICAgICAgU2V0dGluZyB0aGlzIG9i amVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkNCiAgICAgICBDbGVhcl9p Zl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAg ICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVy eUNvZGUgb2YNCiAgICAgICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZv ciB0aGUgb3BlcmF0aW9uIHRvDQogICAgICAgc3VjY2VlZCkuDQogICAgICAgV3JpdGluZyBhIG5v bi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgIERpc2NvdmVy eSBTZXRfaWZfQ2xlYXIgb3BlcmF0aW9uLg0KICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3Ry aW5nIFNIQUxMIGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICByZWFkIHRoaXMg b2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlz DQogICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0byB0 aGlzIG9iamVjdCBTSEFMTA0KICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgRGlzY292ZXJ5 IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAg ICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBp cyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlz IG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAg ICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGlu IDEwUC8yQg0KICAgICAgIGFnZ3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVy IGFuZA0KICAgICAgIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00 NS4yLjYuOCINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4u MTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNp cmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAg ICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBsaW5lIGF0dGVudWF0aW9uIGFsYXJtIHRocmVz aG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIExpbmUgQXR0ZW51YXRpb24g cmVhY2hlcyBvcg0KICAgICAgIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gTUFZIGJlIGdlbmVyYXRlZCwgaWYgZW5h YmxlZCBieQ0KICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLg0KDQogICAgICAg VGhpcyBvYmplY3QgaXMgd3JpdGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMgKC1PKS4NCiAg ICAgICBJdCBpcyByZWFkLW9ubHkgZm9yIHRoZSBDUEUgc3VidHlwZSAoLVIpLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9y bWVkDQogICAgICAgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgTVVTVCBiZQ0KICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0 aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExvb3AgYXR0ZW51YXRpb24gdGhyZXNob2xkIGJpdHMgaW4NCiAgICAgICB0aGUgMkIgUE1EIGxp bmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNCB9DQoN CiAgIGVmbUN1UG1lVGhyZXNoU25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ bnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJEZXNpcmVkIFNOUiBNYXJnaW4gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBN RS4NCiAgICAgICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRo cmVzaG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVh Y2hlcyBvciBleGNlZWRzIHRoaXMNCiAgICAgICB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZyBub3RpZmljYXRpb24gTUFZIGJlDQogICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVk IGJ5IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtUikuIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtUi8xMFBhc3NUUy1SKS4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2lu IFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuDQogICAgICAgdGhlIGxpbmsgaXMgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUNCiAgICAgICByZWplY3Rl ZCAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwNCiAg ICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZCBiaXRzIGluIHRo ZSAyQiBQTUQNCiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciINCiAgICAg UkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiDQogICAgIDo6PSB7IGVmbUN1 UG1lQ29uZkVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQog ICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBp bmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAg ICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu Z0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu ZyBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRl cmZhY2UuDQoNCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2Fi bGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lRGV2 aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lRGV2aWNl RmF1bHQgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZURldmljZUZhdWx0DQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9m IGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDggfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZh bHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVk IGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBl bmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5IH0N Cg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAg IHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUg b2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWVDb25mRW50cnkgMTAgfQ0KDQoNCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0 eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRp b24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFzcGVjdHMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgIHJlcHJl c2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlDQog ICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0KICAgICA6Oj0g eyBlZm1DdVBtZSAyIH0NCg0KICAgZWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkNCiAgICAgTUFYLUFDQ0VT UyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIDEgfQ0KDQogICBFZm1D dVBtZUNhcGFiaWxpdHlFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMNCiAgICAgfQ0KDQogICBlZm1DdVBtZVN1YlR5cGVz U3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBCSVRTIHsNCiAgICAgICBp ZWVlMkJhc2VUTE8oMCksDQogICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAgICAgIGllZWUxMFBh c3NUU08oMiksDQogICAgICAgaWVlZTEwUGFzc1RTUigzKQ0KICAgICB9DQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBzdXBwb3J0ZWQgc3ViLXR5cGVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBv c3NpYmxlDQogICAgICAgc3ViLXR5cGVzLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToN CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBh cyAyQmFzZVRMLU8NCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVINCiAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNz VFNSICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQYXNzVFMtUg0KDQogICAg ICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5DQogICAgICAg ZWZtQ3VQbWVBZG1pblN1YlR5cGUsIHdoaWxlIGVmbUN1UG1lT3BlclN1YlR5cGUgcmVmbGVjdHMg dGhlDQogICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAg ICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJBU0UtVEwgY2Fw YWJsZQ0KICAgICAgIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EIHNwZWVkIGFiaWxpdHkgcmVn aXN0ZXIgYW5kIHRoZQ0KICAgICAgIENPIHN1cHBvcnRlZCBhbmQgQ1BFIHN1cHBvcnRlZCBiaXRz IGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIHN0YXR1cyByZWdpc3RlciINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuNC4xLCA0NS4yLjEuNC4yLCA0 NS4yLjEuMTIuMiwNCiAgICAgICA0NS4yLjEuMTIuMyINCiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBh YmlsaXR5RW50cnkgMSB9DQoNCg0KICAgZWZtQ3VQbWVTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZVN0YXR1c0VudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGlu Zm9ybWF0aW9uIG9mIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cy4g U3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljDQogICAgICAgdG8gMTBQQVNTLVRTIFBNRSBpcyBy ZXByZXNlbnRlZCBpbiBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlLg0KDQogICAgICAgVGhpcyB0YWJs ZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAg IGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUgMyB9DQoNCiAgIGVm bUN1UG1lU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVT dGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBF Rk1DdSBQTUUgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21t b24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUNCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAg ICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxl ZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1Rh YmxlIDEgfQ0KDQogICBFZm1DdVBtZVN0YXR1c0VudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQog ICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1D dVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5 cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSAgICAgICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgIGVmbUN1UG1lU25yTWduICAgICAgICAg ICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuICAgICAgICAgICAgICAgSW50ZWdlcjMy LA0KICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAgICAgICAgIEludGVnZXIzMiwNCiAgICAg ICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1 UG1lVENDb2RpbmdFcnJvcnMgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZVRDQ3Jj RXJyb3JzICAgICAgICAgICBDb3VudGVyMzINCiAgICAgfQ0KDQogICBlZm1DdVBtZU9wZXJTdGF0 dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHVwKDEp LA0KICAgICAgIGRvd25Ob3RSZWFkeSgyKSwNCiAgICAgICBkb3duUmVhZHkoMyksDQogICAgICAg aW5pdCg0KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkN1cnJlbnQgUE1FIGxpbmsg T3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgdXAoMSkg ICAgICAgICAgIC0gbGluayBpcyBVcCBhbmQgcmVhZHkgdG8gcGFzcyA2NC82NUINCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuY29kZWQgZnJhbWVzIG9yIGZyYWdtZW50cy4NCiAgICAgICAg IGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2VzIG5vdCBkZXRl Y3QNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRzaGFrZSB0b25lcyBmcm9tIGl0cyBw ZWVyLiBUaGlzIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgaW5kaWNhdGUg YSBwb3NzaWJsZSBwcm9ibGVtIHdpdGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBw ZWVyIFBNRS4NCiAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9uZXMg ZnJvbSBpdHMgcGVlci4NCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5pdGlh bGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZBZG1p blN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQg dG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgaWZPcGVyU3RhdHVzLg0KDQogICAg ICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUN CiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlh bGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgIFBN QS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSAzMC4xMS4yLjEuMywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgIGRldmljZUZhdWx0KDMpLA0K ICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUo NSkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsg RmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mDQogICAgICAgcG9zc2libGUgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCiAgICAgICAgIGxvc3NPZkZy YW1pbmcgICAgICAgLSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvc3Mgb2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICBz bnJNZ25EZWZlY3QgICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hv bGQNCiAgICAgICAgIGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2Vl ZHMgdGhlIFRocmVzaG9sZA0KICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRl cyBhIHZlbmRvci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFn bm9zdGljIG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhhcyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24u DQogICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIC0gUHJvdG9jb2wgaW5pdGlhbGl6YXRpb24g ZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5jb21wYXRp YmxlIHByb3RvY29sIHVzZWQgYnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUg UGVlciBQTUUgZHVyaW5nIGluaXQgKHRoYXQgY291bGQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoYXBwZW4gaWYgYSBwZWVyIFBNRCBpcyBhIHJlZ3VsYXINCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHLlNESFNML1ZEU0wgbW9kZW0gaW5zdGVhZCBvZiBhDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuDQoNCiAgICAg ICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJ Ri1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUg bGFzdCBmYXVsdC4NCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyBpcyBjbGVhcmVkIGJ5IHRoZSBk ZXZpY2UgcmVzdGFydC4NCiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJ bml0RmFpbHVyZSBhbmQNCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVkIGJ5 IFBNRSBpbml0Lg0KICAgICAgIGRldmljZUZhdWx0IGlzIGNsZWFyZWQgYnkgc3VjY2Vzc2Z1bCBk aWFnbm9zdGljcy90ZXN0Lg0KICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBh cmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luDQogICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24gcmVz cGVjdGl2ZWx5IHJldHVybmluZyB0byBub3JtIGFuZCBieQ0KICAgICAgIFBNRSBpbml0Lg0KDQog ICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1 dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29u c29saWRhdGVzIGluZm9ybWF0aW9uIGZyb20gdmFyaW91cyBQTUEvUE1EDQogICAgICAgcmVnaXN0 ZXJzLCBuYW1lbHk6IEZhdWx0IGJpdCBpbiBQTUEvUE1EIHN0YXR1cyAxIHJlZ2lzdGVyLA0KICAg ICAgIDEwUC8yQiBQTUEvUE1EIGxpbmsgbG9zcyByZWdpc3RlciwNCiAgICAgICAxMFAgb3V0Z29p bmcgaW5kaWNhdG9yIGJpdHMgc3RhdHVzIHJlZ2lzdGVyLA0KICAgICAgIDEwUCBpbmNvbWluZyBp bmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgMkIgc3RhdGUgZGVmZWN0cyBy ZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjMs IDQ1LjIuMS4yLjEsIDQ1LjIuMS4zOCwNCiAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCINCiAg ICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJC YXNlVExPKDEpLA0KICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNP KDMpLA0KICAgICAgIGllZWUxMFBhc3NUU1IoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9z c2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg b3BlcmF0ZXMgYXMgMkJhc2VUTC1PDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0g UE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNzVFNSICAg ICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLVINCg0KICAgICAgIFRoZSBvcGVyYXRp b25hbCBzdWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBjb25maWd1cmVkIHZpYQ0KICAgICAgIGVm bUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMg b2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QNCiAgICAg ICBiaXRzLCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkINCiAg ICAgICBQTUEvUE1EIGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHRoZSBQTUEvUE1EIGxpbmsgc3RhdHVz IGJpdHMgaW4NCiAgICAgICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAg ICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4x LjExLjcsIDQ1LjIuMS4xMi40Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQ0K DQogICBlZm1DdVBtZU9wZXJQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBF Zm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIGN1cnJlbnQg b3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bw0KICAgICAgIGFu IGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudA0KICAgICAgIG9wZXJh dGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZS4NCiAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5LCB0byB3aGljaCBl Zm1DdVBtZU9wZXJQcm9maWxlIGlzDQogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQNCiAgICAgICBwYXJhbWV0ZXJzIGlu IGFkYXB0aXZlIChub3QgZml4ZWQpIGluaXRpYWxpemF0aW9uLA0KICAgICAgIGkuZS4gdmFsdWVz IG9mIGVmbUN1UG1lT3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVy byBpbmRpY2F0ZXMgdGhhdCBQTUUgaXMgZG93biBvciBpbml0aWFsaXppbmcuDQoNCiAgICAgICBU aGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgYU9wZXJhdGluZ1Byb2ZpbGUNCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIu M2FoXSAzMC4xMS4yLjEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0NCg0K ICAgZWZtQ3VQbWVTbnJNZ24gT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMy KC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGUgY3VycmVudCBTaWduYWwtdG8tTm9pc2UgUmF0aW8gKFNOUikgbWFyZ2luIHdp dGggcmVzcGVjdA0KICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5 IHRoZSBsb2NhbCBQTUUuDQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdo ZW4gUE1FIGlzIGRvd24gb3INCiAgICAgICBpbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4gcmVnaXN0ZXIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS40LCA0NS4yLjEu MTYiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lUGVl clNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4 fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo ZSBjdXJyZW50IFNOUiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0K ICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikg UE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBk b3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgb2YgNjU1 MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAgICAgIHJlZ2lz dGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciDQogICAg IDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAg IFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGlu ZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgUE1F Lg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3du IG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJ bnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNDUuMi4xLjE4Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDcgfQ0KDQog ICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIHJlbW90ZQ0KICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAgICBUaGUg dmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAgIGlu aXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRoZSAt UiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQ0KICAgICAgIG9mIDY1NTM1IFNIQUxMIGJlIHJldHVy bmVkIGluIHRoaXMgY2FzZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIg bGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24NCiAgICAgICByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5Mnw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVzdGltYXRlIG9mIHRoZSBl cXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4NCiAgICAgICBtZXRlcnMsIGFzIHBl cmNlaXZlZCBieSB0aGUgUE1FIGFmdGVyIHRoZSBsaW5rIGlzIGVzdGFibGlzaGVkLg0KICAgICAg IEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Ag d2l0aCBhDQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkNCiAgICAgICBicmlkZ2VkIHRhcHMuDQogICAgICAgVGhlIHZhbHVl IG9mIDY1NTM1IGlzIHJldHVybmVkIGlmIHRoZSBsaW5rIGlzIERvd24gb3INCiAgICAgICBJbml0 aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQN CiAgICAgICBMZW5ndGguDQoNCiAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0 ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3Jz IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIG51bWJlciBvZiA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzDQogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5j YXBzdWxhdGlvbiBlcnJvciBkZXRlY3RlZA0KICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNl aXZlIGZ1bmN0aW9uLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9s YXRpb25zIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0KICAg ICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVy DQogICAgICAgKHNlZSA0NS4yLjYuMTIpLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRo ZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6 YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAg ICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1l LA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4zLjMuMSwgMzAuMTEuMi4xLjUsIDQ1LjIuNi4xMiINCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSAxMCB9DQoNCiAgIGVmbUN1UG1lVENDcmNFcnJvcnMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg bnVtYmVyIG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1lbnRlZCBmb3IN CiAgICAgICBlYWNoIFRDLUNSQyBlcnJvciBkZXRlY3RlZCBieSB0aGUgNjQvNjUtb2N0ZXQgcmVj ZWl2ZSBmdW5jdGlvbg0KICAgICAgIChzZWUgNjEuMy4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuDQoN CiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFUQ0NSQ0Vycm9ycyBhdHRyaWJ1dGUgaW4NCiAg ICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENNRSBUQyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgVEMgQ1JDIGVycm9yIHJlZ2lzdGVyDQogICAgICAgKHNlZSA0NS4yLjYuMTEpLg0KDQog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9m IGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4zLjMuMywgMzAuMTEuMi4xLjEw LCA0NS4yLjYuMTEiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTEgfQ0KDQogIC0t IDJCQVNFLVRMIHNwZWNpZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBtZTJCICAgICAgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9y dHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgb3BlcmF0aW5nIFBy b2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhp cyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4 MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0r LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRl IFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBz KSAgKGRCbSkNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAx My41ICAgIDEgICAzMi1UQ1BBTQ0KICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41 ICAgIDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAg IDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQ0KICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAx Ni1UQ1BBTQ0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1U Q1BBTQ0KICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BB TQ0KICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAg ICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAg ICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAg MTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQp DQogICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMiAgIDAgICAgICAgIChi ZXN0IGVmZm9ydCkNCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVh dGVkIGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBk ZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUg ZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3Rv bSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0 b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIEFubmV4IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1l MkIgIDIgfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBwcm9m aWxlLg0KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1 c2VkIGVpdGhlciBmb3INCiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9m IGEgMkJBU0UtVEwgUE1FLg0KICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMg cmVmZXJlbmNlZCB2aWENCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVm bUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyks IGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAgICAgIHBhcmFtZXRlcnMgdGhlIDJCYXNlVEwt TyBQTUUgaW5pdGlhbGl6YXRpb24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQg dmlhIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3Vy cmVudCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0aGUNCiAgICAgICBvcGVyYXRpb25hbCBQTUUu DQoNCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cg Y3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmls ZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhl IGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxsIHJlZmVyZW5jZXMg YXJlIHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQu Ig0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDo6PQ0K ICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAg RWZtUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgICAgICAgICAg IFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAgIEVmbVBy b2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAgICAgICAg ICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRFR0VSLA0K ICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICB9 DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwg UE1FIFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRl eCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0 YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBlZm1D dVBtZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRl eHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQog ICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBk YXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1 bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0KDQog ICBlZm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFz IHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45 OTEuMl0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBE ZW5zaXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVzIGFu ZCBwbGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUs IHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KDQogICAgICAgUG9zc2libGUgdmFsdWVzIGZvciB0 aGlzIG9iamVjdCBhcmU6DQogICAgICAgICByZWdpb24xICAgICAgLSBBbm5leGVzIEEgYW5kIEYg KGUuZy4gTm9ydGggQW1lcmljYSkNCiAgICAgICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBh bmQgRyAoZS5nLiBFdXJvcGUpDQoNCiAgICAgICBBbm5leCBBL0Igc3BlY2lmeSByZWdpb25hbCBz ZXR0aW5ncyBmb3IgZGF0YSByYXRlcyAxOTItMjMwNA0KICAgICAgIEticHMgdXNpbmcgMTYtVENQ QU0gZW5jb2RpbmcuDQogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3Mg Zm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzDQogICAgICAgdXNpbmcgMTYtVENQQU0gZW5jb2Rpbmcg YW5kIDc2OC01Njk2IEticHMgdXNpbmcgMzItVENQQU0NCiAgICAgICBlbmNvZGluZy4NCg0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwg dGhlbiB0aGlzDQogICAgICAgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBSZWdpb24gYml0 cyBpbiB0aGUgMkIgZ2VuZXJhbA0KICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQyOyBbRy45OTEuMl0gQW5uZXhlcyBB LCBCLCBGIGFuZCBHIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDMgfQ0KDQog ICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgY3VzdG9tIFNw ZWN0cmFsIE1vZGUgZm9yIDJCQVNFLVRMIFBNRS4gVGhpcyBvYmplY3QNCiAgICAgICBpcyBhIHBv aW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgYW5kIGEgYmxvY2sNCiAg ICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hpY2ggdG9nZXRo ZXIgZGVmaW5lDQogICAgICAgKGNvdW50cnktc3BlY2lmaWMpIHJlYWNoIGRlcGVuZGVudCByYXRl IGxpbWl0YXRpb25zIGluDQogICAgICAgYWRkaXRpb24gdG8gdGhvc2UgZGVmaW5lZCBieSBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBp bmRleCBvZiB0aGUgcmVmZXJlbmNlZA0KICAgICAgIHNwZWN0cmFsIG1vZGUuDQogICAgICAgVGhl IHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNpZmljDQogICAg ICAgc3BlY3RyYWwgbW9kZSBpcyBhcHBsaWNhYmxlLg0KDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0 IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2Yg dGhlIGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgc3BlY3Ry YWwNCiAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUi DQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQ0KDQogICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg VW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0K ICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBj b25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBl cXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgSWYgZWZtQ3VQbWUy Qk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgaW4NCiAgICAg ICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBpcyBjb25zaWRlcmVk DQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRh aW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgbGltaXRhdGlvbnMgcGxhY2VkIGJ5IHRoZSBlZm1D dVBtZTJCUmVnaW9uIGFuZA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIE5vdGUg dGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAg cmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmplY3Qgb2YgSUYtTUlCLg0KDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIg UE1EDQogICAgICAgcGFyYW1ldGVycyByZWdpc3Rlci4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFT RS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQp S2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgVGhlIGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0Ut VEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVuDQogICAgICAgdGhlIHZhbHVlIG9mIHRo aXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZS4NCiAgICAgICBJ ZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZSBpbg0KICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlLCB0aGUgZGF0YSByYXRlIGlz IGNvbnNpZGVyZWQNCiAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBt YXhpbXVtIGF0dGFpbmFibGUgcmF0ZQ0KICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1h eERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwNCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQg YnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlLg0KDQog ICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUg aXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNYXggRGF0YSBSYXRlMSBiaXRz IGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLg0KDQogICAgICAgVGhp cyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyINCiAgICAgOjo9IHsgZWZt Q3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWUyQlBvd2VyICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTAuLjQyKQ0KICAgICBVTklUUyAgICAg ICAiMC41IGRCbSINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJTaWduYWwgVHJhbnNtaXQgUG93 ZXIuIE11bHRpcGxlIG9mIDAuNWRCbS4NCiAgICAgICBUaGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRt aW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0IHRoZQ0KICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bw0KICAgICAgIG1heGltaXpl IHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCBsaW1pdGF0aW9ucw0KICAg ICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLg0K DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVz ZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4g dGhlIDJCIFBNRCBwYXJhbWV0ZXJzDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNw YW0xNigxKSwNCiAgICAgICB0Y3BhbTMyKDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUQ1BBTSBDb25zdGVsbGF0aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhl IHBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAx Ni0gb3IgMzItVENQQU0NCiAgICAgICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAg ICAgIHRjcGFtMzIoMikgICAgIC0gMzItVENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFw dGl2ZSgwKSBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQg dGhlIGNvbnN0ZWxsYXRpb24gaXMgbm90IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAg ICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRh dGlvbnMNCiAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0 ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0 ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxl Um93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmlj YXRpb24gb3IgZGVsZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIHBlciB0aGUNCiAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVz Lg0KDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VB ZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1V U1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbA0KICAgICAgIHJlZmVyZW5jZXMgYXJlIHJlbW92 ZWQuDQoNCiAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFr ZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90 SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICBhZ2Fpbi4iDQog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9DQoNCg0KICAgZWZtQ3VQbWUyQnNN b2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQ bWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCB0 b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwgc3VwcG9ydHMNCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3INCiAgICAg ICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFsIGxpbWl0YXRpb25zIGluIGFkZGl0 aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAg ICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBs aW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0 ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1p dGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg cmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgTVVTVCBOT1QgYmUgZGVs ZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgIHJlbW92ZWQu DQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBk ZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgIHdoaWNoIGlzIHVzZWQgdG8gcmVmZXJl bmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICBlZm1DdTJCUmVhY2hSYXRl VGFibGUuDQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhl IHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMkJz TW9kZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUyQnNNb2RlRW50 cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAg ICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAg ICAgICAgICAgU25tcEFkbWluU3RyaW5nLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1 cyAgICAgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg IFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3Bl Y3RyYWwNCiAgICAgICBtb2RlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVm ZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgb2JqZWN0LiINCiAgICAgOjo9IHsg ZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZURlc2NyIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAy QkFTRS1UTCBQTUUNCiAgICAgICBzcGVjdHJhbCBtb2RlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRl IGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgY29ycmVzcG9uZGluZyAoY291bnRyeS1zcGVjaWZp Yykgc3BlY3RyYWwgcmVndWxhdGlvbnMNCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iDQogICAgIDo6PSB7IGVmbUN1UG1l MkJzTW9kZUVudHJ5IDIgfQ0KDQogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBv Zg0KICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBl ciB0aGUgc2VtYW50aWNzDQogICAgICAgb2YgUm93U3RhdHVzLg0KDQogICAgICAgSWYgYW4gJ2Fj dGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUNCiAgICAg ICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVt b3ZlZC4NCg0KICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4g SW4gb3JkZXIgdG8gbW9kaWZ5IGFuDQogICAgICAgZXhpc3RpbmcgZW50cnkgaXQgTVVTVCBiZSB0 YWtlbiBvdXQgb2Ygc2VydmljZSAoYnkgc2V0dGluZw0KICAgICAgIHRoaXMgb2JqZWN0IHRvICdu b3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJw0KICAgICAgIGFnYWluLiIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMyB9DQoNCg0KICAgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lMkJSZWFjaFJhdGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg dGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20NCiAgICAg ICBzcGVjdHJhbCBtb2RlcyBmb3IgMkJBU0UtVEwgUE1FcywgcHJvdmlkaW5nIHNwZWN0cmFsDQog ICAgICAgbGltaXRhdGlvbnMgaW4gYWRkaXRpb24gdG8gdGhvc2Ugc3BlY2lmaWVkIGJ5DQogICAg ICAgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgIFRoZSBzcGVjdHJhbCByZWd1bGF0aW9ucyBp biBzb21lIGNvdW50cmllcyAoZS5nLiBVSyBBTkZQKQ0KICAgICAgIGxpbWl0IHRoZSBsZW5ndGgg b2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuDQogICAgICAgVGhpcyB0YWJsZSBh bGxvd3MgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZQ0KICAgICAgIHNw ZWNpZmllZC4NCg0KICAgICAgIEJlbG93IGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB0YWJsZSBmb3Ig W0FORlBdOg0KICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgIEVxdWl2 YWxlbnQgTWF4UmF0ZSBNYXhSYXRlDQogICAgICAgICBMZW5ndGggICAgUEFNMTYgICBQQU0zMg0K ICAgICAgICAgICAobSkgICAgIChLYnBzKSAgKEticHMpDQogICAgICAgLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tLS0rDQogICAgICAgICAgIDk3NSAgICAgIDIzMDQgICAgNTY5Ng0KICAgICAgICAg IDExMjUgICAgICAyMzA0ICAgIDU1MDQNCiAgICAgICAgICAxMjc1ICAgICAgMjMwNCAgICA1MTIw DQogICAgICAgICAgMTM1MCAgICAgIDIzMDQgICAgNDg2NA0KICAgICAgICAgIDE0MjUgICAgICAy MzA0ICAgIDQ1NDQNCiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0Mjg4DQogICAgICAgICAg MTU3NSAgICAgIDIzMDQgICAgMzk2OA0KICAgICAgICAgIDE2NTAgICAgICAyMzA0ICAgIDM3NzYN CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwDQogICAgICAgICAgMTgwMCAgICAgIDIz MDQgICAgMzI2NA0KICAgICAgICAgIDE4NzUgICAgICAyMzA0ICAgIDMwNzINCiAgICAgICAgICAx OTUwICAgICAgMjA0OCAgICAyNjg4DQogICAgICAgICAgMjEwMCAgICAgIDE3OTIgICAgMjM2OA0K ICAgICAgICAgIDIyNTAgICAgICAxNTM2ICAgICAgIDANCiAgICAgICAgICAyNDAwICAgICAgMTQw OCAgICAgICAwDQogICAgICAgICAgMjU1MCAgICAgIDEyODAgICAgICAgMA0KICAgICAgICAgIDI3 NzUgICAgICAxMTUyICAgICAgIDANCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAwDQog ICAgICAgICAgMzE1MCAgICAgIDEwODggICAgICAgMA0KICAgICAgICAgIDMzNzUgICAgICAxMDI0 ICAgICAgIDANCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsNCg0KICAgICAgIEVu dHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRoZSBlZm1DdVBtZTJCc01vZGUNCiAg ICAgICBNVVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMg YXJlDQogICAgICAgcmVtb3ZlZC4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiW0FO RlBdIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJSZWFjaFJhdGVF bnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1h eGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0ZXMNCiAgICAgICBhbGxvd2VkIGZvciBhIGNlcnRh aW4gZXF1aXZhbGVudCBsb29wIGxlbmd0aCwgd2hlbiB1c2luZw0KICAgICAgIDE2LVRDUEFNIG9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlh bGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAgICAgICBleGNlZWQgb25lIG9mIHRoZSBm b2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1h eERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1l MkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJCUG93ZXINCiAgICAgICAtIG1heGltdW0g ZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICAg IGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxv b3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRoZSBQTUUuDQoNCiAgICAgICBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCB2YWx1ZXMN CiAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZy b20gdGhlDQogICAgICAgbWluaW11bSB2YWx1ZS4NCg0KICAgICAgIEVudHJpZXMgbWF5IGJlIGNy ZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUyUmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgSU5ERVggeyBl Zm1DdVBtZTJCc01vZGVJbmRleCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgOjo9 IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5k ZXggICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRM ZW5ndGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICAg ICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyAgICAg Um93U3RhdHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVjdHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUg aW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVk IHdpdGggZWFjaCBlbnJ5LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEg fQ0KDQogICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5 c2ljYWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdHICgw LjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVudWF0aW9u IGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgIGJyaWRnZWQgdGFwcy4iDQogICAg IDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUyQk1heERh dGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwx OTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIk1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0K ICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0xNiBlbmNvZGluZy4N CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTE2IGVuY29kaW5nIHNo b3VsZCBub3QgYmUNCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICA6Oj0geyBl Zm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBh bTMyICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2 KQ0KICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhp bXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBF cXVpdmFsZW50IGxvb3AncyBMZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2RpbmcuDQogICAgICAg VGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0zMiBlbmNvZGluZyBzaG91bGQgbm90 IGJlDQogICAgICAgdXNlZCBhdCB0aGlzIGRpc3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVs ZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hS YXRlVGFibGUgcGVyIHRoZQ0KICAgICAgIHNlbWFudGljcyBvZiBSb3dTdGF0dXMuDQoNCiAgICAg ICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUs IHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVu Y2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICBleGlzdGluZyBlbnRyeSBp dCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgdGhpcyBv YmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAg ICAgYWdhaW4uIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9DQoNCg0K ICAtLSAxMFBBU1MtVFMgc3BlY2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMTBQICAgICAg T0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9DQoNCiAgIGVmbUN1UG1lMTBQUHJv ZmlsZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25maWd1cmF0aW9uIHByb2ZpbGVzIGZvcg0KICAg ICAgIDEwUGFzc1RMIFBNRXMuDQogICAgICAgRmlyc3QgMjIgZW50cmllcyBpbiB0aGlzIHRhYmxl IFNIQUxMIGFsd2F5cyBiZSBkZWZpbmVkIGFzDQogICAgICAgZm9sbG93cyAoc2VlIDgwMi4zYWgg QW5uZXggNjJCLjMpOg0KICAgICAgIC0tLS0tLS0rLS0tLS0tLS0rLS0tLSstLS0tLS0tLS0rLS0t LS0rLS0tLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBCYW5kcGxhbiBVUEJPIEJhbmROb3RjaCBE UmF0ZSBVUmF0ZQ0KICAgICAgICBJbmRleCAgUFNETWFzayMgIHAjICAgIHAjICAgICAgICBwIyAg ICBwIw0KICAgICAgIC0tLS0tLS0rLS0tLS0tLS0rLS0tLSstLS0tLS0tLS0rLS0tLS0rLS0tLS0t LS0tLS0tDQogICAgICAgICAgMSAgICAgIDEgICAgICAzICAgIDIsNiwxMCwxMSAgICAyMCAgICAy MChkZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDEzICAgICAgNSAgICAwICAgICAgICAgICAgMjAg ICAgMjANCiAgICAgICAgICAzICAgICAgMSAgICAgIDEgICAgMCAgICAgICAgICAgIDIwICAgIDIw DQogICAgICAgICAgNCAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgIDEwMCAgIDEwMA0KICAg ICAgICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAgICAgNTANCiAgICAgICAg ICA2ICAgICAgNiAgICAgIDAgICAgMCAgICAgICAgICAgIDUwICAgIDEwDQogICAgICAgICAgNyAg ICAgMTcgICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAzMA0KICAgICAgICAgIDggICAgICA4 ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgIDUNCiAgICAgICAgICA5ICAgICAgNCAgICAg IDAgICAgMCAgICAgICAgICAgIDI1ICAgIDI1DQogICAgICAgICAxMCAgICAgIDQgICAgICAwICAg IDAgICAgICAgICAgICAxNSAgICAxNQ0KICAgICAgICAgMTEgICAgIDIzICAgICAgMCAgICAwICAg ICAgICAgICAgMTAgICAgMTANCiAgICAgICAgIDEyICAgICAyMyAgICAgIDAgICAgMCAgICAgICAg ICAgICA1ICAgICA1DQogICAgICAgICAxMyAgICAgMTYgICAgICAwICAgIDIsNSw5LDExICAgIDEw MCAgIDEwMA0KICAgICAgICAgMTQgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAgNzAgICAg NTANCiAgICAgICAgIDE1ICAgICAgNiAgICAgIDAgICAgMiw2LDEwLDExICAgIDUwICAgIDEwDQog ICAgICAgICAxNiAgICAgMTcgICAgICAwICAgIDIsNSw5LDExICAgICAzMCAgICAzMA0KICAgICAg ICAgMTcgICAgICA4ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUNCiAgICAgICAgIDE4 ICAgICAgNCAgICAgIDAgICAgMiw2LDEwLDExICAgIDI1ICAgIDI1DQogICAgICAgICAxOSAgICAg IDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAxNSAgICAxNQ0KICAgICAgICAgMjAgICAgIDIzICAg ICAgMCAgICAyLDUsOSwxMSAgICAgMTAgICAgMTANCiAgICAgICAgIDIxICAgICAyMyAgICAgIDAg ICAgMiw1LDksMTEgICAgICA1ICAgICA1DQogICAgICAgICAyMiAgICAgMzAgICAgICAwICAgIDAg ICAgICAgICAgIDIwMCAgICA1MA0KDQogICAgICAgVGhlc2UgZGVmYXVsdCBlbnRyaWVzIFNIQUxM IGJlIGNyZWF0ZWQgYnkgZHVyaW5nIGFnZW50DQogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1V U1QgTk9UIGJlIGRlbGV0ZWQuDQoNCiAgICAgICBFbnRyaWVzIGZvbGxvd2luZyB0aGUgZmlyc3Qg MjIsIGNhbiBiZSBkeW5hbWljYWxseSBjcmVhdGVkIGFuZA0KICAgICAgIGRlbGV0ZWQsIHRvIHBy b3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0aXZlIChjb25maWd1cmF0aW9uKQ0KICAgICAgIHByb2Zp bGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0aW5nIHByb2ZpbGVzLg0KDQogICAgICAgVGhpcyB0YWJs ZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVS RU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJCLjMsIDMwLjExLjIuMS42Ig0KICAgICA6 Oj0geyBlZm1DdVBtZTEwUCAgMSB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNwb25kcyB0byBhIHNpbmdsZSAx MFBBU1MtVFMgUE1FDQogICAgICAgcHJvZmlsZS4NCiAgICAgICBFYWNoIHByb2ZpbGUgY29udGFp bnMgYSBzZXQgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yDQogICAgICAgY29uZmlndXJh dGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDEwUEFTUy1UUyBQTUUuDQogICAgICAgSW4gY2Fz ZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYQ0KICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYNCiAgICAgICBlZm1D dVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBkZXNpcmVkDQogICAg ICAgcGFyYW1ldGVycyB0aGUgMTBQYXNzVFMtTyBQTUUgaW5pdGlhbGl6YXRpb24uDQogICAgICAg SWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0 aGUgUE1FLg0KDQogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0 aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUx MFBQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVy ZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJw0KICAgICAgIHVudGlsIGFsbCBy ZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KICAgICAgIERlZmF1bHQgZW50cmllcyBNVVNUIE5PVCBi ZSByZW1vdmVkLiINCiAgICAgSU5ERVggeyBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCB9DQogICAg IDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTEwUFByb2Zp bGVFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUlu ZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxl RGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTEwUEJhbmRw bGFuUFNETXNrUHJvZmlsZSAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVu Y2VQcm9maWxlICAgSU5URUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVz ICAgICAgQklUUywNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgICAgSU5U RUdFUiwNCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgICAgICAgUm93U3RhdHVzDQogICAg IH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFY ICAgICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNT LVRTIFBNRSBQcm9maWxlIEluZGV4Lg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUg aW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4NCiAgICAgICBFbnRyaWVzIGluIHRo aXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRy eSAxIH0NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB0ZXh0 dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IDEwUEFTUy1UUyBQTUUNCiAg ICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRh dGEgcmF0ZQ0KICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3Vs YXIgcHJvZmlsZS4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDIgfQ0KDQog ICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICBwcm9maWxlMigyKSwN CiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICBwcm9maWxl NSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBwcm9maWxlNyg3KSwNCiAgICAgICBw cm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KSwNCiAgICAgICBwcm9maWxlMTAoMTApLA0K ICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgcHJvZmlsZTEyKDEyKSwNCiAgICAgICBwcm9m aWxlMTMoMTMpLA0KICAgICAgIHByb2ZpbGUxNCgxNCksDQogICAgICAgcHJvZmlsZTE1KDE1KSwN CiAgICAgICBwcm9maWxlMTYoMTYpLA0KICAgICAgIHByb2ZpbGUxNygxNyksDQogICAgICAgcHJv ZmlsZTE4KDE4KSwNCiAgICAgICBwcm9maWxlMTkoMTkpLA0KICAgICAgIHByb2ZpbGUyMCgyMCks DQogICAgICAgcHJvZmlsZTIxKDIxKSwNCiAgICAgICBwcm9maWxlMjIoMjIpLA0KICAgICAgIHBy b2ZpbGUyMygyMyksDQogICAgICAgcHJvZmlsZTI0KDI0KSwNCiAgICAgICBwcm9maWxlMjUoMjUp LA0KICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgcHJvZmlsZTI3KDI3KSwNCiAgICAgICBw cm9maWxlMjgoMjgpLA0KICAgICAgIHByb2ZpbGUyOSgyOSkNCiAgICAgfQ0KICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgQmFuZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUs DQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1 ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0tLS0NCiAgICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAg ICAgICAgICAgICAgICBCYW5kcyAgICAgQmFuZHBsYW4NCiAgICAgICAtLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgcHJv ZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEENCiAgICAg ICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2ZpbGUz KDMpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGU0KDQpICAgLSBU MS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUg UDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICBwcm9maWxlNig2KSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2ZpbGU3KDcpICAgLSBUMS40MjQvVC1VIFAxIEZUVENh Yi5NMg0KICAgICAgIHByb2ZpbGU4KDgpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAg ICAgcHJvZmlsZTkoOSkgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICBVL0QvVS9EL3gNCiAg ICAgICBwcm9maWxlMTAoMTApIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgIHByb2Zp bGUxMSgxMSkgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgIHByb2ZpbGUxMigxMikg LSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgcHJvZmlsZTEzKDEzKSAtIFRTMSAxMDEg MjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1UgIEINCiAgICAgICBwcm9maWxlMTQoMTQpIC0gVFMx IDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxlMTUoMTUpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMTYoMTYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIu TTENCiAgICAgICBwcm9maWxlMTcoMTcpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yDQogICAgICAg cHJvZmlsZTE4KDE4KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0yDQogICAgICAgcHJvZmlsZTE5 KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAgICAgcHJvZmlsZTIwKDIwKSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5BICBVL0QvVS9EL3gNCiAgICAgICBwcm9maWxlMjEoMjEpIC0g VFMxIDEwMSAyNzAtMSBQY2FiLk0xLkINCiAgICAgICBwcm9maWxlMjIoMjIpIC0gVFMxIDEwMSAy NzAtMSBQZXguUDEuTTENCiAgICAgICBwcm9maWxlMjMoMjMpIC0gVFMxIDEwMSAyNzAtMSBQZXgu UDIuTTENCiAgICAgICBwcm9maWxlMjQoMjQpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0yDQogICAg ICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0yDQogICAgICAgcHJvZmls ZTI2KDI2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yDQogICAgICAgcHJvZmlsZTI3KDI3KSAt IEcuOTkzLjEgRi4xLjIuMSAoVkRTTG9QT1RTKSB4L0QvVS9EL1UgIEYNCiAgICAgICBwcm9maWxl MjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1JU0ROKQ0KICAgICAgIHByb2ZpbGUy OSgyOSkgLSBHLjk5My4xIEYuMS4yLjMgKFBTRCByZWR1Y3Rpb24pDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAg ICBpbiBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4 IDYyQSwgMzAuNS4xLjEuMjIiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDMg fQ0KDQogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGUxKDEpLA0KICAgICAgIHByb2ZpbGUy KDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHByb2ZpbGU0KDQpLA0KICAgICAgIHBy b2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAgICAgIHByb2ZpbGU3KDcpLA0KICAg ICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkpDQogICAgIH0NCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBvd2VyIEJhY2stT2ZmIChVUEJP KSBSZWZlcmVuY2UgUFNEDQogICAgICAgUHJvZmlsZSwgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWgg QW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMNCiAgICAgICBhcmU6DQogICAgICAgICBwcm9maWxl MSgxKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTENCiAgICAgICAgIHByb2ZpbGUy KDIpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMg0KICAgICAgICAgcHJvZmlsZTMo MykgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0xDQogICAgICAgICBwcm9maWxlNCg0 KSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTINCiAgICAgICAgIHByb2ZpbGU1KDUp ICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZhbXA7Qg0KICAgICAgICAgcHJvZmlsZTYo NikgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBDDQogICAgICAgICBwcm9maWxlNyg3KSAg IC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQNCiAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBF VFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRQ0KICAgICAgICAgcHJvZmlsZTkoOSkgICAtIEVUU0kg VFMgMTAxIDI3MC0xICBOb2lzZSBGDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBh VVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgaW4gQ2xhdXNlIDMwLiINCiAg ICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy40LCAzMC41LjEuMS4y MyINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNCB9DQoNCiAgIGVmbUN1UG1l MTBQQmFuZE5vdGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgQklUUyB7DQog ICAgICAgcHJvZmlsZTAoMCksDQogICAgICAgcHJvZmlsZTEoMSksDQogICAgICAgcHJvZmlsZTIo MiksDQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQoNCksDQogICAgICAgcHJv ZmlsZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJvZmlsZTcoNyksDQogICAg ICAgcHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAgICAgcHJvZmlsZTEwKDEw KSwNCiAgICAgICBwcm9maWxlMTEoMTEpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1j cmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICIxMFBBU1MtVFMgUE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2ggUHJvZmlsZSBiaXRtYXAs DQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1 ZXMgYXJlOg0KICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLSstLS0tLQ0KICAgICAgIFByb2ZpbGUgTmFtZSAgICBHLjk5MS4zICBUMS40 MjQvVC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGDQogICAgICAgICAgICAgICAgICAgICAgIFRh YmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHopDQogICAgICAgLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tDQog ICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUNCiAgICAgICBwcm9maWxlMSgxKSAgIC0g Ri01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44MjUNCiAgICAgICBwcm9m aWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAxLjgxMCAgMi4wMDAN CiAgICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAgICAtICAgICAgICAgICAx LjkwNyAgMS45MTINCiAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01ICMwMyAgLSAgICAgICAgICAt ICAgICAgICAgICAzLjUwMCAgMy41NzUNCiAgICAgICBwcm9maWxlNSg1KSAgIC0gNi0yICAgICAg LSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDANCiAgICAgICBwcm9maWxlNig2KSAg IC0gLSAgICAgICAgMTUtMSAgICAgICAtICAgICAgICAgICAzLjUwMCAgNC4wMDANCiAgICAgICBw cm9maWxlNyg3KSAgIC0gRi01ICMwNCAgLSAgICAgICAgICAtICAgICAgICAgICAzLjc0NyAgMy43 NTQNCiAgICAgICBwcm9maWxlOCg4KSAgIC0gRi01ICMwNSAgLSAgICAgICAgICAtICAgICAgICAg ICAzLjc5MSAgMy44MDUNCiAgICAgICBwcm9maWxlOSg5KSAgIC0gNi0yICAgICAgLSAgICAgICAg ICAxNyAgICAgICAgICA3LjAwMCAgNy4xMDANCiAgICAgICBwcm9maWxlMTAoMTApIC0gRi01ICMw NiAgMTUtMSAgICAgICAtICAgICAgICAgICA3LjAwMCAgNy4zMDANCiAgICAgICBwcm9maWxlMTEo MTEpIC0gNi0yICAgICAgMTUtMSAgICAgICAxICAgICAgICAgICAxMC4xMDAgMTAuMTUwDQoNCiAg ICAgICBBbnkgY29tYmluYXRpb24gb2YgcHJvZmlsZXMgY2FuIGJlIHNwZWNpZmllZCBieSBPUmlu Zw0KICAgICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVlIG9mIDB4MDYy MiBzZWxlY3RzDQogICAgICAgcHJvZmlsZXMgMiw2LDEwIGFuZCAxMS4NCg0KICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kTm90Y2hQcm9maWxlIGF0dHJpYnV0ZQ0KICAgICAgIGlu IENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJB LjMuNSwgMzAuNS4xLjEuMTkiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDUg fQ0KDQogICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2Zp bGUxMCgxMCksDQogICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMjAoMjApLA0K ICAgICAgIHByb2ZpbGUyNSgyNSksDQogICAgICAgcHJvZmlsZTMwKDMwKSwNCiAgICAgICBwcm9m aWxlNTAoNTApLA0KICAgICAgIHByb2ZpbGU3MCg3MCksDQogICAgICAgcHJvZmlsZTEwMCgxMDAp DQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFt IFBheWxvYWQgUmF0ZSBQcm9maWxlLA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFu bmV4IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgIHByb2ZpbGU1KDUpICAgICAg IC0gMi41IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAgIC0gNSBNYnBzDQogICAgICAg ICBwcm9maWxlMTUoMTUpICAgICAtIDcuNSBNYnBzDQogICAgICAgICBwcm9maWxlMjAoMjApICAg ICAtIDEwIE1icHMNCiAgICAgICAgIHByb2ZpbGUyNSgyNSkgICAgIC0gMTIuNSBNYnBzDQogICAg ICAgICBwcm9maWxlMzAoMzApICAgICAtIDE1IE1icHMNCiAgICAgICAgIHByb2ZpbGU1MCg1MCkg ICAgIC0gMjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAgLSAzNSBNYnBzDQogICAg ICAgICBwcm9maWxlMTAwKDEwMCkgICAtIDUwIE1icHMNCg0KICAgICAgIEVhY2ggdmFsdWUgcmVw cmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIFVwc3RyZWFtIFBheWxvYWQNCiAgICAgICBC aXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBheWxvYWQgcmF0ZSBvZiB0aGUNCiAg ICAgICBzZWxlY3RlZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9v cA0KICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQTUUgaW5p dGlhbGl6YXRpb24NCiAgICAgICBTSEFMTCBmYWlsLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFw cyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3RyZWFtDQogICAgICAgYXR0cmlidXRlIGlu IENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJB LjMuNiwgMzAuNS4xLjEuMjAiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDYg fQ0KDQogICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgIHByb2Zp bGUxMCgxMCksDQogICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICBwcm9maWxlMjAoMjApLA0K ICAgICAgIHByb2ZpbGUyNSgyNSksDQogICAgICAgcHJvZmlsZTMwKDMwKSwNCiAgICAgICBwcm9m aWxlNTAoNTApLA0KICAgICAgIHByb2ZpbGU3MCg3MCksDQogICAgICAgcHJvZmlsZTEwMCgxMDAp LA0KICAgICAgIHByb2ZpbGUxNDAoMTQwKSwNCiAgICAgICBwcm9maWxlMjAwKDIwMCkNCiAgICAg fQ0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFTUy1UUyBQTUUgRG93bnN0cmVhbSBQYXls b2FkIFJhdGUgUHJvZmlsZSwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2 MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAgIC0gMi41 IE1icHMNCiAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAgLSA1IE1icHMNCiAgICAgICAgIHByb2Zp bGUxNSgxNSkgICAgLSA3LjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAtIDEwIE1i cHMNCiAgICAgICAgIHByb2ZpbGUyNSgyNSkgICAgLSAxMi41IE1icHMNCiAgICAgICAgIHByb2Zp bGUzMCgzMCkgICAgLSAxNSBNYnBzDQogICAgICAgICBwcm9maWxlNTAoNTApICAgIC0gMjUgTWJw cw0KICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAtIDM1IE1icHMNCiAgICAgICAgIHByb2ZpbGUx MDAoMTAwKSAgLSA1MCBNYnBzDQogICAgICAgICBwcm9maWxlMTQwKDE0MCkgIC0gNzAgTWJwcw0K ICAgICAgICAgcHJvZmlsZTIwMCgyMDApICAtIDEwMCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVl IHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBEb3duc3RyZWFtDQogICAgICAgUGF5 bG9hZCBCaXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBheWxvYWQgcmF0ZSBvZg0K ICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0 aGUgbG9vcA0KICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQ TUUgaW5pdGlhbGl6YXRpb24NCiAgICAgICBTSEFMTCBmYWlsLg0KDQogICAgICAgVGhpcyBvYmpl Y3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZURvd25zdHJlYW0NCiAgICAgICBhdHRy aWJ1dGUgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBB bm5leCA2MkEuMy42LCAzMC41LjEuMS4yMSINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxl RW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlz IG9iamVjdCBjb250cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQog ICAgICAgdGhlIGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVy IHRoZQ0KICAgICAgIHNlbWFudGljcyBvZiBSb3dTdGF0dXMuDQoNCiAgICAgICBJZiBhbiBhY3Rp dmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3INCiAgICAgICBl Zm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGls DQogICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuDQoNCiAgICAgICBBbiAnYWN0aXZl JyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIEluIG9yZGVyIHRvIG1vZGlmeSBhbg0KICAg ICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNl dHRpbmcNCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFu ZCBzZXQgJ2FjdGl2ZScNCiAgICAgICBhZ2Fpbi4iDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJv ZmlsZUVudHJ5IDggfQ0KDQoNCiAgIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAg ICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgc3RhdHVzIGluZm9y bWF0aW9uIG9mIEVGTUN1IDEwUEFTUy1UUw0KICAgICAgIFBNRXMgKG1vZGVtcykuDQoNCiAgICAg ICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1 Y2gsDQogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEw UCAyIH0NCg0KICAgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5U QVggICAgICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1UUyBQTUUgU3RhdHVzIHRhYmxlLiINCiAg ICAgQVVHTUVOVFMgeyBlZm1DdVBtZVN0YXR1c0VudHJ5IH0NCiAgICAgOjo9IHsgZWZtQ3VQbWUx MFBTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSA6Oj0NCiAgICAg U0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICAgICBDb3Vu dGVyMzIsDQogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2NrcyAgIENvdW50ZXIz Mg0KICAgICB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBj b3VudCBvZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRT DQogICAgICAgUE1FLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDQ29ycmVj dGVkQmxvY2tzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsDQogICAg ICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRkVDIGNvcnJlY3RhYmxlIGVycm9y cw0KICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVl IG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBv ZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAg ICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNv dW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJl DQogICAgICAgdW5jb3JyZWN0YWJsZS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBN RUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAgY2xhdXNlIDMwLg0K DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMg cHJlc2VudCwNCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5j b3JyZWN0YWJsZSBlcnJvcnMNCiAgICAgICByZWdpc3Rlcg0KDQogICAgICAgRGlzY29udGludWl0 aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUt aW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGlt ZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRp bnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjExLjIuMS45Ig0KICAgICA6Oj0geyBlZm1D dVBtZTEwUFN0YXR1c0VudHJ5IDIgfQ0KDQogIC0tDQogIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVu dHMNCiAgLS0NCg0KICAgZWZtQ3VHcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdUNvbmZvcm1hbmNlIDEgfQ0KDQogICBlZm1DdUNvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElG SUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9DQoNCiAgIC0tIE9iamVjdCBHcm91cHMNCg0K ICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBl Zm1DdVBBRlN1cHBvcnRlZCwNCiAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1D dVRhcmdldERhdGFSYXRlLA0KICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLA0KICAgICAgIGVmbUN1 QWRhcHRpdmVTcGVjdHJhLA0KICAgICAgIGVmbUN1UG9ydFNpZGUsDQogICAgICAgZWZtQ3VGbHRT dGF0dXMNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcHJlc2VudGluZyBtYW5hZ2VtZW50 IGluZm9ybWF0aW9uDQogICAgICAgY29tbW9uIGZvciBhbGwgdHlwZXMgb2YgRUZNQ3UgcG9ydHMu Ig0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0NCg0KICAgZWZtQ3VQQUZHcm91cCBPQkpFQ1Qt R1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkLA0KICAg ICAgIGVmbUN1UEFGQ2FwYWNpdHksDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHksDQogICAg ICAgZWZtQ3VQQUZBZG1pblN0YXRlLA0KICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwNCiAg ICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsDQogICAgICAgZWZtQ3VOdW1QTUVzDQog ICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIFBNRQ0KICAgICAg IEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFuZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1IHBv cnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9DQoNCiAgIGVmbUN1UEFGRXJyb3JzR3Jv dXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UEFGSW5FcnJvcnMs DQogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5MYXJn ZUZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluQmFkRnJhZ21lbnRzLA0KICAgICAgIGVmbUN1 UEFGSW5Mb3N0RnJhZ21lbnRzLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRzLA0KICAgICAg IGVmbUN1UEFGSW5Mb3N0RW5kcywNCiAgICAgICBlZm1DdVBBRkluT3ZlcmZsb3dzDQogICAgIH0N CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNv bGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIGVycm9yIGNvdW50ZXJzDQog ICAgICAgb2YgUEFGIG9uIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMyB9 DQoNCiAgIGVmbUN1UG1lR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAg IGVmbUN1UG1lQWRtaW5Qcm9maWxlLA0KICAgICAgIGVmbUN1UG1lT3BlclN0YXR1cywNCiAgICAg ICBlZm1DdVBtZUZsdFN0YXR1cywNCiAgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVkLA0K ICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUs DQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1UG1lT3Bl clByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVQZWVyU25y TWduLA0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRu LA0KICAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCwNCiAgICAgICBlZm1DdVBtZVRDQ29k aW5nRXJyb3JzLA0KICAgICAgIGVmbUN1UG1lVENDcmNFcnJvcnMsDQogICAgICAgZWZtQ3VQbWVU aHJlc2hMaW5lQXRuLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduDQogICAgIH0NCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rp b24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICBhIDJCQVNF LVRMLzEwUEFTUy1UUyBQTUUuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA0IH0NCg0KICAgZWZt Q3VBbGFybUNvbmZHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZt Q3VUaHJlc2hMb3dSYXRlLA0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLA0KICAg ICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2lu Z0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbiwNCiAgICAgICBlZm1DdVBtZVNu ck1nbkNyb3NzaW5nRW5hYmxlLA0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUsDQog ICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJsZSwNCiAgICAgICBlZm1DdVBtZVByb3Rv Y29sSW5pdEZhaWxFbmFibGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcg Y29uZmlndXJhdGlvbiBvZiBhbGFybQ0KICAgICAgIHRocmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlv bnMgaW4gRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA1IH0NCg0KICAgZWZt Q3VOb3RpZmljYXRpb25Hcm91cCBOT1RJRklDQVRJT04tR1JPVVANCiAgICAgTk9USUZJQ0FUSU9O UyB7DQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRu Q3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZywNCiAgICAgICBlZm1DdVBt ZURldmljZUZhdWx0LA0KICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUsDQogICAgICAg ZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQotLSAgICAgICBlZm1DdVBtZURldmljZUZhdWx0 LA0KLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9zcw0KICAgICB9DQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyBncm91cCBzdXBwb3J0 cyBub3RpZmljYXRpb25zIG9mIHNpZ25pZmljYW50IGNvbmRpdGlvbnMNCiAgICAgICBhc3NvY2lh dGVkIHdpdGggRUZNQ3UgcG9ydHMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA2IH0NCg0KICAg ZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAg ICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciwNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uLA0KICAg ICAgIGVmbUN1UG1lMkJzTW9kZSwNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUsDQogICAg ICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlLA0KICAgICAgIGVmbUN1UG1lMkJQb3dlciwNCiAgICAg ICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiwNCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0 YXR1cywNCiAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNjciwNCiAgICAgICBlZm1DdVBtZTJCc01v ZGVSb3dTdGF0dXMsDQogICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGgsDQogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYsDQogICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRl UGFtMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cw0KICAgICB9DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgdGhhdCBjb25zdGl0dXRlIGEgY29uZmlndXJhdGlvbg0KICAgICAgIHBy b2ZpbGUgZm9yIGNvbmZpZ3VyYXRpb24gb2YgMkJBU0UtVEwgcG9ydHMuIg0KICAgICA6Oj0geyBl Zm1DdUdyb3VwcyA3fQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVAN CiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IsDQogICAgICAg ZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUxMFBVUEJP UmVmZXJlbmNlUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzLA0K ICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZTEw UFBheWxvYWREUmF0ZVByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVz DQogICAgIH0NCiAgICAgU1RBVFVTICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRoYXQgY29uc3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24N CiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDEwUEFTUy1UUyBwb3J0cy4iDQog ICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQ0KDQogICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9C SkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3Rl ZEJsb2NrcywNCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzDQogICAgIH0N CiAgICAgU1RBVFVTICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVj dGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBzdGF0dXMgaW5mb3JtYXRpb24NCiAgICAgICBzcGVj aWZpYyB0byAxMFBBU1MtVFMgUE1Fcy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQ0KDQog IC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICBlZm1DdUNvbXBsaWFuY2UgTU9EVUxFLUNP TVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIDJCQVNFLVRMLzEwUEFTUy1UUyBpbnRl cmZhY2VzLg0KICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNv bXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgIGlzIFJFUVVJUkVEOg0KDQogICAgICAgTUlCIE1v ZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudA0KICAgICAgIC0tLS0tLS0tLS0g ICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICBJRi1NSUIgICAgICAgICAg ICAgICAgIGlmQ29tcGxpYW5jZTMNCiAgICAgICBFdGhlckxpa2UtTUlCICAgICAgICAgIGRvdDND b21wbGlhbmNlMg0KICAgICAgIE1BVS1NSUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMN Cg0KICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFu Y2Ugc3RhdGVtZW50cw0KICAgICAgIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3Vw cG9ydGluZyBQTUUgQWdncmVnYXRpb24NCiAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhp YmxlIGNyb3NzLWNvbm5lY3QgYmV0d2VlbiB0aGUgUENTDQogICAgICAgYW5kIFBNRSBwb3J0czoN Cg0KICAgICAgIE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAg ICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAg SUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UNCiAgICAgICBJRi1DQVAtU1RB Q0stTUlCICAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIg0KDQogICAgIE1PRFVMRSAgLS0gdGhp cyBtb2R1bGUNCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGVmbUN1QmFzaWNH cm91cCwNCiAgICAgICAgIGVmbUN1UG1lR3JvdXAsDQogICAgICAgICBlZm1DdUFsYXJtQ29uZkdy b3VwLA0KICAgICAgICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cA0KICAgICAgIH0NCg0KICAgICAg IEdST1VQICAgICAgIGVmbUN1UG1lMkJQcm9maWxlR3JvdXANCiAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3IgaW1w bGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIDJCQVNFLVRMIFBoeS4iDQoNCiAgICAg ICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cA0KICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBp bXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iDQoNCiAg ICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkdyb3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yDQogICAgICAg ICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBB RikuIg0KDQogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZFcnJvcnNHcm91cA0KICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBPUFRJT05BTCBm b3IgaW1wbGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbiBG dW5jdGlvbiAoUEFGKS4iDQoNCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFN0YXR1c0dy b3VwDQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3Vw IGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQ QVNTLVRTIFBoeS4iDQoNCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9y dGVkDQogICAgICAgU1lOVEFYICAgICAgQklUUyB7DQogICAgICAgICBpZWVlMkJhc2VUTE8oMCks DQogICAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAgICAgICBpZWVlMTBQYXNzVFNPKDIpLA0K ICAgICAgICAgaWVlZTEwUGFzc1RTUigzKQ0KICAgICAgIH0NCiAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgIlN1cHBvcnQgZm9yIGFsbCBzdWJ0eXBlcyBpcyBub3QgcmVxdWlyZWQuIEhvd2V2 ZXIgYXQgbGVhc3QNCiAgICAgICAgIG9uZSB2YWx1ZSBTSEFMTCBiZSBzdXBwb3J0ZWQiDQoNCiAg ICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZQ0KICAgICAgIE1JTi1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiV3JpdGUgYWNjZXNzIGlz IG5vdCByZXF1aXJlZCAobmVlZGVkIG9ubHkgZm9yIFBNRXMNCiAgICAgICAgIHN1cHBvcnRpbmcg bW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUsIGUuZy4NCiAgICAgICAgIGllZWUyQmFzZVRMTyBh bmQgaWVlZTJCYXNlVExSIG9yIGllZWUxMFBhc3NUU08gYW5kDQogICAgICAgICBpZWVlMTBQYXNz VFNSKSINCg0KICAgICAgIE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduDQogICAgICAgTUlO LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBh Y2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAg ICB0aGUgdGFyZ2V0IFNOUiBtYXJnaW4gU0hBTEwgYmUgZml4ZWQgYXQgNWRCIGZvciAyQkFTRS1U TA0KICAgICAgICAgYW5kIDZkQiBmb3IgMTBQQVNTLVRTLiINCg0KICAgICAgIE9CSkVDVCAgICAg IGVmbUN1QWRhcHRpdmVTcGVjdHJhDQogICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQ SFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzDQogICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9V TEQgYmUgZmFsc2UuIg0KDQogICAgIDo6PSB7IGVmbUN1Q29tcGxpYW5jZXMgMSB9DQpFTkQNCjwv cHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9yMjAiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBz dW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRP Q2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2Mi PiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0 aW9uLjciPjwvYT48aDM+Ny4mbmJzcDsNClNlY3VyaXR5IENvbnNpZGVyYXRpb25zPC9oMz4NCg0K PHA+DQogIFRoZXJlIGlzIGEgbnVtYmVyIG9mIG1hbmFnZWQgb2JqZWN0cyBkZWZpbmVkIGluIHRo ZSBFRk0tQ1UtTUlCIG1vZHVsZQ0KICB0aGF0IGhhdmUgYSBNQVgtQUNDRVNTIGNsYXVzZSBvZiBy ZWFkLXdyaXRlIG9yIHJlYWQtY3JlYXRlLg0KICBNb3N0IG9iamVjdHMgYXJlIHdyaXRlYWJsZSBv bmx5IHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgV3JpdGluZyB0byB0aGVzZSBvYmplY3RzIGNh biBoYXZlIHBvdGVudGlhbGx5DQogIGRpc3J1cHRpdmUgZWZmZWN0cyBvbiBuZXR3b3JrIG9wZXJh dGlvbiwgZm9yIGV4YW1wbGU6DQogDQo8L3A+DQo8cD4NCiAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0 Ij4NCjxsaT5DaGFuZ2luZyBvZiBlZm1DdVBtZUFkbWluU3ViVHlwZSBtYXkgbGVhZCB0byBhIHBv dGVudGlhbCBsb2NraW5nDQogICAgICBvZiB0aGUgbGluaywgYXMgcGVlciBQTUVzIG9mIHRoZSBz YW1lIHN1Yi10eXBlIGNhbm5vdCBleGNoYW5nZQ0KICAgICAgaGFuZHNoYWtlIG1lc3NhZ2VzLg0K PC9saT4NCjxsaT5DaGFuZ2luZyBvZiBlZm1DdVBBRkFkbWluU3RhdGUgdG8gZW5hYmxlZCBtYXkg bGVhZCB0byBhDQogICAgICBwb3RlbnRpYWwgbG9ja2luZyBvZiB0aGUgbGluaywgaWYgdGhlIHBl ZXIgUGh5IGRvZXMgbm90IHN1cHBvcnQgUEFGLg0KPC9saT4NCjxsaT5DaGFuZ2luZyBvZiBlZm1D dVBBRkRpc2NvdmVyeUNvZGUsIGJlZm9yZSB0aGUgZGlzY292ZXJ5IG9wZXJhdGlvbiwNCiAgICAg IG1heSBsZWFkIHRvIGEgd3JvbmdmdWwgZGlzY292ZXJ5LCBmb3IgZXhhbXBsZSB3aGVuIHR3byAt TyBwb3J0cw0KICAgICAgYXJlIGNvbm5lY3RlZCB0byB0aGUgc2FtZSBtdWx0aS1QTUUgLVIgcG9y dCBhbmQgYm90aCAtTyBwb3J0cw0KICAgICAgaGF2ZSB0aGUgc2FtZSBEaXNjb3ZlcnkgcmVnaXN0 ZXIgdmFsdWUuDQo8L2xpPg0KPGxpPkNoYW5naW5nIFBDUyBvciBQTUUgY29uZmlndXJhdGlvbiBw YXJhbWV0ZXJzIChlLmcuIHByb2ZpbGUgb2YgYQ0KICAgICAgUENTIG9yIFBNRSB2aWEgZWZtQ3VB ZG1pblByb2ZpbGUgb3IgZWZtQ3VQbWVBZG1pblByb2ZpbGUpDQogICAgICBtYXkgbGVhZCB0byBh bnl0aGluZyBmcm9tIGxpbmsgcXVhbGl0eSBhbmQgcmF0ZSBkZWdyYWRhdGlvbg0KICAgICAgdG8g YSBjb21wbGV0ZSBsaW5rIGluaXRpYWxpemF0aW9uIGZhaWx1cmUsIGFzIGFiaWxpdHkgb2YgYW4N CiAgICAgIEVGTUN1IHBvcnQgdG8gc3VwcG9ydCBhIHBhcnRpY3VsYXIgY29uZmlndXJhdGlvbiBk ZXBlbmRzIG9uIHRoZSBjb3BwZXINCiAgICAgIGVudmlyb25tZW50Lg0KPC9saT4NCjxsaT5BY3Rp dmF0aW9uIG9mIGEgUE1FIGNhbiBjYXVzZSBhIHNldmVyZSBkZWdyYWRhdGlvbiBvZg0KICAgICAg c2VydmljZSBmb3IgYW5vdGhlciBFRk1DdSBQaHksIHdob3NlIFBNRShzKSBtYXkgYmUgYWZmZWN0 ZWQgYnkNCiAgICAgIHRoZSBjcm9zcy10YWxrIGZyb20gdGhlIG5ld2x5IGFjdGl2YXRlZCBQTUUu DQo8L2xpPg0KPGxpPlJlbW92YWwgb2YgYSBQTUUgZnJvbSBhbiBvcGVyYXRpb25hbGx5ICd1cCcg RUZNQ3UgcG9ydCwNCiAgICAgIGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1FcywgbWF5IGNhdXNlIHBv cnQncyByYXRlIGRlZ3JhZGF0aW9uDQo8L2xpPg0KPC91bD48cD4NCiANCjwvcD4NCjxwPg0KICBU aGUgdXNlciBvZiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgbXVzdCB0aGVyZWZvcmUgYmUgYXdhcmUg dGhhdCBzdXBwb3J0IGZvcg0KICBTRVQgb3BlcmF0aW9ucyBpbiBhIG5vbi1zZWN1cmUgZW52aXJv bm1lbnQgd2l0aG91dCBwcm9wZXIgcHJvdGVjdGlvbg0KICBjYW4gaGF2ZSBhIG5lZ2F0aXZlIGVm ZmVjdCBvbiBuZXR3b3JrIG9wZXJhdGlvbnMuDQogDQo8L3A+DQo8cD4NCiAgVGhlIHJlYWRhYmxl IG9iamVjdHMgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIChpLmUuLCB0aG9zZSB3aXRoIE1BWC1B Q0NFU1MNCiAgb3RoZXIgdGhhbiBub3QtYWNjZXNzaWJsZSkgbWF5IGJlIGNvbnNpZGVyZWQgc2Vu c2l0aXZlIGluIHNvbWUNCiAgZW52aXJvbm1lbnRzIHNpbmNlLCBjb2xsZWN0aXZlbHksIHRoZXkg cHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUNCiAgcGVyZm9ybWFuY2Ugb2YgbmV0d29yayBp bnRlcmZhY2VzIGFuZCBjYW4gcmV2ZWFsIHNvbWUgYXNwZWN0cyBvZg0KICB0aGVpciBjb25maWd1 cmF0aW9uLiAgSW4gcGFydGljdWxhciwgc2luY2UgRUZNQ3UgY2FuIGJlIGNhcnJpZWQgb3Zlcg0K ICBVbnNoaWVsZGVkIFR3aXN0ZWQgUGFpciAoVVRQKSB2b2ljZSBncmFkZSBjb3BwZXIgaW4gYSBi dW5kbGUgd2l0aA0KICBvdGhlciBwYWlycyBiZWxvbmdpbmcgdG8gYW5vdGhlciBvcGVyYXRvci9j dXN0b21lciwgaXQgaXMNCiAgdGhlb3JldGljYWxseSBwb3NzaWJsZSB0byBldmFzZHJvcCB0byBh biBFRk1DdSB0cmFuc21pc3Npb24gc2ltcGx5IGJ5DQogICJsaXN0ZW5pbmciIHRvIGEgY3Jvc3Mt dGFsayBmcm9tIHRoZSBFRk1DdSBwYWlycywgZXNwZWNpYWxseSBpZiB0aGUNCiAgcGFyYW1ldGVy cyBvZiB0aGUgRUZNQ3UgbGluayBpbiBxdWVzdGlvbiBhcmUga25vd24uDQogDQo8L3A+DQo8cD4N CiAgSW4gc3VjaCBlbnZpcm9ubWVudHMgaXQgaXMgaW1wb3J0YW50IHRvIGNvbnRyb2wgYWxzbw0K ICBHRVQgYW5kIE5PVElGWSBhY2Nlc3MgdG8gdGhlc2Ugb2JqZWN0cyBhbmQgcG9zc2libHkgZXZl biB0bw0KICBlbmNyeXB0IHRoZWlyIHZhbHVlcyB3aGVuIHNlbmRpbmcgdGhlbSBvdmVyIHRoZSBu ZXR3b3JrIHZpYSBTTk1QLg0KIA0KPC9wPg0KPHA+DQogIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8g U05NUHYzIGRpZCBub3QgaW5jbHVkZSBhZGVxdWF0ZSBzZWN1cml0eS4NCiAgRXZlbiBpZiB0aGUg bmV0d29yayBpdHNlbGYgaXMgc2VjdXJlIChmb3IgZXhhbXBsZSBieSB1c2luZyBJUHNlYyksDQog IGV2ZW4gdGhlbiwgdGhlcmUgaXMgbm8gY29udHJvbCBhcyB0byB3aG8gb24gdGhlIHNlY3VyZSBu ZXR3b3JrIGlzDQogIGFsbG93ZWQgdG8gYWNjZXNzIGFuZCBHRVQvU0VUIChyZWFkL2NoYW5nZS9j cmVhdGUvZGVsZXRlKSB0aGUgb2JqZWN0cw0KICBpbiB0aGVzZSBNSUIgbW9kdWxlcy4NCiANCjwv cD4NCjxwPg0KICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVudGVycyBjb25zaWRlciB0 aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMNCiAgcHJvdmlkZWQgYnkgdGhlIFNOTVB2MyBmcmFtZXdv cmsgKHNlZSA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzM0MTAnPltSRkMzNDEwXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5DYXNlLCBKLiwgTXVuZHksIFIuLCBQYXJ0YWluLCBE LiwgYW5kIEIuIFN0ZXdhcnQsICZsZHF1bztJbnRyb2R1Y3Rpb24gYW5kIEFwcGxpY2FiaWxpdHkg U3RhdGVtZW50cyBmb3IgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssJnJk cXVvOyBEZWNlbWJlciZuYnNwOzIwMDIuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiwgc2VjdGlv biA4KSwNCiAgaW5jbHVkaW5nIGZ1bGwgc3VwcG9ydCBmb3IgdGhlIFNOTVB2MyBjcnlwdG9ncmFw aGljIG1lY2hhbmlzbXMgKGZvcg0KICBhdXRoZW50aWNhdGlvbiBhbmQgcHJpdmFjeSkuDQogDQo8 L3A+DQo8cD4NCiAgRnVydGhlciwgZGVwbG95bWVudCBvZiBTTk1QIHZlcnNpb25zIHByaW9yIHRv IFNOTVB2MyBpcyBOT1QNCiAgUkVDT01NRU5ERUQuICBJbnN0ZWFkLCBpdCBpcyBSRUNPTU1FTkRF RCB0byBkZXBsb3kgU05NUHYzIGFuZCB0bw0KICBlbmFibGUgY3J5cHRvZ3JhcGhpYyBzZWN1cml0 eS4gIEl0IGlzIHRoZW4gYSBjdXN0b21lci9vcGVyYXRvcg0KICByZXNwb25zaWJpbGl0eSB0byBl bnN1cmUgdGhhdCB0aGUgU05NUCBlbnRpdHkgZ2l2aW5nIGFjY2VzcyB0byBhbg0KICBpbnN0YW5j ZSBvZiB0aGVzZSBNSUIgbW9kdWxlcyBpcyBwcm9wZXJseSBjb25maWd1cmVkIHRvIGdpdmUgYWNj ZXNzIHRvDQogIHRoZSBvYmplY3RzIG9ubHkgdG8gdGhvc2UgcHJpbmNpcGFscyAodXNlcnMpIHRo YXQgaGF2ZSBsZWdpdGltYXRlDQogIHJpZ2h0cyB0byBpbmRlZWQgR0VUIG9yIFNFVCAoY2hhbmdl L2NyZWF0ZS9kZWxldGUpIHRoZW0uDQogDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyMSI+PC9hPjxi ciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxz cGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRP Q2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxl Pg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uOCI+PC9hPjxoMz44LiZuYnNwOw0KSUFOQSBDb25zaWRl cmF0aW9uczwvaDM+DQoNCjxwPg0KICBUaGUgdHdvIG5ldyB2YWx1ZXMgb2YgZG90M01hdVR5cGUg KGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQNCiAgZG90M01hdVR5cGUxMFBhc3NUUykgYW5kIGNvcnJl c3BvbmRpbmcgSUFOQWlmTWF1VHlwZUxpc3RCaXRzIGJpdA0KICBkZWZpbml0aW9ucyAoYjJCYXNl VEwgYW5kIGIxMFBhc3NUUyksIGFzIHdlbGwgYXMgdGhlIG5ldyB2YWx1ZXMgZm9yDQogIElBTkFp Zk1hdU1lZGlhQXZhaWxhYmxlIChhdmFpbGFibGVSZWR1Y2VkIGFuZCByZWFkeSkgU0hBTEwgYmUN CiAgZGVmaW5lZCBieSB0aGUgSUFOQSBpbiB0aGUgSUFOQS1NQVUtTUlCIG1vZHVsZSAoc2VlDQog IDxhIGNsYXNzPSdpbmZvJyBocmVmPScjSS1ELmlldGYtaHVibWliLXJmYzM2MzZiaXMnPltJJiM4 MjA5O0QuaWV0ZiYjODIwOTtodWJtaWImIzgyMDk7cmZjMzYzNmJpc108c3Bhbj4gKDwvc3Bhbj48 c3BhbiBjbGFzcz0naW5mbyc+QmVpbGksIEUuLCAmbGRxdW87RGVmaW5pdGlvbnMgb2YgTWFuYWdl ZCBPYmplY3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bSAgICAgICAgICAgICAgQXR0YWNobWVudCBV bml0cyAoTUFVcyksJnJkcXVvOyBKdWx5Jm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48 L2E+KSBiZWZvcmUgdGhpcyBkb2N1bWVudCBpcw0KICBwdWJsaXNoZWQgYXMgYW4gUkZDLg0KIA0K PC9wPg0KPHA+DQogIEFkZGl0aW9uYWxseSwgb2JqZWN0IGlkZW50aWZpZXJzIGZvciBlZm1DdU1J QiBNT0RVTEUtSURFTlRJVFkgYW5kDQogIGlmQ2FwU3RhY2tNSUIgTU9EVUxFLUlERU5USVRZIFNI QUxMIGJlIGFsbG9jYXRlZCBieSBJQU5BIGluIHRoZQ0KICBNSUItMiBzdWItdHJlZSwgYmVmb3Jl IHRoaXMgZG9jdW1lbnQgaXMgcHVibGlzaGVkLg0KIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjIi PjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIw IiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNs YXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+ PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjkiPjwvYT48aDM+OS4mbmJzcDsNCkFja25v d2xlZGdtZW50czwvaDM+DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCB3YXMgcHJvZHVjZWQgYnkg dGhlDQogICA8YSBocmVmPSdodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRlcnMvaHVibWli LWNoYXJ0ZXIuaHRtbCc+SUVURg0KICAgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBX b3JraW5nIEdyb3VwPC9hPiwgd2hvc2UgZWZmb3J0cw0KICAgd2VyZSBncmVhdGx5IGFkdmFuY2Vk IGJ5IHRoZSBjb250cmlidXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgcGVvcGxlDQogICAoaW4gYWxw aGFiZXRpY2FsIG9yZGVyKToNCg0KICA8L3A+DQo8YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+DQo8 cD5CZXJ0IFdpam5lbiAoQWxjYXRlbCkNCjwvcD4NCjxwPkRhbiBSb21hc2NhbnUgKEF2YXlhKQ0K PC9wPg0KPHA+TWFyaW5hIFBvcGlsb3YgKEFjdGVsaXMpDQo8L3A+DQo8cD5NYXRoaWFzIFJpZXNz IChJbmZpbmVvbikNCjwvcD4NCjxwPk1hdHQgU3F1aXJlIChIYXR0ZXJhcykNCjwvcD4NCjxwPk1p a2UgSGVhcmQNCjwvcD4NCjxwPlVkaSBBc2hrZW5hemkgKEFjdGVsaXMpDQo8L3A+DQo8L2Jsb2Nr cXVvdGU+PHA+DQogDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyMyI+PC9hPjxiciAvPjxociAvPg0K PHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBj bGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJl Zj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0i cmZjLnNlY3Rpb24uMTAiPjwvYT48aDM+MTAuJm5ic3A7DQpOb3RlcyB0byBSRkMgRWRpdG9yPC9o Mz4NCg0KPHA+DQogICBUaGlzIHNlY3Rpb24gY29udGFpbnMgbm90ZXMgdG8gdGhlIFJGQyBFZGl0 b3IgYW5kIHNob3VsZCBiZSByZW1vdmVkDQpwcmlvciB0byBwdWJsaWNhdGlvbi4NCiA8L3A+DQo8 YmxvY2txdW90ZSBjbGFzcz0idGV4dCI+DQo8cD5QbGVhc2UgcmVwbGFjZSAgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5 O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdp bmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBm b3IgT0FNIEZ1bmN0aW9ucyAgICAgICAgICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2Vz LCZyZHF1bzsgT2N0b2JlciZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQN CjxhIGNsYXNzPSdpbmZvJyBocmVmPScjSS1ELmlldGYtaHVibWliLXJmYzM2MzZiaXMnPltJJiM4 MjA5O0QuaWV0ZiYjODIwOTtodWJtaWImIzgyMDk7cmZjMzYzNmJpc108c3Bhbj4gKDwvc3Bhbj48 c3BhbiBjbGFzcz0naW5mbyc+QmVpbGksIEUuLCAmbGRxdW87RGVmaW5pdGlvbnMgb2YgTWFuYWdl ZCBPYmplY3RzIGZvciBJRUVFIDgwMi4zIE1lZGl1bSAgICAgICAgICAgICAgQXR0YWNobWVudCBV bml0cyAoTUFVcyksJnJkcXVvOyBKdWx5Jm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwvc3Bhbj48 L2E+IHdpdGggYWN0dWFsIFJGQyBudW1iZXJzIGlmDQp0aG9zZSBhcmUgYXZhaWxhYmxlIGF0IHRp bWUgb2YgcHVibGljYXRpb24uDQo8L3A+DQo8L2Jsb2NrcXVvdGU+PHA+DQogDQo8L3A+DQo8YSBu YW1lPSJyZmMucmVmZXJlbmNlcyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9Imxh eW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGln bj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9D Jm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMTEiPjwv YT48aDM+MTEuJm5ic3A7DQpSZWZlcmVuY2VzPC9oMz4NCg0KPGEgbmFtZT0icmZjLnJlZmVyZW5j ZXMxIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGlu Zz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0 ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48 L3RyPjwvdGFibGU+DQo8aDM+MTEuMS4mbmJzcDtOb3JtYXRpdmUgUmVmZXJlbmNlczwvaDM+DQo8 dGFibGUgd2lkdGg9Ijk5JSIgYm9yZGVyPSIwIj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0 IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iODAyLjMiPls4MDIuM108L2E+PC90ZD4NCjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiPklFRUUsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vc3RhbmRhcmRzLmll ZWUub3JnL2dldGllZWU4MDIvODAyLjMuaHRtbCI+SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRp b24gdGVjaG5vbG9neSAtDQogICAgICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRp b24gZXhjaGFuZ2UgYmV0d2VlbiBzeXN0ZW1zIC0NCiAgICAgICAgTG9jYWwgYW5kIG1ldHJvcG9s aXRhbiBhcmVhIG5ldHdvcmtzIC0NCiAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0NCiAg ICAgICAgUGFydCAzOiBDYXJyaWVyIFNlbnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lv biBEZXRlY3Rpb24NCiAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zPC9hPiwmcmRxdW87IElFRUUgU3RkJm5ic3A7ODAyLjMtMjAw NSwgRGVjZW1iZXImbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10 ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iODAyLjNhaCI+WzgwMi4zYWhdPC9hPjwvdGQ+DQo8 dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3N0YW5k YXJkcy5pZWVlLm9yZy9nZXRpZWVlODAyL2Rvd25sb2FkLzgwMi4zYWgtMjAwNC5wZGYiPklFRUUg U3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLQ0KICAgICAgICBUZWxlY29tbXVu aWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtDQogICAg ICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgIFNwZWNp ZmljIHJlcXVpcmVtZW50cyAtDQogICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBs ZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24gRGV0ZWN0aW9uDQogICAgICAgIChDU01BL0NEKSBBY2Nl c3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtDQogICAgICAgIEFt ZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwNCiAgICAg ICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIgQWNjZXNz IE5ldHdvcmtzPC9hPiwmcmRxdW87IElFRUUgU3RkJm5ic3A7ODAyLjNhaC0yMDA0LCBTZXB0ZW1i ZXImbmJzcDsyMDA0LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxp Z249InRvcCI+PGEgbmFtZT0iSS1ELmlldGYtaHVibWliLXJmYzM2MzZiaXMiPltJLUQuaWV0Zi1o dWJtaWItcmZjMzYzNmJpc108L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhy ZWY9Im1haWx0bzplZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iPkJlaWxpLCBFLjwvYT4sICZsZHF1 bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRm LWh1Ym1pYi1yZmMzNjM2YmlzLTA1LnR4dCI+RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3Rz IGZvciBJRUVFIDgwMi4zIE1lZGl1bQ0KICAgICAgICAgICAgIEF0dGFjaG1lbnQgVW5pdHMgKE1B VXMpPC9hPiwmcmRxdW87IGRyYWZ0LWlldGYtaHVibWliLXJmYzM2MzZiaXMtMDUgKHdvcmsgaW4g cHJvZ3Jlc3MpLCBKdWx5Jm5ic3A7MjAwNi48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzIxMTkiPltSRkMyMTE5XTwvYT48L3Rk Pg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOnNvYkBoYXJ2YXJkLmVk dSI+QnJhZG5lciwgUy48L2E+LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4t bm90ZXMvcmZjMjExOS50eHQiPktleSB3b3JkcyBmb3IgdXNlIGluIFJGQ3MgdG8gSW5kaWNhdGUg UmVxdWlyZW1lbnQgTGV2ZWxzPC9hPiwmcmRxdW87IEJDUCZuYnNwOzE0LCBSRkMmbmJzcDsyMTE5 LCBNYXJjaCZuYnNwOzE5OTcgKDxhIGhyZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1Ymxp Yy9yZmMvaHRtbC9yZmMyMTE5Lmh0bWwiPkhUTUw8L2E+LCA8YSBocmVmPSJodHRwOi8veG1sLnJl c291cmNlLm9yZy9wdWJsaWMvcmZjL3htbC9yZmMyMTE5LnhtbCI+WE1MPC9hPikuPC90ZD48L3Ry Pg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMy NTc4Ij5bUkZDMjU3OF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhyZWY9 Im1haWx0bzprem1AY2lzY28uY29tIj5NY0Nsb2docmllLCBLLjwvYT4sIDxhIGhyZWY9Im1haWx0 bzpkcGVya2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQuPC9hPiwgPGEgaHJlZj0ibWFpbHRv OnNjaG9lbndAaWJyLmNzLnR1LWJzLmRlIj5TY2hvZW53YWVsZGVyLCBKLjwvYT4sIENhc2UsIEou LCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRxdW87PGEg aHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjU3OC50eHQiPlN0cnVjdHVyZSBv ZiBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpPC9hPiwmcmRxdW87IFNU RCZuYnNwOzU4LCBSRkMmbmJzcDsyNTc4LCBBcHJpbCZuYnNwOzE5OTkuPC90ZD48L3RyPg0KPHRy Pjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMyNTc5Ij5b UkZDMjU3OV08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0 bzprem1AY2lzY28uY29tIj5NY0Nsb2docmllLCBLLjwvYT4sIDxhIGhyZWY9Im1haWx0bzpkcGVy a2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOnNjaG9l bndAaWJyLmNzLnR1LWJzLmRlIj5TY2hvZW53YWVsZGVyLCBKLjwvYT4sIENhc2UsIEouLCBNY0Ns b2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjU3OS50eHQiPlRleHR1YWwgQ29udmVudGlv bnMgZm9yIFNNSXYyPC9hPiwmcmRxdW87IFNURCZuYnNwOzU4LCBSRkMmbmJzcDsyNTc5LCBBcHJp bCZuYnNwOzE5OTkuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGln bj0idG9wIj48YSBuYW1lPSJSRkMyNTgwIj5bUkZDMjU4MF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0i YXV0aG9yLXRleHQiPjxhIGhyZWY9Im1haWx0bzprem1AY2lzY28uY29tIj5NY0Nsb2docmllLCBL LjwvYT4sIDxhIGhyZWY9Im1haWx0bzpkcGVya2luc0Bzbm1waW5mby5jb20iPlBlcmtpbnMsIEQu PC9hPiwgYW5kIDxhIGhyZWY9Im1haWx0bzpzY2hvZW53QGlici5jcy50dS1icy5kZSI+Si4gU2No b2Vud2FlbGRlcjwvYT4sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rl cy9yZmMyNTgwLnR4dCI+Q29uZm9ybWFuY2UgU3RhdGVtZW50cyBmb3IgU01JdjI8L2E+LCZyZHF1 bzsgU1REJm5ic3A7NTgsIFJGQyZuYnNwOzI1ODAsIEFwcmlsJm5ic3A7MTk5OS48L3RkPjwvdHI+ DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM0 MTAiPltSRkMzNDEwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Q2FzZSwgSi4s IE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87PGEgaHJlZj0i ZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMzQxMC50eHQiPkludHJvZHVjdGlvbiBhbmQg QXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50 IEZyYW1ld29yazwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNDEwLCBEZWNlbWJlciZuYnNwOzIwMDIu PC90ZD48L3RyPg0KPC90YWJsZT4NCg0KPGEgbmFtZT0icmZjLnJlZmVyZW5jZXMyIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8aDM+MTEuMi4mbmJzcDtJbmZvcm1hdGl2ZSBSZWZlcmVuY2VzPC9oMz4NCjx0YWJsZSB3aWR0 aD0iOTklIiBib3JkZXI9IjAiPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0i dG9wIj48YSBuYW1lPSJBTkZQIj5bQU5GUF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiPk5ldHdvcmsgSW50ZXJvcGVyYWJpbGl0eSBDb25zdWx0YXRpdmUgQ29tbWl0dGVlIChOSUND KSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cubmljYy5vcmcudWsvbmljYy1wdWJsaWMvUHVi bGljL2ludGVyY29ubmVjdHN0YW5kYXJkcy9kc2x0Z19zcGVjL25kMTYwMl8yMDA1XzA4LnBkZiI+ U3BlY2lmaWNhdGlvbiBvZiB0aGUgQWNjZXNzIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlAp DQogICAgICAgIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNzaW9uIHN5c3RlbXMgdXNlZCBvbiB0aGUg QlQgQWNjZXNzIE5ldHdvcms8L2E+LCZyZHF1bzsgTklDQyBEb2N1bWVudCZuYnNwO05EMTYwMjoy MDA1LzA4LCBBdWd1c3QmbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iRy45OTEuMiI+W0cuOTkxLjJdPC9hPjwvdGQ+ DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5JVFUtVCwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93 d3cuaXR1LmludC9yZWMvcmVjb21tZW5kYXRpb24uYXNwP3R5cGU9Zm9sZGVycyZhbXA7bGFuZz1l JmFtcDtwYXJlbnQ9VC1SRUMtRy45OTEuMiI+U2luZ2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdpdGFs IFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIHRyYW5zY2VpdmVyczwvYT4sJnJkcXVvOyBJVFUtVCBS ZWNvbW1lbmRhdGlvbiZuYnNwO0cuOTkxLjIsIERlY2VtYmVyJm5ic3A7MjAwMy48L3RkPjwvdHI+ DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IkcuOTkz LjEiPltHLjk5My4xXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SVRVLVQsICZs ZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lml0dS5pbnQvcmVjL3JlY29tbWVuZGF0aW9uLmFzcD90 eXBlPWZvbGRlcnMmYW1wO2xhbmc9ZSZhbXA7cGFyZW50PVQtUkVDLUcuOTkzLjEiPlZlcnkgSGln aCBzcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSB0cmFuc2NlaXZlcnM8L2E+LCZyZHF1bzsg SVRVLVQgUmVjb21tZW5kYXRpb24mbmJzcDtHLjk5My4xLCBKdW5lJm5ic3A7MjAwNC48L3RkPjwv dHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9Ikkt RC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWIiPltJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24tbWli XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmxpb3Jf a2hlcm1vc2hAcG1jLXNpZXJyYS5jb20iPktoZXJtb3NoLCBMLjwvYT4sICZsZHF1bzs8YSBocmVm PSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1pZXRmLWh1Ym1pYi1l Zm0tZXBvbi1taWItMDYudHh0Ij5NYW5hZ2VkIE9iamVjdHMgb2YgRVBPTjwvYT4sJnJkcXVvOyBk cmFmdC1pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDYgKHdvcmsgaW4gcHJvZ3Jlc3MpLCBOb3Zl bWJlciZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZh bGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItZWZtLW1pYiI+W0ktRC5pZXRmLWh1 Ym1pYi1lZm0tbWliXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0i bWFpbHRvOm1zcXVpcmVAaGF0dGVyYXNuZXR3b3Jrcy5jb20iPlNxdWlyZSwgTS48L2E+LCAmbGRx dW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFmdHMvZHJhZnQtaWV0 Zi1odWJtaWItZWZtLW1pYi0wNS50eHQiPkRlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMg Zm9yIE9BTSBGdW5jdGlvbnMNCiAgICAgICAgICAgICBvbiBFdGhlcm5ldCBMaWtlIEludGVyZmFj ZXM8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNSAod29yayBpbiBwcm9n cmVzcyksIE9jdG9iZXImbmJzcDsyMDA2LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSUFOQWlmVHlwZS1NSUIiPltJQU5BaWZUeXBl LU1JQl08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkludGVybmV0IEFzc2lnbmVk IE51bWJlcnMgQXV0aG9yaXR5IChJQU5BKSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWFu YS5vcmcvYXNzaWdubWVudHMvaWFuYWlmdHlwZS1taWIiPklBTkFpZlR5cGUgVGV4dHVhbCBDb252 ZW50aW9uIGRlZmluaXRpb248L2E+LCZyZHF1bzsgJm5ic3A7aHR0cDovL3d3dy5pYW5hLm9yZy9h c3NpZ25tZW50cy9pYW5haWZ0eXBlLW1pYi48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRo b3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI4NjMiPltSRkMyODYzXTwvYT48L3Rk Pg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3Rlbmhv bHosICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyODYzLnR4 dCI+VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCPC9hPiwmcmRxdW87IFJGQyZuYnNwOzI4NjMsIEp1 bmUmbmJzcDsyMDAwLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxp Z249InRvcCI+PGEgbmFtZT0iUkZDMjg2NCI+W1JGQzI4NjRdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9 ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAmbGRxdW87PGEgaHJl Zj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjMjg2NC50eHQiPlRoZSBJbnZlcnRlZCBT dGFjayBUYWJsZSBFeHRlbnNpb24gdG8gdGhlIEludGVyZmFjZXMgR3JvdXAgTUlCPC9hPiwmcmRx dW87IFJGQyZuYnNwOzI4NjQsIEp1bmUmbmJzcDsyMDAwLjwvdGQ+PC90cj4NCjx0cj48dGQgY2xh c3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMzYzNSI+W1JGQzM2MzVd PC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5GbGljaywgSi4sICZsZHF1bzs8YSBo cmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMzNjM1LnR4dCI+RGVmaW5pdGlvbnMg b2YgTWFuYWdlZCBPYmplY3RzIGZvciB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2UgVHlwZXM8 L2E+LCZyZHF1bzsgUkZDJm5ic3A7MzYzNSwgU2VwdGVtYmVyJm5ic3A7MjAwMy48L3RkPjwvdHI+ DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzQw NzAiPltSRkM0MDcwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+RG9kZ2UsIE0u IGFuZCBCLiBSYXksICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9y ZmM0MDcwLnR4dCI+RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3QgRXh0ZW5zaW9ucyBmb3Ig VmVyeSBIaWdoIFNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lcyAoVkRTTCkgVXNpbmcgTXVs dGlwbGUgQ2FycmllciBNb2R1bGF0aW9uIChNQ00pIExpbmUgQ29kaW5nPC9hPiwmcmRxdW87IFJG QyZuYnNwOzQwNzAsIE1heSZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0 aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkM0MzE5Ij5bUkZDNDMxOV08L2E+PC90 ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIuIEFi YmksICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmM0MzE5LnR4 dCI+RGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBIaWdoIEJpdC1SYXRlIERTTCAt IDJuZCBnZW5lcmF0aW9uIChIRFNMMikgYW5kIFNpbmdsZS1QYWlyIEhpZ2gtU3BlZWQgRGlnaXRh bCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSBMaW5lczwvYT4sJnJkcXVvOyBSRkMmbmJzcDs0MzE5 LCBEZWNlbWJlciZuYnNwOzIwMDUuPC90ZD48L3RyPg0KPC90YWJsZT4NCg0KPGEgbmFtZT0icmZj LmF1dGhvcnMiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxw YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48 dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48 L3RkPjwvdHI+PC90YWJsZT4NCjxoMz5BdXRob3IncyBBZGRyZXNzPC9oMz4NCjx0YWJsZSB3aWR0 aD0iOTklIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+DQo8dHI+ PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiPkVkd2FyZCBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4m bmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+QWN0ZWxpcyBOZXR3b3JrczwvdGQ+ PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+QmF6ZWwgMjU8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It dGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPlBldGFjaC1UaWt2YTwv dGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij4mbmJzcDs8L3RkPg0KPHRkIGNs YXNzPSJhdXRob3ItdGV4dCI+SXNyYWVsPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y IiBhbGlnbj0icmlnaHQiPlBob25lOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0 Ij4rOTcyLTMtOTI0LTM0OTE8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3IiIGFsaWdu PSJyaWdodCI+RW1haWw6Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPjxhIGhy ZWY9Im1haWx0bzplZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iPmVkd2FyZC5iZWlsaUBhY3RlbGlz LmNvbTwvYT48L3RkPjwvdHI+DQo8L3RhYmxlPg0KPGEgbmFtZT0icmZjLmNvcHlyaWdodCI+PC9h PjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNl bGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9 IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3Rh YmxlPg0KPGgzPkZ1bGwgQ29weXJpZ2h0IFN0YXRlbWVudDwvaDM+DQo8cCBjbGFzcz0nY29weXJp Z2h0Jz4NCkNvcHlyaWdodCAmY29weTsgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLjwvcD4NCjxwIGNs YXNzPSdjb3B5cmlnaHQnPg0KVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIHRoZSByaWdodHMs DQpsaWNlbnNlcyBhbmQgcmVzdHJpY3Rpb25zIGNvbnRhaW5lZCBpbiBCQ1AmbmJzcDs3OCwNCmFu ZCBleGNlcHQgYXMgc2V0IGZvcnRoIHRoZXJlaW4sDQp0aGUgYXV0aG9ycyByZXRhaW4gYWxsIHRo ZWlyIHJpZ2h0cy48L3A+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoaXMgZG9jdW1lbnQgYW5k IHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGFyZSBwcm92aWRlZA0Kb24gYW4gJmxk cXVvO0FTIElTJnJkcXVvOyBiYXNpcyBhbmQgVEhFIENPTlRSSUJVVE9SLA0KVEhFIE9SR0FOSVpB VElPTiBIRS9TSEUgUkVQUkVTRU5UUw0KT1IgSVMgU1BPTlNPUkVEIEJZIChJRiBBTlkpLCBUSEUg SU5URVJORVQgU09DSUVUWSwgVEhFIElFVEYgVFJVU1QNCkFORCBUSEUgSU5URVJORVQgRU5HSU5F RVJJTkcgVEFTSyBGT1JDRSBESVNDTEFJTSBBTEwgV0FSUkFOVElFUywNCkVYUFJFU1MgT1IgSU1Q TElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBBTlkgV0FSUkFOVFkgVEhBVA0KVEhF IFVTRSBPRiBUSEUgSU5GT1JNQVRJT04gSEVSRUlOIFdJTEwgTk9UIElORlJJTkdFIEFOWSBSSUdI VFMgT1IgQU5ZDQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUg0KUFVSUE9TRS48L3A+DQo8aDM+SW50ZWxsZWN0dWFsIFByb3Bl cnR5PC9oMz4NCjxwIGNsYXNzPSdjb3B5cmlnaHQnPg0KVGhlIElFVEYgdGFrZXMgbm8gcG9zaXRp b24gcmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCkludGVsbGVjdHVhbCBQ cm9wZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWlnaHQgYmUgY2xhaW1lZA0KdG8g cGVydGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRoZSB0ZWNobm9sb2d5DQpk ZXNjcmliZWQgaW4gdGhpcyBkb2N1bWVudCBvciB0aGUgZXh0ZW50IHRvIHdoaWNoIGFueSBsaWNl bnNlDQp1bmRlciBzdWNoIHJpZ2h0cyBtaWdodCBvciBtaWdodCBub3QgYmUgYXZhaWxhYmxlOyBu b3IgZG9lcyBpdA0KcmVwcmVzZW50IHRoYXQgaXQgaGFzIG1hZGUgYW55IGluZGVwZW5kZW50IGVm Zm9ydCB0byBpZGVudGlmeSBhbnkNCnN1Y2ggcmlnaHRzLg0KSW5mb3JtYXRpb24gb24gdGhlIHBy b2NlZHVyZXMgd2l0aCByZXNwZWN0IHRvDQpyaWdodHMgaW4gUkZDIGRvY3VtZW50cyBjYW4gYmUg Zm91bmQgaW4gQkNQJm5ic3A7NzggYW5kIEJDUCZuYnNwOzc5LjwvcD4NCjxwIGNsYXNzPSdjb3B5 cmlnaHQnPg0KQ29waWVzIG9mIElQUiBkaXNjbG9zdXJlcyBtYWRlIHRvIHRoZSBJRVRGIFNlY3Jl dGFyaWF0IGFuZCBhbnkNCmFzc3VyYW5jZXMgb2YgbGljZW5zZXMgdG8gYmUgbWFkZSBhdmFpbGFi bGUsDQpvciB0aGUgcmVzdWx0IG9mIGFuIGF0dGVtcHQgbWFkZSB0byBvYnRhaW4gYSBnZW5lcmFs IGxpY2Vuc2Ugb3INCnBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2Ygc3VjaCBwcm9wcmlldGFyeSBy aWdodHMgYnkgaW1wbGVtZW50ZXJzIG9yDQp1c2VycyBvZiB0aGlzIHNwZWNpZmljYXRpb24gY2Fu IGJlIG9idGFpbmVkIGZyb20gdGhlIElFVEYgb24tbGluZSBJUFINCnJlcG9zaXRvcnkgYXQgPGEg aHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9pcHInPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaXByPC9h Pi48L3A+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoZSBJRVRGIGludml0ZXMgYW55IGludGVy ZXN0ZWQgcGFydHkgdG8gYnJpbmcgdG8gaXRzIGF0dGVudGlvbg0KYW55IGNvcHlyaWdodHMsDQpw YXRlbnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsDQpvciBvdGhlcg0KcHJvcHJpZXRhcnkgcmln aHRzIHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUgcmVxdWlyZWQNCnRvIGlt cGxlbWVudCB0aGlzIHN0YW5kYXJkLg0KUGxlYXNlIGFkZHJlc3MgdGhlIGluZm9ybWF0aW9uIHRv IHRoZSBJRVRGIGF0IDxhIGhyZWY9J21haWx0bzppZXRmLWlwckBpZXRmLm9yZyc+aWV0Zi1pcHJA aWV0Zi5vcmc8L2E+LjwvcD4NCjxoMz5BY2tub3dsZWRnbWVudDwvaDM+DQo8cCBjbGFzcz0nY29w eXJpZ2h0Jz4NCkZ1bmRpbmcgZm9yIHRoZSBSRkMgRWRpdG9yIGZ1bmN0aW9uIGlzIHByb3ZpZGVk IGJ5DQp0aGUgSUVURiBBZG1pbmlzdHJhdGl2ZSBTdXBwb3J0IEFjdGl2aXR5IChJQVNBKS48L3A+ DQo8L2JvZHk+PC9odG1sPg0K ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: text/plain; name="draft-ietf-hubmib-efm-cu-mib-07.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.txt" DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEUuIEJlaWxpDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFjdGVsaXMgTmV0d29ya3MNCkludGVuZGVkIHN0YXR1czog U3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMSwgMjAwNw0K RXhwaXJlczogQXVndXN0IDI1LCAyMDA3DQoNCg0KICAgICAgICBFdGhlcm5ldCBpbiB0aGUgRmly c3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzIE1JQg0KICAgICAgICAgICAgICAgICAg ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50eHQNCg0KU3RhdHVzIG9mIHRoaXMgTWVt bw0KDQogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0aG9yIHJl cHJlc2VudHMgdGhhdCBhbnkNCiAgIGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVyIElQUiBjbGFp bXMgb2Ygd2hpY2ggaGUgb3Igc2hlIGlzIGF3YXJlDQogICBoYXZlIGJlZW4gb3Igd2lsbCBiZSBk aXNjbG9zZWQsIGFuZCBhbnkgb2Ygd2hpY2ggaGUgb3Igc2hlIGJlY29tZXMNCiAgIGF3YXJlIHdp bGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJDUCA3OS4N Cg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJu ZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFuZCBpdHMg d29ya2luZyBncm91cHMuICBOb3RlIHRoYXQNCiAgIG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0 cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LQ0KICAgRHJhZnRzLg0KDQogICBJ bnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9m IHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRl ZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0 ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQ0KICAgbWF0ZXJpYWwgb3IgdG8g Y2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIg0KDQogICBUaGUgbGlz dCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6 Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0KICAgVGhlIGxpc3Qgb2Yg SW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdA0KICAg aHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhpcyBJbnRlcm5ldC1EcmFm dCB3aWxsIGV4cGlyZSBvbiBBdWd1c3QgMjUsIDIwMDcuDQoNCkNvcHlyaWdodCBOb3RpY2UNCg0K ICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuDQoNCkFic3RyYWN0DQoNCiAg IFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikg bW9kdWxlcyBmb3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4g VENQL0lQIGJhc2VkIGludGVybmV0cy4NCiAgIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIGV4dGVu c2lvbnMgdG8gdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlcw0KICAgTUlCIGFuZCBNQVUgTUlC IG1vZHVsZXMgd2l0aCBhIHNldCBvZiBvYmplY3RzIGZvciBtYW5hZ2luZyBFdGhlcm5ldA0KICAg aW4gdGhlIEZpcnN0IE1pbGUgQ29wcGVyIChFRk1DdSkgaW50ZXJmYWNlcyAxMFBBU1MtVFMgYW5k IDJCQVNFLVRMLA0KICAgZGVmaW5lZCBpbiBJRUVFIFN0ZCA4MDIuM2FoLTIwMDQuICBJbiBhZGRp dGlvbiBhIHNldCBvZiBvYmplY3RzIGlzDQogICBkZWZpbmVkLCBkZXNjcmliaW5nIGNyb3NzLWNv bm5lY3QgY2FwYWJpbGl0eSBvZiBhIG1hbmFnZWQgZGV2aWNlIHdpdGgNCiAgIG11bHRpLWxheWVy IChzdGFja2VkKSBpbnRlcmZhY2VzLCBleHRlbmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgb2JqZWN0cyBp biB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBN SUINCiAgIG1vZHVsZXMuDQoNCg0KVGFibGUgb2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVj dGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAz DQogICAyLiAgVGhlIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrIC4gLiAu IC4gLiAuIC4gLiAuIC4gIDMNCiAgIDMuICBSZWxhdGlvbiB0byBvdGhlciBNSUIgbW9kdWxlcyAg LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNA0KICAgICAzLjEuICBSZWxhdGlvbiB0 byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUgIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAg ICAgMy4xLjEuICBMYXllcmluZyBNb2RlbCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gIDQNCiAgICAgICAzLjEuMi4gIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNw0KICAgICAgIDMuMS4zLiAgRGlzY292ZXJ5IE9w ZXJhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA3DQogICAgICAgMy4x LjQuICBFRk1DdSBwb3J0cyBpbml0aWFsaXphdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gIDkNCiAgICAgICAzLjEuNS4gIFVzYWdlIG9mIGlmVGFibGUgLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgICAzLjIuICBSZWxhdGlvbiB0byBTSERTTCBNSUIg bW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDExDQogICAgIDMuMy4gIFJlbGF0 aW9uIHRvIFZEU0wgTUlCIG1vZHVsZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTEN CiAgICAgMy40LiAgUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlrZSBhbmQgTUFVIE1JQiBtb2R1bGVz ICAuIC4gLiAuIC4gLiAxMg0KICAgNC4gIE1JQiBTdHJ1Y3R1cmUgIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuMS4gIEVGTSBDb3BwZXIg TUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTMNCiAgICAg NC4yLiAgSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxpdHkgTUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4g LiAuIC4gLiAxMw0KICAgICA0LjMuICBQTUUgUHJvZmlsZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuNC4gIE1hcHBpbmcgb2YgSUVFRSA4 MDIuM2FoIE1hbmFnZWQgT2JqZWN0cyAgLiAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgIDUuICBJbnRl cmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4g LiAxNg0KICAgNi4gIEVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIDIyDQogICA3LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODQNCiAgIDguICBJQU5BIENvbnNp ZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Ng0K ICAgOS4gIEFja25vd2xlZGdtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIDg2DQogICAxMC4gTm90ZXMgdG8gUkZDIEVkaXRvciAgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODYNCiAgIDExLiBSZWZlcmVuY2VzIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Nw0KICAgICAx MS4xLiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDg3DQogICAgIDExLjIuIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODgNCiAgIEF1dGhvcidzIEFkZHJlc3MgLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4OQ0KICAgSW50ZWxsZWN0 dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAu IDkwDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDJdDQoM DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAg ICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIE5ldyBFdGhlcm5l dC1saWtlIGludGVyZmFjZXMgaGF2ZSBiZWVuIGRlZmluZWQgaW4gdGhlIEluc3RpdHV0ZSBvZg0K ICAgRWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pY3MgRW5naW5lZXJzIChJRUVFKSBTdGFuZGFyZCA4 MDIuM2FoLTIwMDQNCiAgIFs4MDIuM2FoXSwgYS5rLmEuICBFdGhlcm5ldCBpbiB0aGUgRmlyc3Qg TWlsZSAoRUZNKSwgd2hpY2ggaXMgbm93IGENCiAgIHBhcnQgb2YgdGhlIGJhc2UgSUVFRSBTdGFu ZGFyZCA4MDIuMy0yMDA1IFs4MDIuM10uICBJbiBwYXJ0aWN1bGFyDQogICAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIHBoeXNpY2FsIGludGVyZmFjZXMgKFBIWXMpLCBkZWZpbmVkIG92ZXINCiAgIHZv aWNlLWdyYWRlIGNvcHBlciBwYWlycywgaGF2ZSBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcg YW5kIHNob3J0DQogICByZWFjaCByZXNwZWN0aXZlbHkuICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xs ZWN0aXZlbHkgY2FsbGVkIEVGTSBDb3BwZXINCiAgIChFRk1DdSksIGFyZSBiYXNlZCBvbiBTaW5n bGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lDQogICAoU0hEU0wpIFtH Ljk5MS4yXSBhbmQgVmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIChWRFNM KQ0KICAgW0cuOTkzLjFdIHRlY2hub2xvZ3ksIHN1cHBvcnRpbmcgb3B0aW9uYWwgUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgKFBNRSkgYWdncmVnYXRpb24gKGEuay5hLiBtdWx0aS1wYWlyIGJv bmRpbmcpIHdpdGggdmFyaWFibGUgcmF0ZXMuDQoNCiAgIDJCQVNFLVRMIFBIWSBpcyBjYXBhYmxl IG9mIHByb3ZpZGluZyBhdCBsZWFzdCAyTWJwcyBvdmVyIDI3MDAgbSBsb25nDQogICBzaW5nbGUg Y29wcGVyIHBhaXIgd2l0aCBhIG1lYW4gQml0IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcgKHVz aW5nDQogICA1ZEIgdGFyZ2V0IG5vaXNlIG1hcmdpbikuDQoNCiAgIDEwUEFTUy1UUyBQSFkgaXMg Y2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXIgNzUwIG0gbG9uZw0KICAg c2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNpbmcgNmRCIHRh cmdldCBub2lzZQ0KICAgbWFyZ2luKS4NCg0KICAgVGhpcyBtZW1vIGRlZmluZXMgYSBNYW5hZ2Vt ZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikgbW9kdWxlIGZvciB1c2UNCiAgIHdpdGggbmV0d29y ayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgY29tbXVuaXR5IHRvIG1hbmFn ZQ0KICAgRUZNQ3UgaW50ZXJmYWNlcy4gIEluIGFkZGl0aW9uIGEgTUlCIG1vZHVsZSBpcyBkZWZp bmVkIGRlc2NyaWJpbmcNCiAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhIHN0YWNrZWQg aW50ZXJmYWNlLg0KDQogICBOb3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24s IEFkbWluaXN0cmF0aW9uIGFuZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3Zl ciBQYXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAy LjNhaCBhcmUgZGVmaW5lZCBpbiBFRk0tQ09NTU9OLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1l Zm0tbWliXSBhbmQgRUZNLUVQT04tTUlCDQogICBbSS1ELmlldGYtaHVibWliLWVmbS1lcG9uLW1p Yl0gcmVzcGVjdGl2ZWx5Lg0KDQoNCjIuICBUaGUgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVu dCBGcmFtZXdvcmsNCg0KICAgRm9yIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgdGhlIGRvY3VtZW50 cyB0aGF0IGRlc2NyaWJlIHRoZSBjdXJyZW50DQogICBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2Vt ZW50IEZyYW1ld29yaywgcGxlYXNlIHJlZmVyIHRvIHNlY3Rpb24gNyBvZg0KICAgUkZDIDM0MTAg W1JGQzM0MTBdLg0KDQogICBNYW5hZ2VkIG9iamVjdHMgYXJlIGFjY2Vzc2VkIHZpYSBhIHZpcnR1 YWwgaW5mb3JtYXRpb24gc3RvcmUsIHRlcm1lZA0KICAgdGhlIE1hbmFnZW1lbnQgSW5mb3JtYXRp b24gQmFzZSBvciBNSUIuICBNSUIgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5DQogICBhY2Nlc3NlZCB0 aHJvdWdoIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKS4NCiAg IE9iamVjdHMgaW4gdGhlIE1JQiBhcmUgZGVmaW5lZCB1c2luZyB0aGUgbWVjaGFuaXNtcyBkZWZp bmVkIGluIHRoZQ0KICAgU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gKFNNSSku ICBUaGlzIG1lbW8gc3BlY2lmaWVzIE1JQg0KICAgbW9kdWxlcyB0aGF0IGFyZSBjb21wbGlhbnQg dG8gdGhlIFNNSXYyLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU1REDQogICA1OCwgUkZDIDI1Nzgg W1JGQzI1NzhdLCBTVEQgNTgsIFJGQyAyNTc5IFtSRkMyNTc5XSBhbmQgU1REIDU4LCBSRkMNCiAg IDI1ODAgW1JGQzI1ODBdLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwg IlNIQUxMIiwgIlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01N RU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRv IGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOSBbUkZDMjExOV0uDQoNCg0K My4gIFJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzDQoNCiAgIFRoaXMgc2VjdGlvbiBvdXRs aW5lcyB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogICB0 aGlzIGRvY3VtZW50IHdpdGggb3RoZXIgTUlCIG1vZHVsZXMgZGVzY3JpYmVkIGluIHRoZSByZWxl dmFudCBSRkNzLg0KICAgU3BlY2lmaWNhbGx5LCBJbnRlcmZhY2VzIEdyb3VwIE1JQiAoSUYtTUlC KSwgRXRoZXJuZXQtTGlrZQ0KICAgKEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERT TCAoSERTTDItU0hEU0wtTElORS1NSUIpIGFuZCBWRFNMDQogICAoVkRTTC1MSU5FLUVYVC1NQ00t TUlCKSBhcmUgZGlzY3Vzc2VkLg0KDQozLjEuICBSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3Vw IE1JQiBtb2R1bGUNCg0KICAgMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQSFkncyBzcGVjaWZpZWQg aW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFyZQ0KICAgc3RhY2tlZCAoYS5rLmEuIGFnZ3JlZ2F0 ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBhcyBzdWNoDQogICBhcmUgbWFu YWdlZCB1c2luZyBnZW5lcmljIGludGVyZmFjZSBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10uDQoNCiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBp LmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBzdWItbGF5ZXJzIHRvIHRoZQ0KICAgdG9wIGxh eWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhlIGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10gYW5kIGl0cyBpbnZlcnNlIGlmSW52U3RhY2tUYWJs ZSwgYXMgZGVmaW5lZCBpbiB0aGUNCiAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiBbUkZDMjg2NF0u DQoNCiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzIGludmVyc2UgaWZJ bnZDYXBTdGFja1RhYmxlDQogICBkZWZpbmVkIGluIHRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVs ZSBiZWxvdywgZXh0ZW5kIHRoZSBzdGFjaw0KICAgbWFuYWdlbWVudCB3aXRoIGFuIGFiaWxpdHkg dG8gZGVzY3JpYmUgcG9zc2libGUgY29ubmVjdGlvbnMgb3IgY3Jvc3MtDQogICBjb25uZWN0IGNh cGFiaWxpdHksIHdoZW4gYSBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IG1hdHJpeCBpcyBwcmVzZW50 DQogICBiZXR3ZWVuIHRoZSBpbnRlcmZhY2UgbGF5ZXJzLg0KDQozLjEuMS4gIExheWVyaW5nIE1v ZGVsDQoNCiAgIEFuIEVGTUN1IGludGVyZmFjZSBjYW4gYWdncmVnYXRlIHVwIHRvIDMyIFBoeXNp Y2FsIE1lZGl1bSBFbnRpdHkNCiAgIChQTUUpIHN1Yi1sYXllciBkZXZpY2VzIChtb2RlbXMpLCB1 c2luZyBzbyBjYWxsZWQgUE1FIEFnZ3JlZ2F0aW9uDQogICBGdW5jdGlvbiAoUEFGKS4NCg0KICAg QSBnZW5lcmljIEVGTUN1IGRldmljZSBjYW4gaGF2ZSBhIG51bWJlciBvZiBQaHlzaWNhbCBDb2Rp bmcgU3VibGF5ZXINCiAgIChQQ1MpIHBvcnRzLCBlYWNoIGNvbm5lY3RlZCB0byBhIE1BQyB2aWEg TWVkaXVtIEluZGVwZW5kZW50IEludGVyZmFjZQ0KICAgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVy LCBhbmQgY3Jvc3MtY29ubmVjdGVkIHRvIGEgbnVtYmVyIG9mDQogICB1bmRlcmx5aW5nIFBNRXMs IHdpdGggYSBzaW5nbGUgUENTIHBlciBQTUUgcmVsYXRpb25zaGlwLCBzZWUgY2xhdXNlDQogICA2 MS4xIG9mIFs4MDIuM2FoXSBmb3IgbW9yZSBkZXRhaWxzLg0KDQogICBFYWNoIFBNRSBpbiB0aGUg YWdncmVnYXRlZCBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBJbnRlcmZhY2UNCiAg IHRhYmxlIChpZlRhYmxlKSBhcyBhIHNlcGFyYXRlIGludGVyZmFjZSB3aXRoIGlmVHlwZSBvZiBz aGRzbCgxNjkpIGZvcg0KICAgMkJBU0UtVEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gIFRo ZSBpZlR5cGUgdmFsdWVzIGFyZSBkZWZpbmVkIGluDQogICBbSUFOQWlmVHlwZS1NSUJdLg0KDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIGlmU3BlZWQg Zm9yIGVhY2ggUE1FIFNIQUxMIHJldHVybiB0aGUgYWN0dWFsIGRhdGEgYml0cmF0ZSBvZiB0aGUN CiAgIGFjdGl2ZSBQTUUgKGUuZy4gZm9yIDJCYXNlVEwgUE1FcyBpdCBpcyBhIG11bHRpcGxlIG9m IDY0S2JwcykuICBaZXJvDQogICB2YWx1ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBp bml0aWFsaXppbmcgb3IgZG93bi4NCg0KICAgVGhlIGlmU3BlZWQgb2YgdGhlIFBDUyBpcyB0aGUg c3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVzDQogICBvZiBhbGwgUE1FcyBp biB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgZW5jYXBzdWxh dGlvbiBvdmVyaGVhZCBhbmQgUEFGIG92ZXJoZWFkLCBidXQgYWNjb3VudGluZyBmb3IgdGhlDQog ICBJbnRlci1GcmFtZSBHYXBzIChJRkcpLg0KDQogICBXaGVuIHVzaW5nIHRoZSBzdGF0ZWQgZGVm aW5pdGlvbiBvZiBpZlNwZWVkIGZvciB0aGUgUENTLCB0aGVyZSB3b3VsZA0KICAgYmUgbm8gZnJh bWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gKHRoZSB0ZXN0LXNldHMgYXJl DQogICBjb25maWd1cmVkIHRvIGdlbmVyYXRlIDEwMCUgb2YgYmFjayB0byBiYWNrIHRyYWZmaWMs IGkuZS4gbWluaW1hbA0KICAgSUZHLCBhdCAxMCBvciAxMDBNYnBzLCB3aXRoIG1pbiBhbmQgbWF4 IGZyYW1lIHNpemVzOyB0aGUgRUZNDQogICBpbnRlcmZhY2VzIGFyZSBhZ2dyZWdhdGVkLCB0byBh Y2hpZXZlIHRoZSBzaG93biBzcGVlZCk6DQoNCiAgICAgIC4tLS0tLS0tLiAgICAgICAgICAgLi0t LiAgICAgICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KICAgICAgfHRlc3RzZXR8LS0x MEJhc2VULS18Q098LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQogICAgICAn LS0tLS0tLScgICAgICAgICAgICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0t LScNCiAgICAgICAgaWZTcGVlZD0gIDEwTWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJw cw0KDQogICAgICAuLS0tLS0tLS4gICAgICAgICAgICAuLS0uICAgICAgICAgICAgLi0tLS4gICAg ICAgICAgICAuLS0tLS0tLS4NCiAgICAgIHx0ZXN0c2V0fC0tMTAwQmFzZVQtLXxDT3wtLTEwUGFz c1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KICAgICAgJy0tLS0tLS0nICAgICAgICAg ICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0tLS0nDQogICAgICAgIGlm U3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMNCg0KICAgICAg ICAgICAgRmlndXJlIDE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MN Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg IFtQYWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICBUaGUgZm9sbG93aW5nIGZpZ3Vy ZSBzaG93cyB0aGUgSUVFRSA4MDIuMyBsYXllcmluZyBkaWFncmFtIGFuZA0KICAgY29ycmVzcG9u ZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJsZToNCg0KICAgIC4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLiAgLQ0KICAgIHwgICAgICAgIExMQyAgICAgICAgICAgICAgfCAgXg0KICAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAxIGlmRW50cnkNCiAgICB8ICAgICAgICBN QUMgICAgICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCiAgICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICkgICBpZk1hdUVudHJ5DQogICAgfCAgICAgICAg UmVjb25zaWxpYXRpb24gICB8ICB8ICAgICBpZk1hdVR5cGU6IGRvdDNNYXVUeXBlMkJhc2VUTCBv cg0KICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3Qz TWF1VHlwZTEwUGFzc1RTDQogICAgfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB2DQogICAg Ky0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0rICAtDQogICAgfCBUQyBcICAgICAgICB8ICAgfCAg ICAgICB8ICBeDQogICAgKy0tLS0tXCAgICAgICB8ICAgfCAgICAgICB8ICB8DQogICAgfCBQTUEg IClQTUUgMSB8Li4ufCBQTUUgTiB8ICApIE4gaWZFbnRyeSAgKE49MS4uMzIpDQogICAgKy0tLS0t LyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNsKDE2OSkgb3IgdmRzbCg5 NykNCiAgICB8IFBNRC8gICAgICAgIHwgICB8ICAgICAgIHwgIHYNCiAgICAnLS0tLS0tLS0tLS0t LSstLS0rLS0tLS0tLScgIC0NCg0KICAgICBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAgICAg ICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KICAgICBNQUMgLSBNZWRpYSBBY2Nl c3MgQ29udHJvbCAgICAgICBQTUQgLSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgIFBD UyAtIFBoeXNpY2FsIENvZGluZyBTdWItbGF5ZXIgIFBNRSAtIFBoeXNpY2FsIE1lZGl1bSBFbnRp dHkNCiAgICAgVEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQoNCiAgICAgICAgICBGaWd1 cmUgMjogVXNlIG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRzDQoNCiAg IFRoZSBpZlN0YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhl IGFnZ3JlZ2F0ZWQNCiAgIEVGTUN1IHBvcnQgKFBDUykgYW5kIHRoZSBQTUVzIGNvbm5lY3RlZCB0 byBpdC4gaWZTdGFja1RhYmxlIGFsbG93cyBhDQogICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGlj YXRpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgdG8gYSBwYXJ0 aWN1bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhlDQog ICBhcHBsaWNhdGlvbikuICBUaGUgaWZJbnZTdGFja1RhYmxlLCBiZWluZyBhbiBpbnZlcnRlZCB2 ZXJzaW9uIG9mIHRoZQ0KICAgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVh bnMgZm9yIGEgTmV0d29yayBNYW5hZ2VtZW50DQogICBhcHBsaWNhdGlvbiB0byByZWFkIGEgc3Vi c2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kIHRoZXJlYnkNCiAgIGRldGVybWluZSB3aGljaCBQ Q1MgcnVucyBvbiB0b3Agb2YgYSBwYXJ0aWN1bGFyIFBNRS4NCg0KICAgQSBuZXcgdGFibGUgaWZD YXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLA0KICAg c3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBpbnRlcmZhY2UgKGUuZy4gIFBDUyBwb3J0 KSBhIGxpc3Qgb2YNCiAgIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gIFBNRXMpLCB3aGlj aCBjYW4gcG9zc2libHkgYmUgY3Jvc3MtDQogICBjb25uZWN0ZWQgdG8gdGhhdCBoaWdoZXItbGF5 ZXIgaW50ZXJmYWNlLCBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy0NCiAgIGNvbm5lY3QgY2FwYWJp bGl0eSBvZiB0aGUgZGV2aWNlLiAgVGhpcyB0YWJsZSwgbW9kZWxlZCBhZnRlcg0KICAgaWZTdGFj a1RhYmxlLCBpcyByZWFkIG9ubHksIHJlZmxlY3RpbmcgY3VycmVudCBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UsIHdoaWNoIGNhbiBiZSBkeW5hbWlj IGluIHNvbWUNCiAgIGltcGxlbWVudGF0aW9ucyAoZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkIG9u IGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQNCiAgIHRoZSBtb2R1bGUgaXMgcHVsbGVkIG91dCkuICBO b3RlIHRoYXQgUE1FIGF2YWlsYWJpbGl0eSBwZXIgUENTLA0KICAgZGVzY3JpYmVkIGJ5IGlmQ2Fw U3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICBm b3IgZXhhbXBsZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZiBhIFBDUyBvciBieSB0aGUgUE1F IGluDQogICBxdWVzdGlvbiBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIFBDUy4g IFNvLCBpbiBvcmRlciB0bw0KICAgZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIFBNRSBjYW4gYmUg Y29ubmVjdGVkIHRvIHRoZSBQQ1MsIGFsbA0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRl cm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZl YnJ1YXJ5IDIwMDcNCg0KDQogICByZXNwZWN0aXZlIHBhcmFtZXRlcnMgKGUuZy4gaWZDYXBTdGFj a1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kDQogICBlZm1DdVBBRkNhcGFjaXR5KSBTSEFMTCBiZSBp bnNwZWN0ZWQuDQoNCiAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28gZGVmaW5lZCBpbiB0 aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxh eWVyIGludGVyZmFjZXMgKGUuZy4gIFBDUyBwb3J0cykgY2FuDQogICBwb3NzaWJseSBiZSBjb25u ZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFjZSAoZS5nLg0KICAgUE1F KSwgcHJvdmlkaW5nIGludmVydGVkIG1hcHBpbmcgb2YgaWZDYXBTdGFja1RhYmxlLiAgV2hpbGUg aXQNCiAgIGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYmV5b25kIHRoYXQgYWxy ZWFkeSBjb250YWluZWQgaW4NCiAgIHRoZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZkludkNhcFN0 YWNrVGFibGUgaGFzIHRoZSBpZkluZGV4IHZhbHVlcyBpbg0KICAgaXRzIElOREVYIGNsYXVzZSBp biB0aGUgcmV2ZXJzZSBvcmRlciwgaS5lLiwgdGhlIGxvd2VyLWxheWVyDQogICBpbnRlcmZhY2Ug Zmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVyZmFjZSBzZWNvbmQsIHByb3ZpZGluZyBh bg0KICAgZWZmaWNpZW50IG1lYW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlv biB0byByZWFkIGEgc3Vic2V0DQogICBvZiB0aGUgaWZDYXBTdGFja1RhYmxlIGFuZCB0aGVyZWJ5 IGRldGVybWluZSB3aGljaCBpbnRlcmZhY2VzIGNhbiBiZQ0KICAgY29ubmVjdGVkIHRvIHJ1biBv biB0b3Agb2YgYSBwYXJ0aWN1bGFyIGludGVyZmFjZS4NCg0KMy4xLjIuICBQTUUgQWdncmVnYXRp b24gRnVuY3Rpb24gKFBBRikNCg0KICAgVGhlIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBhbGxvd3MgYSBudW1iZXIgb2YgUE1FcyB0byBiZQ0KICAgYWdncmVnYXRlZCBvbnRvIGEgUENT IHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMsDQogICB0cmFuc21pdHRp bmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRpcGxlIFBNRXMgYW5kIGFzc2VtYmxpbmcgdGhlDQog ICBvcmlnaW5hbCBmcmFtZXMgYXQgdGhlIHJlbW90ZSBwb3J0LiAgUEFGIGlzIE9QVElPTkFMLCBt ZWFuaW5nIHRoYXQgYQ0KICAgZGV2aWNlIHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZy YWdtZW50YXRpb24gYW5kIHJlLWFzc2VtYmx5IGlmDQogICB0aGlzIGZ1bmN0aW9uIGlzIHN1cHBv cnRlZCBieSB0aGUgZGV2aWNlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlDQogICBhZ2VudCBpcyBS RVFVSVJFRCB0byByZXBvcnQgb24gdGhlIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9y dHMNCiAgICgyQkFTRS1UTCBhbmQgMTBQQVNTLVRTKS4NCg0KICAgVGhlIEVGTS1DVS1NSUIgbW9k dWxlIGFsbG93cyBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0bw0KICAgcXVlcnkg UEFGIGNhcGFiaWxpdHkgYW5kIGVuYWJsZS9kaXNhYmxlIGl0IGlmIHN1cHBvcnRlZC4gIE5vdGUg dGhhdA0KICAgZW5hYmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24g YW5kIHJlLWFzc2VtYmx5LCBldmVuDQogICBvbiBhIHNpbmdsZS1QTUUgcG9ydC4NCg0KMy4xLjMu ICBEaXNjb3ZlcnkgT3BlcmF0aW9uDQoNCiAgIFRoZSBFRk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxs eSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sIHdoZXJlYnkNCiAgIFBNRXMsIGR1cmluZyBp bml0aWFsaXphdGlvbiwgZXhjaGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQgdGhlaXINCiAgIHJlc3Bl Y3RpdmUgYWdncmVnYXRpb24gZ3JvdXBzIChQQ1MpLiAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gdGhl biBiZQ0KICAgdXNlZCB0byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBh dXRvbWF0aWMgYXNzaWdubWVudA0KICAgb2YgdGhlIGxvY2FsIFBNRXMgaW50byBhZ2dyZWdhdGlv biBncm91cHMgaW5zdGVhZCBvZiBhIGZpeGVkIHByZS0NCiAgIGNvbmZpZ3VyYXRpb24uDQoNCiAg IFRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgYWxsb3cgYSBOZXR3b3Jr IE1hbmFnZW1lbnQNCiAgIGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNo YW5pc20gYW5kIHF1ZXJ5IGl0cyByZXN1bHRzLg0KICAgTm90ZSB0aGF0IHRoZSBEaXNjb3Zlcnkg bWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYgUEFGIGlzIHN1cHBvcnRlZA0KICAgYW5kIGVuYWJs ZWQuDQoNCiAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBEaXNjb3ZlcnkgbWVjaGFu aXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICBpZkNhcFN0YWNrVGFibGUuICBUaGUgZm9sbG93aW5n IHBzZXVkby1jb2RlIGdpdmVzIGFuIGV4YW1wbGUgb2YgdGhlDQogICBEaXNjb3ZlcnkgYW5kIGF1 dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljIFBBRiBlbmFibGVkDQoNCg0KDQpC ZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAg ICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJm YWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIG11bHRpLVBDUyBFRk1D dSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJhbCBPZmZpY2UgKENPKSwgdXNpbmcgb2JqZWN0cw0K ICAgZGVmaW5lZCBpbiB0aGVzZSBNSUIgbW9kdWxlcyBhbmQgaW4gSUYtTUlCIFtOb3RlIHRoYXQg YXV0b21hdGljIFBNRQ0KICAgYXNzaWdubWVudCBpcyBvbmx5IHNob3duIGhlcmUgZm9yIHRoZSBw dXJwb3NlcyBvZiB0aGUgZXhhbXBsZS4gIEZpeGVkDQogICBQTUUgcHJlLWFzc2lnbm1lbnQsIG1h bnVhbCBhc3NpZ25tZW50IG9yIGF1dG8tYXNzaWdubWVudCB1c2luZyBhbg0KICAgYWx0ZXJuYXRp dmUgaW50ZXJuYWwgYWxnb3JpdGhtIG1heSBiZSBjaG9zZW4gYnkgYSBwYXJ0aWN1bGFyDQogICBp bXBsZW1lbnRhdGlvbl06DQoNCiAvLyBHbyBvdmVyIGFsbCBQQ1MgcG9ydHMgaW4gdGhlIENPIGRl dmljZQ0KIEZPUkVBQ0ggcGNzW2ldIElOIENPX2RldmljZQ0KIHsgLy8gUGVyZm9ybSBkaXNjb3Zl cnkgYW5kIGF1dG8tYXNzaWdubWVudCBvbmx5IG9uIFBBRiBlbmFibGVkIHBvcnRzDQogICAvLyB3 aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICAgSUYgKCBwY3NbaV0uUEFGU3VwcG9ydGVkIEFORCBw Y3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQogICAgIHsgZGMgPSBwY3Nb aV0uRGlzY292ZXJ5Q29kZSA9IE1BQ1tpXTsgLy8gdW5pcXVlIDYtb2N0ZXRzIHBlciBQQ1MNCiAg ICAgICAvLyBHbyBvdmVyIGFsbCBkaXNjb25uZWN0ZWQgUE1Fcywgd2hpY2ggY2FuDQogICAgICAg Ly8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAgICBGT1JFQUNIIHBt ZVtqXSBJTiBpZkNhcFN0YWNrVGFibGVbcGNzW2ldXSBBTkQNCiAgICAgICAgICAgICAgICAgICAg ICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtqXV0gIC8vIG5vdCBjb25uZWN0ZWQNCiAgICAgICAg IHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZh bHVlDQogICAgICAgICAgIC8vIG9mIHRoZSBsb2NhbCA2LW9jdGV0IGRpc2NvdmVyeSBjb2RlIHRv IHRoZSByZW1vdGUNCiAgICAgICAgICAgLy8gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgKHZpYSBo YW5kc2hha2UgbWVjaGFuaXNtKS4NCiAgICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gaXMgYXRv bWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAgLy8gd291bGQgc3Vj Y2VlZCBvbmx5IGlmIHRoZSByZW1vdGUgZGlzY292ZXJ5IHJlZ2lzdGVyIHdhcw0KICAgICAgICAg ICAvLyB6ZXJvLiBSZWFkIHRoZSByZW1vdGUgZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgdmlhIEdl dA0KICAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0dGFj aGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgIC8vIGlzIGluZGVlZCBtYXJrZWQgYXMgYmVpbmcg dGhlIENPX2RldmljZSBwZWVyLg0KICAgICAgICAgICBwbWVbal0uUmVtb3RlRGlzY292ZXJ5Q29k ZSA9IGRjOyAgICAgICAgLy8gU2V0LWlmLUNsZWFyDQogICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICAgSUYgKCByID09IGRj IEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAg ICB7IC8vIFJlbW90ZSBSVF9kZXZpY2UgY29ubmVjdGVkIHZpYSBQTUVbal0gaXMvd2FzIGEgcGVl cg0KICAgICAgICAgICAgICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBmb3IgYW5v dGhlciBQTUUgaW4gdGhlDQogICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAgLy8gcmVhY2hlZCB5 ZXQpLg0KICAgICAgICAgICAgICAgLy8gQ29ubmVjdCB0aGlzIFBNRSB0byB0aGUgUENTICh2aWEg aWZTdGFja1RhYmxlLA0KICAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGlu dmVyc2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgICAvLyB1cGRhdGVkIGF1dG9t YXRpY2FsbHkpDQogICAgICAgICAgICAgICBBREQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3Nb aV1dOw0KICAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0 YWNrVGFibGVbcG1lW2pdXQ0KICAgICAgICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0u TnVtUE1FcyArIDE7DQogICAgICAgICAgICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29u bmVjdGVkIFBNRXMsDQogICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9k ZXZpY2UgYW5kIGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAgLy8gdGhlIFBDUyBwcm92 aWRlZCB0aGVyZSBpcyBlbm91Z2ggcm9vbSBmb3IgbW9yZSBQTUVzLg0KICAgICAgICAgICAgICAg Rk9SRUFDSCBwbWVba10gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAg ICAgICAgICAgeyByID0gcG1lW2tdLlJlbW90ZURpc2NvdmVyeUNvZGU7IC8vIEdldA0KICAgICAg ICAgICAgICAgICAgIElGICggciA9PSBkYyBBTkQNCiAgICAgICAgICAgICAgICAgICAgICAgIHBj c1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5KQ0KICAgICAgICAgICAgICAgICAg ICAgeyBBREQgcG1lW2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIHBjc1tpXSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgIFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg ICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOw0KICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfQ0KICAg ICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZGlzY292ZXJlZCBhbGwgbG9jYWwgUE1F cyB3aGljaA0KICAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNh bWUgcmVtb3RlIFJUX2RldmljZQ0KICAgICAgICAgICAvLyBhbmQgY29ubmVjdGVkIHRoZW0gdG8g UENTW2ldLiBHbyB0byB0aGUgbmV4dCBQQ1MuDQogICAgICAgICAgIEJSRUFLOw0KICAgICAgICAg fQ0KICAgICB9DQogfQ0KDQogICBBbiBTTk1QIEFnZW50IGZvciBhIEVGTUN1IGRldmljZSBidWls ZHMgaWZDYXBTdGFja1RhYmxlIGFuZCBpdHMNCiAgIGludmVyc2UgaWZJbnZDYXBTdGFja1RhYmxl IGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluDQogICB0aGUgQ2xhdXNl IDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZSBbODAyLjNhaF0gNjEuMS41LjMgYW5kDQog ICA0NS4yLjMuMjApLg0KDQogICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cg Zm9yIGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhl IFBNRSB0byB0aGUgUENTLCB3aGljaCBjYW4gYmUgZG9uZSBieQ0KICAgbW9kaWZ5aW5nIENsYXVz ZSA0NSBQTUVfQWdncmVnYXRlX3JlZ2lzdGVyIChzZWUgWzgwMi4zYWhdIDYxLjEuNS4zDQogICBh bmQgNDUuMi4zLjIxKS4NCg0KICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8g YmUgb3BlcmF0aW9uYWxseSAnZG93bicgZm9yIHRoZQ0KICAgY29ubmVjdGlvbiB0byBzdWNjZWVk LiAgSW4gZmFjdCwgYSBkeW5hbWljIFBNRSBhZGRpdGlvbiAoYW5kIHJlbW92YWwpDQogICBNQVkg YmUgaW1wbGVtZW50ZWQgd2l0aCBhbiBhdmFpbGFibGUgUE1FIGJlaW5nIGluaXRpYWxpemVkIGZp cnN0IChieQ0KICAgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbiBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5DQogICAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcg YSByZXNwZWN0aXZlIGlmU3RhY2tUYWJsZSAoYW5kIHJlc3BlY3RpdmUNCiAgIGlmSW52U3RhY2tU YWJsZSkgZW50cnkuDQoNCiAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSByZW1vdmFsIG9mIHRo ZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgIGZyb20gYW4gb3BlcmF0aW9uYWxseSAn dXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUNCiAgIGltcGxlbWVudGF0aW9uLCBhcyB0 aGlzIGFjdGlvbiB3b3VsZCBjb21wbGV0ZWx5IGRyb3AgdGhlIGxpbmsuDQoNCjMuMS40LiAgRUZN Q3UgcG9ydHMgaW5pdGlhbGl6YXRpb24NCg0KICAgRUZNQ3UgcG9ydHMgYmVpbmcgYnVpbHQgb24g dG9wIG9mIHhEU0wgdGVjaG5vbG9neSwgcmVxdWlyZSBhIGxlbmd0aHkNCiAgIGluaXRpYWxpemF0 aW9uIG9yICd0cmFpbmluZycgcHJvY2VzcywgYmVmb3JlIGFueSBkYXRhIGNhbiBwYXNzLg0KICAg RHVyaW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdv cmsNCiAgIGNvb3BlcmF0aXZlbHkgdG8gYWNoaWV2ZSByZXF1aXJlZCBkYXRhIHJhdGUgb24gYSBw YXJ0aWN1bGFyIGNvcHBlcg0KICAgcGFpci4gIFNvbWV0aW1lcywgd2hlbiB0aGUgY29wcGVyIGxp bmUgaXMgdG9vIGxvbmcgb3IgdGhlIG5vaXNlIG9uDQogICB0aGUgbGluZSBpcyB0b28gaGlnaCwg dGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwgdG8gYWNoaWV2ZSBhDQogICBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCg0KICAgVGhlIGlm QWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMgdGhlIGRlc2lyZWQg c3RhdGUNCiAgIG9mIGEgUENTIHdpdGggYWxsIHRoZSBQTUVzIGNvbm5lY3RlZCB0byBpdCBvciBv ZiBhbiBpbmRpdmlkdWFsIFBNRQ0KICAgcG9ydC4gIFNldHRpbmcgdGhpcyBvYmplY3QgdG8gJ3Vw JyBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUNCiAgIHRvIHN0YXJ0IGluaXRpYWxp emF0aW9uIHByb2Nlc3MsIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3INCiAgIEVG TUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcyBpbnZvbHZlZC4gIFRoZSBpZk9wZXJTdGF0 dXMgb2JqZWN0DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICAgW1BhZ2UgOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgIHNob3dzIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiBhbiBpbnRlcmZhY2UgKGV4dGVuZGVk IGJ5DQogICBpZk1hdU1lZGlhQXZhaWxhYmxlIG9iamVjdCBmcm9tIE1BVS1NSUIgZm9yIFBDUyBh bmQNCiAgIGVmbUN1UG1lT3BlclN0YXR1cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVs ZSBmb3IgUE1FDQogICBpbnRlcmZhY2VzKS4NCg0KICAgQSBkaXNjb25uZWN0ZWQgUE1FIG1heSBi ZSBpbml0aWFsaXplZCBieSBjaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlDQogICBmcm9tICdkb3du JyB0byAndXAnLiAgQ2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZSB0byAndXAnIG9uIHRoZSBQQ1MN CiAgIGluaXRpYWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3VsYXIgUENT LiAgTm90ZSB0aGF0IGluDQogICBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5IGZhaWwg dG8gaW5pdGlhbGl6ZSB3aGlsZSBvdGhlcnMNCiAgIHN1Y2NlZWQuICBUaGUgUENTIGlzIGNvbnNp ZGVyZWQgb3BlcmF0aW9uYWxseSAndXAnIGlmIGF0IGxlYXN0IG9uZQ0KICAgUE1FIGFnZ3JlZ2F0 ZWQgYnkgaXRzIFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuICBXaGVuIGFsbCBQTUVzDQogICBj b25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJl ZA0KICAgb3BlcmF0aW9uYWxseSAnbG93ZXJMYXllckRvd24nLiAgVGhlIFBDUyBTSEFMTCBiZSBj b25zaWRlcmVkDQogICBvcGVyYXRpb25hbGx5ICdub3RQcmVzZW50JyBpZiBpdCBpcyBub3QgY29u bmVjdGVkIHRvIGFueSBQTUUuICBUaGUNCiAgIFBDUy9QTUUgaW50ZXJmYWNlIFNIQUxMIHJlbWFp biBvcGVyYXRpb25hbGx5ICdkb3duJyBkdXJpbmcNCiAgIGluaXRpYWxpemF0aW9uLg0KDQogICBU aGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGV4 cGFuZHMgUE1FJ3MNCiAgIGlmT3BlclN0YXR1cyB2YWx1ZSBvZiAnZG93bicgdG8gJ2Rvd25SZWFk eScsICdkb3duTm90UmVhZHknIGFuZA0KICAgJ2luaXQnIHZhbHVlcywgaW5kaWNhdGluZyB2YXJp b3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQoNCjMuMS41LiAgVXNhZ2Ugb2YgaWZUYWJs ZQ0KDQogICBCb3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUg bWFuYWdlZCB1c2luZw0KICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICBtb2R1bGUgYW5kIGdlbmVyaWMgaW50ZXJmYWNl IG9iamVjdHMgZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIsIHdpdGgNCiAgIGFsbCBtYW5hZ2Vt ZW50IHRhYmxlIGVudHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4DQogICBp ZkluZGV4Lg0KDQogICBUaGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgRUZNQ3Ugc3BlY2lm aWMgaW50ZXJwcmV0YXRpb25zIGZvcg0KICAgc29tZSBvZiB0aGUgaWZUYWJsZSBvYmplY3RzIHNw ZWNpZmllZCBpbiB0aGUgbWFuZGF0b3J5DQogICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdyb3VwOg0K DQogICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgSUYtTUlCIG9iamVjdCB8IEVGTUN1IGludGVycHJldGF0 aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8 IGlmSW5kZXggICAgICAgfCBJbnRlcmZhY2UgaW5kZXguIE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQg ZWFjaCBQQ1MgIHwNCiAgIHwgICAgICAgICAgICAgICB8IGluIHRoZSBFRk1DdSBQSFkgTVVTVCBo YXZlIGEgdW5pcXVlIGluZGV4LCBhcyAgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgdGhlcmUg YXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcyAgICB8DQogICB8ICAgICAg ICAgICAgICAgfCBhY2Nlc3NpYmxlIG9ubHkgb24gdGhlIFBDUyBvciBQTUUgbGV2ZWwuICAgICAg ICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlR5cGUgICAgICAgIHwgZXRoZXJuZXRDc21h Y2QoNikgZm9yIFBDUywgc2hkc2woMTY5KSBmb3IgICAgICAgICB8DQogICB8ICAgICAgICAgICAg ICAgfCAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMgUE1FICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KDQoNCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlNwZWVkICAgICAgIHwgT3Bl cmF0aW5nIGRhdGEgcmF0ZSBmb3IgdGhlIFBNRS4gRm9yIHRoZSBQQ1MgaXQgICB8DQogICB8ICAg ICAgICAgICAgICAgfCBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJh dGVzIG9mIHwNCiAgIHwgICAgICAgICAgICAgICB8IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlv biBncm91cCwgd2l0aG91dCB0aGUgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgNjQvNjVCIGVu Y2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kIFBBRiBvdmVyaGVhZCwgICB8DQogICB8ICAgICAgICAg ICAgICAgfCBidXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1lIEdhcHMgKElGRykgICAg IHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZkFkbWluU3RhdHVzIHwgU2V0dGluZyB0aGlzIG9i amVjdCB0byAndXAnIGluc3RydWN0cyBhICAgICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg fCBwYXJ0aWN1bGFyIFBDUyAod2l0aCBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gaXQpIG9yIHwNCiAg IHwgICAgICAgICAgICAgICB8IFBNRSB0byBzdGFydCBpbml0aWFsaXphdGlvbiBwcm9jZXNzICAg ICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGlmT3BlclN0YXR1cyAgfCBlZm1D dVBtZU9wZXJTdGF0dXMgc3VwcGxlbWVudHMgdGhlICdkb3duJyB2YWx1ZSAgIHwNCiAgIHwgICAg ICAgICAgICAgICB8IG9mIGlmT3BlclN0YXR1cyBmb3IgUE1Fcy4gICAgICAgICAgICAgICAgICAg ICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCiAgICAgICAgICAgICAgVGFibGUgMTogRUZNQ3Ug aW50ZXJwcmV0YXRpb24gb2YgSUYtTUlCIG9iamVjdHMNCg0KMy4yLiAgUmVsYXRpb24gdG8gU0hE U0wgTUlCIG1vZHVsZQ0KDQogICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWlsYXIgdG8gUE1FKHMp IGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBIRFNMMi1T SERTTC1MSU5FLU1JQiBbUkZDNDMxOV0uICBOb3RlIHRoYXQgbm90IGFsbA0KICAgYXR0cmlidXRl cyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4gSERTTDItU0hEU0wtTElORS1NSUIgaGF2 ZQ0KICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRlcyBh bmQgQ2xhdXNlIDQ1DQogICByZWdpc3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQoNCiAgIEJl Y2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxp Y2l0eSwNCiAgIHVuaWZpY2F0aW9uIG9mIGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0Ut VEwgYW5kIDEwUEFTUy1UUyBQTUVzDQogICBhbmQgbmFtZSBjb25zaXN0ZW5jeSAoZS5nLiBwcmVm aXhpbmcgdGhlIDJCQVNFLVRMIFBNRSByZWxhdGVkIG9iamVjdHMNCiAgIHdpdGggJ2VmbUN1UG1l MkInIGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvDQogICBy ZWZlcmVuY2UgSERTTDItU0hEU0wtTElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhl IHJlbGV2YW50DQogICBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZS4NCg0KICAgSG93 ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5LCBub3QgYXZhaWxhYmxlIGluIHRoZSBFRk0tQ1Ut TUlCDQogICBtb2R1bGUsIGlzIHJlcXVpcmVkIGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwgZS5n LiBwZXJmb3JtYW5jZQ0KICAgbW9uaXRvcmluZywgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1N SUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQNCiAgIGFwcGxpZWQgZm9yIFBNRXMgb2YgMkJB U0UtVEwgc3VidHlwZS4NCg0KMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlDQoNCiAg IFZEU0wgbW9kZW1zLCBzaW1pbGFyIHRvIHRoZSBQTUUocykgY29tcHJpc2luZyBhIDEwUEFTUy1U UyBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBWRFNMLUxJTkUtRVhULU1DTS1NSUIgW1JGQzQw NzBdLiAgTm90ZSB0aGF0IG5vdCBhbGwNCiAgIGF0dHJpYnV0ZXMgb2YgVkRTTCBtb2RlbXMgcmVm bGVjdGVkIGluIFZEU0wtTElORS1FWFQtTUNNLU1JQiBoYXZlDQogICBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMgKENsYXVzZSAzMCBhdHRyaWJ1dGVzIGFuZCBDbGF1c2UgNDUNCiAgIHJlZ2lz dGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4NCg0KICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJl bmNlcyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgdW5pZmljYXRpb24g b2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMN CiAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNl IFZEU0wtTElORS1FWFQtDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgIE1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9i amVjdHMgaW4gdGhlIEVGTS1DVS0NCiAgIE1JQiBtb2R1bGUuDQoNCiAgIEhvd2V2ZXIsIGlmIHNv bWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQg0KICAgbW9k dWxlLCBpcyByZXF1aXJlZCBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBQTUUsIHJlbGV2YW50IFZEU0wt TElORS1FWFQtDQogICBNQ00tTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQg Zm9yIFBNRXMgb2YgMTBQQVNTLVRTDQogICBzdWJ0eXBlLg0KDQozLjQuICBSZWxhdGlvbiB0byBF dGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXMNCg0KICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgW1JGQzM2MzVdIGFuZCBNQVUtTUlCDQogICBbSS1ELmlldGYtaHVi bWliLXJmYzM2MzZiaXNdIGlzIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3UgaW50ZXJmYWNlcy4NCg0K ICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVUeXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3Qz TWF1VHlwZSkgYW5kDQogICBjb3JyZXNwb25kaW5nIGJpdCBkZWZpbml0aW9ucyBvZiBpZk1hdVR5 cGVMaXN0Qml0cw0KICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBiZWVuIGRlZmluZWQg aW4gdGhlIElBTkEtTUFVLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSBmb3Ig dGhlIEVGTUN1IE1BVXM6DQoNCiAgIG8gIGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwg LSBmb3IgMkJBU0UtVEwgTUFVDQoNCiAgIG8gIGRvdDNNYXVUeXBlMTBQYXNzVFMgYW5kIGIxMFBh c3NUUyAtIGZvciAxMFBBU1MtVFMgTUFVDQoNCiAgIEFkZGl0aW9uYWxseSBJQU5BLU1BVS1NSUIg ZGVmaW5lcyB0d28gbmV3IHZhbHVlcyBvZg0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0 ZXh0dWFsIGNvbnZlbnRpb24gSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUNCiAgIC0gYXZhaWxhYmxl UmVkdWNlZCBhbmQgcmVhZHksIHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLiAgRHVl DQogICB0byB0aGUgUE1FIGFnZ3JlZ2F0aW9uLCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Yg c29tZSBwb3NzaWJsZQ0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSB2YWx1ZXMgZGlmZmVycyBmcm9t IG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgbyAgdW5rbm93biAtIHRoZSBFRk1DdSBpbnRl cmZhY2UgKFBDUyB3aXRoIGNvbm5lY3RlZCBQTUVzKSBpcw0KICAgICAgaW5pdGlhbGl6aW5nDQoN CiAgIG8gIHJlYWR5IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGlu IHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGUg UENTKSBpcyByZWFkeSBmb3IgaGFuZHNoYWtlDQoNCiAgIG8gIGF2YWlsYWJsZSAtIHRoZSBpbnRl cmZhY2UgaXMgdXAsIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KICAgICAgYXJl IHVwDQoNCiAgIG8gIG5vdEF2YWlsYWJsZSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYWxsIFBN RXMgaW4gdGhlIGFnZ3JlZ2F0aW9uDQogICAgICBncm91cCBhcmUgZG93biwgbm8gaGFuZHNoYWtl IHRvbmVzIGFyZSBkZXRlY3RlZCBieSBhbnkgUE1FDQoNCiAgIG8gIGF2YWlsYWJsZVJlZHVjZWQg LSB0aGUgaW50ZXJmYWNlIGlzIHVwLCBhIGxpbmsgZmF1bHQgaXMgZGV0ZWN0ZWQNCiAgICAgIGF0 IHRoZSByZWNlaXZlIGRpcmVjdGlvbiBieSBvbmUgb3IgbW9yZSBQTUVzIGluIHRoZSBhZ2dyZWdh dGlvbg0KICAgICAgZ3JvdXAsIGJ1dCBhdCBsZWFzdCBvbmUgUE1FIGlzIHVwDQoNCiAgIG8gIHBt ZExpbmtGYXVsdCAtIGEgbGluayBmYXVsdCBpcyBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJl Y3Rpb24NCiAgICAgIGJ5IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KDQogICBB cyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkgcmVw cmVzZW50aW5nIGENCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDEyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoN Cg0KICAgY29uc29saWRhdGlvbiBvZiBMTEMsIE1BQyBhbmQgUENTIChzdWIpbGF5ZXJzKSBTSEFM TCByZXR1cm4gYW4gaWZUeXBlDQogICBvZiBldGhlcm5ldENzbWFjZCg2KS4gIFdoaWxlIG1vc3Qg b2YgdGhlIE1BVSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdA0KICAgYXBwbGljYWJsZSB0byB0aGUg RUZNQ3UgcG9ydHMgKG5vIGF1dG8tbmVnb3RpYXRpb24sIGZhbHNlIGNhcnJpZXJzIG9yDQogICBq YWJiZXIpLCB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3ByaWF0ZSBpZk1hdVR5cGUNCiAgIChk b3QzTWF1VHlwZTJCYXNlVEwgb3IgZG90M21hdVR5cGUxMFBhc3NUUykgaW4gb3JkZXIgdG8gZGly ZWN0IHRoZQ0KICAgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBsb29rIGluIHRoZSBFRk0tQ1UtTUlC IG1vZHVsZSBmb3IgdGhlIGRlc2lyZWQNCiAgIGluZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUgdGhl IGluZm9ybWF0aW9uIG9uIHRoZSBwYXJ0aWN1bGFyIEVGTUN1DQogICBmbGF2b3IgdGhhdCBhbiBF Rk1DdSBwb3J0IGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZyb20NCiAgIGVmbUN1T3BlclN1YlR5 cGUsIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLg0KDQogICBTaW5jZSBFRk1DdSBQ TUVzIGFyZSBub3QgRXRoZXJMaWtlIGludGVyZmFjZXMsIHRoZXkgY2Fubm90IGJlDQogICBpbnN0 YW50aWF0ZWQgYXMgTUFVIGludGVyZmFjZSBvYmplY3RzLg0KDQoNCjQuICBNSUIgU3RydWN0dXJl DQoNCjQuMS4gIEVGTSBDb3BwZXIgTUlCIE92ZXJ2aWV3DQoNCiAgIFRoZSBtYWluIG1hbmFnZW1l bnQgb2JqZWN0cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUNCiAgIHNwbGl0 IGludG8gMiBncm91cHM6DQoNCiAgIG8gIGVmbUN1UG9ydCAtIGNvbnRhaW5pbmcgb2JqZWN0cyBm b3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLA0KICAgICAgc3RhdHVzIGFuZCBub3RpZmlj YXRpb25zLCBjb21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQoNCiAgIG8gIGVmbUN1UG1lIC0gY29u dGFpbmluZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgICBz dGF0dXMgYW5kIG5vdGlmaWNhdGlvbnMgb2YgRUZNQ3UgUE1Fcy4NCg0KICAgVGhlIGVmbUN1UG1l IGdyb3VwIGluIHR1cm4gY29udGFpbnMgZWZtQ3VQbWUyQiBhbmQgZWZtQ3VQbWUxMFANCiAgIGdy b3Vwcywgd2hpY2ggZGVmaW5lIFBNRSBQcm9maWxlcyBzcGVjaWZpYyB0byAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTDQogICBQTUVzIHJlc3BlY3RpdmVseSwgYXMgd2VsbCBhcyBQTUUgc3BlY2lmaWMg c3RhdHVzIGluZm9ybWF0aW9uLg0KDQo0LjIuICBJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBN SUIgT3ZlcnZpZXcNCg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIg dGFibGVzOg0KDQogICBvICBpZkNhcFN0YWNrVGFibGUgLSBjb250YWluaW5nIG9iamVjdHMgdGhh dCBkZWZpbmUgcG9zc2libGUNCiAgICAgIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIHN1Yi1sYXll cnMgb2YgYW4gaW50ZXJmYWNlIHdpdGggZmxleGlibGUNCiAgICAgIGNyb3NzLWNvbm5lY3QgKGNy b3NzLWNvbm5lY3QgY2FwYWJpbGl0eSkuDQoNCiAgIG8gIGlmSW52Q2FwU3RhY2tUYWJsZSAtIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2Fwc3RhY2tUYWJsZS4NCg0KNC4zLiAgUE1FIFByb2ZpbGVzDQoN CiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIEVGTUN1 IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2ZXJ5IEVGTUN1IFBI WSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiAgTW9yZW92ZXIsIG1vc3QgUE1FcyBhcmUgcHJv dmlzaW9uZWQgaWRlbnRpY2FsbHkgd2l0aCB0aGUNCiAgIHNhbWUgc2V0IG9mIHBhcmFtZXRlcnMu ICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9uaW5nIHByb2Nlc3MsIHRoZQ0KICAgRUZNLUNVLU1J QiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMsIHNpbWlsYXIgdG8N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgSERTTDIt U0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNNLU1JQi4gIEEgcHJvZmlsZSBpcyBh IHNldA0KICAgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3VyYXRpb24gb3Ig cmVwcmVzZW50YXRpb24gb2YgYQ0KICAgUE1FLiAgVGhlIHNhbWUgcHJvZmlsZSBjYW4gYmUgc2hh cmVkIGJ5IG11bHRpcGxlIFBNRSBwb3J0cywgdXNpbmcgdGhlDQogICBzYW1lIGNvbmZpZ3VyYXRp b24uDQoNCiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4gZWZtQ3VQbWUyQlByb2Zp bGVUYWJsZSBhbmQNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIGZvciAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIFBNRXMgcmVzcGVjdGl2ZWx5Lg0KICAgVGhlcmUgYXJlIDEyIHByZWRlZmluZWQg c3RhbmRhcmQgcHJvZmlsZXMgZm9yIDJCQVNFLVRMIGFuZCAyMg0KICAgc3RhbmRhcmQgcHJvZmls ZXMgZm9yIDEwUEFTUy1UUywgZGVmaW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yDQog ICByYXBpZCBwcm92aXNpb25pbmcgb2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gIElu IGFkZGl0aW9uIHRoZQ0KICAgRUZNLUNVLU1JQiBkZWZpbmVzIHR3byBhZGRpdGlvbmFsIHByZWRl ZmluZWQgcHJvZmlsZXMgZm9yICJiZXN0LQ0KICAgZWZmb3J0IiBwcm92aXNpb25pbmcgb2YgMkJB U0UtVEwgUE1Fcy4gIEFuIGFiaWxpdHkgdG8gZGVmaW5lIG5ldw0KICAgY29uZmlndXJhdGlvbiBw cm9maWxlcyBpcyBhbHNvIHByb3ZpZGVkIHRvIGFsbG93IGZvciBFRk1DdSBkZXBsb3ltZW50DQog ICB0YWlsb3JlZCB0byBzcGVjaWZpYyBjb3BwZXIgZW52aXJvbm1lbnQgYW5kIHNwZWN0cmFsIHJl Z3VsYXRpb25zLg0KDQogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3IgYWRtaW5pc3RyYXRp dmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhDQogICBzcGVjaWZpYyBQTUUgdmlhIGVmbUN1UG1l QWRtaW5Qcm9maWxlIG9iamVjdC4gIElmDQogICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJv LCB0aGVuIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUNCiAgIFBDUyBwb3J0LCBjb25u ZWN0ZWQgdG8gdGhlIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlDQog ICAob3IgYSBsaXN0IG9mIHBvc3NpYmxlIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuICBUaGlzIG1l Y2hhbmlzbSBhbGxvd3MNCiAgIHRvIHNwZWNpZnkgYSBjb21tb24gcHJvZmlsZShzKSBmb3IgYWxs IFBNRXMgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgIHBvcnQsIHdpdGggYW4gYWJpbGl0eSB0byBj aGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZw0KICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHRoZSBwcm9maWxlIHNldCBieQ0KICAg ZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgIEEgY3VycmVudCBvcGVyYXRpbmcgUE1FIHByb2ZpbGUg aXMgcG9pbnRlZCB0byBieSBlZm1DdVBtZU9wZXJQcm9maWxlDQogICBvYmplY3QuICBOb3RlIHRo YXQgdGhpcyBwcm9maWxlIGVudHJ5LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LA0KICAg dG8gcmVmbGVjdCBhY2hpZXZlZCBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQpDQog ICBpbml0aWFsaXphdGlvbi4NCg0KNC40LiAgTWFwcGluZyBvZiBJRUVFIDgwMi4zYWggTWFuYWdl ZCBPYmplY3RzDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVu IHJlbGV2YW50IG1hbmFnZWQgb2JqZWN0cw0KICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gWzgw Mi4zYWhdIENsYXVzZSAzMCwgYW5kIG1hbmFnZWQgb2JqZWN0cw0KICAgZGVmaW5lZCBpbiB0aGlz IGRvY3VtZW50IGFuZCBpbiBhc3NvY2lhdGVkIE1JQiBtb2R1bGVzLCBpLmUuLCB0aGUgSUYtDQog ICBNSUIgW1JGQzI4NjNdLg0KDQogICBOb3RlIHRoYXQgbWFqb3JpdHkgb2YgdGhlIG9iamVjdHMg ZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgZG8NCiAgIG5vdCBoYXZlIGRpcmVjdCBj b3VudGVycGFydHMgaW4gQ2xhdXNlIDMwIGFuZCBpbnN0ZWFkIHJlZmVyIHRvIENsYXVzZQ0KICAg NDUgcmVnaXN0ZXJzLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE0XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3QgICAgICAgfCBDb3JyZXNwb25kaW5nIFNOTVAgT2JqZWN0ICAgICAgIHwNCiAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KICAgfCBvTUFVIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KICAgfCBhTUFVVHlwZSAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZNYXVUeXBl IChNQVUtTUlCKSAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYU1BVVR5cGVM aXN0ICAgICAgICAgICAgICAgICAgICB8IGlmTWF1VHlwZUxpc3RCaXRzIChNQVUtTUlCKSAgICAg fA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFNZWRpYUF2YWlsYWJsZSAgICAgICAgICAgICAgICAg fCBpZk1lZGlhQXZhaWxhYmxlIChNQVUtTUlCKSAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAg fCBvUEFGIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFG SUQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZJbmRleCAoSUYtTUlCKSAgICAgICAgICAg ICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBoeUVuZCAgICAgICAgICAgICAgICAgICAg ICAgICB8IGVmbUN1UGh5U2lkZSAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r DQogICB8IGFQSFlDdXJyZW50U3RhdHVzICAgICAgICAgICAgICAgfCBlZm1DdVN0YXR1cyAgICAg ICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFGU3VwcG9ydGVkICAg ICAgICAgICAgICAgICAgIHwgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICB8DQogICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCiAgIHwgb1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdlICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgfCAoT3B0aW9uYWwpICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsNCiAgIHwgYVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICAgICB8IGVmbUN1UEFGQWRt aW5TdGF0ZSAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFMb2NhbFBBRkNh cGFjaXR5ICAgICAgICAgICAgICAgfCBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhTG9jYWxQTUVBdmFpbGFibGUgICAgICAgICAgICAgIHwg aWZDYXBTdGFja1RhYmxlICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwg YUxvY2FsUE1FQWdncmVnYXRlICAgICAgICAgICAgICB8IGlmU3RhY2tUYWJsZSAoSUYtTUlCKSAg ICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFSZW1vdGVQQUZTdXBwb3J0ZWQgICAg ICAgICAgICAgfCBlZm1DdVJlbW90ZVBBRlN1cHBvcnRlZCAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhUmVtb3RlUEFGQ2FwYWNpdHkgICAgICAgICAgICAgIHwgZWZtQ3VSZW1vdGVQ QUZDYXBhY2l0eSAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVJlbW90ZVBNRUFn Z3JlZ2F0ZSAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IG9QTUUgLSAxMFAvMkIgUGFja2FnZSAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgIHwgKE1hbmRhdG9yeSkgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFQTUVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpZkluZGV4 IChJRi1NSUIpICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FQWRt aW5TdGF0ZSAgICAgICAgICAgICAgICAgIHwgaWZBZG1pblN0YXRlIChJRi1NSUIpICAgICAgICAg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRVN0YXR1cyAgICAgICAgICAgICAgICAgICAg ICB8IGVmbUN1UG1lU3RhdHVzICAgICAgICAgICAgICAgICAgfA0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICB8IGFQTUVTTlJNZ24gICAgICAgICAgICAg ICAgICAgICAgfCBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhVENDb2RpbmdWaW9sYXRpb25zICAgICAgICAgICAgIHwgZWZtQ3VQbWVUQ0Nv ZGluZ0Vycm9ycyAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVRDQ1JDRXJyb3Jz ICAgICAgICAgICAgICAgICAgICB8IGVmbUN1UG1lVENDcmNFcnJvcnMgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IGFQcm9maWxlU2VsZWN0ICAgICAgICAgICAgICAgICAgfCBl Zm1DdUFkbWluUHJvZmlsZSwgICAgICAgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFPcGVyYXRpbmdQcm9maWxlICAgICAgICAgICAgICAgfCBlZm1DdVBt ZU9wZXJQcm9maWxlICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FRkVD Q29ycmVjdGVkQmxvY2tzICAgICAgICAgIHwgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3Mg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgICAg ICB8IGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgfA0KICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoN CiAgICAgICAgICAgICAgVGFibGUgMjogTWFwcGluZyBvZiBJRUVFIDgwMi4zIE1hbmFnZWQgT2Jq ZWN0cw0KDQoNCjUuICBJbnRlcmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMN Cg0KICAgSUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICAgICBJTVBP UlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTINCiAgICAgICAg IEZST00gU05NUHYyLVNNSSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgICAgVHJ1dGhWYWx1ZQ0K ICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICAgICBNT0RV TEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQDQogICAgICAgICBGUk9NIFNOTVB2Mi1DT05GICAg ICAgICAtLSBSRkMgMjU4MA0KICAgICAgIGlmU3RhY2tHcm91cDIsIGlmU3RhY2tIaWdoZXJMYXll ciwgaWZTdGFja0xvd2VyTGF5ZXINCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0t IFJGQyAyODYzDQogICAgICAgaWZJbnZTdGFja0dyb3VwDQogICAgICAgICBGUk9NIElGLUlOVkVS VEVELVNUQUNLLU1JQiAtLSBSRkMgMjg2NA0KICAgICAgIDsNCg0KICAgICBpZkNhcFN0YWNrTUlC IE1PRFVMRS1JREVOVElUWQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IElu dGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICAgICBDT05UQUNULUlORk8N CiAgICAgICAgICJXRyBjaGFydGVyOg0KICAgICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0 bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICAgICBNYWlsaW5nIExpc3Rz Og0KICAgICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAg ICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MNCg0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVu DQogICAgICAgICBQb3N0YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFn ZW4gMzMNCiAgICAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAg ICAgIE5ldGhlcmxhbmRzDQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAg ICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6 IEVkd2FyZCBCZWlsaQ0KICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAg ICAgICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAg ICAgUGV0YWNoLVRpa3ZhIDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAg ICAgICAgICBUZWw6ICs5NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVp bGlAYWN0ZWxpcy5jb20iDQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmpl Y3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNjcmliZQ0KICAgICAgICAgY3Jv c3MtY29ubmVjdCBjYXBhYmlsaXRpZXMgb2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywN CiAgICAgICAgIGNvbXBsZW1lbnRpbmcgaWZTdGFja1RhYmxlIGFuZCBpZkludlN0YWNrVGFibGUg ZGVmaW5lZCBpbg0KICAgICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgcmVz cGVjdGl2ZWx5Lg0KDQogICAgICAgICBDb3B5cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3 KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2Yg UkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgICAgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5v dGljZXMuIg0KDQogICAgICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFy eSAyMSwgMjAwNw0KICAgICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZlcnNpb24sIHB1Ymxpc2hl ZCBhcyBSRkMgWFhYWC4iDQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGgg dGhlIGFjdHVhbCBSRkMgbnVtYmVyICYNCiAgICAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0K ICAgICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBa Wlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAgICAgICAgIC0tIGFsbG9jYXRlZCAmIHJl bW92ZSB0aGlzIG5vdGUuDQoNCiAgICAgIC0tIFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUNCiAgICAg IC0tIFN0cnVjdHVyZWQgYXMgcmVjb21tZW5kZWQgYnkgUkZDIDQxODEsIHNlZQ0KICAgICAgLS0g QXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQNCg0KICAgICAgaWZDYXBTdGFja09iamVj dHMgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIgMSB9DQoNCiAgICAg IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNr TUlCIDIgfQ0KDQogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQ0KDQogICAgICAtLQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMTddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAtLSBpZkNh cFN0YWNrVGFibGUgZ3JvdXANCiAgICAgIC0tDQoNCiAgICAgIGlmQ2FwU3RhY2tUYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5 DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSwgbW9k ZWxlZCBhZnRlciBpZlN0YWNrVGFibGUgZnJvbSBJRi1NSUIsDQogICAgICAgICAgY29udGFpbnMg aW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlICdvbi10b3Atb2YnDQogICAgICAgICAgcmVsYXRp b25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsNCiAgICAg ICAgICBpbnRlcmZhY2VzIChhcyBvcHBvc2VkIHRvIGFjdHVhbCByZWxhdGlvbnNoaXBzIGRlc2Ny aWJlZCBpbg0KICAgICAgICAgIGlmU3RhY2tUYWJsZSkuIEluIHBhcnRpY3VsYXIsIGl0IGNvbnRh aW5zIGluZm9ybWF0aW9uIG9uDQogICAgICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyDQogICAgICAgICAgc3ViLWxheWVycywgYXMg ZGV0ZXJtaW5lZCBieSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgdGhlDQogICAgICAgICAg ZGV2aWNlLCB3aGVyZSBlYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwg cm93DQogICAgICAgICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWIt bGF5ZXIgd2l0aCBpZkluZGV4DQogICAgICAgICAgdmFsdWUgeCBjYW4gYmUgY29ubmVjdGVkIHRv IHJ1biBvbiB0b3Agb2YgdGhlIHN1Yi1sYXllciB3aXRoDQogICAgICAgICAgaWZJbmRleCB2YWx1 ZSB5LCB0aGVuIHRoaXMgdGFibGUgY29udGFpbnM6DQoNCiAgICAgICAgICAgIGlmQ2FwU3RhY2tT dGF0dXMueC55PXRydWUNCg0KICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2Vz IG5vdCBleGlzdCBpZiBpdCBpcyBpbXBvc3NpYmxlDQogICAgICAgICAgdG8gY29ubmVjdCBiZXR3 ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHkuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgZm9yIG1v c3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNFLVRMKQ0KICAgICAgICAgIHRoZXJlJ3Mg YWx3YXlzIGF0IGxlYXN0IG9uZSBoaWdoZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBDUw0KICAg ICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQTUUpIGFu ZCBhdA0KICAgICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZlbCBpbnRlcmZhY2UgZm9yIGVhY2gg aGlnaGVyLWxldmVsDQogICAgICAgICAgaW50ZXJmYWNlLCB0aGF0IGlzLCB0aGVyZSBpcyBhdCBs ZWFzdCBhIHNpbmdsZSByb3cgd2l0aCBhDQogICAgICAgICAgJ3RydWUnIHN0YXR1cyBmb3IgYW55 IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBkZXZpY2UgY2FwYWJpbGl0eSINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIg0KICAgICAgICA6Oj0geyBpZkNh cFN0YWNrT2JqZWN0cyAxIH0NCg0KICAgICAgaWZDYXBTdGFja0VudHJ5ICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJZkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25z aGlwIGJldHdlZW4gdHdvDQogICAgICAgICAgc3ViLWxheWVycywgc3BlY2lmeWluZyB0aGF0IG9u ZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bg0KICAgICAgICAgIG9uICd0b3AnIG9mIHRoZSBv dGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzDQogICAgICAgICAgdG8g YSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNlIGluZGV4IGZvcg0KICAg ICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3RpdmVseSkuIg0KICAgICAgICBJ TkRFWCB7DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAg ICAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgICAgaWZTdGFja0xvd2VyTGF5ZXIN CiAgICAgICAgfQ0KICAgICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgICAgIElm Q2FwU3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVz ICAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgIH0NCg0KICAgICAgaWZDYXBTdGFja1N0YXR1cyAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBj YXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAgICAgICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJz LiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQ6DQogICAgICAgICAgICB0cnVl KDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGludGVyZmFjZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dl ckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgY29ubmVjdGVkIHRv IHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgICAgIGZhbHNlKDIpICAgICAg ICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dh YmxlIG1vZHVsZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2Ug YXZhaWxhYmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgICAgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgICAgIG90aGVy IHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0K ICAgICAgICAgIGEgaGlnaGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIg aW50ZXJmYWNlIGluDQogICAgICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQg dG8gYW5vdGhlciBoaWdoZXItbGF5ZXINCiAgICAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRv IGVuc3VyZSB0aGF0IGEgcGFydGljdWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgICAgYmUgY29u bmVjdGVkIHRvIGFub3RoZXIgc3ViLWxheWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAg ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yDQogICAgICAgICAgZm9yIEVGTUN1IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3Bl Y3RlZC4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3Rh Y2tTdGF0dXMsIGFzIGl0DQogICAgICAgICAgZGVzY3JpYmVzIGEgY3Jvc3MtY29ubmVjdCBjYXBh YmlsaXR5LiINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5IDEgfQ0KDQogICAgICBpZklu dkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAgU0VRVUVO Q0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vz c2libGUNCiAgICAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXll cnMgb2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOV0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB0YWJsZSwgbW9kZWxlZCBhZnRlciBpZklu dlN0YWNrVGFibGUgZnJvbQ0KICAgICAgICAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiwgaXMgYW4g aW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlDQogICAgICAgICAgZGVmaW5lZCBpbiB0aGlz IE1JQiBtb2R1bGUuDQogICAgICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBjb250YWlu cyBpbmZvcm1hdGlvbiBvbiB3aGljaA0KICAgICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1biAndW5k ZXJuZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUNCiAgICAgICAgICBlYWNoIHN1 Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlLg0K ICAgICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZh bHVlIHggTUFZIGJlDQogICAgICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBz dWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlDQogICAgICAgICAgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOg0KDQogICAgICAgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0K DQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBv ZiByb3dzIGFzIHRoZQ0KICAgICAgICAgIGlmQ2FwU3RhY2tUYWJsZSwgYnV0IHRoZSByb3dzIGFw cGVhciBpbiBhIGRpZmZlcmVudCBvcmRlci4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QNCiAgICAgICAgICBjYXBhYmls aXR5LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1N SUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja09iamVjdHMgMiB9 DQoNCiAgICAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNj ZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxhdGlvbnNoaXAg YmV0d2VlbiB0d28gc3ViLQ0KICAgICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUg c3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgICAgb3RoZXIgc3ViLWxh eWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAgICAg ICAgcm93IGluIHRoZSBpZlRhYmxlLiINCiAgICAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXll ciwgaWZTdGFja0hpZ2hlckxheWVyIH0NCiAgICAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxl IDEgfQ0KDQogICAgICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICAg ICBpZkludkNhcFN0YWNrU3RhdHVzICAgICAgIFRydXRoVmFsdWUNCiAgICAgICB9DQoNCiAgICAg IGlmSW52Q2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAg IFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5DQogICAgICAgIFNU QVRVUyAgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgIlRo ZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknDQogICAg ICAgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLg0KDQogICAgICAgICAg IEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0 aGUNCiAgICAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFuZCB2aWNlIHZlcnNhLiBG b3IgZXhhbXBsZSwgaWYgdGhlDQogICAgICAgICAgIHZhcmlhYmxlIGlmQ2FwU3RhY2tTdGF0dXMu SC5MIGV4aXN0cywgdGhlbiB0aGUgdmFyaWFibGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIwXQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICBpZkludlN0YWNrU3RhdHVzLkwuSCBtdXN0 IGFsc28gZXhpc3QsIGFuZCB2aWNlIHZlcnNhLiAgSW4NCiAgICAgICAgICAgYWRkaXRpb24sIHRo ZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLg0KDQogICAgICAgICAg IFRoZSBpZkludlN0YWNrU3RhdHVzIG9iamVjdCBpcyByZWFkLW9ubHksIGFzIGl0IGRlc2NyaWJl cw0KICAgICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICAiaWZDYXBTdGFja1N0YXR1cyINCiAgICAgICAgOjo9IHsgaWZJbnZD YXBTdGFja0VudHJ5IDEgfQ0KDQogICAgIC0tDQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVu dHMNCiAgICAgLS0NCg0KICAgICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PQ0KICAgICAgICAgICB7IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAxIH0NCg0KICAgICAg aWZDYXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PQ0KICAgICAgICAgICB7 IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAyIH0NCg0KICAgICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFu Y2UNCg0KICAgICAgaWZDYXBTdGFja0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RT IHsNCiAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVzLA0KICAgICAgICAgIGlmSW52Q2FwU3RhY2tT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9y bWF0aW9uIG9uIHRoZQ0KICAgICAgICAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBtdWx0 aS1sYXllciAoc3RhY2tlZCkgbmV0d29yaw0KICAgICAgICAgIGludGVyZmFjZXMuIg0KICAgICAg ICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQ0KDQoNCiAgICAgLS0gQ29tcGxpYW5jZSBTdGF0 ZW1lbnRzDQoNCiAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIE1PRFVMRS1DT01QTElBTkNFDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVtZW50IGZvciBTTk1QIGVudGl0aWVzLCB3aGljaCBwcm92 aWRlDQogICAgICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0 eSBvZiBtdWx0aS1sYXllcg0KICAgICAgICAgIChzdGFja2VkKSBuZXR3b3JrIGludGVyZmFjZXMs IHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdA0KICAgICAgICAgIGJldHdlZW4gdGhlIHN1Yi1s YXllcnMuIg0KDQoNCiAgICAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQ0KICAgICAgICAgIE1B TkRBVE9SWS1HUk9VUFMgew0KICAgICAgICAgICAgaWZDYXBTdGFja0dyb3VwDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB9DQoNCiAgICAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAgICAgIFNZTlRBWCAgICAg ICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAg ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9O QUwgZm9yDQogICAgICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUg aW50ZXJmYWNlcy4iDQoNCiAgICAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICAgICBNQU5EQVRP UlktR1JPVVBTIHsNCiAgICAgICAgICAgIGlmU3RhY2tHcm91cDINCiAgICAgICAgICB9DQoNCiAg ICAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgICAgICAgICBNQU5EQVRPUlkt R1JPVVBTIHsNCiAgICAgICAgICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAgICAgIH0NCg0KICAg ICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQogICBFTkQNCg0KDQo2LiAgRUZN IENvcHBlciBNSUIgRGVmaW5pdGlvbnMNCg0KICAgRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0g QkVHSU4NCg0KICAgICBJTVBPUlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQ RSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICAgICBVbnNpZ25lZDMyLCBDb3Vu dGVyMzIsIG1pYi0yDQogICAgICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3 OA0KICAgICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlz QWRkcmVzcw0KICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAg ICAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAN CiAgICAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgICAgU25t cEFkbWluU3RyaW5nDQogICAgICAgICBGUk9NIFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQx MQ0KICAgICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAg ICAgIC0tIFJGQyAyODYzDQogICAgICAgOw0KDQogICAgIGVmbUN1TUlCIE1PRFVMRS1JREVOVElU WQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAy MDA3DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIw MDcgICAgICAgICAgICAgICBbUGFnZSAyMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg RUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAg ICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3Jr aW5nIEdyb3VwIg0KICAgICAgIENPTlRBQ1QtSU5GTw0KICAgICAgICAgIldHIGNoYXJ0ZXI6DQog ICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRl ci5odG1sDQoNCiAgICAgICAgIE1haWxpbmcgTGlzdHM6DQogICAgICAgICAgIEdlbmVyYWwgRGlz Y3Vzc2lvbjogaHVibWliQGlldGYub3JnDQogICAgICAgICAgIFRvIFN1YnNjcmliZTogaHVibWli LXJlcXVlc3RAaWV0Zi5vcmcNCiAgICAgICAgICAgSW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1h aWxfYWRkcmVzcw0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVuDQogICAgICAgICBQb3N0 YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFnZW4gMzMNCiAgICAgICAg ICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAgICAgIE5ldGhlcmxhbmRz DQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAgICAgRS1tYWlsOiBid2lq bmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQ0K ICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAgICAgICAgICAgICAgICAg MjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgICAgUGV0YWNoLVRpa3Zh IDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICAgICBUZWw6ICs5 NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20i DQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlC IG1vZHVsZSBhcmUgdXNlZCB0byBtYW5hZ2UNCiAgICAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUg Rmlyc3QgTWlsZSAoRUZNKSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzDQogICAgICAgICAyQkFT RS1UTCBhbmQgMTBQQVNTLVRTLCBkZWZpbmVkIGluIElFRUUgU3RkLiA4MDIuM2FoLTIwMDQsDQog ICAgICAgICB3aGljaCBpcyBub3cgYSBwYXJ0IG9mIElFRUUgU3RkLiA4MDIuMy0yMDA1Lg0KDQog ICAgICAgICBUaGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGlz IE1JQiBtb2R1bGU6DQoNCiAgICAgICAgIFs4MDIuM2FoXSByZWZlcnMgdG86DQogICAgICAgICAg IElFRUUgU3RkIDgwMi4zYWgtMjAwNDogJ0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uDQog ICAgICAgICAgIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9u IGV4Y2hhbmdlDQogICAgICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAt DQogICAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBD b2xsaXNpb24NCiAgICAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcg0KICAgICAgICAgICBTcGVjaWZpY2F0aW9ucyAtDQogICAgICAgICAg IEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwNCiAg ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzDQogICAgICAgICAgIE5ldHdvcmtzJywgMDcgU2VwdGVtYmVyIDIwMDQuDQoNCiAgICAg ICAgIE9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGlu Zw0KICAgICAgICAgU3VibGF5ZXIgKFBDUykgYW5kIGNvbW1vbiBzcGVjaWZpY2F0aW9ucywgdHlw ZSAxMFBBU1MtVFMgYW5kDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyM10NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50Jywg Q2xhdXNlIDQ1LA0KICAgICAgICAgJ01hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8p IEludGVyZmFjZScsIEFubmV4IDYyQSwNCiAgICAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFT Uy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBwcm9maWxlcyBmb3INCiAgICAgICAgIDJCQVNFLVRM Jy4NCg0KICAgICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoNCiAgICAgICAgICAgSVRVLVQgUmVj b21tZW5kYXRpb24gRy45OTEuMjogJ1NpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbA0KICAg ICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAy MDAzLg0KDQogICAgICAgICBbQU5GUF0gcmVmZXJzIHRvOg0KICAgICAgICAgICBOSUNDIERvY3Vt ZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlvbiBvZiB0aGUgQWNjZXNzDQogICAgICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uDQogICAgICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQgQWNjZXNzIE5ldHdvcmssJyBB dWd1c3QgMjAwNS4NCg0KICAgICAgICAgTmFtaW5nIENvbnZlbnRpb25zOg0KICAgICAgICAgICBB dG4gICAtIEF0dGVudWF0aW9uDQogICAgICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZpY2UNCiAg ICAgICAgICAgQ1BFICAgLSBDdXN0b21lciBQcmVtaXNlcyBFcXVpcG1lbnQNCiAgICAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQ0KICAgICAgICAgICBFRk1DdSAtIEVG TSBDb3BwZXINCiAgICAgICAgICAgTURJTyAgLSBNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0 DQogICAgICAgICAgIE1nbiAgIC0gTWFyZ2luDQogICAgICAgICAgIFBBRiAgIC0gUE1FIEFnZ3Jl Z2F0aW9uIEZ1bmN0aW9uDQogICAgICAgICAgIFBCTyAgIC0gUG93ZXIgQmFjay1PZmYNCiAgICAg ICAgICAgUENTICAgLSBQaHlzaWNhbCBDb2RpbmcgU3VibGF5ZXINCiAgICAgICAgICAgUE1EICAg LSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgICAgICAgICBQU0QgICAtIFBvd2VyIFNwZWN0cmFsIERlbnNpdHkN CiAgICAgICAgICAgU05SICAgLSBTaWduYWwgdG8gTm9pc2UgUmF0aW8NCiAgICAgICAgICAgVENQ QU0gLSBUcmVsbGlzIENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uDQoNCiAgICAgICAg IENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJzaW9uDQogICAg ICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZD DQogICAgICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgREVT Q1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAg ICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIg Jg0KICAgICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgICAgOjo9IHsgbWliLTIgWVlZ IH0NCg0KICAgICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25j ZSBpdCBpcw0KICAgICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAg ICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1vZHVsZQ0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNF0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgIGVmbUN1T2JqZWN0cyAgICAgT0JKRUNUIElERU5U SUZJRVIgOjo9IHsgZWZtQ3VNSUIgMSB9DQoNCiAgICAgIGVmbUN1Q29uZm9ybWFuY2UgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VNSUIgMiB9DQoNCiAgICAgIC0tIEdyb3VwcyBpbiB0aGUg bW9kdWxlDQoNCiAgICAgIGVmbUN1UG9ydCAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VPYmplY3RzIDEgfQ0KDQogICAgICBlZm1DdVBtZSAgICAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAyIH0NCg0KICAgICAgLS0gVGV4dHVhbCBDb252ZW50aW9u cw0KDQogICAgICBFZm1Qcm9maWxlSW5kZXggOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAg ICBESVNQTEFZLUhJTlQgImQiDQogICAgICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVhdGVyIHRoYW4gemVy bywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1IHBvcnQuIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQNCiAgICAgICAgICB2YWx1 ZXMgYXJlIGFzc2lnbmVkIGNvbnRpZ3VvdXNseSBzdGFydGluZyBmcm9tIDEuIFRoZSB2YWx1ZQ0K ICAgICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUNCiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgZW50aXR5J3MgbmV0 d29yayBtYW5hZ2VtZW50IHN5c3RlbQ0KICAgICAgICAgIHRvIHRoZSBuZXh0IHJlLWluaXRpYWxp emF0aW9uLiINCiAgICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkNCg0KICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvIDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgICAg RElTUExBWS1ISU5UICJkIg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiBpcyBhbiBleHRl bnNpb24gb2YgRWZtUHJvZmlsZUluZGV4DQogICAgICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRl ciBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZA0KICAgICAgICAgIHRvIGlk ZW50aWZ5IGEgUE1FIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gVGhpcw0KICAg ICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHplcm8uIFRo ZSB2YWx1ZSBvZg0KICAgICAgICAgIHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRo ZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQNCiAgICAgICAgICBvZiB0aGUgZGVzY3JpcHRpb24g b2YgYW55IG9iamVjdCB3aGljaCB1c2VzIHRoaXMgc3ludGF4Lg0KICAgICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucw0KICAg ICAgICAgIHdoZXJlIGN1cnJlbnQgb3BlcmF0aW9uYWwgcHJvZmlsZSBpcyB1bmtub3duLiINCiAg ICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDAuLjI1NSkNCg0KICAgICAgRWZtUHJvZmls ZUluZGV4TGlzdCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgICAgIERJU1BMQVktSElOVCAi MWQ6Ig0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiByZXByZXNlbnRzIGEgbGlzdCBvZiB1 cCB0byA2DQogICAgICAgICAgRWZtUHJvZmlsZUluZGV4J3MsIGFueSBvZiB3aGljaCBjYW4gYmUg Y2hvc2VuIGZvcg0KICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb2YgYW4gUE1FIGluIGEgbWFuYWdl ZCBFRk1DdSBwb3J0Lg0KICAgICAgICAgIFRoZSBFZm1Qcm9maWxlSW5kZXggdGV4dHVhbCBjb252 ZW50aW9uIGRlZmluZXMgYSBncmVhdGVyIHRoYW4NCiAgICAgICAgICB6ZXJvIHZhbHVlIHVzZWQg dG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZS4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcg0KDQoNCg0KQmVpbGkgICAgICAgICAg ICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjVd DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRz LCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgICAgRWZtUHJvZmls ZUluZGV4IHZhbHVlLg0KICAgICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9i amVjdC1zcGVjaWZpYyBhbmQgTVVTVA0KICAgICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFz IHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICAgICB3aGljaCB1 c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAg ICAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVz aW5nIHRoaXMNCiAgICAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3Ig YSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAgICAgdHlwZS4iDQogICAgICAgIFNZTlRBWCAg ICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAgICAgIEVmbVRydXRoVmFsdWVPclVu a25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlv biBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICAgICBjb252ZW50aW9u LiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICAgICBwb3Nz aWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3 aGVuIGFuIGV4YWN0DQogICAgICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0 IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiINCiAgICAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgICAgLS0gUG9ydCBOb3RpZmljYXRp b25zIEdyb3VwDQoNCiAgICAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJ RVIgOjo9IHsgZWZtQ3VQb3J0IDAgfQ0KDQogICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICAtLSBpZkluZGV4IGlz IG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAg ICAgaWZTcGVlZCwNCiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUNCiAgICAgICAgfQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1DdSBwb3J0JyBkYXRhIHJh dGUNCiAgICAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2VlZGVkIHRoZSBs b3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1VGhyZXNoTG93 UmF0ZS4NCg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hpbGUg dGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgICAgdGhy ZXNob2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFu ZA0KICAgICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90 IGFwcGxpY2FibGUgdG8NCiAgICAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBJ dCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNl YywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQg bm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0 YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQNCiAgICAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2lu ZyBub3RpZmljYXRpb25zIHRvIGJlIHNlbnQuDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNl0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBF Rk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgICAgIGFkYXB0IGl0c2Vs ZiB0byB0aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAg ICAgYW4gaW1wdWxzZSBub2lzZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0 aW9uIG1heQ0KICAgICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXAsDQogICAgICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRp b24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZNQ3UgbGluay4NCiAgICAgICAgICBUaGUgZHJvcHBlZCBQ TUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWluaXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAg ICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlk ZQ0KICAgICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIgbWFyZ2luLg0KDQogICAgICAgICAgR2Vu ZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVm bUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgICAgIC0tIFBDUyBQb3J0IGdyb3VwDQoNCiAg ICAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBT RVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8x MFBBU1MtVFMgKFBDUykNCiAgICAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhDQogICAgICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAg ICAgIDo6PSB7IGVmbUN1UG9ydCAxIH0NCg0KICAgICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0 IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFu IEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICAgICBOb3RlIHRoYXQg YW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBt dWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIN CiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZU YWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5D RSB7DQogICAgICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywN CiAgICAgICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5k ZXhMaXN0LA0KICAgICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2ln bmVkMzIsDQogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZh bHVlLA0KICAgICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1 ZQ0KICAgICAgICB9DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyN10NCgwNCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0K DQoNCiAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgSU5URUdFUiB7DQogICAgICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICAgICBkaXNhYmxl ZCgyKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBZG1p bmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBvZiB0aGUgRUZNQ3UgcG9ydA0K ICAgICAgICAgIChQQ1MpLg0KICAgICAgICAgIFdoZW4gJ2Rpc2FibGVkJywgUE1FIEFnZ3JlZ2F0 aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICAgICBQQ1MuIE5vIG1vcmUg dGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGluDQogICAgICAg ICAgdGhpcyBjYXNlLg0KICAgICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBwZXJm b3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgICAg UENTIHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1 ZSBvZg0KICAgICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9y dHMgU0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0 aCBtdWx0aXBsZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICAgICdkaXNhYmxlZCcu IEF0dGVtcHRzIHRvICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAg ICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICAg ICBDaGFuZ2luZyBQQUZBZG1pblN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlv biBhbmQNCiAgICAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBE b3duLiBBdHRlbXB0cyB0bw0KICAgICAgICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSBy ZWplY3RlZCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0K ICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBB RkFkbWluU3RhdGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBDUyBjb250cm9sDQogICAgICAgICAg cmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAy LjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDEgfQ0KDQogICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQg KFBDUykuDQogICAgICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUg RGlzY292ZXJ5IGZ1bmN0aW9uLA0KICAgICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAg ICAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVy biBhIHplcm8NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy NSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDI4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0K ICAgICAgICAgIGxlbmd0aCBvY3RldCBzdHJpbmcgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMg b2JqZWN0LiBBbg0KICAgICAgICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hB TEwgYmUgcmVqZWN0ZWQgZm9yIHN1Y2gNCiAgICAgICAgICBwb3J0cy4NCiAgICAgICAgICBUaGlz IG9iamVjdCBNVVNUIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIC1PIHN1YnR5cGUgUENTIGJlZm9y ZQ0KICAgICAgICAgIHdyaXRpbmcgb3BlcmF0aW9ucyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlDQogICAgICAgICAgKFNldF9pZl9DbGVhciBhbmQgQ2xlYXJfaWZfU2FtZSkgYXJl IHBlcmZvcm1lZCBieSBQTUVzDQogICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBQQ1MuDQog ICAgICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3QgZm9yIC1SIHN1YnR5cGUg cG9ydHMgYWZ0ZXINCiAgICAgICAgICByZXNldCBpcyBhbGwgemVyb2VzLiBGb3IgLVIgc3VidHlw ZSBwb3J0cywgdGhlIHZhbHVlIG9mIHRoaXMNCiAgICAgICAgICBvYmplY3QgY2Fubm90IGJlIGNo YW5nZWQgZGlyZWN0bHkuIFRoaXMgdmFsdWUgbWF5IGJlIGNoYW5nZWQNCiAgICAgICAgICBhcyBh IHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUNCiAgICAgICAgICBlZm1DdVBBRlJl bW90ZURpc2NvdmVyeUNvZGUgb2JqZWN0IG9mIHJlbW90ZSBQTUUgb2YgLU8NCiAgICAgICAgICBz dWJ0eXBlLCBjb25uZWN0ZWQgdG8gb25lIG9mIHRoZSBsb2NhbCBQTUVzIGFzc29jaWF0ZWQgd2l0 aA0KICAgICAgICAgIHRoZSBQQ1MuDQoNCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mDQogICAgICAgICAgU05N UCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwIG9y DQogICAgICAgICAgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhlIFBBRiBEaXNjb3Zlcnkg Y29kZSBtYXBzIHRvIHRoZSBsb2NhbCBEaXNjb3ZlcnkgY29kZQ0KICAgICAgICAgIHZhcmlhYmxl IGluIFBBRiAobm90ZSB0aGF0IGl0IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nDQogICAg ICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA2MS4yLjIuOC4zLCA2MS4yLjIuOC40LCA0NS4yLjYuNi4xLCA0NS4yLjYuOCwN CiAgICAgICAgICA2MUEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDIgfQ0K DQogICAgICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4TGlzdA0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiRGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMg aW4gdGhlDQogICAgICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBv aW50ZXJzIHRvIGVudHJpZXMgaW4NCiAgICAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVU YWJsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24g dGhlIGN1cnJlbnQNCiAgICAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9y dCBhcyBpbmRpY2F0ZWQgYnkNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQog ICAgICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9m aWxlIGluZGV4LA0KICAgICAgICAgIHRoZW4gYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1D dSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3VyZWQNCiAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFBy b2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQNCiAgICAgICAgICBpcyBv dmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxl LA0KICAgICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBlZm1DdUFkbWluUHJvZmls ZS4NCiAgICAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4 LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVk IGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgbGlz dC4NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDI5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAg ICAgIEJ5IGRlZmF1bHQgdGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgMHgwMSwgcmVmZXJlbmNp bmcgMXN0DQogICAgICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1D dVBtZTEwUFByb2ZpbGVUYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxl IGFuZCByZWFkYWJsZSBmb3IgdGhlIC1PIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1PIG9y IDEwUGFzc1RTLU8pIEVGTUN1IHBvcnRzLiBJdCBpcyBpcnJlbGV2YW50IGZvcg0KICAgICAgICAg IHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJv DQogICAgICAgICAgbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbiBh dHRlbXB0IHRvIHJlYWQNCiAgICAgICAgICB0aGlzIG9iamVjdCBhbmQgYW4gYXR0ZW1wdCB0byBj aGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIGluIHRoaXMgY2Fz ZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFs dWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 Lg0KDQogICAgICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9y bWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgICAgbGluayBpcyBV cCBvciBJbml0aWFsaXppbmcuDQogICAgICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0 IHRvIGEgbGlzdCB3aXRoIGEgbWVtYmVyDQogICAgICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRo ZSB2YWx1ZSBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQ0KICAgICAgICAgIGluIHRo ZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuDQoNCiAgICAg ICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5l ci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjYi DQogICAgICAgIERFRlZBTCB7ICcwMSdIIH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDMgfQ0KDQogICAgICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEuLjEwMDAwMHw5OTk5OTkpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiRGVzaXJl ZCBFRk1DdSBwb3J0ICduZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbg0KICAg ICAgICAgIEticHMsIHRvIGJlIGFjaGlldmVkIGR1cmluZyBpbml0aWFsaXphdGlvbiwgdW5kZXIg c3BlY3RyYWwNCiAgICAgICAgICByZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBl Zm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRo IHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3BlY2lmaWVkIGJ5DQogICAgICAgICAgZWZtQ3VUYXJn ZXRTbnJNZ24uDQogICAgICAgICAgSW4gY2FzZSBvZiBQQUYsIHRoaXMgb2JqZWN0IHJlcHJlc2Vu dHMgYSBzdW0gb2YgaW5kaXZpZHVhbCBQTUUNCiAgICAgICAgICBkYXRhIHJhdGVzLCBtb2RpZmll ZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZA0KICAgICAgICAgIDY0LzY1QiBm cmFtaW5nIG92ZXJoZWFkIChlLmcuIHRhcmdldCBkYXRhIHJhdGUgb2YgMTBNYnBzDQogICAgICAg ICAgU0hBTEwgYWxsb3cgbG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwtZHVwbGV4IDEwTWJw cw0KICAgICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50ZXItZnJh bWUgZ2FwKS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEwME1i cHMgYXMgdGhpcyBpcyB0aGUgbWF4DQogICAgICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZv ciBFRk1DdSBwb3J0cy4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAw MCBpbmRpY2F0ZXMgdGhhdCB0aGUgdG90YWwgZGF0YQ0KICAgICAgICAgIHJhdGUgKGlmU3BlZWQp IG9mIHRoZSBFRk1DdSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAzMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBiZSBlcXVhbCB0 byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAg ICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZlZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMg c3BlY2lmaWVkDQogICAgICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblBy b2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAgICAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhl IGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZQ0KICAgICAgICAgIGhpZ2hlciB0 b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBieSB0aGUgdGFyZ2V0LCB0aGUNCiAg ICAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFk ZGl0aW9uYWwgU05SDQogICAgICAgICAgbWFyZ2luIG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5n IHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICAgICBieSBlZm1DdUFkYXB0aXZl U3BlY3RyYS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMgdGhhdCB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICAgICBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0 IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICAgICBpbml0aWFs aXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMN CiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0 aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEg UmF0ZSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgRG93bi4g QXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAg ICAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYg dGhlDQogICAgICAgICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50 ZWQNCiAgICAgICAgICBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQog ICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZtQ3VUYXJnZXRT bnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uMjEp DQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFs bCBQTUVzDQogICAgICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXpp YXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICAgICBOb3Rl IHRoYXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4N CiAgICAgICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1U UyBwb3J0cyBpbiBvcmRlcg0KICAgICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0 ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgICAgc2VydmljZSBpbnRlcmZhY2Uu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlw ZSBFRk1DdSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBh dmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgICAgIENoYW5naW5nIG9mIHRo ZSBUYXJnZXQgU05SIE1hcmdpbiBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAg IGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVq ZWN0ZWQNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg ICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAg ICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUNCiAgICAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBNRXMgY29tcHJpc2luZyB0 aGUgRUZNQ3UNCiAgICAgICAgICBwb3J0IGlzIHJlcHJlc2VudGVkIGJ5IGVmbUN1UG1lU25yTWdu Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYx LjEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQ0KDQogICAgICBlZm1D dUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiSW5kaWNhdGVzIGhvdyB0 byB1dGlsaXplIGV4Y2VzcyBjYXBhY2l0eSB3aGVuIHRoZSBjb3BwZXINCiAgICAgICAgICBlbnZp cm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhh dA0KICAgICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJnZXREYXRhUmF0ZS4NCg0KICAg ICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmls aXR5IFNIQUxMIGJlDQogICAgICAgICAgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQg cG93ZXIsIGUuZy4gdXNpbmcgaGlnaGVyDQogICAgICAgICAgY29uc3RlbGxhdGlvbnMgYW5kIFBv d2VyIEJhY2stT2ZmLCBpbiBvcmRlciB0byByZWR1Y2UNCiAgICAgICAgICBpbnRlcmZlcmVuY2Ug dG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZQ0KICAgICAgICAgIGFk dmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLg0KDQogICAgICAgICAgVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxM DQogICAgICAgICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3By ZWFkIGV2ZW5seSBhY3Jvc3MNCiAgICAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICAgICByb2J1c3RuZXNzLg0K DQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUg RUZNQ3UgcG9ydHMNCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZh aWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGlz IG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzDQogICAgICAgICAgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNh c2UNCiAgICAgICAgICBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwg aWYgdGhlIGxpbmsgaXMgVXANCiAgICAgICAgICBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4i DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA2IH0NCg0KICAgICAgZWZtQ3VUaHJl c2hMb3dSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEu LjEwMDAwMCkNCiAgICAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jv c3NpbmcgYWxhcm0NCiAgICAgICAgICB0aHJlc2hvbGQuIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgaWZTcGVlZCBmb3IgdGhpcyBwb3J0DQogICAgICAgICAgcmVhY2hlcy9kcm9wcyBiZWxvdyBv ciBleGNlZWRzIHRoaXMgdGhyZXNob2xkLCBhbg0KICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3Nz aW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQNCiAgICAgICAgICBi eSBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgICAgKDJC YXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVz Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNyB9DQoNCiAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHNob3Vs ZA0KICAgICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQoNCiAgICAgICAg ICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5nDQog ICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGlj YXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4NCg0KICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJs ZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBv cnRDb25mRW50cnkgOCB9DQoNCg0KICAgICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eVRhYmxlIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENhcGFiaWxp dHlFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRhYmxlIGZv ciBDYXBhYmlsaXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNTLVRTIChQQ1MpDQogICAgICAg ICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQ0K ICAgICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnQgMiB9 DQoNCiAgICAgIGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDYXBhYmlsaXR5 IHRhYmxlLg0KICAgICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGlu ZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBv biB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hp Y2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRl eCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgICAg RWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAg ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICAg ICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3du LA0KICAgICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0K ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1D dSBwb3J0DQogICAgICAgICAgKFBDUykuDQogICAgICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICAgICBQTUUgYWdn cmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgICAgIFBvcnRzIGluY2FwYWJs ZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsDQogICAgICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZh aWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4i DQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNCwgNDUuMi4zLjE3LjEiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRy eSAxIH0NCg0KICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5 IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBD UyBjYW4NCiAgICAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxl IFBNRXMuDQogICAgICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgICAg UG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0K ICAgICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQog ICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMzRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgYVJl bW90ZVBBRlN1cHBvcnRlZC4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIFJlbW90ZSBQQUYgc3VwcG9ydGVkIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAv MkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuOSwgNDUuMi4zLjE3LjIiDQogICAgICAgIDo6PSB7 IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0NCg0KICAgICAgZWZtQ3VQQUZDYXBhY2l0eSAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJl IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRi4NCiAgICAgICAgICBUaGUgbnVtYmVyIG9mIFBN RXMgY3VycmVudGx5IGFzc2lnbmVkIHRvIGEgcGFydGljdWxhcg0KICAgICAgICAgIEVGTUN1IHBv cnQgKGVmbUN1TnVtUE1FcykgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuDQogICAgICAgICAgZWZtQ3VQ QUZDYXBhY2l0eS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAz MCBhdHRyaWJ1dGUNCiAgICAgICAgICBhTG9jYWxQQUZDYXBhY2l0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQ0KDQogICAgICBlZm1DdVBlZXJQQUZD YXBhY2l0eSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMHwx Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBjYW4gYmUgYWdncmVnYXRlZCBieSB0aGUgUEFGIG9mIHRoZSBwZWVyDQogICAgICAgICAg UGh5IChQQ1MgcG9ydCkuDQogICAgICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBl ZXIgUEFGIENhcGFjaXR5IGlzIHVua25vd24NCiAgICAgICAgICAocGVlciBjYW5ub3QgYmUgcmVh Y2hlZCkuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlDQogICAgICAgICAgYVJlbW90ZVBBRkNhcGFjaXR5LiINCiAgICAgICAgUkVGRVJFTkNF DQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCINCiAgICAgICAgOjo9 IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDQgfQ0KDQoNCiAgICAgIGVmbUN1UG9ydFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSBwcm92aWRlcyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg MkJBU0UtVEwvMTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1 cw0KICAgICAgICAgIGluZm9ybWF0aW9uIGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCIGFuZCBp Zk1hdVRhYmxlIG9mDQogICAgICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3Jt YXRpb24gYWJvdXQgY29ubmVjdGVkIFBNRXMNCiAgICAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBl Zm1DdVBtZVN0YXR1c1RhYmxlLg0KDQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZl IGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAgICAgIGl0IGlzIE5PVCBw ZXJzaXN0ZW50LiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0IDMgfQ0KDQogICAgICBlZm1DdVBv cnRTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBvcnRT dGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVu dHJ5IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5 IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lg0KICAgICAg ICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBhIHNpbmdsZQ0K ICAgICAgICAgIG9yIG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXguIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzVGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6 PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VGbHRTdGF0dXMgICAgICAgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlICAgICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgICAgIGVmbUN1TnVtUE1FcyAgICAgICAgICAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAgICAgICAgQ291 bnRlcjMyLA0KICAgICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwNCiAgICAgICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgICAgICAgICBDb3VudGVy MzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMy LA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwN CiAgICAgICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyAgICAgICAgICAgICBDb3VudGVyMzIsDQog ICAgICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLA0KICAg ICAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMg0KICAgICAg ICB9DQoNCiAgICAgIGVmbUN1Rmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICAgICBub1BlZXIoMCksDQogICAgICAgICAgcGVlclBvd2VyTG9z cygxKSwNCiAgICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2goMiksDQogICAgICAgICAgbG93UmF0 ZSgzKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkVGTUN1 IChQQ1MpIHBvcnQgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBvc3NpYmxlDQog ICAgICAgICAgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSAzNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIG5v UGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVz IGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBp bmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVm bUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIg UEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICAgICBwbWVT dWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10 eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGlu IHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgICAgbG93UmF0ZSAgICAg ICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAg ICAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1 cyBvYmplY3QNCiAgICAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4g TUFVLU1JQi4NCg0KICAgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4g dGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgICAgUEFGIGlzIGRp c2FibGVkKS4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJJRi1NSUIsIGlmT3BlclN0 YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgICAgZWZtQ3VQbWVG bHRTdGF0dXMiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICAg ICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgICAgIG9mZmljZSgyKSwNCiAgICAg ICAgICB1bmtub3duKDMpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQg YXMNCiAgICAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9y dCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICAgICctUicpLg0KICAgICAgICAgIFRoZSB2YWx1ZSBv ZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICAgICBkZXNp Z25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFy ZQ0KICAgICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgICAgVGhlIHZhbHVlIG9mICd1 bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICAg ICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUg c2lkZQ0KICAgICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAg ICBhUGh5RW5kIg0KICAgICAgICBSRUZFUkVOQ0UNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDM3XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDMwLjExLjEu MS4yIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0NCg0KICAgICAgZWZt Q3VOdW1QTUVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBpcyBjdXJyZW50bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGDQogICAgICAgICAg KGFzc2lnbmVkIHRvIHRoZSBFRk1DdSBwb3J0IHVzaW5nIGlmU3RhY2tUYWJsZSkuDQogICAgICAg ICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFGQ2FwYWNpdHkuDQoN CiAgICAgICAgICBUaGlzIG9iamVjdCBTSEFMTCBiZSBhdXRvbWF0aWNhbGx5IGluY3JlbWVudGVk IG9yIGRlY3JlbWVudGVkDQogICAgICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxldGVk IHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcNCiAgICAgICAgICBpZlN0YWNrVGFibGUuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4x LjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDMgfQ0KDQogICAgICBlZm1D dVBBRkluRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMg dGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZQ0KICAgICAgICAgIGdhbW1hIGludGVy ZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAgVGhpcyBy ZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVuIHRoZQ0K ICAgICAgICAgIFBBRiBpcyB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcg dGhlIFBBRiwgdGhlDQogICAgICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1 ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgUlggZXJyb3IgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0 aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0K ICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGlu dWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVO Q0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMSINCiAgICAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHNtYWxsZXIgdGhhbiBtaW5G cmFnbWVudFNpemUNCiAgICAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzhdDQoMDQpJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDcNCg0KDQogICAgICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAg ICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhl IGNvdW50ZXINCiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwg ZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRp ZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICBy ZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0 aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlz Y29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBS RUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNSB9DQoNCiAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50 cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFu IG1heEZyYWdtZW50U2l6ZQ0KICAgICAgICAgICg1MTIgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4g cmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KICAgICAgICAgIGludGVyZmFjZSBhbmQgZGlzY2Fy ZGVkLg0KICAgICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0 aGUgUEFGIGlzDQogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJs aW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMg dmFsdWUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAx MFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cw0KICAgICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVl IG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMi DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBB RkluQmFkRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVu dHMgd2hpY2ggZG8gbm90IGZpdCBpbnRvIHRoZSBzZXF1ZW5jZQ0KICAgICAgICAgIGV4cGVjdGVk IGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhhdCBoYXZlIGJlZW4NCg0KDQoNCkJl aWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAg ICAgIFtQYWdlIDM5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZh Y2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgICAg IGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4N CiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBB RiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl Lg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZD b3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0 RnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBz ZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNoIGhhdmUNCiAgICAgICAgICBiZWVuIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMNCiAgICAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rp b24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRl ciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICAgICB1bnN1cHBvcnRlZCBvciBk aXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAgICAgIHJl Z2lzdGVyLg0KDQogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhl IG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSA0NS4yLjMuMjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDgg fQ0KDQogICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDQwXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICJBIG51bWJlciBvZiBt aXNzaW5nIFN0YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICAg ICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9y IGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAg IHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQog ICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZh bHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0aWFsaXph dGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAg ICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRp bWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAg ICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3Rh dHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyBPQkpFQ1QtVFlQRQ0KICAg ICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVk IGJ5IHRoZQ0KICAgICAgICAgIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLg0KICAgICAgICAgIFRo aXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIGxvc3Qgc3Rh cnQgb2YgZnJhZ21lbnQNCiAgICAgICAgICByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRp bnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg ICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4Ig0KICAgICAgICA6 Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAxMCB9DQoNCiAgICAgIGVmbUN1UEFGSW5PdmVyZmxv d3MgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cywgcmVjZWl2ZWQg YWNyb3NzIHRoZSBnYW1tYSBpbnRlcmZhY2UNCiAgICAgICAgICBhbmQgZGlzY2FyZGVkLCB3aGlj aCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkNCg0KDQoNCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDQxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIGJ1ZmZlciB0byBvdmVyZmxv dy4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGlu ZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQ LzJCIFBBRiBvdmVyZmxvdyByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI0Ig0KICAgICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSAxMSB9DQoNCiAgICAgLS0gUE1FIE5vdGlmaWNhdGlvbnMgR3JvdXAN Cg0KICAgICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVm bUN1UG1lIDAgfQ0KDQogICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZyBOT1RJRklDQVRJT04t VFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAg ICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNh dGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbg0KICAgICAgICAgIHRocmVz aG9sZCAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaExpbmVBdG4NCiAgICAgICAgICB2YWx1ZSkg aGFzIGJlZW4gcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUw0KICAg ICAgICAgIFBNRS4gVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5n IGV2ZW50IGluDQogICAgICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNl ZWRlZCBhbmQgZnJvbSBleGNlZWRlZA0KICAgICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgICAg IEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUg c2VjLA0KICAgICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sDQogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRl cm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQ0KICAgICAgICAgIHNlbnQuDQoNCiAgICAgICAg ICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlDQog ICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQ0KDQogICAgICBlZm1DdVBtZVNuck1nbkNy b3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVm bUN1UG1lU25yTWduLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduDQogICAgICAgIH0N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDQyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMg bm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAg ICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0K ICAgICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1F Lg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2lu ZyBldmVudCBpbg0KICAgICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhj ZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICAg ICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41 IHNlYywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50 ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICAgICBzZW50Lg0KDQogICAgICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0K ICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICAgICBlZm1DdVBtZURldmljZUZh dWx0IE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMg dGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJlZW4NCiAgICAgICAgICBkZXRlY3RlZCBieSBh IHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0Lg0KDQogICAgICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzLA0KICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBQTUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgICAgZmFpbGVkLCBkdWUg dG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAg ICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4NCg0KICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhp cyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICAgICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lTm90aWZp Y2F0aW9ucyA0IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNB VElPTi1UWVBFDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAg ICAgZWZtQ3VQbWVPcGVyU3ViVHlwZQ0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBp bmRpY2F0ZXMgdGhhdCBwZWVyIFBNRSB3YXMgdXNpbmcNCiAgICAgICAgICBpbmNvbXBhdGlibGUg cHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KDQogICAgICAgICAgR2VuZXJhdGlvbiBv ZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAgICAgIGVmbUN1 UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSBvYmplY3QuIg0KICAgICAgICA6Oj0geyBlZm1DdVBt ZU5vdGlmaWNhdGlvbnMgNSB9DQoNCiAgICAgIC0tIFRoZSBQTUUgZ3JvdXANCg0KICAgICAgZWZt Q3VQbWVDb25mVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0Ug T0YgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UN CiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzIChtb2RlbXMpLiBDb25maWd1 cmF0aW9uIG9mDQogICAgICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBvciAxMFBB U1MtVFMgUE1FIHR5cGVzIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNv bmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUNCiAgICAgICAgICByZXNwZWN0aXZlbHku DQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEgcGVyc2lzdGVudA0KICAgICAgICAgIG1hbm5lci4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1l IDEgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBFZm1DdVBtZUNvbmZFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNz aWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4N CiAgICAgICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZN Q3UgUE1FIHBvcnQNCiAgICAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQg YW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlDQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmds ZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkg dG9nZXRoZXIgd2l0aCBvdGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAg ICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mVGFibGUgMSB9 DQoNCiAgICAgIEVmbUN1UG1lQ29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAg ICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybywNCiAg ICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsDQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA0NF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgICAgIGVmbUN1UG1l VGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dEVuYWJsZSAgICAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bEVuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWls RW5hYmxlIFRydXRoVmFsdWUNCiAgICAgICAgfQ0KDQogICAgICBlZm1DdVBtZUFkbWluU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAg aWVlZTJCYXNlVExPKDEpLA0KICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICAgICBp ZWVlMTBQYXNzVFNPKDMpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU1IoNCksDQogICAgICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAgICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNz VFNPKDYpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8oNykNCiAgICAgICAgfQ0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2ly ZWQpIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToN CiAgICAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgU0hB TEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVINCiAgICAgICAgICAgIGllZWUxMFBhc3NUU08gICAgICAg ICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUg0KICAgICAg ICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNl VEwtUiBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RTLVIu IEFjdHVhbCB2YWx1ZSB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2V0IGJ5IC1PIGxpbmsgcGFydG5lciBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4NCiAgICAgICAgICAgIGll ZWUyQmFzZVRMb3IxMFBhc3NUU08gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NU Uy1PLiBBY3R1YWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3 aWxsIGJlIHNldCBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC1SIGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVk DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMkJhc2VUTCBtb2RlLCAxMFBh c3NUUyB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCku DQogICAgICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMTBQYXNzVFMtTw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVm ZXJyZWQpIG9yIDJCYXNlVEwtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGkuZS4g aWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUg b2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw UGFzc1RTIG1vZGUsIDJCYXNlVEwgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZWQpLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNDVdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICAgICAgICAgQ2hhbmdpbmcgZWZtQ3VQbWVBZG1pblN1YlR5cGUgaXMgYSB0cmFm ZmljIGRpc3J1cHRpdmUNCiAgICAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBsaW5rDQogICAgICAgICAgaXMg VXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9i amVjdCB0byBhbiB1bnN1cHBvcnRlZCBzdWJ0eXBlDQogICAgICAgICAgKHNlZSBlZm1DdVBtZVN1 YlR5cGVzU3VwcG9ydGVkKSBTSEFMTCBiZSByZWplY3RlZC4NCg0KICAgICAgICAgIFRoZSBjdXJy ZW50IG9wZXJhdGlvbmFsIHN1YiB0eXBlIGlzIGluZGljYXRlZCBieQ0KICAgICAgICAgIGVmbUN1 UG1lT3BlclN1YlR5cGUgdmFyaWFibGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgY29tYmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdCBiaXRz DQogICAgICAgICAgYW5kIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEw UC8yQiBQTUEvUE1EDQogICAgICAgICAgY29udHJvbCByZWdpc3RlciINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4xLjExLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZUFk bWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUlu ZGV4T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIFBN RSBjb25maWd1cmF0aW9uIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlcg0KICAgICAg ICAgIHRvIGFuIGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAg ICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBv cGVyYXRpbmcNCiAgICAgICAgICBTdWJUeXBlIG9mIHRoZSBQTUUuIFRoZSB2YWx1ZSBvZiB0aGlz IG9iamVjdCBpcyB0aGUgaW5kZXggb2YNCiAgICAgICAgICB0aGUgcmVmZXJlbmNlZCBwcm9maWxl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCB0 aGUgUE1FIGlzDQogICAgICAgICAgY29uZmlndXJlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb2Jq ZWN0IGZvciB0aGUgUENTIHBvcnQsDQogICAgICAgICAgdG8gd2hpY2ggdGhpcyBQTUUgaXMgYXNz aWduZWQuIFRoYXQgaXMsIHRoZSBwcm9maWxlIHJlZmVyZW5jZWQNCiAgICAgICAgICBieSBlZm1D dVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykNCiAg ICAgICAgICByZWZlcmVuY2VkIGJ5IGVmbUN1QWRtaW5Qcm9maWxlLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVz DQogICAgICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKS4gSXQgaXMgaXJyZWxldmFudCBm b3IgdGhlIENQRQ0KICAgICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NUUy1SKSAt IGEgemVybyB2YWx1ZSBTSEFMTCBiZQ0KICAgICAgICAgIHJldHVybmVkIG9uIGFuIGF0dGVtcHQg dG8gcmVhZCB0aGlzIG9iamVjdCBhbmQgYW55IGF0dGVtcHQNCiAgICAgICAgICB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCBpbiB0aGlzIGNhc2UuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2 aWENCiAgICAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAgICAgICAgIE1v ZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5r IGlzDQogICAgICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1Qg YmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5n Lg0KICAgICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQg aXMgbm90IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVu dHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ2XQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiIN CiAgICAgICAgREVGVkFMIHsgMCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUg cG9ydCBhdCBDTy4NCiAgICAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0 aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAgICAgICAgIHRoZSBQTUUuDQogICAgICAgICAg UmVhZGluZyB0aGlzIG9iamVjdCByZXN1bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24u DQogICAgICAgICAgU2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4g YSBEaXNjb3ZlcnkNCiAgICAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVl IG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAgICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFM TCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAgICAgICB0aGUg bG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvDQog ICAgICAgICAgc3VjY2VlZCkuDQogICAgICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRv IHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xl YXIgb3BlcmF0aW9uLg0KICAgICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICAgICByZWFkIHRoaXMgb2JqZWN0 IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlzDQog ICAgICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0 byB0aGlzIG9iamVjdCBTSEFMTA0KICAgICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgICAg RGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAg ICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4g Y2FzZSBvZg0KICAgICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBh Z2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAgICAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zl cnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIGFnZ3JlZ2F0aW9u IGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZA0KICAgICAgICAgIDEwUC8yQiBhZ2dy ZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAg ICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4yLjYuOCINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0 biAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAg ICAgICBVTklUUyAgICAgICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDQ3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQg TGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLg0KICAgICAgICAg IFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxpbmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNo b2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgTGluZSBBdHRlbnVhdGlv biByZWFjaGVzIG9yDQogICAgICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYSBlZm1DdVBt ZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVk LCBpZiBlbmFibGVkIGJ5DQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUg UE1FcyAoLU8pLg0KICAgICAgICAgIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBl ICgtUikuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlvbiBUaHJl c2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQNCiAgICAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgICAgcmVqZWN0 ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksDQog ICAgICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVu IHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJl c2hvbGQgYml0cyBpbg0KICAgICAgICAgIHRoZSAyQiBQTUQgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjgpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIFNOUiBt YXJnaW4gYWxhcm0gdGhyZXNob2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgU05SIE1hcmdpbiByZWFjaGVzIG9yIGV4Y2VlZHMgdGhpcw0KICAgICAgICAgIHRocmVzaG9s ZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUNCiAgICAgICAg ICBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZS4N Cg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQ TUVzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZv ciB0aGUgQ1BFIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1SLzEwUGFzc1RTLVIpLg0KDQog ICAgICAgICAgQ2hhbmdpbmcgb2YgdGhlIFNOUiBNYXJnaW4gVGhyZXNob2xkIE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4NCiAgICAgICAgICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFu Z2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgICAgIGlmIHRoZSBs aW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBN RA0KICAgICAgICAgIGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KDQoNCg0KQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgNDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFj ZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIFJFRkVSRU5DRQ0K ICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSA1IH0NCg0KICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNiB9 DQoNCiAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0K DQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1n bkNyb3NzaW5nDQogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZh bHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDcgfQ0KDQogICAgICBlZm1D dVBtZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBU cnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91 bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9m IHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VGYXVsdA0KICAgICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0K ICAgICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSA4IH0NCg0KICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJs ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ5XQ0KDA0KSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 DQoNCg0KICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFi bGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5 IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUg bm90aWZpY2F0aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50 ZXJmYWNlLg0KDQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMTAg fQ0KDQoNCiAgICAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAg IFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24g b2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgICAg IHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRh YmxlDQogICAgICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgICAgRW50cmllcyBpbiB0aGlz IHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICAgICBtYW5u ZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZSAyIH0NCg0KICAgICAgZWZtQ3VQbWVDYXBhYmls aXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmls aXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRy eSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAg ICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNh biBiZQ0KICAgICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5k ZXhlZCBieSBpZkluZGV4LA0KICAgICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIg UE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9 DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lQ2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VQbWVTdWJU eXBlc1N1cHBvcnRlZCAgICAgQklUUw0KICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lU3ViVHlw ZXNTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAg ICAgICAgIGllZWUyQmFzZVRMTygwKSwNCiAgICAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAg ICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDMpDQogICAg ICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiUE1FIHN1cHBvcnRlZCBz dWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICAgICBzdWItdHlw ZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNl VExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgaWVlZTJCYXNlVExSICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJC YXNlVEwtUg0KICAgICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1FIGlzIGNhcGFibGUgb2Yg b3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IgICAtIFBN RSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBBbiBk ZXNpcmVkIG1vZGUgb2Ygb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUN CiAgICAgICAgICBjdXJyZW50IG9wZXJhdGluZyBtb2RlLg0KDQogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAg ICAgICAgICBvYmplY3QgY29tYmluZXMgdGhlIDEwUEFTUy1UUyBjYXBhYmxlIGFuZCAyQkFTRS1U TCBjYXBhYmxlDQogICAgICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlDQogICAgICAgICAgQ08gc3VwcG9ydGVkIGFuZCBDUEUgc3Vw cG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EDQogICAgICAgICAgc3RhdHVzIHJlZ2lz dGVyIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS40LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLA0KICAgICAgICAgIDQ1LjIuMS4xMi4zIg0K ICAgICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0NCg0KDQogICAgICBlZm1D dVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNF IE9GIEVmbUN1UG1lU3RhdHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIGNvbW1vbiBzdGF0dXMgaW5mb3JtYXRpb24gb2Yg RUZNQ3UNCiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5m b3JtYXRpb24gc3BlY2lmaWMNCiAgICAgICAgICB0byAxMFBBU1MtVFMgUE1FIGlzIHJlcHJlc2Vu dGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDUxXQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2 ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVudC4gQXMgc3VjaCwNCiAgICAgICAgICBpdCBpcyBOT1Qg cGVyc2lzdGVudC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lIDMgfQ0KDQogICAgICBlZm1DdVBt ZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3Rh dHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5IHJl cHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQNCiAgICAgICAgICBp bmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJl DQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUg cG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNUYWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQbWVTdGF0 dXNFbnRyeSA6Oj0NCiAgICAgICAgU0VRVUVOQ0Ugew0KICAgICAgICAgIGVmbUN1UG1lT3BlclN0 YXR1cyAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgICAgICAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybywNCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVQZWVyU25yTWduICAgICAgICAgICAgSW50ZWdl cjMyLA0KICAgICAgICAgIGVmbUN1UG1lTGluZUF0biAgICAgICAgICAgICAgIEludGVnZXIzMiwN CiAgICAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAg ICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAg ICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIsDQogICAgICAgICAgZWZt Q3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyDQogICAgICAgIH0NCg0KICAgICAg ZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICAgICB1cCgxKSwNCiAgICAgICAgICBkb3duTm90UmVhZHkoMiksDQogICAg ICAgICAgZG93blJlYWR5KDMpLA0KICAgICAgICAgIGluaXQoNCkNCiAgICAgICAgfQ0KICAgICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJDdXJyZW50IFBNRSBsaW5rIE9wZXJhdGlvbmFs IFN0YXR1cy4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgICAgIHVwKDEpICAgICAgICAg ICAtIGxpbmsgaXMgVXAgYW5kIHJlYWR5IHRvIHBhc3MgNjQvNjVCDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMuDQogICAgICAgICAgICBk b3duTm90UmVhZHkoMikgLSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZG9lcyBub3QgZGV0ZWN0 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kc2hha2UgdG9uZXMgZnJvbSBpdHMg cGVlci4gVGhpcyB2YWx1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGluZGlj YXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1Ml0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwZWVy IFBNRS4NCiAgICAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9u ZXMgZnJvbSBpdHMgcGVlci4NCiAgICAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMg aW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWZBZG1pblN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgICAg aWZPcGVyU3RhdHVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5r IHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywg NDUuMi4xLjEyLjQiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMSB9DQoNCiAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBC SVRTIHsNCiAgICAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgICAgIGRldmljZUZhdWx0 KDMpLA0KICAgICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUoNSkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFw IG9mDQogICAgICAgICAgcG9zc2libGUgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0 aW9ucyBhcmU6DQoNCiAgICAgICAgICAgIGxvc3NPZkZyYW1pbmcgICAgICAgLSBMb3NzIG9mIEZy YW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvc3Mg b2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICAgICBzbnJNZ25EZWZlY3QgICAg ICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hvbGQNCiAgICAgICAgICAg IGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2VlZHMgdGhlIFRocmVz aG9sZA0KICAgICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRv ci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zdGlj IG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh cyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlh bGl6YXRpb24uDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlv biBmYWlsdXJlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBpbmNv bXBhdGlibGUgcHJvdG9jb2wgdXNlZCBieQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSBQZWVyIFBNRSBkdXJpbmcgaW5pdCAodGhhdCBjb3VsZA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhcg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wvVkRTTCBtb2RlbSBpbnN0ZWFk IG9mIGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTC8xMFBBU1Mt VFMgUE1FKS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1l bnQgaWZPcGVyU3RhdHVzIGluIElGLU1JQi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGhvbGRz IGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lg0KICAgICAgICAgIGVmbUN1UG1lRmx0 U3RhdHVzIGlzIGNsZWFyZWQgYnkgdGhlIGRldmljZSByZXN0YXJ0Lg0KICAgICAgICAgIEluIGFk ZGl0aW9uIGxvc3NPZkZyYW1pbmcsIGNvbmZpZ0luaXRGYWlsdXJlIGFuZA0KICAgICAgICAgIHBy b3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuDQogICAgICAgICAgZGV2 aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNzZnVsIGRpYWdub3N0aWNzL3Rlc3QuDQogICAg ICAgICAgc25yTWduRGVmZWN0IGFuZCBsaW5lQXRuRGVmZWN0IGFyZSBjbGVhcmVkIGJ5IFNOUiBN YXJnaW4NCiAgICAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJu aW5nIHRvIG5vcm0gYW5kIGJ5DQogICAgICAgICAgUE1FIGluaXQuDQoNCiAgICAgICAgICBUaGlz IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAg ICAgIGFQTUVTdGF0dXMuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBjb25z b2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQNCiAgICAgICAgICByZWdp c3RlcnMsIG5hbWVseTogRmF1bHQgYml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsDQog ICAgICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVyLA0KICAgICAgICAgIDEw UCBvdXRnb2luZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgICAgMTBQ IGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAgICAyQiBz dGF0ZSBkZWZlY3RzIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LA0KICAgICAgICAgIDQ1 LjIuMS4zOSwgNDUuMi4xLjU0Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgICAg aWVlZTJCYXNlVExSKDIpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU08oMyksDQogICAgICAgICAg aWVlZTEwUGFzc1RTUig0KQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNPICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLU8NCg0KDQoNCkJlaWxp ICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAg IFtQYWdlIDU0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAgaWVlZTEwUGFz c1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBU aGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29uZmlndXJlZCB2aWEN CiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3Vi LXR5cGUgc2VsZWN0DQogICAgICAgICAgYml0cywgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24g Yml0cyBpbiB0aGUgMTBQLzJCDQogICAgICAgICAgUE1BL1BNRCBjb250cm9sIHJlZ2lzdGVyIGFu ZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluDQogICAgICAgICAgdGhlIDEwUC8yQiBQ TUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4yLjEuMTIuNCINCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWVPcGVy UHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4 T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlBNRSBjdXJyZW50IG9w ZXJhdGluZyBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXIgdG8NCiAgICAgICAgICBh biBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0KICAgICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQNCiAgICAgICAg ICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGluZGljYXRlZCBieQ0KICAgICAgICAg IGVmbUN1UG1lT3BlclN1YlR5cGUuDQogICAgICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRy eSwgdG8gd2hpY2ggZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcw0KICAgICAgICAgIHBvaW50aW5nIHRv LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGlldmVkDQogICAg ICAgICAgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXphdGlvbiwN CiAgICAgICAgICBpLmUuIHZhbHVlcyBvZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFk bWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG1heSBkaWZmZXIu DQogICAgICAgICAgVGhlIHZhbHVlIG9mIHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24g b3IgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAz MC4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1l U25yTWduIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4x Mjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1h cmdpbiB3aXRoIHJlc3BlY3QNCiAgICAgICAgICB0byB0aGUgcmVjZWl2ZWQgc2lnbmFsIGFzIHBl cmNlaXZlZCBieSB0aGUgbG9jYWwgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBp cyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0K DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1NV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2Ug MzAuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBt YXJnaW4gcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDMwLjExLjIuMS40LCA0NS4yLjEuMTYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lUGVlclNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICAgICBVTklUUyAgICAg ICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoZSBjdXJyZW50IFNO UiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0KICAgICAgICAgIHNp Z25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikgUE1FLg0KICAg ICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9y DQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgICAgb2Yg NjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAg ICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2Fo XSA0NS4yLjEuMTciDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAg ICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBp biBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgICAgUE1FLg0KICAgICAgICAg IFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAg ICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjE4Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5 IDcgfQ0KDQogICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQoNCg0KDQpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1 Nl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgVU5JVFMgICAgICAgImRCIg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0 aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlDQogICAgICAgICAgKGxpbmsgcGFy dG5lcikgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVu IFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVl DQogICAgICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQog ICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0 aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGlu ZSBBdHRlbnVhdGlvbg0KICAgICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQog ICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTkiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgOCB9DQoNCiAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZ UEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQ0KICAgICAg ICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQW4g ZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbg0KICAg ICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMg ZXN0YWJsaXNoZWQuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRp Y2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSBy b290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJy aWRnZWQgdGFwcy4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgaWYg dGhlIGxpbmsgaXMgRG93biBvcg0KICAgICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1FIGlz IHVuYWJsZSB0byBlc3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgICAgIExlbmd0aC4NCg0K ICAgICAgICAgIEZvciAxMEJBU0UtVEwgUE1FLCBpZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzDQogICAgICAgICAgcHJlc2VudCwgdGhlbiB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAgRWxlY3RyaWNhbCBMZW5ndGgNCiAgICAgICAgICByZWdpc3RlciINCiAgICAg ICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjEiDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJv cnMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIDY0LzY1LW9jdGV0IGVuY2Fwc3Vs YXRpb24gZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMNCiAgICAgICAgICBpbmNyZW1lbnRlZCBmb3Ig ZWFjaCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVkDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA1N10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBieSB0aGUgNjQv NjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gYVRDQ29kaW5nVmlvbGF0aW9ucyBhdHRyaWJ1dGUgaW4NCiAgICAgICAgICBjbGF1c2UgMzAu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIFRD IGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBj b2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAgICAgICAgIChzZWUgNDUuMi42LjEyKS4NCg0K ICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNh biBvY2N1ciBhdA0KICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50 IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVk IGluIElGLU1JQi4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEu My4zLjEsIDMwLjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgMTAgfQ0KDQogICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJBIG51bWJlciBvZiBUQy1DUkMgZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVt ZW50ZWQgZm9yDQogICAgICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0 LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24NCiAgICAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBG aWd1cmUgNjEtMTkpLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDUkNFcnJv cnMgYXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0K ICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcg0K ICAgICAgICAgIChzZWUgNDUuMi42LjExKS4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjMsIDMwLjExLjIuMS4xMCwgNDUuMi42 LjExIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDExIH0NCg0KICAgICAtLSAy QkFTRS1UTCBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUyQiAgICAgIE9CSkVD VCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDUgfQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmls ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDU4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMgdGFi bGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgICAg b3BlcmF0aW5nIFByb2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgICAgIEZpcnN0IDE0 IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAg ICAgIGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAg IFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAg ICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBzKSAgKGRCbSkNCiAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAg ICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0K ICAgICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAxMy41ICAgIDEgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAo YmVzdCBlZmZvcnQpDQogICAgICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAg MiAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCg0KICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50 cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2VudA0KICAgICAgICAgIGluaXRpYWxpemF0 aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgICAgRW50cmllcyBmb2xsb3dp bmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICAg ICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlv bikNCiAgICAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4N Cg0KICAgICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVu dCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4 IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkIgIDIgfQ0KDQogICAg ICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBw cm9maWxlLg0KICAgICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0 ZXJzLCB1c2VkIGVpdGhlciBmb3INCiAgICAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2Vu dGF0aW9uIG9mIGEgMkJBU0UtVEwgUE1FLg0KICAgICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFy IHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmls ZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgNTldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgcGFyYW1ldGVycyB0 aGUgMkJhc2VUTC1PIFBNRSBpbml0aWFsaXphdGlvbi4NCiAgICAgICAgICBJZiBhIHByb2ZpbGUg aXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsDQogICAgICAgICAg aXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJhbWV0ZXJzIG9mIHRoZQ0KICAgICAg ICAgIG9wZXJhdGlvbmFsIFBNRS4NCg0KICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVk L2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNo YW5pc20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICAgIGFj dGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScN CiAgICAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICAgICBE ZWZhdWx0IGVudHJpZXMgTVVTVCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgICAgIElOREVYIHsgZWZt Q3VQbWUyQlByb2ZpbGVJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkgOjo9DQogICAgICAgIFNFUVVF TkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9m aWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciAgICAgICAgICAgU25t cEFkbWluU3RyaW5nLA0KICAgICAgICAgIGVmbUN1UG1lMkJSZWdpb24gICAgICAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAgICAgICAgRWZt UHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlICAgICAg ICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAg ICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICAgICAg ICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgICAgICAg Um93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXgNCiAgICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICIyQkFTRS1UTCBQTUUgUHJvZmlsZSBpbmRleC4N CiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0 aCB0aGlzIHByb2ZpbGUuDQogICAgICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQ0KICAgICAgICAgIG9yIGVmbUN1UG1lQWRtaW5Q cm9maWxlIG9iamVjdHMuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDEg fQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFT RS1UTCBQTUUNCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRlIGluZm9y bWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQ cm9maWxlRW50cnkgMiB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWdpb24gIE9CSkVDVC1UWVBFDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSA2MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgU1lO VEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAgcmVnaW9uMSgxKSwNCiAgICAgICAgICByZWdp b24yKDIpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJS ZWdpb25hbCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlDQog ICAgICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkxLjJdLg0KICAgICAgICAg IFJlZ2lvbmFsIHNldHRpbmdzIHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0eSAoUFNEKSBt YXNrLA0KICAgICAgICAgIFBvd2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGlt aXRhdGlvbnMgb24gdGhlIG1heA0KICAgICAgICAgIGFsbG93ZWQgZGF0YSByYXRlLCBwb3dlciBh bmQgY29uc3RlbGxhdGlvbi4NCg0KICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBv YmplY3QgYXJlOg0KICAgICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChl LmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICAgICByZWdpb24yICAgICAgLSBBbm5leGVzIEIg YW5kIEcgKGUuZy4gRXVyb3BlKQ0KDQogICAgICAgICAgQW5uZXggQS9CIHNwZWNpZnkgcmVnaW9u YWwgc2V0dGluZ3MgZm9yIGRhdGEgcmF0ZXMgMTkyLTIzMDQNCiAgICAgICAgICBLYnBzIHVzaW5n IDE2LVRDUEFNIGVuY29kaW5nLg0KICAgICAgICAgIEFubmV4IEYvRyBzcGVjaWZ5IHJlZ2lvbmFs IHNldHRpbmdzIGZvciByYXRlcyAyMzIwLTM4NDAgS2Jwcw0KICAgICAgICAgIHVzaW5nIDE2LVRD UEFNIGVuY29kaW5nIGFuZCA3NjgtNTY5NiBLYnBzIHVzaW5nIDMyLVRDUEFNDQogICAgICAgICAg ZW5jb2RpbmcuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBwYXJ0aWFsbHkg bWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICAgICBwYXJh bWV0ZXIgcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQnNNb2RlICBP QkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAg ICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIGN1c3RvbSBTcGVjdHJh bCBNb2RlIGZvciAyQkFTRS1UTCBQTUUuIFRoaXMgb2JqZWN0DQogICAgICAgICAgaXMgYSBwb2lu dGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIGFuZCBhIGJsb2NrDQogICAg ICAgICAgb2YgZW50cmllcyBpbiBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUsIHdoaWNoIHRvZ2V0 aGVyIGRlZmluZQ0KICAgICAgICAgIChjb3VudHJ5LXNwZWNpZmljKSByZWFjaCBkZXBlbmRlbnQg cmF0ZSBsaW1pdGF0aW9ucyBpbg0KICAgICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRlZmluZWQg YnkgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBpcyB0aGUgaW5kZXggb2YgdGhlIHJlZmVyZW5jZWQNCiAgICAgICAgICBzcGVjdHJhbCBtb2Rl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCBu byBzcGVjaWZpYw0KICAgICAgICAgIHNwZWN0cmFsIG1vZGUgaXMgYXBwbGljYWJsZS4NCg0KICAg ICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQgaXMgbm90 IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5IGlu IHRoZSBjb3JyZXNwb25kaW5nIHNwZWN0cmFsDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2MV0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBl Zm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUiDQogICAgICAgIERFRlZBTCB7IDAgfQ0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQgfQ0KDQogICAgICBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYp DQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBp cyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9i amVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgICAgSWYg ZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUg aW4NCiAgICAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBp cyBjb25zaWRlcmVkDQogICAgICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0 aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1 UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgICAgbGltaXRhdGlv bnMgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEg cmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0 byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1EDQogICAgICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgICAgVU5JVFMgICAgICAgIkti cHMiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTWF4aW11bSBEYXRhIFJh dGUgZm9yIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2Ug dmFsdWVzIG9mIChuIHggNjQpS2JwcywNCiAgICAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1U Q1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgICAgVGhl IGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0UtVEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVu DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA2Ml0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1pbkRh dGFSYXRlLg0KICAgICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4g ZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgICAgdGhlIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICAgICdhZGFwdGl2ZScs IGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAg ICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJh bA0KICAgICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBh bmQNCiAgICAgICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgY3Vy cmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgICAgIHJlcHJl c2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQog ICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJC IFBNRA0KICAgICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9i amVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAg IFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxMC4uNDIpDQogICAg ICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAgICAg ICAgIFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRo YXQgdGhlDQogICAgICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQg U0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAgcGxhY2VkIGJ5IHRoZSBl Zm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBpbiB0aGUgMkIgUE1EIHBh cmFtZXRlcnMNCiAgICAgICAgICByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAg ICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxl RW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBhZGFwdGl2ZSgwKSwNCiAg ICAgICAgICB0Y3BhbTE2KDEpLA0KICAgICAgICAgIHRjcGFtMzIoMikNCiAgICAgICAgfQ0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2M10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBvZiB0aGUgMkJBU0Ut VEwgUE1FLg0KICAgICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAg YWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMyLVRDUEFNDQogICAgICAgICAgICB0Y3Bh bTE2KDEpICAgICAtIDE2LVRDUEFNDQogICAgICAgICAgICB0Y3BhbTMyKDIpICAgICAtIDMyLVRD UEFNDQoNCiAgICAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUoMCkgaW4gdGhlIGFkbWluaXN0 cmF0aXZlIHByb2ZpbGUgbWVhbnMNCiAgICAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0 dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAg cGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAg ICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNl bnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9u MSBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIN CiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAg ICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDggfQ0KDQogICAgICBlZm1DdVBtZTJC UHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBSb3dTdGF0 dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG9iamVjdCBjb250 cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQogICAgICAgICAgdGhl IGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlDQogICAg ICAgICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUn IGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRp bCBhbGwNCiAgICAgICAgICByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4g J2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkg YW4NCiAgICAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2 aWNlIChieSBzZXR0aW5nDQogICAgICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScp LCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQ0KDQoNCiAgICAgIGVmbUN1UG1lMkJzTW9k ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSwgdG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRz DQogICAgICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3RyYWwg bW9kZXMgZm9yDQogICAgICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBs aW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0bw0KICAgICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBl Zm1DdVBtZTJCUmVnaW9uLg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJl cyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2NF0NCgwNCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNw0KDQoNCiAgICAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAo ZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZv ciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgICAgdGhlc2Ug Y291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICAg ICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2Rl DQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZl cmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICAgICBUaGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9k ZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgICAgIHdoaWNoIGlzIHVzZWQgdG8g cmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICAgICBlZm1DdTJC UmVhY2hSYXRlVGFibGUuDQoNCiAgICAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0 ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20g dmlhIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cy4iDQogICAgICAgIElOREVYIHsgZWZtQ3VQbWUy QnNNb2RlSW5kZXggfQ0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0K ICAgICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAg ICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQog ICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5n LA0KICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyAgICAgICAgIFJvd1N0YXR1cw0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMg c3BlY3RyYWwNCiAgICAgICAgICBtb2RlLg0KICAgICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJs ZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgb2JqZWN0LiIN CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1l MkJzTW9kZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0 cmluZw0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgNjVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWlu aW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICAgICBj b3JyZXNwb25kaW5nIChjb3VudHJ5LXNwZWNpZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucw0KICAg ICAgICAgIGFuZCByYXRlL3JlYWNoIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBzcGVj dHJhbCBtb2RlLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9DQoNCiAg ICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBSb3dTdGF0dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlz IG9iamVjdCBjb250cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQog ICAgICAgICAgdGhlIGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgcGVy IHRoZSBzZW1hbnRpY3MNCiAgICAgICAgICBvZiBSb3dTdGF0dXMuDQoNCiAgICAgICAgICBJZiBh biAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQ0K ICAgICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2Vz IGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICAgICBleGlzdGluZyBlbnRy eSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgICAg dGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUn DQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAz IH0NCg0KDQogICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAg ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBk ZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwNCiAgICAgICAgICBsaW1p dGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVjaWZpZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgICAgVGhlIHNwZWN0cmFsIHJlZ3VsYXRpb25zIGluIHNv bWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApDQogICAgICAgICAgbGltaXQgdGhlIGxlbmd0aCBv ZiB0aGUgbG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4NCiAgICAgICAgICBUaGlzIHRhYmxl IGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRvIGJlDQogICAgICAg ICAgc3BlY2lmaWVkLg0KDQogICAgICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRh YmxlIGZvciBbQU5GUF06DQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rDQog ICAgICAgICAgRXF1aXZhbGVudCBNYXhSYXRlIE1heFJhdGUNCiAgICAgICAgICAgIExlbmd0aCAg ICBQQU0xNiAgIFBBTTMyDQogICAgICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDY2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIC0t LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICAgICA5NzUgICAgICAyMzA0ICAg IDU2OTYNCiAgICAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgICAg MTI3NSAgICAgIDIzMDQgICAgNTEyMA0KICAgICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4 NjQNCiAgICAgICAgICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgICAgMTUw MCAgICAgIDIzMDQgICAgNDI4OA0KICAgICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgN CiAgICAgICAgICAgICAxNjUwICAgICAgMjMwNCAgICAzNzc2DQogICAgICAgICAgICAgMTcyNSAg ICAgIDIzMDQgICAgMzUyMA0KICAgICAgICAgICAgIDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAg ICAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyDQogICAgICAgICAgICAgMTk1MCAgICAg IDIwNDggICAgMjY4OA0KICAgICAgICAgICAgIDIxMDAgICAgICAxNzkyICAgIDIzNjgNCiAgICAg ICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAgICAgICAgMjQwMCAgICAgIDE0 MDggICAgICAgMA0KICAgICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAgIDANCiAgICAgICAg ICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgICAgMjkyNSAgICAgIDExNTIg ICAgICAgMA0KICAgICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAgICAg ICAzMzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0rDQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0 aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBh bGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAg ICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIltBTkZQXSINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWUyQiAgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSBPQkpFQ1Qt VFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAg ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJFYWNoIGVudHJ5IHNwZWNpZmllcyBt YXhpbXVtIDJCQVNFLVRMIFBNRSBkYXRhIHJhdGVzDQogICAgICAgICAgYWxsb3dlZCBmb3IgYSBj ZXJ0YWluIGVxdWl2YWxlbnQgbG9vcCBsZW5ndGgsIHdoZW4gdXNpbmcNCiAgICAgICAgICAxNi1U Q1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4NCg0KICAgICAgICAgIFdoZW4gMkJBU0UtVEwgUE1F IGlzIGluaXRpYWxpemVkLCBpdHMgZGF0YSByYXRlIE1VU1QgTk9UDQogICAgICAgICAgZXhjZWVk IG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOg0KICAgICAgICAgIC0gdGhlIHZhbHVl IG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQ0KICAgICAgICAgIC0gbWF4aW11bSBkYXRhIHJhdGUg YWxsb3dlZCBieSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyDQogICAgICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBz cGVjaWZpZWQgaW4gdGhlDQogICAgICAgICAgICBlZm1DdVBtZTJCc01vZGVFbnRyeSwgY29ycmVz cG9uZGluZyB0byB0aGUgZXF1aXZhbGVudCBsb29wDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2N10NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRo ZSBQTUUuDQoNCiAgICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJC RXF1aXZhbGVudExlbmd0aCB2YWx1ZXMNCiAgICAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGlu Y3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlDQogICAgICAgICAgbWluaW11bSB2YWx1 ZS4NCg0KICAgICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUg cm93IGNyZWF0aW9uLw0KICAgICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUy UmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTJCc01vZGVJbmRl eCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIDEgfQ0KDQogICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgOjo9DQog ICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5kZXggICAg ICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5n dGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMy ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1 cyAgICAgUm93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUlu ZGV4IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAg ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVj dHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUgaW5kZXguDQogICAgICAgICAgVGhpcyBvYmplY3Qg aXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdpdGggZWFjaCBlbnJ5LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZTJCRXF1 aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQz MigwLi44MTkyKQ0KICAgICAgICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5c2lj YWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdH ICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVu dWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJyaWRnZWQgdGFw cy4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2OF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRM IFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3Ro IHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1l YW5zIHRoYXQgVEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgICAgIHVzZWQg YXQgdGhpcyBkaXN0YW5jZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRy eSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk1heGlt dW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0KICAgICAgICAg IEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4NCiAgICAg ICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNob3Vs ZCBub3QgYmUNCiAgICAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJh dGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQog ICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMg Y3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0KICAgICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlDQogICAgICAg ICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUnIGVu dHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZSwgdGhlDQogICAgICAgICAgZW50 cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQu DQoNCiAgICAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUg dGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICAgICB0aGlzIG9iamVjdCB0 byAnbm90SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICAgICBh Z2Fpbi4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA1IH0NCg0KDQog ICAgIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUxMFAg ICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA2IH0NCg0KICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVO Q0UgT0YgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3Vy YXRpb24gcHJvZmlsZXMgZm9yDQogICAgICAgICAgMTBQYXNzVEwgUE1Fcy4NCg0KDQoNCkJlaWxp ICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAg IFtQYWdlIDY5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIEZpcnN0IDIyIGVu dHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgICAg IGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYyQi4zKToNCiAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgICAgIFByb2Zp bGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90Y2ggRFJhdGUgVVJhdGUNCiAgICAgICAgICAgSW5kZXgg IFBTRE1hc2sjICBwIyAgICBwIyAgICAgICAgcCMgICAgcCMNCiAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgICAgICAgIDEg ICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAgMjAgICAgMjAoZGVmYXVsdCkNCiAgICAgICAg ICAgICAyICAgICAxMyAgICAgIDUgICAgMCAgICAgICAgICAgIDIwICAgIDIwDQogICAgICAgICAg ICAgMyAgICAgIDEgICAgICAxICAgIDAgICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAgICAg IDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAgICAxMDANCiAgICAgICAgICAgICA1 ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgIDcwICAgIDUwDQogICAgICAgICAgICAgNiAg ICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAgICAxMA0KICAgICAgICAgICAgIDcgICAg IDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzANCiAgICAgICAgICAgICA4ICAgICAg OCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAgICAgICAgICAgOSAgICAgIDQg ICAgICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAgICAgMTAgICAgICA0ICAg ICAgMCAgICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgICAgIDExICAgICAyMyAgICAg IDAgICAgMCAgICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAgICAxMiAgICAgMjMgICAgICAw ICAgIDAgICAgICAgICAgICAgNSAgICAgNQ0KICAgICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAg ICAyLDUsOSwxMSAgICAxMDAgICAxMDANCiAgICAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAg Miw1LDksMTEgICAgIDcwICAgIDUwDQogICAgICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIs NiwxMCwxMSAgICA1MCAgICAxMA0KICAgICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUs OSwxMSAgICAgMzAgICAgMzANCiAgICAgICAgICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEw LDExICAgIDMwICAgICA1DQogICAgICAgICAgICAxOCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwx MSAgICAyNSAgICAyNQ0KICAgICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYsMTAsMTEg ICAgMTUgICAgMTUNCiAgICAgICAgICAgIDIwICAgICAyMyAgICAgIDAgICAgMiw1LDksMTEgICAg IDEwICAgIDEwDQogICAgICAgICAgICAyMSAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAg NSAgICAgNQ0KICAgICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAgICAgICAgICAyMDAg ICAgNTANCg0KICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVk IGJ5IGR1cmluZyBhZ2VudA0KICAgICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBi ZSBkZWxldGVkLg0KDQogICAgICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDIyLCBj YW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICAgICBkZWxldGVkLCB0byBwcm92 aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICAgICBwcm9m aWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgICAgIFRoaXMg dGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICAg ICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAzMC4xMS4yLjEu NiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICAgICBlZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkVhY2gg ZW50cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUgMTBQQVNTLVRTIFBNRQ0KICAgICAgICAgIHBy b2ZpbGUuDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSA3MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAg ICAgICAgICBFYWNoIHByb2ZpbGUgY29udGFpbnMgYSBzZXQgb2YgcGFyYW1ldGVycywgdXNlZCBl aXRoZXIgZm9yDQogICAgICAgICAgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBh IDEwUEFTUy1UUyBQTUUuDQogICAgICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBp cyByZWZlcmVuY2VkIHZpYQ0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAo b3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYNCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBp cyB6ZXJvKSwgaXQgcmVwcmVzZW50IHRoZSBkZXNpcmVkDQogICAgICAgICAgcGFyYW1ldGVycyB0 aGUgMTBQYXNzVFMtTyBQTUUgaW5pdGlhbGl6YXRpb24uDQogICAgICAgICAgSWYgYSBwcm9maWxl IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgICAg IGl0IHJlcHJlc2VudHMgY3VycmVudCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0aGUgUE1FLg0K DQogICAgICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93 IGNyZWF0aW9uLw0KICAgICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUxMFBQ cm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICAgICdhY3RpdmUnIGVudHJ5IGlzIHJlZmVy ZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJw0KICAgICAgICAgIHVudGlsIGFs bCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KICAgICAgICAgIERlZmF1bHQgZW50cmllcyBNVVNU IE5PVCBiZSByZW1vdmVkLiINCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTEwUFByb2ZpbGVJbmRl eCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQ0KDQogICAgICBF Zm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA6Oj0NCiAgICAgICAgU0VRVUVOQ0Ugew0KICAgICAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAg ICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywN CiAgICAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmlsZSAgSU5URUdFUiwNCiAg ICAgICAgICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICAgSU5URUdFUiwNCiAgICAg ICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzICAgICAgQklUUywNCiAgICAgICAgICBl Zm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICAgICBlZm1D dVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwNCiAgICAgICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVSb3dTdGF0dXMgICAgICAgUm93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAg ZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAg RWZtUHJvZmlsZUluZGV4DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi MTBQQVNTLVRTIFBNRSBQcm9maWxlIEluZGV4Lg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHRo ZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvZmlsZS4NCiAgICAgICAgICBF bnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxl IG9yDQogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUuIg0KICAgICAgICA6Oj0geyBlZm1D dVBtZTEwUFByb2ZpbGVFbnRyeSAxIH0NCg0KICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3Ig T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5nDQogICAgICAg IE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5n IGluZm9ybWF0aW9uIGFib3V0IDEwUEFTUy1UUyBQTUUNCiAgICAgICAgICBQcm9maWxlLiBUaGUg c3RyaW5nIG1heSBpbmNsdWRlIGluZm9ybWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgICAg IGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSA3MV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgMiB9DQoNCiAgICAgIGVmbUN1UG1lMTBQQmFuZHBs YW5QU0RNc2tQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggIElOVEVHRVIgew0K ICAgICAgICAgIHByb2ZpbGUxKDEpLA0KICAgICAgICAgIHByb2ZpbGUyKDIpLA0KICAgICAgICAg IHByb2ZpbGUzKDMpLA0KICAgICAgICAgIHByb2ZpbGU0KDQpLA0KICAgICAgICAgIHByb2ZpbGU1 KDUpLA0KICAgICAgICAgIHByb2ZpbGU2KDYpLA0KICAgICAgICAgIHByb2ZpbGU3KDcpLA0KICAg ICAgICAgIHByb2ZpbGU4KDgpLA0KICAgICAgICAgIHByb2ZpbGU5KDkpLA0KICAgICAgICAgIHBy b2ZpbGUxMCgxMCksDQogICAgICAgICAgcHJvZmlsZTExKDExKSwNCiAgICAgICAgICBwcm9maWxl MTIoMTIpLA0KICAgICAgICAgIHByb2ZpbGUxMygxMyksDQogICAgICAgICAgcHJvZmlsZTE0KDE0 KSwNCiAgICAgICAgICBwcm9maWxlMTUoMTUpLA0KICAgICAgICAgIHByb2ZpbGUxNigxNiksDQog ICAgICAgICAgcHJvZmlsZTE3KDE3KSwNCiAgICAgICAgICBwcm9maWxlMTgoMTgpLA0KICAgICAg ICAgIHByb2ZpbGUxOSgxOSksDQogICAgICAgICAgcHJvZmlsZTIwKDIwKSwNCiAgICAgICAgICBw cm9maWxlMjEoMjEpLA0KICAgICAgICAgIHByb2ZpbGUyMigyMiksDQogICAgICAgICAgcHJvZmls ZTIzKDIzKSwNCiAgICAgICAgICBwcm9maWxlMjQoMjQpLA0KICAgICAgICAgIHByb2ZpbGUyNSgy NSksDQogICAgICAgICAgcHJvZmlsZTI2KDI2KSwNCiAgICAgICAgICBwcm9maWxlMjcoMjcpLA0K ICAgICAgICAgIHByb2ZpbGUyOCgyOCksDQogICAgICAgICAgcHJvZmlsZTI5KDI5KQ0KICAgICAg ICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiMTBQQVNTLVRTIFBNRSBC YW5kcGxhbiBhbmQgUFNEIE1hc2sgcHJvZmlsZSwNCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4g ODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICAgLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLQ0K ICAgICAgICAgIFByb2ZpbGUgTmFtZSAgICBQU0QgTWFzayAgICAgICAgICAgICAgICAgIEJhbmRz ICAgICBCYW5kcGxhbg0KICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0NCiAgICAgICAgICBwcm9maWxlMSgxKSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIHgvRC9VL0QvVSAgQQ0KICAgICAgICAgIHByb2ZpbGUy KDIpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0xDQogICAgICAgICAgcHJvZmlsZTMoMykgICAt IFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0yDQogICAgICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQy NC9ULVUgUDEgRlRURXguTTINCiAgICAgICAgICBwcm9maWxlNSg1KSAgIC0gVDEuNDI0L1QtVSBQ MSBGVFRDYWIuTTEgIEQvRC9VL0QvVQ0KICAgICAgICAgIHByb2ZpbGU2KDYpICAgLSBUMS40MjQv VC1VIFAxIEZUVEV4Lk0xDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA3Ml0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgICBwcm9maWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTIN CiAgICAgICAgICBwcm9maWxlOCg4KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAg ICAgIHByb2ZpbGU5KDkpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgVS9EL1UvRC94DQog ICAgICAgICAgcHJvZmlsZTEwKDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICAg ICBwcm9maWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICAgICBwcm9m aWxlMTIoMTIpIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgICAgIHByb2ZpbGUxMygx MykgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgeC9EL1UvRC9VICBCDQogICAgICAgICAgcHJv ZmlsZTE0KDE0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgICAgcHJvZmlsZTE1 KDE1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQogICAgICAgICAgcHJvZmlsZTE2KDE2KSAt IFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAx MDEgMjcwLTEgUGNhYi5NMg0KICAgICAgICAgIHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0x IFBleC5QMS5NMg0KICAgICAgICAgIHByb2ZpbGUxOSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBleC5Q Mi5NMg0KICAgICAgICAgIHByb2ZpbGUyMCgyMCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAg VS9EL1UvRC94DQogICAgICAgICAgcHJvZmlsZTIxKDIxKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5N MS5CDQogICAgICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xDQog ICAgICAgICAgcHJvZmlsZTIzKDIzKSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xDQogICAgICAg ICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMg0KICAgICAgICAgIHByb2Zp bGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMg0KICAgICAgICAgIHByb2ZpbGUyNigy NikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAgICAgIHByb2ZpbGUyNygyNykgLSBH Ljk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9VICBGDQogICAgICAgICAgcHJvZmls ZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNETikNCiAgICAgICAgICBwcm9m aWxlMjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9uKQ0KDQogICAgICAgICAg VGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2ZpbGUgYXR0cmlidXRl DQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSBBbm5leCA2MkEsIDMwLjUuMS4xLjIyIg0KICAgICAgICA6Oj0geyBlZm1DdVBt ZTEwUFByb2ZpbGVFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJv ZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICAgICBw cm9maWxlMSgxKSwNCiAgICAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICAgICBwcm9maWxlMygz KSwNCiAgICAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICAgICBwcm9maWxlNSg1KSwNCiAgICAg ICAgICBwcm9maWxlNig2KSwNCiAgICAgICAgICBwcm9maWxlNyg3KSwNCiAgICAgICAgICBwcm9m aWxlOCg4KSwNCiAgICAgICAgICBwcm9maWxlOSg5KQ0KICAgICAgICB9DQogICAgICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNr LU9mZiAoVVBCTykgUmVmZXJlbmNlIFBTRA0KICAgICAgICAgIFByb2ZpbGUsIGFzIHNwZWNpZmll ZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzDQogICAgICAgICAgYXJlOg0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNzNdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg ICBwcm9maWxlMSgxKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTENCiAgICAgICAg ICAgIHByb2ZpbGUyKDIpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMg0KICAgICAg ICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0xDQogICAg ICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEYgTTINCiAg ICAgICAgICAgIHByb2ZpbGU1KDUpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQSZCDQog ICAgICAgICAgICBwcm9maWxlNig2KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEMNCiAg ICAgICAgICAgIHByb2ZpbGU3KDcpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRA0KICAg ICAgICAgICAgcHJvZmlsZTgoOCkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBFDQogICAg ICAgICAgICBwcm9maWxlOSg5KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEYNCg0KICAg ICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFVUEJPUmVmZXJlbmNlUHJvZmlsZSBhdHRy aWJ1dGUNCiAgICAgICAgICBpbiBDbGF1c2UgMzAuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAg ICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjQsIDMwLjUuMS4xLjIzIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA0IH0NCg0KICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90 Y2hQcm9maWxlcyAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBCSVRTIHsNCiAgICAgICAg ICBwcm9maWxlMCgwKSwNCiAgICAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICAgICBwcm9maWxl MigyKSwNCiAgICAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICAgICBwcm9maWxlNCg0KSwNCiAg ICAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICAgICBw cm9maWxlNyg3KSwNCiAgICAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICAgICBwcm9maWxlOSg5 KSwNCiAgICAgICAgICBwcm9maWxlMTAoMTApLA0KICAgICAgICAgIHByb2ZpbGUxMSgxMSkNCiAg ICAgICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQ TUUgRWdyZXNzIENvbnRyb2wgQmFuZCBOb3RjaCBQcm9maWxlIGJpdG1hcCwNCiAgICAgICAgICBh cyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQog ICAgICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tKy0tLS0tDQogICAgICAgICAgUHJvZmlsZSBOYW1lICAgIEcuOTkxLjMgIFQxLjQyNC9U LVUgVFMxMDEgMjcwLTEgU3RhcnRGIEVuZEYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgVGFi bGUgICAgVGFibGUgICAgICBUYWJsZSAgICAgICAoTUh6KSAgKE1IeikNCiAgICAgICAgICAtLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0N CiAgICAgICAgICBwcm9maWxlMCgwKSAgIC0gbm8gcHJvZmlsZQ0KICAgICAgICAgIHByb2ZpbGUx KDEpICAgLSBGLTUgIzAxICAtICAgICAgICAgIC0gICAgICAgICAgIDEuODEwICAxLjgyNQ0KICAg ICAgICAgIHByb2ZpbGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAgICAgIDEu ODEwICAyLjAwMA0KICAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBGLTUgIzAyICAtICAgICAgICAg IC0gICAgICAgICAgIDEuOTA3ICAxLjkxMg0KICAgICAgICAgIHByb2ZpbGU0KDQpICAgLSBGLTUg IzAzICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNTAwICAzLjU3NQ0KICAgICAgICAgIHByb2Zp bGU1KDUpICAgLSA2LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMA0K ICAgICAgICAgIHByb2ZpbGU2KDYpICAgLSAtICAgICAgICAxNS0xICAgICAgIC0gICAgICAgICAg IDMuNTAwICA0LjAwMA0KICAgICAgICAgIHByb2ZpbGU3KDcpICAgLSBGLTUgIzA0ICAtICAgICAg ICAgIC0gICAgICAgICAgIDMuNzQ3ICAzLjc1NA0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAg ICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzRdDQoMDQpJ bnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAg IEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgcHJvZmlsZTgoOCkgICAtIEYtNSAjMDUgIC0g ICAgICAgICAgLSAgICAgICAgICAgMy43OTEgIDMuODA1DQogICAgICAgICAgcHJvZmlsZTkoOSkg ICAtIDYtMiAgICAgIC0gICAgICAgICAgMTcgICAgICAgICAgNy4wMDAgIDcuMTAwDQogICAgICAg ICAgcHJvZmlsZTEwKDEwKSAtIEYtNSAjMDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAg IDcuMzAwDQogICAgICAgICAgcHJvZmlsZTExKDExKSAtIDYtMiAgICAgIDE1LTEgICAgICAgMSAg ICAgICAgICAgMTAuMTAwIDEwLjE1MA0KDQogICAgICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHBy b2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1JpbmcNCiAgICAgICAgICBpbmRpdmlkdWFsIHBy b2ZpbGVzLCBmb3IgZXhhbXBsZSB2YWx1ZSBvZiAweDA2MjIgc2VsZWN0cw0KICAgICAgICAgIHBy b2ZpbGVzIDIsNiwxMCBhbmQgMTEuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRo ZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICAgICBpbiBDbGF1c2UgMzAuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjUsIDMw LjUuMS4xLjE5Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA1IH0NCg0K ICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICAg ICBwcm9maWxlMTAoMTApLA0KICAgICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgICAgcHJv ZmlsZTIwKDIwKSwNCiAgICAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgICAgIHByb2ZpbGUz MCgzMCksDQogICAgICAgICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICAgICBwcm9maWxlNzAoNzAp LA0KICAgICAgICAgIHByb2ZpbGUxMDAoMTAwKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUg UHJvZmlsZSwNCiAgICAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBv c3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICAgICBwcm9maWxlNSg1KSAgICAgICAtIDIuNSBN YnBzDQogICAgICAgICAgICBwcm9maWxlMTAoMTApICAgICAtIDUgTWJwcw0KICAgICAgICAgICAg cHJvZmlsZTE1KDE1KSAgICAgLSA3LjUgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTIwKDIwKSAg ICAgLSAxMCBNYnBzDQogICAgICAgICAgICBwcm9maWxlMjUoMjUpICAgICAtIDEyLjUgTWJwcw0K ICAgICAgICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAxNSBNYnBzDQogICAgICAgICAgICBwcm9m aWxlNTAoNTApICAgICAtIDI1IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgIC0g MzUgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1MCBNYnBzDQoNCiAgICAg ICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0cmVh bSBQYXlsb2FkDQogICAgICAgICAgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBw YXlsb2FkIHJhdGUgb2YgdGhlDQogICAgICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUg YWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBs YW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgICAgU0hBTEwg ZmFpbC4NCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1 LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQog ICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3Ry ZWFtDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAgICAgIFJFRkVSRU5D RQ0KICAgICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiDQogICAg ICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBtZTEw UFBheWxvYWREUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIElO VEVHRVIgew0KICAgICAgICAgIHByb2ZpbGU1KDUpLA0KICAgICAgICAgIHByb2ZpbGUxMCgxMCks DQogICAgICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICAgICBwcm9maWxlMjAoMjApLA0KICAg ICAgICAgIHByb2ZpbGUyNSgyNSksDQogICAgICAgICAgcHJvZmlsZTMwKDMwKSwNCiAgICAgICAg ICBwcm9maWxlNTAoNTApLA0KICAgICAgICAgIHByb2ZpbGU3MCg3MCksDQogICAgICAgICAgcHJv ZmlsZTEwMCgxMDApLA0KICAgICAgICAgIHByb2ZpbGUxNDAoMTQwKSwNCiAgICAgICAgICBwcm9m aWxlMjAwKDIwMCkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAgIjEwUEFTUy1UUyBQTUUgRG93bnN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAgICAg ICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBh cmU6DQogICAgICAgICAgICBwcm9maWxlNSg1KSAgICAgIC0gMi41IE1icHMNCiAgICAgICAgICAg IHByb2ZpbGUxMCgxMCkgICAgLSA1IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAg LSA3LjUgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAtIDEwIE1icHMNCiAgICAg ICAgICAgIHByb2ZpbGUyNSgyNSkgICAgLSAxMi41IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUz MCgzMCkgICAgLSAxNSBNYnBzDQogICAgICAgICAgICBwcm9maWxlNTAoNTApICAgIC0gMjUgTWJw cw0KICAgICAgICAgICAgcHJvZmlsZTcwKDcwKSAgICAtIDM1IE1icHMNCiAgICAgICAgICAgIHBy b2ZpbGUxMDAoMTAwKSAgLSA1MCBNYnBzDQogICAgICAgICAgICBwcm9maWxlMTQwKDE0MCkgIC0g NzAgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTIwMCgyMDApICAtIDEwMCBNYnBzDQoNCiAgICAg ICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBEb3duc3Ry ZWFtDQogICAgICAgICAgUGF5bG9hZCBCaXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhl IHBheWxvYWQgcmF0ZSBvZg0KICAgICAgICAgIHRoZSBzZWxlY3RlZCBwcm9maWxlIGNhbm5vdCBi ZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcA0KICAgICAgICAgIGVudmlyb25tZW50LCBiYW5k cGxhbiBhbmQgUFNEIG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24NCiAgICAgICAgICBTSEFM TCBmYWlsLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRl UHJvZmlsZURvd25zdHJlYW0NCiAgICAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiINCiAg ICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy42LCAzMC41 LjEuMS4yMSINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNyB9DQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA3Nl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgIGVmbUN1UG1l MTBQUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBSb3dT dGF0dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG9iamVjdCBj b250cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQogICAgICAgICAg dGhlIGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRoZQ0K ICAgICAgICAgIHNlbWFudGljcyBvZiBSb3dTdGF0dXMuDQoNCiAgICAgICAgICBJZiBhbiBhY3Rp dmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3INCiAgICAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVu dGlsDQogICAgICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuDQoNCiAgICAgICAgICBB biAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIEluIG9yZGVyIHRvIG1vZGlm eSBhbg0KICAgICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNl cnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICAgICB0aGlzIG9iamVjdCB0byAnbm90SW5TZXJ2aWNl JyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICAgICBhZ2Fpbi4iDQogICAgICAg IDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDggfQ0KDQoNCiAgICAgIGVmbUN1UG1lMTBQ U3RhdHVzVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0Yg RWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIlRoaXMgdGFibGUgcHJvdmlkZXMgc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1IDEw UEFTUy1UUw0KICAgICAgICAgIFBNRXMgKG1vZGVtcykuDQoNCiAgICAgICAgICBUaGlzIHRhYmxl IGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBlcXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAg ICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUCAyIH0N Cg0KICAgICAgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1h Y2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1UUyBQTUUgU3RhdHVz IHRhYmxlLiINCiAgICAgICAgQVVHTUVOVFMgeyBlZm1DdVBtZVN0YXR1c0VudHJ5IH0NCiAgICAg ICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQbWUxMFBT dGF0dXNFbnRyeSA6Oj0NCiAgICAgICAgU0VRVUVOQ0Ugew0KICAgICAgICAgIGVmbUN1UG1lMTBQ RkVDQ29ycmVjdGVkQmxvY2tzICAgICBDb3VudGVyMzIsDQogICAgICAgICAgZWZtQ3VQbWUxMFBG RUNVbmNvcnJlY3RlZEJsb2NrcyAgIENvdW50ZXIzMg0KICAgICAgICB9DQoNCiAgICAgIGVmbUN1 UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQRQ0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug NzddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVk IGFuZCBjb3JyZWN0ZWQgRkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMNCiAgICAgICAgICBQTUUu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQTUVGRUNDb3JyZWN0ZWRCbG9ja3Mg YXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwNCiAgICAgICAg ICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgY29ycmVjdGFibGUgZXJyb3Jz DQogICAgICAgICAgcmVnaXN0ZXINCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUg dmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWluaXRpYWxp emF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAg ICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5 VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVSRU5DRQ0K ICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEuOCINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSAxIH0NCg0KICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNv cnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMy DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY291bnQgb2YgcmVjZWl2ZWQg RkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMgUE1FLCB3aGljaCBhcmUNCiAgICAgICAgICB1bmNv cnJlY3RhYmxlLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDVW5jb3Jy ZWN0YWJsZUJsb2NrcyBhdHRyaWJ1dGUgaW4NCiAgICAgICAgICBjbGF1c2UgMzAuDQoNCiAgICAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVz ZW50LA0KICAgICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyB1bmNv cnJlY3RhYmxlIGVycm9ycw0KICAgICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICAgICBEaXNjb250 aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3Vu dGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAg ICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMywgMzAuMTEuMi4x LjkiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMiB9DQoNCiAgICAgLS0N CiAgICAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAgICAtLQ0KDQoNCg0KQmVpbGkgICAg ICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1Bh Z2UgNzhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlC ICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICBlZm1DdUdyb3VwcyAgICAgIE9C SkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMSB9DQoNCiAgICAgIGVmbUN1 Q29tcGxpYW5jZXMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VDb25mb3JtYW5jZSAyIH0N Cg0KICAgICAgLS0gT2JqZWN0IEdyb3Vwcw0KDQogICAgICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNU LUdST1VQDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1UEFGU3VwcG9ydGVkLA0K ICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJh dGUsDQogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24sDQogICAgICAgICAgZWZtQ3VBZGFwdGl2 ZVNwZWN0cmEsDQogICAgICAgICAgZWZtQ3VQb3J0U2lkZSwNCiAgICAgICAgICBlZm1DdUZsdFN0 YXR1cw0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVT Q1JJUFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcmVwcmVzZW50aW5n IG1hbmFnZW1lbnQgaW5mb3JtYXRpb24NCiAgICAgICAgICBjb21tb24gZm9yIGFsbCB0eXBlcyBv ZiBFRk1DdSBwb3J0cy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDEgfQ0KDQogICAgICBl Zm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBl Zm1DdVBlZXJQQUZTdXBwb3J0ZWQsDQogICAgICAgICAgZWZtQ3VQQUZDYXBhY2l0eSwNCiAgICAg ICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSwNCiAgICAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUs DQogICAgICAgICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLA0KICAgICAgICAgIGVmbUN1UEFGUmVt b3RlRGlzY292ZXJ5Q29kZSwNCiAgICAgICAgICBlZm1DdU51bVBNRXMNCiAgICAgICAgfQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcgT1BUSU9OQUwgUE1FDQogICAgICAg ICAgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgYW5kIFBBRiBkaXNjb3ZlcnkgaW4gRUZNQ3Ug cG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAyIH0NCg0KICAgICAgZWZtQ3VQQUZF cnJvcnNHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZt Q3VQQUZJbkVycm9ycywNCiAgICAgICAgICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMsDQogICAg ICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzLA0KICAgICAgICAgIGVmbUN1UEFGSW5CYWRG cmFnbWVudHMsDQogICAgICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMsDQogICAgICAgICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMsDQogICAgICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzLA0KICAg ICAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAg ICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDc5XQ0KDA0KSW50 ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBG ZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMg c3VwcG9ydGluZyBPUFRJT05BTCBlcnJvciBjb3VudGVycw0KICAgICAgICAgIG9mIFBBRiBvbiBF Rk1DdSBwb3J0cy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDMgfQ0KDQogICAgICBlZm1D dVBtZUdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1D dVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsDQogICAgICAg ICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRl ZCwNCiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwNCiAgICAgICAgICBlZm1DdVBtZU9w ZXJTdWJUeXBlLA0KICAgICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSwNCiAgICAg ICAgICBlZm1DdVBtZU9wZXJQcm9maWxlLA0KICAgICAgICAgIGVmbUN1UG1lU25yTWduLA0KICAg ICAgICAgIGVmbUN1UG1lUGVlclNuck1nbiwNCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQog ICAgICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0biwNCiAgICAgICAgICBlZm1DdVBtZUVxdWl2YWxl bnRMZW5ndGgsDQogICAgICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycywNCiAgICAgICAgICBl Zm1DdVBtZVRDQ3JjRXJyb3JzLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biwNCiAg ICAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbg0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9u IG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgICAgYSAyQkFT RS1UTC8xMFBBU1MtVFMgUE1FLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9DQoNCiAg ICAgIGVmbUN1QWxhcm1Db25mR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0K ICAgICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSwNCiAgICAgICAgICBlZm1DdUxvd1JhdGVDcm9z c2luZ0VuYWJsZSwNCiAgICAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAgICAg ZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUsDQogICAgICAgICAgZWZtQ3VQbWVUaHJlc2hT bnJNZ24sDQogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlLA0KICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5p dEZhaWxFbmFibGUsDQogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlDQog ICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIGNvbmZpZ3Vy YXRpb24gb2YgYWxhcm0NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDgwXQ0KDA0KSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 DQoNCg0KICAgICAgICAgIHRocmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlvbnMgaW4gRUZNQ3UgcG9y dHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyA1IH0NCg0KICAgICAgZWZtQ3VOb3RpZmlj YXRpb25Hcm91cCBOT1RJRklDQVRJT04tR1JPVVANCiAgICAgICAgTk9USUZJQ0FUSU9OUyB7DQog ICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcsDQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRu Q3Jvc3NpbmcsDQogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZywNCiAgICAgICAgICBl Zm1DdVBtZURldmljZUZhdWx0LA0KICAgICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWx1cmUs DQogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlDQogICAtLSAgICAgICBlZm1D dVBtZURldmljZUZhdWx0LA0KICAgLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9zcw0KICAg ICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICAiVGhpcyBncm91cCBzdXBwb3J0cyBub3RpZmljYXRpb25zIG9mIHNpZ25pZmlj YW50IGNvbmRpdGlvbnMNCiAgICAgICAgICBhc3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIg0K ICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyA2IH0NCg0KICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVH cm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZtQ3VQbWUy QlByb2ZpbGVEZXNjciwNCiAgICAgICAgICBlZm1DdVBtZTJCUmVnaW9uLA0KICAgICAgICAgIGVm bUN1UG1lMkJzTW9kZSwNCiAgICAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUsDQogICAgICAg ICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlLA0KICAgICAgICAgIGVmbUN1UG1lMkJQb3dlciwNCiAg ICAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiwNCiAgICAgICAgICBlZm1DdVBtZTJCUHJv ZmlsZVJvd1N0YXR1cywNCiAgICAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNjciwNCiAgICAgICAg ICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMsDQogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxl bnRMZW5ndGgsDQogICAgICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYsDQogICAgICAg ICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNo UmF0ZVJvd1N0YXR1cw0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAg ICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhh dCBjb25zdGl0dXRlIGEgY29uZmlndXJhdGlvbg0KICAgICAgICAgIHByb2ZpbGUgZm9yIGNvbmZp Z3VyYXRpb24gb2YgMkJBU0UtVEwgcG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3 fQ0KDQogICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAg T0JKRUNUUyB7DQogICAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IsDQogICAgICAgICAg ZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUsDQogICAgICAgICAgZWZtQ3VQbWUxMFBV UEJPUmVmZXJlbmNlUHJvZmlsZSwNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBp cmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDgxXQ0KDA0KSW50ZXJuZXQt RHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFy eSAyMDA3DQoNCg0KICAgICAgICAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsDQogICAg ICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlLA0KICAgICAgICAgIGVmbUN1UG1l MTBQUGF5bG9hZERSYXRlUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBjb25zdGl0dXRl IGEgY29uZmlndXJhdGlvbg0KICAgICAgICAgIHByb2ZpbGUgZm9yIGNvbmZpZ3VyYXRpb24gb2Yg MTBQQVNTLVRTIHBvcnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9DQoNCiAgICAg IGVmbUN1UG1lMTBQU3RhdHVzR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0K ICAgICAgICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzLA0KICAgICAgICAgIGVmbUN1 UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgIGN1 cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9i amVjdHMgcHJvdmlkaW5nIHN0YXR1cyBpbmZvcm1hdGlvbg0KICAgICAgICAgIHNwZWNpZmljIHRv IDEwUEFTUy1UUyBQTUVzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOSB9DQoNCiAgICAg LS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzDQoNCiAgICAgIGVmbUN1Q29tcGxpYW5jZSBNT0RVTEUt Q09NUExJQU5DRQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgMkJBU0UtVEwvMTBQ QVNTLVRTIGludGVyZmFjZXMuDQogICAgICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dp bmcgZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzDQogICAgICAgICAgaXMgUkVRVUlSRUQ6 DQoNCiAgICAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50 DQogICAgICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0K ICAgICAgICAgIElGLU1JQiAgICAgICAgICAgICAgICAgaWZDb21wbGlhbmNlMw0KICAgICAgICAg IEV0aGVyTGlrZS1NSUIgICAgICAgICAgZG90M0NvbXBsaWFuY2UyDQogICAgICAgICAgTUFVLU1J QiAgICAgICAgICAgICAgICBtYXVNb2RJZkNvbXBsMw0KDQogICAgICAgICAgQ29tcGxpYW5jZSB3 aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZXJuYWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzDQogICAgICAg ICAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucyBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdh dGlvbg0KICAgICAgICAgIEZ1bmN0aW9uIChQQUYpIHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVj dCBiZXR3ZWVuIHRoZSBQQ1MNCiAgICAgICAgICBhbmQgUE1FIHBvcnRzOg0KDQogICAgICAgICAg TUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudA0KICAgICAgICAgIC0t LS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICAgICBJRi1J TlZFUlRFRC1TVEFDSy1NSUIgIGlmSW52Q29tcGxpYW5jZQ0KICAgICAgICAgIElGLUNBUC1TVEFD Sy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFuY2UiDQoNCiAgICAgICAgTU9EVUxFICAtLSB0 aGlzIG1vZHVsZQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0K DQogICAgICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICAgICBlZm1DdUJhc2ljR3Jv dXAsDQogICAgICAgICAgICBlZm1DdVBtZUdyb3VwLA0KICAgICAgICAgICAgZWZtQ3VBbGFybUNv bmZHcm91cCwNCiAgICAgICAgICAgIGVmbUN1Tm90aWZpY2F0aW9uR3JvdXANCiAgICAgICAgICB9 DQoNCiAgICAgICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwDQogICAgICAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9u bHkgcmVxdWlyZWQgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgICAgc3VwcG9ydGluZyAy QkFTRS1UTCBQaHkuIg0KDQogICAgICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxl R3JvdXANCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRo aXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3IgaW1wbGVtZW50YXRpb25zDQogICAgICAgICAg ICBzdXBwb3J0aW5nIDEwUEFTUy1UUyBQaHkuIg0KDQogICAgICAgICAgR1JPVVAgICAgICAgZWZt Q3VQQUZHcm91cA0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9ydCBm b3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcg0KICAgICAgICAgICAgaW1wbGVtZW50 YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpLiINCg0KICAg ICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXANCiAgICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwgZm9y IGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikuIg0KDQogICAgICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBTdGF0 dXNHcm91cA0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zDQogICAgICAgICAgICBz dXBwb3J0aW5nIDEwUEFTUy1UUyBQaHkuIg0KDQogICAgICAgICAgT0JKRUNUICAgICAgZWZtQ3VQ bWVTdWJUeXBlc1N1cHBvcnRlZA0KICAgICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAg ICAgICAgaWVlZTJCYXNlVExPKDApLA0KICAgICAgICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAg ICAgICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IoMykN CiAgICAgICAgICB9DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0 IGZvciBhbGwgc3VidHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dldmVyIGF0IGxlYXN0DQogICAg ICAgICAgICBvbmUgdmFsdWUgU0hBTEwgYmUgc3VwcG9ydGVkIg0KDQogICAgICAgICAgT0JKRUNU ICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUNCiAgICAgICAgICBNSU4tQUNDRVNTICByZWFkLW9u bHkNCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBu b3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQTUVzDQogICAgICAgICAgICBzdXBwb3J0aW5n IG1vcmUgdGhhbiBhIHNpbmdsZSBzdWJ0eXBlLCBlLmcuDQoNCg0KDQpCZWlsaSAgICAgICAgICAg ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4M10N CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAg ICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIGllZWUyQmFzZVRMTyBhbmQgaWVl ZTJCYXNlVExSIG9yIGllZWUxMFBhc3NUU08gYW5kDQogICAgICAgICAgICBpZWVlMTBQYXNzVFNS KSINCg0KICAgICAgICAgIE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduDQogICAgICAgICAg TUlOLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAg ICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNz DQogICAgICAgICAgICB0aGUgdGFyZ2V0IFNOUiBtYXJnaW4gU0hBTEwgYmUgZml4ZWQgYXQgNWRC IGZvciAyQkFTRS1UTA0KICAgICAgICAgICAgYW5kIDZkQiBmb3IgMTBQQVNTLVRTLiINCg0KICAg ICAgICAgIE9CSkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhDQogICAgICAgICAgTUlOLUFD Q0VTUyAgcmVhZC1vbmx5DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJXcml0 ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzDQogICAg ICAgICAgICB0aGUgZGVmYXVsdCB2YWx1ZSBTSE9VTEQgYmUgZmFsc2UuIg0KDQogICAgICAgIDo6 PSB7IGVmbUN1Q29tcGxpYW5jZXMgMSB9DQogICBFTkQNCg0KDQo3LiAgU2VjdXJpdHkgQ29uc2lk ZXJhdGlvbnMNCg0KICAgVGhlcmUgaXMgYSBudW1iZXIgb2YgbWFuYWdlZCBvYmplY3RzIGRlZmlu ZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlDQogICB0aGF0IGhhdmUgYSBNQVgtQUNDRVNTIGNs YXVzZSBvZiByZWFkLXdyaXRlIG9yIHJlYWQtY3JlYXRlLiAgTW9zdA0KICAgb2JqZWN0cyBhcmUg d3JpdGVhYmxlIG9ubHkgd2hlbiB0aGUgbGluayBpcyBEb3duLiAgV3JpdGluZyB0byB0aGVzZQ0K ICAgb2JqZWN0cyBjYW4gaGF2ZSBwb3RlbnRpYWxseSBkaXNydXB0aXZlIGVmZmVjdHMgb24gbmV0 d29yayBvcGVyYXRpb24sDQogICBmb3IgZXhhbXBsZToNCg0KICAgbyAgQ2hhbmdpbmcgb2YgZWZt Q3VQbWVBZG1pblN1YlR5cGUgbWF5IGxlYWQgdG8gYSBwb3RlbnRpYWwgbG9ja2luZw0KICAgICAg b2YgdGhlIGxpbmssIGFzIHBlZXIgUE1FcyBvZiB0aGUgc2FtZSBzdWItdHlwZSBjYW5ub3QgZXhj aGFuZ2UNCiAgICAgIGhhbmRzaGFrZSBtZXNzYWdlcy4NCg0KICAgbyAgQ2hhbmdpbmcgb2YgZWZt Q3VQQUZBZG1pblN0YXRlIHRvIGVuYWJsZWQgbWF5IGxlYWQgdG8gYSBwb3RlbnRpYWwNCiAgICAg IGxvY2tpbmcgb2YgdGhlIGxpbmssIGlmIHRoZSBwZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBB Ri4NCg0KICAgbyAgQ2hhbmdpbmcgb2YgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLCBiZWZvcmUgdGhl IGRpc2NvdmVyeSBvcGVyYXRpb24sDQogICAgICBtYXkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2Nv dmVyeSwgZm9yIGV4YW1wbGUgd2hlbiB0d28gLU8gcG9ydHMNCiAgICAgIGFyZSBjb25uZWN0ZWQg dG8gdGhlIHNhbWUgbXVsdGktUE1FIC1SIHBvcnQgYW5kIGJvdGggLU8gcG9ydHMgaGF2ZQ0KICAg ICAgdGhlIHNhbWUgRGlzY292ZXJ5IHJlZ2lzdGVyIHZhbHVlLg0KDQogICBvICBDaGFuZ2luZyBQ Q1Mgb3IgUE1FIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyAoZS5nLiBwcm9maWxlIG9mIGENCiAg ICAgIFBDUyBvciBQTUUgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yIGVmbUN1UG1lQWRtaW5Qcm9m aWxlKSBtYXkgbGVhZA0KICAgICAgdG8gYW55dGhpbmcgZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJh dGUgZGVncmFkYXRpb24gdG8gYSBjb21wbGV0ZQ0KICAgICAgbGluayBpbml0aWFsaXphdGlvbiBm YWlsdXJlLCBhcyBhYmlsaXR5IG9mIGFuIEVGTUN1IHBvcnQgdG8NCiAgICAgIHN1cHBvcnQgYSBw YXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24gZGVwZW5kcyBvbiB0aGUgY29wcGVyDQogICAgICBlbnZp cm9ubWVudC4NCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4NF0NCgwNCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0K DQoNCiAgIG8gIEFjdGl2YXRpb24gb2YgYSBQTUUgY2FuIGNhdXNlIGEgc2V2ZXJlIGRlZ3JhZGF0 aW9uIG9mIHNlcnZpY2UgZm9yDQogICAgICBhbm90aGVyIEVGTUN1IFBoeSwgd2hvc2UgUE1FKHMp IG1heSBiZSBhZmZlY3RlZCBieSB0aGUgY3Jvc3MtdGFsaw0KICAgICAgZnJvbSB0aGUgbmV3bHkg YWN0aXZhdGVkIFBNRS4NCg0KICAgbyAgUmVtb3ZhbCBvZiBhIFBNRSBmcm9tIGFuIG9wZXJhdGlv bmFsbHkgJ3VwJyBFRk1DdSBwb3J0LA0KICAgICAgYWdncmVnYXRpbmcgc2V2ZXJhbCBQTUVzLCBt YXkgY2F1c2UgcG9ydCdzIHJhdGUgZGVncmFkYXRpb24NCg0KICAgVGhlIHVzZXIgb2YgdGhlIEVG TS1DVS1NSUIgbW9kdWxlIG11c3QgdGhlcmVmb3JlIGJlIGF3YXJlIHRoYXQNCiAgIHN1cHBvcnQg Zm9yIFNFVCBvcGVyYXRpb25zIGluIGEgbm9uLXNlY3VyZSBlbnZpcm9ubWVudCB3aXRob3V0IHBy b3Blcg0KICAgcHJvdGVjdGlvbiBjYW4gaGF2ZSBhIG5lZ2F0aXZlIGVmZmVjdCBvbiBuZXR3b3Jr IG9wZXJhdGlvbnMuDQoNCiAgIFRoZSByZWFkYWJsZSBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlC IG1vZHVsZSAoaS5lLiwgdGhvc2Ugd2l0aCBNQVgtDQogICBBQ0NFU1Mgb3RoZXIgdGhhbiBub3Qt YWNjZXNzaWJsZSkgbWF5IGJlIGNvbnNpZGVyZWQgc2Vuc2l0aXZlIGluIHNvbWUNCiAgIGVudmly b25tZW50cyBzaW5jZSwgY29sbGVjdGl2ZWx5LCB0aGV5IHByb3ZpZGUgaW5mb3JtYXRpb24gYWJv dXQgdGhlDQogICBwZXJmb3JtYW5jZSBvZiBuZXR3b3JrIGludGVyZmFjZXMgYW5kIGNhbiByZXZl YWwgc29tZSBhc3BlY3RzIG9mDQogICB0aGVpciBjb25maWd1cmF0aW9uLiAgSW4gcGFydGljdWxh ciwgc2luY2UgRUZNQ3UgY2FuIGJlIGNhcnJpZWQgb3Zlcg0KICAgVW5zaGllbGRlZCBUd2lzdGVk IFBhaXIgKFVUUCkgdm9pY2UgZ3JhZGUgY29wcGVyIGluIGEgYnVuZGxlIHdpdGgNCiAgIG90aGVy IHBhaXJzIGJlbG9uZ2luZyB0byBhbm90aGVyIG9wZXJhdG9yL2N1c3RvbWVyLCBpdCBpcw0KICAg dGhlb3JldGljYWxseSBwb3NzaWJsZSB0byBldmFzZHJvcCB0byBhbiBFRk1DdSB0cmFuc21pc3Np b24gc2ltcGx5IGJ5DQogICAibGlzdGVuaW5nIiB0byBhIGNyb3NzLXRhbGsgZnJvbSB0aGUgRUZN Q3UgcGFpcnMsIGVzcGVjaWFsbHkgaWYgdGhlDQogICBwYXJhbWV0ZXJzIG9mIHRoZSBFRk1DdSBs aW5rIGluIHF1ZXN0aW9uIGFyZSBrbm93bi4NCg0KICAgSW4gc3VjaCBlbnZpcm9ubWVudHMgaXQg aXMgaW1wb3J0YW50IHRvIGNvbnRyb2wgYWxzbyBHRVQgYW5kIE5PVElGWQ0KICAgYWNjZXNzIHRv IHRoZXNlIG9iamVjdHMgYW5kIHBvc3NpYmx5IGV2ZW4gdG8gZW5jcnlwdCB0aGVpciB2YWx1ZXMN CiAgIHdoZW4gc2VuZGluZyB0aGVtIG92ZXIgdGhlIG5ldHdvcmsgdmlhIFNOTVAuDQoNCiAgIFNO TVAgdmVyc2lvbnMgcHJpb3IgdG8gU05NUHYzIGRpZCBub3QgaW5jbHVkZSBhZGVxdWF0ZSBzZWN1 cml0eS4NCiAgIEV2ZW4gaWYgdGhlIG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9yIGV4YW1w bGUgYnkgdXNpbmcgSVBzZWMpLA0KICAgZXZlbiB0aGVuLCB0aGVyZSBpcyBubyBjb250cm9sIGFz IHRvIHdobyBvbiB0aGUgc2VjdXJlIG5ldHdvcmsgaXMNCiAgIGFsbG93ZWQgdG8gYWNjZXNzIGFu ZCBHRVQvU0VUIChyZWFkL2NoYW5nZS9jcmVhdGUvZGVsZXRlKSB0aGUgb2JqZWN0cw0KICAgaW4g dGhlc2UgTUlCIG1vZHVsZXMuDQoNCiAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgaW1wbGVtZW50 ZXJzIGNvbnNpZGVyIHRoZSBzZWN1cml0eSBmZWF0dXJlcyBhcw0KICAgcHJvdmlkZWQgYnkgdGhl IFNOTVB2MyBmcmFtZXdvcmsgKHNlZSBbUkZDMzQxMF0sIHNlY3Rpb24gOCksDQogICBpbmNsdWRp bmcgZnVsbCBzdXBwb3J0IGZvciB0aGUgU05NUHYzIGNyeXB0b2dyYXBoaWMgbWVjaGFuaXNtcyAo Zm9yDQogICBhdXRoZW50aWNhdGlvbiBhbmQgcHJpdmFjeSkuDQoNCiAgIEZ1cnRoZXIsIGRlcGxv eW1lbnQgb2YgU05NUCB2ZXJzaW9ucyBwcmlvciB0byBTTk1QdjMgaXMgTk9UDQogICBSRUNPTU1F TkRFRC4gIEluc3RlYWQsIGl0IGlzIFJFQ09NTUVOREVEIHRvIGRlcGxveSBTTk1QdjMgYW5kIHRv DQogICBlbmFibGUgY3J5cHRvZ3JhcGhpYyBzZWN1cml0eS4gIEl0IGlzIHRoZW4gYSBjdXN0b21l ci9vcGVyYXRvcg0KICAgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoYXQgdGhlIFNOTVAgZW50 aXR5IGdpdmluZyBhY2Nlc3MgdG8gYW4NCiAgIGluc3RhbmNlIG9mIHRoZXNlIE1JQiBtb2R1bGVz IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gZ2l2ZSBhY2Nlc3MNCiAgIHRvIHRoZSBvYmplY3Rz IG9ubHkgdG8gdGhvc2UgcHJpbmNpcGFscyAodXNlcnMpIHRoYXQgaGF2ZSBsZWdpdGltYXRlDQog ICByaWdodHMgdG8gaW5kZWVkIEdFVCBvciBTRVQgKGNoYW5nZS9jcmVhdGUvZGVsZXRlKSB0aGVt Lg0KDQoNCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4NV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CjguICBJQU5BIENvbnNpZGVyYXRpb25zDQoNCiAgIFRoZSB0d28gbmV3IHZhbHVlcyBvZiBkb3Qz TWF1VHlwZSAoZG90M01hdVR5cGUyQmFzZVRMIGFuZA0KICAgZG90M01hdVR5cGUxMFBhc3NUUykg YW5kIGNvcnJlc3BvbmRpbmcgSUFOQWlmTWF1VHlwZUxpc3RCaXRzIGJpdA0KICAgZGVmaW5pdGlv bnMgKGIyQmFzZVRMIGFuZCBiMTBQYXNzVFMpLCBhcyB3ZWxsIGFzIHRoZSBuZXcgdmFsdWVzIGZv cg0KICAgSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUgKGF2YWlsYWJsZVJlZHVjZWQgYW5kIHJlYWR5 KSBTSEFMTCBiZSBkZWZpbmVkDQogICBieSB0aGUgSUFOQSBpbiB0aGUgSUFOQS1NQVUtTUlCIG1v ZHVsZSAoc2VlDQogICBbSS1ELmlldGYtaHVibWliLXJmYzM2MzZiaXNdKSBiZWZvcmUgdGhpcyBk b2N1bWVudCBpcyBwdWJsaXNoZWQgYXMgYW4NCiAgIFJGQy4NCg0KICAgQWRkaXRpb25hbGx5LCBv YmplY3QgaWRlbnRpZmllcnMgZm9yIGVmbUN1TUlCIE1PRFVMRS1JREVOVElUWSBhbmQNCiAgIGlm Q2FwU3RhY2tNSUIgTU9EVUxFLUlERU5USVRZIFNIQUxMIGJlIGFsbG9jYXRlZCBieSBJQU5BIGlu IHRoZSBNSUItMg0KICAgc3ViLXRyZWUsIGJlZm9yZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxpc2hl ZC4NCg0KDQo5LiAgQWNrbm93bGVkZ21lbnRzDQoNCiAgIFRoaXMgZG9jdW1lbnQgd2FzIHByb2R1 Y2VkIGJ5IHRoZSBJRVRGIEV0aGVybmV0IEludGVyZmFjZXMgYW5kIEh1Yg0KICAgTUlCIFdvcmtp bmcgR3JvdXAgWzFdLCB3aG9zZSBlZmZvcnRzIHdlcmUgZ3JlYXRseSBhZHZhbmNlZCBieSB0aGUN CiAgIGNvbnRyaWJ1dGlvbnMgb2YgdGhlIGZvbGxvd2luZyBwZW9wbGUgKGluIGFscGhhYmV0aWNh bCBvcmRlcik6DQoNCiAgICAgIEJlcnQgV2lqbmVuIChBbGNhdGVsKQ0KDQogICAgICBEYW4gUm9t YXNjYW51IChBdmF5YSkNCg0KICAgICAgTWFyaW5hIFBvcGlsb3YgKEFjdGVsaXMpDQoNCiAgICAg IE1hdGhpYXMgUmllc3MgKEluZmluZW9uKQ0KDQogICAgICBNYXR0IFNxdWlyZSAoSGF0dGVyYXMp DQoNCiAgICAgIE1pa2UgSGVhcmQNCg0KICAgICAgVWRpIEFzaGtlbmF6aSAoQWN0ZWxpcykNCg0K DQoxMC4gIE5vdGVzIHRvIFJGQyBFZGl0b3INCg0KICAgVGhpcyBzZWN0aW9uIGNvbnRhaW5zIG5v dGVzIHRvIHRoZSBSRkMgRWRpdG9yIGFuZCBzaG91bGQgYmUgcmVtb3ZlZA0KICAgcHJpb3IgdG8g cHVibGljYXRpb24uDQoNCiAgICAgIFBsZWFzZSByZXBsYWNlIFtJLUQuaWV0Zi1odWJtaWItZWZt LW1pYl0gYW5kDQogICAgICBbSS1ELmlldGYtaHVibWliLXJmYzM2MzZiaXNdIHdpdGggYWN0dWFs IFJGQyBudW1iZXJzIGlmIHRob3NlIGFyZQ0KICAgICAgYXZhaWxhYmxlIGF0IHRpbWUgb2YgcHVi bGljYXRpb24uDQoNCg0KMTEuICBSZWZlcmVuY2VzDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDg2XQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KMTEuMS4gIE5vcm1hdGl2ZSBSZWZlcmVuY2VzDQoNCiAg IFs4MDIuM10gICAgSUVFRSwgIklFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xv Z3kgLQ0KICAgICAgICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4 Y2hhbmdlIGJldHdlZW4NCiAgICAgICAgICAgICAgc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNpZmljDQogICAgICAgICAgICAgIHJlcXVpcmVtZW50 cyAtIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aA0KICAgICAgICAg ICAgICBDb2xsaXNpb24gRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlz aWNhbA0KICAgICAgICAgICAgICBMYXllciBTcGVjaWZpY2F0aW9ucyIsIElFRUUgU3RkIDgwMi4z LTIwMDUsIERlY2VtYmVyIDIwMDUuDQoNCiAgIFs4MDIuM2FoXSAgSUVFRSwgIklFRUUgU3RhbmRh cmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLQ0KICAgICAgICAgICAgICBUZWxlY29tbXVu aWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4NCiAgICAgICAgICAgICAg c3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtIFNwZWNpZmlj DQogICAgICAgICAgICAgIHJlcXVpcmVtZW50cyAtIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0 aXBsZSBBY2Nlc3Mgd2l0aA0KICAgICAgICAgICAgICBDb2xsaXNpb24gRGV0ZWN0aW9uIChDU01B L0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbA0KICAgICAgICAgICAgICBMYXllciBTcGVj aWZpY2F0aW9ucyAtIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wNCiAgICAgICAgICAg ICAgUGFyYW1ldGVycywgUGh5c2ljYWwgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMg Zm9yDQogICAgICAgICAgICAgIFN1YnNjcmliZXIgQWNjZXNzIE5ldHdvcmtzIiwgSUVFRSBTdGQg ODAyLjNhaC0yMDA0LA0KICAgICAgICAgICAgICBTZXB0ZW1iZXIgMjAwNC4NCg0KICAgW0ktRC5p ZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXQ0KICAgICAgICAgICAgICBCZWlsaSwgRS4sICJEZWZpbml0 aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMNCiAgICAgICAgICAgICAgTWVk aXVtIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpIiwNCiAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1o dWJtaWItcmZjMzYzNmJpcy0wNSAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIEp1 bHkgMjAwNi4NCg0KICAgW1JGQzIxMTldICBCcmFkbmVyLCBTLiwgIktleSB3b3JkcyBmb3IgdXNl IGluIFJGQ3MgdG8gSW5kaWNhdGUNCiAgICAgICAgICAgICAgUmVxdWlyZW1lbnQgTGV2ZWxzIiwg QkNQIDE0LCBSRkMgMjExOSwgTWFyY2ggMTk5Ny4NCg0KICAgW1JGQzI1NzhdICBNY0Nsb2docmll LCBLLiwgUGVya2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwNCiAgICAgICAg ICAgICAgTWNDbG9naHJpZSwgSy4sIFJvc2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgIlN0cnVj dHVyZSBvZg0KICAgICAgICAgICAgICBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIFZlcnNpb24gMiAo U01JdjIpIiwgU1REIDU4LA0KICAgICAgICAgICAgICBSRkMgMjU3OCwgQXByaWwgMTk5OS4NCg0K ICAgW1JGQzI1NzldICBNY0Nsb2docmllLCBLLiwgUGVya2lucywgRC4sIFNjaG9lbndhZWxkZXIs IEouLCBDYXNlLCBKLiwNCiAgICAgICAgICAgICAgTWNDbG9naHJpZSwgSy4sIFJvc2UsIE0uLCBh bmQgUy4gV2FsZGJ1c3NlciwgIlRleHR1YWwNCiAgICAgICAgICAgICAgQ29udmVudGlvbnMgZm9y IFNNSXYyIiwgU1REIDU4LCBSRkMgMjU3OSwgQXByaWwgMTk5OS4NCg0KICAgW1JGQzI1ODBdICBN Y0Nsb2docmllLCBLLiwgUGVya2lucywgRC4sIGFuZCBKLiBTY2hvZW53YWVsZGVyLA0KICAgICAg ICAgICAgICAiQ29uZm9ybWFuY2UgU3RhdGVtZW50cyBmb3IgU01JdjIiLCBTVEQgNTgsIFJGQyAy NTgwLA0KICAgICAgICAgICAgICBBcHJpbCAxOTk5Lg0KDQogICBbUkZDMzQxMF0gIENhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwNCiAgICAgICAgICAgICAg IkludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC0N CiAgICAgICAgICAgICAgU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmsiLCBSRkMgMzQxMCwg RGVjZW1iZXIgMjAwMi4NCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4 cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODddDQoMDQpJbnRlcm5l dC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1 YXJ5IDIwMDcNCg0KDQoxMS4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQogICBbQU5GUF0g ICAgIE5ldHdvcmsgSW50ZXJvcGVyYWJpbGl0eSBDb25zdWx0YXRpdmUgQ29tbWl0dGVlIChOSUND KSwNCiAgICAgICAgICAgICAgIlNwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcyBOZXR3b3JrIEZy ZXF1ZW5jeSBQbGFuIChBTkZQKQ0KICAgICAgICAgICAgICBhcHBsaWNhYmxlIHRvIHRyYW5zbWlz c2lvbiBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2Vzcw0KICAgICAgICAgICAgICBOZXR3b3Jr IiwgTklDQyBEb2N1bWVudCBORDE2MDI6MjAwNS8wOCwgQXVndXN0IDIwMDUuDQoNCiAgIFtHLjk5 MS4yXSAgSVRVLVQsICJTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBM aW5lDQogICAgICAgICAgICAgIChTSERTTCkgdHJhbnNjZWl2ZXJzIiwgSVRVLVQgUmVjb21tZW5k YXRpb24gRy45OTEuMiwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwMy4NCg0KICAgW0cuOTkz LjFdICBJVFUtVCwgIlZlcnkgSGlnaCBzcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZQ0KICAg ICAgICAgICAgICB0cmFuc2NlaXZlcnMiLCBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5My4xLCBK dW5lIDIwMDQuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItZWZtLWVwb24tbWliXQ0KICAgICAgICAg ICAgICBLaGVybW9zaCwgTC4sICJNYW5hZ2VkIE9iamVjdHMgb2YgRVBPTiIsDQogICAgICAgICAg ICAgIGRyYWZ0LWlldGYtaHVibWliLWVmbS1lcG9uLW1pYi0wNiAod29yayBpbiBwcm9ncmVzcyks DQogICAgICAgICAgICAgIE5vdmVtYmVyIDIwMDYuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItZWZt LW1pYl0NCiAgICAgICAgICAgICAgU3F1aXJlLCBNLiwgIkRlZmluaXRpb25zIGFuZCBNYW5hZ2Vk IE9iamVjdHMgZm9yIE9BTQ0KICAgICAgICAgICAgICBGdW5jdGlvbnMgb24gRXRoZXJuZXQgTGlr ZSBJbnRlcmZhY2VzIiwNCiAgICAgICAgICAgICAgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0w NSAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIE9jdG9iZXIgMjAwNi4NCg0KICAg W0lBTkFpZlR5cGUtTUlCXQ0KICAgICAgICAgICAgICBJbnRlcm5ldCBBc3NpZ25lZCBOdW1iZXJz IEF1dGhvcml0eSAoSUFOQSksICJJQU5BaWZUeXBlDQogICAgICAgICAgICAgIFRleHR1YWwgQ29u dmVudGlvbiBkZWZpbml0aW9uIiwNCiAgICAgICAgICAgICAgIGh0dHA6Ly93d3cuaWFuYS5vcmcv YXNzaWdubWVudHMvaWFuYWlmdHlwZS1taWIuDQoNCiAgIFtSRkMyODYzXSAgTWNDbG9naHJpZSwg Sy4gYW5kIEYuIEthc3RlbmhvbHosICJUaGUgSW50ZXJmYWNlcyBHcm91cA0KICAgICAgICAgICAg ICBNSUIiLCBSRkMgMjg2MywgSnVuZSAyMDAwLg0KDQogICBbUkZDMjg2NF0gIE1jQ2xvZ2hyaWUs IEsuIGFuZCBHLiBIYW5zb24sICJUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUNCiAgICAgICAgICAg ICAgRXh0ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiIsIFJGQyAyODY0LA0KICAg ICAgICAgICAgICBKdW5lIDIwMDAuDQoNCiAgIFtSRkMzNjM1XSAgRmxpY2ssIEouLCAiRGVmaW5p dGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciB0aGUNCiAgICAgICAgICAgICAgRXRoZXJuZXQt bGlrZSBJbnRlcmZhY2UgVHlwZXMiLCBSRkMgMzYzNSwgU2VwdGVtYmVyIDIwMDMuDQoNCiAgIFtS RkM0MDcwXSAgRG9kZ2UsIE0uIGFuZCBCLiBSYXksICJEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9i amVjdA0KICAgICAgICAgICAgICBFeHRlbnNpb25zIGZvciBWZXJ5IEhpZ2ggU3BlZWQgRGlnaXRh bCBTdWJzY3JpYmVyIExpbmVzDQogICAgICAgICAgICAgIChWRFNMKSBVc2luZyBNdWx0aXBsZSBD YXJyaWVyIE1vZHVsYXRpb24gKE1DTSkgTGluZQ0KICAgICAgICAgICAgICBDb2RpbmciLCBSRkMg NDA3MCwgTWF5IDIwMDUuDQoNCiAgIFtSRkM0MzE5XSAgU2lrZXMsIEMuLCBSYXksIEIuLCBhbmQg Ui4gQWJiaSwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQNCiAgICAgICAgICAgICAgT2JqZWN0cyBm b3IgSGlnaCBCaXQtUmF0ZSBEU0wgLSAybmQgZ2VuZXJhdGlvbiAoSERTTDIpIGFuZA0KICAgICAg ICAgICAgICBTaW5nbGUtUGFpciBIaWdoLVNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIChT SERTTCkNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDg4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg ICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAg ICAgICAgICAgICBMaW5lcyIsIFJGQyA0MzE5LCBEZWNlbWJlciAyMDA1Lg0KDQpVUklzDQoNCiAg IFsxXSAgPGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRlci5o dG1sPg0KDQoNCkF1dGhvcidzIEFkZHJlc3MNCg0KICAgRWR3YXJkIEJlaWxpDQogICBBY3RlbGlz IE5ldHdvcmtzDQogICBCYXplbCAyNQ0KICAgUGV0YWNoLVRpa3ZhDQogICBJc3JhZWwNCg0KICAg UGhvbmU6ICs5NzItMy05MjQtMzQ5MQ0KICAgRW1haWw6IGVkd2FyZC5iZWlsaUBhY3RlbGlzLmNv bQ0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0K DQoNCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4OV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCkZ1 bGwgQ29weXJpZ2h0IFN0YXRlbWVudA0KDQogICBDb3B5cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0 ICgyMDA3KS4NCg0KICAgVGhpcyBkb2N1bWVudCBpcyBzdWJqZWN0IHRvIHRoZSByaWdodHMsIGxp Y2Vuc2VzIGFuZCByZXN0cmljdGlvbnMNCiAgIGNvbnRhaW5lZCBpbiBCQ1AgNzgsIGFuZCBleGNl cHQgYXMgc2V0IGZvcnRoIHRoZXJlaW4sIHRoZSBhdXRob3JzDQogICByZXRhaW4gYWxsIHRoZWly IHJpZ2h0cy4NCg0KICAgVGhpcyBkb2N1bWVudCBhbmQgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5l ZCBoZXJlaW4gYXJlIHByb3ZpZGVkIG9uIGFuDQogICAiQVMgSVMiIGJhc2lzIGFuZCBUSEUgQ09O VFJJQlVUT1IsIFRIRSBPUkdBTklaQVRJT04gSEUvU0hFIFJFUFJFU0VOVFMNCiAgIE9SIElTIFNQ T05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhFIElOVEVSTkVUIFNPQ0lFVFksIFRIRSBJRVRGIFRSVVNU IEFORA0KICAgVEhFIElOVEVSTkVUIEVOR0lORUVSSU5HIFRBU0sgRk9SQ0UgRElTQ0xBSU0gQUxM IFdBUlJBTlRJRVMsIEVYUFJFU1MNCiAgIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ TUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQgVEhFIFVTRSBPRg0KICAgVEhFIElORk9STUFUSU9O IEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklHSFRTIE9SIEFOWSBJTVBMSUVEDQogICBX QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4NCg0KDQpJbnRlbGxlY3R1YWwgUHJvcGVydHkNCg0KICAgVGhlIElFVEYgdGFrZXMg bm8gcG9zaXRpb24gcmVnYXJkaW5nIHRoZSB2YWxpZGl0eSBvciBzY29wZSBvZiBhbnkNCiAgIElu dGVsbGVjdHVhbCBQcm9wZXJ0eSBSaWdodHMgb3Igb3RoZXIgcmlnaHRzIHRoYXQgbWlnaHQgYmUg Y2xhaW1lZCB0bw0KICAgcGVydGFpbiB0byB0aGUgaW1wbGVtZW50YXRpb24gb3IgdXNlIG9mIHRo ZSB0ZWNobm9sb2d5IGRlc2NyaWJlZCBpbg0KICAgdGhpcyBkb2N1bWVudCBvciB0aGUgZXh0ZW50 IHRvIHdoaWNoIGFueSBsaWNlbnNlIHVuZGVyIHN1Y2ggcmlnaHRzDQogICBtaWdodCBvciBtaWdo dCBub3QgYmUgYXZhaWxhYmxlOyBub3IgZG9lcyBpdCByZXByZXNlbnQgdGhhdCBpdCBoYXMNCiAg IG1hZGUgYW55IGluZGVwZW5kZW50IGVmZm9ydCB0byBpZGVudGlmeSBhbnkgc3VjaCByaWdodHMu ICBJbmZvcm1hdGlvbg0KICAgb24gdGhlIHByb2NlZHVyZXMgd2l0aCByZXNwZWN0IHRvIHJpZ2h0 cyBpbiBSRkMgZG9jdW1lbnRzIGNhbiBiZQ0KICAgZm91bmQgaW4gQkNQIDc4IGFuZCBCQ1AgNzku DQoNCiAgIENvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0aGUgSUVURiBTZWNyZXRh cmlhdCBhbmQgYW55DQogICBhc3N1cmFuY2VzIG9mIGxpY2Vuc2VzIHRvIGJlIG1hZGUgYXZhaWxh YmxlLCBvciB0aGUgcmVzdWx0IG9mIGFuDQogICBhdHRlbXB0IG1hZGUgdG8gb2J0YWluIGEgZ2Vu ZXJhbCBsaWNlbnNlIG9yIHBlcm1pc3Npb24gZm9yIHRoZSB1c2Ugb2YNCiAgIHN1Y2ggcHJvcHJp ZXRhcnkgcmlnaHRzIGJ5IGltcGxlbWVudGVycyBvciB1c2VycyBvZiB0aGlzDQogICBzcGVjaWZp Y2F0aW9uIGNhbiBiZSBvYnRhaW5lZCBmcm9tIHRoZSBJRVRGIG9uLWxpbmUgSVBSIHJlcG9zaXRv cnkgYXQNCiAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaXByLg0KDQogICBUaGUgSUVURiBpbnZpdGVz IGFueSBpbnRlcmVzdGVkIHBhcnR5IHRvIGJyaW5nIHRvIGl0cyBhdHRlbnRpb24gYW55DQogICBj b3B5cmlnaHRzLCBwYXRlbnRzIG9yIHBhdGVudCBhcHBsaWNhdGlvbnMsIG9yIG90aGVyIHByb3By aWV0YXJ5DQogICByaWdodHMgdGhhdCBtYXkgY292ZXIgdGVjaG5vbG9neSB0aGF0IG1heSBiZSBy ZXF1aXJlZCB0byBpbXBsZW1lbnQNCiAgIHRoaXMgc3RhbmRhcmQuICBQbGVhc2UgYWRkcmVzcyB0 aGUgaW5mb3JtYXRpb24gdG8gdGhlIElFVEYgYXQNCiAgIGlldGYtaXByQGlldGYub3JnLg0KDQoN CkFja25vd2xlZGdtZW50DQoNCiAgIEZ1bmRpbmcgZm9yIHRoZSBSRkMgRWRpdG9yIGZ1bmN0aW9u IGlzIHByb3ZpZGVkIGJ5IHRoZSBJRVRGDQogICBBZG1pbmlzdHJhdGl2ZSBTdXBwb3J0IEFjdGl2 aXR5IChJQVNBKS4NCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA5MF0NCgwNCg== ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: application/octet-stream; name="if-cap-stack-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: if-cap-stack-mib.mi2 Content-Disposition: attachment; filename="if-cap-stack-mib.mi2" SUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9E VUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAg ICAgICAgLS0gUkZDIDI1NzgKICAgIFRydXRoVmFsdWUKICAgICAgRlJPTSBTTk1QdjItVEMgICAg ICAgICAgLS0gUkZDIDI1NzkKICAgIE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVAKICAg ICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODAKICAgIGlmU3RhY2tHcm91cDIs IGlmU3RhY2tIaWdoZXJMYXllciwgaWZTdGFja0xvd2VyTGF5ZXIgCiAgICAgIEZST00gSUYtTUlC ICAgICAgICAgICAgIC0tIFJGQyAyODYzCiAgICBpZkludlN0YWNrR3JvdXAKICAgICAgRlJPTSBJ Ri1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQKICAgIDsKCiAgaWZDYXBTdGFja01JQiBN T0RVTEUtSURFTlRJVFkKICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1 YXJ5IDIxLCAyMDA3CiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBh bmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgQ09OVEFDVC1JTkZPCiAgICAgICJXRyBjaGFy dGVyOgogICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hh cnRlci5odG1sCgogICAgICBNYWlsaW5nIExpc3RzOgogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lv bjogaHVibWliQGlldGYub3JnCiAgICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBp ZXRmLm9yZwogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKCiAg ICAgIENoYWlyOiAgQmVydCBXaWpuZW4KICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudAogICAg ICAgICAgICAgIFNjaGFnZW4gMzMKICAgICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4KICAg ICAgICAgICAgICBOZXRoZXJsYW5kcwogICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQogICAg ICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNlbnQuY29tCgogICAgICBFZGl0b3I6IEVkd2Fy ZCBCZWlsaQogICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgogICAgICAgICAgICAg IDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEw MTczCiAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0 OTEKICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgogICAgREVTQ1JJUFRJ T04KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNj cmliZQogICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVk KSBpbnRlcmZhY2VzLAogICAgICBjb21wbGVtZW50aW5nIGlmU3RhY2tUYWJsZSBhbmQgaWZJbnZT dGFja1RhYmxlIGRlZmluZWQgaW4KICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1N SUIgcmVzcGVjdGl2ZWx5LgoKICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAw NykuICBUaGlzIHZlcnNpb24KICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZD IFhYWFg7ICBzZWUgdGhlIFJGQwogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4i CgogICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwog ICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiIK CiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGggdGhlIGFjdHVhbCBSRkMgbnVtYmVy ICYKICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQogCiAgICA6Oj0geyBtaWItMiBaWlogfQoKICAg ICAgLS0gRWROb3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAg ICAtLSBhbGxvY2F0ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgLS0gU2VjdGlvbnMgb2YgdGhl IG1vZHVsZQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUK ICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQKCiAgIGlmQ2FwU3RhY2tPYmpl Y3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoKICAgaWZD YXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIg MiB9CgogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgLS0KICAgLS0gaWZDYXBTdGFja1Rh YmxlIGdyb3VwCiAgIC0tCgogICBpZkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwK ICAgICAgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJwog ICAgICAgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5l dHdvcmsKICAgICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hp cHMgZGVzY3JpYmVkIGluCiAgICAgICBpZlN0YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBj b250YWlucyBpbmZvcm1hdGlvbiBvbgogICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRl cm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUKICAgICAgIGRldmljZSwg d2hlcmUgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdwogICAg ICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBp ZkluZGV4CiAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0 aGUgc3ViLWxheWVyIHdpdGgKICAgICAgIGlmSW5kZXggdmFsdWUgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOgogICAgICAgCiAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55PXRydWUKCiAg ICAgICBpZkNhcFN0YWNrU3RhdHVzLngueSByb3cgZG9lcyBub3QgZXhpc3QgaWYgaXQgaXMgaW1w b3NzaWJsZQogICAgICAgdG8gY29ubmVjdCBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHku CiAgICAgICAKICAgICAgIE5vdGUgdGhhdCBmb3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUu Zy4gMkJBU0UtVEwpCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBsZWFzdCBvbmUgaGlnaGVyLWxl dmVsIGludGVyZmFjZSAoZS5nLiBQQ1MKICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVs IGludGVyZmFjZSAoZS5nLiBQTUUpIGFuZCBhdAogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVs IGludGVyZmFjZSBmb3IgZWFjaCBoaWdoZXItbGV2ZWwKICAgICAgIGludGVyZmFjZSwgdGhhdCBp cywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgcm93IHdpdGggYQogICAgICAgJ3RydWUnIHN0 YXR1cyBmb3IgYW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4KCiAgICAgICBUaGlzIHRhYmxl IGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2aWNlIGNhcGFiaWxpdHkiCiAgICAgUkVG RVJFTkNFCiAgICAgICAiSUYtTUlCLCBpZlN0YWNrVGFibGUiCiAgICAgOjo9IHsgaWZDYXBTdGFj a09iamVjdHMgMSB9CgogICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJJbmZvcm1hdGlv biBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvCiAgICAgICBzdWItbGF5 ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuCiAgICAg ICBvbiAndG9wJyBvZiB0aGUgb3RoZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNw b25kcwogICAgICAgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNl IGluZGV4IGZvcgogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4i CiAgICAgSU5ERVggewogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLAogICAgICAgaWZTdGFja0xv d2VyTGF5ZXIKICAgICB9CiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEgfQoKICAgSWZDYXBT dGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7CiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyAgICAgICBU cnV0aFZhbHVlCiAgICAgIH0KCiAgIGlmQ2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBzdGF0dXMgb2Yg dGhlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknIHJlbGF0aW9uc2hpcAogICAgICAgYmV0d2Vl biB0d28gc3ViLWxheWVycy4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkOgog ICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGlu dGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllZCBieSB0aGUgaWZT dGFja0xvd2VyTGF5ZXIgTUFZCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGNvbm5lY3Rl ZCB0byBydW4gJ2JlbG93JyB0aGUgc3ViLWxheWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg aWZTdGFja0hpZ2hlckxheWVyIGluZGV4LgogICAgICAgICBmYWxzZSgyKSAgICAgICAgLSB0aGUg c3ViLWxheWVyIGludGVyZmFjZXMgY2Fubm90IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5hdmFpbGFiaWxpdHkgb2YgdGhlIGludGVyZmFjZShzKSwgZS5nLgogICAgICAgICAgICAgICAg ICAgICAgICAgICBvbmUgb2YgdGhlIGludGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhbgogICAgICAg ICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxlIG1vZHVsZS4KCiAgICAgICBOb3Rl IHRoYXQgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVy LAogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJh aW5lZCBieQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUgYnkgdGhlIGFnZ3Jl Z2F0aW9uIGNhcGFjaXR5IG9mCiAgICAgICBhIGhpZ2hlci1sYXllciBpbnRlcmZhY2Ugb3IgYnkg dGhlIGxvd2VyLWxheWVyIGludGVyZmFjZSBpbgogICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFk eSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXItbGF5ZXIKICAgICAgIGludGVyZmFjZS4gSW4g b3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1sYXllciBjYW4KICAgICAgIGJl IGNvbm5lY3RlZCB0byBhbm90aGVyIHN1Yi1sYXllciwgYWxsIHJlc3BlY3RpdmUgb2JqZWN0cwog ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNlcykgU0hBTEwgYmUgaW5zcGVjdGVk LgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMs IGFzIGl0CiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIgogICAg IDo6PSB7IGlmQ2FwU3RhY2tFbnRyeSAxIH0KCiAgIGlmSW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICAgIFNFUVVFTkNFIE9GIElmSW52Q2FwU3RhY2tFbnRyeQog ICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlv biBvbiB0aGUgcG9zc2libGUgcmVsYXRpb25zaGlwcwogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlw bGUgc3ViLWxheWVycyBvZiBuZXR3b3JrIGludGVyZmFjZXMuIFRoaXMgCiAgICAgICB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQogICAgICAgSUYtSU5WRVJURUQtU1RB Q0stTUlCLCBpcyBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcFN0YWNrVGFibGUKICAgICAgIGRlZmlu ZWQgaW4gdGhpcyBNSUIgbW9kdWxlLgogICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBj b250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaAogICAgICAgc3ViLWxheWVycyBNQVkgcnVuICd1 bmRlcm5lYXRoJyB3aGljaCBvdGhlciBzdWItbGF5ZXJzLCB3aGVyZQogICAgICAgZWFjaCBzdWIt bGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4KICAg ICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlIHgg TUFZIGJlCiAgICAgICBjb25uZWN0ZWQgdG8gcnVuIHVuZGVybmVhdGggdGhlIHN1Yi1sYXllciB3 aXRoIGlmSW5kZXggdmFsdWUKICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoKCiAg ICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzLngueT10cnVlCgogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZQogICAgICAgaWZD YXBTdGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBwZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoK ICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNv bm5lY3QKICAgICAgIGNhcGFiaWxpdHkuIgogICAgIFJFRkVSRU5DRQogICAgICAgICJJRi1JTlZF UlRFRC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSIKICAgICA6Oj0geyBpZkNhcFN0YWNrT2Jq ZWN0cyAyIH0KCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICAgIElmSW52Q2FwU3RhY2tFbnRyeQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2li bGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgICJJ bmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0K ICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5k ZXJuZWF0aCB0aGUKICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJl c3BvbmRzIHRvIGEgY29uY2VwdHVhbAogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAg SU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICA6Oj0g eyBpZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFV RU5DRSB7CiAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQogICAgfQoK ICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICAgICBU cnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBv c3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknCiAgICAgICAgcmVsYXRpb25zaGlwIGJl dHdlZW4gdHdvIHN1Yi1sYXllcnMuCgogICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0 IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0aGUKICAgICAgICBpZkNhcFN0YWNrU3RhdHVz IG9iamVjdCwgYW5kIHZpY2UgdmVyc2EuIEZvciBleGFtcGxlLCBpZiB0aGUKICAgICAgICB2YXJp YWJsZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlCiAgICAg ICAgaWZJbnZTdGFja1N0YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4g IEluCiAgICAgICAgYWRkaXRpb24sIHRoZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBz YW1lIHZhbHVlLgoKICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1v bmx5LCBhcyBpdCBkZXNjcmliZXMKICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4i CiAgICAgUkVGRVJFTkNFCiAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiCiAgICAgOjo9IHsgaWZJ bnZDYXBTdGFja0VudHJ5IDEgfQoKICAtLQogIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMKICAt LQoKICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAg IHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDEgfQoKICAgaWZDYXBTdGFja0NvbXBsaWFuY2VzIE9C SkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQoK ICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFuY2UKCiAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JP VVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsCiAgICAgICBpZkludkNh cFN0YWNrU3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9u IHRoZQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFj a2VkKSBuZXR3b3JrCiAgICAgICBpbnRlcmZhY2VzLiIKICAgICA6Oj0geyBpZkNhcFN0YWNrR3Jv dXBzIDEgfQoKCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICBpZkNhcFN0YWNrQ29tcGxp YW5jZSBNT0RVTEUtQ09NUExJQU5DRQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGll cywgd2hpY2ggcHJvdmlkZQogICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiBtdWx0aS1sYXllcgogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsgaW50ZXJm YWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0CiAgICAgICBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzLiIKCiAgICAgCiAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFU T1JZLUdST1VQUyB7CiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRy dXRoVmFsdWUgeyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0 IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVu dGF0aW9ucyBzdXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKCiAgICAgICBPQkpFQ1Qg ICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRydXRoVmFsdWUg eyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUg ZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVudGF0aW9ucyBz dXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKICAgICAgIAogICAgIE1PRFVMRSAgSUYt TUlCCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsKICAgICAgICAgaWZTdGFja0dyb3VwMgogICAg ICAgfQoKICAgICBNT0RVTEUgIElGLUlOVkVSVEVELVNUQUNLLU1JQgogICAgICAgTUFOREFUT1JZ LUdST1VQUyB7CiAgICAgICAgIGlmSW52U3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAgICAg Ojo9IHsgaWZDYXBTdGFja0NvbXBsaWFuY2VzIDEgfQpFTkQK ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: application/octet-stream; name="efm-cu-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: efm-cu-mib.mi2 Content-Disposition: attachment; filename="efm-cu-mib.mi2" RUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9EVUxFLUlE RU5USVRZLCBPQkpFQ1QtVFlQRSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwKICAgIFVu c2lnbmVkMzIsIENvdW50ZXIzMiwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAgICAgICAg LS0gUkZDIDI1NzgKICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVz LCBQaHlzQWRkcmVzcwogICAgICBGUk9NIFNOTVB2Mi1UQyAgICAgICAgICAtLSBSRkMgMjU3OQog ICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgTk9USUZJQ0FUSU9OLUdST1VQCiAg ICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwCiAgICBTbm1wQWRtaW5TdHJp bmcKICAgICAgRlJPTSBTTk1QLUZSQU1FV09SSy1NSUIgLS0gUkZDIDM0MTEKICAgIGlmSW5kZXgs IGlmU3BlZWQKICAgICAgRlJPTSBJRi1NSUIgICAgICAgICAgICAgLS0gUkZDIDI4NjMKICAgIDsK CiAgZWZtQ3VNSUIgTU9EVUxFLUlERU5USVRZCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAw MFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0 IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIKICAgIENPTlRBQ1QtSU5GTwog ICAgICAiV0cgY2hhcnRlcjoKICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRl cnMvaHVibWliLWNoYXJ0ZXIuaHRtbAoKICAgICAgTWFpbGluZyBMaXN0czoKICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZwogICAgICAgIFRvIFN1YnNjcmliZTogaHVi bWliLXJlcXVlc3RAaWV0Zi5vcmcKICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFp bF9hZGRyZXNzCgogICAgICBDaGFpcjogIEJlcnQgV2lqbmVuCiAgICAgIFBvc3RhbDogQWxjYXRl bC1MdWNlbnQKICAgICAgICAgICAgICBTY2hhZ2VuIDMzCiAgICAgICAgICAgICAgMzQ2MSBHTCBM aW5zY2hvdGVuCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMKICAgICAgICAgVGVsOiArMzEtMzQ4 LTQwNy03NzUKICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQoKICAgICAg RWRpdG9yOiBFZHdhcmQgQmVpbGkKICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4K ICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3MwogICAgICAgICAgICAgIFBl dGFjaC1UaWt2YSAxMDE3MwogICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAgIFRlbDog Kzk3Mi0zLTkyNC0zNDkxCiAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIgoK ICAgIERFU0NSSVBUSU9OCiAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgYXJl IHVzZWQgdG8gbWFuYWdlCiAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSAoRUZN KSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzCiAgICAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMs IGRlZmluZWQgaW4gSUVFRSBTdGQuIDgwMi4zYWgtMjAwNCwKICAgICAgd2hpY2ggaXMgbm93IGEg cGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4KCiAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJl bmNlcyBhcmUgdXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToKCiAgICAgIFs4MDIuM2Fo XSByZWZlcnMgdG86CiAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0OiAnSUVFRSBTdGFuZGFy ZCBmb3IgSW5mb3JtYXRpb24KICAgICAgICB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25z IGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQogICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2Fs IGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtCiAgICAgICAgU3BlY2lmaWMgcmVxdWly ZW1lbnRzIC0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdp dGggQ29sbGlzaW9uCiAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcgogICAgICAgIFNwZWNpZmljYXRpb25zIC0KICAgICAgICBBbWVuZG1l bnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsCiAgICAgICAgTGF5 ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIgQWNjZXNzCiAgICAg ICAgTmV0d29ya3MnLCAwNyBTZXB0ZW1iZXIgMjAwNC4KCiAgICAgIE9mIHBhcnRpY3VsYXIgaW50 ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGluZwogICAgICBTdWJsYXllciAoUENT KSBhbmQgY29tbW9uIHNwZWNpZmljYXRpb25zLCB0eXBlIDEwUEFTUy1UUyBhbmQKICAgICAgdHlw ZSAyQkFTRS1UTCcsIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsCiAgICAgICdN YW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0IChNRElPKSBJbnRlcmZhY2UnLCBBbm5leCA2MkEs CiAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFTUy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBw cm9maWxlcyBmb3IKICAgICAgMkJBU0UtVEwnLgoKICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoK ICAgICAgICBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1z cGVlZCBEaWdpdGFsCiAgICAgICAgU3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJz JywgRGVjZW1iZXIgMjAwMy4KCiAgICAgIFtBTkZQXSByZWZlcnMgdG86CiAgICAgICAgTklDQyBE b2N1bWVudCBORDE2MDI6MjAwNS8wODogJ1NwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcwogICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uCiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3Vz dCAyMDA1LgoKICAgICAgTmFtaW5nIENvbnZlbnRpb25zOgogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24KICAgICAgICBDTyAgICAtIENlbnRyYWwgT2ZmaWNlCiAgICAgICAgQ1BFICAgLSBDdXN0 b21lciBQcmVtaXNlcyBFcXVpcG1lbnQKICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRoZSBG aXJzdCBNaWxlCiAgICAgICAgRUZNQ3UgLSBFRk0gQ29wcGVyCiAgICAgICAgTURJTyAgLSBNYW5h Z2VtZW50IERhdGEgSW5wdXQvT3V0cHV0CiAgICAgICAgTWduICAgLSBNYXJnaW4KICAgICAgICBQ QUYgICAtIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbgogICAgICAgIFBCTyAgIC0gUG93ZXIgQmFj ay1PZmYKICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcgogICAgICAgIFBN RCAgIC0gUGh5c2ljYWwgTWVkaXVtIERlcGVuZGVudAogICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwgRGVuc2l0eQogICAg ICAgIFNOUiAgIC0gU2lnbmFsIHRvIE5vaXNlIFJhdGlvCiAgICAgICAgVENQQU0gLSBUcmVsbGlz IENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uCgogICAgICBDb3B5cmlnaHQgKEMpIFRo ZSBJRVRGIFRydXN0ICgyMDA3KS4gIFRoaXMgdmVyc2lvbgogICAgICBvZiB0aGlzIE1JQiBtb2R1 bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZDCiAgICAgIGl0c2VsZiBmb3IgZnVs bCBsZWdhbCBub3RpY2VzLiIKCiAgICBSRVZJU0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZl YnJ1YXJ5IDIxLCAyMDA3CiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNo ZWQgYXMgUkZDIFhYWFguIgoKICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUg YWN0dWFsIFJGQyBudW1iZXIgJgogICAgICAtLSByZW1vdmUgdGhpcyBub3RlCiAKICAgIDo6PSB7 IG1pYi0yIFlZWSB9CgogICAgICAtLSBFZE5vdGU6IFJlcGxhY2UgWVlZIHdpdGggYSByZWFsIE9J RCBvbmNlIGl0IGlzCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuCgogICAt LSBTZWN0aW9ucyBvZiB0aGUgbW9kdWxlCgogICBlZm1DdU9iamVjdHMgICAgIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1TUlCIDEgfQoKICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0KCiAgIC0tIEdyb3VwcyBpbiB0aGUgbW9kdWxlCgog ICBlZm1DdVBvcnQgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAx IH0KCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmpl Y3RzIDIgfQoKICAgLS0gVGV4dHVhbCBDb252ZW50aW9ucwoKICAgRWZtUHJvZmlsZUluZGV4IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgImQiCiAgICAgU1RBVFVTICAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVh dGVyIHRoYW4gemVybywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdAogICAgICAg dmFsdWVzIGFyZSBhc3NpZ25lZCBjb250aWd1b3VzbHkgc3RhcnRpbmcgZnJvbSAxLiBUaGUgdmFs dWUKICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3b3Jr IG1hbmFnZW1lbnQgc3lzdGVtCiAgICAgICB0byB0aGUgbmV4dCByZS1pbml0aWFsaXphdGlvbi4i CiAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkKCiAgIEVmbVByb2ZpbGVJbmRl eE9yWmVybyA6Oj0gVEVYVFVBTC1DT05WRU5USU9OCiAgICAgRElTUExBWS1ISU5UICJkIgogICAg IFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRleHR1 YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgRWZtUHJvZmlsZUluZGV4CiAgICAgICBj b252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1 c2VkCiAgICAgICB0byBpZGVudGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1 IHBvcnQuIFRoaXMKICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVl IG9mIHplcm8uIFRoZSB2YWx1ZSBvZgogICAgICAgemVybyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5k IE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydAogICAgICAgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3Qgd2hpY2ggdXNlcyB0aGlzIHN5bnRheC4KICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucwogICAg ICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlzIHVua25vd24uIgogICAgIFNZ TlRBWCAgICAgICBVbnNpZ25lZDMyICgwLi4yNTUpCgogICBFZm1Qcm9maWxlSW5kZXhMaXN0IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgIjFkOiIKICAgICBTVEFUVVMg ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZl bnRpb24gcmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNgogICAgICAgRWZtUHJvZmlsZUluZGV4 J3MsIGFueSBvZiB3aGljaCBjYW4gYmUgY2hvc2VuIGZvcgogICAgICAgY29uZmlndXJhdGlvbiBv ZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBvcnQuIAogICAgICAgVGhlIEVmbVByb2ZpbGVJ bmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5lcyBhIGdyZWF0ZXIgdGhhbgogICAgICAgemVy byB2YWx1ZSB1c2VkIHRvIGlkZW50aWZ5IGEgUE1FIHByb2ZpbGUuCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcgogICAgICAgbW9yZSAo dXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0CiAgICAg ICBFZm1Qcm9maWxlSW5kZXggdmFsdWUuCiAgICAgICBBIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmlu ZyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QKICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVk IGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QKICAgICAgIHdoaWNoIHVz ZXMgdGhpcyBzeW50YXguIEV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB6ZXJvIGxlbmd0aAogICAg ICAgdmFsdWUgbWlnaHQgaW5jbHVkZSBzaXR1YXRpb25zIHdoZXJlIGFuIG9iamVjdCB1c2luZyB0 aGlzCiAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZp YyBFRk1DdSBwb3J0CiAgICAgICB0eXBlLiIKICAgICBTWU5UQVggICAgICAgT0NURVQgU1RSSU5H IChTSVpFKDAuLjYpKQoKICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93biA6Oj0gVEVYVFVBTC1DT05W RU5USU9OCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUgVHJ1dGhWYWx1 ZQogICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEgYm9vbGVhbiB2YWx1ZSB3 aXRoIAogICAgICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlz CiAgICAgICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3du KDApLCB3aGljaAogICAgICAgY2FuIGJlIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIEdFVCBvcGVy YXRpb24sIHdoZW4gYW4gZXhhY3QKICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9i amVjdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC4iCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9CgogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBH cm91cAoKICAgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdVBvcnQgMCB9CiAgIAogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQ RQogICAgIE9CSkVDVFMgewogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUgc2lu Y2Ugd2UgYXJlIHVuZGVyIHNwZWNpZmljIFBDUwogICAgICAgaWZTcGVlZCwKICAgICAgIGVmbUN1 VGhyZXNoTG93UmF0ZQogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJ UFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRUZNQ3Ug cG9ydCcgZGF0YSByYXRlCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2Vl ZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsCiAgICAgICBzcGVjaWZpZWQgYnkgZWZtQ3VUaHJl c2hMb3dSYXRlLgoKICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSB3aGlsZSB0aGUg cG9ydCBpcyB1cCwgb24gdGhlIGNyb3NzaW5nCiAgICAgICBldmVudCBpbiBib3RoIGRpcmVjdGlv bnM6IGZyb20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQogICAgICAgdGhyZXNob2xkKSB0byBs b3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZAogICAgICAgZnJv bSBsb3cgdG8gbm9ybWFsLiBUaGlzIG5vdGlmaWNhdGlvbiBpcyBub3QgYXBwbGljYWJsZSB0bwog ICAgICAgdGhlIC1SIHN1YnR5cGVzLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBz bWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0 ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxl bWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQKICAgICAg IGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgdG8gYmUgc2VudC4KCiAgICAgICBU aGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9y dCB0bwogICAgICAgYWRhcHQgaXRzZWxmIHRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjb3BwZXIgZW52 aXJvbm1lbnQsIGUuZy4KICAgICAgIGFuIGltcHVsc2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBv ciBhIG1pY3JvLWludGVycnVwdGlvbiBtYXkKICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9y IG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsCiAgICAgICBjYXVzaW5nIGEgcmF0 ZSBkZWdyYWRhdGlvbiBvZiB0aGUgYWdncmVnYXRlZCBFRk1DdSBsaW5rLgogICAgICAgVGhlIGRy b3BwZWQgUE1FcyB3b3VsZCB0aGVuIHRyeSB0byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdAog ICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJv dmlkZQogICAgICAgcmVxdWlyZWQgdGFyZ2V0IFNOUiBtYXJnaW4uCgogICAgICAgR2VuZXJhdGlv biBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAKICAgICAgIGVmbUN1 TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Tm90aWZp Y2F0aW9ucyAxIH0KCiAgIC0tIFBDUyBQb3J0IGdyb3VwCgogICBlZm1DdVBvcnRDb25mVGFibGUg T0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIEVG TUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQogICAgICAgUG9ydHMuIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIi CiAgICAgOjo9IHsgZWZtQ3VQb3J0IDEgfQoKICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLgog ICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUg aWZJbmRleC4KICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBv ZiBhIHNpbmdsZQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsg ZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQoKICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQogICAgIFNF UVVFTkNFIHsKICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAgIElOVEVHRVIs CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywKICAg ICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleExpc3Qs CiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVm bUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAgICAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQogICAgIH0KCiAgIGVmbUN1UEFGQWRtaW5T dGF0ZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgIGVuYWJs ZWQoMSksCiAgICAgICBkaXNhYmxlZCgyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQWRt aW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9mIHRoZSBQQUYgb2YgdGhlIEVGTUN1IHBvcnQK ICAgICAgIChQQ1MpLgogICAgICAgV2hlbiAnZGlzYWJsZWQnLCBQTUUgQWdncmVnYXRpb24gd2ls bCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQogICAgICAgUENTLiBObyBtb3JlIHRoYW4gYSBzaW5n bGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0aGlzIFBDUyBpbgogICAgICAgdGhpcyBjYXNlLgog ICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3aWxsIGJlIHBlcmZvcm1lZCBieSB0aGUgUENTIHdo ZW4gdGhlIGxpbmsKICAgICAgIGlzIFVwLCBldmVuIG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwg aWYgUEFGIGlzIHN1cHBvcnRlZC4KCiAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBv cnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHZhbHVlIG9mCiAgICAgICAnZGlzYWJsZWQnLiBBdHRl bXB0cyB0byAnZW5hYmxlJyBzdWNoIHBvcnRzIFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFBB RiAnZW5hYmxlZCcgcG9ydCB3aXRoIG11bHRpcGxlIFBNRXMgYXNzaWduZWQgY2Fubm90IGJlCiAg ICAgICAnZGlzYWJsZWQnLiBBdHRlbXB0cyB0byAnZGlzYWJsZScgc3VjaCBwb3J0IFNIQUxMIGJl IHJlamVjdGVkLAogICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQu CgogICAgICAgQ2hhbmdpbmcgUEFGQWRtaW5TdGF0ZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZSBv cGVyYXRpb24gYW5kCiAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBp cyBEb3duLiBBdHRlbXB0cyB0bwogICAgICAgY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJl amVjdGVkIGlmIHRoZSBsaW5rIGlzIFVwIG9yCiAgICAgICBJbml0aWFsaXppbmcuCgogICAgICAg VGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0 ZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0 IGluIHRoZSAxMFAvMkIgUENTIGNvbnRyb2wKICAgICAgIHJlZ2lzdGVyLgoKICAgICAgIFRoaXMg b2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBS RUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyIKICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgMSB9CgogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgt QUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBFRk1DdSBwb3J0IChQQ1MpLgog ICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1 bmN0aW9uLAogICAgICAgd2hlbiBQQUYgaXMgc3VwcG9ydGVkLgogICAgICAgUENTIHBvcnRzIGlu Y2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB6ZXJvCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4KICAg ICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgZm9y IHN1Y2gKICAgICAgIHBvcnRzLgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50aWF0 ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUKICAgICAgIHdyaXRpbmcgb3BlcmF0aW9u cyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlCiAgICAgICAoU2V0X2lmX0NsZWFy IGFuZCBDbGVhcl9pZl9TYW1lKSBhcmUgcGVyZm9ybWVkIGJ5IFBNRXMKICAgICAgIGFzc29jaWF0 ZWQgd2l0aCB0aGUgUENTLgogICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3Qg Zm9yIC1SIHN1YnR5cGUgcG9ydHMgYWZ0ZXIKICAgICAgIHJlc2V0IGlzIGFsbCB6ZXJvZXMuIEZv ciAtUiBzdWJ0eXBlIHBvcnRzLCB0aGUgdmFsdWUgb2YgdGhpcwogICAgICAgb2JqZWN0IGNhbm5v dCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2VkCiAgICAgICBh cyBhIHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUKICAgICAgIGVmbUN1UEFGUmVt b3RlRGlzY292ZXJ5Q29kZSBvYmplY3Qgb2YgcmVtb3RlIFBNRSBvZiAtTwogICAgICAgc3VidHlw ZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lhdGVkIHdpdGgKICAg ICAgIHRoZSBQQ1MuCgogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhl IGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNU IGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29u c2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemluZy4K CiAgICAgICBUaGUgUEFGIERpc2NvdmVyeSBjb2RlIG1hcHMgdG8gdGhlIGxvY2FsIERpc2NvdmVy eSBjb2RlCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZl IGEgY29ycmVzcG9uZGluZwogICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSwg NDUuMi42LjgsCiAgICAgICA2MUEuMiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMiB9 CgogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXhMaXN0CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlv biBQcm9maWxlKHMpLCBjb21tb24gZm9yIGFsbCBQTUVzIGluIHRoZQogICAgICAgRUZNQ3UgcG9y dC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50ZXJzIHRvIGVudHJpZXMgaW4KICAgICAg IGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yCiAgICAgICBlZm1DdVBtZTEwUFByb2Zp bGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50CiAgICAgICBvcGVyYXRpbmcgU3ViVHlw ZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0ZWQgYnkKICAgICAgIGVmbUN1UG9ydFNpZGUu CiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5k aWNlcyBvZgogICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmds ZSBQcm9maWxlIGluZGV4LAogICAgICAgdGhlbiBhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIEVG TUN1IHBvcnQgU0hBTEwgYmUgY29uZmlndXJlZAogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9m aWxlIHJlZmVyZW5jZWQgYnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0CiAgICAgICBpcyBvdmVyd3Jp dHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLAogICAg ICAgd2hpY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGVmbUN1QWRtaW5Qcm9maWxlLgogICAgICAg VGhlIGxpc3QsIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2gg UE1FCiAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkg UHJvZmlsZQogICAgICAgc3BlY2lmaWVkIGluIHRoZSBsaXN0LgogICAgICAgQnkgZGVmYXVsdCB0 aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QKICAgICAgIGVu dHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUu CgogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8g c3VidHlwZQogICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQg aXMgaXJyZWxldmFudCBmb3IKICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEw UGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJvCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZAogICAgICAgdGhpcyBvYmplY3QgYW5k IGFuIGF0dGVtcHQgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgIHJlamVjdGVk IGluIHRoaXMgY2FzZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9m aWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2aWEKICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2Jq ZWN0LgoKICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1l ZCB3aGVuIHRoZSBsaW5rIGlzCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBv YmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlCiAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRp YWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0 aCBhIG1lbWJlcgogICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRoZSB2YWx1ZSBvZiB0aGUgaW5k ZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmls ZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1h aW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAi WzgwMi4zYWhdIDMwLjExLjIuMS42IgogICAgIERFRlZBTCB7ICcwMSdIIH0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMyB9CgogICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwfDk5OTk5OSkKICAgICBVTklU UyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRGVzaXJlZCBFRk1DdSBwb3J0ICdu ZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbgogICAgICAgS2JwcywgdG8gYmUg YWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1bmRlciBzcGVjdHJhbAogICAgICAgcmVz dHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAg ICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRoIHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3Bl Y2lmaWVkIGJ5CiAgICAgICBlZm1DdVRhcmdldFNuck1nbi4KICAgICAgIEluIGNhc2Ugb2YgUEFG LCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2aWR1YWwgUE1FCiAgICAgICBk YXRhIHJhdGVzLCBtb2RpZmllZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZAog ICAgICAgNjQvNjVCIGZyYW1pbmcgb3ZlcmhlYWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAx ME1icHMKICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRyYW5zbWlzc2lvbiBvZiBmdWxsLWR1 cGxleCAxME1icHMKICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50 ZXItZnJhbWUgZ2FwKS4KCiAgICAgICBUaGUgdmFsdWUgaXMgbGltaXRlZCBhYm92ZSBieSAxMDBN YnBzIGFzIHRoaXMgaXMgdGhlIG1heAogICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZvciBF Rk1DdSBwb3J0cy4KCiAgICAgICBUaGUgdmFsdWUgYmV0d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNh dGVzIHRoYXQgdGhlIHRvdGFsIGRhdGEKICAgICAgIHJhdGUgKGlmU3BlZWQpIG9mIHRoZSBFRk1D dSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMCiAgICAgICBiZSBlcXVhbCB0byB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGEKICAgICAgIHJhdGUg Y2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNwZWN0cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQK ICAgICAgIGJ5IGVmbUN1QWRtaW5Qcm9maWxlL2VmbUN1UG1lQWRtaW5Qcm9maWxlIGFuZCB3aXRo IGRlc2lyZWQgU05SCiAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVu dCBhbGxvd3MgdG8gYWNoaWV2ZQogICAgICAgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRo YXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJnZXQsIHRoZQogICAgICAgZXhjZXNzIGNhcGFiaWxpdHkg U0hBTEwgYmUgZWl0aGVyIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUgogICAgICAgbWFyZ2lu IG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQK ICAgICAgIGJ5IGVmbUN1QWRhcHRpdmVTcGVjdHJhLgoKICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5 OTkgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QKICAgICAgIGZpeGVkIGFu ZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZwogICAg ICAgaW5pdGlhbGl6YXRpb24gKEJlc3QgRWZmb3J0KSwgdW5kZXIgc3BlY2lmaWVkIHNwZWN0cmFs CiAgICAgICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLgoKICAgICAg IFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRz CiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUg LVIgc3VidHlwZXMuCiAgICAgICAKICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgRGF0YSBS YXRlIE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVt cHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkCiAgICAgICAoaW4gY2Fz ZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlCiAgICAg ICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBE YXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQKICAgICAgIGJ5IGlmU3Bl ZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDQgfQoKICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg VW5zaWduZWQzMigwLi4yMSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQ TUVzCiAgICAgICBhc3NpZ25lZCB0byB0aGUgcG9ydCwgZHVyaW5nIGluaXRpYWxpemlhdGlvbi4g KFRoZSBTTlIgbWFyZ2luCiAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNp cmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLgoKICAgICAgIE5vdGUgdGhhdCA4MDIuM2FoIHJl Y29tbWVuZHMgdXNpbmcgZGVmYXVsdCBUYXJnZXQgU05SIE1hcmdpbgogICAgICAgb2YgNWRCIGZv ciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3JkZXIKICAg ICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUg UE1BCiAgICAgICBzZXJ2aWNlIGludGVyZmFjZS4KCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFk LXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8x MFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLgogICAgICAg CiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4gTVVTVCBiZSBwZXJmb3Jt ZWQgd2hlbiB0aGUKICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMg b2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQKICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUg ZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUKICAgICAgIGxpbmsgaXMgVXAgb3IgSW5p dGlhbGl6aW5nLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBN RXMgY29tcHJpc2luZyB0aGUgRUZNQ3UKICAgICAgIHBvcnQgaXMgcmVwcmVzZW50ZWQgYnkgZWZt Q3VQbWVTbnJNZ24uCgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4x LjIiCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQoKICAgZWZtQ3VBZGFwdGl2ZVNw ZWN0cmEgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJJbmRpY2F0ZXMgaG93IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4g dGhlIGNvcHBlcgogICAgICAgZW52aXJvbm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRv dGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQKICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJn ZXREYXRhUmF0ZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRo YXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlCiAgICAgICByZWNsYWltZWQgYnkgbWlu aW1pemluZyB0cmFuc21pdCBwb3dlciwgZS5nLiB1c2luZyBoaWdoZXIKICAgICAgIGNvbnN0ZWxs YXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgICBpbnRl cmZlcmVuY2UgdG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZSAKICAg ICAgIGFkdmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLgogICAgICAgCiAg ICAgICBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXNzIGNhcGFiaWxp dHkgU0hBTEwKICAgICAgIGJlIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5k IHNwcmVhZCBldmVubHkgYWNyb3NzCiAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsKICAgICAgIHJvYnVzdG5lc3MuCgogICAg ICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9y dHMKICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRo ZSAtUiBzdWJ0eXBlcy4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVT VCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2UKICAgICAgIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcAog ICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNiB9CgogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJh dGUgY3Jvc3NpbmcgYWxhcm0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1 ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQKICAgICAgIHJlYWNoZXMvZHJvcHMgYmVsb3cgb3Ig ZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYW4KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5v dGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQKICAgICAgIGJ5IGVmbUN1TG93 UmF0ZUNyb3NzaW5nRW5hYmxlLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9y IHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgVGhpcyBvYmpl Y3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBP QkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9ucyBz aG91bGQKICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCiAgICAgICAgCiAg ICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5n CiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNh dGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuCgogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMKICAg ICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBz dWJ0eXBlcy4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDggfQoKCiAgIGVm bUN1UG9ydENhcGFiaWxpdHlUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi VGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykK ICAgICAgIFBvcnRzLiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEKICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIgogICAgIDo6PSB7IGVmbUN1UG9ydCAyIH0KCiAg IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkg aW4gdGhlIEVGTUN1IFBvcnQgQ2FwYWJpbGl0eSB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVw cmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3Rl IHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9y IG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgu IgogICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAg ICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICAgICAgICAgICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93 biwKICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgICAgICAgICAgICBVbnNpZ25lZDMyCiAgICAgfQoK ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBD YXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0CiAgICAgICAoUENTKS4KICAgICAgIFRoaXMgb2Jq ZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgUENTIGNhbiBwZXJmb3JtCiAgICAg ICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLgogICAgICAgUG9ydHMgaW5j YXBhYmxlIG9mIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBvZiBmYWxzZSgyKS4KCiAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu CgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVz ZW50LAogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJp dCBpbiB0aGUKICAgICAgIDEwUC8yQiBjYXBhYmlsaXR5IHJlZ2lzdGVyLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDEgfQoKICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVRydXRoVmFsdWVPclVua25v d24KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgQ2Fw YWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgKFBDUykgbGluayBwYXJ0bmVyLgogICAg ICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSByZW1vdGUgUENT IGNhbgogICAgICAgcGVyZm9ybSBQTUUgYWdncmVnYXRpb24gb24gaXRzIGF2YWlsYWJsZSBQTUVz LgogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJl dHVybiBhIHZhbHVlCiAgICAgICBvZiBmYWxzZSgyKS4KICAgICAgIFBvcnRzIHdob3NlIHBlZXJz IGNhbm5vdCBiZSByZWFjaGVkIGJlY2F1c2Ugb2YgdGhlIGxpbmsKICAgICAgIHN0YXRlLCBTSEFM TCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLgoKICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuCgog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRl ZCBiaXQgaW4gdGhlCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iCiAgICAgUkVG RVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4y IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0KCiAgIGVmbUN1UEFGQ2Fw YWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERF U0NSSVBUSU9OCiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBjYW4gYmUgYWdncmVnYXRlZCBi eSB0aGUgbG9jYWwgUEFGLgogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3Np Z25lZCB0byBhIHBhcnRpY3VsYXIKICAgICAgIEVGTUN1IHBvcnQgKGVmbUN1TnVtUE1FcykgaXMg bmV2ZXIgZ3JlYXRlciB0aGFuCiAgICAgICBlZm1DdVBBRkNhcGFjaXR5LgoKICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFMb2NhbFBBRkNh cGFjaXR5LiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNiIKICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMyB9CgogICBlZm1DdVBl ZXJQQUZDYXBhY2l0eSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw fDEuLjMyKQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFn Z3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcgogICAgICAgUGh5IChQQ1MgcG9ydCkuCiAg ICAgICBWYWx1ZSBvZiAwIGlzIHJldHVybmVkIHdoZW4gcGVlciBQQUYgQ2FwYWNpdHkgaXMgdW5r bm93bgogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLgoKICAgICAgIFRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0 eS4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjEw IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0KCgogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRhYmxlIHByb3Zp ZGVzIG92ZXJhbGwgc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8x MFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzCiAgICAgICBp bmZvcm1hdGlvbiBmcm9tIHRoZSBpZlRhYmxlIG9mIElGLU1JQiBhbmQgaWZNYXVUYWJsZSBvZgog ICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3JtYXRpb24gYWJvdXQgY29ubmVj dGVkIFBNRXMKICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuCgog ICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBB cyBzdWNoLAogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG9y dCAzIH0KCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVwcmVz ZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3RlIHRo YXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9yIG11 bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXguIgog ICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c1RhYmxlIDEg fQoKICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9CiAgICAgU0VRVUVOQ0UgewogICAgICAgZWZt Q3VGbHRTdGF0dXMgICAgICAgICAgICAgICAgICAgQklUUywKICAgICAgIGVmbUN1UG9ydFNpZGUg ICAgICAgICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgICBlZm1DdU51bVBNRXMgICAgICAgICAg ICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAg ICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAg Q291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzICAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMyLAog ICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLAogICAgICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQ QUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbk92 ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyCiAgICAgfQoKICAgZWZtQ3VGbHRTdGF0dXMg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQklUUyB7CiAgICAgICBub1BlZXIoMCksCiAg ICAgICBwZWVyUG93ZXJMb3NzKDEpLAogICAgICAgcG1lU3ViVHlwZU1pc21hdGNoKDIpLAogICAg ICAgbG93UmF0ZSgzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk1DdSAoUENTKSBwb3J0 IEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3NzaWJsZQogICAgICAgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6CiAgICAgICAgIG5vUGVlciAgICAg ICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbm8gUE1FcyBhdHRhY2hlZCwgYWxsIFBNRXMgYXJlIERvd24KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0Yy4pIE1vcmUgaW5mbyBpcyBhdmFpbGFibGUg aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLgogICAg ICAgICBwZWVyUG93ZXJMb3NzICAgICAgIC0gcGVlciBQSFkgaGFzIGluZGljYXRlZCBpbXBlbmRp bmcgdW5pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSBkdWUgdG8gbG9z cyBvZiBsb2NhbCBwb3dlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBH YXNwJykuCiAgICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCAgLSBsb2NhbCBQTUVzIGluIHRoZSBh Z2dyZWdhdGlvbiBncm91cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIG5vdCBv ZiB0aGUgc2FtZSBzdWItdHlwZSwgZS5nLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aGlsZSBvdGhlcnMgYXJlIC1SIHN1YnR5cGUuCiAgICAgICAgIGxvd1JhdGUg ICAgICAgICAgICAgLSBpZlNwZWVkIG9mIHRoZSBwb3J0IHJlYWNoZWQgb3IgZHJvcHBlZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlCgogICAg ICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgb2Jq ZWN0CiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4K CiAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSB2aWEgZWZtQ3VQbWVG bHRTdGF0dXMKICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdy b3VwIChzaW5nbGUgUE1FIGlmCiAgICAgICBQQUYgaXMgZGlzYWJsZWQpLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWls YWJsZTsKICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0 dXNFbnRyeSAxIH0KCiAgIGVmbUN1UG9ydFNpZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBzdWJzY3JpYmVyKDEpLAogICAgICAgb2ZmaWNlKDIpLAogICAg ICAgdW5rbm93bigzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk0gcG9ydCBtb2RlIG9m IG9wZXJhdGlvbiAoc3VidHlwZSkuCiAgICAgICBUaGUgdmFsdWUgb2YgJ3N1YnNjcmliZXInIGlu ZGljYXRlcyB0aGUgcG9ydCBpcyBkZXNpZ25hdGVkIGFzCiAgICAgICAnLVInIHN1YnR5cGUgKGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQogICAgICAgJy1SJyku CiAgICAgICBUaGUgdmFsdWUgb2YgdGhlICdvZmZpY2UnIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0 IGlzCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQg dG8gdGhpcyBwb3J0IGFyZQogICAgICAgb2Ygc3VidHlwZSAnLU8nKS4KICAgICAgIFRoZSB2YWx1 ZSBvZiAndW5rbm93bicgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaGFzIG5vIGFzc2lnbmVkCiAg ICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNh bWUgc2lkZQogICAgICAgKHN1YlR5cGVQTUVNaXNtYXRjaCkuCgogICAgICAgVGhpcyBvYmplY3Qg cGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQaHlFbmQi CiAgICAgUkVGRVJFTkNFCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiIKICAg ICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0KCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgwLi4zMikKICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGlzIGN1cnJlbnRseSBhZ2dyZWdhdGVkIGJ5IHRoZSBs b2NhbCBQQUYKICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNr VGFibGUpLgogICAgICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFG Q2FwYWNpdHkuCgogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZAogICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxl dGVkIHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcKICAgICAgIGlmU3RhY2tUYWJsZS4iCiAg ICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMyB9CgogICBlZm1DdVBBRkluRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUKICAg ICAgIGdhbW1hIGludGVyZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuCiAg ICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIChub3QgaW5jcmVtZW50ZWQp IHdoZW4gdGhlCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlz YWJsaW5nIHRoZSBQQUYsIHRoZQogICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2 YWx1ZS4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAv MkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUg dmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRp b24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFz IGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMy4yMSIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0KCiAgIGVmbUN1 UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIz MgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4g bWluRnJhZ21lbnRTaXplCiAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAg ICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KICAgICAgIAogICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVu CiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIHNtYWxsIGZyYWdtZW50 cwogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBv ZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0 aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4z LjIyIgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQQUZJbkxh cmdlRnJhZ21lbnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFuIG1heEZyYWdt ZW50U2l6ZQogICAgICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jv c3MgdGhlIGdhbW1hCiAgICAgICBpbnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4KICAgICAgIFRoaXMg cmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1 cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIK ICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzCiAgICAg ICByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5h Z2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBp biBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9CgogICBlZm1DdVBBRkluQmFkRnJhZ21l bnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgc2Vx dWVuY2UKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhh dCBoYXZlIGJlZW4KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFu ZCBkaXNjYXJkZWQgKHRoZQogICAgICAgZnJhbWUgYnVmZmVyIGlzIGZsdXNoZWQgdG8gdGhlIG5l eHQgdmFsaWQgZnJhbWUgc3RhcnQpLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBp bmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJl dmlvdXMgdmFsdWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzCiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgNyB9CgogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGdhcHMg aW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdtZW50cywgd2hpY2ggaGF2ZQogICAgICAgYmVlbiByZWNl aXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBpcwogICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiBp cy9hcmUgbm90IHJlY2VpdmVkKS4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5h Y3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBv biBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZp b3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI2IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDggfQoKICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0 YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUKICAgICAgIGZyYW1lIGFzc2Vt Ymx5IGZ1bmN0aW9uLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3 aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFs dWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ Q1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50CiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgOSB9CgogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIEVu ZE9mUGFja2V0IGluZGljYXRvcnMgZXhwZWN0ZWQgYnkgdGhlCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hl biB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxp bmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl LgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENT IGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDEwIH0KCiAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMs IHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlCiAgICAgICBhbmQgZGlzY2FyZGVk LCB3aGljaCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkKICAgICAgIGJ1ZmZl ciB0byBvdmVyZmxvdy4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUg d2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNh YmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgb3ZlcmZsb3cgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2 YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlv biBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjI0IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDExIH0KCiAgLS0gUE1F IE5vdGlmaWNhdGlvbnMgR3JvdXAKCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdVBtZSAwIH0KICAgCiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5n IE5PVElGSUNBVElPTi1UWVBFCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1DdVBtZUxpbmVBdG4s CiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4KICAgICB9CiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVz IHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24KICAgICAgIHRocmVzaG9sZCAoYXMgcGVyIHRoZSBl Zm1DdVBtZVRocmVzaExpbmVBdG4KICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2Vl ZGVkIGZvciB0aGUgMkJBU0UtVEwvMTBQQVNTLVRTCiAgICAgICBQTUUuIFRoaXMgbm90aWZpY2F0 aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbgogICAgICAgYm90aCBkaXJl Y3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBhbmQgZnJvbSBleGNlZWRlZAogICAgICAg dG8gbm9ybWFsLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5j aW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRo ZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHBy ZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUKICAgICAgIHNlbnQuCgogICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAK ICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQoKICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAg ICBlZm1DdVBtZVRocmVzaFNuck1nbgogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0 aGUgU05SIG1hcmdpbiB0aHJlc2hvbGQKICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbgogICAgICAgcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJC QVNFLVRMLzEwUEFTUy1UUyBQTUUuCiAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2Vu ZCBvbiB0aGUgY3Jvc3NpbmcgZXZlbnQgaW4KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBu b3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQKICAgICAgIHRvIG5vcm1hbC4KCiAg ICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2Yg Mi41IHNlYywKICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlCiAgICAgICBzZW50LgoKICAgICAgIEdlbmVyYXRpb24g b2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmlj YXRpb25zIDIgfQoKICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5k aWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoKICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVO b3RpZmljYXRpb25zIDMgfQoKICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBOT1RJRklDQVRJ T04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBl Zm1DdUFkbWluUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlCiAgICAgfQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgbm90aWZp Y2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMKICAgICAgIGZhaWxl ZCwgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8gYWNoaWV2ZSByZXF1ZXN0ZWQK ICAgICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4KCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMg bm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIAogICAgICAgZWZtQ3VQbWVDb25maWdJ bml0RmFpbEVuYWJsZSBvYmplY3QuIgogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0 IH0KCiAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZSBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBlZm1DdVBtZU9wZXJT dWJUeXBlCiAgICAgfQogICAgIFNUQVRVUyAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5n CiAgICAgICBpbmNvbXBhdGlibGUgcHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLgoKICAg ICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUg CiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0g eyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgNSB9CgogICAtLSBUaGUgUE1FIGdyb3VwCgogICBlZm1D dVBtZUNvbmZUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUYWJsZSBmb3IgQ29uZmln dXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgIDJCQVNFLVRMLzEwUEFT Uy1UUyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgcmVw cmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUK ICAgICAgIHJlc3BlY3RpdmVseS4KCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBi ZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgbWFubmVyLiIKICAgICA6Oj0geyBl Zm1DdVBtZSAxIH0KCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkg cmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydAogICAgICAgaW5k ZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQog ICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlm SW5kZXgsCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQ QUYgaXMgZW5hYmxlZC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQ bWVDb25mVGFibGUgMSB9CgogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8sCiAgICAg ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgZWZtQ3VQbWVUaHJl c2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBUcnV0aFZhbHVlLAogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJs ZSAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1 dGhWYWx1ZSwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgICBUcnV0aFZhbHVl LAogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlIFRydXRoVmFsdWUKICAgICB9 CgogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsKICAgICAgIGllZWUyQmFzZVRMTygxKSwKICAgICAgIGllZWUyQmFzZVRMUigyKSwK ICAgICAgIGllZWUxMFBhc3NUU08oMyksCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwKICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08o NiksCiAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgfQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAg ICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAg LSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8gCiAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PIAogICAg ICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNz VFMtUiAKICAgICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRl IGFzIDJCYXNlVEwtUiBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNldCBieSAtTyBsaW5rIHBhcnRuZXIgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4KICAgICAgICAgaWVlZTJCYXNl VExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJp bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVu ZGluZyBvbiAtUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVy IGNhcGFiaWxpdHkgKGkuZS4gaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVzZWQpLgogICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0g UE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5l LiBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9m IHRoZSBwcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RT IG1vZGUsIDJCYXNlVEwgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dXNlZCkuCiAgICAgICAKICAgICAgIENoYW5naW5nIGVmbUN1UG1lQWRtaW5TdWJUeXBlIGlzIGEg dHJhZmZpYyBkaXNydXB0aXZlCiAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsKICAgICAgIGlzIFVwIG9yIElu aXRpYWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCB0byBhbiB1 bnN1cHBvcnRlZCBzdWJ0eXBlCiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQp IFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIHN1YiB0 eXBlIGlzIGluZGljYXRlZCBieQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSB2YXJpYWJsZS4K CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBw cmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBv cnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMKICAgICAgIGFuZCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVj dGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRAogICAgICAgY29udHJvbCByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIu MS4xMS43IgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQoKICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3Ja ZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmls ZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyCiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIg ZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcgogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUs IGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBvcGVyYXRpbmcKICAgICAgIFN1YlR5cGUgb2YgdGhl IFBNRS4gVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZgogICAgICAgdGhl IHJlZmVyZW5jZWQgcHJvZmlsZS4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBp bmRpY2F0ZXMgdGhhdCB0aGUgUE1FIGlzCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvYmplY3QgZm9yIHRoZSBQQ1MgcG9ydCwKICAgICAgIHRvIHdoaWNoIHRoaXMgUE1F IGlzIGFzc2lnbmVkLiBUaGF0IGlzLCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkCiAgICAgICBieSBl Zm1DdVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykK ICAgICAgIHJlZmVyZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuCgogICAgICAgVGhpcyBvYmpl Y3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVzCiAgICAg ICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BF IAogICAgICAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVl IFNIQUxMIGJlCiAgICAgICByZXR1cm5lZCBvbiBhbiBhdHRlbXB0IHRvIHJlYWQgdGhpcyBvYmpl Y3QgYW5kIGFueSBhdHRlbXB0CiAgICAgICB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSBy ZWplY3RlZCBpbiB0aGlzIGNhc2UuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9u YWwgUHJvZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhCiAgICAgICBlZm1DdVBtZU9wZXJQcm9m aWxlIG9iamVjdC4KCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2 YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUKICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0 aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUKICAgICAgIHRhYmxlLCBNVVNU IGJlIHJlamVjdGVkLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4x LjYiCiAgICAgREVGVkFMIHsgMCB9CiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMiB9Cgog ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUEFGIFJlbW90 ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgUE1FIHBvcnQgYXQgQ08uIAogICAgICAgQSA2IG9jdGV0 IGxvbmcgRGlzY292ZXJ5IENvZGUgb2YgdGhlIHBlZXIgUENTIGNvbm5lY3RlZCB2aWEKICAgICAg IHRoZSBQTUUuCiAgICAgICBSZWFkaW5nIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3Zl cnkgR2V0IG9wZXJhdGlvbi4gCiAgICAgICBTZXR0aW5nIHRoaXMgb2JqZWN0IHRvIGFsbCB6ZXJv ZXMgcmVzdWx0cyBpbiBhIERpc2NvdmVyeQogICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24g KHRoZSB2YWx1ZSBvZiBlZm1DdVBBRkRpc2NvdmVyeUNvZGUKICAgICAgIGF0IHRoZSBwZWVyIFBD UyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YKICAgICAgIHRo ZSBsb2NhbCBQQ1MgYXNzb2NpYXRlZCB3aXRoIHRoZSBQTUUgZm9yIHRoZSBvcGVyYXRpb24gdG8K ICAgICAgIHN1Y2NlZWQpLgogICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMg b2JqZWN0IHJlc3VsdHMgaW4gYQogICAgICAgRGlzY292ZXJ5IFNldF9pZl9DbGVhciBvcGVyYXRp b24uCiAgICAgICBBIHplcm8tbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBv biBhbiBhdHRlbXB0IHRvCiAgICAgICByZWFkIHRoaXMgb2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0 aW9uIGlzIG5vdCBlbmFibGVkLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgaW4g Q1BFIHBvcnQgKC1SKSBzdWJ0eXBlczogaW4gdGhpcwogICAgICAgY2FzZSBhIHplcm8gbGVuZ3Ro IG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbgogICAgICAgYXR0ZW1wdCB0byBy ZWFkIHRoaXMgb2JqZWN0LCB3cml0aW5nIHRvIHRoaXMgb2JqZWN0IFNIQUxMCiAgICAgICBiZSBy ZWplY3RlZC4KICAgICAgIAogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBN VVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGlu Y29uc2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemlu Zy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN QS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgaXMgYSBmdW5jdGlvbiBv ZiAxMFAvMkIgYWdncmVnYXRpb24gZGlzY292ZXJ5CiAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBE aXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQgogICAgICAgYWdncmVnYXRp b24gYW5kIGRpc2NvdmVyeSBzdGF0dXMgcmVnaXN0ZXIgYW5kCiAgICAgICAxMFAvMkIgYWdncmVn YXRpb24gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgw Mi4zYWhdIDYxLjIuMi44LjQsIDQ1LjIuNi42LTQ1LjIuNi44IgogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDMgfQoKICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIkRlc2lyZWQgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgbGluZSBhdHRl bnVhdGlvbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9m IExpbmUgQXR0ZW51YXRpb24gcmVhY2hlcyBvcgogICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9s ZCwgYSBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZwogICAgICAgbm90aWZpY2F0aW9uIE1BWSBiZSBn ZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1 YnR5cGUgUE1FcyAoLU8pLgogICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUgKC1SKS4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24g VGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkCiAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlCiAgICAgICByZWplY3RlZCAo aW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwKICAgICAg IGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KICAgICAgICAKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0 cyBpbgogICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2IgogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDQgfQoKICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAi ZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9y IHRoZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgU05SIG1h cmdpbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNO UiBNYXJnaW4gcmVhY2hlcyBvciBleGNlZWRzIHRoaXMKICAgICAgIHRocmVzaG9sZCwgYSBlZm1D dVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUKICAgICAgIGdlbmVyYXRlZCwg aWYgZW5hYmxlZCBieSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlLgogICAgICAgCiAgICAg ICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1FcwogICAgICAg KDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUKICAgICAgICgyQmFzZVRMLVIvMTBQYXNzVFMtUikuCiAgICAgICAKICAgICAgIENoYW5naW5n IG9mIHRoZSBTTlIgTWFyZ2luIFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuCiAgICAg ICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBi ZQogICAgICAgcmVqZWN0ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNp c3RlbnRWYWx1ZSksCiAgICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCiAg ICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlz IHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4g dGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4zNiIK ICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA1IH0KCiAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcg bm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZh Y2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1 UG1lTGluZUF0bkNyb3NzaW5nCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUg b2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlz YWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDYgfQoKICAgZWZtQ3VQbWVTbnJN Z25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVl CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jv c3Npbmcgbm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBp bnRlcmZhY2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0 IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcKICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBW YWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBp cyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9CgogICBlZm1DdVBt ZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFs dWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVEZXZpY2VG YXVsdCBub3RpZmljYXRpb25zCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGlu dGVyZmFjZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVEZXZpY2VGYXVsdAogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVl IG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRp c2FibGVkLiIKICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA4IH0KCiAgIGVmbUN1UG1lQ29u ZmlnSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1 ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRo aXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMg dGhhdCBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5h YmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmlj YXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDkgfQoKICAg ZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZt Q3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1 ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUKICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAog ICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMTAgfQoKCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkKICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1vbiBhc3Bl Y3RzIGZvciBFRk1DdQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1z KS4gQ29uZmlndXJhdGlvbiBvZgogICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBv ciAxMFBBU1MtVFMgUE1FIHR5cGVzIGlzCiAgICAgICByZXByZXNlbnRlZCBpbiBlZm1DdVBtZTJC Q29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQogICAgICAgcmVzcGVjdGl2ZWx5LgoK ICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50CiAgICAgICBtYW5uZXIuIgogICAgIDo6PSB7IGVmbUN1UG1lIDIgfQoKICAgZWZtQ3VQ bWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZUNh cGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVG TUN1IFBNRSBDYXBhYmlsaXR5IHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNv bW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBp ZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAg IHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVk LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsK ICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMKICAgICB9CgogICBlZm1D dVBtZVN1YlR5cGVzU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEJJVFMg ewogICAgICAgaWVlZTJCYXNlVExPKDApLAogICAgICAgaWVlZTJCYXNlVExSKDEpLAogICAgICAg aWVlZTEwUGFzc1RTTygyKSwKICAgICAgIGllZWUxMFBhc3NUU1IoMykKICAgICB9CiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUE1FIHN1cHBvcnRlZCBzdWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2Yg cG9zc2libGUKICAgICAgIHN1Yi10eXBlcy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6 ICAgIAogICAgICAgICBpZWVlMkJhc2VUTE8gICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRp bmcgYXMgMkJhc2VUTC1PCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxl IG9mIG9wZXJhdGluZyBhcyAyQmFzZVRMLVIKICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1F IGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8KICAgICAgICAgaWVlZTEwUGFz c1RTUiAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLVIKICAgICAg IAogICAgICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5CiAg ICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZs ZWN0cyB0aGUKICAgICAgIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUuCiAgICAgICAgCiAgICAgICBJ ZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4g dGhpcwogICAgICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJB U0UtVEwgY2FwYWJsZQogICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlCiAgICAgICBDTyBzdXBwb3J0ZWQgYW5kIENQRSBzdXBwb3J0 ZWQgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQKICAgICAgIHN0YXR1cyByZWdpc3RlciIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjQuMSwgNDUuMi4xLjQu MiwgNDUuMi4xLjEyLjIsCiAgICAgICA0NS4yLjEuMTIuMyIKICAgICA6Oj0geyBlZm1DdVBtZUNh cGFiaWxpdHlFbnRyeSAxIH0KCgogICBlZm1DdVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVTdGF0dXNFbnRyeQogICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGluZm9ybWF0 aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMg aW5mb3JtYXRpb24gc3BlY2lmaWMKICAgICAgIHRvIDEwUEFTUy1UUyBQTUUgaXMgcmVwcmVzZW50 ZWQgaW4gZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZS4KICAgICAgIAogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLAogICAgICAgaXQg aXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG1lIDMgfQoKICAgZWZtQ3VQbWVT dGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3RhdHVzRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3Rh dHVzIHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9m IGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRo YXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xl IFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAgIHBvc3NpYmx5IHRvZ2V0 aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiIKICAgICBJTkRFWCAg eyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQoKICAgRWZtQ3VQ bWVTdGF0dXNFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZU9wZXJTdGF0 dXMgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAgICAgICAg ICAgQklUUywKICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsCiAg ICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8s CiAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBl Zm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUxp bmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRu ICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyCiAgICAg fQoKICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElO VEVHRVIgewogICAgICAgdXAoMSksCiAgICAgICBkb3duTm90UmVhZHkoMiksCiAgICAgICBkb3du UmVhZHkoMyksCiAgICAgICBpbml0KDQpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJl bnQgUE1FIGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAg ICAgICB1cCgxKSAgICAgICAgICAgLSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1 QgogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMu CiAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2Vz IG5vdCBkZXRlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRvbmVzIGZy b20gaXRzIHBlZXIuIFRoaXMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGlu ZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoZSBwZWVyIFBNRS4KICAgICAgICAgZG93blJlYWR5KDMpICAgIC0gbGluayBpcyBEb3duIGFu ZCB0aGUgUE1FIGRldGVjdHMgSGFuZHNoYWtlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv bmVzIGZyb20gaXRzIHBlZXIuCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5p dGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZkFk bWluU3RhdHVzIGJlaW5nIHNldCB0byAndXAnIGZvciBhCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRoZSBQTUUgaXMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRl bmRlZCB0byBzdXBwbGVtZW50IERvd24gc3RhdGUgb2YgCiAgICAgICBpZk9wZXJTdGF0dXMuCiAg ICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMw IGF0dHJpYnV0ZQogICAgICAgYVBNRVN0YXR1cy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAg IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4gMTBQ LzJCCiAgICAgICBQTUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAg ICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4yLjEuMTIuNCIKICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDEgfQoKICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgQklUUyB7CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLAogICAgICAgc25yTWdu RGVmZWN0KDEpLAogICAgICAgbGluZUF0bkRlZmVjdCgyKSwKICAgICAgIGRldmljZUZhdWx0KDMp LAogICAgICAgY29uZmlnSW5pdEZhaWx1cmUoNCksCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJl KDUpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGluayBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YKICAgICAgIHBvc3NpYmxlIGNvbmRpdGlvbnMu IFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgoKICAgICAgICAgbG9zc09mRnJhbWluZyAg ICAgICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb3NzIG9mIFN5bmMgd29yZCBmb3IgMkIgUE1EIG9yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nCiAgICAgICAgIHNuck1nbkRlZmVj dCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZAogICAgICAg ICBsaW5lQXRuRGVmZWN0ICAgICAgIC0gTGluZSBBdHRlbnVhdGlvbiBleGNlZWRzIHRoZSBUaHJl c2hvbGQKICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRvci1k ZXBlbmRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMgb3Igc2Vs Zi10ZXN0IGZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVlbiBkZXRl Y3RlZC4KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24gaW5pdGlh bGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBp bmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdXBwb3J0IGNvbmZpZ3VyYXRpb24gcHJvZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCiAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHVlIHRvIGluY29tcGF0aWJsZSBwcm90b2NvbCB1c2VkIGJ5 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVyaW5nIGluaXQg KHRoYXQgY291bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBl ZXIgUE1EIGlzIGEgcmVndWxhciAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RI U0wvVkRTTCBtb2RlbSBpbnN0ZWFkIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp bnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJRi1NSUIuCiAgICAgICAKICAg ICAgIFRoaXMgb2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lgog ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgaXMgY2xlYXJlZCBieSB0aGUgZGV2aWNlIHJlc3RhcnQu CiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJbml0RmFpbHVyZSBhbmQK ICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuCiAgICAg ICBkZXZpY2VGYXVsdCBpcyBjbGVhcmVkIGJ5IHN1Y2Nlc3NmdWwgZGlhZ25vc3RpY3MvdGVzdC4K ICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBhcmUgY2xlYXJlZCBieSBTTlIg TWFyZ2luCiAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJuaW5n IHRvIG5vcm0gYW5kIGJ5CiAgICAgICBQTUUgaW5pdC4KIAogICAgICAgVGhpcyBvYmplY3QgcGFy dGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQTUVTdGF0dXMu CiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgY29uc29saWRhdGVzIGluZm9ybWF0 aW9uIGZyb20gdmFyaW91cyBQTUEvUE1ECiAgICAgICByZWdpc3RlcnMsIG5hbWVseTogRmF1bHQg Yml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsCiAgICAgICAxMFAvMkIgUE1BL1BNRCBs aW5rIGxvc3MgcmVnaXN0ZXIsCiAgICAgICAxMFAgb3V0Z29pbmcgaW5kaWNhdG9yIGJpdHMgc3Rh dHVzIHJlZ2lzdGVyLAogICAgICAgMTBQIGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyBy ZWdpc3RlciwKICAgICAgIDJCIHN0YXRlIGRlZmVjdHMgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LAog ICAgICAgNDUuMi4xLjM5LCA0NS4yLjEuNTQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRy eSAyIH0KCiAgIGVmbUN1UG1lT3BlclN1YlR5cGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBpZWVlMkJhc2VUTE8oMSksCiAgICAgICBpZWVlMkJhc2VUTFIo MiksCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLAogICAgICAgaWVlZTEwUGFzc1RTUig0KQogICAg IH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRo ZSBQTUUuCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICBpZWVlMkJhc2VUTE8g ICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtTyAKICAgICAgICAgaWVlZTJCYXNl VExSICAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtTyAKICAgICAgICAg aWVlZTEwUGFzc1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SIAogICAg ICAgCiAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29u ZmlndXJlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLgoKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQs IHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWIt dHlwZSBzZWxlY3QKICAgICAgIGJpdHMsIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMg aW4gdGhlIDEwUC8yQiAKICAgICAgIFBNQS9QTUQgY29udHJvbCByZWdpc3RlciBhbmQgdGhlIFBN QS9QTUQgbGluayBzdGF0dXMgYml0cyBpbgogICAgICAgdGhlIDEwUC8yQiBQTUEvUE1EIHN0YXR1 cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS4xMS40LCA0NS4yLjEuMTEuNywgNDUuMi4xLjEyLjQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0 dXNFbnRyeSAzIH0KCiAgIGVmbUN1UG1lT3BlclByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUE1FIGN1 cnJlbnQgb3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bwogICAg ICAgYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IKICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQKICAgICAgIG9w ZXJhdGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5CiAgICAgICBlZm1DdVBt ZU9wZXJTdWJUeXBlLgogICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRyeSwgdG8gd2hpY2gg ZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcwogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQKICAgICAgIHBhcmFtZXRlcnMgaW4g YWRhcHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRpb24sCiAgICAgICBpLmUuIHZhbHVlcyBv ZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIGlu ZGljYXRlcyB0aGF0IFBNRSBpcyBkb3duIG9yIGluaXRpYWxpemluZy4KICAgICAgIAogICAgICAg VGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gMzAuMTEuMi4xLjciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0KCiAgIGVm bUN1UG1lU25yTWduIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcu LjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhl IGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1hcmdpbiB3aXRoIHJlc3BlY3QK ICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbCBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBtYXBz IHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuCiAgICAgICAKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAg ICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBSWCBTTlIgbWFyZ2luIHJlZ2lzdGVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjQsIDQ1LjIuMS4xNiIKICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQbWVQZWVyU25yTWduIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAg ICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhlIGN1cnJlbnQgU05SIG1h cmdpbiBpbiBkQiB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlY2VpdmVkCiAgICAgICBzaWduYWwsIGFz IHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlIChsaW5rIHBhcnRuZXIpIFBNRS4KICAgICAgIFRoZSB2 YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yCiAgICAgICBpbml0 aWFsaXppbmcuCiAgICAgICAKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRo ZSAtUiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQogICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0 dXJuZWQgaW4gdGhpcyBjYXNlLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBs aW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbgogICAgICAgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNF bnRyeSA2fQoKICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg SW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIGxvY2FsCiAgICAgICBQTUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMg cmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAg CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRo aXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIgog ICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSA3IH0KCiAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAgIFVOSVRTICAg ICAgICJkQiIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0aW9u IGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlCiAgICAgICAobGluayBwYXJ0bmVyKSBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp cnJlbGV2YW50IGZvciB0aGUgLVIgUE1FIHN1YnR5cGVzLiBUaGUgdmFsdWUKICAgICAgIG9mIDY1 NTM1IFNIQUxMIGJlIHJldHVybmVkIGluIHRoaXMgY2FzZS4KCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBz IHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgIHJlZ2lz dGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9CgogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQog ICAgIFVOSVRTICAgICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVzdGltYXRlIG9mIHRo ZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4KICAgICAgIG1ldGVycywgYXMg cGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJsaXNoZWQuCiAgICAg ICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29w IHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4KICAgICAgIFRoZSB2YWx1ZSBv ZiA2NTUzNSBpcyByZXR1cm5lZCBpZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICBJbml0aWFs aXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQKICAg ICAgIExlbmd0aC4KICAgICAgIAogICAgICAgRm9yIDEwQkFTRS1UTCBQTUUsIGlmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMKICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoCiAgICAgICByZWdpc3Rl ciIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIgogICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9CgogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBlcnJvcnMuIFRoaXMgY291bnRlciBp cwogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBl cnJvciBkZXRlY3RlZAogICAgICAgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24u CgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJpYnV0 ZSBpbgogICAgICAgY2xhdXNlIDMwLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVyCiAgICAgICAoc2Vl IDQ1LjIuNi4xMikuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5 IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQg aW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjEsIDMw LjExLjIuMS41LCA0NS4yLjYuMTIiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMCB9 CgogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291 bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgVEMtQ1JDIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzIGluY3JlbWVudGVkIGZvcgogICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0 ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24KICAgICAgIChzZWUgNjEu My4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVEND UkNFcnJvcnMgYXR0cmlidXRlIGluCiAgICAgICBjbGF1c2UgMzAuCiAgICAgICAKICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRo ZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcgog ICAgICAgKHNlZSA0NS4yLjYuMTEpLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYx LjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1 c0VudHJ5IDExIH0KCiAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwCgogICBlZm1DdVBt ZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9CgogICBlZm1DdVBt ZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0Yg RWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQKICAgICAgIG9wZXJh dGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4KICAgICAgIEZpcnN0IDE0IGVudHJpZXMg aW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgZm9sbG93cyAo c2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0t LS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhS YXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEti cHMpICAoZEJtKQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEz LjUgICAgMSAgIDMyLVRDUEFNCiAgICAgICAgICAzICAgICAyMDQ4ICAgIDIwNDggICAgMTMuNSAg ICAxICAgMTYtVENQQU0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2 LVRDUEFNCiAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAxICAgMTYtVENQ QU0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQog ICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNCiAgICAg ICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAg MTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQogICAgICAgICAxMSAg ICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNCiAgICAgICAgIDEyICAgICAg NTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAgMTMgICAgICAxOTIg ICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQpCiAgICAgICAgIDE0 ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQoK ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2Vu dAogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgogICAgICAg RW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRl ZCBhbmQKICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0aXZlIChj b25maWd1cmF0aW9uKQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJv ZmlsZXMuCgogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0 ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYzQSwg MzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9CgogICBlZm1DdVBtZTJCUHJv ZmlsZUVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUyQlByb2ZpbGVF bnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNwb25kcyB0byBh IHNpbmdsZSAyQkFTRS1UTCBQTUUgcHJvZmlsZS4KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlu cyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IKICAgICAgIGNvbmZpZ3VyYXRp b24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQTUUuICAKICAgICAgIEluIGNhc2Ug YSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRt aW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYKICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQKICAgICAgIHBh cmFtZXRlcnMgdGhlIDJCYXNlVEwtTyBQTUUgaW5pdGlhbGl6YXRpb24uCiAgICAgICBJZiBhIHBy b2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsCiAgICAg ICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIAogICAg ICAgb3BlcmF0aW9uYWwgUE1FLgogICAgICAgCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRl ZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vCiAgICAgICBkZWxldGlvbiBtZWNoYW5p c20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAgYWN0aXZlIGVu dHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJwogICAgICAg dW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCiAgICAgICBEZWZhdWx0IGVudHJpZXMg TVVTVCBOT1QgYmUgcmVtb3ZlZC4iCiAgICAgSU5ERVggeyBlZm1DdVBtZTJCUHJvZmlsZUluZGV4 IH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUlu ZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURl c2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAg ICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAg ICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLAogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRl ICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAgICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gICAgICAgICAgSU5U RUdFUiwKICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cwog ICAgIH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBFZm1Qcm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBN RSBQcm9maWxlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxl IGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQogICAgICAgb3IgZWZtQ3VQbWVB ZG1pblByb2ZpbGUgb2JqZWN0cy4iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAx IH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAg ICBTbm1wQWRtaW5TdHJpbmcKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcg Y29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIFByb2ZpbGUu IFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSByYXRlCiAgICAg ICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIgog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCUmVnaW9u ICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgcmVnaW9uMSgx KSwKICAgICAgIHJlZ2lvbjIoMikKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUK ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJSZWdpb25h bCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICBy ZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45OTEuMl0uCiAgICAgICBSZWdpb25hbCBzZXR0 aW5ncyBzcGVjaWZ5IFBvd2VyIFNwZWN0cmFsIERlbnNpdHkgKFBTRCkgbWFzaywKICAgICAgIFBv d2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGltaXRhdGlvbnMgb24gdGhlIG1h eAogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUsIHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLgogICAg ICAgCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgZm9yIHRoaXMgb2JqZWN0IGFyZToKICAgICAgICAg cmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpCiAgICAg ICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBhbmQgRyAoZS5nLiBFdXJvcGUpCiAgICAgICAK ICAgICAgIEFubmV4IEEvQiBzcGVjaWZ5IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVz IDE5Mi0yMzA0CiAgICAgICBLYnBzIHVzaW5nIDE2LVRDUEFNIGVuY29kaW5nLgogICAgICAgQW5u ZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBz CiAgICAgICB1c2luZyAxNi1UQ1BBTSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAz Mi1UQ1BBTQogICAgICAgZW5jb2RpbmcuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBwYXJ0 aWFsbHkgbWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgIHBh cmFtZXRlciByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu MS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyIKICAgICA6Oj0geyBlZm1DdVBt ZTJCUHJvZmlsZUVudHJ5IDMgfQoKICAgZWZtQ3VQbWUyQnNNb2RlICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybwogICAgIE1BWC1BQ0NFU1MgIHJlYWQt Y3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi RGVzaXJlZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVj dAogICAgICAgaXMgYSBwb2ludGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxl IGFuZCBhIGJsb2NrCiAgICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSwgd2hpY2ggdG9nZXRoZXIgZGVmaW5lCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2gg ZGVwZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4KICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRl ZmluZWQgYnkgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmpl Y3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkCiAgICAgICBzcGVjdHJhbCBtb2RlLgog ICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNp ZmljCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuCgogICAgICAgQXR0ZW1wdHMg dG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlCiAgICAg ICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9uZGluZyBz cGVjdHJhbAogICAgICAgbW9kZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iCiAgICAgUkVGRVJF TkNFCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSIKICAgICBERUZWQUwgeyAwIH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQoKICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5z aWduZWQzMigxOTIuLjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJNaW5pbXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRo aXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBu PTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgog ICAgICAgCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lk ZXJlZCAnZml4ZWQnIHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMg dGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAg J2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJh dGUKICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUg c3BlY3RyYWwgCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdp b24gYW5kCiAgICAgICBlZm1DdVBtZTJCc01vZGUuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQg b3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUgaXMKICAgICAgIHJlcHJlc2VudGVkIGJ5 IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIE1pbiBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQoKICAgZWZtQ3VQ bWUyQk1heERhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIu LjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhp bXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoaXMgb2JqZWN0IGNh biB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAx Ni1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgogICAgICAgCiAgICAg ICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQn IHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1D dVBtZTJCTWluRGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVz cyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFkbWluaXN0cmF0aXZl IHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAgJ2FkYXB0aXZlJywg YW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUKICAgICAgIG5v dCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwKICAg ICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQKICAgICAg IGVmbUN1UG1lMkJzTW9kZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBk YXRhIHJhdGUgb2YgdGhlIFBNRSBpcwogICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRo ZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWF4 IERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1ECiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVy LgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNiB9CgogICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwfDEwLi40MikKICAgICBVTklU UyAgICAgICAiMC41IGRCbSIKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlNpZ25hbCBUcmFuc21pdCBQ b3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLgogICAgICAgVGhlIHZhbHVlIG9mIDAgaW4gdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUgbWVhbnMgdGhhdCB0aGUKICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bwogICAgICAgbWF4aW1pemUg dGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zCiAgICAg ICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4KICAg ICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBw cmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBp biB0aGUgMkIgUE1EIHBhcmFtZXRlcnMKICAgICAgIHJlZ2lzdGVyIgogICAgIFJFRkVSRU5DRQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSA3IH0KCiAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIElOVEVHRVIgewogICAgICAgYWRhcHRpdmUoMCksCiAgICAgICB0Y3BhbTE2KDEp LAogICAgICAgdGNwYW0zMigyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRDUEFNIENv bnN0ZWxsYXRpb24gb2YgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1 ZXMgYXJlOgogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0K ICAgICAgICAgdGNwYW0xNigxKSAgICAgLSAxNi1UQ1BBTQogICAgICAgICB0Y3BhbTMyKDIpICAg ICAtIDMyLVRDUEFNCgogICAgICAgVGhlIHZhbHVlIG9mIGFkYXB0aXZlKDApIGluIHRoZSBhZG1p bmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zCiAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWlu YWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMKICAgICAgIHBsYWNlZCBi eSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgQ29uc3RlbGxhdGlvbjEgYml0cyBpbiB0aGUgMkIg Z2VuZXJhbAogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5 IDggfQoKICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRy b2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YKICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVBZG1pblByb2Zp bGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwKICAgICAgIHJlZmVy ZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0 IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcKICAgICAgIHRoaXMgb2Jq ZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJwogICAgICAg YWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9CgoKICAgZWZtQ3VQ bWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBF Zm1DdVBtZTJCc01vZGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSwg dG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRzCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3IKICAgICAg IDJCQVNFLVRMIFBNRXMsIGRlc2NyaWJpbmcgc3BlY3RyYWwgbGltaXRhdGlvbnMgaW4gYWRkaXRp b24gdG8KICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBlZm1DdVBtZTJCUmVnaW9uLgoKICAgICAg IFNvbWUgY291bnRyaWVzIHNwZWN0cmFsIHJlZ3VsYXRpb25zIChlLmcuIFVLIEFORlApIGxpbWl0 IHRoZQogICAgICAgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLiBU aGlzIHRhYmxlIGFsbG93cwogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9u cyB0byBiZSBzcGVjaWZpZWQuCgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5j ZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRp bCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBU aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJlZm1DdTJCUmVhY2hSYXRlVGFibGUiCiAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9CgogICBlZm1DdVBtZTJCc01vZGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJF YWNoIGVudHJ5IHNwZWNpZmllcyBzcGVjdHJhbCBtb2RlIGRlc2NyaXB0aW9uIGFuZCBpdHMgaW5k ZXgsCiAgICAgICB3aGljaCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBjb3JyZXNwb25kaW5nIGVudHJp ZXMgaW4gdGhlCiAgICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuCiAgICAgICAKICAgICAgIEVu dHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAg ICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIgogICAg IElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9k ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9CiAgICAgU0VRVUVOQ0Ugewog ICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzCiAgICAgfQoK ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJh bCBNb2RlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3Nv Y2lhdGVkIHdpdGggdGhpcyBzcGVjdHJhbAogICAgICAgbW9kZS4KICAgICAgIEVudHJpZXMgaW4g dGhpcyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICBvYmpl Y3QuIgogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQnNN b2RlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcKICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlv biBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIHNwZWN0cmFsIG1vZGUuIFRoZSBzdHJpbmcgbWF5 IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgIGNvcnJlc3BvbmRpbmcgKGNvdW50cnkt c3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1p dGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iCiAgICAgOjo9IHsgZWZt Q3VQbWUyQnNNb2RlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRo aXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YK ICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBlciB0 aGUgc2VtYW50aWNzCiAgICAgICBvZiBSb3dTdGF0dXMuCgogICAgICAgSWYgYW4gJ2FjdGl2ZScg ZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgIGVudHJ5 IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLgoK ICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4gSW4gb3JkZXIg dG8gbW9kaWZ5IGFuCiAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBv ZiBzZXJ2aWNlIChieSBzZXR0aW5nCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90SW5TZXJ2aWNl JyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScKICAgICAgIGFnYWluLiIKICAgICA6Oj0geyBl Zm1DdVBtZTJCc01vZGVFbnRyeSAzIH0KCgogICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JK RUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5p dGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20KICAgICAgIHNwZWN0cmFsIG1vZGVzIGZvciAy QkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwKICAgICAgIGxpbWl0YXRpb25zIGluIGFk ZGl0aW9uIHRvIHRob3NlIHNwZWNpZmllZCBieQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAg ICAgICBUaGUgc3BlY3RyYWwgcmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsg QU5GUCkKICAgICAgIGxpbWl0IHRoZSBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRh dGEgcmF0ZXMuCiAgICAgICBUaGlzIHRhYmxlIGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmlj IGxpbWl0YXRpb25zIHRvIGJlCiAgICAgICBzcGVjaWZpZWQuCgogICAgICAgQmVsb3cgaXMgYW4g ZXhhbXBsZSBvZiB0aGlzIHRhYmxlIGZvciBbQU5GUF06CiAgICAgICAtLS0tLS0tLS0tKy0tLS0t LS0rLS0tLS0tLSsKICAgICAgIEVxdWl2YWxlbnQgTWF4UmF0ZSBNYXhSYXRlCiAgICAgICAgIExl bmd0aCAgICBQQU0xNiAgIFBBTTMyCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQog ICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgOTc1ICAgICAgMjMw NCAgICA1Njk2CiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0CiAgICAgICAgICAxMjc1 ICAgICAgMjMwNCAgICA1MTIwCiAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0CiAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0CiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0 Mjg4CiAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4CiAgICAgICAgICAxNjUwICAgICAg MjMwNCAgICAzNzc2CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwCiAgICAgICAgICAx ODAwICAgICAgMjMwNCAgICAzMjY0CiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyCiAg ICAgICAgICAxOTUwICAgICAgMjA0OCAgICAyNjg4CiAgICAgICAgICAyMTAwICAgICAgMTc5MiAg ICAyMzY4CiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwCiAgICAgICAgICAyNDAwICAg ICAgMTQwOCAgICAgICAwCiAgICAgICAgICAyNTUwICAgICAgMTI4MCAgICAgICAwCiAgICAgICAg ICAyNzc1ICAgICAgMTE1MiAgICAgICAwCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAw CiAgICAgICAgICAzMTUwICAgICAgMTA4OCAgICAgICAwCiAgICAgICAgICAzMzc1ICAgICAgMTAy NCAgICAgICAwCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsgICAgICAgCgogICAg ICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9k ZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVu Y2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbQU5G UF0iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgNCB9CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50 cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkK ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJB U0UtVEwgUE1FIGRhdGEgcmF0ZXMKICAgICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFs ZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVzaW5nIAogICAgICAgMTYtVENQQU0gb3IgMzItVENQQU0g ZW5jb2RpbmcuCgogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBk YXRhIHJhdGUgTVVTVCBOT1QKICAgICAgIGV4Y2VlZCBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW1p dGF0aW9uczoKICAgICAgIC0gdGhlIHZhbHVlIG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQogICAg ICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kCiAg ICAgICAgIGVmbUN1UG1lMkJQb3dlcgogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBn aXZlbiBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVu dHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxvb3AKICAgICAgICAgbGVuZ3Ro LCBlc3RpbWF0ZWQgYnkgdGhlIFBNRS4KICAgICAgIAogICAgICAgSXQgaXMgUkVDT01NRU5ERUQg dGhhdCB0aGUgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzCiAgICAgICBhcmUgYXNz aWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlCiAgICAgICBt aW5pbXVtIHZhbHVlLgoKICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2lu ZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBt ZTJSZWFjaFJhdGVSb3dTdGF0dXMuIgogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgs IGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQogICAgIFNFUVVFTkNF IHsKICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCAgICAgICAgIEVmbVByb2ZpbGVJbmRl eCwKICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiAgICAgICBVbnNpZ25lZDMyLAogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1 UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cwogICAgIH0KCiAgIGVmbUN1UG1l MkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJ bmRleAogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiMkJBU0UtVEwgY3VzdG9tIHNwZWN0cmFsIG1v ZGUgUmVhY2gtUmF0ZSB0YWJsZSBpbmRleC4KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlx dWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQogICAgIFVOSVRTICAg ICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiTWF4aW11bSBhbGxvd2VkIEVxdWl2YWxlbnQg bG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMKICAgICAgIGZvciB0aGUgc3BlY2lmaWVk IGRhdGEgcmF0ZXMuCiAgICAgICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwg MjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRl bnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4i CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUyQk1h eERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigw fDE5Mi4uNTY5NikKICAgICBVTklUUyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg Ik1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZAogICAg ICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLgogICAg ICAgVGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQg bm90IGJlCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIgogICAgIDo6PSB7IGVmbUN1UG1l MkJSZWFjaFJhdGVFbnRyeSAzIH0KCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICBPQkpF Q1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpCiAgICAgVU5J VFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBm b3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQKICAgICAgIEVxdWl2YWxlbnQgbG9vcCdz IExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJv IG1lYW5zIHRoYXQgVEMtUEFNMzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgdXNlZCBh dCB0aGlzIGRpc3RhbmNlLiIKICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9 CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgUm93U3RhdHVzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9s cyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mCiAgICAgICB0aGUgYXNzb2Np YXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQogICAgICAgZW50cnkgTVVTVCByZW1haW4g J2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2Fj dGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4K ICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5 IHNldHRpbmcKICAgICAgIHRoaXMgb2JqZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQg YW5kIHNldCAnYWN0aXZlJwogICAgICAgYWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeSA1IH0KCgogIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXAKCiAgIGVm bUN1UG1lMTBQICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9CgogICBl Zm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJU aGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMg Zm9yCiAgICAgICAxMFBhc3NUTCBQTUVzLgogICAgICAgRmlyc3QgMjIgZW50cmllcyBpbiB0aGlz IHRhYmxlIFNIQUxMIGFsd2F5cyBiZSBkZWZpbmVkIGFzCiAgICAgICBmb2xsb3dzIChzZWUgODAy LjNhaCBBbm5leCA2MkIuMyk6CiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0t Ky0tLS0tKy0tLS0tLS0tLS0tLQogICAgICAgUHJvZmlsZSBCYW5kcGxhbiBVUEJPIEJhbmROb3Rj aCBEUmF0ZSBVUmF0ZQogICAgICAgIEluZGV4ICBQU0RNYXNrIyAgcCMgICAgcCMgICAgICAgIHAj ICAgIHAjCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0t LS0tLS0tLQogICAgICAgICAgMSAgICAgIDEgICAgICAzICAgIDIsNiwxMCwxMSAgICAyMCAgICAy MChkZWZhdWx0KQogICAgICAgICAgMiAgICAgMTMgICAgICA1ICAgIDAgICAgICAgICAgICAyMCAg ICAyMAogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAgICAgICAgICAgICAyMCAgICAyMAog ICAgICAgICAgNCAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgIDEwMCAgIDEwMAogICAgICAg ICAgNSAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgICA3MCAgICA1MAogICAgICAgICAgNiAg ICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAgICAxMAogICAgICAgICAgNyAgICAgMTcg ICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAzMAogICAgICAgICAgOCAgICAgIDggICAgICAw ICAgIDAgICAgICAgICAgICAzMCAgICAgNQogICAgICAgICAgOSAgICAgIDQgICAgICAwICAgIDAg ICAgICAgICAgICAyNSAgICAyNQogICAgICAgICAxMCAgICAgIDQgICAgICAwICAgIDAgICAgICAg ICAgICAxNSAgICAxNQogICAgICAgICAxMSAgICAgMjMgICAgICAwICAgIDAgICAgICAgICAgICAx MCAgICAxMAogICAgICAgICAxMiAgICAgMjMgICAgICAwICAgIDAgICAgICAgICAgICAgNSAgICAg NQogICAgICAgICAxMyAgICAgMTYgICAgICAwICAgIDIsNSw5LDExICAgIDEwMCAgIDEwMAogICAg ICAgICAxNCAgICAgMTYgICAgICAwICAgIDIsNSw5LDExICAgICA3MCAgICA1MAogICAgICAgICAx NSAgICAgIDYgICAgICAwICAgIDIsNiwxMCwxMSAgICA1MCAgICAxMAogICAgICAgICAxNiAgICAg MTcgICAgICAwICAgIDIsNSw5LDExICAgICAzMCAgICAzMAogICAgICAgICAxNyAgICAgIDggICAg ICAwICAgIDIsNiwxMCwxMSAgICAzMCAgICAgNQogICAgICAgICAxOCAgICAgIDQgICAgICAwICAg IDIsNiwxMCwxMSAgICAyNSAgICAyNQogICAgICAgICAxOSAgICAgIDQgICAgICAwICAgIDIsNiwx MCwxMSAgICAxNSAgICAxNQogICAgICAgICAyMCAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAg ICAxMCAgICAxMAogICAgICAgICAyMSAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAgICAgNSAg ICAgNQogICAgICAgICAyMiAgICAgMzAgICAgICAwICAgIDAgICAgICAgICAgIDIwMCAgICA1MAoK ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBh Z2VudAogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgogICAg ICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3Jl YXRlZCBhbmQKICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0aXZl IChjb25maWd1cmF0aW9uKQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcg cHJvZmlsZXMuCgogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy Qi4zLCAzMC4xMS4yLjEuNiIKICAgICA6Oj0geyBlZm1DdVBtZTEwUCAgMSB9CgogICBlZm1DdVBt ZTEwUFByb2ZpbGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMTBQ UHJvZmlsZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3Bv bmRzIHRvIGEgc2luZ2xlIDEwUEFTUy1UUyBQTUUKICAgICAgIHByb2ZpbGUuCiAgICAgICBFYWNo IHByb2ZpbGUgY29udGFpbnMgYSBzZXQgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yCiAg ICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9mIGEgMTBQQVNTLVRTIFBNRS4g IAogICAgICAgSW4gY2FzZSBhIHBhcnRpY3VsYXIgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYQog ICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgb2JqZWN0IChvciBlZm1DdUFkbWluUHJvZmlsZSBp ZgogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUg ZGVzaXJlZAogICAgICAgcGFyYW1ldGVycyB0aGUgMTBQYXNzVFMtTyBQTUUgaW5pdGlhbGl6YXRp b24uCiAgICAgICBJZiBhIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJv ZmlsZSBvYmplY3QsCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFt ZXRlcnMgb2YgdGhlIFBNRS4KCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVk IHVzaW5nIHRoZSByb3cgY3JlYXRpb24vCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVm bUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4KICAgICAgICdhY3RpdmUnIGVudHJ5IGlz IHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJwogICAgICAgdW50aWwg YWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCiAgICAgICBEZWZhdWx0IGVudHJpZXMgTVVTVCBO T1QgYmUgcmVtb3ZlZC4iCiAgICAgSU5ERVggeyBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCB9CiAg ICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgMSB9CgogICBFZm1DdVBtZTEwUFByb2Zp bGVFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRl eCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVz Y3IgICAgICAgICAgIFNubXBBZG1pblN0cmluZywKICAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5Q U0RNc2tQcm9maWxlICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJv ZmlsZSAgIElOVEVHRVIsCiAgICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzICAgICAg QklUUywKICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSAgICBJTlRFR0VSLAog ICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICAgIElOVEVHRVIsCiAgICAgICBl Zm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgICAgICAgUm93U3RhdHVzCiAgICAgfQoKICAgZWZt Q3VQbWUxMFBQcm9maWxlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Qcm9m aWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjEwUEFTUy1UUyBQTUUgUHJvZmlsZSBJ bmRleC4KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3 aXRoIHRoaXMgcHJvZmlsZS4KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVmZXJl bmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxl LiIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAxIH0KCiAgIGVmbUN1UG1lMTBQ UHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU25tcEFkbWluU3RyaW5n CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJBIHRleHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3Jt YXRpb24gYWJvdXQgMTBQQVNTLVRTIFBNRQogICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkg aW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUKICAgICAgIGFuZCBzcGVjdHJhbCBs aW1pdGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iCiAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgMiB9CgogICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNETXNrUHJvZmls ZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggIElOVEVHRVIgewogICAgICAgcHJvZmlsZTEoMSks CiAgICAgICBwcm9maWxlMigyKSwKICAgICAgIHByb2ZpbGUzKDMpLAogICAgICAgcHJvZmlsZTQo NCksCiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHByb2ZpbGU2KDYpLAogICAgICAgcHJvZmls ZTcoNyksCiAgICAgICBwcm9maWxlOCg4KSwKICAgICAgIHByb2ZpbGU5KDkpLAogICAgICAgcHJv ZmlsZTEwKDEwKSwKICAgICAgIHByb2ZpbGUxMSgxMSksCiAgICAgICBwcm9maWxlMTIoMTIpLAog ICAgICAgcHJvZmlsZTEzKDEzKSwKICAgICAgIHByb2ZpbGUxNCgxNCksCiAgICAgICBwcm9maWxl MTUoMTUpLAogICAgICAgcHJvZmlsZTE2KDE2KSwKICAgICAgIHByb2ZpbGUxNygxNyksCiAgICAg ICBwcm9maWxlMTgoMTgpLAogICAgICAgcHJvZmlsZTE5KDE5KSwKICAgICAgIHByb2ZpbGUyMCgy MCksCiAgICAgICBwcm9maWxlMjEoMjEpLAogICAgICAgcHJvZmlsZTIyKDIyKSwKICAgICAgIHBy b2ZpbGUyMygyMyksCiAgICAgICBwcm9maWxlMjQoMjQpLAogICAgICAgcHJvZmlsZTI1KDI1KSwK ICAgICAgIHByb2ZpbGUyNigyNiksCiAgICAgICBwcm9maWxlMjcoMjcpLAogICAgICAgcHJvZmls ZTI4KDI4KSwKICAgICAgIHByb2ZpbGUyOSgyOSkKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAg ICIxMFBBU1MtVFMgUE1FIEJhbmRwbGFuIGFuZCBQU0QgTWFzayBwcm9maWxlLAogICAgICAgYXMg c3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAg ICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLQogICAgICAgUHJvZmlsZSBOYW1lICAgIFBTRCBNYXNrICAgICAgICAgICAgICAgICAg QmFuZHMgICAgIEJhbmRwbGFuCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tCiAgICAgICBwcm9maWxlMSgxKSAgIC0gVDEu NDI0L1QtVSBQMSBGVFRDYWIuTTEgIHgvRC9VL0QvVSAgQQogICAgICAgcHJvZmlsZTIoMikgICAt IFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1V IFAxIEZUVENhYi5NMgogICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQyNC9ULVUgUDEgRlRURXgu TTIKICAgICAgIHByb2ZpbGU1KDUpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgRC9EL1Uv RC9VCiAgICAgICBwcm9maWxlNig2KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAg cHJvZmlsZTcoNykgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0yCiAgICAgICBwcm9maWxlOCg4 KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMgogICAgICAgcHJvZmlsZTkoOSkgICAtIFQxLjQy NC9ULVUgUDEgRlRUQ2FiLk0xICBVL0QvVS9EL3gKICAgICAgIHByb2ZpbGUxMCgxMCkgLSBUMS40 MjQvVC1VIFAxIEZUVEV4Lk0xCiAgICAgICBwcm9maWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBG VFRDYWIuTTIKICAgICAgIHByb2ZpbGUxMigxMikgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0yCiAg ICAgICBwcm9maWxlMTMoMTMpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEgIHgvRC9VL0QvVSAg QgogICAgICAgcHJvZmlsZTE0KDE0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CCiAgICAgICBw cm9maWxlMTUoMTUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTEKICAgICAgIHByb2ZpbGUxNigx NikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQogICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAx MDEgMjcwLTEgUGNhYi5NMgogICAgICAgcHJvZmlsZTE4KDE4KSAtIFRTMSAxMDEgMjcwLTEgUGV4 LlAxLk0yCiAgICAgICBwcm9maWxlMTkoMTkpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTIKICAg ICAgIHByb2ZpbGUyMCgyMCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgVS9EL1UvRC94CiAg ICAgICBwcm9maWxlMjEoMjEpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkIKICAgICAgIHByb2Zp bGUyMigyMikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQogICAgICAgcHJvZmlsZTIzKDIzKSAt IFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0xCiAgICAgICBwcm9maWxlMjQoMjQpIC0gVFMxIDEwMSAy NzAtMSBQY2FiLk0yCiAgICAgICBwcm9maWxlMjUoMjUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEu TTIKICAgICAgIHByb2ZpbGUyNigyNikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMgogICAgICAg cHJvZmlsZTI3KDI3KSAtIEcuOTkzLjEgRi4xLjIuMSAoVkRTTG9QT1RTKSB4L0QvVS9EL1UgIEYK ICAgICAgIHByb2ZpbGUyOCgyOCkgLSBHLjk5My4xIEYuMS4yLjIgKFZEU0xvVENNLUlTRE4pCiAg ICAgICBwcm9maWxlMjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9uKQoKICAg ICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kcGxhblBTRE1hc2tQcm9maWxlIGF0dHJp YnV0ZQogICAgICAgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gQW5uZXggNjJBLCAzMC41LjEuMS4yMiIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVF bnRyeSAzIH0KCiAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVByb2ZpbGUgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAgIHByb2ZpbGUxKDEpLAogICAgICAgcHJvZmls ZTIoMiksCiAgICAgICBwcm9maWxlMygzKSwKICAgICAgIHByb2ZpbGU0KDQpLAogICAgICAgcHJv ZmlsZTUoNSksCiAgICAgICBwcm9maWxlNig2KSwKICAgICAgIHByb2ZpbGU3KDcpLAogICAgICAg cHJvZmlsZTgoOCksCiAgICAgICBwcm9maWxlOSg5KQogICAgIH0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUG93ZXIgQmFjay1PZmYgKFVQQk8pIFJlZmVyZW5j ZSBQU0QKICAgICAgIFByb2ZpbGUsIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4g UG9zc2libGUgdmFsdWVzCiAgICAgICBhcmU6CiAgICAgICAgIHByb2ZpbGUxKDEpICAgLSBUMS40 MjQvVC1VICAgICAgICAgTm9pc2UgQSBNMQogICAgICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0 L1QtVSAgICAgICAgIE5vaXNlIEEgTTIKICAgICAgICAgcHJvZmlsZTMoMykgICAtIFQxLjQyNC9U LVUgICAgICAgICBOb2lzZSBGIE0xCiAgICAgICAgIHByb2ZpbGU0KDQpICAgLSBUMS40MjQvVC1V ICAgICAgICAgTm9pc2UgRiBNMgogICAgICAgICBwcm9maWxlNSg1KSAgIC0gRVRTSSBUUyAxMDEg MjcwLTEgIE5vaXNlIEEmQgogICAgICAgICBwcm9maWxlNig2KSAgIC0gRVRTSSBUUyAxMDEgMjcw LTEgIE5vaXNlIEMKICAgICAgICAgcHJvZmlsZTcoNykgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBO b2lzZSBECiAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2Ug RQogICAgICAgICBwcm9maWxlOSg5KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEYKCiAg ICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhVVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0cmli dXRlCiAgICAgICBpbiBDbGF1c2UgMzAuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2Fo XSBBbm5leCA2MkEuMy40LCAzMC41LjEuMS4yMyIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2Zp bGVFbnRyeSA0IH0KCiAgIGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICBCSVRTIHsKICAgICAgIHByb2ZpbGUwKDApLAogICAgICAgcHJvZmlsZTEo MSksCiAgICAgICBwcm9maWxlMigyKSwKICAgICAgIHByb2ZpbGUzKDMpLAogICAgICAgcHJvZmls ZTQoNCksCiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHByb2ZpbGU2KDYpLAogICAgICAgcHJv ZmlsZTcoNyksCiAgICAgICBwcm9maWxlOCg4KSwKICAgICAgIHByb2ZpbGU5KDkpLAogICAgICAg cHJvZmlsZTEwKDEwKSwKICAgICAgIHByb2ZpbGUxMSgxMSkKICAgICB9CiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICIxMFBBU1MtVFMgUE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2ggUHJvZmlsZSBi aXRtYXAsCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxl IHZhbHVlcyBhcmU6CiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSst LS0tLS0tLS0tLSstLS0tLS0rLS0tLS0KICAgICAgIFByb2ZpbGUgTmFtZSAgICBHLjk5MS4zICBU MS40MjQvVC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGCiAgICAgICAgICAgICAgICAgICAgICAg VGFibGUgICAgVGFibGUgICAgICBUYWJsZSAgICAgICAoTUh6KSAgKE1IeikKICAgICAgIC0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQog ICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUKICAgICAgIHByb2ZpbGUxKDEpICAgLSBG LTUgIzAxICAtICAgICAgICAgIC0gICAgICAgICAgIDEuODEwICAxLjgyNQogICAgICAgcHJvZmls ZTIoMikgICAtIDYtMiAgICAgIDE1LTEgICAgICAgMTcgICAgICAgICAgMS44MTAgIDIuMDAwCiAg ICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAgICAtICAgICAgICAgICAxLjkw NyAgMS45MTIKICAgICAgIHByb2ZpbGU0KDQpICAgLSBGLTUgIzAzICAtICAgICAgICAgIC0gICAg ICAgICAgIDMuNTAwICAzLjU3NQogICAgICAgcHJvZmlsZTUoNSkgICAtIDYtMiAgICAgIC0gICAg ICAgICAgMTcgICAgICAgICAgMy41MDAgIDMuODAwCiAgICAgICBwcm9maWxlNig2KSAgIC0gLSAg ICAgICAgMTUtMSAgICAgICAtICAgICAgICAgICAzLjUwMCAgNC4wMDAKICAgICAgIHByb2ZpbGU3 KDcpICAgLSBGLTUgIzA0ICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNzQ3ICAzLjc1NAogICAg ICAgcHJvZmlsZTgoOCkgICAtIEYtNSAjMDUgIC0gICAgICAgICAgLSAgICAgICAgICAgMy43OTEg IDMuODA1CiAgICAgICBwcm9maWxlOSg5KSAgIC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAg ICAgICA3LjAwMCAgNy4xMDAKICAgICAgIHByb2ZpbGUxMCgxMCkgLSBGLTUgIzA2ICAxNS0xICAg ICAgIC0gICAgICAgICAgIDcuMDAwICA3LjMwMAogICAgICAgcHJvZmlsZTExKDExKSAtIDYtMiAg ICAgIDE1LTEgICAgICAgMSAgICAgICAgICAgMTAuMTAwIDEwLjE1MAogICAgICAgCiAgICAgICBB bnkgY29tYmluYXRpb24gb2YgcHJvZmlsZXMgY2FuIGJlIHNwZWNpZmllZCBieSBPUmluZwogICAg ICAgaW5kaXZpZHVhbCBwcm9maWxlcywgZm9yIGV4YW1wbGUgdmFsdWUgb2YgMHgwNjIyIHNlbGVj dHMKICAgICAgIHByb2ZpbGVzIDIsNiwxMCBhbmQgMTEuCiAgICAgICAKICAgICAgIFRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIGFCYW5kTm90Y2hQcm9maWxlIGF0dHJpYnV0ZQogICAgICAgaW4gQ2xh dXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNSwg MzAuNS4xLjEuMTkiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9CgogICBl Zm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlNSg1KSwKICAgICAgIHByb2ZpbGUxMCgxMCksCiAg ICAgICBwcm9maWxlMTUoMTUpLAogICAgICAgcHJvZmlsZTIwKDIwKSwKICAgICAgIHByb2ZpbGUy NSgyNSksCiAgICAgICBwcm9maWxlMzAoMzApLAogICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAg IHByb2ZpbGU3MCg3MCksCiAgICAgICBwcm9maWxlMTAwKDEwMCkKICAgICB9CiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBheWxvYWQgUmF0ZSBQcm9maWxlLAog ICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOgogICAgICAgICBwcm9maWxlNSg1KSAgICAgICAtIDIuNSBNYnBzCiAgICAgICAgIHByb2Zp bGUxMCgxMCkgICAgIC0gNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1i cHMKICAgICAgICAgcHJvZmlsZTIwKDIwKSAgICAgLSAxMCBNYnBzCiAgICAgICAgIHByb2ZpbGUy NSgyNSkgICAgIC0gMTIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJw cwogICAgICAgICBwcm9maWxlNTAoNTApICAgICAtIDI1IE1icHMKICAgICAgICAgcHJvZmlsZTcw KDcwKSAgICAgLSAzNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcwoK ICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBhIHRhcmdldCBmb3IgdGhlIFBNRSdzIFVwc3Ry ZWFtIFBheWxvYWQKICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUgcGF5 bG9hZCByYXRlIG9mIHRoZQogICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2 ZWQgYmFzZWQgb24gdGhlIGxvb3AKICAgICAgIGVudmlyb25tZW50LCBiYW5kcGxhbiBhbmQgUFNE IG1hc2ssIHRoZSBQTUUgaW5pdGlhbGl6YXRpb24KICAgICAgIFNIQUxMIGZhaWwuCiAgICAgICAg CiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUGF5bG9hZFJhdGVQcm9maWxlVXBzdHJl YW0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuIgogICAgIFJFRkVSRU5DRQogICAgICAg Ils4MDIuM2FoXSBBbm5leCA2MkEuMy42LCAzMC41LjEuMS4yMCIKICAgICA6Oj0geyBlZm1DdVBt ZTEwUFByb2ZpbGVFbnRyeSA2IH0KCiAgIGVmbUN1UG1lMTBQUGF5bG9hZERSYXRlUHJvZmlsZSAg T0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgIHByb2ZpbGU1KDUp LAogICAgICAgcHJvZmlsZTEwKDEwKSwKICAgICAgIHByb2ZpbGUxNSgxNSksCiAgICAgICBwcm9m aWxlMjAoMjApLAogICAgICAgcHJvZmlsZTI1KDI1KSwKICAgICAgIHByb2ZpbGUzMCgzMCksCiAg ICAgICBwcm9maWxlNTAoNTApLAogICAgICAgcHJvZmlsZTcwKDcwKSwKICAgICAgIHByb2ZpbGUx MDAoMTAwKSwKICAgICAgIHByb2ZpbGUxNDAoMTQwKSwKICAgICAgIHByb2ZpbGUyMDAoMjAwKQog ICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIjEwUEFTUy1UUyBQTUUgRG93bnN0cmVhbSBQYXls b2FkIFJhdGUgUHJvZmlsZSwKICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYy QS4gUG9zc2libGUgdmFsdWVzIGFyZToKICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIuNSBN YnBzCiAgICAgICAgIHByb2ZpbGUxMCgxMCkgICAgLSA1IE1icHMKICAgICAgICAgcHJvZmlsZTE1 KDE1KSAgICAtIDcuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBNYnBzCiAg ICAgICAgIHByb2ZpbGUyNSgyNSkgICAgLSAxMi41IE1icHMKICAgICAgICAgcHJvZmlsZTMwKDMw KSAgICAtIDE1IE1icHMKICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1icHMKICAgICAg ICAgcHJvZmlsZTcwKDcwKSAgICAtIDM1IE1icHMKICAgICAgICAgcHJvZmlsZTEwMCgxMDApICAt IDUwIE1icHMKICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAtIDcwIE1icHMKICAgICAgICAgcHJv ZmlsZTIwMCgyMDApICAtIDEwMCBNYnBzCgogICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEg dGFyZ2V0IGZvciB0aGUgUE1FJ3MgRG93bnN0cmVhbQogICAgICAgUGF5bG9hZCBCaXRyYXRlIGFz IHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBheWxvYWQgcmF0ZSBvZgogICAgICAgdGhlIHNlbGVj dGVkIHByb2ZpbGUgY2Fubm90IGJlIGFjaGlldmVkIGJhc2VkIG9uIHRoZSBsb29wCiAgICAgICBl bnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9u CiAgICAgICBTSEFMTCBmYWlsLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRo ZSBhUGF5bG9hZFJhdGVQcm9maWxlRG93bnN0cmVhbQogICAgICAgYXR0cmlidXRlIGluIENsYXVz ZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMw LjUuMS4xLjIxIgogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQoKICAgZWZt Q3VQbWUxMFBQcm9maWxlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgUm93 U3RhdHVzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9scyBjcmVhdGlv biwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRy eSBpbiBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBwZXIgdGhlCiAgICAgICBzZW1hbnRpY3Mgb2Yg Um93U3RhdHVzLgoKICAgICAgIElmIGFuIGFjdGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBl Zm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRy eSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbAogICAgICAgYWxsIHJlZmVyZW5jZXMgYXJlIHJl bW92ZWQuCgogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJ biBvcmRlciB0byBtb2RpZnkgYW4KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFr ZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcKICAgICAgIHRoaXMgb2JqZWN0IHRvICdub3RJ blNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJwogICAgICAgYWdhaW4uIgogICAg IDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDggfQoKCiAgIGVmbUN1UG1lMTBQU3RhdHVz VGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTEw UFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVz IHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdSAxMFBBU1MtVFMKICAgICAgIFBNRXMgKG1vZGVt cykuCiAgICAgICAKICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2ZSBkYXRhIGZyb20gdGhl IGVxdWlwbWVudC4gQXMgc3VjaCwKICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiIKICAgICA6 Oj0geyBlZm1DdVBtZTEwUCAyIH0KCiAgIGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgT0JKRUNULVRZ UEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VT UyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgMTBQQVNTLVRTIFBNRSBTdGF0dXMgdGFi bGUuIgogICAgIEFVR01FTlRTIHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSB9CiAgICAgOjo9IHsgZWZt Q3VQbWUxMFBTdGF0dXNUYWJsZSAxIH0KCiAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkgOjo9CiAg ICAgU0VRVUVOQ0UgewogICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MgICAgIENv dW50ZXIzMiwKICAgICAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVy MzIKICAgICB9CgogICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvdW50IG9m IHJlY2VpdmVkIGFuZCBjb3JyZWN0ZWQgRkVDIGNvZGV3b3JkcyBpbiAxMFBBU1MtVFMKICAgICAg IFBNRS4KCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQTUVGRUNDb3JyZWN0ZWRCbG9ja3Mg YXR0cmlidXRlIGluCiAgICAgICBjbGF1c2UgMzAuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgIHRoZW4gdGhpcyBv YmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyBjb3JyZWN0YWJsZSBlcnJvcnMKICAgICAgIHJlZ2lz dGVyCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIg Y2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBz eXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1 ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlC LiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIyLCAzMC4xMS4yLjEu OCIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDEgfQoKICAgZWZtQ3VQbWUxMFBG RUNVbmNvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBDb3VudGVy MzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVkIEZFQyBjb2Rld29yZHMg aW4gMTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlCiAgICAgICB1bmNvcnJlY3RhYmxlLgoKICAgICAg IFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgYXR0cmlidXRl IGluCiAgICAgICBjbGF1c2UgMzAuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwKICAgICAgIHRoZW4gdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQIEZFQyB1bmNvcnJlY3RhYmxlIGVycm9ycwogICAgICAgcmVnaXN0ZXIKCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwg YW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlm Q291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAg IFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjExLjIuMS45IgogICAg IDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMiB9CgogIC0tCiAgLS0gQ29uZm9ybWFuY2Ug U3RhdGVtZW50cwogIC0tCgogICBlZm1DdUdyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6 PSB7IGVmbUN1Q29uZm9ybWFuY2UgMSB9CgogICBlZm1DdUNvbXBsaWFuY2VzIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9CgogICAtLSBPYmplY3QgR3JvdXBzCgog ICBlZm1DdUJhc2ljR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1D dVBBRlN1cHBvcnRlZCwKICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLAogICAgICAgZWZtQ3VUYXJn ZXREYXRhUmF0ZSwKICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLAogICAgICAgZWZtQ3VBZGFwdGl2 ZVNwZWN0cmEsCiAgICAgICBlZm1DdVBvcnRTaWRlLAogICAgICAgZWZtQ3VGbHRTdGF0dXMKICAg ICB9CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBj b2xsZWN0aW9uIG9mIG9iamVjdHMgcmVwcmVzZW50aW5nIG1hbmFnZW1lbnQgaW5mb3JtYXRpb24K ICAgICAgIGNvbW1vbiBmb3IgYWxsIHR5cGVzIG9mIEVGTUN1IHBvcnRzLiIKICAgICA6Oj0geyBl Zm1DdUdyb3VwcyAxIH0KCiAgIGVmbUN1UEFGR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNU UyB7CiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQsCiAgICAgICBlZm1DdVBBRkNhcGFjaXR5 LAogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHksCiAgICAgICBlZm1DdVBBRkFkbWluU3RhdGUs CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUsCiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2Nv dmVyeUNvZGUsCiAgICAgICBlZm1DdU51bVBNRXMKICAgICB9CiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3Vw cG9ydGluZyBPUFRJT05BTCBQTUUKICAgICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFu ZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1IHBvcnRzLiIKICAgICA6Oj0geyBlZm1DdUdyb3VwcyAy IH0KCiAgIGVmbUN1UEFGRXJyb3JzR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAg ICAgICBlZm1DdVBBRkluRXJyb3JzLAogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzLAog ICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzLAogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdt ZW50cywKICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzLAogICAgICAgZWZtQ3VQQUZJbkxv c3RTdGFydHMsCiAgICAgICBlZm1DdVBBRkluTG9zdEVuZHMsCiAgICAgICBlZm1DdVBBRkluT3Zl cmZsb3dzCiAgICAgfQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgog ICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1cHBvcnRpbmcgT1BUSU9OQUwgZXJyb3Ig Y291bnRlcnMKICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VH cm91cHMgMyB9CgogICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewog ICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsCiAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsCiAg ICAgICBlZm1DdVBtZUZsdFN0YXR1cywKICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQs CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwKICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUs CiAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsCiAgICAgICBlZm1DdVBtZU9wZXJQ cm9maWxlLAogICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24s CiAgICAgICBlZm1DdVBtZUxpbmVBdG4sCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuLAogICAg ICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoLAogICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9y cywKICAgICAgIGVmbUN1UG1lVENDcmNFcnJvcnMsCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVB dG4sCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbgogICAgIH0KICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBw cm92aWRpbmcgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgIGEgMkJBU0UtVEwvMTBQQVNTLVRTIFBN RS4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9CgogICBlZm1DdUFsYXJtQ29uZkdyb3VwIE9C SkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VUaHJlc2hMb3dSYXRlLAogICAg ICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUsCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVB dG4sCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSwKICAgICAgIGVmbUN1UG1l VGhyZXNoU25yTWduLAogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZSwKICAgICAg IGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUsCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls RW5hYmxlLAogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlCiAgICAgfQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgY29sbGVjdGlv biBvZiBvYmplY3RzIHN1cHBvcnRpbmcgY29uZmlndXJhdGlvbiBvZiBhbGFybQogICAgICAgdGhy ZXNob2xkcyBhbmQgbm90aWZpY2F0aW9ucyBpbiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsgZWZt Q3VHcm91cHMgNSB9CgogICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwIE5PVElGSUNBVElPTi1HUk9V UAogICAgIE5PVElGSUNBVElPTlMgewogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcsCiAgICAg ICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZywKICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcs CiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0LAogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bHVyZSwKICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQotLSAgICAgICBlZm1DdVBt ZURldmljZUZhdWx0LAotLSAgICAgICBlZm1DdVBtZUxvY2FsUG93ZXJMb3NzCiAgICAgfQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgZ3JvdXAg c3VwcG9ydHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZpY2FudCBjb25kaXRpb25zCiAgICAgICBh c3NvY2lhdGVkIHdpdGggRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDYgfQoK ICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IsCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uLAogICAg ICAgZWZtQ3VQbWUyQnNNb2RlLAogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLAogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlLAogICAgICAgZWZtQ3VQbWUyQlBvd2VyLAogICAgICAgZWZt Q3VQbWUyQkNvbnN0ZWxsYXRpb24sCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZVJvd1N0YXR1cywK ICAgICAgIGVmbUN1UG1lMkJzTW9kZURlc2NyLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlUm93U3Rh dHVzLAogICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGgsCiAgICAgICBlZm1DdVBtZTJC TWF4RGF0YVJhdGVQYW0xNiwKICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyLAogICAg ICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cwogICAgIH0KICAgICBTVEFUVVMgICAgICBj dXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0 aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0aW9uCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1 cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRzLiIKICAgICA6Oj0geyBlZm1DdUdyb3VwcyA3fQoKICAg ZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAgICAg ICBlZm1DdVBtZTEwUFByb2ZpbGVEZXNjciwKICAgICAgIGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RN c2tQcm9maWxlLAogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSwKICAgICAg IGVmbUN1UG1lMTBQQmFuZE5vdGNoUHJvZmlsZXMsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRV UmF0ZVByb2ZpbGUsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsCiAgICAg ICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICBjdXJyZW50 CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNv bnN0aXR1dGUgYSBjb25maWd1cmF0aW9uCiAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9u IG9mIDEwUEFTUy1UUyBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgOCB9CgogICBlZm1D dVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZt Q3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MsCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVj dGVkQmxvY2tzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIHN0YXR1cyBpbmZvcm1hdGlv bgogICAgICAgc3BlY2lmaWMgdG8gMTBQQVNTLVRTIFBNRXMuIgogICAgIDo6PSB7IGVmbUN1R3Jv dXBzIDkgfQoKICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMKCiAgIGVmbUN1Q29tcGxpYW5jZSBN T0RVTEUtQ09NUExJQU5DRQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElP TgogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgMkJBU0UtVEwvMTBQQVNTLVRT IGludGVyZmFjZXMuCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5h bCBjb21wbGlhbmNlIHN0YXRlbWVudHMKICAgICAgIGlzIFJFUVVJUkVEOgogICAgICAgCiAgICAg ICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50CiAgICAgICAtLS0t LS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICBJRi1NSUIgICAg ICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMKICAgICAgIEV0aGVyTGlrZS1NSUIgICAgICAgICAg ZG90M0NvbXBsaWFuY2UyCiAgICAgICBNQVUtTUlCICAgICAgICAgICAgICAgIG1hdU1vZElmQ29t cGwzCgogICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZXJuYWwgY29tcGxp YW5jZSBzdGF0ZW1lbnRzCiAgICAgICBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zIHN1 cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uCiAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhp YmxlIGNyb3NzLWNvbm5lY3QgYmV0d2VlbiB0aGUgUENTCiAgICAgICBhbmQgUE1FIHBvcnRzOgog ICAgICAgCiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50 CiAgICAgICAtLS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAg ICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgIGlmSW52Q29tcGxpYW5jZQogICAgICAgSUYtQ0FQLVNU QUNLLU1JQiAgICAgICBpZkNhcFN0YWNrQ29tcGxpYW5jZSIKICAgICAKICAgICBNT0RVTEUgIC0t IHRoaXMgbW9kdWxlCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsKICAgICAgICAgZWZtQ3VCYXNp Y0dyb3VwLAogICAgICAgICBlZm1DdVBtZUdyb3VwLAogICAgICAgICBlZm1DdUFsYXJtQ29uZkdy b3VwLAogICAgICAgICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwCiAgICAgICB9CiAgICAgICAKICAg ICAgIEdST1VQICAgICAgIGVmbUN1UG1lMkJQcm9maWxlR3JvdXAKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGlt cGxlbWVudGF0aW9ucwogICAgICAgICBzdXBwb3J0aW5nIDJCQVNFLVRMIFBoeS4iCiAgICAgICAK ICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwCiAgICAgICBERVNDUklQ VElPTgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZv ciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiIKICAg ICAgIAogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZHcm91cAogICAgICAgREVTQ1JJUFRJT04K ICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3IKICAg ICAgICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9u IChQQUYpLiIKICAgICAgIAogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZFcnJvcnNHcm91cAog ICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BU SU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucwogICAgICAgICBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdh dGlvbiBGdW5jdGlvbiAoUEFGKS4iCiAgICAgICAKICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1l MTBQU3RhdHVzR3JvdXAKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0 aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9y dGluZyAxMFBBU1MtVFMgUGh5LiIKICAgICAgIAogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVT dWJUeXBlc1N1cHBvcnRlZAogICAgICAgU1lOVEFYICAgICAgQklUUyB7CiAgICAgICAgIGllZWUy QmFzZVRMTygwKSwKICAgICAgICAgaWVlZTJCYXNlVExSKDEpLAogICAgICAgICBpZWVlMTBQYXNz VFNPKDIpLAogICAgICAgICBpZWVlMTBQYXNzVFNSKDMpCiAgICAgICB9CiAgICAgICBERVNDUklQ VElPTgogICAgICAgICAiU3VwcG9ydCBmb3IgYWxsIHN1YnR5cGVzIGlzIG5vdCByZXF1aXJlZC4g SG93ZXZlciBhdCBsZWFzdAogICAgICAgICBvbmUgdmFsdWUgU0hBTEwgYmUgc3VwcG9ydGVkIgog ICAgICAgCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZQogICAgICAgTUlO LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgICBERVNDUklQVElPTgogICAgICAgICAiV3JpdGUgYWNj ZXNzIGlzIG5vdCByZXF1aXJlZCAobmVlZGVkIG9ubHkgZm9yIFBNRXMKICAgICAgICAgc3VwcG9y dGluZyBtb3JlIHRoYW4gYSBzaW5nbGUgc3VidHlwZSwgZS5nLgogICAgICAgICBpZWVlMkJhc2VU TE8gYW5kIGllZWUyQmFzZVRMUiBvciBpZWVlMTBQYXNzVFNPIGFuZAogICAgICAgICBpZWVlMTBQ YXNzVFNSKSIKICAgICAgIAogICAgICAgT0JKRUNUICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24KICAg ICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgIldy aXRlIGFjY2VzcyBpcyBPUFRJT05BTC4gRm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MKICAg ICAgICAgdGhlIHRhcmdldCBTTlIgbWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVkQiBmb3IgMkJB U0UtVEwKICAgICAgICAgYW5kIDZkQiBmb3IgMTBQQVNTLVRTLiIKICAgICAgIAogICAgICAgT0JK RUNUICAgICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEKICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25s eQogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgIldyaXRlIGFjY2VzcyBpcyBPUFRJT05BTC4g Rm9yIFBIWXMgd2l0aG91dCB3cml0ZSBhY2Nlc3MKICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUg U0hPVUxEIGJlIGZhbHNlLiIKICAgICAgIAogICAgIDo6PSB7IGVmbUN1Q29tcGxpYW5jZXMgMSB9 CkVORAo= ------_=_NextPart_001_01C755BE.ADD5F788 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C755BE.ADD5F788-- From hubmib-bounces@ietf.org Wed Feb 21 20:10:59 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HK2U7-0000So-39; Wed, 21 Feb 2007 20:10:59 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HJzPs-0000St-Jh for hubmib@ietf.org; Wed, 21 Feb 2007 16:54:24 -0500 Received: from il-mail.actelis.net ([62.90.13.193]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HJzPc-0001o1-9C for hubmib@ietf.org; Wed, 21 Feb 2007 16:54:24 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.0.6556.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C75602.D2E66AD8" Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Wed, 21 Feb 2007 23:54:13 +0200 Message-ID: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19D1@il-mail.actelis.net> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAABLZN1QAAtQiKAAKFNj4AADNO3w From: "Edward Beili" To: "Wijnen, Bert \(Bert\)" X-Spam-Score: 0.5 (/) X-Scan-Signature: 60058f4fc8e454ca3e7e3d94159257ec X-Mailman-Approved-At: Wed, 21 Feb 2007 20:10:55 -0500 Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org This is a multi-part message in MIME format. ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; charset="windows-1255" Content-Transfer-Encoding: quoted-printable Bert, - RFC3410 is moved to Informative References - RFCs 2863, 2864, 3635, G.991.2 and G.992.1 are moved to Normative = References - I left ANFP as an Informative Reference, since it's purpose in the MIB is to serve an example. The latest version of the draft is attached together with the extracted = MIB files. I'm sending it to the internet-drafts, so it'll be published in a day or = two. Thanks for your thorough reviews, -E. > -----Original Message----- > From: Wijnen, Bert (Bert) [mailto:bwijnen@alcatel-lucent.com]=20 > Sent: Wednesday, February 21, 2007 16:51 > To: Edward Beili > Cc: Dan Romascanu (E-mail); Hub Mib > Subject: RE: [Hubmib] My review of:=20 > draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > Looks good now. One thing (I should have seen yesterday too)=20 > is that you need to move a few informative refrences to the=20 > normative references and vice versa >=20 > - I think RFC3410 is informative (it is also an informational > RFC). >=20 > - RFC2863 and RFC2864 are normative, because we IMPORT from those. >=20 > - Since we use them in REFERENCE clauses or we use profiles > from (as listed in DESCRIPTION clauses), I think that also > ANFP< but certainly 991.2 and 992.1 are normative, no? >=20 > - Since we state: > 3.4. Relation to Ethernet-Like and MAU MIB modules >=20 > The implementation of EtherLike-MIB [RFC3635] and MAU-MIB > [I-D.ietf-hubmib-rfc3636bis] is REQUIRED for the EFMCu interfaces. >=20 > We probably also better make RFC3635 a normative ref. >=20 > With that I think we would be ready. >=20 > Further, I would like to react to a few of Ed's rebuttals: >=20 > > > - But I do want you to fix SMICng reported error: > > >=20 > > > E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be > IMPORTed > > > =20 > > > since you do list that as a mandatory group. > >=20 > > [EB] ifStackGroup2 is already imported, I've fixed that in=20 > the version=20 > > I sent before. > >=20 >=20 > My appology, the error is in RFC2864, not in the EFM-CU-MIB. >=20 > > > > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > > > > and ifInvCapStackTable? In any event, pls re-check the > > > > > feedback we've got on that. I do not think that what we > > > > > currently have in the MIB module is acceptable. > > > >=20 > > > > [EB] Replaced with TruthValue. > > >=20 > > > This is much better. > > > I wonder if it would now be better to rename the object from=20 > > > ifCapStackStatus to ifCapStackCapability to better represent its=20 > > > purpose. Same for possibly renaming ifInvCapStackStatus into=20 > > > ifInvCapStackCapability. > > >=20 > > > I am not hung up on it though. > >=20 > > [EB] ifCapStack already stands for "Interface Capability Stack" -=20 > > appending "Capability" would make it "Interface Capability Stack=20 > > Capability". How about: ifCapStackAbility ? > > Or we can leave it ifCapStackStatus, to emphasize its=20 > similarity with=20 > > IfStackTable > >=20 >=20 > Your argument for consistency with ifCapStackStatus makes sense. > And as I said, I am not hung up on it. > So I am OK now. >=20 >=20 > > [EB] I've found only one table without the persistency definition > > (efmCuPme10PStatusTable) and corrected it - now all tables=20 > contain the=20 > > persistency behavior definition in the DESCRIPTION clause for the=20 > > table. > > Basically only the Status tables are non-persistent. > > Would that be satisfactory? > >=20 >=20 > Yep. >=20 > I think we made good progress. >=20 > Pls correct the references (as stated at the top of this=20 > email) and then you can submit to internet-drafts as far as I=20 > am concenrned. >=20 > Next step is then (another) W Last Call to givbe anyone a=20 > chance to look at the latest changes. >=20 > Bert >=20 ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/html; name="draft-ietf-hubmib-efm-cu-mib-07.html" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.html Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+DQo8aHRtbCBsYW5n PSJlbiI+PGhlYWQ+PHRpdGxlPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPC90aXRsZT4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9ImRlc2Ny aXB0aW9uIiBjb250ZW50PSJFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1 KSBJbnRlcmZhY2VzIE1JQiI+DQo8bWV0YSBuYW1lPSJrZXl3b3JkcyIgY29udGVudD0iTmV0d29y ayBNYW5hZ2VtZW50LCBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sLCBTTk1QLCBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UsIE1JQiwgVGV4dHVhbCBDb252ZW50aW9ucyI+DQo8 bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InhtbDJyZmMgdjEuMzIgKGh0dHA6Ly94bWwu cmVzb3VyY2Uub3JnLykiPg0KPHN0eWxlIHR5cGU9J3RleHQvY3NzJz48IS0tDQogICAgICAgIGJv ZHkgew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBjaGFyY29hbCwgaGVs dmV0aWNhLCBhcmlhbCwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBmb250LXNpemU6IHNt YWxsOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsNCiAgICAgICAgICAgICAg ICBtYXJnaW46IDJlbTsNCiAgICAgICAgfQ0KICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2 IHsNCiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLCBtb25hY28sICJNUyBT YW5zIFNlcmlmIiwgYXJpYWwsIHNhbnMtc2VyaWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWln aHQ6IGJvbGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgfQ0KICAgICAgICBoMSB7IGNv bG9yOiAjOTAwOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgdGV4dC1hbGlnbjogcmln aHQ7IH0NCiAgICAgICAgaDMgeyBjb2xvcjogIzMzMzsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNw YXJlbnQ7IH0NCg0KICAgICAgICB0ZC5SRkNidWcgew0KICAgICAgICAgICAgICAgIGZvbnQtc2l6 ZTogeC1zbWFsbDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICAgICAgICAgIHdpZHRo OiAzMHB4OyBoZWlnaHQ6IDMwcHg7IHBhZGRpbmctdG9wOiAycHg7DQogICAgICAgICAgICAgICAg dGV4dC1hbGlnbjoganVzdGlmeTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgICAgICAgICAg ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlJGQ2J1 ZyBzcGFuLlJGQyB7DQogICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1vbmFjbywgY2hhcmNv YWwsIGdlbmV2YSwgIk1TIFNhbnMgU2VyaWYiLCBoZWx2ZXRpY2EsIHZlcmRhbmEsIHNhbnMtc2Vy aWY7DQogICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNjY2Ow0KICAg ICAgICB9DQogICAgICAgIHRkLlJGQ2J1ZyBzcGFuLmhvdFRleHQgew0KICAgICAgICAgICAgICAg IGZvbnQtZmFtaWx5OiBjaGFyY29hbCwgbW9uYWNvLCBnZW5ldmEsICJNUyBTYW5zIFNlcmlmIiwg aGVsdmV0aWNhLCB2ZXJkYW5hLCBzYW5zLXNlcmlmOw0KICAgICAgICAgICAgICAgIGZvbnQtd2Vp Z2h0OiBub3JtYWw7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNGRkY7DQogICAgICAgIH0N Cg0KICAgICAgICB0YWJsZS5UT0NidWcgeyB3aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4OyB9DQog ICAgICAgIHRkLlRPQ2J1ZyB7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB3 aWR0aDogMzBweDsgaGVpZ2h0OiAxNXB4Ow0KICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGOyBi YWNrZ3JvdW5kLWNvbG9yOiAjOTAwOw0KICAgICAgICB9DQogICAgICAgIHRkLlRPQ2J1ZyBhIHsN CiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbW9uYWNvLCBjaGFyY29hbCwgZ2VuZXZhLCAi TVMgU2FucyBTZXJpZiIsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsNCiAgICAgICAgICAgICAgICBm b250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiB4LXNtYWxsOyB0ZXh0LWRlY29yYXRpb246IG5v bmU7DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5z cGFyZW50Ow0KICAgICAgICB9DQoNCiAgICAgICAgdGQuaGVhZGVyIHsNCiAgICAgICAgICAgICAg ICBmb250LWZhbWlseTogYXJpYWwsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiB4 LXNtYWxsOw0KICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IHdpZHRoOiAzMyU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM2NjY7DQog ICAgICAgIH0NCiAgICAgICAgdGQuYXV0aG9yIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IGZvbnQtc2l6 ZTogeC1zbWFsbDsgbWFyZ2luLWxlZnQ6IDRlbTsgfQ0KICAgICAgICB0ZC5hdXRob3ItdGV4dCB7 IGZvbnQtc2l6ZTogeC1zbWFsbDsgfQ0KDQogICAgICAgIC8qIGluZm8gY29kZSBmcm9tIFNhbnRh S2xhdXNzIGF0IGh0dHA6Ly93d3cubWFkYWJvdXRzdHlsZS5jb20vdG9vbHRpcDIuaHRtbCAqLw0K ICAgICAgICBhLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoaXMgaXMgdGhlIGtleS4gKi8N CiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgICAgICAgICAgei1p bmRleDogMjQ7DQogICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAg ICB9DQogICAgICAgIGEuaW5mbzpob3ZlciB7DQogICAgICAgICAgICAgICAgei1pbmRleDogMjU7 DQogICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7IGJhY2tncm91bmQtY29sb3I6ICM5MDA7DQog ICAgICAgIH0NCiAgICAgICAgYS5pbmZvIHNwYW4geyBkaXNwbGF5OiBub25lOyB9DQogICAgICAg IGEuaW5mbzpob3ZlciBzcGFuLmluZm8gew0KICAgICAgICAgICAgICAgIC8qIFRoZSBzcGFuIHdp bGwgZGlzcGxheSBqdXN0IG9uIDpob3ZlciBzdGF0ZS4gKi8NCiAgICAgICAgICAgICAgICBkaXNw bGF5OiBibG9jazsNCiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAg ICAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyOw0KICAgICAgICAgICAgICAgIHRvcDogMmVtOyBs ZWZ0OiAtNWVtOyB3aWR0aDogMTVlbTsNCiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7IGJv cmRlcjogMXB4IHNvbGlkICMzMzM7DQogICAgICAgICAgICAgICAgY29sb3I6ICM5MDA7IGJhY2tn cm91bmQtY29sb3I6ICNFRUU7DQogICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAg ICAgICAgfQ0KDQogICAgICAgIGEgeyBmb250LXdlaWdodDogYm9sZDsgfQ0KICAgICAgICBhOmxp bmsgICAgeyBjb2xvcjogIzkwMDsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0NCiAg ICAgICAgYTp2aXNpdGVkIHsgY29sb3I6ICM2MzM7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFy ZW50OyB9DQogICAgICAgIGE6YWN0aXZlICB7IGNvbG9yOiAjNjMzOyBiYWNrZ3JvdW5kLWNvbG9y OiB0cmFuc3BhcmVudDsgfQ0KDQogICAgICAgIHAgeyBtYXJnaW4tbGVmdDogMmVtOyBtYXJnaW4t cmlnaHQ6IDJlbTsgfQ0KICAgICAgICBwLmNvcHlyaWdodCB7IGZvbnQtc2l6ZTogeC1zbWFsbDsg fQ0KICAgICAgICBwLnRvYyB7IGZvbnQtc2l6ZTogc21hbGw7IGZvbnQtd2VpZ2h0OiBib2xkOyBt YXJnaW4tbGVmdDogM2VtOyB9DQogICAgICAgIHRhYmxlLnRvYyB7IG1hcmdpbjogMCAwIDAgM2Vt OyBwYWRkaW5nOiAwOyBib3JkZXI6IDA7IHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfQ0KICAg ICAgICB0ZC50b2MgeyBmb250LXNpemU6IHNtYWxsOyBmb250LXdlaWdodDogYm9sZDsgdmVydGlj YWwtYWxpZ246IHRleHQtdG9wOyB9DQoNCiAgICAgICAgb2wudGV4dCB7IG1hcmdpbi1sZWZ0OiAy ZW07IG1hcmdpbi1yaWdodDogMmVtOyB9DQogICAgICAgIHVsLnRleHQgeyBtYXJnaW4tbGVmdDog MmVtOyBtYXJnaW4tcmlnaHQ6IDJlbTsgfQ0KICAgICAgICBsaSAgICAgIHsgbWFyZ2luLWxlZnQ6 IDNlbTsgfQ0KDQogICAgICAgIC8qIFJGQy0yNjI5IDxzcGFueD5zIGFuZCA8YXJ0d29yaz5zLiAq Lw0KICAgICAgICBlbSAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH0NCiAgICAgICAgc3Ryb25n IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0NCiAgICAgICAgZGZuICAgIHsgZm9udC13ZWlnaHQ6IGJv bGQ7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQ0KICAgICAgICBjaXRlICAgeyBmb250LXdlaWdodDog bm9ybWFsOyBmb250LXN0eWxlOiBub3JtYWw7IH0NCiAgICAgICAgdHQgICAgIHsgY29sb3I6ICMw MzY7IH0NCiAgICAgICAgdHQsIHByZSwgcHJlIGRmbiwgcHJlIGVtLCBwcmUgY2l0ZSwgcHJlIHNw YW4gew0KICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVy LCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogc21hbGw7DQogICAgICAgIH0NCiAgICAgICAgcHJlIHsN CiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nOiA0cHg7DQogICAgICAg ICAgICAgICAgY29sb3I6ICMwMDA7IGJhY2tncm91bmQtY29sb3I6ICNDQ0M7DQogICAgICAgIH0N CiAgICAgICAgcHJlIGRmbiAgeyBjb2xvcjogIzkwMDsgfQ0KICAgICAgICBwcmUgZW0gICB7IGNv bG9yOiAjNjZGOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDOyBmb250LXdlaWdodDogbm9ybWFsOyB9 DQogICAgICAgIHByZSAua2V5IHsgY29sb3I6ICMzM0M7IGZvbnQtd2VpZ2h0OiBib2xkOyB9DQog ICAgICAgIHByZSAuaWQgIHsgY29sb3I6ICM5MDA7IH0NCiAgICAgICAgcHJlIC5zdHIgeyBjb2xv cjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0NGRjsgfQ0KICAgICAgICBwcmUgLnZhbCB7IGNv bG9yOiAjMDY2OyB9DQogICAgICAgIHByZSAucmVwIHsgY29sb3I6ICM5MDk7IH0NCiAgICAgICAg cHJlIC5vdGggeyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjsgfQ0KICAgICAg ICBwcmUgLmVyciB7IGJhY2tncm91bmQtY29sb3I6ICNGQ0M7IH0NCg0KICAgICAgICAvKiBSRkMt MjYyOSA8dGV4dHRhYmxlPnMuICovDQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCwgdGFi bGUuaGVhZGVycywgdGFibGUubm9uZSB7DQogICAgICAgICAgICAgICAgZm9udC1zaXplOiBzbWFs bDsgdGV4dC1hbGlnbjogY2VudGVyOyBib3JkZXItd2lkdGg6IDJweDsNCiAgICAgICAgICAgICAg ICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KICAgICAg ICB9DQogICAgICAgIHRhYmxlLmFsbCwgdGFibGUuZnVsbCB7IGJvcmRlci1zdHlsZTogc29saWQ7 IGJvcmRlci1jb2xvcjogYmxhY2s7IH0NCiAgICAgICAgdGFibGUuaGVhZGVycywgdGFibGUubm9u ZSB7IGJvcmRlci1zdHlsZTogbm9uZTsgfQ0KICAgICAgICB0aCB7DQogICAgICAgICAgICAgICAg Zm9udC13ZWlnaHQ6IGJvbGQ7IGJvcmRlci1jb2xvcjogYmxhY2s7DQogICAgICAgICAgICAgICAg Ym9yZGVyLXdpZHRoOiAycHggMnB4IDNweCAycHg7DQogICAgICAgIH0NCiAgICAgICAgdGFibGUu YWxsIHRoLCB0YWJsZS5mdWxsIHRoIHsgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfQ0KICAgICAgICB0 YWJsZS5oZWFkZXJzIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lIG5vbmUgc29saWQgbm9uZTsgfQ0K ICAgICAgICB0YWJsZS5ub25lIHRoIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQogICAgICAgIHRh YmxlLmFsbCB0ZCB7DQogICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgYm9yZGVy LWNvbG9yOiAjMzMzOw0KICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDJweDsNCiAg ICAgICAgfQ0KICAgICAgICB0YWJsZS5mdWxsIHRkLCB0YWJsZS5oZWFkZXJzIHRkLCB0YWJsZS5u b25lIHRkIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9DQoNCiAgICAgICAgaHIgeyBoZWlnaHQ6IDFw eDsgfQ0KICAgICAgICBoci5pbnNlcnQgew0KICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7IGJv cmRlci1zdHlsZTogbm9uZTsgYm9yZGVyLXdpZHRoOiAwOw0KICAgICAgICAgICAgICAgIGNvbG9y OiAjQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDOw0KICAgICAgICB9DQotLT48L3N0eWxlPg0K PC9oZWFkPg0KPGJvZHk+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIg Y2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFz cz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwv dGFibGU+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiB3aWR0aD0iNjYlIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+PHRyPjx0ZD48dGFibGUgc3VtbWFyeT0ibGF5 b3V0IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9 IjEiPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5OZXR3b3JrIFdvcmtpbmcgR3JvdXA8L3RkPjx0 ZCBjbGFzcz0iaGVhZGVyIj5FLiBCZWlsaTwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImhlYWRl ciI+SW50ZXJuZXQtRHJhZnQ8L3RkPjx0ZCBjbGFzcz0iaGVhZGVyIj5BY3RlbGlzIE5ldHdvcmtz PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5JbnRlbmRlZCBzdGF0dXM6IFN0YW5k YXJkcyBUcmFjazwvdGQ+PHRkIGNsYXNzPSJoZWFkZXIiPkZlYnJ1YXJ5IDIxLCAyMDA3PC90ZD48 L3RyPg0KPHRyPjx0ZCBjbGFzcz0iaGVhZGVyIj5FeHBpcmVzOiBBdWd1c3QgMjUsIDIwMDc8L3Rk Pjx0ZCBjbGFzcz0iaGVhZGVyIj4mbmJzcDs8L3RkPjwvdHI+DQo8L3RhYmxlPjwvdGQ+PC90cj48 L3RhYmxlPg0KPGgxPjxiciAvPkV0aGVybmV0IGluIHRoZSBGaXJzdCBNaWxlIENvcHBlciAoRUZN Q3UpIEludGVyZmFjZXMgTUlCPGJyIC8+ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50 eHQ8L2gxPg0KDQo8aDM+U3RhdHVzIG9mIHRoaXMgTWVtbzwvaDM+DQo8cD4NCkJ5IHN1Ym1pdHRp bmcgdGhpcyBJbnRlcm5ldC1EcmFmdCwNCmVhY2ggYXV0aG9yIHJlcHJlc2VudHMgdGhhdCBhbnkg YXBwbGljYWJsZSBwYXRlbnQgb3Igb3RoZXIgSVBSIGNsYWltcyBvZiB3aGljaA0KaGUgb3Igc2hl IGlzIGF3YXJlIGhhdmUgYmVlbiBvciB3aWxsIGJlIGRpc2Nsb3NlZCwNCmFuZCBhbnkgb2Ygd2hp Y2ggaGUgb3Igc2hlIGJlY29tZXMgYXdhcmUgd2lsbCBiZSBkaXNjbG9zZWQsDQppbiBhY2NvcmRh bmNlIHdpdGggU2VjdGlvbiZuYnNwOzYgb2YgQkNQJm5ic3A7NzkuPC9wPg0KPHA+DQpJbnRlcm5l dC1EcmFmdHMgYXJlIHdvcmtpbmcgZG9jdW1lbnRzIG9mIHRoZSBJbnRlcm5ldCBFbmdpbmVlcmlu Zw0KVGFzayBGb3JjZSAoSUVURiksIGl0cyBhcmVhcywgYW5kIGl0cyB3b3JraW5nIGdyb3Vwcy4N Ck5vdGUgdGhhdCBvdGhlciBncm91cHMgbWF5IGFsc28gZGlzdHJpYnV0ZSB3b3JraW5nIGRvY3Vt ZW50cyBhcw0KSW50ZXJuZXQtRHJhZnRzLjwvcD4NCjxwPg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBk cmFmdCBkb2N1bWVudHMgdmFsaWQgZm9yIGEgbWF4aW11bSBvZiBzaXggbW9udGhzDQphbmQgbWF5 IGJlIHVwZGF0ZWQsIHJlcGxhY2VkLCBvciBvYnNvbGV0ZWQgYnkgb3RoZXIgZG9jdW1lbnRzIGF0 IGFueSB0aW1lLg0KSXQgaXMgaW5hcHByb3ByaWF0ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFz IHJlZmVyZW5jZSBtYXRlcmlhbCBvciB0byBjaXRlDQp0aGVtIG90aGVyIHRoYW4gYXMgJmxkcXVv O3dvcmsgaW4gcHJvZ3Jlc3MuJnJkcXVvOzwvcD4NCjxwPg0KVGhlIGxpc3Qgb2YgY3VycmVudCBJ bnRlcm5ldC1EcmFmdHMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8vd3d3Lmll dGYub3JnL2lldGYvMWlkLWFic3RyYWN0cy50eHQnPmh0dHA6Ly93d3cuaWV0Zi5vcmcvaWV0Zi8x aWQtYWJzdHJhY3RzLnR4dDwvYT4uPC9wPg0KPHA+DQpUaGUgbGlzdCBvZiBJbnRlcm5ldC1EcmFm dCBTaGFkb3cgRGlyZWN0b3JpZXMgY2FuIGJlIGFjY2Vzc2VkIGF0DQo8YSBocmVmPSdodHRwOi8v d3d3LmlldGYub3JnL3NoYWRvdy5odG1sJz5odHRwOi8vd3d3LmlldGYub3JnL3NoYWRvdy5odG1s PC9hPi48L3A+DQo8cD4NClRoaXMgSW50ZXJuZXQtRHJhZnQgd2lsbCBleHBpcmUgb24gQXVndXN0 IDI1LCAyMDA3LjwvcD4NCg0KPGgzPkNvcHlyaWdodCBOb3RpY2U8L2gzPg0KPHA+DQpDb3B5cmln aHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQoNCjxoMz5BYnN0cmFjdDwvaDM+ DQoNCjxwPg0KICAgVGhpcyBkb2N1bWVudCBkZWZpbmVzIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24g QmFzZSAoTUlCKSBtb2R1bGVzIGZvcg0KICAgdXNlIHdpdGggbmV0d29yayBtYW5hZ2VtZW50IHBy b3RvY29scyBpbiBUQ1AvSVAgYmFzZWQgaW50ZXJuZXRzLg0KICAgVGhpcyBkb2N1bWVudCBkZXNj cmliZXMgZXh0ZW5zaW9ucyB0byB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZhY2VzDQogICBNSUIg YW5kIE1BVSBNSUIgbW9kdWxlcyB3aXRoIGEgc2V0IG9mIG9iamVjdHMgZm9yIG1hbmFnaW5nDQog ICBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBpbnRlcmZhY2VzDQog ICAxMFBBU1MtVFMgYW5kIDJCQVNFLVRMLCBkZWZpbmVkIGluIElFRUUgU3RkIDgwMi4zYWgtMjAw NC4NCiAgIEluIGFkZGl0aW9uIGEgc2V0IG9mIG9iamVjdHMgaXMgZGVmaW5lZCwgZGVzY3JpYmlu ZyBjcm9zcy1jb25uZWN0DQogICBjYXBhYmlsaXR5IG9mIGEgbWFuYWdlZCBkZXZpY2Ugd2l0aCBt dWx0aS1sYXllciAoc3RhY2tlZCkgaW50ZXJmYWNlcywNCiAgIGV4dGVuZGluZyB0aGUgc3RhY2sg bWFuYWdlbWVudCBvYmplY3RzIGluIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQg0KICAgYW5kIHRo ZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBNSUIgbW9kdWxlcy4gDQogIA0KPC9wPjxhIG5hbWU9InRv YyI+PC9hPjxiciAvPjxociAvPg0KPGgzPlRhYmxlIG9mIENvbnRlbnRzPC9oMz4NCjxwIGNsYXNz PSJ0b2MiPg0KPGEgaHJlZj0iI2FuY2hvcjEiPjEuPC9hPiZuYnNwOw0KSW50cm9kdWN0aW9uPGJy IC8+DQo8YSBocmVmPSIjYW5jaG9yMiI+Mi48L2E+Jm5ic3A7DQpUaGUgSW50ZXJuZXQtU3RhbmRh cmQgTWFuYWdlbWVudCBGcmFtZXdvcms8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IzIj4zLjwvYT4m bmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzPGJyIC8+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNCI+My4xLjwvYT4mbmJzcDsNClJlbGF0aW9uIHRv IEludGVyZmFjZXMgR3JvdXAgTUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjUiPjMuMS4xLjwvYT4m bmJzcDsNCkxheWVyaW5nIE1vZGVsPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNiI+My4xLjIuPC9hPiZuYnNwOw0K UE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpPGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yNyI+My4xLjMuPC9h PiZuYnNwOw0KRGlzY292ZXJ5IE9wZXJhdGlvbjxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hvcjgiPjMuMS40LjwvYT4m bmJzcDsNCkVGTUN1IHBvcnRzIGluaXRpYWxpemF0aW9uPGJyIC8+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yOSI+My4xLjUu PC9hPiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7PGEgaHJlZj0iI2FuY2hvcjEwIj4zLjIuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wg TUlCIG1vZHVsZTxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEgaHJlZj0iI2FuY2hv cjExIj4zLjMuPC9hPiZuYnNwOw0KUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlPGJyIC8+DQom bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTIiPjMuNC48L2E+Jm5ic3A7 DQpSZWxhdGlvbiB0byBFdGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXM8YnIgLz4NCjxh IGhyZWY9IiNhbmNob3IxMyI+NC48L2E+Jm5ic3A7DQpNSUIgU3RydWN0dXJlPGJyIC8+DQombmJz cDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIjYW5jaG9yMTQiPjQuMS48L2E+Jm5ic3A7DQpF Rk0gQ29wcGVyIE1JQiBPdmVydmlldzxiciAvPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7PGEg aHJlZj0iI2FuY2hvcjE1Ij40LjIuPC9hPiZuYnNwOw0KSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxp dHkgTUlCIE92ZXJ2aWV3PGJyIC8+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDs8YSBocmVmPSIj YW5jaG9yMTYiPjQuMy48L2E+Jm5ic3A7DQpQTUUgUHJvZmlsZXM8YnIgLz4NCiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNhbmNob3IxNyI+NC40LjwvYT4mbmJzcDsNCk1hcHBpbmcg b2YgSUVFRSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE4 Ij41LjwvYT4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmlsaXR5IE1JQiBEZWZpbml0aW9u czxiciAvPg0KPGEgaHJlZj0iI2FuY2hvcjE5Ij42LjwvYT4mbmJzcDsNCkVGTSBDb3BwZXIgTUlC IERlZmluaXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjAiPjcuPC9hPiZuYnNwOw0KU2Vj dXJpdHkgQ29uc2lkZXJhdGlvbnM8YnIgLz4NCjxhIGhyZWY9IiNhbmNob3IyMSI+OC48L2E+Jm5i c3A7DQpJQU5BIENvbnNpZGVyYXRpb25zPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjIiPjkuPC9h PiZuYnNwOw0KQWNrbm93bGVkZ21lbnRzPGJyIC8+DQo8YSBocmVmPSIjYW5jaG9yMjMiPjEwLjwv YT4mbmJzcDsNCk5vdGVzIHRvIFJGQyBFZGl0b3I8YnIgLz4NCjxhIGhyZWY9IiNyZmMucmVmZXJl bmNlczEiPjExLjwvYT4mbmJzcDsNClJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOzxhIGhyZWY9IiNyZmMucmVmZXJlbmNlczEiPjExLjEuPC9hPiZuYnNwOw0KTm9ybWF0 aXZlIFJlZmVyZW5jZXM8YnIgLz4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOzxhIGhyZWY9IiNy ZmMucmVmZXJlbmNlczIiPjExLjIuPC9hPiZuYnNwOw0KSW5mb3JtYXRpdmUgUmVmZXJlbmNlczxi ciAvPg0KPGEgaHJlZj0iI3JmYy5hdXRob3JzIj4mIzE2Nzs8L2E+Jm5ic3A7DQpBdXRob3IncyBB ZGRyZXNzPGJyIC8+DQo8YSBocmVmPSIjcmZjLmNvcHlyaWdodCI+JiMxNjc7PC9hPiZuYnNwOw0K SW50ZWxsZWN0dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50czxiciAvPg0KPC9w Pg0KPGJyIGNsZWFyPSJhbGwiIC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjEiPjwvYT48aDM+MS4mbmJzcDsNCkludHJvZHVjdGlvbjwvaDM+DQoN CjxwPg0KICAgTmV3IEV0aGVybmV0LWxpa2UgaW50ZXJmYWNlcyBoYXZlIGJlZW4gZGVmaW5lZCBp biB0aGUNCiAgIEluc3RpdHV0ZSBvZiBFbGVjdHJpY2FsIGFuZCBFbGVjdHJvbmljcyBFbmdpbmVl cnMgKElFRUUpIFN0YW5kYXJkDQogICA4MDIuM2FoLTIwMDQgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyM4MDIuM2FoJz5bODAyLjNhaF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+SUVF RSwgJmxkcXVvO0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uIHRlY2hub2xvZ3kgLSAgICAg ICAgIFRlbGVjb21tdW5pY2F0aW9ucyBhbmQgaW5mb3JtYXRpb24gZXhjaGFuZ2UgYmV0d2VlbiBz eXN0ZW1zIC0gICAgICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSAg ICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtICAgICAgICAgUGFydCAzOiBDYXJyaWVyIFNl bnNlIE11bHRpcGxlIEFjY2VzcyB3aXRoIENvbGxpc2lvbiBEZXRlY3Rpb24gICAgICAgICAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLSAg ICAgICAgIEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2lj YWwgICAgICAgICBMYXllcnMgYW5kIE1hbmFnZW1lbnQgUGFyYW1ldGVycyBmb3IgU3Vic2NyaWJl ciBBY2Nlc3MgTmV0d29ya3MsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDA0Ljwvc3Bhbj48c3Bh bj4pPC9zcGFuPjwvYT4sDQogICBhLmsuYS4gRXRoZXJuZXQgaW4gdGhlIEZpcnN0IE1pbGUgKEVG TSksIHdoaWNoIGlzIG5vdyBhIHBhcnQgb2YgdGhlDQogICBiYXNlIElFRUUgU3RhbmRhcmQgODAy LjMtMjAwNSA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zJz5bODAyLjNdPHNwYW4+ICg8L3Nw YW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUsICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZv cm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9y bWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJv cG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAg ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEvQ0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2Fs IExheWVyIFNwZWNpZmljYXRpb25zLCZyZHF1bzsgRGVjZW1iZXImbmJzcDsyMDA1Ljwvc3Bhbj48 c3Bhbj4pPC9zcGFuPjwvYT4uDQogICBJbiBwYXJ0aWN1bGFyIDJCQVNFLVRMIGFuZCAxMFBBU1Mt VFMgcGh5c2ljYWwgaW50ZXJmYWNlcyAoUEhZcyksDQogICBkZWZpbmVkIG92ZXIgdm9pY2UtZ3Jh ZGUgY29wcGVyIHBhaXJzLCBoYXZlDQogICBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcgYW5k IHNob3J0IHJlYWNoIHJlc3BlY3RpdmVseS4NCiAgIFRoZXNlIGludGVyZmFjZXMsIGNvbGxlY3Rp dmVseSBjYWxsZWQgRUZNIENvcHBlciAoRUZNQ3UpLCBhcmUgYmFzZWQgb24NCiAgIFNpbmdsZS1w YWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKQ0KICAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNHLjk5MS4yJz5bRy45OTEuMl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+SVRVLVQsICZsZHF1bztTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwg U3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJzLCZyZHF1bzsgRGVjZW1iZXImbmJz cDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5kIFZlcnkgSGlnaCBzcGVlZCBEaWdp dGFsIFN1YnNjcmliZXINCiAgIExpbmUgKFZEU0wpIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjRy45 OTMuMSc+W0cuOTkzLjFdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklUVS1ULCAm bGRxdW87VmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIHRyYW5zY2VpdmVy cywmcmRxdW87IEp1bmUmbmJzcDsyMDA0Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gdGVjaG5v bG9neSwgc3VwcG9ydGluZyANCiAgIG9wdGlvbmFsIFBoeXNpY2FsIE1lZGl1bSBFbnRpdHkgKFBN RSkgYWdncmVnYXRpb24NCiAgIChhLmsuYS4gbXVsdGktcGFpciBib25kaW5nKSB3aXRoIHZhcmlh YmxlIHJhdGVzLg0KICANCjwvcD4NCjxwPg0KICAgMkJBU0UtVEwgUEhZIGlzIGNhcGFibGUgb2Yg cHJvdmlkaW5nIGF0IGxlYXN0IDJNYnBzDQogICBvdmVyIDI3MDAgbSBsb25nIHNpbmdsZSBjb3Bw ZXIgcGFpciB3aXRoIGEgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKQ0KICAgb2YgMTBeLTcgKHVz aW5nIDVkQiB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIDEwUEFTUy1U UyBQSFkgaXMgY2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXINCiAgIDc1 MCBtIGxvbmcgc2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNp bmcgNmRCDQogICB0YXJnZXQgbm9pc2UgbWFyZ2luKS4NCiAgDQo8L3A+DQo8cD4NCiAgIFRoaXMg bWVtbyBkZWZpbmVzIGEgTWFuYWdlbWVudCBJbmZvcm1hdGlvbiBCYXNlIChNSUIpIG1vZHVsZSBm b3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4gdGhlIEludGVy bmV0IA0KICAgY29tbXVuaXR5IHRvIG1hbmFnZSBFRk1DdSBpbnRlcmZhY2VzLg0KICAgSW4gYWRk aXRpb24gYSBNSUIgbW9kdWxlIGlzIGRlZmluZWQgZGVzY3JpYmluZyBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UuDQogIA0KPC9wPg0KPHA+DQogICBO b3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24sIEFkbWluaXN0cmF0aW9uIGFu ZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3ZlciBQYXNzaXZlIE9wdGljYWwg TmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAyLjNhaCBhcmUgZGVmaW5lZCBp biBFRk0tQ09NTU9OLU1JQg0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJt aWItZWZtLW1pYic+W0kmIzgyMDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtlZm0mIzgyMDk7 bWliXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5TcXVpcmUsIE0uLCAmbGRxdW87 RGVmaW5pdGlvbnMgYW5kIE1hbmFnZWQgT2JqZWN0cyBmb3IgT0FNIEZ1bmN0aW9ucyAgICAgICAg ICAgICAgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzLCZyZHF1bzsgT2N0b2JlciZuYnNwOzIw MDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgRUZNLUVQT04tTUlCDQogICA8YSBjbGFz cz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWInPltJJiM4MjA5O0Qu aWV0ZiYjODIwOTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O2Vwb24mIzgyMDk7bWliXTxzcGFuPiAo PC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5LaGVybW9zaCwgTC4sICZsZHF1bztNYW5hZ2VkIE9i amVjdHMgb2YgRVBPTiwmcmRxdW87IE5vdmVtYmVyJm5ic3A7MjAwNi48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+IHJlc3BlY3RpdmVseS4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IyIj48L2E+ PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2Vs bHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0i VE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFi bGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4yIj48L2E+PGgzPjIuJm5ic3A7DQpUaGUgSW50ZXJu ZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcms8L2gzPg0KDQo8cD4NCiAgIEZvciBhIGRl dGFpbGVkIG92ZXJ2aWV3IG9mIHRoZSBkb2N1bWVudHMgdGhhdCBkZXNjcmliZSB0aGUgY3VycmVu dA0KICAgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVudCBGcmFtZXdvcmssIHBsZWFzZSByZWZl ciB0bw0KICAgc2VjdGlvbiA3IG9mIFJGQyAzNDEwIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD MzQxMCc+W1JGQzM0MTBdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkNhc2UsIEou LCBNdW5keSwgUi4sIFBhcnRhaW4sIEQuLCBhbmQgQi4gU3Rld2FydCwgJmxkcXVvO0ludHJvZHVj dGlvbiBhbmQgQXBwbGljYWJpbGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBN YW5hZ2VtZW50IEZyYW1ld29yaywmcmRxdW87IERlY2VtYmVyJm5ic3A7MjAwMi48L3NwYW4+PHNw YW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTWFuYWdlZCBvYmplY3RzIGFyZSBh Y2Nlc3NlZCB2aWEgYSB2aXJ0dWFsIGluZm9ybWF0aW9uIHN0b3JlLA0KICAgdGVybWVkIHRoZSBN YW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2Ugb3IgTUlCLiAgTUlCIG9iamVjdHMgYXJlDQogICBn ZW5lcmFsbHkgYWNjZXNzZWQgdGhyb3VnaCB0aGUgU2ltcGxlIE5ldHdvcmsgTWFuYWdlbWVudCBQ cm90b2NvbA0KICAgKFNOTVApLiAgT2JqZWN0cyBpbiB0aGUgTUlCIGFyZSBkZWZpbmVkIHVzaW5n IHRoZSBtZWNoYW5pc21zDQogICBkZWZpbmVkIGluIHRoZSBTdHJ1Y3R1cmUgb2YgTWFuYWdlbWVu dCBJbmZvcm1hdGlvbiAoU01JKS4gIFRoaXMNCiAgIG1lbW8gc3BlY2lmaWVzIE1JQiBtb2R1bGVz IHRoYXQgYXJlIGNvbXBsaWFudCB0byB0aGUgU01JdjIsIHdoaWNoDQogICBpcyBkZXNjcmliZWQg aW4gU1REIDU4LCBSRkMgMjU3OCA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzI1NzgnPltSRkMy NTc4XTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5NY0Nsb2docmllLCBLLiwgUGVy a2lucywgRC4sIFNjaG9lbndhZWxkZXIsIEouLCBDYXNlLCBKLiwgTWNDbG9naHJpZSwgSy4sIFJv c2UsIE0uLCBhbmQgUy4gV2FsZGJ1c3NlciwgJmxkcXVvO1N0cnVjdHVyZSBvZiBNYW5hZ2VtZW50 IEluZm9ybWF0aW9uIFZlcnNpb24gMiAoU01JdjIpLCZyZHF1bzsgQXByaWwmbmJzcDsxOTk5Ljwv c3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sDQogICBTVEQgNTgsIFJGQyAyNTc5IDxhIGNsYXNzPSdp bmZvJyBocmVmPScjUkZDMjU3OSc+W1JGQzI1NzldPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9 J2luZm8nPk1jQ2xvZ2hyaWUsIEsuLCBQZXJraW5zLCBELiwgU2Nob2Vud2FlbGRlciwgSi4sIENh c2UsIEouLCBNY0Nsb2docmllLCBLLiwgUm9zZSwgTS4sIGFuZCBTLiBXYWxkYnVzc2VyLCAmbGRx dW87VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjIsJnJkcXVvOyBBcHJpbCZuYnNwOzE5OTku PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBhbmQgU1REIDU4LCBSRkMNCiAgIDI1ODAgPGEgY2xh c3M9J2luZm8nIGhyZWY9JyNSRkMyNTgwJz5bUkZDMjU4MF08c3Bhbj4gKDwvc3Bhbj48c3BhbiBj bGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4gU2Nob2Vud2Fl bGRlciwgJmxkcXVvO0NvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9yIFNNSXYyLCZyZHF1bzsgQXBy aWwmbmJzcDsxOTk5Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQog ICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwgIlNIQUxMIiwg IlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01NRU5ERUQiLCAi TUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRvIGJlIGludGVy cHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOQ0KICAgPGEgY2xhc3M9J2luZm8nIGhyZWY9 JyNSRkMyMTE5Jz5bUkZDMjExOV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+QnJh ZG5lciwgUy4sICZsZHF1bztLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlIFJl cXVpcmVtZW50IExldmVscywmcmRxdW87IE1hcmNoJm5ic3A7MTk5Ny48L3NwYW4+PHNwYW4+KTwv c3Bhbj48L2E+Lg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjMiPjwvYT48aDM+My4mbmJzcDsNClJlbGF0aW9uIHRvIG90aGVyIE1JQiBt b2R1bGVzPC9oMz4NCg0KPHA+DQogIFRoaXMgc2VjdGlvbiBvdXRsaW5lcyB0aGUgcmVsYXRpb25z aGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogIHRoaXMgZG9jdW1lbnQgd2l0aCBv dGhlciBNSUIgbW9kdWxlcw0KICBkZXNjcmliZWQgaW4gdGhlIHJlbGV2YW50IFJGQ3MuIFNwZWNp ZmljYWxseSwgSW50ZXJmYWNlcyBHcm91cCBNSUINCiAgKElGLU1JQiksIEV0aGVybmV0LUxpa2Ug KEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERTTA0KICAoSERTTDItU0hEU0wtTElO RS1NSUIpIGFuZCBWRFNMIChWRFNMLUxJTkUtRVhULU1DTS1NSUIpIGFyZSBkaXNjdXNzZWQuDQog DQo8L3A+DQo8YSBuYW1lPSJhbmNob3I0Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjEiPjwvYT48aDM+My4xLiZuYnNwOw0KUmVsYXRpb24gdG8gSW50ZXJmYWNlcyBHcm91cCBNSUIg bW9kdWxlPC9oMz4NCg0KPHA+DQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBIWSdzIHNwZWNp ZmllZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgYXJlIHN0YWNrZWQNCiAgIChhLmsuYS4gYWdn cmVnYXRlZCBvciBib25kZWQpIEV0aGVybmV0IGludGVyZmFjZXMgYW5kIGFzIHN1Y2ggYXJlIG1h bmFnZWQNCiAgIHVzaW5nIGdlbmVyaWMgaW50ZXJmYWNlIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZQ0KICAgSUYtTUlCIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDMjg2Myc+W1JG QzI4NjNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hyaWUsIEsuIGFu ZCBGLiBLYXN0ZW5ob2x6LCAmbGRxdW87VGhlIEludGVyZmFjZXMgR3JvdXAgTUlCLCZyZHF1bzsg SnVuZSZuYnNwOzIwMDAuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgDQo8L3A+DQo8cD4N CiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBpLmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBz dWItbGF5ZXJzIHRvDQogICB0aGUgdG9wIGxheWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhl IGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBpbiANCiAgIHRoZSBJRi1NSUIgPGEgY2xhc3M9J2lu Zm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1bztUaGUgSW50ZXJm YWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+PHNwYW4+KTwvc3Bh bj48L2E+IGFuZCBpdHMgaW52ZXJzZQ0KICAgaWZJbnZTdGFja1RhYmxlLCBhcyBkZWZpbmVkIGlu IHRoZSBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZD Mjg2NCc+W1JGQzI4NjRdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPk1jQ2xvZ2hy aWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bztUaGUgSW52ZXJ0ZWQgU3RhY2sgVGFibGUgRXh0 ZW5zaW9uIHRvIHRoZSBJbnRlcmZhY2VzIEdyb3VwIE1JQiwmcmRxdW87IEp1bmUmbmJzcDsyMDAw Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogIA0KPC9wPg0KPHA+DQogICBUaGUgbmV3IHRh YmxlcyBpZkNhcFN0YWNrVGFibGUgYW5kIGl0cyBpbnZlcnNlDQogICBpZkludkNhcFN0YWNrVGFi bGUgZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUNCiAgIGJlbG93LCBleHRl bmQgdGhlIHN0YWNrIG1hbmFnZW1lbnQgd2l0aCBhbiBhYmlsaXR5IHRvIGRlc2NyaWJlDQogICBw b3NzaWJsZSBjb25uZWN0aW9ucyBvciBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHksIHdoZW4gYSBm bGV4aWJsZQ0KICAgY3Jvc3MtY29ubmVjdCBtYXRyaXggaXMgcHJlc2VudCBiZXR3ZWVuIHRoZSBp bnRlcmZhY2UgbGF5ZXJzLg0KICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjUiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjMuMS4xIj48L2E+PGgzPjMuMS4xLiZuYnNwOw0KTGF5ZXJpbmcg TW9kZWw8L2gzPg0KDQo8cD4NCiAgICAgQW4gRUZNQ3UgaW50ZXJmYWNlIGNhbiBhZ2dyZWdhdGUg dXAgdG8gMzIgUGh5c2ljYWwgTWVkaXVtDQogICAgIEVudGl0eSAoUE1FKSBzdWItbGF5ZXIgZGV2 aWNlcyAobW9kZW1zKSwgdXNpbmcgc28NCiAgICAgY2FsbGVkIFBNRSBBZ2dyZWdhdGlvbiBGdW5j dGlvbiAoUEFGKS4NCiAgICANCjwvcD4NCjxwPg0KICAgICBBIGdlbmVyaWMgRUZNQ3UgZGV2aWNl IGNhbiBoYXZlIGEgbnVtYmVyIG9mIFBoeXNpY2FsIENvZGluZw0KICAgICBTdWJsYXllciAoUENT KSBwb3J0cywgZWFjaCBjb25uZWN0ZWQgdG8gYSBNQUMgdmlhIE1lZGl1bSBJbmRlcGVuZGVudA0K ICAgICBJbnRlcmZhY2UgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVyLCBhbmQgY3Jvc3MtY29ubmVj dGVkIHRvIGENCiAgICAgbnVtYmVyIG9mIHVuZGVybHlpbmcgUE1Fcywgd2l0aCBhIHNpbmdsZSBQ Q1MgcGVyIFBNRSByZWxhdGlvbnNoaXAsDQogICAgIHNlZSBjbGF1c2UgNjEuMSBvZiA8YSBjbGFz cz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNs YXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVj aG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNo YW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJl YSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0 IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlv biAgICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVj aWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJh bWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIw MDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBmb3IgbW9yZSBkZXRhaWxzLg0KICAgIA0KPC9w Pg0KPHA+DQogICAgIEVhY2ggUE1FIGluIHRoZSBhZ2dyZWdhdGVkIEVGTUN1IHBvcnQgaXMgcmVw cmVzZW50ZWQgaW4gdGhlDQogICAgIEludGVyZmFjZSB0YWJsZSAoaWZUYWJsZSkgYXMgYSBzZXBh cmF0ZSBpbnRlcmZhY2Ugd2l0aCBpZlR5cGUgb2YNCiAgICAgc2hkc2woMTY5KSBmb3IgMkJBU0Ut VEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gVGhlIGlmVHlwZQ0KICAgICB2YWx1ZXMgYXJl IGRlZmluZWQgaW4gPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJQU5BaWZUeXBlLU1JQic+W0lBTkFp ZlR5cGUmIzgyMDk7TUlCXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JbnRlcm5l dCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICZsZHF1bztJQU5BaWZUeXBlIFRl eHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uLCZyZHF1bzsgLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4uDQogICAgDQo8L3A+DQo8cD4NCiAgICAgaWZTcGVlZCBmb3IgZWFjaCBQTUUgU0hBTEwg cmV0dXJuIHRoZSBhY3R1YWwgZGF0YSBiaXRyYXRlDQogICAgIG9mIHRoZSBhY3RpdmUgUE1FIChl LmcuIGZvciAyQmFzZVRMIFBNRXMgaXQgaXMgYSBtdWx0aXBsZSBvZg0KICAgICA2NEticHMpLiBa ZXJvIHZhbHVlIFNIQUxMIGJlIHJldHVybmVkIHdoZW4gUE1FIGlzIGluaXRpYWxpemluZyBvciBk b3duLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZlNwZWVkIG9mIHRoZSBQQ1MgaXMgdGhl IHN1bSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgZGF0YQ0KICAgICByYXRlcyBvZiBhbGwgUE1F cyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgICBlbmNh cHN1bGF0aW9uIG92ZXJoZWFkIGFuZCBQQUYgb3ZlcmhlYWQsIGJ1dCBhY2NvdW50aW5nIGZvciB0 aGUNCiAgICAgSW50ZXItRnJhbWUgR2FwcyAoSUZHKS4NCiAgICA8YnIgLz48aHIgY2xhc3M9Imlu c2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAxIj48L2E+DQoNCjxwPldoZW4gdXNpbmcgdGhlIHN0 YXRlZCBkZWZpbml0aW9uIG9mIGlmU3BlZWQgZm9yIHRoZQ0KICAgICAgICAgICAgICAgIFBDUywg dGhlcmUgd291bGQgYmUgbm8gZnJhbWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRp b24NCiAgICAgICAgICAgICAgICAodGhlIHRlc3Qtc2V0cyBhcmUgY29uZmlndXJlZCB0byBnZW5l cmF0ZSAxMDAlIG9mIGJhY2sNCiAgICAgICAgICAgICAgICB0byBiYWNrIHRyYWZmaWMsIGkuZS4g bWluaW1hbCBJRkcsIGF0IDEwIG9yIDEwME1icHMsDQogICAgICAgICAgICAgICAgd2l0aCBtaW4g YW5kIG1heCBmcmFtZSBzaXplczsNCiAgICAgICAgICAgICAgICB0aGUgRUZNIGludGVyZmFjZXMg YXJlIGFnZ3JlZ2F0ZWQsIHRvIGFjaGlldmUgdGhlIHNob3duIHNwZWVkKToNCiAgICAgIA0KPC9w PjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6IGF1dG87 IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0tLiAgICAgICAgICAgLi0tLiAgICAg ICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KfHRlc3RzZXR8LS0xMEJhc2VULS18Q098 LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQonLS0tLS0tLScgICAgICAgICAg ICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0tLScNCiAgaWZTcGVlZD0gIDEw TWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJwcw0KDQouLS0tLS0tLS4gICAgICAgICAg ICAuLS0uICAgICAgICAgICAgLi0tLS4gICAgICAgICAgICAuLS0tLS0tLS4NCnx0ZXN0c2V0fC0t MTAwQmFzZVQtLXxDT3wtLTEwUGFzc1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KJy0t LS0tLS0nICAgICAgICAgICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0t LS0nDQogIGlmU3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMN CjwvcHJlPjwvZGl2Pjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgYWxpZ249ImNlbnRlciI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48Zm9udCBmYWNlPSJt b25hY28sIE1TIFNhbnMgU2VyaWYiIHNpemU9IjEiPjxiPiZuYnNwO0ZpZ3VyZSZuYnNwOzE6IEV4 YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MmbmJzcDs8L2I+PC9mb250Pjxi ciAvPjwvdGQ+PC90cj48L3RhYmxlPjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQogICAgDQo8YnIg Lz48aHIgY2xhc3M9Imluc2VydCIgLz4NCjxhIG5hbWU9IkZpZ3VyZSAyIj48L2E+DQoNCjxwPlRo ZSBmb2xsb3dpbmcgZmlndXJlIHNob3dzIHRoZSBJRUVFIDgwMi4zIGxheWVyaW5nIGRpYWdyYW0g YW5kDQogICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZN YXVUYWJsZToNCiAgICAgIA0KPC9wPjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDog MDsgbWFyZ2luLWxlZnQ6IGF1dG87IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCi4tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLiAgLQ0KfCAgICAgICAgTExDICAgICAgICAgICAgICB8ICBeDQor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwgMSBpZkVudHJ5DQp8ICAgICAgICBNQUMgICAg ICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgKSAgIGlmTWF1RW50cnkNCnwgICAgICAgIFJlY29uc2lsaWF0aW9u ICAgfCAgfCAgICAgaWZNYXVUeXBlOiBkb3QzTWF1VHlwZTJCYXNlVEwgb3INCistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3QzTWF1VHlwZTEwUGFzc1RTDQp8 ICAgICAgICBQQ1MgICAgICAgICAgICAgIHwgIHYNCistLS0tLS0tLS0tLS0tKy0tLSstLS0tLS0t KyAgLQ0KfCBUQyBcICAgICAgICB8ICAgfCAgICAgICB8ICBeDQorLS0tLS1cICAgICAgIHwgICB8 ICAgICAgIHwgIHwNCnwgUE1BICApUE1FIDEgfC4uLnwgUE1FIE4gfCAgKSBOIGlmRW50cnkgIChO PTEuLjMyKQ0KKy0tLS0tLyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNs KDE2OSkgb3IgdmRzbCg5NykNCnwgUE1ELyAgICAgICAgfCAgIHwgICAgICAgfCAgdg0KJy0tLS0t LS0tLS0tLS0rLS0tKy0tLS0tLS0nICAtDQoNCiBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAg ICAgICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KIE1BQyAtIE1lZGlhIEFjY2Vz cyBDb250cm9sICAgICAgIFBNRCAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiBQQ1MgLSBQ aHlzaWNhbCBDb2RpbmcgU3ViLWxheWVyICBQTUUgLSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQog VEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQo8L3ByZT48L2Rpdj48dGFibGUgYm9yZGVy PSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48 dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXpl PSIxIj48Yj4mbmJzcDtGaWd1cmUmbmJzcDsyOiBVc2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJs ZSBmb3IgRUZNQ3UgcG9ydHMmbmJzcDs8L2I+PC9mb250PjxiciAvPjwvdGQ+PC90cj48L3RhYmxl PjxociBjbGFzcz0iaW5zZXJ0IiAvPg0KDQo8cD4NCiAgICAgVGhlIGlmU3RhY2tUYWJsZSBpcyBp bmRleGVkIGJ5IHRoZSBpZkluZGV4IHZhbHVlcyBvZiB0aGUgYWdncmVnYXRlZA0KICAgICBFRk1D dSBwb3J0IChQQ1MpIGFuZCB0aGUgUE1FcyBjb25uZWN0ZWQgdG8gaXQuIGlmU3RhY2tUYWJsZSBh bGxvd3MgYQ0KICAgICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGljYXRpb24gdG8gZGV0ZXJtaW5l IHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgICB0byBhIHBhcnRpY3VsYXIgUENTIGFuZCBj aGFuZ2UgY29ubmVjdGlvbnMgKGlmIHN1cHBvcnRlZCBieSB0aGUgDQogICAgIGFwcGxpY2F0aW9u KS4gVGhlIGlmSW52U3RhY2tUYWJsZSwgYmVpbmcgYW4gaW52ZXJ0ZWQgdmVyc2lvbiBvZg0KICAg ICB0aGUgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yaw0KICAgICBNYW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmU3RhY2tUYWJsZSBhbmQNCiAgICAgdGhlcmVieSBkZXRlcm1pbmUgd2hpY2ggUENTIHJ1bnMg b24gdG9wIG9mIGEgcGFydGljdWxhciBQTUUuDQogICAgDQo8L3A+DQo8cD4NCiAgICAgQSBuZXcg dGFibGUgaWZDYXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUINCiAg ICAgbW9kdWxlLCBzcGVjaWZpZXMgZm9yIGVhY2ggaGlnaGVyLWxheWVyIGludGVyZmFjZSAoZS5n LiBQQ1MgcG9ydCkNCiAgICAgYSBsaXN0IG9mIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4g UE1FcyksIHdoaWNoIGNhbiBwb3NzaWJseQ0KICAgICBiZSBjcm9zcy1jb25uZWN0ZWQgdG8gdGhh dCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlLA0KICAgICBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy1j b25uZWN0DQogICAgIGNhcGFiaWxpdHkgb2YgdGhlIGRldmljZS4gVGhpcyB0YWJsZSwgbW9kZWxl ZCBhZnRlciBpZlN0YWNrVGFibGUsIGlzDQogICAgIHJlYWQgb25seSwgcmVmbGVjdGluZyBjdXJy ZW50IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhDQogICAgIHN0YWNrZWQgaW50ZXJmYWNl LCB3aGljaA0KICAgICBjYW4gYmUgZHluYW1pYyBpbiBzb21lIGltcGxlbWVudGF0aW9ucyAoZS5n LiBpZiBQTUVzIGFyZSBsb2NhdGVkDQogICAgIG9uIGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQgdGhl IG1vZHVsZSBpcyBwdWxsZWQgb3V0KS4NCiAgICAgTm90ZSB0aGF0IFBNRSBhdmFpbGFiaWxpdHkg cGVyIFBDUywgZGVzY3JpYmVkIGJ5DQogICAgIGlmQ2FwU3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0 cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICAgIGZvciBleGFtcGxlIGJ5IGFnZ3JlZ2F0 aW9uIGNhcGFjaXR5IG9mIGEgUENTIG9yIGJ5IHRoZSBQTUUgaW4NCiAgICAgcXVlc3Rpb24gYmVp bmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBQQ1MuIFNvLCBpbg0KICAgICBvcmRlciB0 byBlbnN1cmUgdGhhdCBhIHBhcnRpY3VsYXIgUE1FIGNhbiBiZSBjb25uZWN0ZWQgdG8gdGhlIFBD UywNCiAgICAgYWxsIHJlc3BlY3RpdmUgcGFyYW1ldGVycyAoZS5nLiBpZkNhcFN0YWNrVGFibGUs DQogICAgIGlmU3RhY2tUYWJsZSBhbmQgZWZtQ3VQQUZDYXBhY2l0eSkgU0hBTEwgYmUgaW5zcGVj dGVkLg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28g ZGVmaW5lZCBpbiB0aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICAgIGRlc2NyaWJlcyB3 aGljaCBoaWdoZXItbGF5ZXIgaW50ZXJmYWNlcyAoZS5nLiBQQ1MgcG9ydHMpIGNhbiBwb3NzaWJs eQ0KICAgICBiZSBjb25uZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFj ZSAoZS5nLiBQTUUpLA0KICAgICBwcm92aWRpbmcgaW52ZXJ0ZWQgbWFwcGluZyBvZiBpZkNhcFN0 YWNrVGFibGUuDQogICAgIFdoaWxlIGl0IGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRp b24gYmV5b25kIHRoYXQgYWxyZWFkeQ0KICAgICBjb250YWluZWQgaW4gdGhlIGlmQ2FwU3RhY2tU YWJsZSwgdGhlIGlmSW52Q2FwU3RhY2tUYWJsZSBoYXMgdGhlDQogICAgIGlmSW5kZXggdmFsdWVz IGluIGl0cyBJTkRFWCBjbGF1c2UgaW4gdGhlIHJldmVyc2Ugb3JkZXIsIGkuZS4sIHRoZQ0KICAg ICBsb3dlci1sYXllciBpbnRlcmZhY2UgZmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVy ZmFjZQ0KICAgICBzZWNvbmQsIHByb3ZpZGluZyBhbiBlZmZpY2llbnQgbWVhbnMgZm9yIGEgTmV0 d29yayBNYW5hZ2VtZW50DQogICAgIGFwcGxpY2F0aW9uIHRvIHJlYWQgYSBzdWJzZXQgb2YgdGhl IGlmQ2FwU3RhY2tUYWJsZSBhbmQgdGhlcmVieQ0KICAgICBkZXRlcm1pbmUgd2hpY2ggaW50ZXJm YWNlcyBjYW4gYmUgY29ubmVjdGVkIHRvIHJ1biBvbiB0b3Agb2YgYQ0KICAgICBwYXJ0aWN1bGFy IGludGVyZmFjZS4NCiAgICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjYiPjwvYT48YnIgLz48aHIg Lz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0i MiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxh IGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5h bWU9InJmYy5zZWN0aW9uLjMuMS4yIj48L2E+PGgzPjMuMS4yLiZuYnNwOw0KUE1FIEFnZ3JlZ2F0 aW9uIEZ1bmN0aW9uIChQQUYpPC9oMz4NCg0KPHA+DQogICAgIFRoZSBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikgYWxsb3dzIGEgbnVtYmVyIG9mIFBNRXMgdG8gYmUNCiAgICAgYWdncmVn YXRlZCBvbnRvIGEgUENTIHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMs DQogICAgIHRyYW5zbWl0dGluZyB0aGUgZnJhZ21lbnRzIG92ZXIgbXVsdGlwbGUgUE1FcyBhbmQg YXNzZW1ibGluZyB0aGUNCiAgICAgb3JpZ2luYWwgZnJhbWVzIGF0IHRoZSByZW1vdGUgcG9ydC4g UEFGIGlzIE9QVElPTkFMLCBtZWFuaW5nIHRoYXQgYQ0KICAgICBkZXZpY2Ugd2l0aCBhIHNpbmds ZSBQTUUgTUFZIHBlcmZvcm0gZnJhZ21lbnRhdGlvbiBhbmQNCiAgICAgcmUtYXNzZW1ibHkgaWYg dGhpcyBmdW5jdGlvbiBpcyBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS4NCiAgICAgTm90ZSBob3dl dmVyIHRoYXQgdGhlIGFnZW50IGlzIFJFUVVJUkVEIHRvIHJlcG9ydCBvbiB0aGUNCiAgICAgUEFG IGNhcGFiaWxpdHkgZm9yIGFsbCBFRk1DdSBwb3J0cyAoMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyku DQogICAgDQo8L3A+DQo8cD4NCiAgICAgVGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFsbG93cyBhIE5l dHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0byBxdWVyeQ0KICAgICBQQUYgY2FwYWJpbGl0 eSBhbmQgZW5hYmxlL2Rpc2FibGUgaXQgaWYgc3VwcG9ydGVkLiBOb3RlIHRoYXQNCiAgICAgZW5h YmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24gYW5kIHJlLWFzc2Vt Ymx5LA0KICAgICBldmVuIG9uIGEgc2luZ2xlLVBNRSBwb3J0Lg0KICAgIA0KPC9wPg0KPGEgbmFt ZT0iYW5jaG9yNyI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2Vs bHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQi Pjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9h PjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uMy4xLjMiPjwvYT48aDM+ My4xLjMuJm5ic3A7DQpEaXNjb3ZlcnkgT3BlcmF0aW9uPC9oMz4NCg0KPHA+DQogICAgIFRoZSBF Rk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxseSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sDQog ICAgIHdoZXJlYnkgUE1FcywgZHVyaW5nIGluaXRpYWxpemF0aW9uLCBleGNoYW5nZSBpbmZvcm1h dGlvbiBhYm91dA0KICAgICB0aGVpciByZXNwZWN0aXZlIGFnZ3JlZ2F0aW9uIGdyb3VwcyAoUENT KS4gVGhpcyBpbmZvcm1hdGlvbiBjYW4NCiAgICAgdGhlbiBiZSB1c2VkIHRvIGRldGVjdCBjb3Bw ZXIgbWlzY29ubmVjdGlvbnMgb3IgZm9yIGFuIGF1dG9tYXRpYw0KICAgICBhc3NpZ25tZW50IG9m IHRoZSBsb2NhbCBQTUVzIGludG8gYWdncmVnYXRpb24gZ3JvdXBzIGluc3RlYWQgb2YNCiAgICAg YSBmaXhlZCBwcmUtY29uZmlndXJhdGlvbi4NCiAgICANCjwvcD4NCjxwPg0KICAgICBUaGUgTUlC IG1vZHVsZXMgZGVmaW5lZCBpbiB0aGlzIGRvY3VtZW50IGFsbG93IGEgTmV0d29yaw0KICAgICBN YW5hZ2VtZW50IGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNoYW5pc20g YW5kIHF1ZXJ5DQogICAgIGl0cyByZXN1bHRzLiBOb3RlIHRoYXQgdGhlIERpc2NvdmVyeSBtZWNo YW5pc20gY2FuIHdvcmsgb25seSBpZg0KICAgICBQQUYgaXMgc3VwcG9ydGVkIGFuZCBlbmFibGVk Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBE aXNjb3ZlcnkgbWVjaGFuaXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICAgIGlmQ2FwU3RhY2tUYWJs ZS4gVGhlIGZvbGxvd2luZyBwc2V1ZG8tY29kZSBnaXZlcw0KICAgICBhbiBleGFtcGxlIG9mIHRo ZSBEaXNjb3ZlcnkgYW5kIGF1dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljDQog ICAgIFBBRiBlbmFibGVkIG11bHRpLVBDUyBFRk1DdSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJh bCBPZmZpY2UNCiAgICAgKENPKSwgdXNpbmcgb2JqZWN0cyBkZWZpbmVkIGluIHRoZXNlIE1JQiBt b2R1bGVzIGFuZCBpbiBJRi1NSUINCiAgICAgW05vdGUgdGhhdCBhdXRvbWF0aWMgUE1FIGFzc2ln bm1lbnQgaXMgb25seSBzaG93biBoZXJlIGZvcg0KICAgICB0aGUgcHVycG9zZXMgb2YgdGhlIGV4 YW1wbGUuIEZpeGVkIFBNRSBwcmUtYXNzaWdubWVudCwgbWFudWFsDQogICAgIGFzc2lnbm1lbnQg b3IgYXV0by1hc3NpZ25tZW50IHVzaW5nIGFuIGFsdGVybmF0aXZlIGludGVybmFsDQogICAgIGFs Z29yaXRobSBtYXkgYmUgY2hvc2VuIGJ5IGEgcGFydGljdWxhciBpbXBsZW1lbnRhdGlvbl06DQog ICAgDQo8L3A+PGRpdiBzdHlsZT0nZGlzcGxheTogdGFibGU7IHdpZHRoOiAwOyBtYXJnaW4tbGVm dDogM2VtOyBtYXJnaW4tcmlnaHQ6IGF1dG8nPjxwcmU+DQovLyBHbyBvdmVyIGFsbCBQQ1MgcG9y dHMgaW4gdGhlIENPIGRldmljZQ0KRk9SRUFDSCBwY3NbaV0gSU4gQ09fZGV2aWNlDQp7IC8vIFBl cmZvcm0gZGlzY292ZXJ5IGFuZCBhdXRvLWFzc2lnbm1lbnQgb25seSBvbiBQQUYgZW5hYmxlZCBw b3J0cw0KICAvLyB3aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICBJRiAoIHBjc1tpXS5QQUZTdXBw b3J0ZWQgQU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQog ICAgeyBkYyA9IHBjc1tpXS5EaXNjb3ZlcnlDb2RlID0gTUFDW2ldOyAvLyB1bmlxdWUgNi1vY3Rl dHMgcGVyIFBDUw0KICAgICAgLy8gR28gb3ZlciBhbGwgZGlzY29ubmVjdGVkIFBNRXMsIHdoaWNo IGNhbg0KICAgICAgLy8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAg IEZPUkVBQ0ggcG1lW2pdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIEFORA0KICAgICAgICAg ICAgICAgICAgICAgTk9UIGlmSW52U3RhY2tUYWJsZVtwbWVbal1dICAvLyBub3QgY29ubmVjdGVk DQogICAgICAgIHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRp bmcgdGhlIHZhbHVlDQogICAgICAgICAgLy8gb2YgdGhlIGxvY2FsIDYtb2N0ZXQgZGlzY292ZXJ5 IGNvZGUgdG8gdGhlIHJlbW90ZQ0KICAgICAgICAgIC8vIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVy ICh2aWEgaGFuZHNoYWtlIG1lY2hhbmlzbSkuDQogICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24g aXMgYXRvbWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAvLyB3b3Vs ZCBzdWNjZWVkIG9ubHkgaWYgdGhlIHJlbW90ZSBkaXNjb3ZlcnkgcmVnaXN0ZXIgd2FzDQogICAg ICAgICAgLy8gemVyby4gUmVhZCB0aGUgcmVtb3RlIGRpc2NvdmVyeSBjb2RlIHJlZ2lzdGVyIHZp YSBHZXQNCiAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0 dGFjaGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgLy8gaXMgaW5kZWVkIG1hcmtlZCBhcyBiZWlu ZyB0aGUgQ09fZGV2aWNlIHBlZXIuDQogICAgICAgICAgcG1lW2pdLlJlbW90ZURpc2NvdmVyeUNv ZGUgPSBkYzsgICAgICAgIC8vIFNldC1pZi1DbGVhcg0KICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICBJRiAoIHIgPT0gZGMg QU5EIHBjc1tpXS5OdW1QTUVzICZhbXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAg ICAgIHsgLy8gUmVtb3RlIFJUX2RldmljZSBjb25uZWN0ZWQgdmlhIFBNRVtqXSBpcy93YXMgYSBw ZWVyDQogICAgICAgICAgICAgIC8vIGZvciBQQ1NbaV0gYW5kIHRoZXJlIGlzIHJvb20gZm9yIGFu b3RoZXIgUE1FIGluIHRoZQ0KICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAvLyByZWFjaGVkIHll dCkuDQogICAgICAgICAgICAgIC8vIENvbm5lY3QgdGhpcyBQTUUgdG8gdGhlIFBDUyAodmlhIGlm U3RhY2tUYWJsZSwNCiAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGludmVy c2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgIC8vIHVwZGF0ZWQgYXV0b21hdGlj YWxseSkNCiAgICAgICAgICAgICAgQUREIHBtZVtqXSBUTyBpZlN0YWNrVGFibGVbcGNzW2ldXTsN CiAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0YWNrVGFi bGVbcG1lW2pdXQ0KICAgICAgICAgICAgICBwY3NbaV0uTnVtUE1FcyA9IHBjc1tpXS5OdW1QTUVz ICsgMTsNCiAgICAgICAgICAgICAgLy8gRGlzY292ZXIgYWxsIG90aGVyIGRpc2Nvbm5lY3RlZCBQ TUVzLA0KICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9kZXZpY2UgYW5k IGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAvLyB0aGUgUENTIHByb3ZpZGVkIHRoZXJl IGlzIGVub3VnaCByb29tIGZvciBtb3JlIFBNRXMuDQogICAgICAgICAgICAgIEZPUkVBQ0ggcG1l W2tdIElOIGlmQ2FwU3RhY2tUYWJsZVtwY3NbaV1dIGFuZA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAgICAgICAgICB7IHIg PSBwbWVba10uUmVtb3RlRGlzY292ZXJ5Q29kZTsgLy8gR2V0DQogICAgICAgICAgICAgICAgICBJ RiAoIHIgPT0gZGMgQU5EDQogICAgICAgICAgICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzICZh bXA7bHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAgICAgICAgICAgeyBBREQgcG1l W2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAgICAgICAgICAgLy8g cGNzW2ldIGlzIGFkZGVkIFRPIGlmSW52U3RhY2tUYWJsZVtwbWVba11dDQogICAgICAgICAgICAg ICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0uTnVtUE1FcyArIDE7DQogICAgICAgICAg ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg Ly8gQXQgdGhpcyBwb2ludCB3ZSBoYXZlIGRpc2NvdmVyZWQgYWxsIGxvY2FsIFBNRXMgd2hpY2gN CiAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgcmVtb3Rl IFJUX2RldmljZQ0KICAgICAgICAgIC8vIGFuZCBjb25uZWN0ZWQgdGhlbSB0byBQQ1NbaV0uIEdv IHRvIHRoZSBuZXh0IFBDUy4NCiAgICAgICAgICBCUkVBSzsNCiAgICAgICAgfQ0KICAgIH0NCn0N CjwvcHJlPjwvZGl2Pg0KPHA+DQogICAgIEFuIFNOTVAgQWdlbnQgZm9yIGEgRUZNQ3UgZGV2aWNl IGJ1aWxkcyBpZkNhcFN0YWNrVGFibGUNCiAgICAgYW5kIGl0cyBpbnZlcnNlIGlmSW52Q2FwU3Rh Y2tUYWJsZSBhY2NvcmRpbmcgdG8gdGhlIGluZm9ybWF0aW9uDQogICAgIGNvbnRhaW5lZCBpbiB0 aGUgQ2xhdXNlIDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZQ0KICAgICA8YSBjbGFzcz0n aW5mbycgaHJlZj0nIzgwMi4zYWgnPls4MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNz PSdpbmZvJz5JRUVFLCAmbGRxdW87SUVFRSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5v bG9neSAtICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5n ZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAgICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBu ZXR3b3JrcyAtICAgICAgICAgU3BlY2lmaWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAg ICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZp Y2F0aW9ucyAtICAgICAgICAgQW1lbmRtZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0 ZXJzLCBQaHlzaWNhbCAgICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZv ciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiA2MS4xLjUuMyBhbmQgNDUuMi4zLjIwKS4NCiAgICAN CjwvcD4NCjxwPg0KICAgICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cgZm9y IGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgICBhY3R1YWwgY29ubmVjdGlvbiBvZiB0aGUg UE1FIHRvIHRoZSBQQ1MsIHdoaWNoIGNhbiBiZSBkb25lIGJ5IG1vZGlmeWluZw0KICAgICBDbGF1 c2UgNDUgUE1FX0FnZ3JlZ2F0ZV9yZWdpc3RlciAoc2VlIDxhIGNsYXNzPSdpbmZvJyBocmVmPScj ODAyLjNhaCc+WzgwMi4zYWhdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPklFRUUs ICZsZHF1bztJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0gICAgICAg ICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lz dGVtcyAtICAgICAgICAgTG9jYWwgYW5kIG1ldHJvcG9saXRhbiBhcmVhIG5ldHdvcmtzIC0gICAg ICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLSAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5z ZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNpb24gRGV0ZWN0aW9uICAgICAgICAgKENTTUEv Q0QpIEFjY2VzcyBNZXRob2QgYW5kIFBoeXNpY2FsIExheWVyIFNwZWNpZmljYXRpb25zIC0gICAg ICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2Fs ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzIE5ldHdvcmtzLCZyZHF1bzsgU2VwdGVtYmVyJm5ic3A7MjAwNC48L3NwYW4+PHNwYW4+ KTwvc3Bhbj48L2E+DQogICAgIDYxLjEuNS4zIGFuZCA0NS4yLjMuMjEpLg0KICAgIA0KPC9wPg0K PHA+DQogICAgIE5vdGUgdGhhdCBQQ1MgcG9ydCBkb2VzIG5vdCBoYXZlIHRvIGJlIG9wZXJhdGlv bmFsbHkgJ2Rvd24nIGZvcg0KICAgICB0aGUgY29ubmVjdGlvbiB0byBzdWNjZWVkLiBJbiBmYWN0 LCBhIGR5bmFtaWMgUE1FDQogICAgIGFkZGl0aW9uIChhbmQgcmVtb3ZhbCkgTUFZIGJlIGltcGxl bWVudGVkIHdpdGggYW4gYXZhaWxhYmxlIFBNRSBiZWluZw0KICAgICBpbml0aWFsaXplZCBmaXJz dCAoYnkgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbg0KICAgICBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHBvcnQsIGJ5IG1vZGlmeWluZyBhIHJl c3BlY3RpdmUNCiAgICAgaWZTdGFja1RhYmxlIChhbmQgcmVzcGVjdGl2ZSBpZkludlN0YWNrVGFi bGUpIGVudHJ5Lg0KICAgIA0KPC9wPg0KPHA+DQogICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQg YSByZW1vdmFsIG9mIHRoZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgICAgZnJvbSBh biBvcGVyYXRpb25hbGx5ICd1cCcgUENTIHdvdWxkIGJlIHJlamVjdGVkIGJ5IHRoZQ0KICAgICBp bXBsZW1lbnRhdGlvbiwgYXMgdGhpcyBhY3Rpb24gd291bGQgY29tcGxldGVseSBkcm9wIHRoZSBs aW5rLg0KICAgIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yOCI+PC9hPjxiciAvPjxociAvPg0KPHRh YmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFz cz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0i I3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZj LnNlY3Rpb24uMy4xLjQiPjwvYT48aDM+My4xLjQuJm5ic3A7DQpFRk1DdSBwb3J0cyBpbml0aWFs aXphdGlvbjwvaDM+DQoNCjxwPg0KICAgIEVGTUN1IHBvcnRzIGJlaW5nIGJ1aWx0IG9uIHRvcCBv ZiB4RFNMIHRlY2hub2xvZ3ksIHJlcXVpcmUgYQ0KICAgIGxlbmd0aHkgaW5pdGlhbGl6YXRpb24g b3IgJ3RyYWluaW5nJyBwcm9jZXNzLCBiZWZvcmUgYW55IGRhdGEgY2FuDQogICAgcGFzcy4gRHVy aW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdvcmsN CiAgICBjb29wZXJhdGl2ZWx5IHRvIGFjaGlldmUgcmVxdWlyZWQgZGF0YSByYXRlIG9uIGEgcGFy dGljdWxhciBjb3BwZXINCiAgICBwYWlyLiBTb21ldGltZXMsIHdoZW4gdGhlIGNvcHBlciBsaW5l IGlzIHRvbyBsb25nIG9yIHRoZSBub2lzZQ0KICAgIG9uIHRoZSBsaW5lIGlzIHRvbyBoaWdoLCB0 aGF0ICd0cmFpbmluZycgcHJvY2VzcyBtYXkgZmFpbA0KICAgIHRvIGFjaGlldmUgYSBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCiAgIA0KPC9wPg0K PHA+DQogICAgVGhlIGlmQWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJv bHMNCiAgICB0aGUgZGVzaXJlZCBzdGF0ZSBvZiBhIFBDUyB3aXRoIGFsbCB0aGUgUE1FcyBjb25u ZWN0ZWQgdG8gaXQgb3Igb2YNCiAgICBhbiBpbmRpdmlkdWFsIFBNRSBwb3J0LiBTZXR0aW5nIHRo aXMgb2JqZWN0IHRvICd1cCcNCiAgICBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUg dG8gc3RhcnQgaW5pdGlhbGl6YXRpb24gcHJvY2VzcywNCiAgICB3aGljaCBtYXkgdGFrZSB0ZW5z IG9mIHNlY29uZHMgZm9yIEVGTUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcw0KICAgIGlu dm9sdmVkLiBUaGUgaWZPcGVyU3RhdHVzIG9iamVjdCBzaG93cyB0aGUgb3BlcmF0aW9uYWwgc3Rh dGUgb2YgYW4NCiAgICBpbnRlcmZhY2UgKGV4dGVuZGVkIGJ5IGlmTWF1TWVkaWFBdmFpbGFibGUg b2JqZWN0IGZyb20gTUFVLU1JQiBmb3INCiAgICBQQ1MgYW5kIGVmbUN1UG1lT3BlclN0YXR1cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICAgbW9kdWxlIGZvciBQTUUgaW50ZXJmYWNlcyku DQogICANCjwvcD4NCjxwPg0KICAgIEEgZGlzY29ubmVjdGVkIFBNRSBtYXkgYmUgaW5pdGlhbGl6 ZWQgYnkgY2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZQ0KICAgIGZyb20gJ2Rvd24nIHRvICd1cCcu IENoYW5naW5nIHRoZSBpZkFkbWluU3RhdGUgdG8gJ3VwJyBvbiB0aGUNCiAgICBQQ1MgaW5pdGlh bGl6ZXMgYWxsIFBNRXMgY29ubmVjdGVkIHRvIHRoYXQgcGFydGljdWxhciBQQ1MuDQogICAgTm90 ZSB0aGF0IGluIGNhc2Ugb2YgUEFGIHNvbWUgaW50ZXJmYWNlcyBtYXkgZmFpbCB0byBpbml0aWFs aXplDQogICAgd2hpbGUgb3RoZXJzIHN1Y2NlZWQuIFRoZSBQQ1MgaXMgY29uc2lkZXJlZCBvcGVy YXRpb25hbGx5ICd1cCcgaWYgYXQNCiAgICBsZWFzdCBvbmUgUE1FIGFnZ3JlZ2F0ZWQgYnkgaXRz IFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuIFdoZW4gYWxsDQogICAgUE1FcyBjb25uZWN0ZWQg dG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJlZA0KICAgIG9w ZXJhdGlvbmFsbHkgJ2xvd2VyTGF5ZXJEb3duJy4gVGhlIFBDUyBTSEFMTCBiZSBjb25zaWRlcmVk DQogICAgb3BlcmF0aW9uYWxseSAnbm90UHJlc2VudCcgaWYgaXQgaXMgbm90IGNvbm5lY3RlZCB0 byBhbnkgUE1FLg0KICAgIFRoZSBQQ1MvUE1FIGludGVyZmFjZSBTSEFMTCByZW1haW4gb3BlcmF0 aW9uYWxseSAnZG93bicgZHVyaW5nDQogICAgaW5pdGlhbGl6YXRpb24uDQogICANCjwvcD4NCjxw Pg0KICAgIFRoZSBlZm1DdVBtZU9wZXJTdGF0dXMgZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUNCiAgICBleHBhbmRzIFBNRSdzIGlmT3BlclN0YXR1cw0KICAgIHZhbHVlIG9mICdkb3du JyB0byAnZG93blJlYWR5JywgJ2Rvd25Ob3RSZWFkeScgYW5kICdpbml0JyB2YWx1ZXMsDQogICAg aW5kaWNhdGluZyB2YXJpb3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQogICANCjwvcD4N CjxhIG5hbWU9ImFuY2hvcjkiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlv dXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249 InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZu YnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjMuMS41Ij48 L2E+PGgzPjMuMS41LiZuYnNwOw0KVXNhZ2Ugb2YgaWZUYWJsZTwvaDM+DQoNCjxwPg0KICAgIEJv dGggUE1FIGFuZCBQQ1MgaW50ZXJmYWNlcyBvZiB0aGUgRUZNQ3UgUEhZIGFyZSBtYW5hZ2VkIHVz aW5nDQogICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBkZWZpbmVkIGlu IHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhbmQNCiAgICBnZW5lcmljIGludGVyZmFjZSBvYmplY3Rz IGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCLCB3aXRoIGFsbA0KICAgIG1hbmFnZW1lbnQgdGFi bGUgZW50cmllcyByZWZlcmVuY2VkIGJ5IHRoZSBpbnRlcmZhY2UgaW5kZXggaWZJbmRleC4NCiAg IA0KPC9wPg0KPHA+DQogICAgVGhlIGZvbGxvd2luZyB0YWJsZSBzdW1tYXJpemVzIEVGTUN1IHNw ZWNpZmljIGludGVycHJldGF0aW9ucyBmb3INCiAgICBzb21lIG9mIHRoZSBpZlRhYmxlIG9iamVj dHMgc3BlY2lmaWVkIGluIHRoZSBtYW5kYXRvcnkNCiAgICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdy b3VwOg0KICAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJpbnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJs ZTEiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNl bGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFs aWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQiPklGLU1JQiBvYmplY3Q8L3RoPjx0aCBh bGlnbj0ibGVmdCI+RUZNQ3UgaW50ZXJwcmV0YXRpb248L3RoPjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmlmSW5kZXg8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5JbnRlcmZhY2UgaW5kZXgu IE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQgZWFjaCBQQ1MNCiAgICAgICAgICAgICAgICAgICAgIGlu IHRoZSBFRk1DdSBQSFkgTVVTVCBoYXZlIGEgdW5pcXVlIGluZGV4LCBhcw0KICAgICAgICAgICAg ICAgICAgICAgdGhlcmUgYXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcw0K ICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJsZSBvbmx5IG9uIHRoZSBQQ1Mgb3IgUE1FIGxl dmVsLjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZlR5cGU8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5ldGhlcm5ldENzbWFjZCg2KSBmb3IgUENTLCBzaGRzbCgxNjkpIGZvcg0K ICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMg UE1FPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmU3BlZWQ8L3RkPg0KPHRk IGFsaWduPSJsZWZ0Ij5PcGVyYXRpbmcgZGF0YSByYXRlIGZvciB0aGUgUE1FLiBGb3IgdGhlIFBD UyBpdA0KICAgICBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVz IG9mIGFsbCBQTUVzIGluIHRoZQ0KICAgICBhZ2dyZWdhdGlvbiBncm91cCwgd2l0aG91dCB0aGUg NjQvNjVCIGVuY2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kDQogICAgIFBBRiBvdmVyaGVhZCwgYnV0 IGFjY291bnRpbmcgZm9yIHRoZSBJbnRlci1GcmFtZSBHYXBzIChJRkcpPC90ZD4NCjwvdHI+DQo8 dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmQWRtaW5TdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5TZXR0aW5nIHRoaXMgb2JqZWN0IHRvICd1cCcgaW5zdHJ1Y3RzIGENCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcnRpY3VsYXIgUENTICh3aXRoIGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQpIG9yIFBNRSB0byBzdGFydCBpbml0aWFsaXph dGlvbiBwcm9jZXNzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmlmT3BlclN0 YXR1czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lT3BlclN0YXR1cyBzdXBwbGVtZW50 cyB0aGUgJ2Rvd24nIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGlmT3BlclN0 YXR1cyBmb3IgUE1Fcy48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFibGUgYm9yZGVyPSIwIiBj ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50ZXIiPjx0cj48dGQgYWxp Z249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNlcmlmIiBzaXplPSIxIj48 Yj4mbmJzcDtUYWJsZSAxOiBFRk1DdSBpbnRlcnByZXRhdGlvbiBvZiBJRi1NSUIgb2JqZWN0cyZu YnNwOzwvYj48L2ZvbnQ+PGJyIC8+PC90ZD48L3RyPjwvdGFibGU+PGhyIGNsYXNzPSJpbnNlcnQi IC8+DQoNCjxhIG5hbWU9ImFuY2hvcjEwIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFy eT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWci IGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJz cDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi4z LjIiPjwvYT48aDM+My4yLiZuYnNwOw0KUmVsYXRpb24gdG8gU0hEU0wgTUlCIG1vZHVsZTwvaDM+ DQoNCjxwPg0KICAgIEcuU0hEU0wuYmlzIG1vZGVtcywgc2ltaWxhciB0byBQTUUocykgY29tcHJp c2luZyBhIDJCQVNFLVRMIHBvcnQsIGFyZQ0KICAgIGRlc2NyaWJlZCBpbiBIRFNMMi1TSERTTC1M SU5FLU1JQg0KICAgIDxhIGNsYXNzPSdpbmZvJyBocmVmPScjUkZDNDMxOSc+W1JGQzQzMTldPHNw YW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPlNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIu IEFiYmksICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIEhpZ2ggQml0 LVJhdGUgRFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQgU2luZ2xlLVBhaXIgSGlnaC1T cGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIExpbmVzLCZyZHF1bzsgRGVjZW1i ZXImbmJzcDsyMDA1Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4uDQogICAgTm90ZSB0aGF0IG5v dCBhbGwgYXR0cmlidXRlcyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4NCiAgICBIRFNM Mi1TSERTTC1MSU5FLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3kgKGUuZy4gcHJlZml4aW5nIHRoZSAyQkFTRS1UTCBQTUUg cmVsYXRlZCBvYmplY3RzDQogICAgd2l0aCAnZWZtQ3VQbWUyQicgaW5zdGVhZCBvZiAnaGRzbDJz aGRzbCcpLCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNlDQogICAgSERTTDItU0hEU0wt TElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9iamVjdHMNCiAg ICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4NCjxwPg0KICAgIEhvd2V2ZXIs IGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQiBt b2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBieSB0aGUgUE1FLCBlLmcuIHBl cmZvcm1hbmNlIG1vbml0b3JpbmcsDQogICAgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1NSUIg Z3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQgYXBwbGllZA0KICAgIGZvciBQTUVzIG9mIDJCQVNF LVRMIHN1YnR5cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjExIj48L2E+PGJyIC8+PGhy IC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9 IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48 YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBu YW1lPSJyZmMuc2VjdGlvbi4zLjMiPjwvYT48aDM+My4zLiZuYnNwOw0KUmVsYXRpb24gdG8gVkRT TCBNSUIgbW9kdWxlPC9oMz4NCg0KPHA+DQogICAgVkRTTCBtb2RlbXMsIHNpbWlsYXIgdG8gdGhl IFBNRShzKSBjb21wcmlzaW5nIGEgMTBQQVNTLVRTIHBvcnQsDQogICAgYXJlIGRlc2NyaWJlZCBp biBWRFNMLUxJTkUtRVhULU1DTS1NSUINCiAgICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI1JGQzQw NzAnPltSRkM0MDcwXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5Eb2RnZSwgTS4g YW5kIEIuIFJheSwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0IEV4dGVuc2lv bnMgZm9yIFZlcnkgSGlnaCBTcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZXMgKFZEU0wpIFVz aW5nIE11bHRpcGxlIENhcnJpZXIgTW9kdWxhdGlvbiAoTUNNKSBMaW5lIENvZGluZywmcmRxdW87 IE1heSZuYnNwOzIwMDUuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPi4NCiAgICBOb3RlIHRoYXQg bm90IGFsbCBhdHRyaWJ1dGVzIG9mIFZEU0wgbW9kZW1zIHJlZmxlY3RlZCBpbg0KICAgIFZEU0wt TElORS1FWFQtTUNNLU1JQiBoYXZlIGFkZXF1YXRlIG1hbmFnZW1lbnQgb2JqZWN0cw0KICAgIChD bGF1c2UgMzAgYXR0cmlidXRlcyBhbmQgQ2xhdXNlIDQ1IHJlZ2lzdGVycykgaW4gdGhlIEVGTSBz dGFuZGFyZC4NCiAgIA0KPC9wPg0KPHA+DQogICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJlbmNl cyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgIHVuaWZpY2F0aW9uIG9m IGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQTUVzDQog ICAgYW5kIG5hbWUgY29uc2lzdGVuY3ksIGl0IHdhcyBkZWNpZGVkIG5vdCB0byByZWZlcmVuY2UN CiAgICBWRFNMLUxJTkUtRVhULU1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJl bGV2YW50IG9iamVjdHMNCiAgICBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUuDQogICANCjwvcD4N CjxwPg0KICAgIEhvd2V2ZXIsIGlmIHNvbWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBp biB0aGUgRUZNLUNVLU1JQiBtb2R1bGUsIGlzDQogICAgcmVxdWlyZWQgYW5kIHN1cHBvcnRlZCBi eSB0aGUgUE1FLA0KICAgIHJlbGV2YW50IFZEU0wtTElORS1FWFQtTUNNLU1JQiBncm91cHMgTUFZ IGJlIGluY2x1ZGVkIGFuZCBhcHBsaWVkDQogICAgZm9yIFBNRXMgb2YgMTBQQVNTLVRTIHN1YnR5 cGUuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEyIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFi bGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNz PSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIj dG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMu c2VjdGlvbi4zLjQiPjwvYT48aDM+My40LiZuYnNwOw0KUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlr ZSBhbmQgTUFVIE1JQiBtb2R1bGVzPC9oMz4NCg0KPHA+DQogICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMzNjM1Jz5bUkZDMzYz NV08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+RmxpY2ssIEouLCAmbGRxdW87RGVm aW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciB0aGUgRXRoZXJuZXQtbGlrZSBJbnRlcmZh Y2UgVHlwZXMsJnJkcXVvOyBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvc3Bhbj48c3Bhbj4pPC9zcGFu PjwvYT4NCiAgICBhbmQgTUFVLU1JQiA8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1 Ym1pYi1yZmMzNjM2YmlzJz5bSSYjODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2 MzZiaXNdPHNwYW4+ICg8L3NwYW4+PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVv O0RlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAg ICAgICAgICAgIEF0dGFjaG1lbnQgVW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYu PC9zcGFuPjxzcGFuPik8L3NwYW4+PC9hPiBpcw0KICAgIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3Ug aW50ZXJmYWNlcy4NCiAgIA0KPC9wPg0KPHA+DQogICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVU eXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3QzTWF1VHlwZSkNCiAgICBhbmQgY29ycmVzcG9u ZGluZyBiaXQgZGVmaW5pdGlvbnMgb2YgaWZNYXVUeXBlTGlzdEJpdHMNCiAgICAoSUFOQWlmTWF1 VHlwZUxpc3RCaXRzKSBoYXZlIGJlZW4gZGVmaW5lZCBpbiB0aGUgSUFOQS1NQVUtTUlCDQogICAg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpcyc+W0kmIzgy MDk7RC5pZXRmJiM4MjA5O2h1Ym1pYiYjODIwOTtyZmMzNjM2YmlzXTxzcGFuPiAoPC9zcGFuPjxz cGFuIGNsYXNzPSdpbmZvJz5CZWlsaSwgRS4sICZsZHF1bztEZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtICAgICAgICAgICAgICBBdHRhY2htZW50IFVu aXRzIChNQVVzKSwmcmRxdW87IEp1bHkmbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwv YT4gZm9yIHRoZSBFRk1DdSBNQVVzOg0KDQogICAgIDwvcD4NCjx1bCBjbGFzcz0idGV4dCI+DQo8 bGk+ZG90M01hdVR5cGUyQmFzZVRMIGFuZCBiMkJhc2VUTCAtIGZvciAyQkFTRS1UTCBNQVUNCjwv bGk+DQo8bGk+ZG90M01hdVR5cGUxMFBhc3NUUyBhbmQgYjEwUGFzc1RTIC0gZm9yIDEwUEFTUy1U UyBNQVUNCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAgICBBZGRpdGlvbmFsbHkg SUFOQS1NQVUtTUlCIGRlZmluZXMgdHdvIG5ldyB2YWx1ZXMgb2YNCiAgICBpZk1hdU1lZGlhQXZh aWxhYmxlLCBhcyBhIHRleHR1YWwgY29udmVudGlvbg0KICAgIElBTkFpZk1hdU1lZGlhQXZhaWxh YmxlIC0gYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHksDQogICAgc3BlY2lmaWNhbGx5IGZvciB0 aGUgRUZNQ3UgcG9ydHMuDQogICAgRHVlIHRvIHRoZSBQTUUgYWdncmVnYXRpb24sIHRoZSBFRk1D dSBpbnRlcnByZXRhdGlvbiBvZiBzb21lDQogICAgcG9zc2libGUgaWZNYXVNZWRpYUF2YWlsYWJs ZSB2YWx1ZXMgZGlmZmVycyBmcm9tIG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgICA8L3A+ DQo8dWwgY2xhc3M9InRleHQiPg0KPGxpPnVua25vd24gLSB0aGUgRUZNQ3UgaW50ZXJmYWNlIChQ Q1Mgd2l0aCBjb25uZWN0ZWQgUE1FcykgaXMgaW5pdGlhbGl6aW5nDQo8L2xpPg0KPGxpPnJlYWR5 IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGluIHRoZQ0KICAgICAg ICAgYWdncmVnYXRpb24gZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0bw0KICAgICAgICAgdGhl IFBDUykgaXMgcmVhZHkgZm9yIGhhbmRzaGFrZQ0KPC9saT4NCjxsaT5hdmFpbGFibGUgLSB0aGUg aW50ZXJmYWNlIGlzIHVwLCBhbGwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24NCiAgICAgICAgIGdy b3VwIGFyZSB1cA0KPC9saT4NCjxsaT5ub3RBdmFpbGFibGUgLSB0aGUgaW50ZXJmYWNlIGlzIGRv d24sIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgICAgZ3JvdXAgYXJlIGRvd24s IG5vIGhhbmRzaGFrZSB0b25lcyBhcmUgZGV0ZWN0ZWQgYnkgYW55IFBNRQ0KPC9saT4NCjxsaT5h dmFpbGFibGVSZWR1Y2VkIC0gdGhlIGludGVyZmFjZSBpcyB1cCwgYSBsaW5rIGZhdWx0IGlzDQog ICAgICAgICBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJlY3Rpb24gYnkgb25lIG9yIG1vcmUg UE1FcyBpbiB0aGUNCiAgICAgICAgIGFnZ3JlZ2F0aW9uIGdyb3VwLCBidXQgYXQgbGVhc3Qgb25l IFBNRSBpcyB1cA0KPC9saT4NCjxsaT5wbWRMaW5rRmF1bHQgLSBhIGxpbmsgZmF1bHQgaXMgZGV0 ZWN0ZWQgYXQgdGhlIHJlY2VpdmUNCiAgICAgICAgIGRpcmVjdGlvbiBieSBhbGwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCjwvbGk+DQo8L3VsPjxwPg0KICAgDQo8L3A+DQo8cD4NCiAg ICBBcyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkN CiAgICByZXByZXNlbnRpbmcgYSBjb25zb2xpZGF0aW9uIG9mIExMQywgTUFDIGFuZCBQQ1MgKHN1 YilsYXllcnMpDQogICAgU0hBTEwgcmV0dXJuIGFuIGlmVHlwZSBvZiBldGhlcm5ldENzbWFjZCg2 KS4NCiAgICBXaGlsZSBtb3N0IG9mIHRoZSBNQVUgY2hhcmFjdGVyaXN0aWNzIGFyZSBub3QgYXBw bGljYWJsZSB0byB0aGUgRUZNQ3UNCiAgICBwb3J0cyAobm8gYXV0by1uZWdvdGlhdGlvbiwgZmFs c2UgY2FycmllcnMgb3IgamFiYmVyKSwNCiAgICB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3By aWF0ZSBpZk1hdVR5cGUgKGRvdDNNYXVUeXBlMkJhc2VUTCBvcg0KICAgIGRvdDNtYXVUeXBlMTBQ YXNzVFMpIGluIG9yZGVyIHRvIGRpcmVjdCB0aGUgbWFuYWdlbWVudCBzb2Z0d2FyZQ0KICAgIHRv IGxvb2sgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGZvciB0aGUgZGVzaXJlZCBpbmZvcm1hdGlv bi4gRm9yIGV4YW1wbGUNCiAgICB0aGUgaW5mb3JtYXRpb24gb24gdGhlIHBhcnRpY3VsYXIgRUZN Q3UgZmxhdm9yIHRoYXQgYW4gRUZNQ3UgcG9ydA0KICAgIGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxl IGZyb20gZWZtQ3VPcGVyU3ViVHlwZSwgZGVmaW5lZCBpbiB0aGUNCiAgICBFRk0tQ1UtTUlCIG1v ZHVsZS4NCiAgIA0KPC9wPg0KPHA+DQogICAgU2luY2UgRUZNQ3UgUE1FcyBhcmUgbm90IEV0aGVy TGlrZSBpbnRlcmZhY2VzLCB0aGV5IGNhbm5vdCBiZQ0KICAgIGluc3RhbnRpYXRlZCBhcyBNQVUg aW50ZXJmYWNlIG9iamVjdHMuDQogICANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjEzIj48L2E+PGJy IC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNw YWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9D YnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+ DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi40Ij48L2E+PGgzPjQuJm5ic3A7DQpNSUIgU3RydWN0dXJl PC9oMz4NCg0KPGEgbmFtZT0iYW5jaG9yMTQiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1t YXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1 ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZu YnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9u LjQuMSI+PC9hPjxoMz40LjEuJm5ic3A7DQpFRk0gQ29wcGVyIE1JQiBPdmVydmlldzwvaDM+DQoN CjxwPg0KICAgVGhlIG1haW4gbWFuYWdlbWVudCBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1D VS1NSUIgbW9kdWxlIGFyZSBzcGxpdCBpbnRvIDINCiAgIGdyb3VwczoNCiAgIDwvcD4NCjx1bCBj bGFzcz0idGV4dCI+DQo8bGk+ZWZtQ3VQb3J0IC0gY29udGFpbmluZyBvYmplY3RzIGZvciBjb25m aWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFuZCBub3RpZmljYXRpb25zLCBj b21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQo8L2xpPg0KPGxpPmVmbUN1UG1lIC0gY29udGFpbmlu ZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgc3RhdHVzIGFu ZCBub3RpZmljYXRpb25zIG9mIEVGTUN1IFBNRXMuDQo8L2xpPg0KPC91bD48cD4NCiAgDQo8L3A+ DQo8cD4NCiAgIFRoZSBlZm1DdVBtZSBncm91cCBpbiB0dXJuIGNvbnRhaW5zIGVmbUN1UG1lMkIg YW5kIGVmbUN1UG1lMTBQDQogICBncm91cHMsIHdoaWNoIGRlZmluZSBQTUUgUHJvZmlsZXMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgYW5kDQogICAxMFBBU1MtVFMgUE1FcyByZXNwZWN0aXZlbHksIGFz IHdlbGwgYXMgUE1FIHNwZWNpZmljIHN0YXR1cyBpbmZvcm1hdGlvbi4NCiAgDQo8L3A+DQo8YSBu YW1lPSJhbmNob3IxNSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmln aHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7 PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEgbmFtZT0icmZjLnNlY3Rpb24uNC4yIj48L2E+PGgz PjQuMi4mbmJzcDsNCkludGVyZmFjZSBzdGFjayBjYXBhYmlsaXR5IE1JQiBPdmVydmlldzwvaDM+ DQoNCjxwPg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIgdGFibGVz Og0KICAgPC9wPg0KPHVsIGNsYXNzPSJ0ZXh0Ij4NCjxsaT5pZkNhcFN0YWNrVGFibGUgLSBjb250 YWluaW5nIG9iamVjdHMgdGhhdCBkZWZpbmUgcG9zc2libGUNCiAgICAgICByZWxhdGlvbnNoaXBz IGFtb25nIHRoZSBzdWItbGF5ZXJzIG9mIGFuIGludGVyZmFjZSB3aXRoDQogICAgICAgZmxleGli bGUgY3Jvc3MtY29ubmVjdCAoY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5KS4NCjwvbGk+DQo8bGk+ aWZJbnZDYXBTdGFja1RhYmxlIC0gYW4gaW52ZXJzZSBvZiB0aGUgaWZDYXBzdGFja1RhYmxlLg0K PC9saT4NCjwvdWw+PHA+DQogIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMTYiPjwvYT48YnIgLz48 aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2lu Zz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWci PjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxh IG5hbWU9InJmYy5zZWN0aW9uLjQuMyI+PC9hPjxoMz40LjMuJm5ic3A7DQpQTUUgUHJvZmlsZXM8 L2gzPg0KDQo8cD4NCiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVt YmVyIG9mIEVGTUN1IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2 ZXJ5IEVGTUN1IFBIWSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiBNb3Jlb3ZlciwgbW9zdCBQ TUVzIGFyZSBwcm92aXNpb25lZCBpZGVudGljYWxseQ0KICAgd2l0aCB0aGUgc2FtZSBzZXQgb2Yg cGFyYW1ldGVycy4gIFRvIHNpbXBsaWZ5IHRoZSBwcm92aXNpb25pbmcNCiAgIHByb2Nlc3MsIHRo ZSBFRk0tQ1UtTUlCIG1vZHVsZSBtYWtlcyB1c2Ugb2YgY29uZmlndXJhdGlvbiBwcm9maWxlcywg c2ltaWxhcg0KICAgdG8gSERTTDItU0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNN LU1JQi4gQSBwcm9maWxlIGlzIGENCiAgIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBm b3IgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbg0KICAgb2YgYSBQTUUuIFRoZSBzYW1l IHByb2ZpbGUgY2FuIGJlIHNoYXJlZCBieSBtdWx0aXBsZSBQTUUgcG9ydHMsDQogICB1c2luZyB0 aGUgc2FtZSBjb25maWd1cmF0aW9uLg0KICANCjwvcD4NCjxwPg0KICAgVGhlIFBNRSBwcm9maWxl cyBhcmUgZGVmaW5lZCBpbg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBhbmQgZWZtQ3VQbWUx MFBQcm9maWxlVGFibGUgZm9yDQogICAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMgcmVzcGVj dGl2ZWx5LiBUaGVyZSBhcmUgMTIgcHJlZGVmaW5lZA0KICAgc3RhbmRhcmQgcHJvZmlsZXMgZm9y IDJCQVNFLVRMIGFuZCAyMiBzdGFuZGFyZCBwcm9maWxlcyBmb3INCiAgIDEwUEFTUy1UUywgZGVm aW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yIHJhcGlkIHByb3Zpc2lvbmluZw0KICAg b2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gSW4gYWRkaXRpb24gdGhlIEVGTS1DVS1N SUIgZGVmaW5lcyB0d28NCiAgIGFkZGl0aW9uYWwgcHJlZGVmaW5lZCBwcm9maWxlcyBmb3IgImJl c3QtZWZmb3J0IiBwcm92aXNpb25pbmcgb2YNCiAgIDJCQVNFLVRMIFBNRXMuDQogICBBbiBhYmls aXR5IHRvIGRlZmluZSBuZXcgY29uZmlndXJhdGlvbiBwcm9maWxlcyBpcyBhbHNvIHByb3ZpZGVk IHRvIA0KICAgYWxsb3cgZm9yIEVGTUN1IGRlcGxveW1lbnQgdGFpbG9yZWQgdG8gc3BlY2lmaWMg Y29wcGVyIGVudmlyb25tZW50IGFuZCANCiAgIHNwZWN0cmFsIHJlZ3VsYXRpb25zLg0KICANCjwv cD4NCjxwPg0KICAgQSBzcGVjaWZpYyBjb25maWd1cmF0aW9uIG9yIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUgaXMgYXNzaWduZWQgdG8gYQ0KICAgc3BlY2lmaWMgUE1FIHZpYSBlZm1DdVBtZUFkbWlu UHJvZmlsZSBvYmplY3QuIElmIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQogICBpcyB6ZXJvLCB0aGVu IGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUgUENTIHBvcnQsIGNvbm5lY3RlZCB0byB0 aGUNCiAgIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlIChvciBhIGxp c3Qgb2YgcG9zc2libGUNCiAgIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuIFRoaXMgbWVjaGFuaXNt IGFsbG93cyB0byBzcGVjaWZ5IGEgY29tbW9uDQogICBwcm9maWxlKHMpIGZvciBhbGwgUE1FcyBj b25uZWN0ZWQgdG8gdGhlIFBDUyBwb3J0LCB3aXRoIGFuIGFiaWxpdHkNCiAgIHRvIGNoYW5nZSBp bmRpdmlkdWFsIFBNRSBwcm9maWxlcyBieSBzZXR0aW5nIGVmbUN1UG1lQWRtaW5Qcm9maWxlDQog ICBvYmplY3QsIHdoaWNoIG92ZXJ3cml0ZXMgdGhlIHByb2ZpbGUgc2V0IGJ5IGVmbUN1QWRtaW5Q cm9maWxlLg0KICANCjwvcD4NCjxwPg0KICAgQSBjdXJyZW50IG9wZXJhdGluZyBQTUUgcHJvZmls ZSBpcyBwb2ludGVkIHRvIGJ5IGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0Lg0KICAgTm90ZSB0 aGF0IHRoaXMgcHJvZmlsZSBlbnRyeSwgY2FuIGJlIGNyZWF0ZWQgYXV0b21hdGljYWxseSwgdG8g cmVmbGVjdA0KICAgYWNoaWV2ZWQgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBp bml0aWFsaXphdGlvbi4NCiAgDQo8L3A+DQo8YSBuYW1lPSJhbmNob3IxNyI+PC9hPjxiciAvPjxo ciAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5n PSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+ PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGEg bmFtZT0icmZjLnNlY3Rpb24uNC40Ij48L2E+PGgzPjQuNC4mbmJzcDsNCk1hcHBpbmcgb2YgSUVF RSA4MDIuM2FoIE1hbmFnZWQgT2JqZWN0czwvaDM+DQoNCjxwPg0KICAgVGhpcyBzZWN0aW9uIGNv bnRhaW5zIHRoZSBtYXBwaW5nIGJldHdlZW4gcmVsZXZhbnQgbWFuYWdlZCBvYmplY3RzDQogICAo YXR0cmlidXRlcykgZGVmaW5lZCBpbiA8YSBjbGFzcz0naW5mbycgaHJlZj0nIzgwMi4zYWgnPls4 MDIuM2FoXTxzcGFuPiAoPC9zcGFuPjxzcGFuIGNsYXNzPSdpbmZvJz5JRUVFLCAmbGRxdW87SUVF RSBTdGFuZGFyZCBmb3IgSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtICAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLSAgICAg ICAgIExvY2FsIGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtICAgICAgICAgU3BlY2lm aWMgcmVxdWlyZW1lbnRzIC0gICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUg QWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbiAgICAgICAgIChDU01BL0NEKSBBY2Nlc3Mg TWV0aG9kIGFuZCBQaHlzaWNhbCBMYXllciBTcGVjaWZpY2F0aW9ucyAtICAgICAgICAgQW1lbmRt ZW50OiBNZWRpYSBBY2Nlc3MgQ29udHJvbCBQYXJhbWV0ZXJzLCBQaHlzaWNhbCAgICAgICAgIExh eWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3 b3JrcywmcmRxdW87IFNlcHRlbWJlciZuYnNwOzIwMDQuPC9zcGFuPjxzcGFuPik8L3NwYW4+PC9h PiBDbGF1c2UgMzAsIGFuZCBtYW5hZ2VkDQogICBvYmplY3RzIGRlZmluZWQgaW4gdGhpcyBkb2N1 bWVudCBhbmQgaW4gYXNzb2NpYXRlZCBNSUIgbW9kdWxlcywNCiAgIGkuZS4sIHRoZSBJRi1NSUIg PGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMyODYzJz5bUkZDMjg2M108c3Bhbj4gKDwvc3Bhbj48 c3BhbiBjbGFzcz0naW5mbyc+TWNDbG9naHJpZSwgSy4gYW5kIEYuIEthc3RlbmhvbHosICZsZHF1 bztUaGUgSW50ZXJmYWNlcyBHcm91cCBNSUIsJnJkcXVvOyBKdW5lJm5ic3A7MjAwMC48L3NwYW4+ PHNwYW4+KTwvc3Bhbj48L2E+Lg0KICANCjwvcD4NCjxwPg0KICAgTm90ZSB0aGF0IG1ham9yaXR5 IG9mIHRoZSBvYmplY3RzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlDQogICBkbyBu b3QgaGF2ZSBkaXJlY3QgY291bnRlcnBhcnRzIGluIENsYXVzZSAzMCBhbmQgaW5zdGVhZCByZWZl ciB0byBDbGF1c2UgNDUNCiAgIHJlZ2lzdGVycy4NCiAgDQo8L3A+PGJyIC8+PGhyIGNsYXNzPSJp bnNlcnQiIC8+DQo8YSBuYW1lPSJ0YWJsZTIiPjwvYT4NCjx0YWJsZSBjbGFzcz0iYWxsIiBhbGln bj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMiI+DQo8 Y29sIGFsaWduPSJsZWZ0Ij48Y29sIGFsaWduPSJsZWZ0Ij4NCjx0cj48dGggYWxpZ249ImxlZnQi PklFRUUgODAyLjMgTWFuYWdlZCBPYmplY3Q8L3RoPjx0aCBhbGlnbj0ibGVmdCI+Q29ycmVzcG9u ZGluZyBTTk1QIE9iamVjdDwvdGg+PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b01BVSAt IEJhc2ljIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU1BVVR5cGU8L3RkPg0KPHRkIGFs aWduPSJsZWZ0Ij5pZk1hdVR5cGUgKE1BVS1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxp Z249ImxlZnQiPmFNQVVUeXBlTGlzdDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmTWF1VHlwZUxp c3RCaXRzIChNQVUtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hTWVk aWFBdmFpbGFibGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5pZk1lZGlhQXZhaWxhYmxlIChNQVUt TUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5vUEFGIC0gQmFzaWMgUGFj a2FnZSAoTWFuZGF0b3J5KTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3Ry Pg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGSUQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5p ZkluZGV4IChJRi1NSUIpPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFQaHlF bmQ8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBoeVNpZGU8L3RkPg0KPC90cj4NCjx0cj4N Cjx0ZCBhbGlnbj0ibGVmdCI+YVBIWUN1cnJlbnRTdGF0dXM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVN0YXR1czwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0Ij5hUEFGU3Vw cG9ydGVkPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQQUZTdXBwb3J0ZWQ8L3RkPg0KPC90 cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+b1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdl IChPcHRpb25hbCk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0 cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBBRkFkbWluU3RhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5lZm1DdVBBRkFkbWluU3RhdGU8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+ YUxvY2FsUEFGQ2FwYWNpdHk8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBBRkNhcGFjaXR5 PC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFMb2NhbFBNRUF2YWlsYWJsZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPmlmQ2FwU3RhY2tUYWJsZTwvdGQ+DQo8L3RyPg0KPHRyPg0K PHRkIGFsaWduPSJsZWZ0Ij5hTG9jYWxQTUVBZ2dyZWdhdGU8L3RkPg0KPHRkIGFsaWduPSJsZWZ0 Ij5pZlN0YWNrVGFibGUgKElGLU1JQik8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVm dCI+YVJlbW90ZVBBRlN1cHBvcnRlZDwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3Rl UEFGU3VwcG9ydGVkPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFSZW1vdGVQ QUZDYXBhY2l0eTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UmVtb3RlUEFGQ2FwYWNpdHk8 L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVJlbW90ZVBNRUFnZ3JlZ2F0ZTwv dGQ+DQo8dGQgYWxpZ249ImxlZnQiPiZuYnNwOzwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWdu PSJsZWZ0Ij5vUE1FIC0gMTBQLzJCIFBhY2thZ2UgKE1hbmRhdG9yeSk8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij4mbmJzcDs8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRUlE PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+aWZJbmRleCAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRy Pg0KPHRkIGFsaWduPSJsZWZ0Ij5hUE1FQWRtaW5TdGF0ZTwvdGQ+DQo8dGQgYWxpZ249ImxlZnQi PmlmQWRtaW5TdGF0ZSAoSUYtTUlCKTwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJsZWZ0 Ij5hUE1FU3RhdHVzPC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCI+ZWZtQ3VQbWVTdGF0dXM8L3RkPg0K PC90cj4NCjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVBNRVNOUk1nbjwvdGQ+DQo8dGQgYWxpZ249 ImxlZnQiPmVmbUN1UG1lU25yTWduPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQi PmFUQ0NvZGluZ1Zpb2xhdGlvbnM8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1DdVBtZVRDQ29k aW5nRXJyb3JzPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249ImxlZnQiPmFUQ0NSQ0Vycm9y czwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVmbUN1UG1lVENDcmNFcnJvcnM8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YVByb2ZpbGVTZWxlY3Q8L3RkPg0KPHRkIGFsaWduPSJs ZWZ0Ij5lZm1DdUFkbWluUHJvZmlsZSwgZWZtQ3VQbWVBZG1pblByb2ZpbGU8L3RkPg0KPC90cj4N Cjx0cj4NCjx0ZCBhbGlnbj0ibGVmdCI+YU9wZXJhdGluZ1Byb2ZpbGU8L3RkPg0KPHRkIGFsaWdu PSJsZWZ0Ij5lZm1DdVBtZU9wZXJQcm9maWxlPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgYWxpZ249 ImxlZnQiPmFQTUVGRUNDb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPHRkIGFsaWduPSJsZWZ0Ij5lZm1D dVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrczwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIGFsaWduPSJs ZWZ0Ij5hUE1FRkVDVW5jb3JyZWN0YWJsZUJsb2NrczwvdGQ+DQo8dGQgYWxpZ249ImxlZnQiPmVm bUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3M8L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8dGFi bGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGFsaWduPSJjZW50 ZXIiPjx0cj48dGQgYWxpZ249ImNlbnRlciI+PGZvbnQgZmFjZT0ibW9uYWNvLCBNUyBTYW5zIFNl cmlmIiBzaXplPSIxIj48Yj4mbmJzcDtUYWJsZSAyOiBNYXBwaW5nIG9mIElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3RzJm5ic3A7PC9iPjwvZm9udD48YnIgLz48L3RkPjwvdHI+PC90YWJsZT48aHIg Y2xhc3M9Imluc2VydCIgLz4NCg0KPGEgbmFtZT0iYW5jaG9yMTgiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjUiPjwvYT48aDM+NS4mbmJzcDsNCkludGVyZmFjZSBTdGFjayBDYXBhYmls aXR5IE1JQiBEZWZpbml0aW9uczwvaDM+DQo8ZGl2IHN0eWxlPSdkaXNwbGF5OiB0YWJsZTsgd2lk dGg6IDA7IG1hcmdpbi1sZWZ0OiAzZW07IG1hcmdpbi1yaWdodDogYXV0byc+PHByZT4NCklGLUNB UC1TVEFDSy1NSUIgREVGSU5JVElPTlMgOjo9IEJFR0lODQoNCiAgSU1QT1JUUw0KICAgIE1PRFVM RS1JREVOVElUWSwgT0JKRUNULVRZUEUsIG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAg ICAgICAtLSBSRkMgMjU3OA0KICAgIFRydXRoVmFsdWUNCiAgICAgIEZST00gU05NUHYyLVRDICAg ICAgICAgIC0tIFJGQyAyNTc5DQogICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUA0K ICAgICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODANCiAgICBpZlN0YWNrR3Jv dXAyLCBpZlN0YWNrSGlnaGVyTGF5ZXIsIGlmU3RhY2tMb3dlckxheWVyDQogICAgICBGUk9NIElG LU1JQiAgICAgICAgICAgICAtLSBSRkMgMjg2Mw0KICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAg RlJPTSBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQNCiAgICA7DQoNCiAgaWZDYXBT dGFja01JQiBNT0RVTEUtSURFTlRJVFkNCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAwMFoi ICAtLSBGZWJydWFyeSAyMSwgMjAwNw0KICAgIE9SR0FOSVpBVElPTiAiSUVURiBFdGhlcm5ldCBJ bnRlcmZhY2VzIGFuZCBIdWIgTUlCIFdvcmtpbmcgR3JvdXAiDQogICAgQ09OVEFDVC1JTkZPDQog ICAgICAiV0cgY2hhcnRlcjoNCiAgICAgICAgaHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0 ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWwNCg0KICAgICAgTWFpbGluZyBMaXN0czoNCiAgICAgICAg R2VuZXJhbCBEaXNjdXNzaW9uOiBodWJtaWJAaWV0Zi5vcmcNCiAgICAgICAgVG8gU3Vic2NyaWJl OiBodWJtaWItcmVxdWVzdEBpZXRmLm9yZw0KICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91 cl9lbWFpbF9hZGRyZXNzDQoNCiAgICAgIENoYWlyOiAgQmVydCBXaWpuZW4NCiAgICAgIFBvc3Rh bDogQWxjYXRlbC1MdWNlbnQNCiAgICAgICAgICAgICAgU2NoYWdlbiAzMw0KICAgICAgICAgICAg ICAzNDYxIEdMIExpbnNjaG90ZW4NCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMNCiAgICAgICAg IFRlbDogKzMxLTM0OC00MDctNzc1DQogICAgICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNl bnQuY29tDQoNCiAgICAgIEVkaXRvcjogRWR3YXJkIEJlaWxpDQogICAgICBQb3N0YWw6IEFjdGVs aXMgTmV0d29ya3MgSW5jLg0KICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3 Mw0KICAgICAgICAgICAgICBQZXRhY2gtVGlrdmEgMTAxNzMNCiAgICAgICAgICAgICAgSXNyYWVs DQogICAgICAgICAgICAgIFRlbDogKzk3Mi0zLTkyNC0zNDkxDQogICAgICBFLW1haWw6IGVkd2Fy ZC5iZWlsaUBhY3RlbGlzLmNvbSINCg0KICAgIERFU0NSSVBUSU9ODQogICAgICAiVGhlIG9iamVj dHMgaW4gdGhpcyBNSUIgbW9kdWxlIGFyZSB1c2VkIHRvIGRlc2NyaWJlDQogICAgICBjcm9zcy1j b25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVkKSBpbnRlcmZhY2VzLA0KICAg ICAgY29tcGxlbWVudGluZyBpZlN0YWNrVGFibGUgYW5kIGlmSW52U3RhY2tUYWJsZSBkZWZpbmVk IGluDQogICAgICBJRi1NSUIgYW5kIElGLUlOVkVSVEVELVNUQUNLLU1JQiByZXNwZWN0aXZlbHku DQoNCiAgICAgIENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJz aW9uDQogICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0 aGUgUkZDDQogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgREVTQ1JJ UFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAgICAg LS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIgJmFtcDsN CiAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0KICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAg ICAgIC0tIEVkTm90ZTogUmVwbGFjZSBaWlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAg ICAgIC0tIGFsbG9jYXRlZCAmYW1wOyByZW1vdmUgdGhpcyBub3RlLg0KDQogICAtLSBTZWN0aW9u cyBvZiB0aGUgbW9kdWxlDQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0 MTgxLCBzZWUNCiAgIC0tIEFwcGVuZGl4IEQ6IFN1Z2dlc3RlZCBPSUQgTGF5b3V0DQoNCiAgIGlm Q2FwU3RhY2tPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlC IDEgfQ0KDQogICBpZkNhcFN0YWNrQ29uZm9ybWFuY2UgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg aWZDYXBTdGFja01JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgLS0N CiAgIC0tIGlmQ2FwU3RhY2tUYWJsZSBncm91cA0KICAgLS0NCg0KICAgaWZDYXBTdGFja1RhYmxl ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBJZkNhcFN0YWNrRW50 cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVy IGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwNCiAgICAgICBjb250YWlucyBpbmZvcm1hdGlvbiBv biB0aGUgcG9zc2libGUgJ29uLXRvcC1vZicNCiAgICAgICByZWxhdGlvbnNoaXBzIGJldHdlZW4g dGhlIG11bHRpcGxlIHN1Yi1sYXllcnMgb2YgbmV0d29yaw0KICAgICAgIGludGVyZmFjZXMgKGFz IG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hpcHMgZGVzY3JpYmVkIGluDQogICAgICAgaWZT dGFja1RhYmxlKS4gSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgaW5mb3JtYXRpb24gb24NCiAg ICAgICB3aGljaCBzdWItbGF5ZXJzIE1BWSBwb3NzaWJseSBydW4gJ29uIHRvcCBvZicgd2hpY2gg b3RoZXINCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRlcm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiB0aGUNCiAgICAgICBkZXZpY2UsIHdoZXJlIGVhY2ggc3ViLWxheWVyIGNv cnJlc3BvbmRzIHRvIGEgY29uY2VwdHVhbCByb3cNCiAgICAgICBpbiB0aGUgaWZUYWJsZS4gRm9y IGV4YW1wbGUsIHdoZW4gdGhlIHN1Yi1sYXllciB3aXRoIGlmSW5kZXgNCiAgICAgICB2YWx1ZSB4 IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0aGUgc3ViLWxheWVyIHdpdGgNCiAg ICAgICBpZkluZGV4IHZhbHVlIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgaWZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0KDQogICAgICAgaWZDYXBTdGFja1N0YXR1cy54 Lnkgcm93IGRvZXMgbm90IGV4aXN0IGlmIGl0IGlzIGltcG9zc2libGUNCiAgICAgICB0byBjb25u ZWN0IGJldHdlZW4gdGhlIHN1Yi1sYXllcnMgeCBhbmQgeS4NCg0KICAgICAgIE5vdGUgdGhhdCBm b3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUuZy4gMkJBU0UtVEwpDQogICAgICAgdGhlcmUn cyBhbHdheXMgYXQgbGVhc3Qgb25lIGhpZ2hlci1sZXZlbCBpbnRlcmZhY2UgKGUuZy4gUENTDQog ICAgICAgcG9ydCkgZm9yIGVhY2ggbG93ZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBNRSkgYW5k IGF0DQogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVsIGludGVyZmFjZSBmb3IgZWFjaCBoaWdo ZXItbGV2ZWwNCiAgICAgICBpbnRlcmZhY2UsIHRoYXQgaXMsIHRoZXJlIGlzIGF0IGxlYXN0IGEg c2luZ2xlIHJvdyB3aXRoIGENCiAgICAgICAndHJ1ZScgc3RhdHVzIGZvciBhbnkgZXhpc3Rpbmcg dmFsdWUgb2YgeCBvciB5Lg0KDQogICAgICAgVGhpcyB0YWJsZSBpcyByZWFkIG9ubHkgYXMgaXQg ZGVzY3JpYmVzIGRldmljZSBjYXBhYmlsaXR5Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiSUYt TUlCLCBpZlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3RhY2tPYmplY3RzIDEgfQ0KDQog ICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElmQ2FwU3Rh Y2tFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFy dGljdWxhciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28NCiAgICAgICBzdWItbGF5ZXJzLCBzcGVj aWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuDQogICAgICAgb24gJ3Rv cCcgb2YgdGhlIG90aGVyIHN1Yi1sYXllci4gRWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMNCiAg ICAgICB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlIChpbnRlcmZhY2UgaW5kZXgg Zm9yDQogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4iDQogICAg IElOREVYIHsNCiAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgaWZTdGFja0xvd2Vy TGF5ZXINCiAgICAgfQ0KICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgIElmQ2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICBpZkNhcFN0YWNrU3RhdHVzICAgICAg IFRydXRoVmFsdWUNCiAgICAgIH0NCg0KICAgaWZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUg c3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAg ICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUg cmV0dXJuZWQ6DQogICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUg c3ViLWxheWVyIGludGVyZmFjZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZp ZWQgYnkgdGhlIGlmU3RhY2tMb3dlckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgYmUgY29ubmVjdGVkIHRvIHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgIGZhbHNl KDIpICAgICAgICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUu Zy4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxl IG1vZHVsZS4NCg0KICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2UgYXZhaWxh YmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBv ZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgIG90aGVyIHBhcmFtZXRlcnMs IGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0KICAgICAgIGEgaGln aGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGluDQog ICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXIt bGF5ZXINCiAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IGEgcGFydGlj dWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgYmUgY29ubmVjdGVkIHRvIGFub3RoZXIgc3ViLWxh eWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxl LCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2FwYWNpdHkgZm9yDQogICAgICAgZm9yIEVGTUN1 IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3BlY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMsIGFzIGl0DQogICAgICAgZGVzY3JpYmVz IGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5 IDEgfQ0KDQogICBpZkludkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgICAgU0VRVUVOQ0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXllcnMg b2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQogICAgICAgdGFibGUsIG1vZGVsZWQgYWZ0ZXIg aWZJbnZTdGFja1RhYmxlIGZyb20NCiAgICAgICBJRi1JTlZFUlRFRC1TVEFDSy1NSUIsIGlzIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2FwU3RhY2tUYWJsZQ0KICAgICAgIGRlZmluZWQgaW4gdGhpcyBN SUIgbW9kdWxlLg0KICAgICAgIEluIHBhcnRpY3VsYXIsIHRoaXMgdGFibGUgY29udGFpbnMgaW5m b3JtYXRpb24gb24gd2hpY2gNCiAgICAgICBzdWItbGF5ZXJzIE1BWSBydW4gJ3VuZGVybmVhdGgn IHdoaWNoIG90aGVyIHN1Yi1sYXllcnMsIHdoZXJlDQogICAgICAgZWFjaCBzdWItbGF5ZXIgY29y cmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4NCiAgICAgICBGb3Ig ZXhhbXBsZSwgd2hlbiB0aGUgc3ViLWxheWVyIHdpdGggaWZJbmRleCB2YWx1ZSB4IE1BWSBiZQ0K ICAgICAgIGNvbm5lY3RlZCB0byBydW4gdW5kZXJuZWF0aCB0aGUgc3ViLWxheWVyIHdpdGggaWZJ bmRleCB2YWx1ZQ0KICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoNCg0KICAgICAg ICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMueC55PXRydWUNCg0KICAgICAgIFRoaXMgdGFibGUgY29u dGFpbnMgZXhhY3RseSB0aGUgc2FtZSBudW1iZXIgb2Ygcm93cyBhcyB0aGUNCiAgICAgICBpZkNh cFN0YWNrVGFibGUsIGJ1dCB0aGUgcm93cyBhcHBlYXIgaW4gYSBkaWZmZXJlbnQgb3JkZXIuDQoN CiAgICAgICBUaGlzIHRhYmxlIGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgYSBjcm9zcy1j b25uZWN0DQogICAgICAgY2FwYWJpbGl0eS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICAiSUYt SU5WRVJURUQtU1RBQ0stTUlCLCBpZkludlN0YWNrVGFibGUiDQogICAgIDo6PSB7IGlmQ2FwU3Rh Y2tPYmplY3RzIDIgfQ0KDQogICBpZkludkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgICAgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgIE1BWC1BQ0NFU1MgICAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdl ZW4gdHdvIHN1Yi0NCiAgICAgICAgbGF5ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXll ciBNQVkgcnVuIHVuZGVybmVhdGggdGhlDQogICAgICAgIG90aGVyIHN1Yi1sYXllci4gRWFjaCBz dWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsDQogICAgICAgIHJvdyBpbiB0aGUg aWZUYWJsZS4iDQogICAgIElOREVYIHsgaWZTdGFja0xvd2VyTGF5ZXIsIGlmU3RhY2tIaWdoZXJM YXllciB9DQogICAgIDo6PSB7IGlmSW52Q2FwU3RhY2tUYWJsZSAxIH0NCg0KICAgIElmSW52Q2Fw U3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgICAg ICBUcnV0aFZhbHVlDQogICAgfQ0KDQogICBpZkludkNhcFN0YWNrU3RhdHVzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgICAgIHJl YWQtb25seQ0KICAgICBTVEFUVVMgICAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSBwb3NzaWJsZSAnY3Jvc3MtY29ubmVjdCBjYXBhYmls aXR5Jw0KICAgICAgICByZWxhdGlvbnNoaXAgYmV0d2VlbiB0d28gc3ViLWxheWVycy4NCg0KICAg ICAgICBBbiBpbnN0YW5jZSBvZiB0aGlzIG9iamVjdCBleGlzdHMgZm9yIGVhY2ggaW5zdGFuY2Ug b2YgdGhlDQogICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMgb2JqZWN0LCBhbmQgdmljZSB2ZXJzYS4g Rm9yIGV4YW1wbGUsIGlmIHRoZQ0KICAgICAgICB2YXJpYWJsZSBpZkNhcFN0YWNrU3RhdHVzLkgu TCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlDQogICAgICAgIGlmSW52U3RhY2tTdGF0dXMuTC5I IG11c3QgYWxzbyBleGlzdCwgYW5kIHZpY2UgdmVyc2EuICBJbg0KICAgICAgICBhZGRpdGlvbiwg dGhlIHR3byB2YXJpYWJsZXMgYWx3YXlzIGhhdmUgdGhlIHNhbWUgdmFsdWUuDQoNCiAgICAgICAg VGhlIGlmSW52U3RhY2tTdGF0dXMgb2JqZWN0IGlzIHJlYWQtb25seSwgYXMgaXQgZGVzY3JpYmVz DQogICAgICAgIGEgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5LiINCiAgICAgUkVGRVJFTkNFDQog ICAgICAgICJpZkNhcFN0YWNrU3RhdHVzIg0KICAgICA6Oj0geyBpZkludkNhcFN0YWNrRW50cnkg MSB9DQoNCiAgLS0NCiAgLS0gQ29uZm9ybWFuY2UgU3RhdGVtZW50cw0KICAtLQ0KDQogICBpZkNh cFN0YWNrR3JvdXBzICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBT dGFja0NvbmZvcm1hbmNlIDEgfQ0KDQogICBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgT0JKRUNUIElE RU5USUZJRVIgOjo9DQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQ0KDQogICAt LSBVbml0cyBvZiBDb25mb3JtYW5jZQ0KDQogICBpZkNhcFN0YWNrR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsDQogICAgICAgaWZJbnZD YXBTdGFja1N0YXR1cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgaW5mb3JtYXRp b24gb24gdGhlDQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVy IChzdGFja2VkKSBuZXR3b3JrDQogICAgICAgaW50ZXJmYWNlcy4iDQogICAgIDo6PSB7IGlmQ2Fw U3RhY2tHcm91cHMgMSB9DQoNCg0KICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgaWZD YXBTdGFja0NvbXBsaWFuY2UgTU9EVUxFLUNPTVBMSUFOQ0UNCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQg Zm9yIFNOTVAgZW50aXRpZXMsIHdoaWNoIHByb3ZpZGUNCiAgICAgICBpbmZvcm1hdGlvbiBvbiB0 aGUgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyDQogICAgICAgKHN0YWNr ZWQpIG5ldHdvcmsgaW50ZXJmYWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0DQogICAg ICAgYmV0d2VlbiB0aGUgc3ViLWxheWVycy4iDQoNCg0KICAgICBNT0RVTEUgIC0tIHRoaXMgbW9k dWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBpZkNhcFN0YWNrR3JvdXAN CiAgICAgICB9DQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9y DQogICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNl cy4iDQoNCiAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgIFNZ TlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQog ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAg ICAgIGlmU3RhY2tHcm91cDINCiAgICAgICB9DQoNCiAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1T VEFDSy1NSUINCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsNCiAgICAgICAgIGlmSW52U3RhY2tH cm91cA0KICAgICAgIH0NCg0KICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQpF TkQNCjwvcHJlPjwvZGl2Pg0KPGEgbmFtZT0iYW5jaG9yMTkiPjwvYT48YnIgLz48aHIgLz4NCjx0 YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xh c3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9 IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJm Yy5zZWN0aW9uLjYiPjwvYT48aDM+Ni4mbmJzcDsNCkVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25z PC9oMz4NCjxkaXYgc3R5bGU9J2Rpc3BsYXk6IHRhYmxlOyB3aWR0aDogMDsgbWFyZ2luLWxlZnQ6 IDNlbTsgbWFyZ2luLXJpZ2h0OiBhdXRvJz48cHJlPg0KRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6 Oj0gQkVHSU4NCg0KICBJTVBPUlRTDQogICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwg Tk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICBVbnNpZ25lZDMyLCBDb3VudGVyMzIs IG1pYi0yDQogICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3OA0KICAgIFRF WFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlzQWRkcmVzcw0KICAg ICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICBNT0RVTEUtQ09NUExJ QU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVANCiAgICAgIEZST00gU05NUHYy LUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgU25tcEFkbWluU3RyaW5nDQogICAgICBGUk9N IFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQxMQ0KICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAg ICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0tIFJGQyAyODYzDQogICAgOw0KDQogIGVmbUN1 TUlCIE1PRFVMRS1JREVOVElUWQ0KICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IEludGVy ZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICBDT05UQUNULUlORk8NCiAgICAg ICJXRyBjaGFydGVyOg0KICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRlcnMv aHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICBNYWlsaW5nIExpc3RzOg0KICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAgICBUbyBTdWJzY3JpYmU6IGh1 Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2Vt YWlsX2FkZHJlc3MNCg0KICAgICAgQ2hhaXI6ICBCZXJ0IFdpam5lbg0KICAgICAgUG9zdGFsOiBB bGNhdGVsLUx1Y2VudA0KICAgICAgICAgICAgICBTY2hhZ2VuIDMzDQogICAgICAgICAgICAgIDM0 NjEgR0wgTGluc2Nob3Rlbg0KICAgICAgICAgICAgICBOZXRoZXJsYW5kcw0KICAgICAgICAgVGVs OiArMzEtMzQ4LTQwNy03NzUNCiAgICAgIEUtbWFpbDogYndpam5lbkBhbGNhdGVsLWx1Y2VudC5j b20NCg0KICAgICAgRWRpdG9yOiBFZHdhcmQgQmVpbGkNCiAgICAgIFBvc3RhbDogQWN0ZWxpcyBO ZXR3b3JrcyBJbmMuDQogICAgICAgICAgICAgIDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczDQog ICAgICAgICAgICAgIFBldGFjaC1UaWt2YSAxMDE3Mw0KICAgICAgICAgICAgICBJc3JhZWwNCiAg ICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0OTENCiAgICAgIEUtbWFpbDogZWR3YXJkLmJl aWxpQGFjdGVsaXMuY29tIg0KDQogICAgREVTQ1JJUFRJT04NCiAgICAgICJUaGUgb2JqZWN0cyBp biB0aGlzIE1JQiBtb2R1bGUgYXJlIHVzZWQgdG8gbWFuYWdlDQogICAgICB0aGUgRXRoZXJuZXQg aW4gdGhlIEZpcnN0IE1pbGUgKEVGTSkgQ29wcGVyIChFRk1DdSkgSW50ZXJmYWNlcw0KICAgICAg MkJBU0UtVEwgYW5kIDEwUEFTUy1UUywgZGVmaW5lZCBpbiBJRUVFIFN0ZC4gODAyLjNhaC0yMDA0 LA0KICAgICAgd2hpY2ggaXMgbm93IGEgcGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4NCg0K ICAgICAgVGhlIGZvbGxvd2luZyByZWZlcmVuY2VzIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhpcyBN SUIgbW9kdWxlOg0KDQogICAgICBbODAyLjNhaF0gcmVmZXJzIHRvOg0KICAgICAgICBJRUVFIFN0 ZCA4MDIuM2FoLTIwMDQ6ICdJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbg0KICAgICAgICB0 ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQ0K ICAgICAgICBiZXR3ZWVuIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0 d29ya3MgLQ0KICAgICAgICBTcGVjaWZpYyByZXF1aXJlbWVudHMgLQ0KICAgICAgICBQYXJ0IDM6 IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uDQogICAgICAgIERl dGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXINCiAgICAg ICAgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250 cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAgICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQ YXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vzcw0KICAgICAgICBOZXR3b3JrcycsIDA3IFNl cHRlbWJlciAyMDA0Lg0KDQogICAgICBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IGFyZSBDbGF1c2Ug NjEsICdQaHlzaWNhbCBDb2RpbmcNCiAgICAgIFN1YmxheWVyIChQQ1MpIGFuZCBjb21tb24gc3Bl Y2lmaWNhdGlvbnMsIHR5cGUgMTBQQVNTLVRTIGFuZA0KICAgICAgdHlwZSAyQkFTRS1UTCcsIENs YXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsDQogICAgICAnTWFuYWdlbWVudCBEYXRh IElucHV0L091dHB1dCAoTURJTykgSW50ZXJmYWNlJywgQW5uZXggNjJBLA0KICAgICAgJ1BNRCBw cm9maWxlcyBmb3IgMTBQQVNTLVRTJyBhbmQgQW5uZXggNjNBLCAnUE1EIHByb2ZpbGVzIGZvcg0K ICAgICAgMkJBU0UtVEwnLg0KDQogICAgICBbRy45OTEuMl0gcmVmZXJzIHRvOg0KICAgICAgICBJ VFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1zcGVlZCBEaWdp dGFsDQogICAgICAgIFN1YnNjcmliZXIgTGluZSAoU0hEU0wpIHRyYW5zY2VpdmVycycsIERlY2Vt YmVyIDIwMDMuDQoNCiAgICAgIFtBTkZQXSByZWZlcnMgdG86DQogICAgICAgIE5JQ0MgRG9jdW1l bnQgTkQxNjAyOjIwMDUvMDg6ICdTcGVjaWZpY2F0aW9uIG9mIHRoZSBBY2Nlc3MNCiAgICAgICAg TmV0d29yayBGcmVxdWVuY3kgUGxhbiAoQU5GUCkgYXBwbGljYWJsZSB0byB0cmFuc21pc3Npb24N CiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3VzdCAy MDA1Lg0KDQogICAgICBOYW1pbmcgQ29udmVudGlvbnM6DQogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24NCiAgICAgICAgQ08gICAgLSBDZW50cmFsIE9mZmljZQ0KICAgICAgICBDUEUgICAtIEN1 c3RvbWVyIFByZW1pc2VzIEVxdWlwbWVudA0KICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRo ZSBGaXJzdCBNaWxlDQogICAgICAgIEVGTUN1IC0gRUZNIENvcHBlcg0KICAgICAgICBNRElPICAt IE1hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQNCiAgICAgICAgTWduICAgLSBNYXJnaW4NCiAg ICAgICAgUEFGICAgLSBQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24NCiAgICAgICAgUEJPICAgLSBQ b3dlciBCYWNrLU9mZg0KICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcg0K ICAgICAgICBQTUQgICAtIFBoeXNpY2FsIE1lZGl1bSBEZXBlbmRlbnQNCiAgICAgICAgUE1FICAg LSBQaHlzaWNhbCBNZWRpdW0gRW50aXR5DQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwg RGVuc2l0eQ0KICAgICAgICBTTlIgICAtIFNpZ25hbCB0byBOb2lzZSBSYXRpbw0KICAgICAgICBU Q1BBTSAtIFRyZWxsaXMgQ29kZWQgUHVsc2UgQW1wbGl0dWRlIE1vZHVsYXRpb24NCg0KICAgICAg Q29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuICBUaGlzIHZlcnNpb24NCiAgICAg IG9mIHRoaXMgTUlCIG1vZHVsZSBpcyBwYXJ0IG9mIFJGQyBYWFhYOyAgc2VlIHRoZSBSRkMNCiAg ICAgIGl0c2VsZiBmb3IgZnVsbCBsZWdhbCBub3RpY2VzLiINCg0KICAgIFJFVklTSU9OICAgICIy MDA3MDIyMTAwMDBaIiAgLS0gRmVicnVhcnkgMjEsIDIwMDcNCiAgICBERVNDUklQVElPTiAiSW5p dGlhbCB2ZXJzaW9uLCBwdWJsaXNoZWQgYXMgUkZDIFhYWFguIg0KDQogICAgICAtLSBFZE5vdGU6 IFJlcGxhY2UgWFhYWCB3aXRoIHRoZSBhY3R1YWwgUkZDIG51bWJlciAmYW1wOw0KICAgICAgLS0g cmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgOjo9IHsgbWliLTIgWVlZIH0NCg0KICAgICAgLS0gRWRO b3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcw0KICAgICAgLS0gYWxs b2NhdGVkICZhbXA7IHJlbW92ZSB0aGlzIG5vdGUuDQoNCiAgIC0tIFNlY3Rpb25zIG9mIHRoZSBt b2R1bGUNCg0KICAgZWZtQ3VPYmplY3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1D dU1JQiAxIH0NCg0KICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdU1JQiAyIH0NCg0KICAgLS0gR3JvdXBzIGluIHRoZSBtb2R1bGUNCg0KICAgZWZtQ3VQb3J0 ICAgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdU9iamVjdHMgMSB9DQoNCiAgIGVm bUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmplY3RzIDIgfQ0K DQogICAtLSBUZXh0dWFsIENvbnZlbnRpb25zDQoNCiAgIEVmbVByb2ZpbGVJbmRleCA6Oj0gVEVY VFVBTC1DT05WRU5USU9ODQogICAgIERJU1BMQVktSElOVCAiZCINCiAgICAgU1RBVFVTICAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSB1bmlxdWUgdmFsdWUsIGdyZWF0 ZXIgdGhhbiB6ZXJvLCBmb3IgZWFjaCBQTUUgY29uZmlndXJhdGlvbg0KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdA0KICAgICAg IHZhbHVlcyBhcmUgYXNzaWduZWQgY29udGlndW91c2x5IHN0YXJ0aW5nIGZyb20gMS4gVGhlIHZh bHVlDQogICAgICAgZm9yIGVhY2ggcHJvZmlsZSBNVVNUIHJlbWFpbiBjb25zdGFudCBhdCBsZWFz dCBmcm9tIG9uZQ0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3 b3JrIG1hbmFnZW1lbnQgc3lzdGVtDQogICAgICAgdG8gdGhlIG5leHQgcmUtaW5pdGlhbGl6YXRp b24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMS4uMjU1KQ0KDQogICBFZm1Qcm9m aWxlSW5kZXhPclplcm8gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBESVNQTEFZLUhJTlQg ImQiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiBFZm1Qcm9maWxlSW5k ZXgNCiAgICAgICBjb252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4g emVybyB2YWx1ZSB1c2VkDQogICAgICAgdG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZSBpbiB0aGUg bWFuYWdlZCBFRk1DdSBwb3J0LiBUaGlzDQogICAgICAgZXh0ZW5zaW9uIHBlcm1pdHMgdGhlIGFk ZGl0aW9uYWwgdmFsdWUgb2YgemVyby4gVGhlIHZhbHVlIG9mDQogICAgICAgemVybyBpcyBvYmpl Y3Qtc3BlY2lmaWMgYW5kIE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydA0KICAgICAg IG9mIHRoZSBkZXNjcmlwdGlvbiBvZiBhbnkgb2JqZWN0IHdoaWNoIHVzZXMgdGhpcyBzeW50YXgu DQogICAgICAgRXhhbXBsZXMgb2YgdGhlIHVzYWdlIG9mIHplcm8gdmFsdWUgbWlnaHQgaW5jbHVk ZSBzaXR1YXRpb25zDQogICAgICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlz IHVua25vd24uIg0KICAgICBTWU5UQVggICAgICAgVW5zaWduZWQzMiAoMC4uMjU1KQ0KDQogICBF Zm1Qcm9maWxlSW5kZXhMaXN0IDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgRElTUExBWS1I SU5UICIxZDoiDQogICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIHJlcHJlc2VudHMgYSBsaXN0IG9mIHVwIHRv IDYNCiAgICAgICBFZm1Qcm9maWxlSW5kZXgncywgYW55IG9mIHdoaWNoIGNhbiBiZSBjaG9zZW4g Zm9yDQogICAgICAgY29uZmlndXJhdGlvbiBvZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBv cnQuDQogICAgICAgVGhlIEVmbVByb2ZpbGVJbmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5l cyBhIGdyZWF0ZXIgdGhhbg0KICAgICAgIHplcm8gdmFsdWUgdXNlZCB0byBpZGVudGlmeSBhIFBN RSBwcm9maWxlLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGNvbmNhdGVu YXRpb24gb2Ygb25lIG9yDQogICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNo IG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgRWZtUHJvZmlsZUluZGV4IHZhbHVlLg0K ICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9iamVjdC1zcGVjaWZpYyBhbmQg TVVTVA0KICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICB3aGljaCB1c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxl cyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRl IHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVzaW5nIHRoaXMNCiAgICAgICB0ZXh0dWFsIGNv bnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAg dHlwZS4iDQogICAgIFNZTlRBWCAgICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAg IEVmbVRydXRoVmFsdWVPclVua25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICBTVEFU VVMgICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRleHR1YWwg Y29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICBjb252 ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICBw b3NzaWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3aGVu IGFuIGV4YWN0DQogICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0IGNhbm5v dCBiZSBkZXRlcm1pbmVkLiINCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1bmtub3duKDAp LCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgLS0gUG9ydCBOb3RpZmljYXRpb25zIEdyb3VwDQoN CiAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQ b3J0IDAgfQ0KDQogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQRQ0KICAg ICBPQkpFQ1RTIHsNCiAgICAgICAtLSBpZkluZGV4IGlzIG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3 ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAgaWZTcGVlZCwNCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUNCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1D dSBwb3J0JyBkYXRhIHJhdGUNCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4 Y2VlZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1 VGhyZXNoTG93UmF0ZS4NCg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZv ciB0aGUgLU8gc3VidHlwZSBwb3J0cw0KICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hp bGUgdGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgdGhyZXNo b2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZA0K ICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90IGFwcGxp Y2FibGUgdG8NCiAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBJdCBpcyBSRUNPTU1F TkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNlYywNCiAgICAgICBi ZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQgbm90aWZpY2F0aW9uLA0K ICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5r RG93biBhbmQNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHRvIGJl IHNlbnQuDQoNCiAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9s b2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgIGFkYXB0IGl0c2VsZiB0byB0aGUgY2hhbmdl cyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAgYW4gaW1wdWxzZSBub2lz ZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0aW9uIG1heQ0KICAgICAgIHRl bXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAs DQogICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRpb24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZN Q3UgbGluay4NCiAgICAgICBUaGUgZHJvcHBlZCBQTUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWlu aXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBh ZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlkZQ0KICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIg bWFyZ2luLg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250 cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4i DQogICAgIDo6PSB7IGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgIC0tIFBDUyBQb3J0 IGdyb3VwDQoNCiAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1Mt VFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUgbWFp bnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVmbUN1 UG9ydCAxIH0NCg0KICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJs ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFu IGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgRWFj aCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4N CiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5n bGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhl ZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICBTRVFV RU5DRSB7DQogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywNCiAg ICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhMaXN0 LA0KICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQog ICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAgICAg ICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZhbHVlLA0KICAgICAgIGVm bUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VM b3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1 UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQog ICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICBkaXNhYmxlZCgyKQ0KICAgICB9DQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBv ZiB0aGUgRUZNQ3UgcG9ydA0KICAgICAgIChQQ1MpLg0KICAgICAgIFdoZW4gJ2Rpc2FibGVkJywg UE1FIEFnZ3JlZ2F0aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICBQQ1Mu IE5vIG1vcmUgdGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGlu DQogICAgICAgdGhpcyBjYXNlLg0KICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBw ZXJmb3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgUENT IHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBv Zg0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9ydHMgU0hB TEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0aCBtdWx0aXBs ZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRv ICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAgICAgdW50aWwgYXQg bW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICBDaGFuZ2luZyBQQUZBZG1p blN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlvbiBhbmQNCiAgICAgICBhcyBz dWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0bw0KICAg ICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSByZWplY3RlZCBpZiB0aGUgbGluayBpcyBV cCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBBRkFkbWluU3RhdGUuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBD UyBjb250cm9sDQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJl IG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIFJFRkVSRU5DRQ0KICAg ICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 Q29uZkVudHJ5IDEgfQ0KDQogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQgKFBDUykuDQogICAg ICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1bmN0 aW9uLA0KICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAgICAgICBQQ1MgcG9ydHMgaW5j YXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHplcm8NCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4NCiAg ICAgICBhdHRlbXB0IHRvIHdyaXRlIHRvIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGZv ciBzdWNoDQogICAgICAgcG9ydHMuDQogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50 aWF0ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUNCiAgICAgICB3cml0aW5nIG9wZXJh dGlvbnMgb24gdGhlIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZQ0KICAgICAgIChTZXRfaWZf Q2xlYXIgYW5kIENsZWFyX2lmX1NhbWUpIGFyZSBwZXJmb3JtZWQgYnkgUE1Fcw0KICAgICAgIGFz c29jaWF0ZWQgd2l0aCB0aGUgUENTLg0KICAgICAgIFRoZSBpbml0aWFsIHZhbHVlIG9mIHRoaXMg b2JqZWN0IGZvciAtUiBzdWJ0eXBlIHBvcnRzIGFmdGVyDQogICAgICAgcmVzZXQgaXMgYWxsIHpl cm9lcy4gRm9yIC1SIHN1YnR5cGUgcG9ydHMsIHRoZSB2YWx1ZSBvZiB0aGlzDQogICAgICAgb2Jq ZWN0IGNhbm5vdCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2Vk DQogICAgICAgYXMgYSByZXN1bHQgb2Ygd3JpdGluZyBvcGVyYXRpb24gb24gdGhlDQogICAgICAg ZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlIG9iamVjdCBvZiByZW1vdGUgUE1FIG9mIC1PDQog ICAgICAgc3VidHlwZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lh dGVkIHdpdGgNCiAgICAgICB0aGUgUENTLg0KDQogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAgICAgIFNOTVAgd2l0 aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAg ICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIFRoZSBQQUYgRGlzY292ZXJ5IGNvZGUgbWFwcyB0 byB0aGUgbG9jYWwgRGlzY292ZXJ5IGNvZGUNCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUg dGhhdCBpdCBkb2VzIG5vdCBoYXZlIGEgY29ycmVzcG9uZGluZw0KICAgICAgIENsYXVzZSA0NSBy ZWdpc3RlcikiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywg NjEuMi4yLjguNCwgNDUuMi42LjYuMSwgNDUuMi42LjgsDQogICAgICAgNjFBLjIiDQogICAgIDo6 PSB7IGVmbUN1UG9ydENvbmZFbnRyeSAyIH0NCg0KICAgZWZtQ3VBZG1pblByb2ZpbGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleExpc3QNCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlvbiBQcm9maWxlKHMpLCBjb21tb24gZm9y IGFsbCBQTUVzIGluIHRoZQ0KICAgICAgIEVGTUN1IHBvcnQuIFRoaXMgb2JqZWN0IGlzIGEgbGlz dCBvZiBwb2ludGVycyB0byBlbnRyaWVzIGluDQogICAgICAgZWl0aGVyIGVmbUN1UG1lMkJQcm9m aWxlVGFibGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9u IHRoZSBjdXJyZW50DQogICAgICAgb3BlcmF0aW5nIFN1YlR5cGUgb2YgdGhlIEVGTUN1IHBvcnQg YXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQb3J0U2lkZS4NCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5kaWNlcyBvZg0KICAgICAgIFBy b2ZpbGVzLiBJZiB0aGlzIGxpc3QgY29uc2lzdHMgb2YgYSBzaW5nbGUgUHJvZmlsZSBpbmRleCwN CiAgICAgICB0aGVuIGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgRUZNQ3UgcG9ydCBTSEFMTCBi ZSBjb25maWd1cmVkDQogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9maWxlIHJlZmVyZW5jZWQg YnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0DQogICAgICAgaXMgb3ZlcndyaXR0ZW4gYnkgY29ycmVz cG9uZGluZyBub24temVybyBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICB3aGljaCB0YWtl cyBwcmVjZWRlbmNlIG92ZXIgZWZtQ3VBZG1pblByb2ZpbGUuDQogICAgICAgVGhlIGxpc3QsIGNv bnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2ggUE1FDQogICAgICAg aW4gdGhlIHBvcnQgdG8gYmUgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gYW55IFByb2ZpbGUNCiAg ICAgICBzcGVjaWZpZWQgaW4gdGhlIGxpc3QuDQogICAgICAgQnkgZGVmYXVsdCB0aGlzIG9iamVj dCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QNCiAgICAgICBlbnRyeSBpbiBl Zm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLg0KDQogICAg ICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8gc3VidHlw ZQ0KICAgICAgICgyQmFzZVRMLU8gb3IgMTBQYXNzVFMtTykgRUZNQ3UgcG9ydHMuIEl0IGlzIGly cmVsZXZhbnQgZm9yDQogICAgICAgdGhlIC1SICBzdWJ0eXBlICgyQmFzZVRMLVIgb3IgMTBQYXNz VFMtUikgcG9ydHMgLSBhIHplcm8NCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxMIGJl IHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZA0KICAgICAgIHRoaXMgb2JqZWN0IGFuZCBh biBhdHRlbXB0IHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgcmVqZWN0ZWQg aW4gdGhpcyBjYXNlLg0KDQogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgUHJv ZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSBv YmplY3QuDQoNCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0 aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkLCBpZiB0aGUNCiAgICAgICBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSBs aXN0IHdpdGggYSBtZW1iZXINCiAgICAgICB2YWx1ZSwgdGhhdCBpcyBub3QgdGhlIHZhbHVlIG9m IHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5DQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRp bmcgcHJvZmlsZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4NCg0KICAgICAgIFRoaXMgb2JqZWN0 IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiINCiAgICAgREVGVkFMIHsgJzAxJ0gg fQ0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1VGFyZ2V0RGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAw fDk5OTk5OSkNCiAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJEZXNpcmVkIEVGTUN1IHBvcnQgJ25ldCcgKGFzIHNlZW4gYWNyb3NzIE1JSSkgRGF0YSBSYXRl IGluDQogICAgICAgS2JwcywgdG8gYmUgYWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1 bmRlciBzcGVjdHJhbA0KICAgICAgIHJlc3RyaWN0aW9ucyBwbGFjZWQgb24gZWFjaCBQTUUgdmlh IGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHdpdGgg dGhlIGRlc2lyZWQgU05SIE1hcmdpbiBzcGVjaWZpZWQgYnkNCiAgICAgICBlZm1DdVRhcmdldFNu ck1nbi4NCiAgICAgICBJbiBjYXNlIG9mIFBBRiwgdGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHN1 bSBvZiBpbmRpdmlkdWFsIFBNRQ0KICAgICAgIGRhdGEgcmF0ZXMsIG1vZGlmaWVkIHRvIGNvbXBl bnNhdGUgZm9yIGZyYWdtZW50YXRpb24gYW5kDQogICAgICAgNjQvNjVCIGZyYW1pbmcgb3Zlcmhl YWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAxME1icHMNCiAgICAgICBTSEFMTCBhbGxvdyBs b3NzbGVzcyB0cmFuc21pc3Npb24gb2YgZnVsbC1kdXBsZXggMTBNYnBzDQogICAgICAgRXRoZXJu ZXQgZnJhbWUgc3RyZWFtIHdpdGggbWluaW1hbCBpbnRlci1mcmFtZSBnYXApLg0KDQogICAgICAg VGhlIHZhbHVlIGlzIGxpbWl0ZWQgYWJvdmUgYnkgMTAwTWJwcyBhcyB0aGlzIGlzIHRoZSBtYXgN CiAgICAgICBidXJzdCByYXRlIGFjcm9zcyBNSUkgZm9yIEVGTUN1IHBvcnRzLg0KDQogICAgICAg VGhlIHZhbHVlIGJldHdlZW4gMSBhbmQgMTAwMDAwIGluZGljYXRlcyB0aGF0IHRoZSB0b3RhbCBk YXRhDQogICAgICAgcmF0ZSAoaWZTcGVlZCkgb2YgdGhlIEVGTUN1IHBvcnQgYWZ0ZXIgaW5pdGlh bGl6YXRpb24gU0hBTEwNCiAgICAgICBiZSBlcXVhbCB0byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBv ciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZl ZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMgc3BlY2lmaWVkDQogICAgICAgYnkgZWZtQ3VB ZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblByb2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAg ICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNo aWV2ZQ0KICAgICAgIGhpZ2hlciB0b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBi eSB0aGUgdGFyZ2V0LCB0aGUNCiAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRo ZXIgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SDQogICAgICAgbWFyZ2luIG9yIHJlY2xhaW1l ZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICBieSBl Zm1DdUFkYXB0aXZlU3BlY3RyYS4NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMg dGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICBmaXhlZCBhbmQgU0hBTEwg YmUgc2V0IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICBpbml0 aWFsaXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEgUmF0ZSBNVVNU IGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBvZiBT Tk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAgbGlu ayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBEYXRh IFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQNCiAgICAgICBieSBpZlNwZWVk IG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA0IH0NCg0KICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMC4uMjEpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVk IG9uIGFsbCBQTUVzDQogICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFs aXppYXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICBOb3RlIHRo YXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4NCiAg ICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUyBwb3J0 cyBpbiBvcmRlcg0KICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBv ZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgc2VydmljZSBpbnRlcmZhY2UuDQoNCiAgICAgICBU aGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cw0K ICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAt UiBzdWJ0eXBlcy4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgU05SIE1hcmdpbiBN VVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMg dG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAoaW4gY2FzZSBv ZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlDQogICAgICAg bGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBT TlIgTWFyZ2luIG9mIHRoZSBQTUVzIGNvbXByaXNpbmcgdGhlIEVGTUN1DQogICAgICAgcG9ydCBp cyByZXByZXNlbnRlZCBieSBlZm1DdVBtZVNuck1nbi4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA2MS4xLjIiDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRy eSA1IH0NCg0KICAgZWZtQ3VBZGFwdGl2ZVNwZWN0cmEgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyBob3cg dG8gdXRpbGl6ZSBleGNlc3MgY2FwYWNpdHkgd2hlbiB0aGUgY29wcGVyDQogICAgICAgZW52aXJv bm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQN CiAgICAgICBzcGVjaWZpZWQgYnkgdGhlIGVmbUN1VGFyZ2V0RGF0YVJhdGUuDQoNCiAgICAgICBW YWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFM TCBiZQ0KICAgICAgIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyLCBlLmcu IHVzaW5nIGhpZ2hlcg0KICAgICAgIGNvbnN0ZWxsYXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwg aW4gb3JkZXIgdG8gcmVkdWNlDQogICAgICAgaW50ZXJmZXJlbmNlIHRvIG90aGVyIGNvcHBlciBw YWlycyBpbiB0aGUgYmluZGVyIGFuZCB0aGUNCiAgICAgICBhZHZlcnNlIGltcGFjdCB0byBsaW5r L3N5c3RlbSBwZXJmb3JtYW5jZS4NCg0KICAgICAgIFZhbHVlIG9mIGZhbHNlKDIpIGluZGljYXRl cyB0aGF0IHRoZSBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTA0KICAgICAgIGJlIGNvbnZlcnRlZCB0 byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5kIHNwcmVhZCBldmVubHkgYWNyb3NzDQogICAgICAg YWxsIGFjdGl2ZSBQTUVzIGFzc2lnbmVkIHRvIHRoZSAoUENTKSBwb3J0LCB0byBpbmNyZWFzZSBs aW5rDQogICAgICAgcm9idXN0bmVzcy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3Jp dGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgKDJCYXNlVEwtTy8xMFBh c3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBp cw0KICAgICAgIERvd24uIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJl amVjdGVkIChpbiBjYXNlDQogICAgICAgb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3Rl bnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwDQogICAgICAgb3IgSW5pdGlhbGl6aW5nLg0KDQog ICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5u ZXIuIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNiB9DQoNCiAgIGVmbUN1VGhyZXNo TG93UmF0ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigxLi4xMDAw MDApDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBvYmplY3QgY29uZmlndXJlcyB0aGUgRUZNQ3UgcG9ydCBsb3cgcmF0ZSBjcm9zc2luZyBhbGFy bQ0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1ZSBvZiBpZlNwZWVkIGZv ciB0aGlzIHBvcnQNCiAgICAgICByZWFjaGVzL2Ryb3BzIGJlbG93IG9yIGV4Y2VlZHMgdGhpcyB0 aHJlc2hvbGQsIGFuDQogICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9uIE1B WSBiZSBnZW5lcmF0ZWQgaWYgZW5hYmxlZA0KICAgICAgIGJ5IGVmbUN1TG93UmF0ZUNyb3NzaW5n RW5hYmxlLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1 YnR5cGUgRUZNQ3UgcG9ydHMNCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3Qg YXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNU IGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1 UG9ydENvbmZFbnRyeSA3IH0NCg0KICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMg c2hvdWxkDQogICAgICAgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAg IFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmcNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMNCiAg ICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIg c3VidHlwZXMuDQoNCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBw ZXJzaXN0ZW50IG1hbm5lci4iDQogICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA4IH0NCg0K DQogICBlZm1DdVBvcnRDYXBhYmlsaXR5VGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgU0VRVUVOQ0UgT0YgRWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBB U1MtVFMgKFBDUykNCiAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1QgYmUg bWFpbnRhaW5lZCBpbiBhDQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAgIDo6PSB7IGVm bUN1UG9ydCAyIH0NCg0KICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQ0KICAgICBNQVgtQUNDRVNT ICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBU SU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0IENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0 aGUgaWZJbmRleC4NCiAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0 b3Agb2YgYSBzaW5nbGUNCiAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJl IGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0Q2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQQUZTdXBwb3J0ZWQg ICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQg ICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duLA0KICAgICAgIGVmbUN1UEFGQ2FwYWNp dHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNp dHkgICAgICAgICAgICAgVW5zaWduZWQzMg0KICAgICB9DQoNCiAgIGVmbUN1UEFGU3VwcG9ydGVk ICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRo ZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykuDQogICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICBQTUUgYWdncmVn YXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgIFBvcnRzIGluY2FwYWJsZSBvZiBQ QUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICBUaGlzIG9iamVj dCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQuDQoNCiAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsDQog ICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJpdCBpbiB0 aGUNCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiDQogICAg IDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAxIH0NCg0KICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtu b3duDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgKFBDUykgbGluayBwYXJ0bmVy Lg0KICAgICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVt b3RlIFBDUyBjYW4NCiAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxh YmxlIFBNRXMuDQogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgUG9ydHMg d2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0KICAgICAg IHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQogICAgICAgVGhp cyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQ QUZTdXBwb3J0ZWQuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBS ZW1vdGUgUEFGIHN1cHBvcnRlZCBiaXQgaW4gdGhlDQogICAgICAgMTBQLzJCIGNhcGFiaWxpdHkg cmVnaXN0ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAu MTEuMS4xLjksIDQ1LjIuMy4xNy4yIg0KICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50 cnkgMiB9DQoNCiAgIGVmbUN1UEFGQ2FwYWNpdHkgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIgKDEuLjMyKQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJOdW1iZXIgb2Yg UE1FcyB0aGF0IGNhbiBiZSBhZ2dyZWdhdGVkIGJ5IHRoZSBsb2NhbCBQQUYuDQogICAgICAgVGhl IG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3NpZ25lZCB0byBhIHBhcnRpY3VsYXINCiAgICAg ICBFRk1DdSBwb3J0IChlZm1DdU51bVBNRXMpIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbg0KICAgICAg IGVmbUN1UEFGQ2FwYWNpdHkuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1 c2UgMzAgYXR0cmlidXRlDQogICAgICAgYUxvY2FsUEFGQ2FwYWNpdHkuIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiDQogICAgIDo6PSB7IGVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeSAzIH0NCg0KICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIgKDB8MS4uMzIpDQogICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFnZ3JlZ2F0ZWQgYnkg dGhlIFBBRiBvZiB0aGUgcGVlcg0KICAgICAgIFBoeSAoUENTIHBvcnQpLg0KICAgICAgIFZhbHVl IG9mIDAgaXMgcmV0dXJuZWQgd2hlbiBwZWVyIFBBRiBDYXBhY2l0eSBpcyB1bmtub3duDQogICAg ICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0eS4iDQog ICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuMTAiDQog ICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0NCg0KDQogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1D dVBvcnRTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUg cHJvdmlkZXMgb3ZlcmFsbCBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UNCiAgICAgICAyQkFT RS1UTC8xMFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzDQog ICAgICAgaW5mb3JtYXRpb24gZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIgYW5kIGlmTWF1VGFi bGUgb2YNCiAgICAgICBNQVUtTUlCLiBBZGRpdGlvbmFsIHN0YXR1cyBpbmZvcm1hdGlvbiBhYm91 dCBjb25uZWN0ZWQgUE1Fcw0KICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVz VGFibGUuDQoNCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRoZSBl cXVpcG1lbnQuIEFzIHN1Y2gsDQogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIg0KICAgICA6 Oj0geyBlZm1DdVBvcnQgMyB9DQoNCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5DQogICAgIE1BWC1BQ0NFU1Mg IG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IFBvcnQgU3RhdHVzIHRhYmxlLg0KICAg ICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguDQogICAgICAgTm90ZSB0aGF0IGFuIEVGTUN1IFBDUyBwb3J0IHJ1bnMgb24gdG9wIG9m IGEgc2luZ2xlDQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0g eyBlZm1DdVBvcnRTdGF0dXNUYWJsZSAxIH0NCg0KICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9 DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdUZsdFN0YXR1cyAgICAgICAgICAgICAgICAg ICBCSVRTLA0KICAgICAgIGVmbUN1UG9ydFNpZGUgICAgICAgICAgICAgICAgICAgIElOVEVHRVIs DQogICAgICAgZWZtQ3VOdW1QTUVzICAgICAgICAgICAgICAgICAgICAgVW5zaWduZWQzMiwNCiAg ICAgICBlZm1DdVBBRkluRXJyb3JzICAgICAgICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAg ZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1 UEFGSW5MYXJnZUZyYWdtZW50cyAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRklu QmFkRnJhZ21lbnRzICAgICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbkxvc3RG cmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLA0KICAgICAgIGVmbUN1UEFGSW5Mb3N0U3RhcnRz ICAgICAgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBBRkluTG9zdEVuZHMgICAgICAg ICAgICAgICBDb3VudGVyMzIsDQogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cyAgICAgICAgICAg ICAgQ291bnRlcjMyDQogICAgIH0NCg0KICAgZWZtQ3VGbHRTdGF0dXMgIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgIG5vUGVlcigwKSwNCiAgICAgICBwZWVyUG93 ZXJMb3NzKDEpLA0KICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCgyKSwNCiAgICAgICBsb3dSYXRl KDMpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiRUZNQ3UgKFBDUykgcG9ydCBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICBjb25kaXRpb25z LiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToNCiAgICAgICAgIG5vUGVlciAgICAgICAg ICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVzIGFyZSBEb3duDQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBpbmZvIGlzIGF2YWlsYWJsZSBp bg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLg0KICAg ICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIgUEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5k aW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBs b3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWlu ZyBHYXNwJykuDQogICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUg bm90IG9mIHRoZSBzYW1lIHN1Yi10eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAg bG93UmF0ZSAgICAgICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9w cGVkDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dS YXRlDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3Bl clN0YXR1cyBvYmplY3QNCiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUg aW4gTUFVLU1JQi4NCg0KICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhl IGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgUEFGIGlzIGRpc2FibGVk KS4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1J QiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMiDQogICAg IDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICBlZm1DdVBvcnRTaWRlICBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBzdWJzY3JpYmVyKDEp LA0KICAgICAgIG9mZmljZSgyKSwNCiAgICAgICB1bmtub3duKDMpDQogICAgIH0NCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAg ICAgIFRoZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2ln bmF0ZWQgYXMNCiAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMg cG9ydCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICctUicpLg0KICAgICAgIFRoZSB2YWx1ZSBvZiB0 aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICBkZXNpZ25hdGVk IGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFyZQ0KICAg ICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgVGhlIHZhbHVlIG9mICd1bmtub3duJyBpbmRp Y2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICBQTUVzIHlldCBvciB0 aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUgc2lkZQ0KICAgICAgIChz dWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICBhUGh5RW5kIg0KICAgICBSRUZFUkVO Q0UNCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiINCiAgICAgOjo9IHsgZWZt Q3VQb3J0U3RhdHVzRW50cnkgMiB9DQoNCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMC4uMzIpDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt b25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAg Ik51bWJlciBvZiBQTUVzIHRoYXQgaXMgY3VycmVudGx5IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2Fs IFBBRg0KICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNrVGFi bGUpLg0KICAgICAgIFRoaXMgbnVtYmVyIGlzIG5ldmVyIGdyZWF0ZXIgdGhhbiBlZm1DdVBBRkNh cGFjaXR5Lg0KDQogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZA0KICAgICAgIHdoZW4gYSBQTUUgaXMgYWRkZWQgb3IgZGVs ZXRlZCB0by9mcm9tIHRoZSBFRk1DdSBwb3J0IHVzaW5nDQogICAgICAgaWZTdGFja1RhYmxlLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS42Ig0K ICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAzIH0NCg0KICAgZWZtQ3VQQUZJbkVycm9y cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04N CiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFj cm9zcyB0aGUNCiAgICAgICBnYW1tYSBpbnRlcmZhY2Ugd2l0aCBSeEVyciBhc3NlcnRlZCBhbmQg ZGlzY2FyZGVkLg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgKG5v dCBpbmNyZW1lbnRlZCkgd2hlbiB0aGUNCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlz YWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZQ0KICAgICAgIGNvdW50ZXIgcmV0YWlu cyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVy ZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAvMkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGlu dWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAg cmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIg dGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2Nv bnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjEiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1 c0VudHJ5IDQgfQ0KDQogICBlZm1DdVBBRkluU21hbGxGcmFnbWVudHMgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVy IG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4gbWluRnJhZ21lbnRTaXplDQogICAgICAgKDY0IEJ5 dGVzKSwgd2hpY2ggaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWENCiAgICAgICBp bnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlz IGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVk LiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRz IHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBzbWFsbCBmcmFnbWVudHMNCiAgICAgICByZWdpc3Rlci4NCg0KICAgICAg IERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBh dA0KICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5k IGF0IG90aGVyIHRpbWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNv dW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg IFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjIyIg0KICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSA1IH0NCg0KICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFk LW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIG51bWJlciBvZiBmcmFnbWVudHMgbGFyZ2VyIHRoYW4gbWF4RnJhZ21lbnRTaXplDQogICAg ICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jvc3MgdGhlIGdhbW1h DQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgVGhpcyByZWFkLW9ubHkg Y291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1bnN1cHBvcnRlZCBv ciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8g SW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIu DQoNCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBj YW4gb2NjdXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBz eXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFs dWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1N SUIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMyINCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9DQoNCiAgIGVmbUN1UEFGSW5CYWRGcmFnbWVu dHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyB3aGljaCBkbyBub3QgZml0IGludG8gdGhl IHNlcXVlbmNlDQogICAgICAgZXhwZWN0ZWQgYnkgdGhlIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9u LCB0aGF0IGhhdmUgYmVlbg0KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJm YWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgIGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRv IHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRp c2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFp bnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFw cyB0byB0aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgcmVnaXN0ZXIuDQoNCiAg ICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2Nj dXIgYXQNCiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2Yg aWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBzZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNo IGhhdmUNCiAgICAgICBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0 aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFt ZSBzdGFydCwgd2hlbiBmcmFnbWVudC9mcmFnbWVudHMNCiAgICAgICBleHBlY3RlZCBieSB0aGUg ZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgVGhp cyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICB1 bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50 ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAg IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1h bmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQg YnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmlu ZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMu MjYiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBBRklu TG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBTdGFydE9mUGFja2V0IGluZGlj YXRvcnMgZXhwZWN0ZWQgYnkgdGhlDQogICAgICAgZnJhbWUgYXNzZW1ibHkgZnVuY3Rpb24uDQog ICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMN CiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwg dGhlIGNvdW50ZXINCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhl bg0KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBzdGFydCBv ZiBmcmFnbWVudA0KICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGlu IHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlh bGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAg ICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlU aW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAg Ils4MDIuM2FoXSA0NS4yLjMuMjciDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDkg fQ0KDQogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAg Q291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgbnVtYmVyIG9mIG1pc3NpbmcgRW5k T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4NCiAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdo ZW4gdGhlIFBBRiBpcw0KICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBB RiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQogICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBv dGhlciB0aW1lcw0KICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVy RGlzY29udGludWl0eVRpbWUsDQogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yOCINCiAgICAgOjo9IHsgZWZtQ3VQb3J0 U3RhdHVzRW50cnkgMTAgfQ0KDQogICBlZm1DdVBBRkluT3ZlcmZsb3dzIE9CSkVDVC1UWVBFDQog ICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIG51bWJl ciBvZiBmcmFnbWVudHMsIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlDQogICAg ICAgYW5kIGRpc2NhcmRlZCwgd2hpY2ggd291bGQgaGF2ZSBjYXVzZWQgdGhlIGZyYW1lIGFzc2Vt Ymx5DQogICAgICAgYnVmZmVyIHRvIG92ZXJmbG93Lg0KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNv dW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAgdW5zdXBwb3J0ZWQgb3Ig ZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgcmV0 YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBt YXBzIHRvIHRoZSAxMFAvMkIgUEFGIG92ZXJmbG93IHJlZ2lzdGVyLg0KDQogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAg ICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3Ro ZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJF TkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjQiDQogICAgIDo6PSB7IGVmbUN1UG9ydFN0 YXR1c0VudHJ5IDExIH0NCg0KICAtLSBQTUUgTm90aWZpY2F0aW9ucyBHcm91cA0KDQogICBlZm1D dVBtZU5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgMCB9DQoN CiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVD VFMgew0KICAgICAgIGVmbUN1UG1lTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVB dG4NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBsb29wIGF0dGVudWF0 aW9uDQogICAgICAgdGhyZXNob2xkIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoTGluZUF0bg0K ICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2VlZGVkIGZvciB0aGUgMkJBU0UtVEwv MTBQQVNTLVRTDQogICAgICAgUE1FLiBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2VuZCBvbiB0 aGUgY3Jvc3NpbmcgZXZlbnQgaW4NCiAgICAgICBib3RoIGRpcmVjdGlvbnM6IGZyb20gbm9ybWFs IHRvIGV4Y2VlZGVkIGFuZCBmcm9tIGV4Y2VlZGVkDQogICAgICAgdG8gbm9ybWFsLg0KDQogICAg ICAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBhIHNtYWxsIGRlYm91bmNpbmcgcGVyaW9kIG9mIDIu NSBzZWMsDQogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5k IG5vdGlmaWNhdGlvbiwNCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlDQogICAgICAgc2VudC4NCg0KICAgICAgIEdlbmVyYXRp b24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1D dVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSBvYmplY3QuIg0KICAgICA6Oj0geyBlZm1DdVBtZU5v dGlmaWNhdGlvbnMgMSB9DQoNCiAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcgTk9USUZJQ0FUSU9O LVRZUEUNCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWVTbnJNZ24sDQogICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgfQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRo ZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbg0KICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAy QkFTRS1UTC8xMFBBU1MtVFMgUE1FLg0KICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBz ZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbg0KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJv bSBub3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICB0byBub3JtYWwu DQoNCiAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJp b2Qgb2YgMi41IHNlYywNCiAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRp dGlvbiBhbmQgbm90aWZpY2F0aW9uLA0KICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQg aW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICBzZW50Lg0KDQogICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICBlZm1DdVBtZURldmljZUZhdWx0IE5PVElGSUNB VElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzDQogICAg IH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJU aGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJl ZW4NCiAgICAgICBkZXRlY3RlZCBieSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEg c2VsZi10ZXN0Lg0KDQogICAgICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBj b250cm9sbGVkIGJ5IHRoZQ0KICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0 LiINCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAgICAg IGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCBQ TUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgZmFpbGVkLCBkdWUgdG8gaW5hYmlsaXR5IG9m IHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAgIGNvbmZpZ3VyYXRpb24g cHJvZmlsZS4NCg0KICAgICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29u dHJvbGxlZCBieSB0aGUNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlIG9iamVj dC4iDQogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0IH0NCg0KICAgZWZtQ3VQbWVQ cm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUNCiAgICAg fQ0KICAgICBTVEFUVVMgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5nDQogICAgICAg aW5jb21wYXRpYmxlIHByb3RvY29sIGR1cmluZyBpbml0aWFsaXphdGlvbi4NCg0KICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAg ICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiINCiAgICAgOjo9IHsgZWZt Q3VQbWVOb3RpZmljYXRpb25zIDUgfQ0KDQogICAtLSBUaGUgUE1FIGdyb3VwDQoNCiAgIGVmbUN1 UG1lQ29uZlRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENv bmZpZ3VyYXRpb24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwv MTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFz cGVjdHMgc3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAg ICAgIHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29u ZlRhYmxlDQogICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRh YmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0K ICAgICA6Oj0geyBlZm1DdVBtZSAxIH0NCg0KICAgZWZtQ3VQbWVDb25mRW50cnkgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENvbmZpZ3VyYXRpb24gdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZlRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZUNv bmZFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBl ICAgICAgICAgICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAg ICBFZm1Qcm9maWxlSW5kZXhPclplcm8sDQogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlD b2RlICAgIFBoeXNBZGRyZXNzLA0KICAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0biAgICAgICAg ICBJbnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gICAgICAgICAgIEludGVn ZXIzMiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgVHJ1dGhWYWx1ZSwN CiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1D dVBtZUNvbmZpZ0luaXRGYWlsRW5hYmxlICAgVHJ1dGhWYWx1ZSwNCiAgICAgICBlZm1DdVBtZVBy b3RvY29sSW5pdEZhaWxFbmFibGUgVHJ1dGhWYWx1ZQ0KICAgICB9DQoNCiAgIGVmbUN1UG1lQWRt aW5TdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAg ICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgaWVlZTJCYXNlVExSKDIpLA0KICAgICAgIGllZWUx MFBhc3NUU08oMyksDQogICAgICAgaWVlZTEwUGFzc1RTUig0KSwNCiAgICAgICBpZWVlMkJhc2VU TG9yMTBQYXNzVFNSKDUpLA0KICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08oNiksDQogICAg ICAgaWVlZTEwUGFzc1RTb3IyQmFzZVRMTyg3KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAgICAt IFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAgICAgaWVlZTJCYXNlVExSICAg ICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEw UGFzc1RTTyAgICAgICAgICAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDEwUGFzc1RTLU8NCiAgICAg ICAgIGllZWUxMFBhc3NUU1IgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NU Uy1SDQogICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNzVFNSIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMkJhc2VUTC1SIG9yDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXQgYnkgLU8gbGluayBwYXJ0bmVyIGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIChoYW5kc2hha2UpLg0KICAgICAgICAgaWVlZTJC YXNlVExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVmZXJyZWQpIG9yIDEwUGFzc1RTLU8uIEFj dHVhbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0 IGR1cmluZw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9u IGRlcGVuZGluZyBvbiAtUg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsg cGFydG5lciBjYXBhYmlsaXR5IChpLmUuIGlmDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLVIgaXMgaW5jYXBhYmxlIG9mIHRoZSBwcmVmZXJyZWQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkKS4NCiAgICAgICAgIGllZWUxMFBhc3NUU29y MkJhc2VUTE8gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJpbmcN CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiBkZXBlbmRp bmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIg Y2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkDQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTBQYXNzVFMgbW9kZSwgMkJhc2VUTCB3aWxsIGJlDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlZCkuDQoNCiAgICAgICBDaGFuZ2luZyBlZm1DdVBtZUFkbWlu U3ViVHlwZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZQ0KICAgICAgIG9wZXJhdGlvbiBhbmQgYXMg c3VjaCBTSEFMTCBiZSBkb25lIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsNCiAg ICAgICBpcyBVcCBvciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdlIHRo aXMgb2JqZWN0IHRvIGFuIHVuc3VwcG9ydGVkIHN1YnR5cGUNCiAgICAgICAoc2VlIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQpIFNIQUxMIGJlIHJlamVjdGVkLg0KDQogICAgICAgVGhlIGN1cnJl bnQgb3BlcmF0aW9uYWwgc3ViIHR5cGUgaXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlzIG9iamVjdCBj b21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMNCiAgICAgICBh bmQgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24gYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQN CiAgICAgICBjb250cm9sIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4z YWhdIDYxLjEsIDQ1LjIuMS4xMS40LCA0NS4yLjEuMTEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmlsZS4gVGhpcyBvYmplY3QgaXMgYSBw b2ludGVyDQogICAgICAgdG8gYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgb3INCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBj dXJyZW50IG9wZXJhdGluZw0KICAgICAgIFN1YlR5cGUgb2YgdGhlIFBNRS4gVGhlIHZhbHVlIG9m IHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZg0KICAgICAgIHRoZSByZWZlcmVuY2VkIHByb2Zp bGUuDQogICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IHRo ZSBQTUUgaXMNCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvYmplY3Qg Zm9yIHRoZSBQQ1MgcG9ydCwNCiAgICAgICB0byB3aGljaCB0aGlzIFBNRSBpcyBhc3NpZ25lZC4g VGhhdCBpcywgdGhlIHByb2ZpbGUgcmVmZXJlbmNlZA0KICAgICAgIGJ5IGVmbUN1UG1lQWRtaW5Q cm9maWxlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgcHJvZmlsZShzKQ0KICAgICAgIHJlZmVy ZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0 YWJsZSBhbmQgcmVhZGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMNCiAgICAgICAoMkJhc2VU TC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BFDQogICAgICAg c3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVlIFNIQUxMIGJl DQogICAgICAgcmV0dXJuZWQgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMgb2JqZWN0IGFuZCBh bnkgYXR0ZW1wdA0KICAgICAgIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVk IGluIHRoaXMgY2FzZS4NCg0KICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFBy b2ZpbGUgdmFsdWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUg b2JqZWN0Lg0KDQogICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEg dmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2YgdGhlIGluZGV4IGZvciBhbiBh Y3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmlsZQ0KICAgICAgIHRhYmxlLCBN VVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSAzMC4x MS4yLjEuNiINCiAgICAgREVGVkFMIHsgMCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5 IDIgfQ0KDQogICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg IFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUgcG9ydCBhdCBDTy4NCiAg ICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgcGVlciBQQ1MgY29ubmVj dGVkIHZpYQ0KICAgICAgIHRoZSBQTUUuDQogICAgICAgUmVhZGluZyB0aGlzIG9iamVjdCByZXN1 bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24uDQogICAgICAgU2V0dGluZyB0aGlzIG9i amVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4gYSBEaXNjb3ZlcnkNCiAgICAgICBDbGVhcl9p Zl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVlIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAg ICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVy eUNvZGUgb2YNCiAgICAgICB0aGUgbG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZv ciB0aGUgb3BlcmF0aW9uIHRvDQogICAgICAgc3VjY2VlZCkuDQogICAgICAgV3JpdGluZyBhIG5v bi16ZXJvIHZhbHVlIHRvIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgIERpc2NvdmVy eSBTZXRfaWZfQ2xlYXIgb3BlcmF0aW9uLg0KICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3Ry aW5nIFNIQUxMIGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICByZWFkIHRoaXMg b2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlz DQogICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0byB0 aGlzIG9iamVjdCBTSEFMTA0KICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgRGlzY292ZXJ5 IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAgICBBdHRlbXB0 cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4gY2FzZSBvZg0KICAg ICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBp cyBVcCBvcg0KICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICB0aGlz IG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAg ICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGlu IDEwUC8yQg0KICAgICAgIGFnZ3JlZ2F0aW9uIGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVy IGFuZA0KICAgICAgIDEwUC8yQiBhZ2dyZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00 NS4yLjYuOCINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4u MTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJEZXNp cmVkIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBNRS4NCiAgICAg ICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBsaW5lIGF0dGVudWF0aW9uIGFsYXJtIHRocmVz aG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIExpbmUgQXR0ZW51YXRpb24g cmVhY2hlcyBvcg0KICAgICAgIGV4Y2VlZHMgdGhpcyB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gTUFZIGJlIGdlbmVyYXRlZCwgaWYgZW5h YmxlZCBieQ0KICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLg0KDQogICAgICAg VGhpcyBvYmplY3QgaXMgd3JpdGFibGUgZm9yIHRoZSBDTyBzdWJ0eXBlIFBNRXMgKC1PKS4NCiAg ICAgICBJdCBpcyByZWFkLW9ubHkgZm9yIHRoZSBDUEUgc3VidHlwZSAoLVIpLg0KDQogICAgICAg Q2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24gVGhyZXNob2xkIE1VU1QgYmUgcGVyZm9y bWVkDQogICAgICAgd2hlbiB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgTVVTVCBiZQ0KICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0 aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgIGlmIHRoZSBsaW5rIGlzIFVwIG9y IEluaXRpYWxpemluZy4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRv IHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExvb3AgYXR0ZW51YXRpb24gdGhyZXNob2xkIGJpdHMgaW4NCiAgICAgICB0aGUgMkIgUE1EIGxp bmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAi WzgwMi4zYWhdIDQ1LjIuMS4zNiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNCB9DQoN CiAgIGVmbUN1UG1lVGhyZXNoU25yTWduICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJ bnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJEZXNpcmVkIFNOUiBNYXJnaW4gVGhyZXNob2xkIGZvciB0aGUgMkIvMTBQIFBN RS4NCiAgICAgICBUaGlzIG9iamVjdCBjb25maWd1cmVzIHRoZSBTTlIgbWFyZ2luIGFsYXJtIHRo cmVzaG9sZC4NCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNOUiBNYXJnaW4gcmVh Y2hlcyBvciBleGNlZWRzIHRoaXMNCiAgICAgICB0aHJlc2hvbGQsIGEgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZyBub3RpZmljYXRpb24gTUFZIGJlDQogICAgICAgZ2VuZXJhdGVkLCBpZiBlbmFibGVk IGJ5IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBp cyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1Fcw0KICAgICAgICgyQmFzZVRMLU8vMTBQ YXNzVFMtUikuIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBlDQogICAgICAgKDJC YXNlVEwtUi8xMFBhc3NUUy1SKS4NCg0KICAgICAgIENoYW5naW5nIG9mIHRoZSBTTlIgTWFyZ2lu IFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuDQogICAgICAgdGhlIGxpbmsgaXMgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUNCiAgICAgICByZWplY3Rl ZCAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwNCiAg ICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZCBiaXRzIGluIHRo ZSAyQiBQTUQNCiAgICAgICBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciINCiAgICAg UkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMzYiDQogICAgIDo6PSB7IGVmbUN1 UG1lQ29uZkVudHJ5IDUgfQ0KDQogICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZ0VuYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQog ICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZUxpbmVBdG5Dcm9z c2luZw0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBp bmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAg ICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu Z0VuYWJsZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVT Q1JJUFRJT04NCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVTbnJNZ25Dcm9zc2lu ZyBub3RpZmljYXRpb25zDQogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRl cmZhY2UuDQoNCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1UG1l U25yTWduQ3Jvc3NpbmcNCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2Yg ZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2Fi bGVkLiINCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9DQoNCiAgIGVmbUN1UG1lRGV2 aWNlRmF1bHRFbmFibGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUN CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgIERFU0NSSVBUSU9ODQogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lRGV2aWNl RmF1bHQgbm90aWZpY2F0aW9ucw0KICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMg aW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZURldmljZUZhdWx0DQogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9m IGZhbHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDggfQ0KDQogICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBUcnV0aFZh bHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVk IGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVz IHRoYXQgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgIG5vdGlmaWNhdGlvbiBpcyBl bmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5IH0N Cg0KICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUgbm90aWZpY2F0aW9ucw0KICAgICAg IHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0KDQogICAgICAgVmFsdWUg b2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAg ICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVz IHRoYXQNCiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgOjo9IHsg ZWZtQ3VQbWVDb25mRW50cnkgMTAgfQ0KDQoNCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0 eUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRp b24gb2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgIGFzcGVjdHMgc3Bl Y2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgIHJlcHJl c2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRhYmxlDQog ICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIE1VU1Qg YmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICBtYW5uZXIuIg0KICAgICA6Oj0g eyBlZm1DdVBtZSAyIH0NCg0KICAgZWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkNCiAgICAgTUFYLUFDQ0VT UyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUu DQogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1 IFBNRSBwb3J0DQogICAgICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVG TUN1IFBNRSBwb3J0IGNhbiBiZQ0KICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBv cnQsIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LA0KICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdp dGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgSU5ERVggIHsgaWZJ bmRleCB9DQogICAgIDo6PSB7IGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIDEgfQ0KDQogICBFZm1D dVBtZUNhcGFiaWxpdHlFbnRyeSA6Oj0NCiAgICAgU0VRVUVOQ0Ugew0KICAgICAgIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMNCiAgICAgfQ0KDQogICBlZm1DdVBtZVN1YlR5cGVz U3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBCSVRTIHsNCiAgICAgICBp ZWVlMkJhc2VUTE8oMCksDQogICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAgICAgIGllZWUxMFBh c3NUU08oMiksDQogICAgICAgaWVlZTEwUGFzc1RTUigzKQ0KICAgICB9DQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIlBNRSBzdXBwb3J0ZWQgc3ViLXR5cGVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBv c3NpYmxlDQogICAgICAgc3ViLXR5cGVzLiBUaGUgdmFyaW91cyBiaXQgcG9zaXRpb25zIGFyZToN CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAtIFBNRSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBh cyAyQmFzZVRMLU8NCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxlIG9m IG9wZXJhdGluZyBhcyAyQmFzZVRMLVINCiAgICAgICAgIGllZWUxMFBhc3NUU08gICAtIFBNRSBp cyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNz VFNSICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRpbmcgYXMgMTBQYXNzVFMtUg0KDQogICAg ICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5DQogICAgICAg ZWZtQ3VQbWVBZG1pblN1YlR5cGUsIHdoaWxlIGVmbUN1UG1lT3BlclN1YlR5cGUgcmVmbGVjdHMg dGhlDQogICAgICAgY3VycmVudCBvcGVyYXRpbmcgbW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAg ICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJBU0UtVEwgY2Fw YWJsZQ0KICAgICAgIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EIHNwZWVkIGFiaWxpdHkgcmVn aXN0ZXIgYW5kIHRoZQ0KICAgICAgIENPIHN1cHBvcnRlZCBhbmQgQ1BFIHN1cHBvcnRlZCBiaXRz IGluIHRoZSAxMFAvMkIgUE1BL1BNRA0KICAgICAgIHN0YXR1cyByZWdpc3RlciINCiAgICAgUkVG RVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuNC4xLCA0NS4yLjEuNC4yLCA0 NS4yLjEuMTIuMiwNCiAgICAgICA0NS4yLjEuMTIuMyINCiAgICAgOjo9IHsgZWZtQ3VQbWVDYXBh YmlsaXR5RW50cnkgMSB9DQoNCg0KICAgZWZtQ3VQbWVTdGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQ0K ICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZVN0YXR1c0VudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGlu Zm9ybWF0aW9uIG9mIEVGTUN1DQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cy4g U3RhdHVzIGluZm9ybWF0aW9uIHNwZWNpZmljDQogICAgICAgdG8gMTBQQVNTLVRTIFBNRSBpcyBy ZXByZXNlbnRlZCBpbiBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlLg0KDQogICAgICAgVGhpcyB0YWJs ZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAg IGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUgMyB9DQoNCiAgIGVm bUN1UG1lU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVT dGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVudHJ5IGluIHRoZSBF Rk1DdSBQTUUgU3RhdHVzIHRhYmxlLg0KICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBjb21t b24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydA0KICAgICAgIGluZGV4ZWQgYnkgdGhlIGlm SW5kZXguIE5vdGUgdGhhdCBhbiBFRk1DdSBQTUUgcG9ydCBjYW4gYmUNCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwNCiAgICAg ICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQQUYgaXMgZW5hYmxl ZC4iDQogICAgIElOREVYICB7IGlmSW5kZXggfQ0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1Rh YmxlIDEgfQ0KDQogICBFZm1DdVBtZVN0YXR1c0VudHJ5IDo6PQ0KICAgICBTRVFVRU5DRSB7DQog ICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzICAgICAgICAgICAgSU5URUdFUiwNCiAgICAgICBlZm1D dVBtZUZsdFN0YXR1cyAgICAgICAgICAgICBCSVRTLA0KICAgICAgIGVmbUN1UG1lT3BlclN1YlR5 cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSAgICAgICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgIGVmbUN1UG1lU25yTWduICAgICAgICAg ICAgICAgIEludGVnZXIzMiwNCiAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuICAgICAgICAgICAgICAgSW50ZWdlcjMy LA0KICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4gICAgICAgICAgIEludGVnZXIzMiwNCiAgICAg ICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1 UG1lVENDb2RpbmdFcnJvcnMgICAgICAgIENvdW50ZXIzMiwNCiAgICAgICBlZm1DdVBtZVRDQ3Jj RXJyb3JzICAgICAgICAgICBDb3VudGVyMzINCiAgICAgfQ0KDQogICBlZm1DdVBtZU9wZXJTdGF0 dXMgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgew0KICAgICAgIHVwKDEp LA0KICAgICAgIGRvd25Ob3RSZWFkeSgyKSwNCiAgICAgICBkb3duUmVhZHkoMyksDQogICAgICAg aW5pdCg0KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkN1cnJlbnQgUE1FIGxpbmsg T3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgdXAoMSkg ICAgICAgICAgIC0gbGluayBpcyBVcCBhbmQgcmVhZHkgdG8gcGFzcyA2NC82NUINCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuY29kZWQgZnJhbWVzIG9yIGZyYWdtZW50cy4NCiAgICAgICAg IGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2VzIG5vdCBkZXRl Y3QNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRzaGFrZSB0b25lcyBmcm9tIGl0cyBw ZWVyLiBUaGlzIHZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgaW5kaWNhdGUg YSBwb3NzaWJsZSBwcm9ibGVtIHdpdGgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBw ZWVyIFBNRS4NCiAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9uZXMg ZnJvbSBpdHMgcGVlci4NCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5pdGlh bGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZBZG1p blN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQg dG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgaWZPcGVyU3RhdHVzLg0KDQogICAg ICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUN CiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZh Y2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgcGFydGlh bGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgIFBN QS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSAzMC4xMS4yLjEuMywgNDUuMi4xLjEyLjQiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgIGRldmljZUZhdWx0KDMpLA0K ICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUo NSkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsg RmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mDQogICAgICAgcG9zc2libGUgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCiAgICAgICAgIGxvc3NPZkZy YW1pbmcgICAgICAgLSBMb3NzIG9mIEZyYW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIExvc3Mgb2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICBz bnJNZ25EZWZlY3QgICAgICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hv bGQNCiAgICAgICAgIGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2Vl ZHMgdGhlIFRocmVzaG9sZA0KICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRl cyBhIHZlbmRvci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFn bm9zdGljIG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhhcyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24u DQogICAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIC0gUHJvdG9jb2wgaW5pdGlhbGl6YXRpb24g ZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdWUgdG8gaW5jb21wYXRp YmxlIHByb3RvY29sIHVzZWQgYnkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUg UGVlciBQTUUgZHVyaW5nIGluaXQgKHRoYXQgY291bGQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoYXBwZW4gaWYgYSBwZWVyIFBNRCBpcyBhIHJlZ3VsYXINCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHLlNESFNML1ZEU0wgbW9kZW0gaW5zdGVhZCBvZiBhDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSkuDQoNCiAgICAg ICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJ Ri1NSUIuDQoNCiAgICAgICBUaGlzIG9iamVjdCBob2xkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUg bGFzdCBmYXVsdC4NCiAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyBpcyBjbGVhcmVkIGJ5IHRoZSBk ZXZpY2UgcmVzdGFydC4NCiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJ bml0RmFpbHVyZSBhbmQNCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJlIGFyZSBjbGVhcmVkIGJ5 IFBNRSBpbml0Lg0KICAgICAgIGRldmljZUZhdWx0IGlzIGNsZWFyZWQgYnkgc3VjY2Vzc2Z1bCBk aWFnbm9zdGljcy90ZXN0Lg0KICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBh cmUgY2xlYXJlZCBieSBTTlIgTWFyZ2luDQogICAgICAgYW5kIGxpbmUgQXR0ZW51YXRpb24gcmVz cGVjdGl2ZWx5IHJldHVybmluZyB0byBub3JtIGFuZCBieQ0KICAgICAgIFBNRSBpbml0Lg0KDQog ICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1 dGUNCiAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgY29u c29saWRhdGVzIGluZm9ybWF0aW9uIGZyb20gdmFyaW91cyBQTUEvUE1EDQogICAgICAgcmVnaXN0 ZXJzLCBuYW1lbHk6IEZhdWx0IGJpdCBpbiBQTUEvUE1EIHN0YXR1cyAxIHJlZ2lzdGVyLA0KICAg ICAgIDEwUC8yQiBQTUEvUE1EIGxpbmsgbG9zcyByZWdpc3RlciwNCiAgICAgICAxMFAgb3V0Z29p bmcgaW5kaWNhdG9yIGJpdHMgc3RhdHVzIHJlZ2lzdGVyLA0KICAgICAgIDEwUCBpbmNvbWluZyBp bmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgMkIgc3RhdGUgZGVmZWN0cyBy ZWdpc3Rlci4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjMs IDQ1LjIuMS4yLjEsIDQ1LjIuMS4zOCwNCiAgICAgICA0NS4yLjEuMzksIDQ1LjIuMS41NCINCiAg ICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWVPcGVyU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgaWVlZTJC YXNlVExPKDEpLA0KICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICBpZWVlMTBQYXNzVFNP KDMpLA0KICAgICAgIGllZWUxMFBhc3NUU1IoNCkNCiAgICAgfQ0KICAgICBNQVgtQUNDRVNTICBy ZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgUG9z c2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUg b3BlcmF0ZXMgYXMgMkJhc2VUTC1PDQogICAgICAgICBpZWVlMkJhc2VUTFIgICAgICAgICAgIC0g UE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtUg0KICAgICAgICAgaWVlZTEwUGFzc1RTTyAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1PDQogICAgICAgICBpZWVlMTBQYXNzVFNSICAg ICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLVINCg0KICAgICAgIFRoZSBvcGVyYXRp b25hbCBzdWIgdHlwZSBvZiB0aGUgUE1FIGNhbiBiZSBjb25maWd1cmVkIHZpYQ0KICAgICAgIGVm bUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJ TyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgIHRoaXMg b2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWItdHlwZSBzZWxlY3QNCiAgICAg ICBiaXRzLCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVjdGlvbiBiaXRzIGluIHRoZSAxMFAvMkINCiAg ICAgICBQTUEvUE1EIGNvbnRyb2wgcmVnaXN0ZXIgYW5kIHRoZSBQTUEvUE1EIGxpbmsgc3RhdHVz IGJpdHMgaW4NCiAgICAgICB0aGUgMTBQLzJCIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVyLiINCiAg ICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4x LjExLjcsIDQ1LjIuMS4xMi40Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDMgfQ0K DQogICBlZm1DdVBtZU9wZXJQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBF Zm1Qcm9maWxlSW5kZXhPclplcm8NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiUE1FIGN1cnJlbnQg b3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bw0KICAgICAgIGFu IGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudA0KICAgICAgIG9wZXJh dGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5DQogICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZS4NCiAgICAgICBOb3RlIHRoYXQgYSBwcm9maWxlIGVudHJ5LCB0byB3aGljaCBl Zm1DdVBtZU9wZXJQcm9maWxlIGlzDQogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQNCiAgICAgICBwYXJhbWV0ZXJzIGlu IGFkYXB0aXZlIChub3QgZml4ZWQpIGluaXRpYWxpemF0aW9uLA0KICAgICAgIGkuZS4gdmFsdWVz IG9mIGVmbUN1UG1lT3BlclByb2ZpbGUgYW5kIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4NCiAgICAgICBUaGUgdmFsdWUgb2YgemVy byBpbmRpY2F0ZXMgdGhhdCBQTUUgaXMgZG93biBvciBpbml0aWFsaXppbmcuDQoNCiAgICAgICBU aGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgYU9wZXJhdGluZ1Byb2ZpbGUNCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIu M2FoXSAzMC4xMS4yLjEuNyINCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0NCg0K ICAgZWZtQ3VQbWVTbnJNZ24gT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMy KC0xMjcuLjEyOHw2NTUzNSkNCiAgICAgVU5JVFMgICAgICAgImRCIg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJUaGUgY3VycmVudCBTaWduYWwtdG8tTm9pc2UgUmF0aW8gKFNOUikgbWFyZ2luIHdp dGggcmVzcGVjdA0KICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5 IHRoZSBsb2NhbCBQTUUuDQogICAgICAgVGhlIHZhbHVlIG9mIDY1NTM1IGlzIHJldHVybmVkIHdo ZW4gUE1FIGlzIGRvd24gb3INCiAgICAgICBpbml0aWFsaXppbmcuDQoNCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBtYXJnaW4gcmVnaXN0ZXIu Ig0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDMwLjExLjIuMS40LCA0NS4yLjEu MTYiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lUGVl clNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4 fDY1NTM1KQ0KICAgICBVTklUUyAgICAgICAiZEIiDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRo ZSBjdXJyZW50IFNOUiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0K ICAgICAgIHNpZ25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikg UE1FLg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBk b3duIG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgb2YgNjU1 MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAgICAgIHJlZ2lz dGVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciDQogICAg IDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAg IFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGlu ZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgUE1F Lg0KICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3du IG9yDQogICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJ bnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAy LjNhaF0gNDUuMi4xLjE4Ig0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDcgfQ0KDQog ICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1vbmx5DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIHJlbW90ZQ0KICAgICAgIChsaW5rIHBhcnRuZXIpIFBNRS4NCiAgICAgICBUaGUg dmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcg0KICAgICAgIGlu aXRpYWxpemluZy4NCg0KICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRoZSAt UiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQ0KICAgICAgIG9mIDY1NTM1IFNIQUxMIGJlIHJldHVy bmVkIGluIHRoaXMgY2FzZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSAyMFAvMkIg bGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24NCiAgICAgICByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDggfQ0KDQogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggIE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uODE5Mnw2NTUzNSkNCiAgICAgVU5J VFMgICAgICAgIm0iDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkFuIGVzdGltYXRlIG9mIHRoZSBl cXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4NCiAgICAgICBtZXRlcnMsIGFzIHBl cmNlaXZlZCBieSB0aGUgUE1FIGFmdGVyIHRoZSBsaW5rIGlzIGVzdGFibGlzaGVkLg0KICAgICAg IEFuIGVxdWl2YWxlbnQgbG9vcCBpcyBhIGh5cG90aGV0aWNhbCAyNkFXRyAoMC40bW0pIGxvb3Ag d2l0aCBhDQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkNCiAgICAgICBicmlkZ2VkIHRhcHMuDQogICAgICAgVGhlIHZhbHVl IG9mIDY1NTM1IGlzIHJldHVybmVkIGlmIHRoZSBsaW5rIGlzIERvd24gb3INCiAgICAgICBJbml0 aWFsaXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQN CiAgICAgICBMZW5ndGguDQoNCiAgICAgICBGb3IgMTBCQVNFLVRMIFBNRSwgaWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcw0KICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoDQogICAgICAgcmVnaXN0 ZXIiDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIg0KICAgICA6 Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDkgfQ0KDQogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3Jz IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0K ICAgICAgICJBIG51bWJlciBvZiA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzDQogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5j YXBzdWxhdGlvbiBlcnJvciBkZXRlY3RlZA0KICAgICAgIGJ5IHRoZSA2NC82NS1vY3RldCByZWNl aXZlIGZ1bmN0aW9uLg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9s YXRpb25zIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0KICAg ICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVy DQogICAgICAgKHNlZSA0NS4yLjYuMTIpLg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRo ZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6 YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAg ICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1l LA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4 MDIuM2FoXSA2MS4zLjMuMSwgMzAuMTEuMi4xLjUsIDQ1LjIuNi4xMiINCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSAxMCB9DQoNCiAgIGVmbUN1UG1lVENDcmNFcnJvcnMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg bnVtYmVyIG9mIFRDLUNSQyBlcnJvcnMuIFRoaXMgY291bnRlciBpcyBpbmNyZW1lbnRlZCBmb3IN CiAgICAgICBlYWNoIFRDLUNSQyBlcnJvciBkZXRlY3RlZCBieSB0aGUgNjQvNjUtb2N0ZXQgcmVj ZWl2ZSBmdW5jdGlvbg0KICAgICAgIChzZWUgNjEuMy4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuDQoN CiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFUQ0NSQ0Vycm9ycyBhdHRyaWJ1dGUgaW4NCiAg ICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENNRSBUQyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0 byB0aGUgVEMgQ1JDIGVycm9yIHJlZ2lzdGVyDQogICAgICAgKHNlZSA0NS4yLjYuMTEpLg0KDQog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9m IGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIN CiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSA2MS4zLjMuMywgMzAuMTEuMi4xLjEw LCA0NS4yLjYuMTEiDQogICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMTEgfQ0KDQogIC0t IDJCQVNFLVRMIHNwZWNpZmljIFBNRSBncm91cA0KDQogICBlZm1DdVBtZTJCICAgICAgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgdGFibGUgc3VwcG9y dHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgb3BlcmF0aW5nIFBy b2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgIEZpcnN0IDE0IGVudHJpZXMgaW4gdGhp cyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4 MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0r LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRl IFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBz KSAgKGRCbSkNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0KICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAx My41ICAgIDEgICAzMi1UQ1BBTQ0KICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41 ICAgIDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAg IDEgICAxNi1UQ1BBTQ0KICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQ0KICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAx Ni1UQ1BBTQ0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1U Q1BBTQ0KICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BB TQ0KICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAg ICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAg ICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0KICAgICAgICAg MTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQp DQogICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAgMiAgIDAgICAgICAgIChi ZXN0IGVmZm9ydCkNCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVh dGVkIGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBk ZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUg ZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3Rv bSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9maWxlcyBhbmQgYXV0 b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAg ICAiWzgwMi4zYWhdIEFubmV4IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgIDo6PSB7IGVmbUN1UG1l MkIgIDIgfQ0KDQogICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBwcm9m aWxlLg0KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1 c2VkIGVpdGhlciBmb3INCiAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2VudGF0aW9uIG9m IGEgMkJBU0UtVEwgUE1FLg0KICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMg cmVmZXJlbmNlZCB2aWENCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVm bUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyks IGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAgICAgIHBhcmFtZXRlcnMgdGhlIDJCYXNlVEwt TyBQTUUgaW5pdGlhbGl6YXRpb24uDQogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQg dmlhIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0LA0KICAgICAgIGl0IHJlcHJlc2VudHMgY3Vy cmVudCBvcGVyYXRpbmcgcGFyYW1ldGVycyBvZiB0aGUNCiAgICAgICBvcGVyYXRpb25hbCBQTUUu DQoNCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRlZC9kZWxldGVkIHVzaW5nIHRoZSByb3cg Y3JlYXRpb24vDQogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCUHJvZmls ZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCwgdGhl IGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnDQogICAgICAgdW50aWwgYWxsIHJlZmVyZW5jZXMg YXJlIHJlbW92ZWQuDQogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1QgTk9UIGJlIHJlbW92ZWQu Ig0KICAgICBJTkRFWCB7IGVmbUN1UG1lMkJQcm9maWxlSW5kZXggfQ0KICAgICA6Oj0geyBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDo6PQ0K ICAgICBTRVFVRU5DRSB7DQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCAgICAgICAgICAg RWZtUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgICAgICAgICAg IFNubXBBZG1pblN0cmluZywNCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZSAgICAgICAgICAgICAgICAgIEVmbVBy b2ZpbGVJbmRleE9yWmVybywNCiAgICAgICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgICAgICAgICAg ICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlBvd2VyICAgICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgICAgICAgICBJTlRFR0VSLA0K ICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICB9 DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMkJBU0UtVEwg UE1FIFByb2ZpbGUgaW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRl eCBhc3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0 YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUNCiAgICAgICBvciBlZm1D dVBtZUFkbWluUHJvZmlsZSBvYmplY3RzLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSAxIH0NCg0KICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQ0KICAgICBT WU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcNCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIHRl eHR1YWwgc3RyaW5nIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgMkJBU0UtVEwgUE1FDQog ICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBk YXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1 bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDIgfQ0KDQog ICBlZm1DdVBtZTJCUmVnaW9uICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICByZWdpb24xKDEpLA0KICAgICAgIHJlZ2lvbjIoMikNCiAgICAgfQ0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlJlZ2lvbmFsIHNldHRpbmdzIGZvciAyQkFTRS1UTCBQTUUsIGFz IHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICByZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45 OTEuMl0uDQogICAgICAgUmVnaW9uYWwgc2V0dGluZ3Mgc3BlY2lmeSBQb3dlciBTcGVjdHJhbCBE ZW5zaXR5IChQU0QpIG1hc2ssDQogICAgICAgUG93ZXIgQmFjay1PZmYgKFBCTykgdmFsdWVzIGFu ZCBwbGFjZSBsaW1pdGF0aW9ucyBvbiB0aGUgbWF4DQogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUs IHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLg0KDQogICAgICAgUG9zc2libGUgdmFsdWVzIGZvciB0 aGlzIG9iamVjdCBhcmU6DQogICAgICAgICByZWdpb24xICAgICAgLSBBbm5leGVzIEEgYW5kIEYg KGUuZy4gTm9ydGggQW1lcmljYSkNCiAgICAgICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBh bmQgRyAoZS5nLiBFdXJvcGUpDQoNCiAgICAgICBBbm5leCBBL0Igc3BlY2lmeSByZWdpb25hbCBz ZXR0aW5ncyBmb3IgZGF0YSByYXRlcyAxOTItMjMwNA0KICAgICAgIEticHMgdXNpbmcgMTYtVENQ QU0gZW5jb2RpbmcuDQogICAgICAgQW5uZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3Mg Zm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBzDQogICAgICAgdXNpbmcgMTYtVENQQU0gZW5jb2Rpbmcg YW5kIDc2OC01Njk2IEticHMgdXNpbmcgMzItVENQQU0NCiAgICAgICBlbmNvZGluZy4NCg0KICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwg dGhlbiB0aGlzDQogICAgICAgb2JqZWN0IHBhcnRpYWxseSBtYXBzIHRvIHRoZSBSZWdpb24gYml0 cyBpbiB0aGUgMkIgZ2VuZXJhbA0KICAgICAgIHBhcmFtZXRlciByZWdpc3Rlci4iDQogICAgIFJF RkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQyOyBbRy45OTEuMl0gQW5uZXhlcyBB LCBCLCBGIGFuZCBHIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDMgfQ0KDQog ICBlZm1DdVBtZTJCc01vZGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkRlc2lyZWQgY3VzdG9tIFNw ZWN0cmFsIE1vZGUgZm9yIDJCQVNFLVRMIFBNRS4gVGhpcyBvYmplY3QNCiAgICAgICBpcyBhIHBv aW50ZXIgdG8gYW4gZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgYW5kIGEgYmxvY2sNCiAg ICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJsZSwgd2hpY2ggdG9nZXRo ZXIgZGVmaW5lDQogICAgICAgKGNvdW50cnktc3BlY2lmaWMpIHJlYWNoIGRlcGVuZGVudCByYXRl IGxpbWl0YXRpb25zIGluDQogICAgICAgYWRkaXRpb24gdG8gdGhvc2UgZGVmaW5lZCBieSBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBp bmRleCBvZiB0aGUgcmVmZXJlbmNlZA0KICAgICAgIHNwZWN0cmFsIG1vZGUuDQogICAgICAgVGhl IHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNpZmljDQogICAg ICAgc3BlY3RyYWwgbW9kZSBpcyBhcHBsaWNhYmxlLg0KDQogICAgICAgQXR0ZW1wdHMgdG8gc2V0 IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlDQogICAgICAgb2Yg dGhlIGluZGV4IGZvciBhbiBhY3RpdmUgZW50cnkgaW4gdGhlIGNvcnJlc3BvbmRpbmcgc3BlY3Ry YWwNCiAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVkLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUi DQogICAgIERFRlZBTCB7IDAgfQ0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQ0KDQogICBlZm1DdVBtZTJCTWluRGF0YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAg VW5zaWduZWQzMigxOTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0K ICAgICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBpcyBj b25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBl cXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgSWYgZWZtQ3VQbWUy Qk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUgaW4NCiAgICAg ICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBpcyBjb25zaWRlcmVk DQogICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRh aW5hYmxlIHJhdGUNCiAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgbGltaXRhdGlvbnMgcGxhY2VkIGJ5IHRoZSBlZm1D dVBtZTJCUmVnaW9uIGFuZA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZS4NCg0KICAgICAgIE5vdGUg dGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEgcmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAg cmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmplY3Qgb2YgSUYtTUlCLg0KDQogICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMN CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIg UE1EDQogICAgICAgcGFyYW1ldGVycyByZWdpc3Rlci4NCg0KICAgICAgIFRoaXMgb2JqZWN0IE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgUkVGRVJFTkNF DQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9m aWxlRW50cnkgNSB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgVU5JVFMgICAgICAgIkticHMi DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiTWF4aW11bSBEYXRhIFJhdGUgZm9yIHRoZSAyQkFT RS1UTCBQTUUuDQogICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2UgdmFsdWVzIG9mIChuIHggNjQp S2JwcywNCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgVGhlIGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0Ut VEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVuDQogICAgICAgdGhlIHZhbHVlIG9mIHRo aXMgb2JqZWN0IGVxdWFscyB0aGF0IG9mIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZS4NCiAgICAgICBJ ZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZSBpbg0KICAgICAgIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlLCB0aGUgZGF0YSByYXRlIGlz IGNvbnNpZGVyZWQNCiAgICAgICAnYWRhcHRpdmUnLCBhbmQgU0hBTEwgYmUgc2V0IHRvIHRoZSBt YXhpbXVtIGF0dGFpbmFibGUgcmF0ZQ0KICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1h eERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwNCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQg YnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlLg0KDQog ICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUg aXMNCiAgICAgICByZXByZXNlbnRlZCBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAg ICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQs IHRoZW4gdGhpcw0KICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBNYXggRGF0YSBSYXRlMSBiaXRz IGluIHRoZSAyQiBQTUQNCiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVyLg0KDQogICAgICAgVGhp cyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAg ICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS40MyINCiAgICAgOjo9IHsgZWZt Q3VQbWUyQlByb2ZpbGVFbnRyeSA2IH0NCg0KICAgZWZtQ3VQbWUyQlBvd2VyICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTAuLjQyKQ0KICAgICBVTklUUyAgICAg ICAiMC41IGRCbSINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJTaWduYWwgVHJhbnNtaXQgUG93 ZXIuIE11bHRpcGxlIG9mIDAuNWRCbS4NCiAgICAgICBUaGUgdmFsdWUgb2YgMCBpbiB0aGUgYWRt aW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucyB0aGF0IHRoZQ0KICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bw0KICAgICAgIG1heGltaXpl IHRoZSBhdHRhaW5hYmxlIHJhdGUsIHVuZGVyIHRoZSBzcGVjdHJhbCBsaW1pdGF0aW9ucw0KICAg ICAgIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLg0K DQogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVz ZW50LCB0aGVuIHRoaXMNCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgUG93ZXIxIGJpdHMgaW4g dGhlIDJCIFBNRCBwYXJhbWV0ZXJzDQogICAgICAgcmVnaXN0ZXIiDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmls ZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTJCQ29uc3RlbGxhdGlvbiAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgYWRhcHRpdmUoMCksDQogICAgICAgdGNw YW0xNigxKSwNCiAgICAgICB0Y3BhbTMyKDIpDQogICAgIH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVh ZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAg ICAgICJUQ1BBTSBDb25zdGVsbGF0aW9uIG9mIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgVGhl IHBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAx Ni0gb3IgMzItVENQQU0NCiAgICAgICAgIHRjcGFtMTYoMSkgICAgIC0gMTYtVENQQU0NCiAgICAg ICAgIHRjcGFtMzIoMikgICAgIC0gMzItVENQQU0NCg0KICAgICAgIFRoZSB2YWx1ZSBvZiBhZGFw dGl2ZSgwKSBpbiB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSBtZWFucw0KICAgICAgIHRoYXQg dGhlIGNvbnN0ZWxsYXRpb24gaXMgbm90IGZpeGVkIGFuZCBTSEFMTCBiZSBzZXQgdG8NCiAgICAg ICBtYXhpbWl6ZSB0aGUgYXR0YWluYWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRh dGlvbnMNCiAgICAgICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ TUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIENvbnN0 ZWxsYXRpb24xIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICBwYXJhbWV0ZXIgcmVnaXN0 ZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOCB9DQoNCiAgIGVmbUN1UG1lMkJQcm9maWxl Um93U3RhdHVzIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBN QVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERF U0NSSVBUSU9ODQogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmlj YXRpb24gb3IgZGVsZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1D dVBtZTJCUHJvZmlsZVRhYmxlIHBlciB0aGUNCiAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVz Lg0KDQogICAgICAgSWYgYW4gJ2FjdGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VB ZG1pblByb2ZpbGUgb3INCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSwgdGhlIGVudHJ5IE1V U1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbA0KICAgICAgIHJlZmVyZW5jZXMgYXJlIHJlbW92 ZWQuDQoNCiAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFr ZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90 SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICBhZ2Fpbi4iDQog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9DQoNCg0KICAgZWZtQ3VQbWUyQnNN b2RlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQ bWUyQnNNb2RlRW50cnkNCiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlLCB0 b2dldGhlciB3aXRoIGVmbUN1MkJSZWFjaFJhdGVUYWJsZSwgc3VwcG9ydHMNCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3INCiAgICAg ICAyQkFTRS1UTCBQTUVzLCBkZXNjcmliaW5nIHNwZWN0cmFsIGxpbWl0YXRpb25zIGluIGFkZGl0 aW9uIHRvDQogICAgICAgdGhvc2Ugc3BlY2lmaWVkIGJ5IGVmbUN1UG1lMkJSZWdpb24uDQoNCiAg ICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAoZS5nLiBVSyBBTkZQKSBs aW1pdCB0aGUNCiAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0 ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1p dGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUg cmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgTVVTVCBOT1QgYmUgZGVs ZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgIHJlbW92ZWQu DQoNCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMyB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgIE1B WC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg REVTQ1JJUFRJT04NCiAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9kZSBk ZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgIHdoaWNoIGlzIHVzZWQgdG8gcmVmZXJl bmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICBlZm1DdTJCUmVhY2hSYXRl VGFibGUuDQoNCiAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhl IHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMkJz TW9kZVJvd1N0YXR1cy4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUyQnNNb2RlRW50 cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAg ICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAg ICAgICAgICAgU25tcEFkbWluU3RyaW5nLA0KICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1 cyAgICAgICAgIFJvd1N0YXR1cw0KICAgICB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUND RVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NS SVBUSU9ODQogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg IFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMgc3Bl Y3RyYWwNCiAgICAgICBtb2RlLg0KICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBhcmUgcmVm ZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgb2JqZWN0LiINCiAgICAgOjo9IHsg ZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgIGVmbUN1UG1lMkJzTW9kZURlc2NyIE9CSkVD VC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUNDRVNT ICByZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAy QkFTRS1UTCBQTUUNCiAgICAgICBzcGVjdHJhbCBtb2RlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRl IGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgY29ycmVzcG9uZGluZyAoY291bnRyeS1zcGVjaWZp Yykgc3BlY3RyYWwgcmVndWxhdGlvbnMNCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iDQogICAgIDo6PSB7IGVmbUN1UG1l MkJzTW9kZUVudHJ5IDIgfQ0KDQogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3Jl YXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAi VGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBv Zg0KICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBl ciB0aGUgc2VtYW50aWNzDQogICAgICAgb2YgUm93U3RhdHVzLg0KDQogICAgICAgSWYgYW4gJ2Fj dGl2ZScgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUNCiAgICAg ICBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVt b3ZlZC4NCg0KICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4g SW4gb3JkZXIgdG8gbW9kaWZ5IGFuDQogICAgICAgZXhpc3RpbmcgZW50cnkgaXQgTVVTVCBiZSB0 YWtlbiBvdXQgb2Ygc2VydmljZSAoYnkgc2V0dGluZw0KICAgICAgIHRoaXMgb2JqZWN0IHRvICdu b3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJw0KICAgICAgIGFnYWluLiIN CiAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMyB9DQoNCg0KICAgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lMkJSZWFjaFJhdGVFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMg dGFibGUgc3VwcG9ydHMgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20NCiAgICAg ICBzcGVjdHJhbCBtb2RlcyBmb3IgMkJBU0UtVEwgUE1FcywgcHJvdmlkaW5nIHNwZWN0cmFsDQog ICAgICAgbGltaXRhdGlvbnMgaW4gYWRkaXRpb24gdG8gdGhvc2Ugc3BlY2lmaWVkIGJ5DQogICAg ICAgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgIFRoZSBzcGVjdHJhbCByZWd1bGF0aW9ucyBp biBzb21lIGNvdW50cmllcyAoZS5nLiBVSyBBTkZQKQ0KICAgICAgIGxpbWl0IHRoZSBsZW5ndGgg b2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRhdGEgcmF0ZXMuDQogICAgICAgVGhpcyB0YWJsZSBh bGxvd3MgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZQ0KICAgICAgIHNw ZWNpZmllZC4NCg0KICAgICAgIEJlbG93IGlzIGFuIGV4YW1wbGUgb2YgdGhpcyB0YWJsZSBmb3Ig W0FORlBdOg0KICAgICAgIC0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgIEVxdWl2 YWxlbnQgTWF4UmF0ZSBNYXhSYXRlDQogICAgICAgICBMZW5ndGggICAgUEFNMTYgICBQQU0zMg0K ICAgICAgICAgICAobSkgICAgIChLYnBzKSAgKEticHMpDQogICAgICAgLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tLS0rDQogICAgICAgICAgIDk3NSAgICAgIDIzMDQgICAgNTY5Ng0KICAgICAgICAg IDExMjUgICAgICAyMzA0ICAgIDU1MDQNCiAgICAgICAgICAxMjc1ICAgICAgMjMwNCAgICA1MTIw DQogICAgICAgICAgMTM1MCAgICAgIDIzMDQgICAgNDg2NA0KICAgICAgICAgIDE0MjUgICAgICAy MzA0ICAgIDQ1NDQNCiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0Mjg4DQogICAgICAgICAg MTU3NSAgICAgIDIzMDQgICAgMzk2OA0KICAgICAgICAgIDE2NTAgICAgICAyMzA0ICAgIDM3NzYN CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwDQogICAgICAgICAgMTgwMCAgICAgIDIz MDQgICAgMzI2NA0KICAgICAgICAgIDE4NzUgICAgICAyMzA0ICAgIDMwNzINCiAgICAgICAgICAx OTUwICAgICAgMjA0OCAgICAyNjg4DQogICAgICAgICAgMjEwMCAgICAgIDE3OTIgICAgMjM2OA0K ICAgICAgICAgIDIyNTAgICAgICAxNTM2ICAgICAgIDANCiAgICAgICAgICAyNDAwICAgICAgMTQw OCAgICAgICAwDQogICAgICAgICAgMjU1MCAgICAgIDEyODAgICAgICAgMA0KICAgICAgICAgIDI3 NzUgICAgICAxMTUyICAgICAgIDANCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAwDQog ICAgICAgICAgMzE1MCAgICAgIDEwODggICAgICAgMA0KICAgICAgICAgIDMzNzUgICAgICAxMDI0 ICAgICAgIDANCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsNCg0KICAgICAgIEVu dHJpZXMgaW4gdGhpcyB0YWJsZSByZWZlcmVuY2VkIGJ5IHRoZSBlZm1DdVBtZTJCc01vZGUNCiAg ICAgICBNVVNUIE5PVCBiZSBkZWxldGVkIHVudGlsIGFsbCB0aGUgYWN0aXZlIHJlZmVyZW5jZXMg YXJlDQogICAgICAgcmVtb3ZlZC4NCg0KICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFp bmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiW0FO RlBdIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCICA0IH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0 ZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJSZWFjaFJhdGVF bnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBj dXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1h eGltdW0gMkJBU0UtVEwgUE1FIGRhdGEgcmF0ZXMNCiAgICAgICBhbGxvd2VkIGZvciBhIGNlcnRh aW4gZXF1aXZhbGVudCBsb29wIGxlbmd0aCwgd2hlbiB1c2luZw0KICAgICAgIDE2LVRDUEFNIG9y IDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlh bGl6ZWQsIGl0cyBkYXRhIHJhdGUgTVVTVCBOT1QNCiAgICAgICBleGNlZWQgb25lIG9mIHRoZSBm b2xsb3dpbmcgbGltaXRhdGlvbnM6DQogICAgICAgLSB0aGUgdmFsdWUgb2YgZWZtQ3VQbWUyQk1h eERhdGFSYXRlDQogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1l MkJSZWdpb24gYW5kDQogICAgICAgICBlZm1DdVBtZTJCUG93ZXINCiAgICAgICAtIG1heGltdW0g ZGF0YSByYXRlIGZvciBhIGdpdmVuIGVuY29kaW5nIHNwZWNpZmllZCBpbiB0aGUNCiAgICAgICAg IGVmbUN1UG1lMkJzTW9kZUVudHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxv b3ANCiAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRoZSBQTUUuDQoNCiAgICAgICBJdCBp cyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCB2YWx1ZXMN CiAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZy b20gdGhlDQogICAgICAgbWluaW11bSB2YWx1ZS4NCg0KICAgICAgIEVudHJpZXMgbWF5IGJlIGNy ZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLw0KICAgICAgIGRlbGV0aW9uIG1l Y2hhbmlzbSB2aWEgZWZtQ3VQbWUyUmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgSU5ERVggeyBl Zm1DdVBtZTJCc01vZGVJbmRleCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgOjo9 IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZVRhYmxlIDEgfQ0KDQogICBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5k ZXggICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRM ZW5ndGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICAg ICAgIFVuc2lnbmVkMzIsDQogICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1cyAgICAg Um93U3RhdHVzDQogICAgIH0NCg0KICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IE9CSkVDVC1U WVBFDQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBu b3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9O DQogICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVjdHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUg aW5kZXguDQogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVk IHdpdGggZWFjaCBlbnJ5LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEg fQ0KDQogICBlZm1DdVBtZTJCRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQ0KICAgICBVTklUUyAgICAgICAibSINCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBE RVNDUklQVElPTg0KICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5 c2ljYWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdHICgw LjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVudWF0aW9u IGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgIGJyaWRnZWQgdGFwcy4iDQogICAg IDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgZWZtQ3VQbWUyQk1heERh dGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwx OTIuLjU2OTYpDQogICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIk1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0K ICAgICAgIEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0xNiBlbmNvZGluZy4N CiAgICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTE2IGVuY29kaW5nIHNo b3VsZCBub3QgYmUNCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICA6Oj0geyBl Zm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgMyB9DQoNCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBh bTMyICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDB8MTkyLi41Njk2 KQ0KICAgICBVTklUUyAgICAgICAiS2JwcyINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJNYXhp bXVtIGRhdGEgcmF0ZSBmb3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQNCiAgICAgICBF cXVpdmFsZW50IGxvb3AncyBMZW5ndGggdXNpbmcgVEMtUEFNMzIgZW5jb2RpbmcuDQogICAgICAg VGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0zMiBlbmNvZGluZyBzaG91bGQgbm90 IGJlDQogICAgICAgdXNlZCBhdCB0aGlzIGRpc3RhbmNlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9C SkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFJvd1N0YXR1cw0KICAgICBNQVgtQUNDRVNTICBy ZWFkLWNyZWF0ZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQog ICAgICAgIlRoaXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVs ZXRpb24gb2YNCiAgICAgICB0aGUgYXNzb2NpYXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hS YXRlVGFibGUgcGVyIHRoZQ0KICAgICAgIHNlbWFudGljcyBvZiBSb3dTdGF0dXMuDQoNCiAgICAg ICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUs IHRoZQ0KICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVu Y2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICBleGlzdGluZyBlbnRyeSBp dCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgdGhpcyBv YmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAg ICAgYWdhaW4uIg0KICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNSB9DQoNCg0K ICAtLSAxMFBBU1MtVFMgc3BlY2lmaWMgUE1FIGdyb3VwDQoNCiAgIGVmbUN1UG1lMTBQICAgICAg T0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9DQoNCiAgIGVmbUN1UG1lMTBQUHJv ZmlsZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5DQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBjb25maWd1cmF0aW9uIHByb2ZpbGVzIGZvcg0KICAg ICAgIDEwUEFTUy1UUyBQTUVzLg0KICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhpcyB0YWJs ZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAgIGZvbGxvd3MgKHNlZSA4MDIuM2Fo IEFubmV4IDYyQi4zKToNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0t LS0tKy0tLS0tLS0tLS0tLQ0KICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90Y2gg RFJhdGUgVVJhdGUNCiAgICAgICAgSW5kZXggIFBTRE1hc2sjICBwIyAgICBwIyAgICAgICAgcCMg ICAgcCMNCiAgICAgICAtLS0tLS0tKy0tLS0tLS0tKy0tLS0rLS0tLS0tLS0tKy0tLS0tKy0tLS0t LS0tLS0tLQ0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAgMjAgICAg MjAoZGVmYXVsdCkNCiAgICAgICAgICAyICAgICAxMyAgICAgIDUgICAgMCAgICAgICAgICAgIDIw ICAgIDIwDQogICAgICAgICAgMyAgICAgIDEgICAgICAxICAgIDAgICAgICAgICAgICAyMCAgICAy MA0KICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAgICAxMDANCiAg ICAgICAgICA1ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgIDcwICAgIDUwDQogICAgICAg ICAgNiAgICAgIDYgICAgICAwICAgIDAgICAgICAgICAgICA1MCAgICAxMA0KICAgICAgICAgIDcg ICAgIDE3ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzANCiAgICAgICAgICA4ICAgICAg OCAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgICA1DQogICAgICAgICAgOSAgICAgIDQgICAg ICAwICAgIDAgICAgICAgICAgICAyNSAgICAyNQ0KICAgICAgICAgMTAgICAgICA0ICAgICAgMCAg ICAwICAgICAgICAgICAgMTUgICAgMTUNCiAgICAgICAgIDExICAgICAyMyAgICAgIDAgICAgMCAg ICAgICAgICAgIDEwICAgIDEwDQogICAgICAgICAxMiAgICAgMjMgICAgICAwICAgIDAgICAgICAg ICAgICAgNSAgICAgNQ0KICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAx MDAgICAxMDANCiAgICAgICAgIDE0ICAgICAxNiAgICAgIDAgICAgMiw1LDksMTEgICAgIDcwICAg IDUwDQogICAgICAgICAxNSAgICAgIDYgICAgICAwICAgIDIsNiwxMCwxMSAgICA1MCAgICAxMA0K ICAgICAgICAgMTYgICAgIDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzANCiAgICAg ICAgIDE3ICAgICAgOCAgICAgIDAgICAgMiw2LDEwLDExICAgIDMwICAgICA1DQogICAgICAgICAx OCAgICAgIDQgICAgICAwICAgIDIsNiwxMCwxMSAgICAyNSAgICAyNQ0KICAgICAgICAgMTkgICAg ICA0ICAgICAgMCAgICAyLDYsMTAsMTEgICAgMTUgICAgMTUNCiAgICAgICAgIDIwICAgICAyMyAg ICAgIDAgICAgMiw1LDksMTEgICAgIDEwICAgIDEwDQogICAgICAgICAyMSAgICAgMjMgICAgICAw ICAgIDIsNSw5LDExICAgICAgNSAgICAgNQ0KICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAw ICAgICAgICAgICAyMDAgICAgNTANCg0KICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFM TCBiZSBjcmVhdGVkIGJ5IGR1cmluZyBhZ2VudA0KICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBN VVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgRW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0 IDIyLCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICBkZWxldGVkLCB0byBw cm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlvbikNCiAgICAgICBwcm9m aWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4NCg0KICAgICAgIFRoaXMgdGFi bGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICBSRUZF UkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQi4zLCAzMC4xMS4yLjEuNiINCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFAgIDEgfQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSBPQkpF Q1QtVFlQRQ0KICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEwUFByb2ZpbGVFbnRyeQ0KICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAg IERFU0NSSVBUSU9ODQogICAgICAgIkVhY2ggZW50cnkgY29ycmVzcG9uZHMgdG8gYSBzaW5nbGUg MTBQQVNTLVRTIFBNRQ0KICAgICAgIHByb2ZpbGUuDQogICAgICAgRWFjaCBwcm9maWxlIGNvbnRh aW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcg0KICAgICAgIGNvbmZpZ3Vy YXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAxMFBBU1MtVFMgUE1FLg0KICAgICAgIEluIGNh c2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICBlZm1DdVBt ZUFkbWluUHJvZmlsZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAg ICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0aW9uLg0KICAgICAg IElmIGEgcHJvZmlsZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVj dCwNCiAgICAgICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2Yg dGhlIFBNRS4NCg0KICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcg dGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1l MTBQUHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScNCiAgICAgICB1bnRpbCBhbGwg cmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICBEZWZhdWx0IGVudHJpZXMgTVVTVCBOT1Qg YmUgcmVtb3ZlZC4iDQogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggfQ0KICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0KICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgOjo9DQogICAgIFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVJ bmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmls ZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5k cGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJl bmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxl cyAgICAgIEJJVFMsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElO VEVHRVIsDQogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICAgIElOVEVHRVIs DQogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAg ICB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgIFNZTlRB WCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIjEwUEFT Uy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVl IGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQogICAgICAgRW50cmllcyBpbiB0 aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAg IGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50 cnkgMSB9DQoNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0K ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgdGV4 dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAxMFBBU1MtVFMgUE1FDQog ICAgICAgUHJvZmlsZS4gVGhlIHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBk YXRhIHJhdGUNCiAgICAgICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1 bGFyIHByb2ZpbGUuIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAyIH0NCg0K ICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgIFNZ TlRBWCAgSU5URUdFUiB7DQogICAgICAgcHJvZmlsZTEoMSksDQogICAgICAgcHJvZmlsZTIoMiks DQogICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgcHJvZmlsZTQoNCksDQogICAgICAgcHJvZmls ZTUoNSksDQogICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgcHJvZmlsZTcoNyksDQogICAgICAg cHJvZmlsZTgoOCksDQogICAgICAgcHJvZmlsZTkoOSksDQogICAgICAgcHJvZmlsZTEwKDEwKSwN CiAgICAgICBwcm9maWxlMTEoMTEpLA0KICAgICAgIHByb2ZpbGUxMigxMiksDQogICAgICAgcHJv ZmlsZTEzKDEzKSwNCiAgICAgICBwcm9maWxlMTQoMTQpLA0KICAgICAgIHByb2ZpbGUxNSgxNSks DQogICAgICAgcHJvZmlsZTE2KDE2KSwNCiAgICAgICBwcm9maWxlMTcoMTcpLA0KICAgICAgIHBy b2ZpbGUxOCgxOCksDQogICAgICAgcHJvZmlsZTE5KDE5KSwNCiAgICAgICBwcm9maWxlMjAoMjAp LA0KICAgICAgIHByb2ZpbGUyMSgyMSksDQogICAgICAgcHJvZmlsZTIyKDIyKSwNCiAgICAgICBw cm9maWxlMjMoMjMpLA0KICAgICAgIHByb2ZpbGUyNCgyNCksDQogICAgICAgcHJvZmlsZTI1KDI1 KSwNCiAgICAgICBwcm9maWxlMjYoMjYpLA0KICAgICAgIHByb2ZpbGUyNygyNyksDQogICAgICAg cHJvZmlsZTI4KDI4KSwNCiAgICAgICBwcm9maWxlMjkoMjkpDQogICAgIH0NCiAgICAgTUFYLUFD Q0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQ VElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIEJhbmRwbGFuIGFuZCBQU0QgTWFzayBwcm9maWxl LA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFs dWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgUHJvZmlsZSBOYW1lICAgIFBTRCBNYXNrICAg ICAgICAgICAgICAgICAgQmFuZHMgICAgIEJhbmRwbGFuDQogICAgICAgLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLQ0KICAgICAgIHBy b2ZpbGUxKDEpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgeC9EL1UvRC9VICBBDQogICAg ICAgcHJvZmlsZTIoMikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxl MygzKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlNCg0KSAgIC0g VDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGU1KDUpICAgLSBUMS40MjQvVC1V IFAxIEZUVENhYi5NMSAgRC9EL1UvRC9VDQogICAgICAgcHJvZmlsZTYoNikgICAtIFQxLjQyNC9U LVUgUDEgRlRURXguTTENCiAgICAgICBwcm9maWxlNyg3KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRD YWIuTTINCiAgICAgICBwcm9maWxlOCg4KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAg ICAgIHByb2ZpbGU5KDkpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMSAgVS9EL1UvRC94DQog ICAgICAgcHJvZmlsZTEwKDEwKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTENCiAgICAgICBwcm9m aWxlMTEoMTEpIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTINCiAgICAgICBwcm9maWxlMTIoMTIp IC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMg0KICAgICAgIHByb2ZpbGUxMygxMykgLSBUUzEgMTAx IDI3MC0xIFBjYWIuTTEuQSAgeC9EL1UvRC9VICBCDQogICAgICAgcHJvZmlsZTE0KDE0KSAtIFRT MSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTE1KDE1KSAtIFRTMSAxMDEgMjcw LTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTE2KDE2KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAy Lk0xDQogICAgICAgcHJvZmlsZTE3KDE3KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMg0KICAgICAg IHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMg0KICAgICAgIHByb2ZpbGUx OSgxOSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAgIHByb2ZpbGUyMCgyMCkgLSBU UzEgMTAxIDI3MC0xIFBjYWIuTTEuQSAgVS9EL1UvRC94DQogICAgICAgcHJvZmlsZTIxKDIxKSAt IFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CDQogICAgICAgcHJvZmlsZTIyKDIyKSAtIFRTMSAxMDEg MjcwLTEgUGV4LlAxLk0xDQogICAgICAgcHJvZmlsZTIzKDIzKSAtIFRTMSAxMDEgMjcwLTEgUGV4 LlAyLk0xDQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMg0KICAg ICAgIHByb2ZpbGUyNSgyNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMg0KICAgICAgIHByb2Zp bGUyNigyNikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMg0KICAgICAgIHByb2ZpbGUyNygyNykg LSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9VICBGDQogICAgICAgcHJvZmls ZTI4KDI4KSAtIEcuOTkzLjEgRi4xLjIuMiAoVkRTTG9UQ00tSVNETikNCiAgICAgICBwcm9maWxl MjkoMjkpIC0gRy45OTMuMSBGLjEuMi4zIChQU0QgcmVkdWN0aW9uKQ0KDQogICAgICAgVGhpcyBv YmplY3QgbWFwcyB0byB0aGUgYUJhbmRwbGFuUFNETWFza1Byb2ZpbGUgYXR0cmlidXRlDQogICAg ICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2FoXSBBbm5l eCA2MkEsIDMwLjUuMS4xLjIyIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSAz IH0NCg0KICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAg ICAgU1lOVEFYICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICBwcm9maWxl MigyKSwNCiAgICAgICBwcm9maWxlMygzKSwNCiAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICBw cm9maWxlNSg1KSwNCiAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICBwcm9maWxlOCg4KSwNCiAgICAgICBwcm9maWxlOSg5KQ0KICAgICB9DQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQb3dlciBCYWNrLU9mZiAoVVBC TykgUmVmZXJlbmNlIFBTRA0KICAgICAgIFByb2ZpbGUsIGFzIHNwZWNpZmllZCBpbiA4MDIuM2Fo IEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzDQogICAgICAgYXJlOg0KICAgICAgICAgcHJvZmls ZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xDQogICAgICAgICBwcm9maWxl MigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTINCiAgICAgICAgIHByb2ZpbGUz KDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0KICAgICAgICAgcHJvZmlsZTQo NCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQogICAgICAgICBwcm9maWxlNSg1 KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmYW1wO0INCiAgICAgICAgIHByb2ZpbGU2 KDYpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgQw0KICAgICAgICAgcHJvZmlsZTcoNykg ICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBEDQogICAgICAgICBwcm9maWxlOCg4KSAgIC0g RVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEUNCiAgICAgICAgIHByb2ZpbGU5KDkpICAgLSBFVFNJ IFRTIDEwMSAyNzAtMSAgTm9pc2UgRg0KDQogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUg YVVQQk9SZWZlcmVuY2VQcm9maWxlIGF0dHJpYnV0ZQ0KICAgICAgIGluIENsYXVzZSAzMC4iDQog ICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNCwgMzAuNS4xLjEu MjMiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDQgfQ0KDQogICBlZm1DdVBt ZTEwUEJhbmROb3RjaFByb2ZpbGVzICBPQkpFQ1QtVFlQRQ0KICAgICBTWU5UQVggIEJJVFMgew0K ICAgICAgIHByb2ZpbGUwKDApLA0KICAgICAgIHByb2ZpbGUxKDEpLA0KICAgICAgIHByb2ZpbGUy KDIpLA0KICAgICAgIHByb2ZpbGUzKDMpLA0KICAgICAgIHByb2ZpbGU0KDQpLA0KICAgICAgIHBy b2ZpbGU1KDUpLA0KICAgICAgIHByb2ZpbGU2KDYpLA0KICAgICAgIHByb2ZpbGU3KDcpLA0KICAg ICAgIHByb2ZpbGU4KDgpLA0KICAgICAgIHByb2ZpbGU5KDkpLA0KICAgICAgIHByb2ZpbGUxMCgx MCksDQogICAgICAgcHJvZmlsZTExKDExKQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQt Y3JlYXRlDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiMTBQQVNTLVRTIFBNRSBFZ3Jlc3MgQ29udHJvbCBCYW5kIE5vdGNoIFByb2ZpbGUgYml0bWFw LA0KICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFs dWVzIGFyZToNCiAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0rLS0tLS0NCiAgICAgICBQcm9maWxlIE5hbWUgICAgRy45OTEuMyAgVDEu NDI0L1QtVSBUUzEwMSAyNzAtMSBTdGFydEYgRW5kRg0KICAgICAgICAgICAgICAgICAgICAgICBU YWJsZSAgICBUYWJsZSAgICAgIFRhYmxlICAgICAgIChNSHopICAoTUh6KQ0KICAgICAgIC0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLQ0K ICAgICAgIHByb2ZpbGUwKDApICAgLSBubyBwcm9maWxlDQogICAgICAgcHJvZmlsZTEoMSkgICAt IEYtNSAjMDEgIC0gICAgICAgICAgLSAgICAgICAgICAgMS44MTAgIDEuODI1DQogICAgICAgcHJv ZmlsZTIoMikgICAtIDYtMiAgICAgIDE1LTEgICAgICAgMTcgICAgICAgICAgMS44MTAgIDIuMDAw DQogICAgICAgcHJvZmlsZTMoMykgICAtIEYtNSAjMDIgIC0gICAgICAgICAgLSAgICAgICAgICAg MS45MDcgIDEuOTEyDQogICAgICAgcHJvZmlsZTQoNCkgICAtIEYtNSAjMDMgIC0gICAgICAgICAg LSAgICAgICAgICAgMy41MDAgIDMuNTc1DQogICAgICAgcHJvZmlsZTUoNSkgICAtIDYtMiAgICAg IC0gICAgICAgICAgMTcgICAgICAgICAgMy41MDAgIDMuODAwDQogICAgICAgcHJvZmlsZTYoNikg ICAtIC0gICAgICAgIDE1LTEgICAgICAgLSAgICAgICAgICAgMy41MDAgIDQuMDAwDQogICAgICAg cHJvZmlsZTcoNykgICAtIEYtNSAjMDQgIC0gICAgICAgICAgLSAgICAgICAgICAgMy43NDcgIDMu NzU0DQogICAgICAgcHJvZmlsZTgoOCkgICAtIEYtNSAjMDUgIC0gICAgICAgICAgLSAgICAgICAg ICAgMy43OTEgIDMuODA1DQogICAgICAgcHJvZmlsZTkoOSkgICAtIDYtMiAgICAgIC0gICAgICAg ICAgMTcgICAgICAgICAgNy4wMDAgIDcuMTAwDQogICAgICAgcHJvZmlsZTEwKDEwKSAtIEYtNSAj MDYgIDE1LTEgICAgICAgLSAgICAgICAgICAgNy4wMDAgIDcuMzAwDQogICAgICAgcHJvZmlsZTEx KDExKSAtIDYtMiAgICAgIDE1LTEgICAgICAgMSAgICAgICAgICAgMTAuMTAwIDEwLjE1MA0KDQog ICAgICAgQW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1Jp bmcNCiAgICAgICBpbmRpdmlkdWFsIHByb2ZpbGVzLCBmb3IgZXhhbXBsZSB2YWx1ZSBvZiAweDA2 MjIgc2VsZWN0cw0KICAgICAgIHByb2ZpbGVzIDIsNiwxMCBhbmQgMTEuDQoNCiAgICAgICBUaGlz IG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRyaWJ1dGUNCiAgICAgICBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjUsIDMwLjUuMS4xLjE5Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA1 IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9m aWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJv ZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAw KQ0KICAgICB9DQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVh bSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwNCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBB bm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQogICAgICAgICBwcm9maWxlNSg1KSAgICAg ICAtIDIuNSBNYnBzDQogICAgICAgICBwcm9maWxlMTAoMTApICAgICAtIDUgTWJwcw0KICAgICAg ICAgcHJvZmlsZTE1KDE1KSAgICAgLSA3LjUgTWJwcw0KICAgICAgICAgcHJvZmlsZTIwKDIwKSAg ICAgLSAxMCBNYnBzDQogICAgICAgICBwcm9maWxlMjUoMjUpICAgICAtIDEyLjUgTWJwcw0KICAg ICAgICAgcHJvZmlsZTMwKDMwKSAgICAgLSAxNSBNYnBzDQogICAgICAgICBwcm9maWxlNTAoNTAp ICAgICAtIDI1IE1icHMNCiAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgIC0gMzUgTWJwcw0KICAg ICAgICAgcHJvZmlsZTEwMCgxMDApICAgLSA1MCBNYnBzDQoNCiAgICAgICBFYWNoIHZhbHVlIHJl cHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0cmVhbSBQYXlsb2FkDQogICAgICAg Qml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YgdGhlDQog ICAgICAgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxv b3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGlu aXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwgZmFpbC4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVVcHN0cmVhbQ0KICAgICAgIGF0dHJpYnV0ZSBp biBDbGF1c2UgMzAuIg0KICAgICBSRUZFUkVOQ0UNCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYy QS4zLjYsIDMwLjUuMS4xLjIwIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2 IH0NCg0KICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAg ICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICBwcm9m aWxlMTAoMTApLA0KICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgcHJvZmlsZTIwKDIwKSwN CiAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAgcHJv ZmlsZTUwKDUwKSwNCiAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgIHByb2ZpbGUxMDAoMTAw KSwNCiAgICAgICBwcm9maWxlMTQwKDE0MCksDQogICAgICAgcHJvZmlsZTIwMCgyMDApDQogICAg IH0NCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICBERVNDUklQVElPTg0KICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5 bG9hZCBSYXRlIFByb2ZpbGUsDQogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXgg NjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIu NSBNYnBzDQogICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICBwcm9m aWxlMTUoMTUpICAgIC0gNy41IE1icHMNCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBN YnBzDQogICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICBwcm9m aWxlMzAoMzApICAgIC0gMTUgTWJwcw0KICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1i cHMNCiAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICBwcm9maWxl MTAwKDEwMCkgIC0gNTAgTWJwcw0KICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAtIDcwIE1icHMN CiAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcw0KDQogICAgICAgRWFjaCB2YWx1 ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgRG93bnN0cmVhbQ0KICAgICAgIFBh eWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YN CiAgICAgICB0aGUgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3QgYmUgYWNoaWV2ZWQgYmFzZWQgb24g dGhlIGxvb3ANCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUg UE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgU0hBTEwgZmFpbC4NCg0KICAgICAgIFRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgYXR0 cmlidXRlIGluIENsYXVzZSAzMC4iDQogICAgIFJFRkVSRU5DRQ0KICAgICAgICJbODAyLjNhaF0g QW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjEiDQogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmls ZUVudHJ5IDcgfQ0KDQogICBlZm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUN CiAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRl DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiVGhp cyBvYmplY3QgY29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0K ICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIHBl ciB0aGUNCiAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVzLg0KDQogICAgICAgSWYgYW4gYWN0 aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRp bA0KICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgQW4gJ2FjdGl2 ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAg ICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBz ZXR0aW5nDQogICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBh bmQgc2V0ICdhY3RpdmUnDQogICAgICAgYWdhaW4uIg0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFBy b2ZpbGVFbnRyeSA4IH0NCg0KDQogICBlZm1DdVBtZTEwUFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBF DQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAg ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICBERVNDUklQVElPTg0KICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIHN0YXR1cyBpbmZv cm1hdGlvbiBvZiBFRk1DdSAxMFBBU1MtVFMNCiAgICAgICBQTUVzIChtb2RlbXMpLg0KDQogICAg ICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBz dWNoLA0KICAgICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgOjo9IHsgZWZtQ3VQbWUx MFAgMiB9DQoNCiAgIGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgU1lO VEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAgICBNQVgtQUNDRVNTICBub3QtYWNj ZXNzaWJsZQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAg ICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSAxMFBBU1MtVFMgUE1FIFN0YXR1cyB0YWJsZS4iDQog ICAgIEFVR01FTlRTIHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSB9DQogICAgIDo6PSB7IGVmbUN1UG1l MTBQU3RhdHVzVGFibGUgMSB9DQoNCiAgIEVmbUN1UG1lMTBQU3RhdHVzRW50cnkgOjo9DQogICAg IFNFUVVFTkNFIHsNCiAgICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgQ291 bnRlcjMyLA0KICAgICAgIGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVy MzINCiAgICAgfQ0KDQogICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZ UEUNCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEg Y291bnQgb2YgcmVjZWl2ZWQgYW5kIGNvcnJlY3RlZCBGRUMgY29kZXdvcmRzIGluIDEwUEFTUy1U Uw0KICAgICAgIFBNRS4NCg0KICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ0NvcnJl Y3RlZEJsb2NrcyBhdHRyaWJ1dGUgaW4NCiAgICAgICBjbGF1c2UgMzAuDQoNCiAgICAgICBJZiBh IENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LA0KICAg ICAgIHRoZW4gdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEZFQyBjb3JyZWN0YWJsZSBlcnJv cnMNCiAgICAgICByZWdpc3Rlcg0KDQogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1 ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICBhcyBp bmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgUkVGRVJFTkNFDQogICAgICAgIls4MDIuM2Fo XSA0NS4yLjEuMjIsIDMwLjExLjIuMS44Ig0KICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0Vu dHJ5IDEgfQ0KDQogICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzICBPQkpFQ1QtVFlQ RQ0KICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBj b3VudCBvZiByZWNlaXZlZCBGRUMgY29kZXdvcmRzIGluIDEwUEFTUy1UUyBQTUUsIHdoaWNoIGFy ZQ0KICAgICAgIHVuY29ycmVjdGFibGUuDQoNCiAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQ TUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzIGF0dHJpYnV0ZSBpbg0KICAgICAgIGNsYXVzZSAzMC4N Cg0KICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlz IHByZXNlbnQsDQogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRkVDIHVu Y29ycmVjdGFibGUgZXJyb3JzDQogICAgICAgcmVnaXN0ZXINCg0KICAgICAgIERpc2NvbnRpbnVp dGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgIHJl LWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRp bWVzDQogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgIFJFRkVSRU5DRQ0K ICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIzLCAzMC4xMS4yLjEuOSINCiAgICAgOjo9IHsgZWZt Q3VQbWUxMFBTdGF0dXNFbnRyeSAyIH0NCg0KICAtLQ0KICAtLSBDb25mb3JtYW5jZSBTdGF0ZW1l bnRzDQogIC0tDQoNCiAgIGVmbUN1R3JvdXBzICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VDb25mb3JtYW5jZSAxIH0NCg0KICAgZWZtQ3VDb21wbGlhbmNlcyBPQkpFQ1QgSURFTlRJ RklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDIgfQ0KDQogICAtLSBPYmplY3QgR3JvdXBzDQoN CiAgIGVmbUN1QmFzaWNHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAg ZWZtQ3VQQUZTdXBwb3J0ZWQsDQogICAgICAgZWZtQ3VBZG1pblByb2ZpbGUsDQogICAgICAgZWZt Q3VUYXJnZXREYXRhUmF0ZSwNCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiwNCiAgICAgICBlZm1D dUFkYXB0aXZlU3BlY3RyYSwNCiAgICAgICBlZm1DdVBvcnRTaWRlLA0KICAgICAgIGVmbUN1Rmx0 U3RhdHVzDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICBERVNDUklQVElP Tg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyByZXByZXNlbnRpbmcgbWFuYWdlbWVu dCBpbmZvcm1hdGlvbg0KICAgICAgIGNvbW1vbiBmb3IgYWxsIHR5cGVzIG9mIEVGTUN1IHBvcnRz LiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMSB9DQoNCiAgIGVmbUN1UEFGR3JvdXAgT0JKRUNU LUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UGVlclBBRlN1cHBvcnRlZCwNCiAg ICAgICBlZm1DdVBBRkNhcGFjaXR5LA0KICAgICAgIGVmbUN1UGVlclBBRkNhcGFjaXR5LA0KICAg ICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSwNCiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUsDQog ICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlLA0KICAgICAgIGVmbUN1TnVtUE1Fcw0K ICAgICB9DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBPUFRJT05BTCBQTUUNCiAgICAg ICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBhbmQgUEFGIGRpc2NvdmVyeSBpbiBFRk1DdSBw b3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDIgfQ0KDQogICBlZm1DdVBBRkVycm9yc0dy b3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAgICBlZm1DdVBBRkluRXJyb3Jz LA0KICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluTGFy Z2VGcmFnbWVudHMsDQogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cywNCiAgICAgICBlZm1D dVBBRkluTG9zdEZyYWdtZW50cywNCiAgICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cywNCiAgICAg ICBlZm1DdVBBRkluTG9zdEVuZHMsDQogICAgICAgZWZtQ3VQQUZJbk92ZXJmbG93cw0KICAgICB9 DQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBj b2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBPUFRJT05BTCBlcnJvciBjb3VudGVycw0K ICAgICAgIG9mIFBBRiBvbiBFRk1DdSBwb3J0cy4iDQogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDMg fQ0KDQogICBlZm1DdVBtZUdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICBPQkpFQ1RTIHsNCiAgICAg ICBlZm1DdVBtZUFkbWluUHJvZmlsZSwNCiAgICAgICBlZm1DdVBtZU9wZXJTdGF0dXMsDQogICAg ICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBvcnRlZCwN CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwNCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBl LA0KICAgICAgIGVmbUN1UEFGUmVtb3RlRGlzY292ZXJ5Q29kZSwNCiAgICAgICBlZm1DdVBtZU9w ZXJQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lU25yTWduLA0KICAgICAgIGVmbUN1UG1lUGVlclNu ck1nbiwNCiAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0 biwNCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgsDQogICAgICAgZWZtQ3VQbWVUQ0Nv ZGluZ0Vycm9ycywNCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzLA0KICAgICAgIGVmbUN1UG1l VGhyZXNoTGluZUF0biwNCiAgICAgICBlZm1DdVBtZVRocmVzaFNuck1nbg0KICAgICB9DQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAgICAgICAiQSBjb2xsZWN0 aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0DQogICAgICAgYSAyQkFT RS1UTC8xMFBBU1MtVFMgUE1FLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNCB9DQoNCiAgIGVm bUN1QWxhcm1Db25mR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAgICAgIGVm bUN1VGhyZXNoTG93UmF0ZSwNCiAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZSwNCiAg ICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Np bmdFbmFibGUsDQogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24sDQogICAgICAgZWZtQ3VQbWVT bnJNZ25Dcm9zc2luZ0VuYWJsZSwNCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlLA0K ICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUsDQogICAgICAgZWZtQ3VQbWVQcm90 b2NvbEluaXRGYWlsRW5hYmxlDQogICAgIH0NCiAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5n IGNvbmZpZ3VyYXRpb24gb2YgYWxhcm0NCiAgICAgICB0aHJlc2hvbGRzIGFuZCBub3RpZmljYXRp b25zIGluIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNSB9DQoNCiAgIGVm bUN1Tm90aWZpY2F0aW9uR3JvdXAgTk9USUZJQ0FUSU9OLUdST1VQDQogICAgIE5PVElGSUNBVElP TlMgew0KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nLA0KICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcsDQogICAgICAgZWZtQ3VQ bWVEZXZpY2VGYXVsdCwNCiAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlLA0KICAgICAg IGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KLS0gICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dCwNCi0tICAgICAgIGVmbUN1UG1lTG9jYWxQb3dlckxvc3MNCiAgICAgfQ0KICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9y dHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZpY2FudCBjb25kaXRpb25zDQogICAgICAgYXNzb2Np YXRlZCB3aXRoIEVGTUN1IHBvcnRzLiINCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNiB9DQoNCiAg IGVmbUN1UG1lMkJQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQDQogICAgIE9CSkVDVFMgew0KICAg ICAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwNCiAg ICAgICBlZm1DdVBtZTJCc01vZGUsDQogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLA0KICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwNCiAgICAgICBlZm1DdVBtZTJCUG93ZXIsDQogICAg ICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24sDQogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dT dGF0dXMsDQogICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IsDQogICAgICAgZWZtQ3VQbWUyQnNN b2RlUm93U3RhdHVzLA0KICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoLA0KICAgICAg IGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2LA0KICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0 ZVBhbTMyLA0KICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMNCiAgICAgfQ0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgIERFU0NSSVBUSU9ODQogICAgICAgIkEgY29sbGVj dGlvbiBvZiBvYmplY3RzIHRoYXQgY29uc3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICBw cm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRzLiINCiAgICAgOjo9IHsg ZWZtQ3VHcm91cHMgN30NCg0KICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQ DQogICAgIE9CSkVDVFMgew0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyLA0KICAgICAg IGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQVVBC T1JlZmVyZW5jZVByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcywN CiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUsDQogICAgICAgZWZtQ3VQbWUx MFBQYXlsb2FkRFJhdGVQcm9maWxlLA0KICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1 cw0KICAgICB9DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyB0aGF0IGNvbnN0aXR1dGUgYSBjb25maWd1cmF0aW9u DQogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlvbiBvZiAxMFBBU1MtVFMgcG9ydHMuIg0K ICAgICA6Oj0geyBlZm1DdUdyb3VwcyA4IH0NCg0KICAgZWZtQ3VQbWUxMFBTdGF0dXNHcm91cCBP QkpFQ1QtR1JPVVANCiAgICAgT0JKRUNUUyB7DQogICAgICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0 ZWRCbG9ja3MsDQogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJlY3RlZEJsb2Nrcw0KICAgICB9 DQogICAgIFNUQVRVUyAgY3VycmVudA0KICAgICBERVNDUklQVElPTg0KICAgICAgICJBIGNvbGxl Y3Rpb24gb2Ygb2JqZWN0cyBwcm92aWRpbmcgc3RhdHVzIGluZm9ybWF0aW9uDQogICAgICAgc3Bl Y2lmaWMgdG8gMTBQQVNTLVRTIFBNRXMuIg0KICAgICA6Oj0geyBlZm1DdUdyb3VwcyA5IH0NCg0K ICAtLSBDb21wbGlhbmNlIFN0YXRlbWVudHMNCg0KICAgZWZtQ3VDb21wbGlhbmNlIE1PRFVMRS1D T01QTElBTkNFDQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgREVTQ1JJUFRJT04NCiAg ICAgICAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVtZW50IGZvciAyQkFTRS1UTC8xMFBBU1MtVFMgaW50 ZXJmYWNlcy4NCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBj b21wbGlhbmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBSRVFVSVJFRDoNCg0KICAgICAgIE1JQiBN b2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAtLS0tLS0tLS0t ICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgSUYtTUlCICAgICAgICAg ICAgICAgICBpZkNvbXBsaWFuY2UzDQogICAgICAgRXRoZXJMaWtlLU1JQiAgICAgICAgICBkb3Qz Q29tcGxpYW5jZTINCiAgICAgICBNQVUtTUlCICAgICAgICAgICAgICAgIG1hdU1vZElmQ29tcGwz DQoNCiAgICAgICBDb21wbGlhbmNlIHdpdGggdGhlIGZvbGxvd2luZyBleHRlcm5hbCBjb21wbGlh bmNlIHN0YXRlbWVudHMNCiAgICAgICBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zIHN1 cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uDQogICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4 aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4gdGhlIFBDUw0KICAgICAgIGFuZCBQTUUgcG9ydHM6 DQoNCiAgICAgICBNSUIgTW9kdWxlICAgICAgICAgICAgIENvbXBsaWFuY2UgU3RhdGVtZW50DQog ICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAg IElGLUlOVkVSVEVELVNUQUNLLU1JQiAgaWZJbnZDb21wbGlhbmNlDQogICAgICAgSUYtQ0FQLVNU QUNLLU1JQiAgICAgICBpZkNhcFN0YWNrQ29tcGxpYW5jZSINCg0KICAgICBNT0RVTEUgIC0tIHRo aXMgbW9kdWxlDQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7DQogICAgICAgICBlZm1DdUJhc2lj R3JvdXAsDQogICAgICAgICBlZm1DdVBtZUdyb3VwLA0KICAgICAgICAgZWZtQ3VBbGFybUNvbmZH cm91cCwNCiAgICAgICAgIGVmbUN1Tm90aWZpY2F0aW9uR3JvdXANCiAgICAgICB9DQoNCiAgICAg ICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwDQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGlt cGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIg0KDQogICAg ICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXANCiAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3Ig aW1wbGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIDEwUEFTUy1UUyBQaHkuIg0KDQog ICAgICAgR1JPVVAgICAgICAgZWZtQ3VQQUZHcm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvcg0KICAgICAg ICAgaW1wbGVtZW50YXRpb25zIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQ QUYpLiINCg0KICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXANCiAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwg Zm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVnYXRpb24g RnVuY3Rpb24gKFBBRikuIg0KDQogICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUxMFBTdGF0dXNH cm91cA0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91 cCBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zDQogICAgICAgICBzdXBwb3J0aW5nIDEw UEFTUy1UUyBQaHkuIg0KDQogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVTdWJUeXBlc1N1cHBv cnRlZA0KICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAgICAgICAgaWVlZTJCYXNlVExPKDAp LA0KICAgICAgICAgaWVlZTJCYXNlVExSKDEpLA0KICAgICAgICAgaWVlZTEwUGFzc1RTTygyKSwN CiAgICAgICAgIGllZWUxMFBhc3NUU1IoMykNCiAgICAgICB9DQogICAgICAgREVTQ1JJUFRJT04N CiAgICAgICAgICJTdXBwb3J0IGZvciBhbGwgc3VidHlwZXMgaXMgbm90IHJlcXVpcmVkLiBIb3dl dmVyIGF0IGxlYXN0DQogICAgICAgICBvbmUgdmFsdWUgU0hBTEwgYmUgc3VwcG9ydGVkIg0KDQog ICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUNCiAgICAgICBNSU4tQUNDRVNT ICByZWFkLW9ubHkNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIldyaXRlIGFjY2VzcyBp cyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQTUVzDQogICAgICAgICBzdXBwb3J0aW5n IG1vcmUgdGhhbiBhIHNpbmdsZSBzdWJ0eXBlLCBlLmcuDQogICAgICAgICBpZWVlMkJhc2VUTE8g YW5kIGllZWUyQmFzZVRMUiBvciBpZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgaWVlZTEwUGFz c1RTUikiDQoNCiAgICAgICBPQkpFQ1QgICAgICBlZm1DdVRhcmdldFNuck1nbg0KICAgICAgIE1J Ti1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiV3JpdGUg YWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAgICAg ICAgdGhlIHRhcmdldCBTTlIgbWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVkQiBmb3IgMkJBU0Ut VEwNCiAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iDQoNCiAgICAgICBPQkpFQ1QgICAg ICBlZm1DdUFkYXB0aXZlU3BlY3RyYQ0KICAgICAgIE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAg ICAgIERFU0NSSVBUSU9ODQogICAgICAgICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3Ig UEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hP VUxEIGJlIGZhbHNlLiINCg0KICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KRU5EDQo8 L3ByZT48L2Rpdj4NCjxhIG5hbWU9ImFuY2hvcjIwIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUg c3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJU T0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9j Ij4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3RyPjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2Vj dGlvbi43Ij48L2E+PGgzPjcuJm5ic3A7DQpTZWN1cml0eSBDb25zaWRlcmF0aW9uczwvaDM+DQoN CjxwPg0KICBUaGVyZSBpcyBhIG51bWJlciBvZiBtYW5hZ2VkIG9iamVjdHMgZGVmaW5lZCBpbiB0 aGUgRUZNLUNVLU1JQiBtb2R1bGUNCiAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBjbGF1c2Ugb2Yg cmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4NCiAgTW9zdCBvYmplY3RzIGFyZSB3cml0ZWFibGUg b25seSB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogIFdyaXRpbmcgdG8gdGhlc2Ugb2JqZWN0cyBj YW4gaGF2ZSBwb3RlbnRpYWxseQ0KICBkaXNydXB0aXZlIGVmZmVjdHMgb24gbmV0d29yayBvcGVy YXRpb24sIGZvciBleGFtcGxlOg0KIA0KPC9wPg0KPHA+DQogIDwvcD4NCjx1bCBjbGFzcz0idGV4 dCI+DQo8bGk+Q2hhbmdpbmcgb2YgZWZtQ3VQbWVBZG1pblN1YlR5cGUgbWF5IGxlYWQgdG8gYSBw b3RlbnRpYWwgbG9ja2luZw0KICAgICAgb2YgdGhlIGxpbmssIGFzIHBlZXIgUE1FcyBvZiB0aGUg c2FtZSBzdWItdHlwZSBjYW5ub3QgZXhjaGFuZ2UNCiAgICAgIGhhbmRzaGFrZSBtZXNzYWdlcy4N CjwvbGk+DQo8bGk+Q2hhbmdpbmcgb2YgZWZtQ3VQQUZBZG1pblN0YXRlIHRvIGVuYWJsZWQgbWF5 IGxlYWQgdG8gYQ0KICAgICAgcG90ZW50aWFsIGxvY2tpbmcgb2YgdGhlIGxpbmssIGlmIHRoZSBw ZWVyIFBoeSBkb2VzIG5vdCBzdXBwb3J0IFBBRi4NCjwvbGk+DQo8bGk+Q2hhbmdpbmcgb2YgZWZt Q3VQQUZEaXNjb3ZlcnlDb2RlLCBiZWZvcmUgdGhlIGRpc2NvdmVyeSBvcGVyYXRpb24sDQogICAg ICBtYXkgbGVhZCB0byBhIHdyb25nZnVsIGRpc2NvdmVyeSwgZm9yIGV4YW1wbGUgd2hlbiB0d28g LU8gcG9ydHMNCiAgICAgIGFyZSBjb25uZWN0ZWQgdG8gdGhlIHNhbWUgbXVsdGktUE1FIC1SIHBv cnQgYW5kIGJvdGggLU8gcG9ydHMNCiAgICAgIGhhdmUgdGhlIHNhbWUgRGlzY292ZXJ5IHJlZ2lz dGVyIHZhbHVlLg0KPC9saT4NCjxsaT5DaGFuZ2luZyBQQ1Mgb3IgUE1FIGNvbmZpZ3VyYXRpb24g cGFyYW1ldGVycyAoZS5nLiBwcm9maWxlIG9mIGENCiAgICAgIFBDUyBvciBQTUUgdmlhIGVmbUN1 QWRtaW5Qcm9maWxlIG9yIGVmbUN1UG1lQWRtaW5Qcm9maWxlKQ0KICAgICAgbWF5IGxlYWQgdG8g YW55dGhpbmcgZnJvbSBsaW5rIHF1YWxpdHkgYW5kIHJhdGUgZGVncmFkYXRpb24NCiAgICAgIHRv IGEgY29tcGxldGUgbGluayBpbml0aWFsaXphdGlvbiBmYWlsdXJlLCBhcyBhYmlsaXR5IG9mIGFu DQogICAgICBFRk1DdSBwb3J0IHRvIHN1cHBvcnQgYSBwYXJ0aWN1bGFyIGNvbmZpZ3VyYXRpb24g ZGVwZW5kcyBvbiB0aGUgY29wcGVyDQogICAgICBlbnZpcm9ubWVudC4NCjwvbGk+DQo8bGk+QWN0 aXZhdGlvbiBvZiBhIFBNRSBjYW4gY2F1c2UgYSBzZXZlcmUgZGVncmFkYXRpb24gb2YNCiAgICAg IHNlcnZpY2UgZm9yIGFub3RoZXIgRUZNQ3UgUGh5LCB3aG9zZSBQTUUocykgbWF5IGJlIGFmZmVj dGVkIGJ5DQogICAgICB0aGUgY3Jvc3MtdGFsayBmcm9tIHRoZSBuZXdseSBhY3RpdmF0ZWQgUE1F Lg0KPC9saT4NCjxsaT5SZW1vdmFsIG9mIGEgUE1FIGZyb20gYW4gb3BlcmF0aW9uYWxseSAndXAn IEVGTUN1IHBvcnQsDQogICAgICBhZ2dyZWdhdGluZyBzZXZlcmFsIFBNRXMsIG1heSBjYXVzZSBw b3J0J3MgcmF0ZSBkZWdyYWRhdGlvbg0KPC9saT4NCjwvdWw+PHA+DQogDQo8L3A+DQo8cD4NCiAg VGhlIHVzZXIgb2YgdGhlIEVGTS1DVS1NSUIgbW9kdWxlIG11c3QgdGhlcmVmb3JlIGJlIGF3YXJl IHRoYXQgc3VwcG9ydCBmb3INCiAgU0VUIG9wZXJhdGlvbnMgaW4gYSBub24tc2VjdXJlIGVudmly b25tZW50IHdpdGhvdXQgcHJvcGVyIHByb3RlY3Rpb24NCiAgY2FuIGhhdmUgYSBuZWdhdGl2ZSBl ZmZlY3Qgb24gbmV0d29yayBvcGVyYXRpb25zLg0KIA0KPC9wPg0KPHA+DQogIFRoZSByZWFkYWJs ZSBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSAoaS5lLiwgdGhvc2Ugd2l0aCBNQVgt QUNDRVNTDQogIG90aGVyIHRoYW4gbm90LWFjY2Vzc2libGUpIG1heSBiZSBjb25zaWRlcmVkIHNl bnNpdGl2ZSBpbiBzb21lDQogIGVudmlyb25tZW50cyBzaW5jZSwgY29sbGVjdGl2ZWx5LCB0aGV5 IHByb3ZpZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlDQogIHBlcmZvcm1hbmNlIG9mIG5ldHdvcmsg aW50ZXJmYWNlcyBhbmQgY2FuIHJldmVhbCBzb21lIGFzcGVjdHMgb2YNCiAgdGhlaXIgY29uZmln dXJhdGlvbi4gIEluIHBhcnRpY3VsYXIsIHNpbmNlIEVGTUN1IGNhbiBiZSBjYXJyaWVkIG92ZXIN CiAgVW5zaGllbGRlZCBUd2lzdGVkIFBhaXIgKFVUUCkgdm9pY2UgZ3JhZGUgY29wcGVyIGluIGEg YnVuZGxlIHdpdGgNCiAgb3RoZXIgcGFpcnMgYmVsb25naW5nIHRvIGFub3RoZXIgb3BlcmF0b3Iv Y3VzdG9tZXIsIGl0IGlzDQogIHRoZW9yZXRpY2FsbHkgcG9zc2libGUgdG8gZXZhc2Ryb3AgdG8g YW4gRUZNQ3UgdHJhbnNtaXNzaW9uIHNpbXBseSBieQ0KICAibGlzdGVuaW5nIiB0byBhIGNyb3Nz LXRhbGsgZnJvbSB0aGUgRUZNQ3UgcGFpcnMsIGVzcGVjaWFsbHkgaWYgdGhlDQogIHBhcmFtZXRl cnMgb2YgdGhlIEVGTUN1IGxpbmsgaW4gcXVlc3Rpb24gYXJlIGtub3duLg0KIA0KPC9wPg0KPHA+ DQogIEluIHN1Y2ggZW52aXJvbm1lbnRzIGl0IGlzIGltcG9ydGFudCB0byBjb250cm9sIGFsc28N CiAgR0VUIGFuZCBOT1RJRlkgYWNjZXNzIHRvIHRoZXNlIG9iamVjdHMgYW5kIHBvc3NpYmx5IGV2 ZW4gdG8NCiAgZW5jcnlwdCB0aGVpciB2YWx1ZXMgd2hlbiBzZW5kaW5nIHRoZW0gb3ZlciB0aGUg bmV0d29yayB2aWEgU05NUC4NCiANCjwvcD4NCjxwPg0KICBTTk1QIHZlcnNpb25zIHByaW9yIHRv IFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2VjdXJpdHkuDQogIEV2ZW4gaWYgdGhl IG5ldHdvcmsgaXRzZWxmIGlzIHNlY3VyZSAoZm9yIGV4YW1wbGUgYnkgdXNpbmcgSVBzZWMpLA0K ICBldmVuIHRoZW4sIHRoZXJlIGlzIG5vIGNvbnRyb2wgYXMgdG8gd2hvIG9uIHRoZSBzZWN1cmUg bmV0d29yayBpcw0KICBhbGxvd2VkIHRvIGFjY2VzcyBhbmQgR0VUL1NFVCAocmVhZC9jaGFuZ2Uv Y3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMNCiAgaW4gdGhlc2UgTUlCIG1vZHVsZXMuDQogDQo8 L3A+DQo8cD4NCiAgSXQgaXMgUkVDT01NRU5ERUQgdGhhdCBpbXBsZW1lbnRlcnMgY29uc2lkZXIg dGhlIHNlY3VyaXR5IGZlYXR1cmVzIGFzDQogIHByb3ZpZGVkIGJ5IHRoZSBTTk1QdjMgZnJhbWV3 b3JrIChzZWUgPGEgY2xhc3M9J2luZm8nIGhyZWY9JyNSRkMzNDEwJz5bUkZDMzQxMF08c3Bhbj4g KDwvc3Bhbj48c3BhbiBjbGFzcz0naW5mbyc+Q2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwg RC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87SW50cm9kdWN0aW9uIGFuZCBBcHBsaWNhYmlsaXR5 IFN0YXRlbWVudHMgZm9yIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrLCZy ZHF1bzsgRGVjZW1iZXImbmJzcDsyMDAyLjwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4sIHNlY3Rp b24gOCksDQogIGluY2x1ZGluZyBmdWxsIHN1cHBvcnQgZm9yIHRoZSBTTk1QdjMgY3J5cHRvZ3Jh cGhpYyBtZWNoYW5pc21zIChmb3INCiAgYXV0aGVudGljYXRpb24gYW5kIHByaXZhY3kpLg0KIA0K PC9wPg0KPHA+DQogIEZ1cnRoZXIsIGRlcGxveW1lbnQgb2YgU05NUCB2ZXJzaW9ucyBwcmlvciB0 byBTTk1QdjMgaXMgTk9UDQogIFJFQ09NTUVOREVELiAgSW5zdGVhZCwgaXQgaXMgUkVDT01NRU5E RUQgdG8gZGVwbG95IFNOTVB2MyBhbmQgdG8NCiAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJp dHkuICBJdCBpcyB0aGVuIGEgY3VzdG9tZXIvb3BlcmF0b3INCiAgcmVzcG9uc2liaWxpdHkgdG8g ZW5zdXJlIHRoYXQgdGhlIFNOTVAgZW50aXR5IGdpdmluZyBhY2Nlc3MgdG8gYW4NCiAgaW5zdGFu Y2Ugb2YgdGhlc2UgTUlCIG1vZHVsZXMgaXMgcHJvcGVybHkgY29uZmlndXJlZCB0byBnaXZlIGFj Y2VzcyB0bw0KICB0aGUgb2JqZWN0cyBvbmx5IHRvIHRob3NlIHByaW5jaXBhbHMgKHVzZXJzKSB0 aGF0IGhhdmUgbGVnaXRpbWF0ZQ0KICByaWdodHMgdG8gaW5kZWVkIEdFVCBvciBTRVQgKGNoYW5n ZS9jcmVhdGUvZGVsZXRlKSB0aGVtLg0KIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjEiPjwvYT48 YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxs c3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJU T0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJs ZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjgiPjwvYT48aDM+OC4mbmJzcDsNCklBTkEgQ29uc2lk ZXJhdGlvbnM8L2gzPg0KDQo8cD4NCiAgVGhlIHR3byBuZXcgdmFsdWVzIG9mIGRvdDNNYXVUeXBl IChkb3QzTWF1VHlwZTJCYXNlVEwgYW5kDQogIGRvdDNNYXVUeXBlMTBQYXNzVFMpIGFuZCBjb3Jy ZXNwb25kaW5nIElBTkFpZk1hdVR5cGVMaXN0Qml0cyBiaXQNCiAgZGVmaW5pdGlvbnMgKGIyQmFz ZVRMIGFuZCBiMTBQYXNzVFMpLCBhcyB3ZWxsIGFzIHRoZSBuZXcgdmFsdWVzIGZvcg0KICBJQU5B aWZNYXVNZWRpYUF2YWlsYWJsZSAoYXZhaWxhYmxlUmVkdWNlZCBhbmQgcmVhZHkpIFNIQUxMIGJl DQogIGRlZmluZWQgYnkgdGhlIElBTkEgaW4gdGhlIElBTkEtTUFVLU1JQiBtb2R1bGUgKHNlZQ0K ICA8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzJz5bSSYj ODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2MzZiaXNdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFn ZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAgICAgICAgICAgIEF0dGFjaG1lbnQg VW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+ PC9hPikgYmVmb3JlIHRoaXMgZG9jdW1lbnQgaXMNCiAgcHVibGlzaGVkIGFzIGFuIFJGQy4NCiAN CjwvcD4NCjxwPg0KICBBZGRpdGlvbmFsbHksIG9iamVjdCBpZGVudGlmaWVycyBmb3IgZWZtQ3VN SUIgTU9EVUxFLUlERU5USVRZIGFuZA0KICBpZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBT SEFMTCBiZSBhbGxvY2F0ZWQgYnkgSUFOQSBpbiB0aGUNCiAgTUlCLTIgc3ViLXRyZWUsIGJlZm9y ZSB0aGlzIGRvY3VtZW50IGlzIHB1Ymxpc2hlZC4NCiANCjwvcD4NCjxhIG5hbWU9ImFuY2hvcjIy Ij48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxscGFkZGluZz0i MCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+PHRyPjx0ZCBj bGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+PC90ZD48L3Ry PjwvdGFibGU+DQo8YSBuYW1lPSJyZmMuc2VjdGlvbi45Ij48L2E+PGgzPjkuJm5ic3A7DQpBY2tu b3dsZWRnbWVudHM8L2gzPg0KDQo8cD4NCiAgIFRoaXMgZG9jdW1lbnQgd2FzIHByb2R1Y2VkIGJ5 IHRoZQ0KICAgPGEgaHJlZj0naHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1p Yi1jaGFydGVyLmh0bWwnPklFVEYNCiAgIEV0aGVybmV0IEludGVyZmFjZXMgYW5kIEh1YiBNSUIg V29ya2luZyBHcm91cDwvYT4sIHdob3NlIGVmZm9ydHMNCiAgIHdlcmUgZ3JlYXRseSBhZHZhbmNl ZCBieSB0aGUgY29udHJpYnV0aW9ucyBvZiB0aGUgZm9sbG93aW5nIHBlb3BsZQ0KICAgKGluIGFs cGhhYmV0aWNhbCBvcmRlcik6DQoNCiAgPC9wPg0KPGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPg0K PHA+QmVydCBXaWpuZW4gKEFsY2F0ZWwpDQo8L3A+DQo8cD5EYW4gUm9tYXNjYW51IChBdmF5YSkN CjwvcD4NCjxwPk1hcmluYSBQb3BpbG92IChBY3RlbGlzKQ0KPC9wPg0KPHA+TWF0aGlhcyBSaWVz cyAoSW5maW5lb24pDQo8L3A+DQo8cD5NYXR0IFNxdWlyZSAoSGF0dGVyYXMpDQo8L3A+DQo8cD5N aWtlIEhlYXJkDQo8L3A+DQo8cD5VZGkgQXNoa2VuYXppIChBY3RlbGlzKQ0KPC9wPg0KPC9ibG9j a3F1b3RlPjxwPg0KIA0KPC9wPg0KPGEgbmFtZT0iYW5jaG9yMjMiPjwvYT48YnIgLz48aHIgLz4N Cjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIg Y2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhy ZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9 InJmYy5zZWN0aW9uLjEwIj48L2E+PGgzPjEwLiZuYnNwOw0KTm90ZXMgdG8gUkZDIEVkaXRvcjwv aDM+DQoNCjxwPg0KICAgVGhpcyBzZWN0aW9uIGNvbnRhaW5zIG5vdGVzIHRvIHRoZSBSRkMgRWRp dG9yIGFuZCBzaG91bGQgYmUgcmVtb3ZlZA0KcHJpb3IgdG8gcHVibGljYXRpb24uDQogPC9wPg0K PGJsb2NrcXVvdGUgY2xhc3M9InRleHQiPg0KPHA+UGxlYXNlIHJlcGxhY2UgIDxhIGNsYXNzPSdp bmZvJyBocmVmPScjSS1ELmlldGYtaHVibWliLWVmbS1taWInPltJJiM4MjA5O0QuaWV0ZiYjODIw OTtodWJtaWImIzgyMDk7ZWZtJiM4MjA5O21pYl08c3Bhbj4gKDwvc3Bhbj48c3BhbiBjbGFzcz0n aW5mbyc+U3F1aXJlLCBNLiwgJmxkcXVvO0RlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMg Zm9yIE9BTSBGdW5jdGlvbnMgICAgICAgICAgICAgIG9uIEV0aGVybmV0IExpa2UgSW50ZXJmYWNl cywmcmRxdW87IE9jdG9iZXImbmJzcDsyMDA2Ljwvc3Bhbj48c3Bhbj4pPC9zcGFuPjwvYT4gYW5k DQo8YSBjbGFzcz0naW5mbycgaHJlZj0nI0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzJz5bSSYj ODIwOTtELmlldGYmIzgyMDk7aHVibWliJiM4MjA5O3JmYzM2MzZiaXNdPHNwYW4+ICg8L3NwYW4+ PHNwYW4gY2xhc3M9J2luZm8nPkJlaWxpLCBFLiwgJmxkcXVvO0RlZmluaXRpb25zIG9mIE1hbmFn ZWQgT2JqZWN0cyBmb3IgSUVFRSA4MDIuMyBNZWRpdW0gICAgICAgICAgICAgIEF0dGFjaG1lbnQg VW5pdHMgKE1BVXMpLCZyZHF1bzsgSnVseSZuYnNwOzIwMDYuPC9zcGFuPjxzcGFuPik8L3NwYW4+ PC9hPiB3aXRoIGFjdHVhbCBSRkMgbnVtYmVycyBpZg0KdGhvc2UgYXJlIGF2YWlsYWJsZSBhdCB0 aW1lIG9mIHB1YmxpY2F0aW9uLg0KPC9wPg0KPC9ibG9ja3F1b3RlPjxwPg0KIA0KPC9wPg0KPGEg bmFtZT0icmZjLnJlZmVyZW5jZXMiPjwvYT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJs YXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxp Z249InJpZ2h0Ij48dHI+PHRkIGNsYXNzPSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RP QyZuYnNwOzwvYT48L3RkPjwvdHI+PC90YWJsZT4NCjxhIG5hbWU9InJmYy5zZWN0aW9uLjExIj48 L2E+PGgzPjExLiZuYnNwOw0KUmVmZXJlbmNlczwvaDM+DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVu Y2VzMSI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1bW1hcnk9ImxheW91dCIgY2VsbHBhZGRp bmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9DYnVnIiBhbGlnbj0icmlnaHQiPjx0cj48 dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+ PC90cj48L3RhYmxlPg0KPGgzPjExLjEuJm5ic3A7Tm9ybWF0aXZlIFJlZmVyZW5jZXM8L2gzPg0K PHRhYmxlIHdpZHRoPSI5OSUiIGJvcmRlcj0iMCI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4 dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IjgwMi4zIj5bODAyLjNdPC9hPjwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5JRUVFLCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3N0YW5kYXJkcy5p ZWVlLm9yZy9nZXRpZWVlODAyLzgwMi4zLmh0bWwiPklFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0 aW9uIHRlY2hub2xvZ3kgLQ0KICAgICAgICBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0 aW9uIGV4Y2hhbmdlIGJldHdlZW4gc3lzdGVtcyAtDQogICAgICAgIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAtDQog ICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBDb2xsaXNp b24gRGV0ZWN0aW9uDQogICAgICAgIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFuZCBQaHlzaWNh bCBMYXllciBTcGVjaWZpY2F0aW9uczwvYT4sJnJkcXVvOyBJRUVFIFN0ZCZuYnNwOzgwMi4zLTIw MDUsIERlY2VtYmVyJm5ic3A7MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3It dGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IjgwMi4zYWgiPls4MDIuM2FoXTwvYT48L3RkPg0K PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+SUVFRSwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly9zdGFu ZGFyZHMuaWVlZS5vcmcvZ2V0aWVlZTgwMi9kb3dubG9hZC84MDIuM2FoLTIwMDQucGRmIj5JRUVF IFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0NCiAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuIHN5c3RlbXMgLQ0KICAg ICAgICBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLQ0KICAgICAgICBTcGVj aWZpYyByZXF1aXJlbWVudHMgLQ0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlw bGUgQWNjZXNzIHdpdGggQ29sbGlzaW9uIERldGVjdGlvbg0KICAgICAgICAoQ1NNQS9DRCkgQWNj ZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwgTGF5ZXIgU3BlY2lmaWNhdGlvbnMgLQ0KICAgICAgICBB bWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsDQogICAg ICAgIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJzIGZvciBTdWJzY3JpYmVyIEFjY2Vz cyBOZXR3b3JrczwvYT4sJnJkcXVvOyBJRUVFIFN0ZCZuYnNwOzgwMi4zYWgtMjAwNCwgU2VwdGVt YmVyJm5ic3A7MjAwNC48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFs aWduPSJ0b3AiPjxhIG5hbWU9IkcuOTkxLjIiPltHLjk5MS4yXTwvYT48L3RkPg0KPHRkIGNsYXNz PSJhdXRob3ItdGV4dCI+SVRVLVQsICZsZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3Lml0dS5pbnQv cmVjL3JlY29tbWVuZGF0aW9uLmFzcD90eXBlPWZvbGRlcnMmYW1wO2xhbmc9ZSZhbXA7cGFyZW50 PVQtUkVDLUcuOTkxLjIiPlNpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbCBTdWJzY3JpYmVy IExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnM8L2E+LCZyZHF1bzsgSVRVLVQgUmVjb21tZW5kYXRp b24mbmJzcDtHLjk5MS4yLCBEZWNlbWJlciZuYnNwOzIwMDMuPC90ZD48L3RyPg0KPHRyPjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJHLjk5My4xIj5bRy45OTMu MV08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPklUVS1ULCAmbGRxdW87PGEgaHJl Zj0iaHR0cDovL3d3dy5pdHUuaW50L3JlYy9yZWNvbW1lbmRhdGlvbi5hc3A/dHlwZT1mb2xkZXJz JmFtcDtsYW5nPWUmYW1wO3BhcmVudD1ULVJFQy1HLjk5My4xIj5WZXJ5IEhpZ2ggc3BlZWQgRGln aXRhbCBTdWJzY3JpYmVyIExpbmUgdHJhbnNjZWl2ZXJzPC9hPiwmcmRxdW87IElUVS1UIFJlY29t bWVuZGF0aW9uJm5ic3A7Ry45OTMuMSwgSnVuZSZuYnNwOzIwMDQuPC90ZD48L3RyPg0KPHRyPjx0 ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJt aWItcmZjMzYzNmJpcyI+W0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXTwvYT48L3RkPg0KPHRk IGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmVkd2FyZC5iZWlsaUBhY3RlbGlz LmNvbSI+QmVpbGksIEUuPC9hPiwgJmxkcXVvOzxhIGhyZWY9Imh0dHA6Ly93d3cuaWV0Zi5vcmcv aW50ZXJuZXQtZHJhZnRzL2RyYWZ0LWlldGYtaHVibWliLXJmYzM2MzZiaXMtMDUudHh0Ij5EZWZp bml0aW9ucyBvZiBNYW5hZ2VkIE9iamVjdHMgZm9yIElFRUUgODAyLjMgTWVkaXVtDQogICAgICAg ICAgICAgQXR0YWNobWVudCBVbml0cyAoTUFVcyk8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJt aWItcmZjMzYzNmJpcy0wNSAod29yayBpbiBwcm9ncmVzcyksIEp1bHkmbmJzcDsyMDA2LjwvdGQ+ PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0i UkZDMjExOSI+W1JGQzIxMTldPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBo cmVmPSJtYWlsdG86c29iQGhhcnZhcmQuZWR1Ij5CcmFkbmVyLCBTLjwvYT4sICZsZHF1bzs8YSBo cmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyMTE5LnR4dCI+S2V5IHdvcmRzIGZv ciB1c2UgaW4gUkZDcyB0byBJbmRpY2F0ZSBSZXF1aXJlbWVudCBMZXZlbHM8L2E+LCZyZHF1bzsg QkNQJm5ic3A7MTQsIFJGQyZuYnNwOzIxMTksIE1hcmNoJm5ic3A7MTk5NyAoPGEgaHJlZj0iaHR0 cDovL3htbC5yZXNvdXJjZS5vcmcvcHVibGljL3JmYy9odG1sL3JmYzIxMTkuaHRtbCI+SFRNTDwv YT4sIDxhIGhyZWY9Imh0dHA6Ly94bWwucmVzb3VyY2Uub3JnL3B1YmxpYy9yZmMveG1sL3JmYzIx MTkueG1sIj5YTUw8L2E+KS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIg dmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzgiPltSRkMyNTc4XTwvYT48L3RkPg0KPHRkIGNs YXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hy aWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lu cywgRC48L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9l bndhZWxkZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5k IFMuIFdhbGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rl cy9yZmMyNTc4LnR4dCI+U3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gVmVyc2lv biAyIChTTUl2Mik8L2E+LCZyZHF1bzsgU1REJm5ic3A7NTgsIFJGQyZuYnNwOzI1NzgsIEFwcmls Jm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWdu PSJ0b3AiPjxhIG5hbWU9IlJGQzI1NzkiPltSRkMyNTc5XTwvYT48L3RkPg0KPHRkIGNsYXNzPSJh dXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsu PC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5zQHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48 L2E+LCA8YSBocmVmPSJtYWlsdG86c2Nob2Vud0BpYnIuY3MudHUtYnMuZGUiPlNjaG9lbndhZWxk ZXIsIEouPC9hPiwgQ2FzZSwgSi4sIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdh bGRidXNzZXIsICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9mdHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMy NTc5LnR4dCI+VGV4dHVhbCBDb252ZW50aW9ucyBmb3IgU01JdjI8L2E+LCZyZHF1bzsgU1REJm5i c3A7NTgsIFJGQyZuYnNwOzI1NzksIEFwcmlsJm5ic3A7MTk5OS48L3RkPjwvdHI+DQo8dHI+PHRk IGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzI1ODAiPltSRkMy NTgwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0ibWFpbHRvOmt6 bUBjaXNjby5jb20iPk1jQ2xvZ2hyaWUsIEsuPC9hPiwgPGEgaHJlZj0ibWFpbHRvOmRwZXJraW5z QHNubXBpbmZvLmNvbSI+UGVya2lucywgRC48L2E+LCBhbmQgPGEgaHJlZj0ibWFpbHRvOnNjaG9l bndAaWJyLmNzLnR1LWJzLmRlIj5KLiBTY2hvZW53YWVsZGVyPC9hPiwgJmxkcXVvOzxhIGhyZWY9 ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI1ODAudHh0Ij5Db25mb3JtYW5jZSBTdGF0 ZW1lbnRzIGZvciBTTUl2MjwvYT4sJnJkcXVvOyBTVEQmbmJzcDs1OCwgUkZDJm5ic3A7MjU4MCwg QXByaWwmbmJzcDsxOTk5LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2 YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDMjg2MyI+W1JGQzI4NjNdPC9hPjwvdGQ+DQo8dGQgY2xh c3M9ImF1dGhvci10ZXh0Ij5NY0Nsb2docmllLCBLLiBhbmQgRi4gS2FzdGVuaG9seiwgJmxkcXVv OzxhIGhyZWY9ImZ0cDovL2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzI4NjMudHh0Ij5UaGUgSW50 ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5ic3A7Mjg2MywgSnVuZSZuYnNwOzIw MDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48 YSBuYW1lPSJSRkMyODY0Ij5bUkZDMjg2NF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRl eHQiPk1jQ2xvZ2hyaWUsIEsuIGFuZCBHLiBIYW5zb24sICZsZHF1bzs8YSBocmVmPSJmdHA6Ly9m dHAuaXNpLmVkdS9pbi1ub3Rlcy9yZmMyODY0LnR4dCI+VGhlIEludmVydGVkIFN0YWNrIFRhYmxl IEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUI8L2E+LCZyZHF1bzsgUkZDJm5i c3A7Mjg2NCwgSnVuZSZuYnNwOzIwMDAuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkMzNjM1Ij5bUkZDMzYzNV08L2E+PC90ZD4N Cjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkZsaWNrLCBKLiwgJmxkcXVvOzxhIGhyZWY9ImZ0cDov L2Z0cC5pc2kuZWR1L2luLW5vdGVzL3JmYzM2MzUudHh0Ij5EZWZpbml0aW9ucyBvZiBNYW5hZ2Vk IE9iamVjdHMgZm9yIHRoZSBFdGhlcm5ldC1saWtlIEludGVyZmFjZSBUeXBlczwvYT4sJnJkcXVv OyBSRkMmbmJzcDszNjM1LCBTZXB0ZW1iZXImbmJzcDsyMDAzLjwvdGQ+PC90cj4NCjwvdGFibGU+ DQoNCjxhIG5hbWU9InJmYy5yZWZlcmVuY2VzMiI+PC9hPjxiciAvPjxociAvPg0KPHRhYmxlIHN1 bW1hcnk9ImxheW91dCIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIyIiBjbGFzcz0iVE9D YnVnIiBhbGlnbj0icmlnaHQiPjx0cj48dGQgY2xhc3M9IlRPQ2J1ZyI+PGEgaHJlZj0iI3RvYyI+ Jm5ic3A7VE9DJm5ic3A7PC9hPjwvdGQ+PC90cj48L3RhYmxlPg0KPGgzPjExLjIuJm5ic3A7SW5m b3JtYXRpdmUgUmVmZXJlbmNlczwvaDM+DQo8dGFibGUgd2lkdGg9Ijk5JSIgYm9yZGVyPSIwIj4N Cjx0cj48dGQgY2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iQU5GUCI+ W0FORlBdPC9hPjwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5OZXR3b3JrIEludGVyb3Bl cmFiaWxpdHkgQ29uc3VsdGF0aXZlIENvbW1pdHRlZSAoTklDQyksICZsZHF1bzs8YSBocmVmPSJo dHRwOi8vd3d3Lm5pY2Mub3JnLnVrL25pY2MtcHVibGljL1B1YmxpYy9pbnRlcmNvbm5lY3RzdGFu ZGFyZHMvZHNsdGdfc3BlYy9uZDE2MDJfMjAwNV8wOC5wZGYiPlNwZWNpZmljYXRpb24gb2YgdGhl IEFjY2VzcyBOZXR3b3JrIEZyZXF1ZW5jeSBQbGFuIChBTkZQKQ0KICAgICAgICBhcHBsaWNhYmxl IHRvIHRyYW5zbWlzc2lvbiBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2VzcyBOZXR3b3JrPC9h PiwmcmRxdW87IE5JQ0MgRG9jdW1lbnQmbmJzcDtORDE2MDI6MjAwNS8wOCwgQXVndXN0Jm5ic3A7 MjAwNS48L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3Ai PjxhIG5hbWU9IkktRC5pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWIiPltJLUQuaWV0Zi1odWJtaWIt ZWZtLWVwb24tbWliXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+PGEgaHJlZj0i bWFpbHRvOmxpb3Jfa2hlcm1vc2hAcG1jLXNpZXJyYS5jb20iPktoZXJtb3NoLCBMLjwvYT4sICZs ZHF1bzs8YSBocmVmPSJodHRwOi8vd3d3LmlldGYub3JnL2ludGVybmV0LWRyYWZ0cy9kcmFmdC1p ZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDYudHh0Ij5NYW5hZ2VkIE9iamVjdHMgb2YgRVBPTjwv YT4sJnJkcXVvOyBkcmFmdC1pZXRmLWh1Ym1pYi1lZm0tZXBvbi1taWItMDYgKHdvcmsgaW4gcHJv Z3Jlc3MpLCBOb3ZlbWJlciZuYnNwOzIwMDYuPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0 aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJJLUQuaWV0Zi1odWJtaWItZWZtLW1pYiI+ W0ktRC5pZXRmLWh1Ym1pYi1lZm0tbWliXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+PGEgaHJlZj0ibWFpbHRvOm1zcXVpcmVAaGF0dGVyYXNuZXR3b3Jrcy5jb20iPlNxdWlyZSwg TS48L2E+LCAmbGRxdW87PGEgaHJlZj0iaHR0cDovL3d3dy5pZXRmLm9yZy9pbnRlcm5ldC1kcmFm dHMvZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNS50eHQiPkRlZmluaXRpb25zIGFuZCBNYW5h Z2VkIE9iamVjdHMgZm9yIE9BTSBGdW5jdGlvbnMNCiAgICAgICAgICAgICBvbiBFdGhlcm5ldCBM aWtlIEludGVyZmFjZXM8L2E+LCZyZHF1bzsgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNSAo d29yayBpbiBwcm9ncmVzcyksIE9jdG9iZXImbmJzcDsyMDA2LjwvdGQ+PC90cj4NCjx0cj48dGQg Y2xhc3M9ImF1dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iSUFOQWlmVHlwZS1NSUIi PltJQU5BaWZUeXBlLU1JQl08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkludGVy bmV0IEFzc2lnbmVkIE51bWJlcnMgQXV0aG9yaXR5IChJQU5BKSwgJmxkcXVvOzxhIGhyZWY9Imh0 dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaWFuYWlmdHlwZS1taWIiPklBTkFpZlR5cGUg VGV4dHVhbCBDb252ZW50aW9uIGRlZmluaXRpb248L2E+LCZyZHF1bzsgJm5ic3A7aHR0cDovL3d3 dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9pYW5haWZ0eXBlLW1pYi48L3RkPjwvdHI+DQo8dHI+PHRk IGNsYXNzPSJhdXRob3ItdGV4dCIgdmFsaWduPSJ0b3AiPjxhIG5hbWU9IlJGQzM0MTAiPltSRkMz NDEwXTwvYT48L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Q2FzZSwgSi4sIE11bmR5LCBS LiwgUGFydGFpbiwgRC4sIGFuZCBCLiBTdGV3YXJ0LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRw LmlzaS5lZHUvaW4tbm90ZXMvcmZjMzQxMC50eHQiPkludHJvZHVjdGlvbiBhbmQgQXBwbGljYWJp bGl0eSBTdGF0ZW1lbnRzIGZvciBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2VtZW50IEZyYW1ld29y azwvYT4sJnJkcXVvOyBSRkMmbmJzcDszNDEwLCBEZWNlbWJlciZuYnNwOzIwMDIuPC90ZD48L3Ry Pg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiIHZhbGlnbj0idG9wIj48YSBuYW1lPSJSRkM0 MDcwIj5bUkZDNDA3MF08L2E+PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkRvZGdlLCBN LiBhbmQgQi4gUmF5LCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMv cmZjNDA3MC50eHQiPkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0IEV4dGVuc2lvbnMgZm9y IFZlcnkgSGlnaCBTcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZXMgKFZEU0wpIFVzaW5nIE11 bHRpcGxlIENhcnJpZXIgTW9kdWxhdGlvbiAoTUNNKSBMaW5lIENvZGluZzwvYT4sJnJkcXVvOyBS RkMmbmJzcDs0MDcwLCBNYXkmbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1 dGhvci10ZXh0IiB2YWxpZ249InRvcCI+PGEgbmFtZT0iUkZDNDMxOSI+W1JGQzQzMTldPC9hPjwv dGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5TaWtlcywgQy4sIFJheSwgQi4sIGFuZCBSLiBB YmJpLCAmbGRxdW87PGEgaHJlZj0iZnRwOi8vZnRwLmlzaS5lZHUvaW4tbm90ZXMvcmZjNDMxOS50 eHQiPkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgSGlnaCBCaXQtUmF0ZSBEU0wg LSAybmQgZ2VuZXJhdGlvbiAoSERTTDIpIGFuZCBTaW5nbGUtUGFpciBIaWdoLVNwZWVkIERpZ2l0 YWwgU3Vic2NyaWJlciBMaW5lIChTSERTTCkgTGluZXM8L2E+LCZyZHF1bzsgUkZDJm5ic3A7NDMx OSwgRGVjZW1iZXImbmJzcDsyMDA1LjwvdGQ+PC90cj4NCjwvdGFibGU+DQoNCjxhIG5hbWU9InJm Yy5hdXRob3JzIj48L2E+PGJyIC8+PGhyIC8+DQo8dGFibGUgc3VtbWFyeT0ibGF5b3V0IiBjZWxs cGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjIiIGNsYXNzPSJUT0NidWciIGFsaWduPSJyaWdodCI+ PHRyPjx0ZCBjbGFzcz0iVE9DYnVnIj48YSBocmVmPSIjdG9jIj4mbmJzcDtUT0MmbmJzcDs8L2E+ PC90ZD48L3RyPjwvdGFibGU+DQo8aDM+QXV0aG9yJ3MgQWRkcmVzczwvaDM+DQo8dGFibGUgd2lk dGg9Ijk5JSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiPg0KPHRy Pjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10 ZXh0Ij5FZHdhcmQgQmVpbGk8L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+ Jm5ic3A7PC90ZD4NCjx0ZCBjbGFzcz0iYXV0aG9yLXRleHQiPkFjdGVsaXMgTmV0d29ya3M8L3Rk PjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBjbGFz cz0iYXV0aG9yLXRleHQiPkJhemVsIDI1PC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9y LXRleHQiPiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij5QZXRhY2gtVGlrdmE8 L3RkPjwvdHI+DQo8dHI+PHRkIGNsYXNzPSJhdXRob3ItdGV4dCI+Jm5ic3A7PC90ZD4NCjx0ZCBj bGFzcz0iYXV0aG9yLXRleHQiPklzcmFlbDwvdGQ+PC90cj4NCjx0cj48dGQgY2xhc3M9ImF1dGhv ciIgYWxpZ249InJpZ2h0Ij5QaG9uZTombmJzcDs8L3RkPg0KPHRkIGNsYXNzPSJhdXRob3ItdGV4 dCI+Kzk3Mi0zLTkyNC0zNDkxPC90ZD48L3RyPg0KPHRyPjx0ZCBjbGFzcz0iYXV0aG9yIiBhbGln bj0icmlnaHQiPkVtYWlsOiZuYnNwOzwvdGQ+DQo8dGQgY2xhc3M9ImF1dGhvci10ZXh0Ij48YSBo cmVmPSJtYWlsdG86ZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIj5lZHdhcmQuYmVpbGlAYWN0ZWxp cy5jb208L2E+PC90ZD48L3RyPg0KPC90YWJsZT4NCjxhIG5hbWU9InJmYy5jb3B5cmlnaHQiPjwv YT48YnIgLz48aHIgLz4NCjx0YWJsZSBzdW1tYXJ5PSJsYXlvdXQiIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMiIgY2xhc3M9IlRPQ2J1ZyIgYWxpZ249InJpZ2h0Ij48dHI+PHRkIGNsYXNz PSJUT0NidWciPjxhIGhyZWY9IiN0b2MiPiZuYnNwO1RPQyZuYnNwOzwvYT48L3RkPjwvdHI+PC90 YWJsZT4NCjxoMz5GdWxsIENvcHlyaWdodCBTdGF0ZW1lbnQ8L2gzPg0KPHAgY2xhc3M9J2NvcHly aWdodCc+DQpDb3B5cmlnaHQgJmNvcHk7IFRoZSBJRVRGIFRydXN0ICgyMDA3KS48L3A+DQo8cCBj bGFzcz0nY29weXJpZ2h0Jz4NClRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmlnaHRz LA0KbGljZW5zZXMgYW5kIHJlc3RyaWN0aW9ucyBjb250YWluZWQgaW4gQkNQJm5ic3A7NzgsDQph bmQgZXhjZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLA0KdGhlIGF1dGhvcnMgcmV0YWluIGFsbCB0 aGVpciByaWdodHMuPC9wPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGlzIGRvY3VtZW50IGFu ZCB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBhcmUgcHJvdmlkZWQNCm9uIGFuICZs ZHF1bztBUyBJUyZyZHF1bzsgYmFzaXMgYW5kIFRIRSBDT05UUklCVVRPUiwNClRIRSBPUkdBTkla QVRJT04gSEUvU0hFIFJFUFJFU0VOVFMNCk9SIElTIFNQT05TT1JFRCBCWSAoSUYgQU5ZKSwgVEhF IElOVEVSTkVUIFNPQ0lFVFksIFRIRSBJRVRGIFRSVVNUDQpBTkQgVEhFIElOVEVSTkVUIEVOR0lO RUVSSU5HIFRBU0sgRk9SQ0UgRElTQ0xBSU0gQUxMIFdBUlJBTlRJRVMsDQpFWFBSRVNTIE9SIElN UExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gQU5ZIFdBUlJBTlRZIFRIQVQNClRI RSBVU0UgT0YgVEhFIElORk9STUFUSU9OIEhFUkVJTiBXSUxMIE5PVCBJTkZSSU5HRSBBTlkgUklH SFRTIE9SIEFOWQ0KSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBPUiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVINClBVUlBPU0UuPC9wPg0KPGgzPkludGVsbGVjdHVhbCBQcm9w ZXJ0eTwvaDM+DQo8cCBjbGFzcz0nY29weXJpZ2h0Jz4NClRoZSBJRVRGIHRha2VzIG5vIHBvc2l0 aW9uIHJlZ2FyZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2YgYW55DQpJbnRlbGxlY3R1YWwg UHJvcGVydHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJlIGNsYWltZWQNCnRv IHBlcnRhaW4gdG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0aGUgdGVjaG5vbG9neQ0K ZGVzY3JpYmVkIGluIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVudCB0byB3aGljaCBhbnkgbGlj ZW5zZQ0KdW5kZXIgc3VjaCByaWdodHMgbWlnaHQgb3IgbWlnaHQgbm90IGJlIGF2YWlsYWJsZTsg bm9yIGRvZXMgaXQNCnJlcHJlc2VudCB0aGF0IGl0IGhhcyBtYWRlIGFueSBpbmRlcGVuZGVudCBl ZmZvcnQgdG8gaWRlbnRpZnkgYW55DQpzdWNoIHJpZ2h0cy4NCkluZm9ybWF0aW9uIG9uIHRoZSBw cm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0bw0KcmlnaHRzIGluIFJGQyBkb2N1bWVudHMgY2FuIGJl IGZvdW5kIGluIEJDUCZuYnNwOzc4IGFuZCBCQ1AmbmJzcDs3OS48L3A+DQo8cCBjbGFzcz0nY29w eXJpZ2h0Jz4NCkNvcGllcyBvZiBJUFIgZGlzY2xvc3VyZXMgbWFkZSB0byB0aGUgSUVURiBTZWNy ZXRhcmlhdCBhbmQgYW55DQphc3N1cmFuY2VzIG9mIGxpY2Vuc2VzIHRvIGJlIG1hZGUgYXZhaWxh YmxlLA0Kb3IgdGhlIHJlc3VsdCBvZiBhbiBhdHRlbXB0IG1hZGUgdG8gb2J0YWluIGEgZ2VuZXJh bCBsaWNlbnNlIG9yDQpwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mIHN1Y2ggcHJvcHJpZXRhcnkg cmlnaHRzIGJ5IGltcGxlbWVudGVycyBvcg0KdXNlcnMgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGNh biBiZSBvYnRhaW5lZCBmcm9tIHRoZSBJRVRGIG9uLWxpbmUgSVBSDQpyZXBvc2l0b3J5IGF0IDxh IGhyZWY9J2h0dHA6Ly93d3cuaWV0Zi5vcmcvaXByJz5odHRwOi8vd3d3LmlldGYub3JnL2lwcjwv YT4uPC9wPg0KPHAgY2xhc3M9J2NvcHlyaWdodCc+DQpUaGUgSUVURiBpbnZpdGVzIGFueSBpbnRl cmVzdGVkIHBhcnR5IHRvIGJyaW5nIHRvIGl0cyBhdHRlbnRpb24NCmFueSBjb3B5cmlnaHRzLA0K cGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLA0Kb3Igb3RoZXINCnByb3ByaWV0YXJ5IHJp Z2h0cyB0aGF0IG1heSBjb3ZlciB0ZWNobm9sb2d5IHRoYXQgbWF5IGJlIHJlcXVpcmVkDQp0byBp bXBsZW1lbnQgdGhpcyBzdGFuZGFyZC4NClBsZWFzZSBhZGRyZXNzIHRoZSBpbmZvcm1hdGlvbiB0 byB0aGUgSUVURiBhdCA8YSBocmVmPSdtYWlsdG86aWV0Zi1pcHJAaWV0Zi5vcmcnPmlldGYtaXBy QGlldGYub3JnPC9hPi48L3A+DQo8aDM+QWNrbm93bGVkZ21lbnQ8L2gzPg0KPHAgY2xhc3M9J2Nv cHlyaWdodCc+DQpGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBmdW5jdGlvbiBpcyBwcm92aWRl ZCBieQ0KdGhlIElFVEYgQWRtaW5pc3RyYXRpdmUgU3VwcG9ydCBBY3Rpdml0eSAoSUFTQSkuPC9w Pg0KPC9ib2R5PjwvaHRtbD4NCg== ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; name="draft-ietf-hubmib-efm-cu-mib-07.txt" Content-Transfer-Encoding: base64 Content-Description: draft-ietf-hubmib-efm-cu-mib-07.txt Content-Disposition: attachment; filename="draft-ietf-hubmib-efm-cu-mib-07.txt" DQoNCg0KTmV0d29yayBXb3JraW5nIEdyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEUuIEJlaWxpDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFjdGVsaXMgTmV0d29ya3MNCkludGVuZGVkIHN0YXR1czog U3RhbmRhcmRzIFRyYWNrICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMSwgMjAwNw0K RXhwaXJlczogQXVndXN0IDI1LCAyMDA3DQoNCg0KICAgICAgICBFdGhlcm5ldCBpbiB0aGUgRmly c3QgTWlsZSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzIE1JQg0KICAgICAgICAgICAgICAgICAg ZHJhZnQtaWV0Zi1odWJtaWItZWZtLWN1LW1pYi0wNy50eHQNCg0KU3RhdHVzIG9mIHRoaXMgTWVt bw0KDQogICBCeSBzdWJtaXR0aW5nIHRoaXMgSW50ZXJuZXQtRHJhZnQsIGVhY2ggYXV0aG9yIHJl cHJlc2VudHMgdGhhdCBhbnkNCiAgIGFwcGxpY2FibGUgcGF0ZW50IG9yIG90aGVyIElQUiBjbGFp bXMgb2Ygd2hpY2ggaGUgb3Igc2hlIGlzIGF3YXJlDQogICBoYXZlIGJlZW4gb3Igd2lsbCBiZSBk aXNjbG9zZWQsIGFuZCBhbnkgb2Ygd2hpY2ggaGUgb3Igc2hlIGJlY29tZXMNCiAgIGF3YXJlIHdp bGwgYmUgZGlzY2xvc2VkLCBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA2IG9mIEJDUCA3OS4N Cg0KICAgSW50ZXJuZXQtRHJhZnRzIGFyZSB3b3JraW5nIGRvY3VtZW50cyBvZiB0aGUgSW50ZXJu ZXQgRW5naW5lZXJpbmcNCiAgIFRhc2sgRm9yY2UgKElFVEYpLCBpdHMgYXJlYXMsIGFuZCBpdHMg d29ya2luZyBncm91cHMuICBOb3RlIHRoYXQNCiAgIG90aGVyIGdyb3VwcyBtYXkgYWxzbyBkaXN0 cmlidXRlIHdvcmtpbmcgZG9jdW1lbnRzIGFzIEludGVybmV0LQ0KICAgRHJhZnRzLg0KDQogICBJ bnRlcm5ldC1EcmFmdHMgYXJlIGRyYWZ0IGRvY3VtZW50cyB2YWxpZCBmb3IgYSBtYXhpbXVtIG9m IHNpeCBtb250aHMNCiAgIGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9yIG9ic29sZXRl ZCBieSBvdGhlciBkb2N1bWVudHMgYXQgYW55DQogICB0aW1lLiAgSXQgaXMgaW5hcHByb3ByaWF0 ZSB0byB1c2UgSW50ZXJuZXQtRHJhZnRzIGFzIHJlZmVyZW5jZQ0KICAgbWF0ZXJpYWwgb3IgdG8g Y2l0ZSB0aGVtIG90aGVyIHRoYW4gYXMgIndvcmsgaW4gcHJvZ3Jlc3MuIg0KDQogICBUaGUgbGlz dCBvZiBjdXJyZW50IEludGVybmV0LURyYWZ0cyBjYW4gYmUgYWNjZXNzZWQgYXQNCiAgIGh0dHA6 Ly93d3cuaWV0Zi5vcmcvaWV0Zi8xaWQtYWJzdHJhY3RzLnR4dC4NCg0KICAgVGhlIGxpc3Qgb2Yg SW50ZXJuZXQtRHJhZnQgU2hhZG93IERpcmVjdG9yaWVzIGNhbiBiZSBhY2Nlc3NlZCBhdA0KICAg aHR0cDovL3d3dy5pZXRmLm9yZy9zaGFkb3cuaHRtbC4NCg0KICAgVGhpcyBJbnRlcm5ldC1EcmFm dCB3aWxsIGV4cGlyZSBvbiBBdWd1c3QgMjUsIDIwMDcuDQoNCkNvcHlyaWdodCBOb3RpY2UNCg0K ICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAwNykuDQoNCkFic3RyYWN0DQoNCiAg IFRoaXMgZG9jdW1lbnQgZGVmaW5lcyBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikg bW9kdWxlcyBmb3INCiAgIHVzZSB3aXRoIG5ldHdvcmsgbWFuYWdlbWVudCBwcm90b2NvbHMgaW4g VENQL0lQIGJhc2VkIGludGVybmV0cy4NCiAgIFRoaXMgZG9jdW1lbnQgZGVzY3JpYmVzIGV4dGVu c2lvbnMgdG8gdGhlIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlcw0KICAgTUlCIGFuZCBNQVUgTUlC IG1vZHVsZXMgd2l0aCBhIHNldCBvZiBvYmplY3RzIGZvciBtYW5hZ2luZyBFdGhlcm5ldA0KICAg aW4gdGhlIEZpcnN0IE1pbGUgQ29wcGVyIChFRk1DdSkgaW50ZXJmYWNlcyAxMFBBU1MtVFMgYW5k IDJCQVNFLVRMLA0KICAgZGVmaW5lZCBpbiBJRUVFIFN0ZCA4MDIuM2FoLTIwMDQuICBJbiBhZGRp dGlvbiBhIHNldCBvZiBvYmplY3RzIGlzDQogICBkZWZpbmVkLCBkZXNjcmliaW5nIGNyb3NzLWNv bm5lY3QgY2FwYWJpbGl0eSBvZiBhIG1hbmFnZWQgZGV2aWNlIHdpdGgNCiAgIG11bHRpLWxheWVy IChzdGFja2VkKSBpbnRlcmZhY2VzLCBleHRlbmRpbmcgdGhlIHN0YWNrIG1hbmFnZW1lbnQNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgICBbUGFnZSAxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgb2JqZWN0cyBp biB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIgYW5kIHRoZSBJbnZlcnRlZCBTdGFjayBUYWJsZSBN SUINCiAgIG1vZHVsZXMuDQoNCg0KVGFibGUgb2YgQ29udGVudHMNCg0KICAgMS4gIEludHJvZHVj dGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICAz DQogICAyLiAgVGhlIEludGVybmV0LVN0YW5kYXJkIE1hbmFnZW1lbnQgRnJhbWV3b3JrIC4gLiAu IC4gLiAuIC4gLiAuIC4gIDMNCiAgIDMuICBSZWxhdGlvbiB0byBvdGhlciBNSUIgbW9kdWxlcyAg LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNA0KICAgICAzLjEuICBSZWxhdGlvbiB0 byBJbnRlcmZhY2VzIEdyb3VwIE1JQiBtb2R1bGUgIC4gLiAuIC4gLiAuIC4gLiAuICA0DQogICAg ICAgMy4xLjEuICBMYXllcmluZyBNb2RlbCAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gIDQNCiAgICAgICAzLjEuMi4gIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAgNw0KICAgICAgIDMuMS4zLiAgRGlzY292ZXJ5IE9w ZXJhdGlvbiAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuICA3DQogICAgICAgMy4x LjQuICBFRk1DdSBwb3J0cyBpbml0aWFsaXphdGlvbiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gIDkNCiAgICAgICAzLjEuNS4gIFVzYWdlIG9mIGlmVGFibGUgLiAuIC4gLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAxMA0KICAgICAzLjIuICBSZWxhdGlvbiB0byBTSERTTCBNSUIg bW9kdWxlIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDExDQogICAgIDMuMy4gIFJlbGF0 aW9uIHRvIFZEU0wgTUlCIG1vZHVsZSAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTEN CiAgICAgMy40LiAgUmVsYXRpb24gdG8gRXRoZXJuZXQtTGlrZSBhbmQgTUFVIE1JQiBtb2R1bGVz ICAuIC4gLiAuIC4gLiAxMg0KICAgNC4gIE1JQiBTdHJ1Y3R1cmUgIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuMS4gIEVGTSBDb3BwZXIg TUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gMTMNCiAgICAg NC4yLiAgSW50ZXJmYWNlIHN0YWNrIGNhcGFiaWxpdHkgTUlCIE92ZXJ2aWV3ICAuIC4gLiAuIC4g LiAuIC4gLiAxMw0KICAgICA0LjMuICBQTUUgUHJvZmlsZXMgLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDEzDQogICAgIDQuNC4gIE1hcHBpbmcgb2YgSUVFRSA4 MDIuM2FoIE1hbmFnZWQgT2JqZWN0cyAgLiAuIC4gLiAuIC4gLiAuIC4gMTQNCiAgIDUuICBJbnRl cmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMgLiAuIC4gLiAuIC4gLiAuIC4g LiAxNg0KICAgNi4gIEVGTSBDb3BwZXIgTUlCIERlZmluaXRpb25zIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIDIyDQogICA3LiAgU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnMgIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODQNCiAgIDguICBJQU5BIENvbnNp ZGVyYXRpb25zICAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Ng0K ICAgOS4gIEFja25vd2xlZGdtZW50cyAgLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIC4gLiAuIDg2DQogICAxMC4gTm90ZXMgdG8gUkZDIEVkaXRvciAgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODYNCiAgIDExLiBSZWZlcmVuY2VzIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4Nw0KICAgICAx MS4xLiBOb3JtYXRpdmUgUmVmZXJlbmNlcyAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAu IC4gLiAuIDg3DQogICAgIDExLjIuIEluZm9ybWF0aXZlIFJlZmVyZW5jZXMgLiAuIC4gLiAuIC4g LiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gODgNCiAgIEF1dGhvcidzIEFkZHJlc3MgLiAuIC4gLiAu IC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA4OQ0KICAgSW50ZWxsZWN0 dWFsIFByb3BlcnR5IGFuZCBDb3B5cmlnaHQgU3RhdGVtZW50cyAuIC4gLiAuIC4gLiAuIC4gLiAu IDkwDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAg ICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDJdDQoM DQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAg ICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQoxLiAgSW50cm9kdWN0aW9uDQoNCiAgIE5ldyBFdGhlcm5l dC1saWtlIGludGVyZmFjZXMgaGF2ZSBiZWVuIGRlZmluZWQgaW4gdGhlIEluc3RpdHV0ZSBvZg0K ICAgRWxlY3RyaWNhbCBhbmQgRWxlY3Ryb25pY3MgRW5naW5lZXJzIChJRUVFKSBTdGFuZGFyZCA4 MDIuM2FoLTIwMDQNCiAgIFs4MDIuM2FoXSwgYS5rLmEuICBFdGhlcm5ldCBpbiB0aGUgRmlyc3Qg TWlsZSAoRUZNKSwgd2hpY2ggaXMgbm93IGENCiAgIHBhcnQgb2YgdGhlIGJhc2UgSUVFRSBTdGFu ZGFyZCA4MDIuMy0yMDA1IFs4MDIuM10uICBJbiBwYXJ0aWN1bGFyDQogICAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIHBoeXNpY2FsIGludGVyZmFjZXMgKFBIWXMpLCBkZWZpbmVkIG92ZXINCiAgIHZv aWNlLWdyYWRlIGNvcHBlciBwYWlycywgaGF2ZSBiZWVuIHNwZWNpZmllZCBmb3IgdGhlIGxvbmcg YW5kIHNob3J0DQogICByZWFjaCByZXNwZWN0aXZlbHkuICBUaGVzZSBpbnRlcmZhY2VzLCBjb2xs ZWN0aXZlbHkgY2FsbGVkIEVGTSBDb3BwZXINCiAgIChFRk1DdSksIGFyZSBiYXNlZCBvbiBTaW5n bGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lDQogICAoU0hEU0wpIFtH Ljk5MS4yXSBhbmQgVmVyeSBIaWdoIHNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBMaW5lIChWRFNM KQ0KICAgW0cuOTkzLjFdIHRlY2hub2xvZ3ksIHN1cHBvcnRpbmcgb3B0aW9uYWwgUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgKFBNRSkgYWdncmVnYXRpb24gKGEuay5hLiBtdWx0aS1wYWlyIGJv bmRpbmcpIHdpdGggdmFyaWFibGUgcmF0ZXMuDQoNCiAgIDJCQVNFLVRMIFBIWSBpcyBjYXBhYmxl IG9mIHByb3ZpZGluZyBhdCBsZWFzdCAyTWJwcyBvdmVyIDI3MDAgbSBsb25nDQogICBzaW5nbGUg Y29wcGVyIHBhaXIgd2l0aCBhIG1lYW4gQml0IEVycm9yIFJhdGUgKEJFUikgb2YgMTBeLTcgKHVz aW5nDQogICA1ZEIgdGFyZ2V0IG5vaXNlIG1hcmdpbikuDQoNCiAgIDEwUEFTUy1UUyBQSFkgaXMg Y2FwYWJsZSBvZiBwcm92aWRpbmcgYXQgbGVhc3QgMTBNYnBzIG92ZXIgNzUwIG0gbG9uZw0KICAg c2luZ2xlIGNvcHBlciBwYWlyIHdpdGggYSBtZWFuIEJFUiBvZiAxMF4tNyAodXNpbmcgNmRCIHRh cmdldCBub2lzZQ0KICAgbWFyZ2luKS4NCg0KICAgVGhpcyBtZW1vIGRlZmluZXMgYSBNYW5hZ2Vt ZW50IEluZm9ybWF0aW9uIEJhc2UgKE1JQikgbW9kdWxlIGZvciB1c2UNCiAgIHdpdGggbmV0d29y ayBtYW5hZ2VtZW50IHByb3RvY29scyBpbiB0aGUgSW50ZXJuZXQgY29tbXVuaXR5IHRvIG1hbmFn ZQ0KICAgRUZNQ3UgaW50ZXJmYWNlcy4gIEluIGFkZGl0aW9uIGEgTUlCIG1vZHVsZSBpcyBkZWZp bmVkIGRlc2NyaWJpbmcNCiAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBhIHN0YWNrZWQg aW50ZXJmYWNlLg0KDQogICBOb3RlIHRoYXQgbWFuYWdlZCBvYmplY3RzIGZvciBPcGVyYXRpb24s IEFkbWluaXN0cmF0aW9uIGFuZA0KICAgTWFuYWdlbWVudCAoT0FNKSBhbmQgRXRoZXJuZXQgb3Zl ciBQYXNzaXZlIE9wdGljYWwgTmV0d29ya3MgKEVQT04pDQogICBjbGF1c2VzIG9mIElFRUUgODAy LjNhaCBhcmUgZGVmaW5lZCBpbiBFRk0tQ09NTU9OLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1l Zm0tbWliXSBhbmQgRUZNLUVQT04tTUlCDQogICBbSS1ELmlldGYtaHVibWliLWVmbS1lcG9uLW1p Yl0gcmVzcGVjdGl2ZWx5Lg0KDQoNCjIuICBUaGUgSW50ZXJuZXQtU3RhbmRhcmQgTWFuYWdlbWVu dCBGcmFtZXdvcmsNCg0KICAgRm9yIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgdGhlIGRvY3VtZW50 cyB0aGF0IGRlc2NyaWJlIHRoZSBjdXJyZW50DQogICBJbnRlcm5ldC1TdGFuZGFyZCBNYW5hZ2Vt ZW50IEZyYW1ld29yaywgcGxlYXNlIHJlZmVyIHRvIHNlY3Rpb24gNyBvZg0KICAgUkZDIDM0MTAg W1JGQzM0MTBdLg0KDQogICBNYW5hZ2VkIG9iamVjdHMgYXJlIGFjY2Vzc2VkIHZpYSBhIHZpcnR1 YWwgaW5mb3JtYXRpb24gc3RvcmUsIHRlcm1lZA0KICAgdGhlIE1hbmFnZW1lbnQgSW5mb3JtYXRp b24gQmFzZSBvciBNSUIuICBNSUIgb2JqZWN0cyBhcmUgZ2VuZXJhbGx5DQogICBhY2Nlc3NlZCB0 aHJvdWdoIHRoZSBTaW1wbGUgTmV0d29yayBNYW5hZ2VtZW50IFByb3RvY29sIChTTk1QKS4NCiAg IE9iamVjdHMgaW4gdGhlIE1JQiBhcmUgZGVmaW5lZCB1c2luZyB0aGUgbWVjaGFuaXNtcyBkZWZp bmVkIGluIHRoZQ0KICAgU3RydWN0dXJlIG9mIE1hbmFnZW1lbnQgSW5mb3JtYXRpb24gKFNNSSku ICBUaGlzIG1lbW8gc3BlY2lmaWVzIE1JQg0KICAgbW9kdWxlcyB0aGF0IGFyZSBjb21wbGlhbnQg dG8gdGhlIFNNSXYyLCB3aGljaCBpcyBkZXNjcmliZWQgaW4gU1REDQogICA1OCwgUkZDIDI1Nzgg W1JGQzI1NzhdLCBTVEQgNTgsIFJGQyAyNTc5IFtSRkMyNTc5XSBhbmQgU1REIDU4LCBSRkMNCiAg IDI1ODAgW1JGQzI1ODBdLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDNdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICBUaGUga2V5IHdvcmRzICJNVVNUIiwgIk1VU1QgTk9UIiwgIlJFUVVJUkVEIiwg IlNIQUxMIiwgIlNIQUxMIE5PVCIsDQogICAiU0hPVUxEIiwgIlNIT1VMRCBOT1QiLCAiUkVDT01N RU5ERUQiLCAiTUFZIiwgYW5kICJPUFRJT05BTCIgaW4gdGhpcw0KICAgZG9jdW1lbnQgYXJlIHRv IGJlIGludGVycHJldGVkIGFzIGRlc2NyaWJlZCBpbiBSRkMgMjExOSBbUkZDMjExOV0uDQoNCg0K My4gIFJlbGF0aW9uIHRvIG90aGVyIE1JQiBtb2R1bGVzDQoNCiAgIFRoaXMgc2VjdGlvbiBvdXRs aW5lcyB0aGUgcmVsYXRpb25zaGlwIG9mIHRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluDQogICB0 aGlzIGRvY3VtZW50IHdpdGggb3RoZXIgTUlCIG1vZHVsZXMgZGVzY3JpYmVkIGluIHRoZSByZWxl dmFudCBSRkNzLg0KICAgU3BlY2lmaWNhbGx5LCBJbnRlcmZhY2VzIEdyb3VwIE1JQiAoSUYtTUlC KSwgRXRoZXJuZXQtTGlrZQ0KICAgKEV0aGVyTGlrZS1NSUIpLCBNQVUgKE1BVS1NSUIpLCBTSERT TCAoSERTTDItU0hEU0wtTElORS1NSUIpIGFuZCBWRFNMDQogICAoVkRTTC1MSU5FLUVYVC1NQ00t TUlCKSBhcmUgZGlzY3Vzc2VkLg0KDQozLjEuICBSZWxhdGlvbiB0byBJbnRlcmZhY2VzIEdyb3Vw IE1JQiBtb2R1bGUNCg0KICAgMkJBU0UtVEwgYW5kIDEwUEFTUy1UUyBQSFkncyBzcGVjaWZpZWQg aW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGFyZQ0KICAgc3RhY2tlZCAoYS5rLmEuIGFnZ3JlZ2F0 ZWQgb3IgYm9uZGVkKSBFdGhlcm5ldCBpbnRlcmZhY2VzIGFuZCBhcyBzdWNoDQogICBhcmUgbWFu YWdlZCB1c2luZyBnZW5lcmljIGludGVyZmFjZSBtYW5hZ2VtZW50IG9iamVjdHMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10uDQoNCiAgIFRoZSBzdGFjayBtYW5hZ2VtZW50LCBp LmUuIGFjdHVhbCBjb25uZWN0aW9uIG9mIHRoZSBzdWItbGF5ZXJzIHRvIHRoZQ0KICAgdG9wIGxh eWVyIGludGVyZmFjZSwgaXMgZG9uZSB2aWEgdGhlIGlmU3RhY2tUYWJsZSwgYXMgZGVmaW5lZCBp biB0aGUNCiAgIElGLU1JQiBbUkZDMjg2M10gYW5kIGl0cyBpbnZlcnNlIGlmSW52U3RhY2tUYWJs ZSwgYXMgZGVmaW5lZCBpbiB0aGUNCiAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiBbUkZDMjg2NF0u DQoNCiAgIFRoZSBuZXcgdGFibGVzIGlmQ2FwU3RhY2tUYWJsZSBhbmQgaXRzIGludmVyc2UgaWZJ bnZDYXBTdGFja1RhYmxlDQogICBkZWZpbmVkIGluIHRoZSBJRi1DQVAtU1RBQ0stTUlCIG1vZHVs ZSBiZWxvdywgZXh0ZW5kIHRoZSBzdGFjaw0KICAgbWFuYWdlbWVudCB3aXRoIGFuIGFiaWxpdHkg dG8gZGVzY3JpYmUgcG9zc2libGUgY29ubmVjdGlvbnMgb3IgY3Jvc3MtDQogICBjb25uZWN0IGNh cGFiaWxpdHksIHdoZW4gYSBmbGV4aWJsZSBjcm9zcy1jb25uZWN0IG1hdHJpeCBpcyBwcmVzZW50 DQogICBiZXR3ZWVuIHRoZSBpbnRlcmZhY2UgbGF5ZXJzLg0KDQozLjEuMS4gIExheWVyaW5nIE1v ZGVsDQoNCiAgIEFuIEVGTUN1IGludGVyZmFjZSBjYW4gYWdncmVnYXRlIHVwIHRvIDMyIFBoeXNp Y2FsIE1lZGl1bSBFbnRpdHkNCiAgIChQTUUpIHN1Yi1sYXllciBkZXZpY2VzIChtb2RlbXMpLCB1 c2luZyBzbyBjYWxsZWQgUE1FIEFnZ3JlZ2F0aW9uDQogICBGdW5jdGlvbiAoUEFGKS4NCg0KICAg QSBnZW5lcmljIEVGTUN1IGRldmljZSBjYW4gaGF2ZSBhIG51bWJlciBvZiBQaHlzaWNhbCBDb2Rp bmcgU3VibGF5ZXINCiAgIChQQ1MpIHBvcnRzLCBlYWNoIGNvbm5lY3RlZCB0byBhIE1BQyB2aWEg TWVkaXVtIEluZGVwZW5kZW50IEludGVyZmFjZQ0KICAgKE1JSSkgYXQgdGhlIHVwcGVyIGxheWVy LCBhbmQgY3Jvc3MtY29ubmVjdGVkIHRvIGEgbnVtYmVyIG9mDQogICB1bmRlcmx5aW5nIFBNRXMs IHdpdGggYSBzaW5nbGUgUENTIHBlciBQTUUgcmVsYXRpb25zaGlwLCBzZWUgY2xhdXNlDQogICA2 MS4xIG9mIFs4MDIuM2FoXSBmb3IgbW9yZSBkZXRhaWxzLg0KDQogICBFYWNoIFBNRSBpbiB0aGUg YWdncmVnYXRlZCBFRk1DdSBwb3J0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBJbnRlcmZhY2UNCiAg IHRhYmxlIChpZlRhYmxlKSBhcyBhIHNlcGFyYXRlIGludGVyZmFjZSB3aXRoIGlmVHlwZSBvZiBz aGRzbCgxNjkpIGZvcg0KICAgMkJBU0UtVEwgb3IgdmRzbCg5NykgZm9yIDEwUEFTUy1UUy4gIFRo ZSBpZlR5cGUgdmFsdWVzIGFyZSBkZWZpbmVkIGluDQogICBbSUFOQWlmVHlwZS1NSUJdLg0KDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICAgW1BhZ2UgNF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIGlmU3BlZWQg Zm9yIGVhY2ggUE1FIFNIQUxMIHJldHVybiB0aGUgYWN0dWFsIGRhdGEgYml0cmF0ZSBvZiB0aGUN CiAgIGFjdGl2ZSBQTUUgKGUuZy4gZm9yIDJCYXNlVEwgUE1FcyBpdCBpcyBhIG11bHRpcGxlIG9m IDY0S2JwcykuICBaZXJvDQogICB2YWx1ZSBTSEFMTCBiZSByZXR1cm5lZCB3aGVuIFBNRSBpcyBp bml0aWFsaXppbmcgb3IgZG93bi4NCg0KICAgVGhlIGlmU3BlZWQgb2YgdGhlIFBDUyBpcyB0aGUg c3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJhdGVzDQogICBvZiBhbGwgUE1FcyBp biB0aGUgYWdncmVnYXRpb24gZ3JvdXAsIHdpdGhvdXQgdGhlIDY0LzY1Qg0KICAgZW5jYXBzdWxh dGlvbiBvdmVyaGVhZCBhbmQgUEFGIG92ZXJoZWFkLCBidXQgYWNjb3VudGluZyBmb3IgdGhlDQog ICBJbnRlci1GcmFtZSBHYXBzIChJRkcpLg0KDQogICBXaGVuIHVzaW5nIHRoZSBzdGF0ZWQgZGVm aW5pdGlvbiBvZiBpZlNwZWVkIGZvciB0aGUgUENTLCB0aGVyZSB3b3VsZA0KICAgYmUgbm8gZnJh bWUgbG9zcyBpbiB0aGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gKHRoZSB0ZXN0LXNldHMgYXJl DQogICBjb25maWd1cmVkIHRvIGdlbmVyYXRlIDEwMCUgb2YgYmFjayB0byBiYWNrIHRyYWZmaWMs IGkuZS4gbWluaW1hbA0KICAgSUZHLCBhdCAxMCBvciAxMDBNYnBzLCB3aXRoIG1pbiBhbmQgbWF4 IGZyYW1lIHNpemVzOyB0aGUgRUZNDQogICBpbnRlcmZhY2VzIGFyZSBhZ2dyZWdhdGVkLCB0byBh Y2hpZXZlIHRoZSBzaG93biBzcGVlZCk6DQoNCiAgICAgIC4tLS0tLS0tLiAgICAgICAgICAgLi0t LiAgICAgICAgICAgLi0tLS4gICAgICAgICAgIC4tLS0tLS0tLg0KICAgICAgfHRlc3RzZXR8LS0x MEJhc2VULS18Q098LS0yQmFzZVRMLS18Q1BFfC0tMTBCYXNlVC0tfHRlc3RzZXR8DQogICAgICAn LS0tLS0tLScgICAgICAgICAgICctLScgICAgICAgICAgICctLS0nICAgICAgICAgICAnLS0tLS0t LScNCiAgICAgICAgaWZTcGVlZD0gIDEwTWJwcyAgICAgICAgIDEwTWJwcyAgICAgICAgIDEwTWJw cw0KDQogICAgICAuLS0tLS0tLS4gICAgICAgICAgICAuLS0uICAgICAgICAgICAgLi0tLS4gICAg ICAgICAgICAuLS0tLS0tLS4NCiAgICAgIHx0ZXN0c2V0fC0tMTAwQmFzZVQtLXxDT3wtLTEwUGFz c1RTLS18Q1BFfC0tMTAwQmFzZVQtLXx0ZXN0c2V0fA0KICAgICAgJy0tLS0tLS0nICAgICAgICAg ICAgJy0tJyAgICAgICAgICAgICctLS0nICAgICAgICAgICAgJy0tLS0tLS0nDQogICAgICAgIGlm U3BlZWQ9ICAxMDBNYnBzICAgICAgICAgMTAwTWJwcyAgICAgICAgIDEwME1icHMNCg0KICAgICAg ICAgICAgRmlndXJlIDE6IEV4YW1wbGUgY29uZmlndXJhdGlvbiB3aXRoIG5vIGZyYW1lIGxvc3MN Cg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg IFtQYWdlIDVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICBUaGUgZm9sbG93aW5nIGZpZ3Vy ZSBzaG93cyB0aGUgSUVFRSA4MDIuMyBsYXllcmluZyBkaWFncmFtIGFuZA0KICAgY29ycmVzcG9u ZGluZyB1c2Ugb2YgaWZUYWJsZSBhbmQgaWZNYXVUYWJsZToNCg0KICAgIC4tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLiAgLQ0KICAgIHwgICAgICAgIExMQyAgICAgICAgICAgICAgfCAgXg0KICAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAxIGlmRW50cnkNCiAgICB8ICAgICAgICBN QUMgICAgICAgICAgICAgIHwgIHwgICAgIGlmVHlwZTogZXRoZXJuZXRDc21hY2QoNikNCiAgICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICkgICBpZk1hdUVudHJ5DQogICAgfCAgICAgICAg UmVjb25zaWxpYXRpb24gICB8ICB8ICAgICBpZk1hdVR5cGU6IGRvdDNNYXVUeXBlMkJhc2VUTCBv cg0KICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfCAgICAgICAgICAgICAgICBkb3Qz TWF1VHlwZTEwUGFzc1RTDQogICAgfCAgICAgICAgUENTICAgICAgICAgICAgICB8ICB2DQogICAg Ky0tLS0tLS0tLS0tLS0rLS0tKy0tLS0tLS0rICAtDQogICAgfCBUQyBcICAgICAgICB8ICAgfCAg ICAgICB8ICBeDQogICAgKy0tLS0tXCAgICAgICB8ICAgfCAgICAgICB8ICB8DQogICAgfCBQTUEg IClQTUUgMSB8Li4ufCBQTUUgTiB8ICApIE4gaWZFbnRyeSAgKE49MS4uMzIpDQogICAgKy0tLS0t LyAgICAgICB8ICAgfCAgICAgICB8ICB8ICAgICBpZlR5cGU6IHNoZHNsKDE2OSkgb3IgdmRzbCg5 NykNCiAgICB8IFBNRC8gICAgICAgIHwgICB8ICAgICAgIHwgIHYNCiAgICAnLS0tLS0tLS0tLS0t LSstLS0rLS0tLS0tLScgIC0NCg0KICAgICBMTEMgLSBMb2dpY2FsIExpbmsgQ29udHJvbCAgICAg ICBQTUEgLSBQaHlzaWNhbCBNZWRpdW0gQXR0YWNobWVudA0KICAgICBNQUMgLSBNZWRpYSBBY2Nl c3MgQ29udHJvbCAgICAgICBQTUQgLSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgIFBD UyAtIFBoeXNpY2FsIENvZGluZyBTdWItbGF5ZXIgIFBNRSAtIFBoeXNpY2FsIE1lZGl1bSBFbnRp dHkNCiAgICAgVEMgIC0gVHJhbnNtaXNzaW9uIENvbnZlcmdlbmNlDQoNCiAgICAgICAgICBGaWd1 cmUgMjogVXNlIG9mIGlmVGFibGUgYW5kIGlmTWF1VGFibGUgZm9yIEVGTUN1IHBvcnRzDQoNCiAg IFRoZSBpZlN0YWNrVGFibGUgaXMgaW5kZXhlZCBieSB0aGUgaWZJbmRleCB2YWx1ZXMgb2YgdGhl IGFnZ3JlZ2F0ZWQNCiAgIEVGTUN1IHBvcnQgKFBDUykgYW5kIHRoZSBQTUVzIGNvbm5lY3RlZCB0 byBpdC4gaWZTdGFja1RhYmxlIGFsbG93cyBhDQogICBOZXR3b3JrIE1hbmFnZW1lbnQgYXBwbGlj YXRpb24gdG8gZGV0ZXJtaW5lIHdoaWNoIFBNRXMgYXJlIGNvbm5lY3RlZA0KICAgdG8gYSBwYXJ0 aWN1bGFyIFBDUyBhbmQgY2hhbmdlIGNvbm5lY3Rpb25zIChpZiBzdXBwb3J0ZWQgYnkgdGhlDQog ICBhcHBsaWNhdGlvbikuICBUaGUgaWZJbnZTdGFja1RhYmxlLCBiZWluZyBhbiBpbnZlcnRlZCB2 ZXJzaW9uIG9mIHRoZQ0KICAgaWZTdGFja1RhYmxlLCBwcm92aWRlcyBhbiBlZmZpY2llbnQgbWVh bnMgZm9yIGEgTmV0d29yayBNYW5hZ2VtZW50DQogICBhcHBsaWNhdGlvbiB0byByZWFkIGEgc3Vi c2V0IG9mIHRoZSBpZlN0YWNrVGFibGUgYW5kIHRoZXJlYnkNCiAgIGRldGVybWluZSB3aGljaCBQ Q1MgcnVucyBvbiB0b3Agb2YgYSBwYXJ0aWN1bGFyIFBNRS4NCg0KICAgQSBuZXcgdGFibGUgaWZD YXBTdGFja1RhYmxlIGRlZmluZWQgaW4gdGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlLA0KICAg c3BlY2lmaWVzIGZvciBlYWNoIGhpZ2hlci1sYXllciBpbnRlcmZhY2UgKGUuZy4gIFBDUyBwb3J0 KSBhIGxpc3Qgb2YNCiAgIGxvd2VyLWxheWVyIGludGVyZmFjZXMgKGUuZy4gIFBNRXMpLCB3aGlj aCBjYW4gcG9zc2libHkgYmUgY3Jvc3MtDQogICBjb25uZWN0ZWQgdG8gdGhhdCBoaWdoZXItbGF5 ZXIgaW50ZXJmYWNlLCBkZXRlcm1pbmVkIGJ5IHRoZSBjcm9zcy0NCiAgIGNvbm5lY3QgY2FwYWJp bGl0eSBvZiB0aGUgZGV2aWNlLiAgVGhpcyB0YWJsZSwgbW9kZWxlZCBhZnRlcg0KICAgaWZTdGFj a1RhYmxlLCBpcyByZWFkIG9ubHksIHJlZmxlY3RpbmcgY3VycmVudCBjcm9zcy1jb25uZWN0DQog ICBjYXBhYmlsaXR5IG9mIGEgc3RhY2tlZCBpbnRlcmZhY2UsIHdoaWNoIGNhbiBiZSBkeW5hbWlj IGluIHNvbWUNCiAgIGltcGxlbWVudGF0aW9ucyAoZS5nLiBpZiBQTUVzIGFyZSBsb2NhdGVkIG9u IGEgcGx1Z2dhYmxlIG1vZHVsZSBhbmQNCiAgIHRoZSBtb2R1bGUgaXMgcHVsbGVkIG91dCkuICBO b3RlIHRoYXQgUE1FIGF2YWlsYWJpbGl0eSBwZXIgUENTLA0KICAgZGVzY3JpYmVkIGJ5IGlmQ2Fw U3RhY2tUYWJsZSwgY2FuIGJlIGNvbnN0cmFpbmVkIGJ5IG90aGVyIHBhcmFtZXRlcnMsDQogICBm b3IgZXhhbXBsZSBieSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZiBhIFBDUyBvciBieSB0aGUgUE1F IGluDQogICBxdWVzdGlvbiBiZWluZyBhbHJlYWR5IGNvbm5lY3RlZCB0byBhbm90aGVyIFBDUy4g IFNvLCBpbiBvcmRlciB0bw0KICAgZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIFBNRSBjYW4gYmUg Y29ubmVjdGVkIHRvIHRoZSBQQ1MsIGFsbA0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAg IEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgIFtQYWdlIDZdDQoMDQpJbnRl cm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZl YnJ1YXJ5IDIwMDcNCg0KDQogICByZXNwZWN0aXZlIHBhcmFtZXRlcnMgKGUuZy4gaWZDYXBTdGFj a1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kDQogICBlZm1DdVBBRkNhcGFjaXR5KSBTSEFMTCBiZSBp bnNwZWN0ZWQuDQoNCiAgIFRoZSBpZkludkNhcFN0YWNrVGFibGUsIGFsc28gZGVmaW5lZCBpbiB0 aGUgSUYtQ0FQLVNUQUNLLU1JQiBtb2R1bGUsDQogICBkZXNjcmliZXMgd2hpY2ggaGlnaGVyLWxh eWVyIGludGVyZmFjZXMgKGUuZy4gIFBDUyBwb3J0cykgY2FuDQogICBwb3NzaWJseSBiZSBjb25u ZWN0ZWQgdG8gYSBwYXJ0aWN1bGFyIGxvd2VyLWxheWVyIGludGVyZmFjZSAoZS5nLg0KICAgUE1F KSwgcHJvdmlkaW5nIGludmVydGVkIG1hcHBpbmcgb2YgaWZDYXBTdGFja1RhYmxlLiAgV2hpbGUg aXQNCiAgIGNvbnRhaW5zIG5vIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYmV5b25kIHRoYXQgYWxy ZWFkeSBjb250YWluZWQgaW4NCiAgIHRoZSBpZkNhcFN0YWNrVGFibGUsIHRoZSBpZkludkNhcFN0 YWNrVGFibGUgaGFzIHRoZSBpZkluZGV4IHZhbHVlcyBpbg0KICAgaXRzIElOREVYIGNsYXVzZSBp biB0aGUgcmV2ZXJzZSBvcmRlciwgaS5lLiwgdGhlIGxvd2VyLWxheWVyDQogICBpbnRlcmZhY2Ug Zmlyc3QsIGFuZCB0aGUgaGlnaGVyLWxheWVyIGludGVyZmFjZSBzZWNvbmQsIHByb3ZpZGluZyBh bg0KICAgZWZmaWNpZW50IG1lYW5zIGZvciBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlv biB0byByZWFkIGEgc3Vic2V0DQogICBvZiB0aGUgaWZDYXBTdGFja1RhYmxlIGFuZCB0aGVyZWJ5 IGRldGVybWluZSB3aGljaCBpbnRlcmZhY2VzIGNhbiBiZQ0KICAgY29ubmVjdGVkIHRvIHJ1biBv biB0b3Agb2YgYSBwYXJ0aWN1bGFyIGludGVyZmFjZS4NCg0KMy4xLjIuICBQTUUgQWdncmVnYXRp b24gRnVuY3Rpb24gKFBBRikNCg0KICAgVGhlIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFG KSBhbGxvd3MgYSBudW1iZXIgb2YgUE1FcyB0byBiZQ0KICAgYWdncmVnYXRlZCBvbnRvIGEgUENT IHBvcnQsIGJ5IGZyYWdtZW50aW5nIHRoZSBFdGhlcm5ldCBmcmFtZXMsDQogICB0cmFuc21pdHRp bmcgdGhlIGZyYWdtZW50cyBvdmVyIG11bHRpcGxlIFBNRXMgYW5kIGFzc2VtYmxpbmcgdGhlDQog ICBvcmlnaW5hbCBmcmFtZXMgYXQgdGhlIHJlbW90ZSBwb3J0LiAgUEFGIGlzIE9QVElPTkFMLCBt ZWFuaW5nIHRoYXQgYQ0KICAgZGV2aWNlIHdpdGggYSBzaW5nbGUgUE1FIE1BWSBwZXJmb3JtIGZy YWdtZW50YXRpb24gYW5kIHJlLWFzc2VtYmx5IGlmDQogICB0aGlzIGZ1bmN0aW9uIGlzIHN1cHBv cnRlZCBieSB0aGUgZGV2aWNlLiAgTm90ZSBob3dldmVyIHRoYXQgdGhlDQogICBhZ2VudCBpcyBS RVFVSVJFRCB0byByZXBvcnQgb24gdGhlIFBBRiBjYXBhYmlsaXR5IGZvciBhbGwgRUZNQ3UgcG9y dHMNCiAgICgyQkFTRS1UTCBhbmQgMTBQQVNTLVRTKS4NCg0KICAgVGhlIEVGTS1DVS1NSUIgbW9k dWxlIGFsbG93cyBhIE5ldHdvcmsgTWFuYWdlbWVudCBhcHBsaWNhdGlvbiB0bw0KICAgcXVlcnkg UEFGIGNhcGFiaWxpdHkgYW5kIGVuYWJsZS9kaXNhYmxlIGl0IGlmIHN1cHBvcnRlZC4gIE5vdGUg dGhhdA0KICAgZW5hYmxpbmcgUEFGIGVmZmVjdGl2ZWx5IHR1cm5zIG9uIGZyYWdtZW50YXRpb24g YW5kIHJlLWFzc2VtYmx5LCBldmVuDQogICBvbiBhIHNpbmdsZS1QTUUgcG9ydC4NCg0KMy4xLjMu ICBEaXNjb3ZlcnkgT3BlcmF0aW9uDQoNCiAgIFRoZSBFRk1DdSBwb3J0cyBtYXkgb3B0aW9uYWxs eSBzdXBwb3J0IGRpc2NvdmVyeSBvcGVyYXRpb24sIHdoZXJlYnkNCiAgIFBNRXMsIGR1cmluZyBp bml0aWFsaXphdGlvbiwgZXhjaGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQgdGhlaXINCiAgIHJlc3Bl Y3RpdmUgYWdncmVnYXRpb24gZ3JvdXBzIChQQ1MpLiAgVGhpcyBpbmZvcm1hdGlvbiBjYW4gdGhl biBiZQ0KICAgdXNlZCB0byBkZXRlY3QgY29wcGVyIG1pc2Nvbm5lY3Rpb25zIG9yIGZvciBhbiBh dXRvbWF0aWMgYXNzaWdubWVudA0KICAgb2YgdGhlIGxvY2FsIFBNRXMgaW50byBhZ2dyZWdhdGlv biBncm91cHMgaW5zdGVhZCBvZiBhIGZpeGVkIHByZS0NCiAgIGNvbmZpZ3VyYXRpb24uDQoNCiAg IFRoZSBNSUIgbW9kdWxlcyBkZWZpbmVkIGluIHRoaXMgZG9jdW1lbnQgYWxsb3cgYSBOZXR3b3Jr IE1hbmFnZW1lbnQNCiAgIGFwcGxpY2F0aW9uIHRvIGNvbnRyb2wgRUZNIERpc2NvdmVyeSBtZWNo YW5pc20gYW5kIHF1ZXJ5IGl0cyByZXN1bHRzLg0KICAgTm90ZSB0aGF0IHRoZSBEaXNjb3Zlcnkg bWVjaGFuaXNtIGNhbiB3b3JrIG9ubHkgaWYgUEFGIGlzIHN1cHBvcnRlZA0KICAgYW5kIGVuYWJs ZWQuDQoNCiAgIFR3byB0YWJsZXMgYXJlIHVzZWQgYnkgdGhlIEVGTSBEaXNjb3ZlcnkgbWVjaGFu aXNtOiBpZlN0YWNrVGFibGUgYW5kDQogICBpZkNhcFN0YWNrVGFibGUuICBUaGUgZm9sbG93aW5n IHBzZXVkby1jb2RlIGdpdmVzIGFuIGV4YW1wbGUgb2YgdGhlDQogICBEaXNjb3ZlcnkgYW5kIGF1 dG9tYXRpYyBQTUUgYXNzaWdubWVudCBmb3IgYSBnZW5lcmljIFBBRiBlbmFibGVkDQoNCg0KDQpC ZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAg ICAgICAgW1BhZ2UgN10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJm YWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgIG11bHRpLVBDUyBFRk1D dSBkZXZpY2UsIGxvY2F0ZWQgYXQgQ2VudHJhbCBPZmZpY2UgKENPKSwgdXNpbmcgb2JqZWN0cw0K ICAgZGVmaW5lZCBpbiB0aGVzZSBNSUIgbW9kdWxlcyBhbmQgaW4gSUYtTUlCIFtOb3RlIHRoYXQg YXV0b21hdGljIFBNRQ0KICAgYXNzaWdubWVudCBpcyBvbmx5IHNob3duIGhlcmUgZm9yIHRoZSBw dXJwb3NlcyBvZiB0aGUgZXhhbXBsZS4gIEZpeGVkDQogICBQTUUgcHJlLWFzc2lnbm1lbnQsIG1h bnVhbCBhc3NpZ25tZW50IG9yIGF1dG8tYXNzaWdubWVudCB1c2luZyBhbg0KICAgYWx0ZXJuYXRp dmUgaW50ZXJuYWwgYWxnb3JpdGhtIG1heSBiZSBjaG9zZW4gYnkgYSBwYXJ0aWN1bGFyDQogICBp bXBsZW1lbnRhdGlvbl06DQoNCiAvLyBHbyBvdmVyIGFsbCBQQ1MgcG9ydHMgaW4gdGhlIENPIGRl dmljZQ0KIEZPUkVBQ0ggcGNzW2ldIElOIENPX2RldmljZQ0KIHsgLy8gUGVyZm9ybSBkaXNjb3Zl cnkgYW5kIGF1dG8tYXNzaWdubWVudCBvbmx5IG9uIFBBRiBlbmFibGVkIHBvcnRzDQogICAvLyB3 aXRoIHJvb20gZm9yIG1vcmUgUE1Fcw0KICAgSUYgKCBwY3NbaV0uUEFGU3VwcG9ydGVkIEFORCBw Y3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSApDQogICAgIHsgZGMgPSBwY3Nb aV0uRGlzY292ZXJ5Q29kZSA9IE1BQ1tpXTsgLy8gdW5pcXVlIDYtb2N0ZXRzIHBlciBQQ1MNCiAg ICAgICAvLyBHbyBvdmVyIGFsbCBkaXNjb25uZWN0ZWQgUE1Fcywgd2hpY2ggY2FuDQogICAgICAg Ly8gcG90ZW50aWFsbHkgYmUgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgICAgICBGT1JFQUNIIHBt ZVtqXSBJTiBpZkNhcFN0YWNrVGFibGVbcGNzW2ldXSBBTkQNCiAgICAgICAgICAgICAgICAgICAg ICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtqXV0gIC8vIG5vdCBjb25uZWN0ZWQNCiAgICAgICAg IHsgLy8gVHJ5IHRvIGdyYWIgdGhlIHJlbW90ZSBSVF9kZXZpY2UsIGJ5IHdyaXRpbmcgdGhlIHZh bHVlDQogICAgICAgICAgIC8vIG9mIHRoZSBsb2NhbCA2LW9jdGV0IGRpc2NvdmVyeSBjb2RlIHRv IHRoZSByZW1vdGUNCiAgICAgICAgICAgLy8gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgKHZpYSBo YW5kc2hha2UgbWVjaGFuaXNtKS4NCiAgICAgICAgICAgLy8gVGhpcyBvcGVyYXRpb24gaXMgYXRv bWljIFNldC1pZi1DbGVhciBhY3Rpb24sIGkuZS4gaXQNCiAgICAgICAgICAgLy8gd291bGQgc3Vj Y2VlZCBvbmx5IGlmIHRoZSByZW1vdGUgZGlzY292ZXJ5IHJlZ2lzdGVyIHdhcw0KICAgICAgICAg ICAvLyB6ZXJvLiBSZWFkIHRoZSByZW1vdGUgZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIgdmlhIEdl dA0KICAgICAgICAgICAvLyBvcGVyYXRpb24gdG8gc2VlIGlmIHRoZSBSVF9kZXZpY2UsIGF0dGFj aGVkIHZpYSB0aGUgUE1FDQogICAgICAgICAgIC8vIGlzIGluZGVlZCBtYXJrZWQgYXMgYmVpbmcg dGhlIENPX2RldmljZSBwZWVyLg0KICAgICAgICAgICBwbWVbal0uUmVtb3RlRGlzY292ZXJ5Q29k ZSA9IGRjOyAgICAgICAgLy8gU2V0LWlmLUNsZWFyDQogICAgICAgICAgIHIgPSBwbWVbal0uUmVt b3RlRGlzY292ZXJ5Q29kZTsgICAgICAgICAvLyBHZXQNCiAgICAgICAgICAgSUYgKCByID09IGRj IEFORCBwY3NbaV0uTnVtUE1FcyAmbHQ7IHBjc1tpXS5QQUZDYXBhY2l0eSkNCiAgICAgICAgICAg ICB7IC8vIFJlbW90ZSBSVF9kZXZpY2UgY29ubmVjdGVkIHZpYSBQTUVbal0gaXMvd2FzIGEgcGVl cg0KICAgICAgICAgICAgICAgLy8gZm9yIFBDU1tpXSBhbmQgdGhlcmUgaXMgcm9vbSBmb3IgYW5v dGhlciBQTUUgaW4gdGhlDQogICAgICAgICAgICAgICAvLyBQQ1NbaV0gYWdncmVnYXRpb24gZ3Jv dXAgKG1heC4gUEFGIGNhcGFjaXR5IGlzIG5vdA0KICAgICAgICAgICAgICAgLy8gcmVhY2hlZCB5 ZXQpLg0KICAgICAgICAgICAgICAgLy8gQ29ubmVjdCB0aGlzIFBNRSB0byB0aGUgUENTICh2aWEg aWZTdGFja1RhYmxlLA0KICAgICAgICAgICAgICAgLy8gaWZJbnZTdGFja1RhYmxlIGJlaW5nIGlu dmVyc2Ugb2YgaWZTdGFja1RhYmxlIGlzDQogICAgICAgICAgICAgICAvLyB1cGRhdGVkIGF1dG9t YXRpY2FsbHkpDQogICAgICAgICAgICAgICBBREQgcG1lW2pdIFRPIGlmU3RhY2tUYWJsZVtwY3Nb aV1dOw0KICAgICAgICAgICAgICAgICAvLyBwY3NbaV0gaXMgYXV0by1hZGRlZCB0byBpZkludlN0 YWNrVGFibGVbcG1lW2pdXQ0KICAgICAgICAgICAgICAgcGNzW2ldLk51bVBNRXMgPSBwY3NbaV0u TnVtUE1FcyArIDE7DQogICAgICAgICAgICAgICAvLyBEaXNjb3ZlciBhbGwgb3RoZXIgZGlzY29u bmVjdGVkIFBNRXMsDQogICAgICAgICAgICAgICAvLyBhdHRhY2hlZCB0byB0aGUgc2FtZSBSVF9k ZXZpY2UgYW5kIGNvbm5lY3QgdGhlbSB0bw0KICAgICAgICAgICAgICAgLy8gdGhlIFBDUyBwcm92 aWRlZCB0aGVyZSBpcyBlbm91Z2ggcm9vbSBmb3IgbW9yZSBQTUVzLg0KICAgICAgICAgICAgICAg Rk9SRUFDSCBwbWVba10gSU4gaWZDYXBTdGFja1RhYmxlW3Bjc1tpXV0gYW5kDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOT1QgaWZJbnZTdGFja1RhYmxlW3BtZVtrXV0NCiAgICAgICAg ICAgICAgICAgeyByID0gcG1lW2tdLlJlbW90ZURpc2NvdmVyeUNvZGU7IC8vIEdldA0KICAgICAg ICAgICAgICAgICAgIElGICggciA9PSBkYyBBTkQNCiAgICAgICAgICAgICAgICAgICAgICAgIHBj c1tpXS5OdW1QTUVzICZsdDsgcGNzW2ldLlBBRkNhcGFjaXR5KQ0KICAgICAgICAgICAgICAgICAg ICAgeyBBREQgcG1lW2tdIFRPIGlmU3RhY2tUYWJsZVtwY3NbaV1dOw0KICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIHBjc1tpXSBpcyBhZGRlZCBUTyBpZkludlN0YWNrVGFibGVbcG1lW2tdXQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgIFtQYWdlIDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg ICAgICAgICAgICAgIHBjc1tpXS5OdW1QTUVzID0gcGNzW2ldLk51bVBNRXMgKyAxOw0KICAgICAg ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfQ0KICAg ICAgICAgICAvLyBBdCB0aGlzIHBvaW50IHdlIGhhdmUgZGlzY292ZXJlZCBhbGwgbG9jYWwgUE1F cyB3aGljaA0KICAgICAgICAgICAvLyBhcmUgcGh5c2ljYWxseSBjb25uZWN0ZWQgdG8gdGhlIHNh bWUgcmVtb3RlIFJUX2RldmljZQ0KICAgICAgICAgICAvLyBhbmQgY29ubmVjdGVkIHRoZW0gdG8g UENTW2ldLiBHbyB0byB0aGUgbmV4dCBQQ1MuDQogICAgICAgICAgIEJSRUFLOw0KICAgICAgICAg fQ0KICAgICB9DQogfQ0KDQogICBBbiBTTk1QIEFnZW50IGZvciBhIEVGTUN1IGRldmljZSBidWls ZHMgaWZDYXBTdGFja1RhYmxlIGFuZCBpdHMNCiAgIGludmVyc2UgaWZJbnZDYXBTdGFja1RhYmxl IGFjY29yZGluZyB0byB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluDQogICB0aGUgQ2xhdXNl IDQ1IFBNRV9BdmFpbGFibGVfcmVnaXN0ZXIgKHNlZSBbODAyLjNhaF0gNjEuMS41LjMgYW5kDQog ICA0NS4yLjMuMjApLg0KDQogICBBZGRpbmcgYSBQTUUgdG8gdGhlIGlmU3RhY2tUYWJsZSByb3cg Zm9yIGEgc3BlY2lmaWMgUENTLCBpbnZvbHZlcw0KICAgYWN0dWFsIGNvbm5lY3Rpb24gb2YgdGhl IFBNRSB0byB0aGUgUENTLCB3aGljaCBjYW4gYmUgZG9uZSBieQ0KICAgbW9kaWZ5aW5nIENsYXVz ZSA0NSBQTUVfQWdncmVnYXRlX3JlZ2lzdGVyIChzZWUgWzgwMi4zYWhdIDYxLjEuNS4zDQogICBh bmQgNDUuMi4zLjIxKS4NCg0KICAgTm90ZSB0aGF0IFBDUyBwb3J0IGRvZXMgbm90IGhhdmUgdG8g YmUgb3BlcmF0aW9uYWxseSAnZG93bicgZm9yIHRoZQ0KICAgY29ubmVjdGlvbiB0byBzdWNjZWVk LiAgSW4gZmFjdCwgYSBkeW5hbWljIFBNRSBhZGRpdGlvbiAoYW5kIHJlbW92YWwpDQogICBNQVkg YmUgaW1wbGVtZW50ZWQgd2l0aCBhbiBhdmFpbGFibGUgUE1FIGJlaW5nIGluaXRpYWxpemVkIGZp cnN0IChieQ0KICAgc2V0dGluZyBpdHMgaWZBZG1pblN0YXR1cyB0byAndXAnKSBhbmQgdGhlbiBh ZGRlZCB0byBhbiBvcGVyYXRpb25hbGx5DQogICAndXAnIFBDUyBwb3J0LCBieSBtb2RpZnlpbmcg YSByZXNwZWN0aXZlIGlmU3RhY2tUYWJsZSAoYW5kIHJlc3BlY3RpdmUNCiAgIGlmSW52U3RhY2tU YWJsZSkgZW50cnkuDQoNCiAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSByZW1vdmFsIG9mIHRo ZSBsYXN0IG9wZXJhdGlvbmFsbHkgJ3VwJyBQTUUNCiAgIGZyb20gYW4gb3BlcmF0aW9uYWxseSAn dXAnIFBDUyB3b3VsZCBiZSByZWplY3RlZCBieSB0aGUNCiAgIGltcGxlbWVudGF0aW9uLCBhcyB0 aGlzIGFjdGlvbiB3b3VsZCBjb21wbGV0ZWx5IGRyb3AgdGhlIGxpbmsuDQoNCjMuMS40LiAgRUZN Q3UgcG9ydHMgaW5pdGlhbGl6YXRpb24NCg0KICAgRUZNQ3UgcG9ydHMgYmVpbmcgYnVpbHQgb24g dG9wIG9mIHhEU0wgdGVjaG5vbG9neSwgcmVxdWlyZSBhIGxlbmd0aHkNCiAgIGluaXRpYWxpemF0 aW9uIG9yICd0cmFpbmluZycgcHJvY2VzcywgYmVmb3JlIGFueSBkYXRhIGNhbiBwYXNzLg0KICAg RHVyaW5nIHRoaXMgaW5pdGlhbGl6YXRpb24gYm90aCBlbmRzIG9mIGEgbGluayAocGVlcnMpIHdv cmsNCiAgIGNvb3BlcmF0aXZlbHkgdG8gYWNoaWV2ZSByZXF1aXJlZCBkYXRhIHJhdGUgb24gYSBw YXJ0aWN1bGFyIGNvcHBlcg0KICAgcGFpci4gIFNvbWV0aW1lcywgd2hlbiB0aGUgY29wcGVyIGxp bmUgaXMgdG9vIGxvbmcgb3IgdGhlIG5vaXNlIG9uDQogICB0aGUgbGluZSBpcyB0b28gaGlnaCwg dGhhdCAndHJhaW5pbmcnIHByb2Nlc3MgbWF5IGZhaWwgdG8gYWNoaWV2ZSBhDQogICBzcGVjaWZp YyB0YXJnZXQgcmF0ZSB3aXRoIHJlcXVpcmVkIGNoYXJhY3RlcmlzdGljcy4NCg0KICAgVGhlIGlm QWRtaW5TdGF0dXMgb2JqZWN0IGZyb20gdGhlIElGLU1JQiwgY29udHJvbHMgdGhlIGRlc2lyZWQg c3RhdGUNCiAgIG9mIGEgUENTIHdpdGggYWxsIHRoZSBQTUVzIGNvbm5lY3RlZCB0byBpdCBvciBv ZiBhbiBpbmRpdmlkdWFsIFBNRQ0KICAgcG9ydC4gIFNldHRpbmcgdGhpcyBvYmplY3QgdG8gJ3Vw JyBpbnN0cnVjdHMgYSBwYXJ0aWN1bGFyIFBDUyBvciBQTUUNCiAgIHRvIHN0YXJ0IGluaXRpYWxp emF0aW9uIHByb2Nlc3MsIHdoaWNoIG1heSB0YWtlIHRlbnMgb2Ygc2Vjb25kcyBmb3INCiAgIEVG TUN1IHBvcnRzLCBlc3BlY2lhbGx5IGlmIFBBRiBpcyBpbnZvbHZlZC4gIFRoZSBpZk9wZXJTdGF0 dXMgb2JqZWN0DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICAgW1BhZ2UgOV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgIHNob3dzIHRoZSBvcGVyYXRpb25hbCBzdGF0ZSBvZiBhbiBpbnRlcmZhY2UgKGV4dGVuZGVk IGJ5DQogICBpZk1hdU1lZGlhQXZhaWxhYmxlIG9iamVjdCBmcm9tIE1BVS1NSUIgZm9yIFBDUyBh bmQNCiAgIGVmbUN1UG1lT3BlclN0YXR1cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVs ZSBmb3IgUE1FDQogICBpbnRlcmZhY2VzKS4NCg0KICAgQSBkaXNjb25uZWN0ZWQgUE1FIG1heSBi ZSBpbml0aWFsaXplZCBieSBjaGFuZ2luZyB0aGUgaWZBZG1pblN0YXRlDQogICBmcm9tICdkb3du JyB0byAndXAnLiAgQ2hhbmdpbmcgdGhlIGlmQWRtaW5TdGF0ZSB0byAndXAnIG9uIHRoZSBQQ1MN CiAgIGluaXRpYWxpemVzIGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGF0IHBhcnRpY3VsYXIgUENT LiAgTm90ZSB0aGF0IGluDQogICBjYXNlIG9mIFBBRiBzb21lIGludGVyZmFjZXMgbWF5IGZhaWwg dG8gaW5pdGlhbGl6ZSB3aGlsZSBvdGhlcnMNCiAgIHN1Y2NlZWQuICBUaGUgUENTIGlzIGNvbnNp ZGVyZWQgb3BlcmF0aW9uYWxseSAndXAnIGlmIGF0IGxlYXN0IG9uZQ0KICAgUE1FIGFnZ3JlZ2F0 ZWQgYnkgaXRzIFBBRiBpcyBvcGVyYXRpb25hbGx5ICd1cCcuICBXaGVuIGFsbCBQTUVzDQogICBj b25uZWN0ZWQgdG8gdGhlIFBDUyBhcmUgJ2Rvd24nIHRoZSBQQ1MgU0hBTEwgYmUgY29uc2lkZXJl ZA0KICAgb3BlcmF0aW9uYWxseSAnbG93ZXJMYXllckRvd24nLiAgVGhlIFBDUyBTSEFMTCBiZSBj b25zaWRlcmVkDQogICBvcGVyYXRpb25hbGx5ICdub3RQcmVzZW50JyBpZiBpdCBpcyBub3QgY29u bmVjdGVkIHRvIGFueSBQTUUuICBUaGUNCiAgIFBDUy9QTUUgaW50ZXJmYWNlIFNIQUxMIHJlbWFp biBvcGVyYXRpb25hbGx5ICdkb3duJyBkdXJpbmcNCiAgIGluaXRpYWxpemF0aW9uLg0KDQogICBU aGUgZWZtQ3VQbWVPcGVyU3RhdHVzIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlIGV4 cGFuZHMgUE1FJ3MNCiAgIGlmT3BlclN0YXR1cyB2YWx1ZSBvZiAnZG93bicgdG8gJ2Rvd25SZWFk eScsICdkb3duTm90UmVhZHknIGFuZA0KICAgJ2luaXQnIHZhbHVlcywgaW5kaWNhdGluZyB2YXJp b3VzIEVGTUN1IFBNRSBzcGVjaWZpYyBzdGF0ZXMuDQoNCjMuMS41LiAgVXNhZ2Ugb2YgaWZUYWJs ZQ0KDQogICBCb3RoIFBNRSBhbmQgUENTIGludGVyZmFjZXMgb2YgdGhlIEVGTUN1IFBIWSBhcmUg bWFuYWdlZCB1c2luZw0KICAgaW50ZXJmYWNlIHNwZWNpZmljIG1hbmFnZW1lbnQgb2JqZWN0cyBk ZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCDQogICBtb2R1bGUgYW5kIGdlbmVyaWMgaW50ZXJmYWNl IG9iamVjdHMgZnJvbSB0aGUgaWZUYWJsZSBvZiBJRi1NSUIsIHdpdGgNCiAgIGFsbCBtYW5hZ2Vt ZW50IHRhYmxlIGVudHJpZXMgcmVmZXJlbmNlZCBieSB0aGUgaW50ZXJmYWNlIGluZGV4DQogICBp ZkluZGV4Lg0KDQogICBUaGUgZm9sbG93aW5nIHRhYmxlIHN1bW1hcml6ZXMgRUZNQ3Ugc3BlY2lm aWMgaW50ZXJwcmV0YXRpb25zIGZvcg0KICAgc29tZSBvZiB0aGUgaWZUYWJsZSBvYmplY3RzIHNw ZWNpZmllZCBpbiB0aGUgbWFuZGF0b3J5DQogICBpZkdlbmVyYWxJbmZvcm1hdGlvbkdyb3VwOg0K DQogICArLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgSUYtTUlCIG9iamVjdCB8IEVGTUN1IGludGVycHJldGF0 aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8 IGlmSW5kZXggICAgICAgfCBJbnRlcmZhY2UgaW5kZXguIE5vdGUgdGhhdCBlYWNoIFBNRSBhbmQg ZWFjaCBQQ1MgIHwNCiAgIHwgICAgICAgICAgICAgICB8IGluIHRoZSBFRk1DdSBQSFkgTVVTVCBo YXZlIGEgdW5pcXVlIGluZGV4LCBhcyAgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgdGhlcmUg YXJlIHNvbWUgUENTIGFuZCBQTUUgc3BlY2lmaWMgYXR0cmlidXRlcyAgICB8DQogICB8ICAgICAg ICAgICAgICAgfCBhY2Nlc3NpYmxlIG9ubHkgb24gdGhlIFBDUyBvciBQTUUgbGV2ZWwuICAgICAg ICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlR5cGUgICAgICAgIHwgZXRoZXJuZXRDc21h Y2QoNikgZm9yIFBDUywgc2hkc2woMTY5KSBmb3IgICAgICAgICB8DQogICB8ICAgICAgICAgICAg ICAgfCAyQkFTRS1UTCBQTUUsIHZkc2woOTcpIGZvciAxMFBBU1MtVFMgUE1FICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KDQoNCg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZlNwZWVkICAgICAgIHwgT3Bl cmF0aW5nIGRhdGEgcmF0ZSBmb3IgdGhlIFBNRS4gRm9yIHRoZSBQQ1MgaXQgICB8DQogICB8ICAg ICAgICAgICAgICAgfCBpcyB0aGUgc3VtIG9mIHRoZSBjdXJyZW50IG9wZXJhdGluZyBkYXRhIHJh dGVzIG9mIHwNCiAgIHwgICAgICAgICAgICAgICB8IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlv biBncm91cCwgd2l0aG91dCB0aGUgICAgfA0KICAgfCAgICAgICAgICAgICAgIHwgNjQvNjVCIGVu Y2Fwc3VsYXRpb24gb3ZlcmhlYWQgYW5kIFBBRiBvdmVyaGVhZCwgICB8DQogICB8ICAgICAgICAg ICAgICAgfCBidXQgYWNjb3VudGluZyBmb3IgdGhlIEludGVyLUZyYW1lIEdhcHMgKElGRykgICAg IHwNCiAgICstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBpZkFkbWluU3RhdHVzIHwgU2V0dGluZyB0aGlzIG9i amVjdCB0byAndXAnIGluc3RydWN0cyBhICAgICAgICAgICB8DQogICB8ICAgICAgICAgICAgICAg fCBwYXJ0aWN1bGFyIFBDUyAod2l0aCBhbGwgUE1FcyBjb25uZWN0ZWQgdG8gaXQpIG9yIHwNCiAg IHwgICAgICAgICAgICAgICB8IFBNRSB0byBzdGFydCBpbml0aWFsaXphdGlvbiBwcm9jZXNzICAg ICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGlmT3BlclN0YXR1cyAgfCBlZm1D dVBtZU9wZXJTdGF0dXMgc3VwcGxlbWVudHMgdGhlICdkb3duJyB2YWx1ZSAgIHwNCiAgIHwgICAg ICAgICAgICAgICB8IG9mIGlmT3BlclN0YXR1cyBmb3IgUE1Fcy4gICAgICAgICAgICAgICAgICAg ICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoNCiAgICAgICAgICAgICAgVGFibGUgMTogRUZNQ3Ug aW50ZXJwcmV0YXRpb24gb2YgSUYtTUlCIG9iamVjdHMNCg0KMy4yLiAgUmVsYXRpb24gdG8gU0hE U0wgTUlCIG1vZHVsZQ0KDQogICBHLlNIRFNMLmJpcyBtb2RlbXMsIHNpbWlsYXIgdG8gUE1FKHMp IGNvbXByaXNpbmcgYSAyQkFTRS1UTCBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBIRFNMMi1T SERTTC1MSU5FLU1JQiBbUkZDNDMxOV0uICBOb3RlIHRoYXQgbm90IGFsbA0KICAgYXR0cmlidXRl cyBvZiBHLlNIRFNMIG1vZGVtcyByZWZsZWN0ZWQgaW4gSERTTDItU0hEU0wtTElORS1NSUIgaGF2 ZQ0KICAgYWRlcXVhdGUgbWFuYWdlbWVudCBvYmplY3RzIChDbGF1c2UgMzAgYXR0cmlidXRlcyBh bmQgQ2xhdXNlIDQ1DQogICByZWdpc3RlcnMpIGluIHRoZSBFRk0gc3RhbmRhcmQuDQoNCiAgIEJl Y2F1c2Ugb2YgdGhlc2UgZGlmZmVyZW5jZXMgYW5kIGZvciB0aGUgcHVycG9zZXMgb2Ygc2ltcGxp Y2l0eSwNCiAgIHVuaWZpY2F0aW9uIG9mIGF0dHJpYnV0ZXMgY29tbW9uIHRvIGJvdGggMkJBU0Ut VEwgYW5kIDEwUEFTUy1UUyBQTUVzDQogICBhbmQgbmFtZSBjb25zaXN0ZW5jeSAoZS5nLiBwcmVm aXhpbmcgdGhlIDJCQVNFLVRMIFBNRSByZWxhdGVkIG9iamVjdHMNCiAgIHdpdGggJ2VmbUN1UG1l MkInIGluc3RlYWQgb2YgJ2hkc2wyc2hkc2wnKSwgaXQgd2FzIGRlY2lkZWQgbm90IHRvDQogICBy ZWZlcmVuY2UgSERTTDItU0hEU0wtTElORS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhl IHJlbGV2YW50DQogICBvYmplY3RzIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZS4NCg0KICAgSG93 ZXZlciwgaWYgc29tZSBmdW5jdGlvbmFsaXR5LCBub3QgYXZhaWxhYmxlIGluIHRoZSBFRk0tQ1Ut TUlCDQogICBtb2R1bGUsIGlzIHJlcXVpcmVkIGFuZCBzdXBwb3J0ZWQgYnkgdGhlIFBNRSwgZS5n LiBwZXJmb3JtYW5jZQ0KICAgbW9uaXRvcmluZywgcmVsZXZhbnQgSERTTDItU0hEU0wtTElORS1N SUIgZ3JvdXBzIE1BWSBiZSBpbmNsdWRlZCBhbmQNCiAgIGFwcGxpZWQgZm9yIFBNRXMgb2YgMkJB U0UtVEwgc3VidHlwZS4NCg0KMy4zLiAgUmVsYXRpb24gdG8gVkRTTCBNSUIgbW9kdWxlDQoNCiAg IFZEU0wgbW9kZW1zLCBzaW1pbGFyIHRvIHRoZSBQTUUocykgY29tcHJpc2luZyBhIDEwUEFTUy1U UyBwb3J0LCBhcmUNCiAgIGRlc2NyaWJlZCBpbiBWRFNMLUxJTkUtRVhULU1DTS1NSUIgW1JGQzQw NzBdLiAgTm90ZSB0aGF0IG5vdCBhbGwNCiAgIGF0dHJpYnV0ZXMgb2YgVkRTTCBtb2RlbXMgcmVm bGVjdGVkIGluIFZEU0wtTElORS1FWFQtTUNNLU1JQiBoYXZlDQogICBhZGVxdWF0ZSBtYW5hZ2Vt ZW50IG9iamVjdHMgKENsYXVzZSAzMCBhdHRyaWJ1dGVzIGFuZCBDbGF1c2UgNDUNCiAgIHJlZ2lz dGVycykgaW4gdGhlIEVGTSBzdGFuZGFyZC4NCg0KICAgQmVjYXVzZSBvZiB0aGVzZSBkaWZmZXJl bmNlcyBhbmQgZm9yIHRoZSBwdXJwb3NlcyBvZiBzaW1wbGljaXR5LA0KICAgdW5pZmljYXRpb24g b2YgYXR0cmlidXRlcyBjb21tb24gdG8gYm90aCAyQkFTRS1UTCBhbmQgMTBQQVNTLVRTIFBNRXMN CiAgIGFuZCBuYW1lIGNvbnNpc3RlbmN5LCBpdCB3YXMgZGVjaWRlZCBub3QgdG8gcmVmZXJlbmNl IFZEU0wtTElORS1FWFQtDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxMV0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgIE1DTS1NSUIgb2JqZWN0cywgYnV0IGRlZmluZSBhbGwgdGhlIHJlbGV2YW50IG9i amVjdHMgaW4gdGhlIEVGTS1DVS0NCiAgIE1JQiBtb2R1bGUuDQoNCiAgIEhvd2V2ZXIsIGlmIHNv bWUgZnVuY3Rpb25hbGl0eSwgbm90IGF2YWlsYWJsZSBpbiB0aGUgRUZNLUNVLU1JQg0KICAgbW9k dWxlLCBpcyByZXF1aXJlZCBhbmQgc3VwcG9ydGVkIGJ5IHRoZSBQTUUsIHJlbGV2YW50IFZEU0wt TElORS1FWFQtDQogICBNQ00tTUlCIGdyb3VwcyBNQVkgYmUgaW5jbHVkZWQgYW5kIGFwcGxpZWQg Zm9yIFBNRXMgb2YgMTBQQVNTLVRTDQogICBzdWJ0eXBlLg0KDQozLjQuICBSZWxhdGlvbiB0byBF dGhlcm5ldC1MaWtlIGFuZCBNQVUgTUlCIG1vZHVsZXMNCg0KICAgVGhlIGltcGxlbWVudGF0aW9u IG9mIEV0aGVyTGlrZS1NSUIgW1JGQzM2MzVdIGFuZCBNQVUtTUlCDQogICBbSS1ELmlldGYtaHVi bWliLXJmYzM2MzZiaXNdIGlzIFJFUVVJUkVEIGZvciB0aGUgRUZNQ3UgaW50ZXJmYWNlcy4NCg0K ICAgVHdvIG5ldyB2YWx1ZXMgb2YgaWZNYXVUeXBlIChPQkpFQ1QtSURFTlRJVElFUyBvZiBkb3Qz TWF1VHlwZSkgYW5kDQogICBjb3JyZXNwb25kaW5nIGJpdCBkZWZpbml0aW9ucyBvZiBpZk1hdVR5 cGVMaXN0Qml0cw0KICAgKElBTkFpZk1hdVR5cGVMaXN0Qml0cykgaGF2ZSBiZWVuIGRlZmluZWQg aW4gdGhlIElBTkEtTUFVLU1JQg0KICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSBmb3Ig dGhlIEVGTUN1IE1BVXM6DQoNCiAgIG8gIGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQgYjJCYXNlVEwg LSBmb3IgMkJBU0UtVEwgTUFVDQoNCiAgIG8gIGRvdDNNYXVUeXBlMTBQYXNzVFMgYW5kIGIxMFBh c3NUUyAtIGZvciAxMFBBU1MtVFMgTUFVDQoNCiAgIEFkZGl0aW9uYWxseSBJQU5BLU1BVS1NSUIg ZGVmaW5lcyB0d28gbmV3IHZhbHVlcyBvZg0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSwgYXMgYSB0 ZXh0dWFsIGNvbnZlbnRpb24gSUFOQWlmTWF1TWVkaWFBdmFpbGFibGUNCiAgIC0gYXZhaWxhYmxl UmVkdWNlZCBhbmQgcmVhZHksIHNwZWNpZmljYWxseSBmb3IgdGhlIEVGTUN1IHBvcnRzLiAgRHVl DQogICB0byB0aGUgUE1FIGFnZ3JlZ2F0aW9uLCB0aGUgRUZNQ3UgaW50ZXJwcmV0YXRpb24gb2Yg c29tZSBwb3NzaWJsZQ0KICAgaWZNYXVNZWRpYUF2YWlsYWJsZSB2YWx1ZXMgZGlmZmVycyBmcm9t IG90aGVyIE1BVXMgYXMgZm9sbG93czoNCg0KICAgbyAgdW5rbm93biAtIHRoZSBFRk1DdSBpbnRl cmZhY2UgKFBDUyB3aXRoIGNvbm5lY3RlZCBQTUVzKSBpcw0KICAgICAgaW5pdGlhbGl6aW5nDQoN CiAgIG8gIHJlYWR5IC0gdGhlIGludGVyZmFjZSBpcyBkb3duLCBhdCBsZWFzdCBvbmUgUE1FIGlu IHRoZSBhZ2dyZWdhdGlvbg0KICAgICAgZ3JvdXAgKGFsbCBQTUVzIGNvbm5lY3RlZCB0byB0aGUg UENTKSBpcyByZWFkeSBmb3IgaGFuZHNoYWtlDQoNCiAgIG8gIGF2YWlsYWJsZSAtIHRoZSBpbnRl cmZhY2UgaXMgdXAsIGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KICAgICAgYXJl IHVwDQoNCiAgIG8gIG5vdEF2YWlsYWJsZSAtIHRoZSBpbnRlcmZhY2UgaXMgZG93biwgYWxsIFBN RXMgaW4gdGhlIGFnZ3JlZ2F0aW9uDQogICAgICBncm91cCBhcmUgZG93biwgbm8gaGFuZHNoYWtl IHRvbmVzIGFyZSBkZXRlY3RlZCBieSBhbnkgUE1FDQoNCiAgIG8gIGF2YWlsYWJsZVJlZHVjZWQg LSB0aGUgaW50ZXJmYWNlIGlzIHVwLCBhIGxpbmsgZmF1bHQgaXMgZGV0ZWN0ZWQNCiAgICAgIGF0 IHRoZSByZWNlaXZlIGRpcmVjdGlvbiBieSBvbmUgb3IgbW9yZSBQTUVzIGluIHRoZSBhZ2dyZWdh dGlvbg0KICAgICAgZ3JvdXAsIGJ1dCBhdCBsZWFzdCBvbmUgUE1FIGlzIHVwDQoNCiAgIG8gIHBt ZExpbmtGYXVsdCAtIGEgbGluayBmYXVsdCBpcyBkZXRlY3RlZCBhdCB0aGUgcmVjZWl2ZSBkaXJl Y3Rpb24NCiAgICAgIGJ5IGFsbCBQTUVzIGluIHRoZSBhZ2dyZWdhdGlvbiBncm91cA0KDQogICBB cyBhbiBFdGhlckxpa2UgaW50ZXJmYWNlIGV2ZXJ5IEVGTUN1IHBvcnQgKGFuIGlmRW50cnkgcmVw cmVzZW50aW5nIGENCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDEyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoN Cg0KICAgY29uc29saWRhdGlvbiBvZiBMTEMsIE1BQyBhbmQgUENTIChzdWIpbGF5ZXJzKSBTSEFM TCByZXR1cm4gYW4gaWZUeXBlDQogICBvZiBldGhlcm5ldENzbWFjZCg2KS4gIFdoaWxlIG1vc3Qg b2YgdGhlIE1BVSBjaGFyYWN0ZXJpc3RpY3MgYXJlIG5vdA0KICAgYXBwbGljYWJsZSB0byB0aGUg RUZNQ3UgcG9ydHMgKG5vIGF1dG8tbmVnb3RpYXRpb24sIGZhbHNlIGNhcnJpZXJzIG9yDQogICBq YWJiZXIpLCB0aGV5IFNIQUxMIHJldHVybiBhbiBhcHByb3ByaWF0ZSBpZk1hdVR5cGUNCiAgIChk b3QzTWF1VHlwZTJCYXNlVEwgb3IgZG90M21hdVR5cGUxMFBhc3NUUykgaW4gb3JkZXIgdG8gZGly ZWN0IHRoZQ0KICAgbWFuYWdlbWVudCBzb2Z0d2FyZSB0byBsb29rIGluIHRoZSBFRk0tQ1UtTUlC IG1vZHVsZSBmb3IgdGhlIGRlc2lyZWQNCiAgIGluZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUgdGhl IGluZm9ybWF0aW9uIG9uIHRoZSBwYXJ0aWN1bGFyIEVGTUN1DQogICBmbGF2b3IgdGhhdCBhbiBF Rk1DdSBwb3J0IGlzIHJ1bm5pbmcgaXMgYXZhaWxhYmxlIGZyb20NCiAgIGVmbUN1T3BlclN1YlR5 cGUsIGRlZmluZWQgaW4gdGhlIEVGTS1DVS1NSUIgbW9kdWxlLg0KDQogICBTaW5jZSBFRk1DdSBQ TUVzIGFyZSBub3QgRXRoZXJMaWtlIGludGVyZmFjZXMsIHRoZXkgY2Fubm90IGJlDQogICBpbnN0 YW50aWF0ZWQgYXMgTUFVIGludGVyZmFjZSBvYmplY3RzLg0KDQoNCjQuICBNSUIgU3RydWN0dXJl DQoNCjQuMS4gIEVGTSBDb3BwZXIgTUlCIE92ZXJ2aWV3DQoNCiAgIFRoZSBtYWluIG1hbmFnZW1l bnQgb2JqZWN0cyBkZWZpbmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZSBhcmUNCiAgIHNwbGl0 IGludG8gMiBncm91cHM6DQoNCiAgIG8gIGVmbUN1UG9ydCAtIGNvbnRhaW5pbmcgb2JqZWN0cyBm b3IgY29uZmlndXJhdGlvbiwgY2FwYWJpbGl0aWVzLA0KICAgICAgc3RhdHVzIGFuZCBub3RpZmlj YXRpb25zLCBjb21tb24gdG8gYWxsIEVGTUN1IFBIWXMuDQoNCiAgIG8gIGVmbUN1UG1lIC0gY29u dGFpbmluZyBvYmplY3RzIGZvciBjb25maWd1cmF0aW9uLCBjYXBhYmlsaXRpZXMsDQogICAgICBz dGF0dXMgYW5kIG5vdGlmaWNhdGlvbnMgb2YgRUZNQ3UgUE1Fcy4NCg0KICAgVGhlIGVmbUN1UG1l IGdyb3VwIGluIHR1cm4gY29udGFpbnMgZWZtQ3VQbWUyQiBhbmQgZWZtQ3VQbWUxMFANCiAgIGdy b3Vwcywgd2hpY2ggZGVmaW5lIFBNRSBQcm9maWxlcyBzcGVjaWZpYyB0byAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTDQogICBQTUVzIHJlc3BlY3RpdmVseSwgYXMgd2VsbCBhcyBQTUUgc3BlY2lmaWMg c3RhdHVzIGluZm9ybWF0aW9uLg0KDQo0LjIuICBJbnRlcmZhY2Ugc3RhY2sgY2FwYWJpbGl0eSBN SUIgT3ZlcnZpZXcNCg0KICAgVGhlIElGLUNBUC1TVEFDSy1NSUIgbW9kdWxlIGNvbnRhaW5zIDIg dGFibGVzOg0KDQogICBvICBpZkNhcFN0YWNrVGFibGUgLSBjb250YWluaW5nIG9iamVjdHMgdGhh dCBkZWZpbmUgcG9zc2libGUNCiAgICAgIHJlbGF0aW9uc2hpcHMgYW1vbmcgdGhlIHN1Yi1sYXll cnMgb2YgYW4gaW50ZXJmYWNlIHdpdGggZmxleGlibGUNCiAgICAgIGNyb3NzLWNvbm5lY3QgKGNy b3NzLWNvbm5lY3QgY2FwYWJpbGl0eSkuDQoNCiAgIG8gIGlmSW52Q2FwU3RhY2tUYWJsZSAtIGFu IGludmVyc2Ugb2YgdGhlIGlmQ2Fwc3RhY2tUYWJsZS4NCg0KNC4zLiAgUE1FIFByb2ZpbGVzDQoN CiAgIFNpbmNlIGEgbWFuYWdlZCBub2RlIGNhbiBoYXZlIGEgbGFyZ2UgbnVtYmVyIG9mIEVGTUN1 IFBIWXMsDQogICBwcm92aXNpb25pbmcgZXZlcnkgcGFyYW1ldGVyIG9uIGV2ZXJ5IEVGTUN1IFBI WSBtYXkgYmVjb21lDQogICBidXJkZW5zb21lLiAgTW9yZW92ZXIsIG1vc3QgUE1FcyBhcmUgcHJv dmlzaW9uZWQgaWRlbnRpY2FsbHkgd2l0aCB0aGUNCiAgIHNhbWUgc2V0IG9mIHBhcmFtZXRlcnMu ICBUbyBzaW1wbGlmeSB0aGUgcHJvdmlzaW9uaW5nIHByb2Nlc3MsIHRoZQ0KICAgRUZNLUNVLU1J QiBtb2R1bGUgbWFrZXMgdXNlIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMsIHNpbWlsYXIgdG8N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDEzXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgSERTTDIt U0hEU0wtTElORS1NSUIgYW5kIFZEU0wtTElORS1FWFQtTUNNLU1JQi4gIEEgcHJvZmlsZSBpcyBh IHNldA0KICAgb2YgcGFyYW1ldGVycywgdXNlZCBlaXRoZXIgZm9yIGNvbmZpZ3VyYXRpb24gb3Ig cmVwcmVzZW50YXRpb24gb2YgYQ0KICAgUE1FLiAgVGhlIHNhbWUgcHJvZmlsZSBjYW4gYmUgc2hh cmVkIGJ5IG11bHRpcGxlIFBNRSBwb3J0cywgdXNpbmcgdGhlDQogICBzYW1lIGNvbmZpZ3VyYXRp b24uDQoNCiAgIFRoZSBQTUUgcHJvZmlsZXMgYXJlIGRlZmluZWQgaW4gZWZtQ3VQbWUyQlByb2Zp bGVUYWJsZSBhbmQNCiAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIGZvciAyQkFTRS1UTCBhbmQg MTBQQVNTLVRTIFBNRXMgcmVzcGVjdGl2ZWx5Lg0KICAgVGhlcmUgYXJlIDEyIHByZWRlZmluZWQg c3RhbmRhcmQgcHJvZmlsZXMgZm9yIDJCQVNFLVRMIGFuZCAyMg0KICAgc3RhbmRhcmQgcHJvZmls ZXMgZm9yIDEwUEFTUy1UUywgZGVmaW5lZCBpbiA4MDIuM2FoIGFuZCBkZWRpY2F0ZWQgZm9yDQog ICByYXBpZCBwcm92aXNpb25pbmcgb2YgRUZNQ3UgUEhZcyBpbiBtb3N0IHNjZW5hcmlvcy4gIElu IGFkZGl0aW9uIHRoZQ0KICAgRUZNLUNVLU1JQiBkZWZpbmVzIHR3byBhZGRpdGlvbmFsIHByZWRl ZmluZWQgcHJvZmlsZXMgZm9yICJiZXN0LQ0KICAgZWZmb3J0IiBwcm92aXNpb25pbmcgb2YgMkJB U0UtVEwgUE1Fcy4gIEFuIGFiaWxpdHkgdG8gZGVmaW5lIG5ldw0KICAgY29uZmlndXJhdGlvbiBw cm9maWxlcyBpcyBhbHNvIHByb3ZpZGVkIHRvIGFsbG93IGZvciBFRk1DdSBkZXBsb3ltZW50DQog ICB0YWlsb3JlZCB0byBzcGVjaWZpYyBjb3BwZXIgZW52aXJvbm1lbnQgYW5kIHNwZWN0cmFsIHJl Z3VsYXRpb25zLg0KDQogICBBIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gb3IgYWRtaW5pc3RyYXRp dmUgcHJvZmlsZSBpcyBhc3NpZ25lZCB0byBhDQogICBzcGVjaWZpYyBQTUUgdmlhIGVmbUN1UG1l QWRtaW5Qcm9maWxlIG9iamVjdC4gIElmDQogICBlZm1DdVBtZUFkbWluUHJvZmlsZSBpcyB6ZXJv LCB0aGVuIGVmbUN1QWRtaW5Qcm9maWxlIG9iamVjdCBvZiB0aGUNCiAgIFBDUyBwb3J0LCBjb25u ZWN0ZWQgdG8gdGhlIFBNRSwgZGV0ZXJtaW5lcyB0aGUgY29uZmlndXJhdGlvbiBwcm9maWxlDQog ICAob3IgYSBsaXN0IG9mIHBvc3NpYmxlIHByb2ZpbGVzKSBmb3IgdGhhdCBQTUUuICBUaGlzIG1l Y2hhbmlzbSBhbGxvd3MNCiAgIHRvIHNwZWNpZnkgYSBjb21tb24gcHJvZmlsZShzKSBmb3IgYWxs IFBNRXMgY29ubmVjdGVkIHRvIHRoZSBQQ1MNCiAgIHBvcnQsIHdpdGggYW4gYWJpbGl0eSB0byBj aGFuZ2UgaW5kaXZpZHVhbCBQTUUgcHJvZmlsZXMgYnkgc2V0dGluZw0KICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgb2JqZWN0LCB3aGljaCBvdmVyd3JpdGVzIHRoZSBwcm9maWxlIHNldCBieQ0KICAg ZWZtQ3VBZG1pblByb2ZpbGUuDQoNCiAgIEEgY3VycmVudCBvcGVyYXRpbmcgUE1FIHByb2ZpbGUg aXMgcG9pbnRlZCB0byBieSBlZm1DdVBtZU9wZXJQcm9maWxlDQogICBvYmplY3QuICBOb3RlIHRo YXQgdGhpcyBwcm9maWxlIGVudHJ5LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LA0KICAg dG8gcmVmbGVjdCBhY2hpZXZlZCBwYXJhbWV0ZXJzIGluIGFkYXB0aXZlIChub3QgZml4ZWQpDQog ICBpbml0aWFsaXphdGlvbi4NCg0KNC40LiAgTWFwcGluZyBvZiBJRUVFIDgwMi4zYWggTWFuYWdl ZCBPYmplY3RzDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyB0aGUgbWFwcGluZyBiZXR3ZWVu IHJlbGV2YW50IG1hbmFnZWQgb2JqZWN0cw0KICAgKGF0dHJpYnV0ZXMpIGRlZmluZWQgaW4gWzgw Mi4zYWhdIENsYXVzZSAzMCwgYW5kIG1hbmFnZWQgb2JqZWN0cw0KICAgZGVmaW5lZCBpbiB0aGlz IGRvY3VtZW50IGFuZCBpbiBhc3NvY2lhdGVkIE1JQiBtb2R1bGVzLCBpLmUuLCB0aGUgSUYtDQog ICBNSUIgW1JGQzI4NjNdLg0KDQogICBOb3RlIHRoYXQgbWFqb3JpdHkgb2YgdGhlIG9iamVjdHMg ZGVmaW5lZCBpbiB0aGUgRUZNLUNVLU1JQiBtb2R1bGUgZG8NCiAgIG5vdCBoYXZlIGRpcmVjdCBj b3VudGVycGFydHMgaW4gQ2xhdXNlIDMwIGFuZCBpbnN0ZWFkIHJlZmVyIHRvIENsYXVzZQ0KICAg NDUgcmVnaXN0ZXJzLg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDE0XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IElFRUUgODAyLjMgTWFu YWdlZCBPYmplY3QgICAgICAgfCBDb3JyZXNwb25kaW5nIFNOTVAgT2JqZWN0ICAgICAgIHwNCiAg ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KICAgfCBvTUFVIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKw0KICAgfCBhTUFVVHlwZSAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZNYXVUeXBl IChNQVUtTUlCKSAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYU1BVVR5cGVM aXN0ICAgICAgICAgICAgICAgICAgICB8IGlmTWF1VHlwZUxpc3RCaXRzIChNQVUtTUlCKSAgICAg fA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFNZWRpYUF2YWlsYWJsZSAgICAgICAgICAgICAgICAg fCBpZk1lZGlhQXZhaWxhYmxlIChNQVUtTUlCKSAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAg fCBvUEFGIC0gQmFzaWMgUGFja2FnZSAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8DQogICB8IChNYW5kYXRvcnkpICAgICAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFG SUQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgaWZJbmRleCAoSUYtTUlCKSAgICAgICAgICAg ICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBoeUVuZCAgICAgICAgICAgICAgICAgICAg ICAgICB8IGVmbUN1UGh5U2lkZSAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r DQogICB8IGFQSFlDdXJyZW50U3RhdHVzICAgICAgICAgICAgICAgfCBlZm1DdVN0YXR1cyAgICAg ICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUEFGU3VwcG9ydGVkICAg ICAgICAgICAgICAgICAgIHwgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICB8DQogICAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSsNCiAgIHwgb1BBRiAtIFBNRSBBZ2dyZWdhdGlvbiBQYWNrYWdlICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgfCAoT3B0aW9uYWwpICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsNCiAgIHwgYVBBRkFkbWluU3RhdGUgICAgICAgICAgICAgICAgICB8IGVmbUN1UEFGQWRt aW5TdGF0ZSAgICAgICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFMb2NhbFBBRkNh cGFjaXR5ICAgICAgICAgICAgICAgfCBlZm1DdVBBRkNhcGFjaXR5ICAgICAgICAgICAgICAgIHwN CiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhTG9jYWxQTUVBdmFpbGFibGUgICAgICAgICAgICAgIHwg aWZDYXBTdGFja1RhYmxlICAgICAgICAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwg YUxvY2FsUE1FQWdncmVnYXRlICAgICAgICAgICAgICB8IGlmU3RhY2tUYWJsZSAoSUYtTUlCKSAg ICAgICAgICAgfA0KICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQogICB8IGFSZW1vdGVQQUZTdXBwb3J0ZWQgICAg ICAgICAgICAgfCBlZm1DdVJlbW90ZVBBRlN1cHBvcnRlZCAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhUmVtb3RlUEFGQ2FwYWNpdHkgICAgICAgICAgICAgIHwgZWZtQ3VSZW1vdGVQ QUZDYXBhY2l0eSAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVJlbW90ZVBNRUFn Z3JlZ2F0ZSAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IG9QTUUgLSAxMFAvMkIgUGFja2FnZSAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCiAgIHwgKE1hbmRhdG9yeSkgICAgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFQTUVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBpZkluZGV4 IChJRi1NSUIpICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FQWRt aW5TdGF0ZSAgICAgICAgICAgICAgICAgIHwgaWZBZG1pblN0YXRlIChJRi1NSUIpICAgICAgICAg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRVN0YXR1cyAgICAgICAgICAgICAgICAgICAg ICB8IGVmbUN1UG1lU3RhdHVzICAgICAgICAgICAgICAgICAgfA0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICB8IGFQTUVTTlJNZ24gICAgICAgICAgICAg ICAgICAgICAgfCBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICAgIHwNCiAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKw0KICAgfCBhVENDb2RpbmdWaW9sYXRpb25zICAgICAgICAgICAgIHwgZWZtQ3VQbWVUQ0Nv ZGluZ0Vycm9ycyAgICAgICAgICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVRDQ1JDRXJyb3Jz ICAgICAgICAgICAgICAgICAgICB8IGVmbUN1UG1lVENDcmNFcnJvcnMgICAgICAgICAgICAgfA0K ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rDQogICB8IGFQcm9maWxlU2VsZWN0ICAgICAgICAgICAgICAgICAgfCBl Zm1DdUFkbWluUHJvZmlsZSwgICAgICAgICAgICAgIHwNCiAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IGVmbUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICAgfA0KICAgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQogICB8IGFPcGVyYXRpbmdQcm9maWxlICAgICAgICAgICAgICAgfCBlZm1DdVBt ZU9wZXJQcm9maWxlICAgICAgICAgICAgIHwNCiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KICAgfCBhUE1FRkVD Q29ycmVjdGVkQmxvY2tzICAgICAgICAgIHwgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3Mg ICB8DQogICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSsNCiAgIHwgYVBNRUZFQ1VuY29ycmVjdGFibGVCbG9ja3MgICAg ICB8IGVmbUN1UG1lMTBQRkVDVW5jb3JyZWN0ZWRCbG9ja3MgfA0KICAgKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQoN CiAgICAgICAgICAgICAgVGFibGUgMjogTWFwcGluZyBvZiBJRUVFIDgwMi4zIE1hbmFnZWQgT2Jq ZWN0cw0KDQoNCjUuICBJbnRlcmZhY2UgU3RhY2sgQ2FwYWJpbGl0eSBNSUIgRGVmaW5pdGlvbnMN Cg0KICAgSUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4NCg0KICAgICBJTVBP UlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTINCiAgICAgICAg IEZST00gU05NUHYyLVNNSSAgICAgICAgIC0tIFJGQyAyNTc4DQogICAgICAgVHJ1dGhWYWx1ZQ0K ICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAgICAgICBNT0RV TEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQDQogICAgICAgICBGUk9NIFNOTVB2Mi1DT05GICAg ICAgICAtLSBSRkMgMjU4MA0KICAgICAgIGlmU3RhY2tHcm91cDIsIGlmU3RhY2tIaWdoZXJMYXll ciwgaWZTdGFja0xvd2VyTGF5ZXINCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAgICAgIC0t IFJGQyAyODYzDQogICAgICAgaWZJbnZTdGFja0dyb3VwDQogICAgICAgICBGUk9NIElGLUlOVkVS VEVELVNUQUNLLU1JQiAtLSBSRkMgMjg2NA0KICAgICAgIDsNCg0KICAgICBpZkNhcFN0YWNrTUlC IE1PRFVMRS1JREVOVElUWQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0t IEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0IElu dGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCINCiAgICAgICBDT05UQUNULUlORk8N CiAgICAgICAgICJXRyBjaGFydGVyOg0KICAgICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0 bWwuY2hhcnRlcnMvaHVibWliLWNoYXJ0ZXIuaHRtbA0KDQogICAgICAgICBNYWlsaW5nIExpc3Rz Og0KICAgICAgICAgICBHZW5lcmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZw0KICAgICAg ICAgICBUbyBTdWJzY3JpYmU6IGh1Ym1pYi1yZXF1ZXN0QGlldGYub3JnDQogICAgICAgICAgIElu IEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MNCg0KDQoNCg0KQmVpbGkgICAgICAg ICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2Ug MTZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAg ICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVu DQogICAgICAgICBQb3N0YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFn ZW4gMzMNCiAgICAgICAgICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAg ICAgIE5ldGhlcmxhbmRzDQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAg ICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6 IEVkd2FyZCBCZWlsaQ0KICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAg ICAgICAgICAgICAgICAgMjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAg ICAgUGV0YWNoLVRpa3ZhIDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAg ICAgICAgICBUZWw6ICs5NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVp bGlAYWN0ZWxpcy5jb20iDQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmpl Y3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNjcmliZQ0KICAgICAgICAgY3Jv c3MtY29ubmVjdCBjYXBhYmlsaXRpZXMgb2Ygc3RhY2tlZCAobGF5ZXJlZCkgaW50ZXJmYWNlcywN CiAgICAgICAgIGNvbXBsZW1lbnRpbmcgaWZTdGFja1RhYmxlIGFuZCBpZkludlN0YWNrVGFibGUg ZGVmaW5lZCBpbg0KICAgICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1NSUIgcmVz cGVjdGl2ZWx5Lg0KDQogICAgICAgICBDb3B5cmlnaHQgKEMpIFRoZSBJRVRGIFRydXN0ICgyMDA3 KS4gIFRoaXMgdmVyc2lvbg0KICAgICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2Yg UkZDIFhYWFg7ICBzZWUgdGhlIFJGQw0KICAgICAgICAgaXRzZWxmIGZvciBmdWxsIGxlZ2FsIG5v dGljZXMuIg0KDQogICAgICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFy eSAyMSwgMjAwNw0KICAgICAgIERFU0NSSVBUSU9OICJJbml0aWFsIHZlcnNpb24sIHB1Ymxpc2hl ZCBhcyBSRkMgWFhYWC4iDQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGgg dGhlIGFjdHVhbCBSRkMgbnVtYmVyICYNCiAgICAgICAgIC0tIHJlbW92ZSB0aGlzIG5vdGUNCg0K ICAgICAgIDo6PSB7IG1pYi0yIFpaWiB9DQoNCiAgICAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBa Wlogd2l0aCBhIHJlYWwgT0lEIG9uY2UgaXQgaXMNCiAgICAgICAgIC0tIGFsbG9jYXRlZCAmIHJl bW92ZSB0aGlzIG5vdGUuDQoNCiAgICAgIC0tIFNlY3Rpb25zIG9mIHRoZSBtb2R1bGUNCiAgICAg IC0tIFN0cnVjdHVyZWQgYXMgcmVjb21tZW5kZWQgYnkgUkZDIDQxODEsIHNlZQ0KICAgICAgLS0g QXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQNCg0KICAgICAgaWZDYXBTdGFja09iamVj dHMgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIgMSB9DQoNCiAgICAg IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNr TUlCIDIgfQ0KDQogICAgICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQ0KDQogICAgICAtLQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMTddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAtLSBpZkNh cFN0YWNrVGFibGUgZ3JvdXANCiAgICAgIC0tDQoNCiAgICAgIGlmQ2FwU3RhY2tUYWJsZSAgT0JK RUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5 DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSwgbW9k ZWxlZCBhZnRlciBpZlN0YWNrVGFibGUgZnJvbSBJRi1NSUIsDQogICAgICAgICAgY29udGFpbnMg aW5mb3JtYXRpb24gb24gdGhlIHBvc3NpYmxlICdvbi10b3Atb2YnDQogICAgICAgICAgcmVsYXRp b25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5ldHdvcmsNCiAgICAg ICAgICBpbnRlcmZhY2VzIChhcyBvcHBvc2VkIHRvIGFjdHVhbCByZWxhdGlvbnNoaXBzIGRlc2Ny aWJlZCBpbg0KICAgICAgICAgIGlmU3RhY2tUYWJsZSkuIEluIHBhcnRpY3VsYXIsIGl0IGNvbnRh aW5zIGluZm9ybWF0aW9uIG9uDQogICAgICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyDQogICAgICAgICAgc3ViLWxheWVycywgYXMg ZGV0ZXJtaW5lZCBieSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkgb2YgdGhlDQogICAgICAgICAg ZGV2aWNlLCB3aGVyZSBlYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwg cm93DQogICAgICAgICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWIt bGF5ZXIgd2l0aCBpZkluZGV4DQogICAgICAgICAgdmFsdWUgeCBjYW4gYmUgY29ubmVjdGVkIHRv IHJ1biBvbiB0b3Agb2YgdGhlIHN1Yi1sYXllciB3aXRoDQogICAgICAgICAgaWZJbmRleCB2YWx1 ZSB5LCB0aGVuIHRoaXMgdGFibGUgY29udGFpbnM6DQoNCiAgICAgICAgICAgIGlmQ2FwU3RhY2tT dGF0dXMueC55PXRydWUNCg0KICAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55IHJvdyBkb2Vz IG5vdCBleGlzdCBpZiBpdCBpcyBpbXBvc3NpYmxlDQogICAgICAgICAgdG8gY29ubmVjdCBiZXR3 ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHkuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgZm9yIG1v c3Qgc3RhY2tlZCBpbnRlcmZhY2VzIChlLmcuIDJCQVNFLVRMKQ0KICAgICAgICAgIHRoZXJlJ3Mg YWx3YXlzIGF0IGxlYXN0IG9uZSBoaWdoZXItbGV2ZWwgaW50ZXJmYWNlIChlLmcuIFBDUw0KICAg ICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVsIGludGVyZmFjZSAoZS5nLiBQTUUpIGFu ZCBhdA0KICAgICAgICAgIGxlYXN0IG9uZSBsb3dlci1sZXZlbCBpbnRlcmZhY2UgZm9yIGVhY2gg aGlnaGVyLWxldmVsDQogICAgICAgICAgaW50ZXJmYWNlLCB0aGF0IGlzLCB0aGVyZSBpcyBhdCBs ZWFzdCBhIHNpbmdsZSByb3cgd2l0aCBhDQogICAgICAgICAgJ3RydWUnIHN0YXR1cyBmb3IgYW55 IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBkZXZpY2UgY2FwYWJpbGl0eSINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIklGLU1JQiwgaWZTdGFja1RhYmxlIg0KICAgICAgICA6Oj0geyBpZkNh cFN0YWNrT2JqZWN0cyAxIH0NCg0KICAgICAgaWZDYXBTdGFja0VudHJ5ICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJZkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJJbmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25z aGlwIGJldHdlZW4gdHdvDQogICAgICAgICAgc3ViLWxheWVycywgc3BlY2lmeWluZyB0aGF0IG9u ZSBzdWItbGF5ZXIgTUFZIHBvc3NpYmx5IHJ1bg0KICAgICAgICAgIG9uICd0b3AnIG9mIHRoZSBv dGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJlc3BvbmRzDQogICAgICAgICAgdG8g YSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNlIGluZGV4IGZvcg0KICAg ICAgICAgIGxvd2VyLSBhbmQgaGlnaGVyLWxheWVyIHJlc3BlY3RpdmVseSkuIg0KICAgICAgICBJ TkRFWCB7DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUs IDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAg ICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAg ICAgICAgICBpZlN0YWNrSGlnaGVyTGF5ZXIsDQogICAgICAgICAgaWZTdGFja0xvd2VyTGF5ZXIN CiAgICAgICAgfQ0KICAgICAgICA6Oj0geyBpZkNhcFN0YWNrVGFibGUgMSB9DQoNCiAgICAgIElm Q2FwU3RhY2tFbnRyeSA6Oj0gU0VRVUVOQ0Ugew0KICAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVz ICAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgIH0NCg0KICAgICAgaWZDYXBTdGFja1N0YXR1cyAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBNQVgt QUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGUgc3RhdHVzIG9mIHRoZSAnY3Jvc3MtY29ubmVjdCBj YXBhYmlsaXR5JyByZWxhdGlvbnNoaXANCiAgICAgICAgICBiZXR3ZWVuIHR3byBzdWItbGF5ZXJz LiBUaGUgZm9sbG93aW5nIHZhbHVlcyBjYW4gYmUgcmV0dXJuZWQ6DQogICAgICAgICAgICB0cnVl KDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGludGVyZmFjZSwNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkZW50aWZpZWQgYnkgdGhlIGlmU3RhY2tMb3dl ckxheWVyIE1BWQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgY29ubmVjdGVkIHRv IHJ1biAnYmVsb3cnIHRoZSBzdWItbGF5ZXINCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmU3RhY2tIaWdoZXJMYXllciBpbmRleC4NCiAgICAgICAgICAgIGZhbHNlKDIpICAgICAg ICAtIHRoZSBzdWItbGF5ZXIgaW50ZXJmYWNlcyBjYW5ub3QgYmUNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8NCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuYXZhaWxhYmlsaXR5IG9mIHRoZSBpbnRlcmZhY2UocyksIGUuZy4N CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uZSBvZiB0aGUgaW50ZXJmYWNlcyBpcyBs b2NhdGVkIG9uIGFuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dh YmxlIG1vZHVsZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBsb3dlci1sYXllciBpbnRlcmZhY2Ug YXZhaWxhYmlsaXR5IHBlciBoaWdoZXItbGF5ZXIsDQogICAgICAgICAgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJhaW5lZCBieQ0KICAgICAgICAgIG90aGVy IHBhcmFtZXRlcnMsIGZvciBleGFtcGxlIGJ5IHRoZSBhZ2dyZWdhdGlvbiBjYXBhY2l0eSBvZg0K ICAgICAgICAgIGEgaGlnaGVyLWxheWVyIGludGVyZmFjZSBvciBieSB0aGUgbG93ZXItbGF5ZXIg aW50ZXJmYWNlIGluDQogICAgICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFkeSBjb25uZWN0ZWQg dG8gYW5vdGhlciBoaWdoZXItbGF5ZXINCiAgICAgICAgICBpbnRlcmZhY2UuIEluIG9yZGVyIHRv IGVuc3VyZSB0aGF0IGEgcGFydGljdWxhciBzdWItbGF5ZXIgY2FuDQogICAgICAgICAgYmUgY29u bmVjdGVkIHRvIGFub3RoZXIgc3ViLWxheWVyLCBhbGwgcmVzcGVjdGl2ZSBvYmplY3RzDQogICAg ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yDQogICAgICAgICAgZm9yIEVGTUN1IGludGVyZmFjZXMpIFNIQUxMIGJlIGluc3Bl Y3RlZC4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3Rh Y2tTdGF0dXMsIGFzIGl0DQogICAgICAgICAgZGVzY3JpYmVzIGEgY3Jvc3MtY29ubmVjdCBjYXBh YmlsaXR5LiINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja0VudHJ5IDEgfQ0KDQogICAgICBpZklu dkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAgU0VRVUVO Q0UgT0YgSWZJbnZDYXBTdGFja0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vz c2libGUNCiAgICAgICAgU1RBVFVTICAgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlvbiBvbiB0aGUgcG9zc2li bGUgcmVsYXRpb25zaGlwcw0KICAgICAgICAgIGJldHdlZW4gdGhlIG11bHRpcGxlIHN1Yi1sYXll cnMgb2YgbmV0d29yayBpbnRlcmZhY2VzLiBUaGlzDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAxOV0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB0YWJsZSwgbW9kZWxlZCBhZnRlciBpZklu dlN0YWNrVGFibGUgZnJvbQ0KICAgICAgICAgIElGLUlOVkVSVEVELVNUQUNLLU1JQiwgaXMgYW4g aW52ZXJzZSBvZiB0aGUgaWZDYXBTdGFja1RhYmxlDQogICAgICAgICAgZGVmaW5lZCBpbiB0aGlz IE1JQiBtb2R1bGUuDQogICAgICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBjb250YWlu cyBpbmZvcm1hdGlvbiBvbiB3aGljaA0KICAgICAgICAgIHN1Yi1sYXllcnMgTUFZIHJ1biAndW5k ZXJuZWF0aCcgd2hpY2ggb3RoZXIgc3ViLWxheWVycywgd2hlcmUNCiAgICAgICAgICBlYWNoIHN1 Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwgcm93IGluIHRoZSBpZlRhYmxlLg0K ICAgICAgICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZh bHVlIHggTUFZIGJlDQogICAgICAgICAgY29ubmVjdGVkIHRvIHJ1biB1bmRlcm5lYXRoIHRoZSBz dWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlDQogICAgICAgICAgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOg0KDQogICAgICAgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cy54Lnk9dHJ1ZQ0K DQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBv ZiByb3dzIGFzIHRoZQ0KICAgICAgICAgIGlmQ2FwU3RhY2tUYWJsZSwgYnV0IHRoZSByb3dzIGFw cGVhciBpbiBhIGRpZmZlcmVudCBvcmRlci4NCg0KICAgICAgICAgIFRoaXMgdGFibGUgaXMgcmVh ZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNvbm5lY3QNCiAgICAgICAgICBjYXBhYmls aXR5LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJJRi1JTlZFUlRFRC1TVEFDSy1N SUIsIGlmSW52U3RhY2tUYWJsZSINCiAgICAgICAgOjo9IHsgaWZDYXBTdGFja09iamVjdHMgMiB9 DQoNCiAgICAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgICBJZkludkNhcFN0YWNrRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgICBub3QtYWNj ZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgIkluZm9ybWF0aW9uIG9uIGEgcGFydGljdWxhciByZWxhdGlvbnNoaXAg YmV0d2VlbiB0d28gc3ViLQ0KICAgICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUg c3ViLWxheWVyIE1BWSBydW4gdW5kZXJuZWF0aCB0aGUNCiAgICAgICAgICAgb3RoZXIgc3ViLWxh eWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNwb25kcyB0byBhIGNvbmNlcHR1YWwNCiAgICAgICAg ICAgcm93IGluIHRoZSBpZlRhYmxlLiINCiAgICAgICAgSU5ERVggeyBpZlN0YWNrTG93ZXJMYXll ciwgaWZTdGFja0hpZ2hlckxheWVyIH0NCiAgICAgICAgOjo9IHsgaWZJbnZDYXBTdGFja1RhYmxl IDEgfQ0KDQogICAgICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7DQogICAgICAg ICBpZkludkNhcFN0YWNrU3RhdHVzICAgICAgIFRydXRoVmFsdWUNCiAgICAgICB9DQoNCiAgICAg IGlmSW52Q2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgICAg IFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5DQogICAgICAgIFNU QVRVUyAgICAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgIlRo ZSBzdGF0dXMgb2YgdGhlIHBvc3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknDQogICAg ICAgICAgIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHR3byBzdWItbGF5ZXJzLg0KDQogICAgICAgICAg IEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0 aGUNCiAgICAgICAgICAgaWZDYXBTdGFja1N0YXR1cyBvYmplY3QsIGFuZCB2aWNlIHZlcnNhLiBG b3IgZXhhbXBsZSwgaWYgdGhlDQogICAgICAgICAgIHZhcmlhYmxlIGlmQ2FwU3RhY2tTdGF0dXMu SC5MIGV4aXN0cywgdGhlbiB0aGUgdmFyaWFibGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDIwXQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICBpZkludlN0YWNrU3RhdHVzLkwuSCBtdXN0 IGFsc28gZXhpc3QsIGFuZCB2aWNlIHZlcnNhLiAgSW4NCiAgICAgICAgICAgYWRkaXRpb24sIHRo ZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBzYW1lIHZhbHVlLg0KDQogICAgICAgICAg IFRoZSBpZkludlN0YWNrU3RhdHVzIG9iamVjdCBpcyByZWFkLW9ubHksIGFzIGl0IGRlc2NyaWJl cw0KICAgICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICAiaWZDYXBTdGFja1N0YXR1cyINCiAgICAgICAgOjo9IHsgaWZJbnZD YXBTdGFja0VudHJ5IDEgfQ0KDQogICAgIC0tDQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVu dHMNCiAgICAgLS0NCg0KICAgICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PQ0KICAgICAgICAgICB7IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAxIH0NCg0KICAgICAg aWZDYXBTdGFja0NvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PQ0KICAgICAgICAgICB7 IGlmQ2FwU3RhY2tDb25mb3JtYW5jZSAyIH0NCg0KICAgICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFu Y2UNCg0KICAgICAgaWZDYXBTdGFja0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RT IHsNCiAgICAgICAgICBpZkNhcFN0YWNrU3RhdHVzLA0KICAgICAgICAgIGlmSW52Q2FwU3RhY2tT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9y bWF0aW9uIG9uIHRoZQ0KICAgICAgICAgIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiBtdWx0 aS1sYXllciAoc3RhY2tlZCkgbmV0d29yaw0KICAgICAgICAgIGludGVyZmFjZXMuIg0KICAgICAg ICA6Oj0geyBpZkNhcFN0YWNrR3JvdXBzIDEgfQ0KDQoNCiAgICAgLS0gQ29tcGxpYW5jZSBTdGF0 ZW1lbnRzDQoNCiAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIE1PRFVMRS1DT01QTElBTkNFDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiVGhlIGNvbXBsaWFuY2Ugc3RhdGVtZW50IGZvciBTTk1QIGVudGl0aWVzLCB3aGljaCBwcm92 aWRlDQogICAgICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0 eSBvZiBtdWx0aS1sYXllcg0KICAgICAgICAgIChzdGFja2VkKSBuZXR3b3JrIGludGVyZmFjZXMs IHdpdGggZmxleGlibGUgY3Jvc3MtY29ubmVjdA0KICAgICAgICAgIGJldHdlZW4gdGhlIHN1Yi1s YXllcnMuIg0KDQoNCiAgICAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQ0KICAgICAgICAgIE1B TkRBVE9SWS1HUk9VUFMgew0KICAgICAgICAgICAgaWZDYXBTdGFja0dyb3VwDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAyMV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICB9DQoNCiAgICAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cw0KICAgICAgICAgIFNZTlRBWCAgICAg ICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yDQogICAg ICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUgaW50ZXJmYWNlcy4i DQoNCiAgICAgICAgICBPQkpFQ1QgICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cw0KICAgICAgICAg IFNZTlRBWCAgICAgICBUcnV0aFZhbHVlIHsgdHJ1ZSgxKSB9DQogICAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9O QUwgZm9yDQogICAgICAgICAgICBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBwbHVnZ2FibGUg aW50ZXJmYWNlcy4iDQoNCiAgICAgICAgTU9EVUxFICBJRi1NSUINCiAgICAgICAgICBNQU5EQVRP UlktR1JPVVBTIHsNCiAgICAgICAgICAgIGlmU3RhY2tHcm91cDINCiAgICAgICAgICB9DQoNCiAg ICAgICAgTU9EVUxFICBJRi1JTlZFUlRFRC1TVEFDSy1NSUINCiAgICAgICAgICBNQU5EQVRPUlkt R1JPVVBTIHsNCiAgICAgICAgICAgIGlmSW52U3RhY2tHcm91cA0KICAgICAgICAgIH0NCg0KICAg ICAgICA6Oj0geyBpZkNhcFN0YWNrQ29tcGxpYW5jZXMgMSB9DQogICBFTkQNCg0KDQo2LiAgRUZN IENvcHBlciBNSUIgRGVmaW5pdGlvbnMNCg0KICAgRUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0g QkVHSU4NCg0KICAgICBJTVBPUlRTDQogICAgICAgTU9EVUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQ RSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwNCiAgICAgICBVbnNpZ25lZDMyLCBDb3Vu dGVyMzIsIG1pYi0yDQogICAgICAgICBGUk9NIFNOTVB2Mi1TTUkgICAgICAgICAtLSBSRkMgMjU3 OA0KICAgICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVzLCBQaHlz QWRkcmVzcw0KICAgICAgICAgRlJPTSBTTk1QdjItVEMgICAgICAgICAgLS0gUkZDIDI1NzkNCiAg ICAgICBNT0RVTEUtQ09NUExJQU5DRSwgT0JKRUNULUdST1VQLCBOT1RJRklDQVRJT04tR1JPVVAN CiAgICAgICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwDQogICAgICAgU25t cEFkbWluU3RyaW5nDQogICAgICAgICBGUk9NIFNOTVAtRlJBTUVXT1JLLU1JQiAtLSBSRkMgMzQx MQ0KICAgICAgIGlmSW5kZXgsIGlmU3BlZWQNCiAgICAgICAgIEZST00gSUYtTUlCICAgICAgICAg ICAgIC0tIFJGQyAyODYzDQogICAgICAgOw0KDQogICAgIGVmbUN1TUlCIE1PRFVMRS1JREVOVElU WQ0KICAgICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAy MDA3DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIw MDcgICAgICAgICAgICAgICBbUGFnZSAyMl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAg RUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAg ICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBhbmQgSHViIE1JQiBXb3Jr aW5nIEdyb3VwIg0KICAgICAgIENPTlRBQ1QtSU5GTw0KICAgICAgICAgIldHIGNoYXJ0ZXI6DQog ICAgICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hhcnRl ci5odG1sDQoNCiAgICAgICAgIE1haWxpbmcgTGlzdHM6DQogICAgICAgICAgIEdlbmVyYWwgRGlz Y3Vzc2lvbjogaHVibWliQGlldGYub3JnDQogICAgICAgICAgIFRvIFN1YnNjcmliZTogaHVibWli LXJlcXVlc3RAaWV0Zi5vcmcNCiAgICAgICAgICAgSW4gQm9keTogc3Vic2NyaWJlIHlvdXJfZW1h aWxfYWRkcmVzcw0KDQogICAgICAgICBDaGFpcjogIEJlcnQgV2lqbmVuDQogICAgICAgICBQb3N0 YWw6IEFsY2F0ZWwtTHVjZW50DQogICAgICAgICAgICAgICAgIFNjaGFnZW4gMzMNCiAgICAgICAg ICAgICAgICAgMzQ2MSBHTCBMaW5zY2hvdGVuDQogICAgICAgICAgICAgICAgIE5ldGhlcmxhbmRz DQogICAgICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQ0KICAgICAgICAgRS1tYWlsOiBid2lq bmVuQGFsY2F0ZWwtbHVjZW50LmNvbQ0KDQogICAgICAgICBFZGl0b3I6IEVkd2FyZCBCZWlsaQ0K ICAgICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4NCiAgICAgICAgICAgICAgICAg MjUgQmF6ZWwgU3QuLCBQLk8uQi4gMTAxNzMNCiAgICAgICAgICAgICAgICAgUGV0YWNoLVRpa3Zh IDEwMTczDQogICAgICAgICAgICAgICAgIElzcmFlbA0KICAgICAgICAgICAgICAgICBUZWw6ICs5 NzItMy05MjQtMzQ5MQ0KICAgICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20i DQoNCiAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlC IG1vZHVsZSBhcmUgdXNlZCB0byBtYW5hZ2UNCiAgICAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUg Rmlyc3QgTWlsZSAoRUZNKSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzDQogICAgICAgICAyQkFT RS1UTCBhbmQgMTBQQVNTLVRTLCBkZWZpbmVkIGluIElFRUUgU3RkLiA4MDIuM2FoLTIwMDQsDQog ICAgICAgICB3aGljaCBpcyBub3cgYSBwYXJ0IG9mIElFRUUgU3RkLiA4MDIuMy0yMDA1Lg0KDQog ICAgICAgICBUaGUgZm9sbG93aW5nIHJlZmVyZW5jZXMgYXJlIHVzZWQgdGhyb3VnaG91dCB0aGlz IE1JQiBtb2R1bGU6DQoNCiAgICAgICAgIFs4MDIuM2FoXSByZWZlcnMgdG86DQogICAgICAgICAg IElFRUUgU3RkIDgwMi4zYWgtMjAwNDogJ0lFRUUgU3RhbmRhcmQgZm9yIEluZm9ybWF0aW9uDQog ICAgICAgICAgIHRlY2hub2xvZ3kgLSBUZWxlY29tbXVuaWNhdGlvbnMgYW5kIGluZm9ybWF0aW9u IGV4Y2hhbmdlDQogICAgICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2FsIGFuZCBtZXRyb3Bv bGl0YW4gYXJlYSBuZXR3b3JrcyAtDQogICAgICAgICAgIFNwZWNpZmljIHJlcXVpcmVtZW50cyAt DQogICAgICAgICAgIFBhcnQgMzogQ2FycmllciBTZW5zZSBNdWx0aXBsZSBBY2Nlc3Mgd2l0aCBD b2xsaXNpb24NCiAgICAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcg0KICAgICAgICAgICBTcGVjaWZpY2F0aW9ucyAtDQogICAgICAgICAg IEFtZW5kbWVudDogTWVkaWEgQWNjZXNzIENvbnRyb2wgUGFyYW1ldGVycywgUGh5c2ljYWwNCiAg ICAgICAgICAgTGF5ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIg QWNjZXNzDQogICAgICAgICAgIE5ldHdvcmtzJywgMDcgU2VwdGVtYmVyIDIwMDQuDQoNCiAgICAg ICAgIE9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGlu Zw0KICAgICAgICAgU3VibGF5ZXIgKFBDUykgYW5kIGNvbW1vbiBzcGVjaWZpY2F0aW9ucywgdHlw ZSAxMFBBU1MtVFMgYW5kDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyM10NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgIHR5cGUgMkJBU0UtVEwnLCBDbGF1c2UgMzAsICdNYW5hZ2VtZW50Jywg Q2xhdXNlIDQ1LA0KICAgICAgICAgJ01hbmFnZW1lbnQgRGF0YSBJbnB1dC9PdXRwdXQgKE1ESU8p IEludGVyZmFjZScsIEFubmV4IDYyQSwNCiAgICAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFT Uy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBwcm9maWxlcyBmb3INCiAgICAgICAgIDJCQVNFLVRM Jy4NCg0KICAgICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoNCiAgICAgICAgICAgSVRVLVQgUmVj b21tZW5kYXRpb24gRy45OTEuMjogJ1NpbmdsZS1wYWlyIEhpZ2gtc3BlZWQgRGlnaXRhbA0KICAg ICAgICAgICBTdWJzY3JpYmVyIExpbmUgKFNIRFNMKSB0cmFuc2NlaXZlcnMnLCBEZWNlbWJlciAy MDAzLg0KDQogICAgICAgICBbQU5GUF0gcmVmZXJzIHRvOg0KICAgICAgICAgICBOSUNDIERvY3Vt ZW50IE5EMTYwMjoyMDA1LzA4OiAnU3BlY2lmaWNhdGlvbiBvZiB0aGUgQWNjZXNzDQogICAgICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uDQogICAgICAgICAgIHN5c3RlbXMgdXNlZCBvbiB0aGUgQlQgQWNjZXNzIE5ldHdvcmssJyBB dWd1c3QgMjAwNS4NCg0KICAgICAgICAgTmFtaW5nIENvbnZlbnRpb25zOg0KICAgICAgICAgICBB dG4gICAtIEF0dGVudWF0aW9uDQogICAgICAgICAgIENPICAgIC0gQ2VudHJhbCBPZmZpY2UNCiAg ICAgICAgICAgQ1BFICAgLSBDdXN0b21lciBQcmVtaXNlcyBFcXVpcG1lbnQNCiAgICAgICAgICAg RUZNICAgLSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZQ0KICAgICAgICAgICBFRk1DdSAtIEVG TSBDb3BwZXINCiAgICAgICAgICAgTURJTyAgLSBNYW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0 DQogICAgICAgICAgIE1nbiAgIC0gTWFyZ2luDQogICAgICAgICAgIFBBRiAgIC0gUE1FIEFnZ3Jl Z2F0aW9uIEZ1bmN0aW9uDQogICAgICAgICAgIFBCTyAgIC0gUG93ZXIgQmFjay1PZmYNCiAgICAg ICAgICAgUENTICAgLSBQaHlzaWNhbCBDb2RpbmcgU3VibGF5ZXINCiAgICAgICAgICAgUE1EICAg LSBQaHlzaWNhbCBNZWRpdW0gRGVwZW5kZW50DQogICAgICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQ0KICAgICAgICAgICBQU0QgICAtIFBvd2VyIFNwZWN0cmFsIERlbnNpdHkN CiAgICAgICAgICAgU05SICAgLSBTaWduYWwgdG8gTm9pc2UgUmF0aW8NCiAgICAgICAgICAgVENQ QU0gLSBUcmVsbGlzIENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uDQoNCiAgICAgICAg IENvcHlyaWdodCAoQykgVGhlIElFVEYgVHJ1c3QgKDIwMDcpLiAgVGhpcyB2ZXJzaW9uDQogICAg ICAgICBvZiB0aGlzIE1JQiBtb2R1bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZD DQogICAgICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4iDQoNCiAgICAgICBSRVZJ U0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1YXJ5IDIxLCAyMDA3DQogICAgICAgREVT Q1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiINCg0KICAg ICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUgYWN0dWFsIFJGQyBudW1iZXIg Jg0KICAgICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQ0KDQogICAgICAgOjo9IHsgbWliLTIgWVlZ IH0NCg0KICAgICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFlZWSB3aXRoIGEgcmVhbCBPSUQgb25j ZSBpdCBpcw0KICAgICAgICAgLS0gYWxsb2NhdGVkICYgcmVtb3ZlIHRoaXMgbm90ZS4NCg0KICAg ICAgLS0gU2VjdGlvbnMgb2YgdGhlIG1vZHVsZQ0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNF0NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgIGVmbUN1T2JqZWN0cyAgICAgT0JKRUNUIElERU5U SUZJRVIgOjo9IHsgZWZtQ3VNSUIgMSB9DQoNCiAgICAgIGVmbUN1Q29uZm9ybWFuY2UgT0JKRUNU IElERU5USUZJRVIgOjo9IHsgZWZtQ3VNSUIgMiB9DQoNCiAgICAgIC0tIEdyb3VwcyBpbiB0aGUg bW9kdWxlDQoNCiAgICAgIGVmbUN1UG9ydCAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsg ZWZtQ3VPYmplY3RzIDEgfQ0KDQogICAgICBlZm1DdVBtZSAgICAgICAgIE9CSkVDVCBJREVOVElG SUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAyIH0NCg0KICAgICAgLS0gVGV4dHVhbCBDb252ZW50aW9u cw0KDQogICAgICBFZm1Qcm9maWxlSW5kZXggOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAg ICBESVNQTEFZLUhJTlQgImQiDQogICAgICAgIFNUQVRVUyAgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVhdGVyIHRoYW4gemVy bywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGluIHRoZSBt YW5hZ2VkIEVGTUN1IHBvcnQuIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQNCiAgICAgICAgICB2YWx1 ZXMgYXJlIGFzc2lnbmVkIGNvbnRpZ3VvdXNseSBzdGFydGluZyBmcm9tIDEuIFRoZSB2YWx1ZQ0K ICAgICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUNCiAgICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgZW50aXR5J3MgbmV0 d29yayBtYW5hZ2VtZW50IHN5c3RlbQ0KICAgICAgICAgIHRvIHRoZSBuZXh0IHJlLWluaXRpYWxp emF0aW9uLiINCiAgICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkNCg0KICAg ICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvIDo6PSBURVhUVUFMLUNPTlZFTlRJT04NCiAgICAgICAg RElTUExBWS1ISU5UICJkIg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBE RVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiBpcyBhbiBleHRl bnNpb24gb2YgRWZtUHJvZmlsZUluZGV4DQogICAgICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRl ciBkZWZpbmVzIGEgZ3JlYXRlciB0aGFuIHplcm8gdmFsdWUgdXNlZA0KICAgICAgICAgIHRvIGlk ZW50aWZ5IGEgUE1FIHByb2ZpbGUgaW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gVGhpcw0KICAg ICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVlIG9mIHplcm8uIFRo ZSB2YWx1ZSBvZg0KICAgICAgICAgIHplcm8gaXMgb2JqZWN0LXNwZWNpZmljIGFuZCBNVVNUIHRo ZXJlZm9yZSBiZSBkZWZpbmVkIGFzIHBhcnQNCiAgICAgICAgICBvZiB0aGUgZGVzY3JpcHRpb24g b2YgYW55IG9iamVjdCB3aGljaCB1c2VzIHRoaXMgc3ludGF4Lg0KICAgICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucw0KICAg ICAgICAgIHdoZXJlIGN1cnJlbnQgb3BlcmF0aW9uYWwgcHJvZmlsZSBpcyB1bmtub3duLiINCiAg ICAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDAuLjI1NSkNCg0KICAgICAgRWZtUHJvZmls ZUluZGV4TGlzdCA6Oj0gVEVYVFVBTC1DT05WRU5USU9ODQogICAgICAgIERJU1BMQVktSElOVCAi MWQ6Ig0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlvbiByZXByZXNlbnRzIGEgbGlzdCBvZiB1 cCB0byA2DQogICAgICAgICAgRWZtUHJvZmlsZUluZGV4J3MsIGFueSBvZiB3aGljaCBjYW4gYmUg Y2hvc2VuIGZvcg0KICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb2YgYW4gUE1FIGluIGEgbWFuYWdl ZCBFRk1DdSBwb3J0Lg0KICAgICAgICAgIFRoZSBFZm1Qcm9maWxlSW5kZXggdGV4dHVhbCBjb252 ZW50aW9uIGRlZmluZXMgYSBncmVhdGVyIHRoYW4NCiAgICAgICAgICB6ZXJvIHZhbHVlIHVzZWQg dG8gaWRlbnRpZnkgYSBQTUUgcHJvZmlsZS4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBv YmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcg0KDQoNCg0KQmVpbGkgICAgICAgICAg ICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMjVd DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgbW9yZSAodXAgdG8gNikgb2N0ZXRz LCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0DQogICAgICAgICAgRWZtUHJvZmls ZUluZGV4IHZhbHVlLg0KICAgICAgICAgIEEgemVybyBsZW5ndGggb2N0ZXQgc3RyaW5nIGlzIG9i amVjdC1zcGVjaWZpYyBhbmQgTVVTVA0KICAgICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVkIGFz IHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QNCiAgICAgICAgICB3aGljaCB1 c2VzIHRoaXMgc3ludGF4LiBFeGFtcGxlcyBvZiB0aGUgdXNhZ2Ugb2YgemVybyBsZW5ndGgNCiAg ICAgICAgICB2YWx1ZSBtaWdodCBpbmNsdWRlIHNpdHVhdGlvbnMgd2hlcmUgYW4gb2JqZWN0IHVz aW5nIHRoaXMNCiAgICAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3Ig YSBzcGVjaWZpYyBFRk1DdSBwb3J0DQogICAgICAgICAgdHlwZS4iDQogICAgICAgIFNZTlRBWCAg ICAgICBPQ1RFVCBTVFJJTkcgKFNJWkUoMC4uNikpDQoNCiAgICAgIEVmbVRydXRoVmFsdWVPclVu a25vd24gOjo9IFRFWFRVQUwtQ09OVkVOVElPTg0KICAgICAgICBTVEFUVVMgICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIHRleHR1YWwgY29udmVudGlv biBpcyBhbiBleHRlbnNpb24gb2YgdGhlIFRydXRoVmFsdWUNCiAgICAgICAgICBjb252ZW50aW9u LiBUaGUgbGF0dGVyIGRlZmluZXMgYSBib29sZWFuIHZhbHVlIHdpdGgNCiAgICAgICAgICBwb3Nz aWJsZSB2YWx1ZXMgb2YgdHJ1ZSgxKSBhbmQgZmFsc2UoMikuIFRoaXMNCiAgICAgICAgICBleHRl bnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3duKDApLCB3aGljaA0K ICAgICAgICAgIGNhbiBiZSByZXR1cm5lZCBhcyBhIHJlc3VsdCBvZiBHRVQgb3BlcmF0aW9uLCB3 aGVuIGFuIGV4YWN0DQogICAgICAgICAgdHJ1ZSBvciBmYWxzZSB2YWx1ZSBvZiB0aGUgb2JqZWN0 IGNhbm5vdCBiZSBkZXRlcm1pbmVkLiINCiAgICAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9DQoNCiAgICAgLS0gUG9ydCBOb3RpZmljYXRp b25zIEdyb3VwDQoNCiAgICAgIGVmbUN1UG9ydE5vdGlmaWNhdGlvbnMgT0JKRUNUIElERU5USUZJ RVIgOjo9IHsgZWZtQ3VQb3J0IDAgfQ0KDQogICAgICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICAtLSBpZkluZGV4IGlz IG5vdCBuZWVkZWQgaGVyZSBzaW5jZSB3ZSBhcmUgdW5kZXIgc3BlY2lmaWMgUENTDQogICAgICAg ICAgaWZTcGVlZCwNCiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUNCiAgICAgICAgfQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IlRoaXMgbm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBFRk1DdSBwb3J0JyBkYXRhIHJh dGUNCiAgICAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2VlZGVkIHRoZSBs b3cgcmF0ZSB0aHJlc2hvbGQsDQogICAgICAgICAgc3BlY2lmaWVkIGJ5IGVmbUN1VGhyZXNoTG93 UmF0ZS4NCg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgd2hpbGUg dGhlIHBvcnQgaXMgdXAsIG9uIHRoZSBjcm9zc2luZw0KICAgICAgICAgIGV2ZW50IGluIGJvdGgg ZGlyZWN0aW9uczogZnJvbSBub3JtYWwgKHJhdGUgaXMgYWJvdmUgdGhlDQogICAgICAgICAgdGhy ZXNob2xkKSB0byBsb3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFu ZA0KICAgICAgICAgIGZyb20gbG93IHRvIG5vcm1hbC4gVGhpcyBub3RpZmljYXRpb24gaXMgbm90 IGFwcGxpY2FibGUgdG8NCiAgICAgICAgICB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBJ dCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41IHNl YywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBhbmQg bm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgc2ltdWx0 YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQNCiAgICAgICAgICBlZm1DdUxvd1JhdGVDcm9zc2lu ZyBub3RpZmljYXRpb25zIHRvIGJlIHNlbnQuDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyNl0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBUaGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBF Rk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9ydCB0bw0KICAgICAgICAgIGFkYXB0IGl0c2Vs ZiB0byB0aGUgY2hhbmdlcyBpbiB0aGUgY29wcGVyIGVudmlyb25tZW50LCBlLmcuDQogICAgICAg ICAgYW4gaW1wdWxzZSBub2lzZSwgYWxpZW4gY3Jvc3N0YWxrIG9yIGEgbWljcm8taW50ZXJydXB0 aW9uIG1heQ0KICAgICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9yIG1vcmUgUE1FcyBpbiB0 aGUgYWdncmVnYXRpb24gZ3JvdXAsDQogICAgICAgICAgY2F1c2luZyBhIHJhdGUgZGVncmFkYXRp b24gb2YgdGhlIGFnZ3JlZ2F0ZWQgRUZNQ3UgbGluay4NCiAgICAgICAgICBUaGUgZHJvcHBlZCBQ TUVzIHdvdWxkIHRoZW4gdHJ5IHRvIHJlLWluaXRpYWxpemUsIHBvc3NpYmx5IGF0DQogICAgICAg ICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJvdmlk ZQ0KICAgICAgICAgIHJlcXVpcmVkIHRhcmdldCBTTlIgbWFyZ2luLg0KDQogICAgICAgICAgR2Vu ZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVm bUN1UG9ydE5vdGlmaWNhdGlvbnMgMSB9DQoNCiAgICAgIC0tIFBDUyBQb3J0IGdyb3VwDQoNCiAg ICAgIGVmbUN1UG9ydENvbmZUYWJsZSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBT RVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBFRk1DdSAyQkFTRS1UTC8x MFBBU1MtVFMgKFBDUykNCiAgICAgICAgICBQb3J0cy4gRW50cmllcyBpbiB0aGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhDQogICAgICAgICAgcGVyc2lzdGVudCBtYW5uZXIiDQogICAg ICAgIDo6PSB7IGVmbUN1UG9ydCAxIH0NCg0KICAgICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG9ydENvbmZFbnRyeQ0KICAgICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQb3J0 IENvbmZpZ3VyYXRpb24gdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFu IEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4NCiAgICAgICAgICBOb3RlIHRoYXQg YW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBt dWx0aXBsZSBQTUUgcG9ydChzKSwgd2hpY2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiIN CiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZU YWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5D RSB7DQogICAgICAgICAgZWZtQ3VQQUZBZG1pblN0YXRlICAgICAgICAgICAgICAgSU5URUdFUiwN CiAgICAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywN CiAgICAgICAgICBlZm1DdUFkbWluUHJvZmlsZSAgICAgICAgICAgICAgICBFZm1Qcm9maWxlSW5k ZXhMaXN0LA0KICAgICAgICAgIGVmbUN1VGFyZ2V0RGF0YVJhdGUgICAgICAgICAgICAgIFVuc2ln bmVkMzIsDQogICAgICAgICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWdu ZWQzMiwNCiAgICAgICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYSAgICAgICAgICAgICBUcnV0aFZh bHVlLA0KICAgICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSAgICAgICAgICAgICAgIFVuc2lnbmVk MzIsDQogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1 ZQ0KICAgICAgICB9DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1 c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAyN10NCgwNCkludGVybmV0LURyYWZ0ICAg ICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0K DQoNCiAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFY ICAgICAgSU5URUdFUiB7DQogICAgICAgICAgZW5hYmxlZCgxKSwNCiAgICAgICAgICBkaXNhYmxl ZCgyKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBZG1p bmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3RhdGUgb2YgdGhlIFBBRiBvZiB0aGUgRUZNQ3UgcG9ydA0K ICAgICAgICAgIChQQ1MpLg0KICAgICAgICAgIFdoZW4gJ2Rpc2FibGVkJywgUE1FIEFnZ3JlZ2F0 aW9uIHdpbGwgbm90IGJlIHBlcmZvcm1lZCBieSB0aGUNCiAgICAgICAgICBQQ1MuIE5vIG1vcmUg dGhhbiBhIHNpbmdsZSBQTUUgY2FuIGJlIGFzc2lnbmVkIHRvIHRoaXMgUENTIGluDQogICAgICAg ICAgdGhpcyBjYXNlLg0KICAgICAgICAgIFdoZW4gJ2VuYWJsZWQnLCBQQUYgd2lsbCBiZSBwZXJm b3JtZWQgYnkgdGhlIFBDUyB3aGVuIHRoZSBsaW5rDQogICAgICAgICAgaXMgVXAsIGV2ZW4gb24g YSBzaW5nbGUgYXR0YWNoZWQgUE1FLCBpZiBQQUYgaXMgc3VwcG9ydGVkLg0KDQogICAgICAgICAg UENTIHBvcnRzIGluY2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1 ZSBvZg0KICAgICAgICAgICdkaXNhYmxlZCcuIEF0dGVtcHRzIHRvICdlbmFibGUnIHN1Y2ggcG9y dHMgU0hBTEwgYmUgcmVqZWN0ZWQuDQoNCiAgICAgICAgICBQQUYgJ2VuYWJsZWQnIHBvcnQgd2l0 aCBtdWx0aXBsZSBQTUVzIGFzc2lnbmVkIGNhbm5vdCBiZQ0KICAgICAgICAgICdkaXNhYmxlZCcu IEF0dGVtcHRzIHRvICdkaXNhYmxlJyBzdWNoIHBvcnQgU0hBTEwgYmUgcmVqZWN0ZWQsDQogICAg ICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQuDQoNCiAgICAgICAg ICBDaGFuZ2luZyBQQUZBZG1pblN0YXRlIGlzIGEgdHJhZmZpYyBkaXNydXB0aXZlIG9wZXJhdGlv biBhbmQNCiAgICAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBpcyBE b3duLiBBdHRlbXB0cyB0bw0KICAgICAgICAgIGNoYW5nZSB0aGlzIG9iamVjdCBTSEFMTCBiZSBy ZWplY3RlZCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0K ICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUgYVBB RkFkbWluU3RhdGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRv IHRoZSBQQUYgZW5hYmxlIGJpdCBpbiB0aGUgMTBQLzJCIFBDUyBjb250cm9sDQogICAgICAgICAg cmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAy LjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDEgfQ0KDQogICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgRGlzY292ZXJ5IENvZGUgb2YgdGhlIEVGTUN1IHBvcnQg KFBDUykuDQogICAgICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUg RGlzY292ZXJ5IGZ1bmN0aW9uLA0KICAgICAgICAgIHdoZW4gUEFGIGlzIHN1cHBvcnRlZC4NCiAg ICAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBvcnRpbmcgUEFGIFNIQUxMIHJldHVy biBhIHplcm8NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy NSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDI4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0K ICAgICAgICAgIGxlbmd0aCBvY3RldCBzdHJpbmcgb24gYW4gYXR0ZW1wdCB0byByZWFkIHRoaXMg b2JqZWN0LiBBbg0KICAgICAgICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hB TEwgYmUgcmVqZWN0ZWQgZm9yIHN1Y2gNCiAgICAgICAgICBwb3J0cy4NCiAgICAgICAgICBUaGlz IG9iamVjdCBNVVNUIGJlIGluc3RhbnRpYXRlZCBmb3IgdGhlIC1PIHN1YnR5cGUgUENTIGJlZm9y ZQ0KICAgICAgICAgIHdyaXRpbmcgb3BlcmF0aW9ucyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlDQogICAgICAgICAgKFNldF9pZl9DbGVhciBhbmQgQ2xlYXJfaWZfU2FtZSkgYXJl IHBlcmZvcm1lZCBieSBQTUVzDQogICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIHRoZSBQQ1MuDQog ICAgICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3QgZm9yIC1SIHN1YnR5cGUg cG9ydHMgYWZ0ZXINCiAgICAgICAgICByZXNldCBpcyBhbGwgemVyb2VzLiBGb3IgLVIgc3VidHlw ZSBwb3J0cywgdGhlIHZhbHVlIG9mIHRoaXMNCiAgICAgICAgICBvYmplY3QgY2Fubm90IGJlIGNo YW5nZWQgZGlyZWN0bHkuIFRoaXMgdmFsdWUgbWF5IGJlIGNoYW5nZWQNCiAgICAgICAgICBhcyBh IHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUNCiAgICAgICAgICBlZm1DdVBBRlJl bW90ZURpc2NvdmVyeUNvZGUgb2JqZWN0IG9mIHJlbW90ZSBQTUUgb2YgLU8NCiAgICAgICAgICBz dWJ0eXBlLCBjb25uZWN0ZWQgdG8gb25lIG9mIHRoZSBsb2NhbCBQTUVzIGFzc29jaWF0ZWQgd2l0 aA0KICAgICAgICAgIHRoZSBQQ1MuDQoNCiAgICAgICAgICBEaXNjb3ZlcnkgTVVTVCBiZSBwZXJm b3JtZWQgd2hlbiB0aGUgbGluayBpcyBEb3duLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5n ZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mDQogICAgICAgICAgU05N UCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksIGlmIHRoZSBsaW5rIGlzIFVwIG9y DQogICAgICAgICAgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhlIFBBRiBEaXNjb3Zlcnkg Y29kZSBtYXBzIHRvIHRoZSBsb2NhbCBEaXNjb3ZlcnkgY29kZQ0KICAgICAgICAgIHZhcmlhYmxl IGluIFBBRiAobm90ZSB0aGF0IGl0IGRvZXMgbm90IGhhdmUgYSBjb3JyZXNwb25kaW5nDQogICAg ICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA2MS4yLjIuOC4zLCA2MS4yLjIuOC40LCA0NS4yLjYuNi4xLCA0NS4yLjYuOCwN CiAgICAgICAgICA2MUEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDIgfQ0K DQogICAgICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAg ICAgRWZtUHJvZmlsZUluZGV4TGlzdA0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQog ICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAg ICAiRGVzaXJlZCBjb25maWd1cmF0aW9uIFByb2ZpbGUocyksIGNvbW1vbiBmb3IgYWxsIFBNRXMg aW4gdGhlDQogICAgICAgICAgRUZNQ3UgcG9ydC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBv aW50ZXJzIHRvIGVudHJpZXMgaW4NCiAgICAgICAgICBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVU YWJsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24g dGhlIGN1cnJlbnQNCiAgICAgICAgICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgRUZNQ3UgcG9y dCBhcyBpbmRpY2F0ZWQgYnkNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBpcyBhIGxpc3Qgb2YgdXAgdG8gNiBpbmRpY2VzIG9mDQog ICAgICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmdsZSBQcm9m aWxlIGluZGV4LA0KICAgICAgICAgIHRoZW4gYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBFRk1D dSBwb3J0IFNIQUxMIGJlIGNvbmZpZ3VyZWQNCiAgICAgICAgICBhY2NvcmRpbmcgdG8gdGhlIFBy b2ZpbGUgcmVmZXJlbmNlZCBieSB0aGF0IGluZGV4LCB1bmxlc3MgaXQNCiAgICAgICAgICBpcyBv dmVyd3JpdHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxl LA0KICAgICAgICAgIHdoaWNoIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBlZm1DdUFkbWluUHJvZmls ZS4NCiAgICAgICAgICBUaGUgbGlzdCwgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gb25lIGluZGV4 LCBhbGxvd3MgZWFjaCBQTUUNCiAgICAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVk IGFjY29yZGluZyB0byBhbnkgUHJvZmlsZQ0KICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgbGlz dC4NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAw NyAgICAgICAgICAgICAgIFtQYWdlIDI5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBF Rk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAg ICAgIEJ5IGRlZmF1bHQgdGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgMHgwMSwgcmVmZXJlbmNp bmcgMXN0DQogICAgICAgICAgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvciBlZm1D dVBtZTEwUFByb2ZpbGVUYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxl IGFuZCByZWFkYWJsZSBmb3IgdGhlIC1PIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1PIG9y IDEwUGFzc1RTLU8pIEVGTUN1IHBvcnRzLiBJdCBpcyBpcnJlbGV2YW50IGZvcg0KICAgICAgICAg IHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJv DQogICAgICAgICAgbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbiBh dHRlbXB0IHRvIHJlYWQNCiAgICAgICAgICB0aGlzIG9iamVjdCBhbmQgYW4gYXR0ZW1wdCB0byBj aGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIGluIHRoaXMgY2Fz ZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIFByb2ZpbGUgdmFs dWUgaXMgYXZhaWxhYmxlIHZpYQ0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2JqZWN0 Lg0KDQogICAgICAgICAgTW9kaWZpY2F0aW9uIG9mIHRoaXMgb2JqZWN0IE1VU1QgYmUgcGVyZm9y bWVkIHdoZW4gdGhlIGxpbmsgaXMNCiAgICAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlDQogICAgICAgICAgbGluayBpcyBV cCBvciBJbml0aWFsaXppbmcuDQogICAgICAgICAgQXR0ZW1wdHMgdG8gc2V0IHRoaXMgb2JqZWN0 IHRvIGEgbGlzdCB3aXRoIGEgbWVtYmVyDQogICAgICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRo ZSB2YWx1ZSBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQ0KICAgICAgICAgIGluIHRo ZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUgdGFibGUsIE1VU1QgYmUgcmVqZWN0ZWQuDQoNCiAgICAg ICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5l ci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjYi DQogICAgICAgIERFRlZBTCB7ICcwMSdIIH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVu dHJ5IDMgfQ0KDQogICAgICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEuLjEwMDAwMHw5OTk5OTkpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNU QVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiRGVzaXJl ZCBFRk1DdSBwb3J0ICduZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbg0KICAg ICAgICAgIEticHMsIHRvIGJlIGFjaGlldmVkIGR1cmluZyBpbml0aWFsaXphdGlvbiwgdW5kZXIg c3BlY3RyYWwNCiAgICAgICAgICByZXN0cmljdGlvbnMgcGxhY2VkIG9uIGVhY2ggUE1FIHZpYSBl Zm1DdUFkbWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRo IHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3BlY2lmaWVkIGJ5DQogICAgICAgICAgZWZtQ3VUYXJn ZXRTbnJNZ24uDQogICAgICAgICAgSW4gY2FzZSBvZiBQQUYsIHRoaXMgb2JqZWN0IHJlcHJlc2Vu dHMgYSBzdW0gb2YgaW5kaXZpZHVhbCBQTUUNCiAgICAgICAgICBkYXRhIHJhdGVzLCBtb2RpZmll ZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZA0KICAgICAgICAgIDY0LzY1QiBm cmFtaW5nIG92ZXJoZWFkIChlLmcuIHRhcmdldCBkYXRhIHJhdGUgb2YgMTBNYnBzDQogICAgICAg ICAgU0hBTEwgYWxsb3cgbG9zc2xlc3MgdHJhbnNtaXNzaW9uIG9mIGZ1bGwtZHVwbGV4IDEwTWJw cw0KICAgICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50ZXItZnJh bWUgZ2FwKS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBpcyBsaW1pdGVkIGFib3ZlIGJ5IDEwME1i cHMgYXMgdGhpcyBpcyB0aGUgbWF4DQogICAgICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZv ciBFRk1DdSBwb3J0cy4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBiZXR3ZWVuIDEgYW5kIDEwMDAw MCBpbmRpY2F0ZXMgdGhhdCB0aGUgdG90YWwgZGF0YQ0KICAgICAgICAgIHJhdGUgKGlmU3BlZWQp IG9mIHRoZSBFRk1DdSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSAzMF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBiZSBlcXVhbCB0 byB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGENCiAgICAg ICAgICByYXRlIGNhbm5vdCBiZSBhY2hpZXZlZCB1bmRlciBzcGVjdHJhbCByZXN0cmljdGlvbnMg c3BlY2lmaWVkDQogICAgICAgICAgYnkgZWZtQ3VBZG1pblByb2ZpbGUvZWZtQ3VQbWVBZG1pblBy b2ZpbGUgYW5kIHdpdGggZGVzaXJlZCBTTlINCiAgICAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhl IGNvcHBlciBlbnZpcm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZQ0KICAgICAgICAgIGhpZ2hlciB0 b3RhbCBkYXRhIHJhdGUgdGhhbiB0aGF0IHNwZWNpZmllZCBieSB0aGUgdGFyZ2V0LCB0aGUNCiAg ICAgICAgICBleGNlc3MgY2FwYWJpbGl0eSBTSEFMTCBiZSBlaXRoZXIgY29udmVydGVkIHRvIGFk ZGl0aW9uYWwgU05SDQogICAgICAgICAgbWFyZ2luIG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5n IHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQNCiAgICAgICAgICBieSBlZm1DdUFkYXB0aXZl U3BlY3RyYS4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5OTkgbWVhbnMgdGhhdCB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QNCiAgICAgICAgICBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0 IHRvIHRoZSBtYXhpbXVtIGF0dGFpbmFibGUgcmF0ZSBkdXJpbmcNCiAgICAgICAgICBpbml0aWFs aXphdGlvbiAoQmVzdCBFZmZvcnQpLCB1bmRlciBzcGVjaWZpZWQgc3BlY3RyYWwNCiAgICAgICAg ICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLg0KDQogICAgICAgICAg VGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMN CiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0 aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IERhdGEg UmF0ZSBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgRG93bi4g QXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQNCiAgICAgICAg ICAoaW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYg dGhlDQogICAgICAgICAgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBEYXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50 ZWQNCiAgICAgICAgICBieSBpZlNwZWVkIG9iamVjdCBvZiBJRi1NSUIuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQog ICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZtQ3VUYXJnZXRT bnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMC4uMjEp DQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFs bCBQTUVzDQogICAgICAgICAgYXNzaWduZWQgdG8gdGhlIHBvcnQsIGR1cmluZyBpbml0aWFsaXpp YXRpb24uIChUaGUgU05SIG1hcmdpbg0KICAgICAgICAgIGlzIHRoZSBkaWZmZXJlbmNlIGJldHdl ZW4gdGhlIGRlc2lyZWQgU05SIGFuZCB0aGUgYWN0dWFsIFNOUikuDQoNCiAgICAgICAgICBOb3Rl IHRoYXQgODAyLjNhaCByZWNvbW1lbmRzIHVzaW5nIGRlZmF1bHQgVGFyZ2V0IFNOUiBNYXJnaW4N CiAgICAgICAgICBvZiA1ZEIgZm9yIDJCQVNFLVRMIHBvcnRzIGFuZCA2ZEIgZm9yIDEwUEFTUy1U UyBwb3J0cyBpbiBvcmRlcg0KICAgICAgICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0 ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUgUE1BDQogICAgICAgICAgc2VydmljZSBpbnRlcmZhY2Uu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyByZWFkLXdyaXRlIGZvciB0aGUgLU8gc3VidHlw ZSBFRk1DdSBwb3J0cw0KICAgICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBh dmFpbGFibGUgZm9yIHRoZSAtUiBzdWJ0eXBlcy4NCg0KICAgICAgICAgIENoYW5naW5nIG9mIHRo ZSBUYXJnZXQgU05SIE1hcmdpbiBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZQ0KICAgICAgICAg IGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVq ZWN0ZWQNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwg MjAwNyAgICAgICAgICAgICAgIFtQYWdlIDMxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAg ICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAg ICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUNCiAgICAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBNRXMgY29tcHJpc2luZyB0 aGUgRUZNQ3UNCiAgICAgICAgICBwb3J0IGlzIHJlcHJlc2VudGVkIGJ5IGVmbUN1UG1lU25yTWdu Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYx LjEuMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQ0KDQogICAgICBlZm1D dUFkYXB0aXZlU3BlY3RyYSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiSW5kaWNhdGVzIGhvdyB0 byB1dGlsaXplIGV4Y2VzcyBjYXBhY2l0eSB3aGVuIHRoZSBjb3BwZXINCiAgICAgICAgICBlbnZp cm9ubWVudCBhbGxvd3MgdG8gYWNoaWV2ZSBoaWdoZXIgdG90YWwgZGF0YSByYXRlIHRoYW4gdGhh dA0KICAgICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJnZXREYXRhUmF0ZS4NCg0KICAg ICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmls aXR5IFNIQUxMIGJlDQogICAgICAgICAgcmVjbGFpbWVkIGJ5IG1pbmltaXppbmcgdHJhbnNtaXQg cG93ZXIsIGUuZy4gdXNpbmcgaGlnaGVyDQogICAgICAgICAgY29uc3RlbGxhdGlvbnMgYW5kIFBv d2VyIEJhY2stT2ZmLCBpbiBvcmRlciB0byByZWR1Y2UNCiAgICAgICAgICBpbnRlcmZlcmVuY2Ug dG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZQ0KICAgICAgICAgIGFk dmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLg0KDQogICAgICAgICAgVmFs dWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxM DQogICAgICAgICAgYmUgY29udmVydGVkIHRvIGFkZGl0aW9uYWwgU05SIG1hcmdpbiBhbmQgc3By ZWFkIGV2ZW5seSBhY3Jvc3MNCiAgICAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsNCiAgICAgICAgICByb2J1c3RuZXNzLg0K DQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUg RUZNQ3UgcG9ydHMNCiAgICAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZh aWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGlz IG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5rIGlzDQogICAgICAgICAgRG93 bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNh c2UNCiAgICAgICAgICBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwg aWYgdGhlIGxpbmsgaXMgVXANCiAgICAgICAgICBvciBJbml0aWFsaXppbmcuDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4i DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENvbmZFbnRyeSA2IH0NCg0KICAgICAgZWZtQ3VUaHJl c2hMb3dSYXRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyKDEu LjEwMDAwMCkNCiAgICAgICAgVU5JVFMgICAgICAgIkticHMiDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzJdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJhdGUgY3Jv c3NpbmcgYWxhcm0NCiAgICAgICAgICB0aHJlc2hvbGQuIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgaWZTcGVlZCBmb3IgdGhpcyBwb3J0DQogICAgICAgICAgcmVhY2hlcy9kcm9wcyBiZWxvdyBv ciBleGNlZWRzIHRoaXMgdGhyZXNob2xkLCBhbg0KICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3Nz aW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQNCiAgICAgICAgICBi eSBlZm1DdUxvd1JhdGVDcm9zc2luZ0VuYWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlz IHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzDQogICAgICAgICAgKDJC YXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVz Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lz dGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgNyB9DQoNCiAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJ bmRpY2F0ZXMgd2hldGhlciBlZm1DdUxvd1JhdGVDcm9zc2luZyBub3RpZmljYXRpb25zIHNob3Vs ZA0KICAgICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuDQoNCiAgICAgICAg ICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5nDQog ICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZhbHNlKDIpIGluZGlj YXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4NCg0KICAg ICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1 IHBvcnRzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJs ZSBmb3IgdGhlIC1SIHN1YnR5cGVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBt YWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBv cnRDb25mRW50cnkgOCB9DQoNCg0KICAgICAgZWZtQ3VQb3J0Q2FwYWJpbGl0eVRhYmxlIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG9ydENhcGFiaWxp dHlFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRhYmxlIGZv ciBDYXBhYmlsaXRpZXMgb2YgRUZNQ3UgMkJBU0UtVEwvMTBQQVNTLVRTIChQQ1MpDQogICAgICAg ICAgUG9ydHMuIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQ0K ICAgICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnQgMiB9 DQoNCiAgICAgIGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBFZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDYXBhYmlsaXR5 IHRhYmxlLg0KICAgICAgICAgIEVhY2ggZW50cnkgcmVwcmVzZW50cyBhbiBFRk1DdSBwb3J0IGlu ZGV4ZWQgYnkgdGhlIGlmSW5kZXguDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSAzM10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICBOb3RlIHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBv biB0b3Agb2YgYSBzaW5nbGUNCiAgICAgICAgICBvciBtdWx0aXBsZSBQTUUgcG9ydChzKSwgd2hp Y2ggYXJlIGFsc28gaW5kZXhlZCBieSBpZkluZGV4LiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRl eCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlUYWJsZSAxIH0NCg0KICAgICAg RWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAg ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgICAgICAgICAgICAgICAgVHJ1dGhWYWx1ZSwNCiAgICAgICAg ICBlZm1DdVBlZXJQQUZTdXBwb3J0ZWQgICAgICAgICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3du LA0KICAgICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIs DQogICAgICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHkgICAgICAgICAgICAgVW5zaWduZWQzMg0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0K ICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAg ICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5IG9mIHRoZSBFRk1D dSBwb3J0DQogICAgICAgICAgKFBDUykuDQogICAgICAgICAgVGhpcyBvYmplY3QgaGFzIGEgdmFs dWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSBQQ1MgY2FuIHBlcmZvcm0NCiAgICAgICAgICBQTUUgYWdn cmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLg0KICAgICAgICAgIFBvcnRzIGluY2FwYWJs ZSBvZiBQQUYgU0hBTEwgcmV0dXJuIGEgdmFsdWUgb2YgZmFsc2UoMikuDQoNCiAgICAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlz IHByZXNlbnQsDQogICAgICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZh aWxhYmxlIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4i DQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNCwgNDUuMi4zLjE3LjEiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRy eSAxIH0NCg0KICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQ0KICAgICAg ICBTWU5UQVggICAgICBFZm1UcnV0aFZhbHVlT3JVbmtub3duDQogICAgICAgIE1BWC1BQ0NFU1Mg IHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBDYXBhYmlsaXR5 IG9mIHRoZSBFRk1DdSBwb3J0DQogICAgICAgICAgKFBDUykgbGluayBwYXJ0bmVyLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgcmVtb3RlIFBD UyBjYW4NCiAgICAgICAgICBwZXJmb3JtIFBNRSBhZ2dyZWdhdGlvbiBvbiBpdHMgYXZhaWxhYmxl IFBNRXMuDQogICAgICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYs IFNIQUxMIHJldHVybiBhIHZhbHVlDQogICAgICAgICAgb2YgZmFsc2UoMikuDQogICAgICAgICAg UG9ydHMgd2hvc2UgcGVlcnMgY2Fubm90IGJlIHJlYWNoZWQgYmVjYXVzZSBvZiB0aGUgbGluaw0K ICAgICAgICAgIHN0YXRlLCBTSEFMTCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLg0KDQog ICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgMzRdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgYVJl bW90ZVBBRlN1cHBvcnRlZC4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIFJlbW90ZSBQQUYgc3VwcG9ydGVkIGJpdCBpbiB0aGUNCiAgICAgICAgICAxMFAv MkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuOSwgNDUuMi4zLjE3LjIiDQogICAgICAgIDo6PSB7 IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0NCg0KICAgICAgZWZtQ3VQQUZDYXBhY2l0eSAg T0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJl IGFnZ3JlZ2F0ZWQgYnkgdGhlIGxvY2FsIFBBRi4NCiAgICAgICAgICBUaGUgbnVtYmVyIG9mIFBN RXMgY3VycmVudGx5IGFzc2lnbmVkIHRvIGEgcGFydGljdWxhcg0KICAgICAgICAgIEVGTUN1IHBv cnQgKGVmbUN1TnVtUE1FcykgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuDQogICAgICAgICAgZWZtQ3VQ QUZDYXBhY2l0eS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAz MCBhdHRyaWJ1dGUNCiAgICAgICAgICBhTG9jYWxQQUZDYXBhY2l0eS4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDMgfQ0KDQogICAgICBlZm1DdVBlZXJQQUZD YXBhY2l0eSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMHwx Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBjYW4gYmUgYWdncmVnYXRlZCBieSB0aGUgUEFGIG9mIHRoZSBwZWVyDQogICAgICAgICAg UGh5IChQQ1MgcG9ydCkuDQogICAgICAgICAgVmFsdWUgb2YgMCBpcyByZXR1cm5lZCB3aGVuIHBl ZXIgUEFGIENhcGFjaXR5IGlzIHVua25vd24NCiAgICAgICAgICAocGVlciBjYW5ub3QgYmUgcmVh Y2hlZCkuDQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0 cmlidXRlDQogICAgICAgICAgYVJlbW90ZVBBRkNhcGFjaXR5LiINCiAgICAgICAgUkVGRVJFTkNF DQogICAgICAgICAgIls4MDIuM2FoXSA2MS4yLjIsIDMwLjExLjEuMS4xMCINCiAgICAgICAgOjo9 IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDQgfQ0KDQoNCiAgICAgIGVmbUN1UG9ydFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSBwcm92aWRlcyBvdmVyYWxsIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdQ0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgMzVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAg MkJBU0UtVEwvMTBQQVNTLVRTIHBvcnRzLCBjb21wbGVtZW50aW5nIHRoZSBnZW5lcmljIHN0YXR1 cw0KICAgICAgICAgIGluZm9ybWF0aW9uIGZyb20gdGhlIGlmVGFibGUgb2YgSUYtTUlCIGFuZCBp Zk1hdVRhYmxlIG9mDQogICAgICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3Jt YXRpb24gYWJvdXQgY29ubmVjdGVkIFBNRXMNCiAgICAgICAgICBpcyBhdmFpbGFibGUgZnJvbSBl Zm1DdVBtZVN0YXR1c1RhYmxlLg0KDQogICAgICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZl IGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAgICAgIGl0IGlzIE5PVCBw ZXJzaXN0ZW50LiINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0IDMgfQ0KDQogICAgICBlZm1DdVBv cnRTdGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBvcnRT dGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkFuIGVu dHJ5IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5 IHJlcHJlc2VudHMgYW4gRUZNQ3UgcG9ydCBpbmRleGVkIGJ5IHRoZSBpZkluZGV4Lg0KICAgICAg ICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBvZiBhIHNpbmdsZQ0K ICAgICAgICAgIG9yIG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXguIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzVGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG9ydFN0YXR1c0VudHJ5IDo6 PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VGbHRTdGF0dXMgICAgICAgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBvcnRTaWRlICAgICAgICAgICAgICAgICAg ICBJTlRFR0VSLA0KICAgICAgICAgIGVmbUN1TnVtUE1FcyAgICAgICAgICAgICAgICAgICAgIFVu c2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAgICAgICAgQ291 bnRlcjMyLA0KICAgICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyAgICAgICAgIENvdW50 ZXIzMiwNCiAgICAgICAgICBlZm1DdVBBRkluTGFyZ2VGcmFnbWVudHMgICAgICAgICBDb3VudGVy MzIsDQogICAgICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMy LA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzICAgICAgICAgIENvdW50ZXIzMiwN CiAgICAgICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyAgICAgICAgICAgICBDb3VudGVyMzIsDQog ICAgICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLA0KICAg ICAgICAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgICAgICAgICAgICAgIENvdW50ZXIzMg0KICAgICAg ICB9DQoNCiAgICAgIGVmbUN1Rmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBCSVRTIHsNCiAgICAgICAgICBub1BlZXIoMCksDQogICAgICAgICAgcGVlclBvd2VyTG9z cygxKSwNCiAgICAgICAgICBwbWVTdWJUeXBlTWlzbWF0Y2goMiksDQogICAgICAgICAgbG93UmF0 ZSgzKQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkVGTUN1 IChQQ1MpIHBvcnQgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFwIG9mIHBvc3NpYmxlDQog ICAgICAgICAgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6DQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSAzNl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIG5v UGVlciAgICAgICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vIFBNRXMgYXR0YWNoZWQsIGFsbCBQTUVz IGFyZSBEb3duDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXRjLikgTW9yZSBp bmZvIGlzIGF2YWlsYWJsZSBpbg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVm bUN1UG1lRmx0U3RhdHVzLg0KICAgICAgICAgICAgcGVlclBvd2VyTG9zcyAgICAgICAtIHBlZXIg UEhZIGhhcyBpbmRpY2F0ZWQgaW1wZW5kaW5nIHVuaXQNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWlsdXJlIGR1ZSB0byBsb3NzIG9mIGxvY2FsIHBvd2VyDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBHYXNwJykuDQogICAgICAgICAgICBwbWVT dWJUeXBlTWlzbWF0Y2ggIC0gbG9jYWwgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXANCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgbm90IG9mIHRoZSBzYW1lIHN1Yi10 eXBlLCBlLmcuDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZSBQTUVzIGlu IHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgd2hpbGUgb3RoZXJzIGFyZSAtUiBzdWJ0eXBlLg0KICAgICAgICAgICAgbG93UmF0ZSAgICAg ICAgICAgICAtIGlmU3BlZWQgb2YgdGhlIHBvcnQgcmVhY2hlZCBvciBkcm9wcGVkDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlDQoNCiAg ICAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1 cyBvYmplY3QNCiAgICAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4g TUFVLU1JQi4NCg0KICAgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxl IHZpYSBlZm1DdVBtZUZsdFN0YXR1cw0KICAgICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4g dGhlIGFnZ3JlZ2F0aW9uIGdyb3VwIChzaW5nbGUgUE1FIGlmDQogICAgICAgICAgUEFGIGlzIGRp c2FibGVkKS4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJJRi1NSUIsIGlmT3BlclN0 YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWlsYWJsZTsNCiAgICAgICAgICAgZWZtQ3VQbWVG bHRTdGF0dXMiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDEgfQ0KDQogICAg ICBlZm1DdVBvcnRTaWRlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRFR0VS IHsNCiAgICAgICAgICBzdWJzY3JpYmVyKDEpLA0KICAgICAgICAgIG9mZmljZSgyKSwNCiAgICAg ICAgICB1bmtub3duKDMpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiRUZNIHBvcnQgbW9kZSBvZiBvcGVyYXRpb24gKHN1YnR5cGUpLg0KICAgICAgICAgIFRo ZSB2YWx1ZSBvZiAnc3Vic2NyaWJlcicgaW5kaWNhdGVzIHRoZSBwb3J0IGlzIGRlc2lnbmF0ZWQg YXMNCiAgICAgICAgICAnLVInIHN1YnR5cGUgKGFsbCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9y dCBhcmUgb2Ygc3VidHlwZQ0KICAgICAgICAgICctUicpLg0KICAgICAgICAgIFRoZSB2YWx1ZSBv ZiB0aGUgJ29mZmljZScgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaXMNCiAgICAgICAgICBkZXNp Z25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQgdG8gdGhpcyBwb3J0IGFy ZQ0KICAgICAgICAgIG9mIHN1YnR5cGUgJy1PJykuDQogICAgICAgICAgVGhlIHZhbHVlIG9mICd1 bmtub3duJyBpbmRpY2F0ZXMgdGhhdCB0aGUgcG9ydCBoYXMgbm8gYXNzaWduZWQNCiAgICAgICAg ICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNhbWUg c2lkZQ0KICAgICAgICAgIChzdWJUeXBlUE1FTWlzbWF0Y2gpLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAg ICBhUGh5RW5kIg0KICAgICAgICBSRUZFUkVOQ0UNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDM3XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDMwLjExLjEu MS4yIg0KICAgICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0NCg0KICAgICAgZWZt Q3VOdW1QTUVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw Li4zMikNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTnVtYmVyIG9mIFBNRXMg dGhhdCBpcyBjdXJyZW50bHkgYWdncmVnYXRlZCBieSB0aGUgbG9jYWwgUEFGDQogICAgICAgICAg KGFzc2lnbmVkIHRvIHRoZSBFRk1DdSBwb3J0IHVzaW5nIGlmU3RhY2tUYWJsZSkuDQogICAgICAg ICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFGQ2FwYWNpdHkuDQoN CiAgICAgICAgICBUaGlzIG9iamVjdCBTSEFMTCBiZSBhdXRvbWF0aWNhbGx5IGluY3JlbWVudGVk IG9yIGRlY3JlbWVudGVkDQogICAgICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxldGVk IHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcNCiAgICAgICAgICBpZlN0YWNrVGFibGUuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4x LjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDMgfQ0KDQogICAgICBlZm1D dVBBRkluRXJyb3JzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMg dGhhdCBoYXZlIGJlZW4gcmVjZWl2ZWQgYWNyb3NzIHRoZQ0KICAgICAgICAgIGdhbW1hIGludGVy ZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAgVGhpcyBy ZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSAobm90IGluY3JlbWVudGVkKSB3aGVuIHRoZQ0K ICAgICAgICAgIFBBRiBpcyB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcg dGhlIFBBRiwgdGhlDQogICAgICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1 ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1Mg aXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgUlggZXJyb3IgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4g dGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0 aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0K ICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGlu dWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVO Q0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMSINCiAgICAgICAgOjo9IHsgZWZtQ3VQ b3J0U3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHNtYWxsZXIgdGhhbiBtaW5G cmFnbWVudFNpemUNCiAgICAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGly ZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgMzhdDQoMDQpJbnRlcm5ldC1E cmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5 IDIwMDcNCg0KDQogICAgICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuDQogICAgICAgICAg VGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAg ICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhl IGNvdW50ZXINCiAgICAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwg dGhlbg0KICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgc21hbGwg ZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRp ZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICBy ZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0 aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlz Y29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBS RUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yMiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQb3J0U3RhdHVzRW50cnkgNSB9DQoNCiAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50 cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFu IG1heEZyYWdtZW50U2l6ZQ0KICAgICAgICAgICg1MTIgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4g cmVjZWl2ZWQgYWNyb3NzIHRoZSBnYW1tYQ0KICAgICAgICAgIGludGVyZmFjZSBhbmQgZGlzY2Fy ZGVkLg0KICAgICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0 aGUgUEFGIGlzDQogICAgICAgICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJs aW5nIHRoZSBQQUYsIHRoZSBjb3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMg dmFsdWUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAx MFAvMkIgUEFGIGxhcmdlIGZyYWdtZW50cw0KICAgICAgICAgIHJlZ2lzdGVyLg0KDQogICAgICAg ICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3Vy IGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVt LCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVl IG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgICAgIGRlZmluZWQgaW4gSUYt TUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMi DQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBB RkluQmFkRnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVu dHMgd2hpY2ggZG8gbm90IGZpdCBpbnRvIHRoZSBzZXF1ZW5jZQ0KICAgICAgICAgIGV4cGVjdGVk IGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhhdCBoYXZlIGJlZW4NCg0KDQoNCkJl aWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAg ICAgIFtQYWdlIDM5XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZh Y2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQgKHRoZQ0KICAgICAgICAg IGZyYW1lIGJ1ZmZlciBpcyBmbHVzaGVkIHRvIHRoZSBuZXh0IHZhbGlkIGZyYW1lIHN0YXJ0KS4N CiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBB RiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0 aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl Lg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBp cyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBiYWQgZnJhZ21lbnRzDQogICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAg ICAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBh dCBvdGhlciB0aW1lcw0KICAgICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZD b3VudGVyRGlzY29udGludWl0eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0K ICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNSINCiAgICAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0 RnJhZ21lbnRzIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIG51bWJlciBvZiBnYXBzIGluIHRoZSBz ZXF1ZW5jZSBvZiBmcmFnbWVudHMsIHdoaWNoIGhhdmUNCiAgICAgICAgICBiZWVuIHJlY2VpdmVk IGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlICh0aGUgZnJhbWUgYnVmZmVyIGlzDQogICAgICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMNCiAgICAgICAgICBleHBlY3RlZCBieSB0aGUgZnJhbWUgYXNzZW1ibHkgZnVuY3Rp b24gaXMvYXJlIG5vdCByZWNlaXZlZCkuDQogICAgICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRl ciBpcyBpbmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMNCiAgICAgICAgICB1bnN1cHBvcnRlZCBvciBk aXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXINCiAgICAgICAgICBy ZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbg0KICAgICAgICAgIHRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudA0KICAgICAgICAgIHJl Z2lzdGVyLg0KDQogICAgICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAgICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhl IG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRp Y2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSA0NS4yLjMuMjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDgg fQ0KDQogICAgICBlZm1DdVBBRkluTG9zdFN0YXJ0cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDQwXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICJBIG51bWJlciBvZiBt aXNzaW5nIFN0YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUNCiAgICAgICAg ICBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbi4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3Vu dGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9y IGRpc2FibGVkLiBVcG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAg IHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUg TURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50DQog ICAgICAgICAgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZh bHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0aWFsaXph dGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAgICAg ICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRp bWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAg ICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMy4yNyINCiAgICAgICAgOjo9IHsgZWZtQ3VQb3J0U3Rh dHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcyBPQkpFQ1QtVFlQRQ0KICAg ICAgICBTWU5UQVggICAgICBDb3VudGVyMzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAg ICAgICAiQSBudW1iZXIgb2YgbWlzc2luZyBFbmRPZlBhY2tldCBpbmRpY2F0b3JzIGV4cGVjdGVk IGJ5IHRoZQ0KICAgICAgICAgIGZyYW1lIGFzc2VtYmx5IGZ1bmN0aW9uLg0KICAgICAgICAgIFRo aXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzDQogICAgICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyDQogICAgICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFsdWUuDQoNCiAgICAgICAg ICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIGxvc3Qgc3Rh cnQgb2YgZnJhZ21lbnQNCiAgICAgICAgICByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRp bnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50 ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAg ICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4Ig0KICAgICAgICA6 Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAxMCB9DQoNCiAgICAgIGVmbUN1UEFGSW5PdmVyZmxv d3MgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cywgcmVjZWl2ZWQg YWNyb3NzIHRoZSBnYW1tYSBpbnRlcmZhY2UNCiAgICAgICAgICBhbmQgZGlzY2FyZGVkLCB3aGlj aCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkNCg0KDQoNCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDQxXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIGJ1ZmZlciB0byBvdmVyZmxv dy4NCiAgICAgICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhl IFBBRiBpcw0KICAgICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2FibGlu ZyB0aGUgUEFGLCB0aGUgY291bnRlcg0KICAgICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBD UyBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQ LzJCIFBBRiBvdmVyZmxvdyByZWdpc3Rlci4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI0Ig0KICAgICAgICA6Oj0geyBlZm1D dVBvcnRTdGF0dXNFbnRyeSAxMSB9DQoNCiAgICAgLS0gUE1FIE5vdGlmaWNhdGlvbnMgR3JvdXAN Cg0KICAgICAgZWZtQ3VQbWVOb3RpZmljYXRpb25zIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVm bUN1UG1lIDAgfQ0KDQogICAgICBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZyBOT1RJRklDQVRJT04t VFlQRQ0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1DdVBtZUxpbmVBdG4sDQogICAg ICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAg ICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNh dGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgbG9vcCBhdHRlbnVhdGlvbg0KICAgICAgICAgIHRocmVz aG9sZCAoYXMgcGVyIHRoZSBlZm1DdVBtZVRocmVzaExpbmVBdG4NCiAgICAgICAgICB2YWx1ZSkg aGFzIGJlZW4gcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJCQVNFLVRMLzEwUEFTUy1UUw0KICAg ICAgICAgIFBNRS4gVGhpcyBub3RpZmljYXRpb24gTUFZIGJlIHNlbmQgb24gdGhlIGNyb3NzaW5n IGV2ZW50IGluDQogICAgICAgICAgYm90aCBkaXJlY3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNl ZWRlZCBhbmQgZnJvbSBleGNlZWRlZA0KICAgICAgICAgIHRvIG5vcm1hbC4NCg0KICAgICAgICAg IEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUg c2VjLA0KICAgICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sDQogICAgICAgICAgaXMgaW1wbGVtZW50ZWQgdG8gcHJldmVudCBpbnRl cm1pdHRlbnQgbm90aWZpY2F0aW9ucyB0byBiZQ0KICAgICAgICAgIHNlbnQuDQoNCiAgICAgICAg ICBHZW5lcmF0aW9uIG9mIHRoaXMgbm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlDQog ICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQ0KDQogICAgICBlZm1DdVBtZVNuck1nbkNy b3NzaW5nIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVm bUN1UG1lU25yTWduLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNoU25yTWduDQogICAgICAgIH0N Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDQyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMg bm90aWZpY2F0aW9uIGluZGljYXRlcyB0aGF0IHRoZSBTTlIgbWFyZ2luIHRocmVzaG9sZA0KICAg ICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNoU25yTWduIHZhbHVlKSBoYXMgYmVlbg0K ICAgICAgICAgIHJlYWNoZWQvZXhjZWVkZWQgZm9yIHRoZSAyQkFTRS1UTC8xMFBBU1MtVFMgUE1F Lg0KICAgICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2lu ZyBldmVudCBpbg0KICAgICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBub3JtYWwgdG8gZXhj ZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQNCiAgICAgICAgICB0byBub3JtYWwuDQoNCiAgICAgICAg ICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2YgMi41 IHNlYywNCiAgICAgICAgICBiZXR3ZWVuIHRoZSBkZXRlY3Rpb24gb2YgdGhlIGNvbmRpdGlvbiBh bmQgbm90aWZpY2F0aW9uLA0KICAgICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHByZXZlbnQgaW50 ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUNCiAgICAgICAgICBzZW50Lg0KDQogICAgICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0K ICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgb2JqZWN0LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVOb3RpZmljYXRpb25zIDIgfQ0KDQogICAgICBlZm1DdVBtZURldmljZUZh dWx0IE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMg dGhhdCBhIGZhdWx0IGluIHRoZSBQTUUgaGFzIGJlZW4NCiAgICAgICAgICBkZXRlY3RlZCBieSBh IHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0Lg0KDQogICAgICAgICAg R2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAg ICAgICAgIGVmbUN1UG1lRGV2aWNlRmF1bHRFbmFibGUgb2JqZWN0LiINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDMgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIE5PVElGSUNBVElPTi1UWVBFDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1 UG1lRmx0U3RhdHVzLA0KICAgICAgICAgIGVmbUN1QWRtaW5Qcm9maWxlLA0KICAgICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRp Y2F0ZXMgdGhhdCBQTUUgaW5pdGlhbGl6YXRpb24gaGFzDQogICAgICAgICAgZmFpbGVkLCBkdWUg dG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0byBhY2hpZXZlIHJlcXVlc3RlZA0KICAgICAg ICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4NCg0KICAgICAgICAgIEdlbmVyYXRpb24gb2YgdGhp cyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUNCiAgICAgICAgICBlZm1DdVBtZUNv bmZpZ0luaXRGYWlsRW5hYmxlIG9iamVjdC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lTm90aWZp Y2F0aW9ucyA0IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIE5PVElGSUNB VElPTi1UWVBFDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA0M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsDQogICAgICAg ICAgZWZtQ3VQbWVPcGVyU3ViVHlwZQ0KICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBp bmRpY2F0ZXMgdGhhdCBwZWVyIFBNRSB3YXMgdXNpbmcNCiAgICAgICAgICBpbmNvbXBhdGlibGUg cHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLg0KDQogICAgICAgICAgR2VuZXJhdGlvbiBv ZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZQ0KICAgICAgICAgIGVmbUN1 UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZSBvYmplY3QuIg0KICAgICAgICA6Oj0geyBlZm1DdVBt ZU5vdGlmaWNhdGlvbnMgNSB9DQoNCiAgICAgIC0tIFRoZSBQTUUgZ3JvdXANCg0KICAgICAgZWZt Q3VQbWVDb25mVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0Ug T0YgRWZtQ3VQbWVDb25mRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJUYWJsZSBmb3IgQ29uZmlndXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UN CiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzIChtb2RlbXMpLiBDb25maWd1 cmF0aW9uIG9mDQogICAgICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBvciAxMFBB U1MtVFMgUE1FIHR5cGVzIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNv bmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUNCiAgICAgICAgICByZXNwZWN0aXZlbHku DQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEgcGVyc2lzdGVudA0KICAgICAgICAgIG1hbm5lci4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1l IDEgfQ0KDQogICAgICBlZm1DdVBtZUNvbmZFbnRyeSBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBFZm1DdVBtZUNvbmZFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNz aWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4N CiAgICAgICAgICBFYWNoIGVudHJ5IHJlcHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZN Q3UgUE1FIHBvcnQNCiAgICAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQg YW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlDQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmds ZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkg dG9nZXRoZXIgd2l0aCBvdGhlciBQTUUgcG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAg ICBJTkRFWCAgeyBpZkluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mVGFibGUgMSB9 DQoNCiAgICAgIEVmbUN1UG1lQ29uZkVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAg ICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybywNCiAg ICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsDQoNCg0K DQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAg ICAgICAgICBbUGFnZSA0NF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50 ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLA0KICAgICAgICAgIGVmbUN1UG1l VGhyZXNoU25yTWduICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVMaW5l QXRuQ3Jvc3NpbmdFbmFibGUgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVTbnJNZ25D cm9zc2luZ0VuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVs dEVuYWJsZSAgICAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bEVuYWJsZSAgIFRydXRoVmFsdWUsDQogICAgICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWls RW5hYmxlIFRydXRoVmFsdWUNCiAgICAgICAgfQ0KDQogICAgICBlZm1DdVBtZUFkbWluU3ViVHlw ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAg aWVlZTJCYXNlVExPKDEpLA0KICAgICAgICAgIGllZWUyQmFzZVRMUigyKSwNCiAgICAgICAgICBp ZWVlMTBQYXNzVFNPKDMpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU1IoNCksDQogICAgICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwNCiAgICAgICAgICBpZWVlMkJhc2VUTG9yMTBQYXNz VFNPKDYpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU29yMkJhc2VUTE8oNykNCiAgICAgICAgfQ0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQWRtaW5pc3RyYXRpdmUgKGRlc2ly ZWQpIHN1Yi10eXBlIG9mIHRoZSBQTUUuDQogICAgICAgICAgUG9zc2libGUgdmFsdWVzIGFyZToN CiAgICAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBh cyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAgICAgICAgICAgLSBQTUUgU0hB TEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVINCiAgICAgICAgICAgIGllZWUxMFBhc3NUU08gICAgICAg ICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtUg0KICAgICAg ICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNl VEwtUiBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RTLVIu IEFjdHVhbCB2YWx1ZSB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2V0IGJ5IC1PIGxpbmsgcGFydG5lciBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4NCiAgICAgICAgICAgIGll ZWUyQmFzZVRMb3IxMFBhc3NUU08gLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8NCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJlZmVycmVkKSBvciAxMFBhc3NU Uy1PLiBBY3R1YWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3 aWxsIGJlIHNldCBkdXJpbmcNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bml0aWFsaXphdGlvbiBkZXBlbmRpbmcgb24gLVINCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5lLiBpZg0KICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC1SIGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVk DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMkJhc2VUTCBtb2RlLCAxMFBh c3NUUyB3aWxsIGJlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCku DQogICAgICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0gUE1FIFNIQUxMIG9wZXJhdGUg YXMgMTBQYXNzVFMtTw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcmVm ZXJyZWQpIG9yIDJCYXNlVEwtTy4gQWN0dWFsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUgd2lsbCBiZSBzZXQgZHVyaW5nDQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVyIGNhcGFiaWxpdHkgKGkuZS4g aWYNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtUiBpcyBpbmNhcGFibGUg b2YgdGhlIHByZWZlcnJlZA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEw UGFzc1RTIG1vZGUsIDJCYXNlVEwgd2lsbCBiZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVzZWQpLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNDVdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICAgICAgICAgQ2hhbmdpbmcgZWZtQ3VQbWVBZG1pblN1YlR5cGUgaXMgYSB0cmFm ZmljIGRpc3J1cHRpdmUNCiAgICAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uDQogICAgICAgICAgQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJlamVjdGVkIGlmIHRoZSBsaW5rDQogICAgICAgICAgaXMg VXAgb3IgSW5pdGlhbGl6aW5nLg0KICAgICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9i amVjdCB0byBhbiB1bnN1cHBvcnRlZCBzdWJ0eXBlDQogICAgICAgICAgKHNlZSBlZm1DdVBtZVN1 YlR5cGVzU3VwcG9ydGVkKSBTSEFMTCBiZSByZWplY3RlZC4NCg0KICAgICAgICAgIFRoZSBjdXJy ZW50IG9wZXJhdGlvbmFsIHN1YiB0eXBlIGlzIGluZGljYXRlZCBieQ0KICAgICAgICAgIGVmbUN1 UG1lT3BlclN1YlR5cGUgdmFyaWFibGUuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBwcmVzZW50LCB0aGVuDQogICAgICAgICAgdGhp cyBvYmplY3QgY29tYmluZXMgdmFsdWVzIG9mIHRoZSBQb3J0IHN1Yi10eXBlIHNlbGVjdCBiaXRz DQogICAgICAgICAgYW5kIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMgaW4gdGhlIDEw UC8yQiBQTUEvUE1EDQogICAgICAgICAgY29udHJvbCByZWdpc3RlciINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgIls4MDIuM2FoXSA2MS4xLCA0NS4yLjEuMTEuNCwgNDUuMi4xLjExLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZUFk bWluUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUlu ZGV4T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIFBN RSBjb25maWd1cmF0aW9uIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlcg0KICAgICAg ICAgIHRvIGFuIGVudHJ5IGluIGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yDQogICAg ICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUsIGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBv cGVyYXRpbmcNCiAgICAgICAgICBTdWJUeXBlIG9mIHRoZSBQTUUuIFRoZSB2YWx1ZSBvZiB0aGlz IG9iamVjdCBpcyB0aGUgaW5kZXggb2YNCiAgICAgICAgICB0aGUgcmVmZXJlbmNlZCBwcm9maWxl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCB0 aGUgUE1FIGlzDQogICAgICAgICAgY29uZmlndXJlZCB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb2Jq ZWN0IGZvciB0aGUgUENTIHBvcnQsDQogICAgICAgICAgdG8gd2hpY2ggdGhpcyBQTUUgaXMgYXNz aWduZWQuIFRoYXQgaXMsIHRoZSBwcm9maWxlIHJlZmVyZW5jZWQNCiAgICAgICAgICBieSBlZm1D dVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykNCiAg ICAgICAgICByZWZlcmVuY2VkIGJ5IGVmbUN1QWRtaW5Qcm9maWxlLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVz DQogICAgICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKS4gSXQgaXMgaXJyZWxldmFudCBm b3IgdGhlIENQRQ0KICAgICAgICAgIHN1YnR5cGUgKDJCYXNlVEwtUiBvciAxMFBhc3NUUy1SKSAt IGEgemVybyB2YWx1ZSBTSEFMTCBiZQ0KICAgICAgICAgIHJldHVybmVkIG9uIGFuIGF0dGVtcHQg dG8gcmVhZCB0aGlzIG9iamVjdCBhbmQgYW55IGF0dGVtcHQNCiAgICAgICAgICB0byBjaGFuZ2Ug dGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCBpbiB0aGlzIGNhc2UuDQoNCiAgICAgICAgICBO b3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9maWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2 aWENCiAgICAgICAgICBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdC4NCg0KICAgICAgICAgIE1v ZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuIHRoZSBsaW5r IGlzDQogICAgICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1Qg YmUgcmVqZWN0ZWQsIGlmIHRoZQ0KICAgICAgICAgIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5n Lg0KICAgICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQg aXMgbm90IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVu dHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ2XQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuNiIN CiAgICAgICAgREVGVkFMIHsgMCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFBoeXNBZGRyZXNzIChTSVpFKDB8NikpDQogICAgICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVND UklQVElPTg0KICAgICAgICAgICJQQUYgUmVtb3RlIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBQTUUg cG9ydCBhdCBDTy4NCiAgICAgICAgICBBIDYgb2N0ZXQgbG9uZyBEaXNjb3ZlcnkgQ29kZSBvZiB0 aGUgcGVlciBQQ1MgY29ubmVjdGVkIHZpYQ0KICAgICAgICAgIHRoZSBQTUUuDQogICAgICAgICAg UmVhZGluZyB0aGlzIG9iamVjdCByZXN1bHRzIGluIGEgRGlzY292ZXJ5IEdldCBvcGVyYXRpb24u DQogICAgICAgICAgU2V0dGluZyB0aGlzIG9iamVjdCB0byBhbGwgemVyb2VzIHJlc3VsdHMgaW4g YSBEaXNjb3ZlcnkNCiAgICAgICAgICBDbGVhcl9pZl9TYW1lIG9wZXJhdGlvbiAodGhlIHZhbHVl IG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZQ0KICAgICAgICAgIGF0IHRoZSBwZWVyIFBDUyBTSEFM TCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YNCiAgICAgICAgICB0aGUg bG9jYWwgUENTIGFzc29jaWF0ZWQgd2l0aCB0aGUgUE1FIGZvciB0aGUgb3BlcmF0aW9uIHRvDQog ICAgICAgICAgc3VjY2VlZCkuDQogICAgICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRv IHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYQ0KICAgICAgICAgIERpc2NvdmVyeSBTZXRfaWZfQ2xl YXIgb3BlcmF0aW9uLg0KICAgICAgICAgIEEgemVyby1sZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8NCiAgICAgICAgICByZWFkIHRoaXMgb2JqZWN0 IHdoZW4gUEFGIGFnZ3JlZ2F0aW9uIGlzIG5vdCBlbmFibGVkLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaXJyZWxldmFudCBpbiBDUEUgcG9ydCAoLVIpIHN1YnR5cGVzOiBpbiB0aGlzDQog ICAgICAgICAgY2FzZSBhIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5l ZCBvbiBhbg0KICAgICAgICAgIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdCwgd3JpdGluZyB0 byB0aGlzIG9iamVjdCBTSEFMTA0KICAgICAgICAgIGJlIHJlamVjdGVkLg0KDQogICAgICAgICAg RGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlIGxpbmsgaXMgRG93bi4NCiAgICAg ICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSByZWplY3RlZCAoaW4g Y2FzZSBvZg0KICAgICAgICAgIFNOTVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUp LCBpZiB0aGUgbGluayBpcyBVcCBvcg0KICAgICAgICAgIEluaXRpYWxpemluZy4NCg0KICAgICAg ICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNl bnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBpcyBhIGZ1bmN0aW9uIG9mIDEwUC8yQiBh Z2dyZWdhdGlvbiBkaXNjb3ZlcnkNCiAgICAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBEaXNjb3Zl cnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIGFnZ3JlZ2F0aW9u IGFuZCBkaXNjb3Zlcnkgc3RhdHVzIHJlZ2lzdGVyIGFuZA0KICAgICAgICAgIDEwUC8yQiBhZ2dy ZWdhdGlvbiBkaXNjb3ZlcnkgY29kZSByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAg ICAgICAgIls4MDIuM2FoXSA2MS4yLjIuOC40LCA0NS4yLjYuNi00NS4yLjYuOCINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMyB9DQoNCiAgICAgIGVmbUN1UG1lVGhyZXNoTGluZUF0 biAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJbnRlZ2VyMzIoLTEyNy4uMTI4KQ0KICAg ICAgICBVTklUUyAgICAgICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDQ3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQg TGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRoZSAyQi8xMFAgUE1FLg0KICAgICAgICAg IFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIGxpbmUgYXR0ZW51YXRpb24gYWxhcm0gdGhyZXNo b2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUgb2YgTGluZSBBdHRlbnVhdGlv biByZWFjaGVzIG9yDQogICAgICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYSBlZm1DdVBt ZUxpbmVBdG5Dcm9zc2luZw0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVk LCBpZiBlbmFibGVkIGJ5DQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUu DQoNCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUg UE1FcyAoLU8pLg0KICAgICAgICAgIEl0IGlzIHJlYWQtb25seSBmb3IgdGhlIENQRSBzdWJ0eXBl ICgtUikuDQoNCiAgICAgICAgICBDaGFuZ2luZyBvZiB0aGUgTGluZSBBdHRlbnVhdGlvbiBUaHJl c2hvbGQgTVVTVCBiZSBwZXJmb3JtZWQNCiAgICAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlDQogICAgICAgICAgcmVqZWN0 ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNpc3RlbnRWYWx1ZSksDQog ICAgICAgICAgaWYgdGhlIGxpbmsgaXMgVXAgb3IgSW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVu IHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJl c2hvbGQgYml0cyBpbg0KICAgICAgICAgIHRoZSAyQiBQTUQgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUu Mi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA0IH0NCg0KICAgICAgZWZt Q3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjgpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFD Q0VTUyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIFNOUiBt YXJnaW4gYWxhcm0gdGhyZXNob2xkLg0KICAgICAgICAgIFdoZW4gdGhlIGN1cnJlbnQgdmFsdWUg b2YgU05SIE1hcmdpbiByZWFjaGVzIG9yIGV4Y2VlZHMgdGhpcw0KICAgICAgICAgIHRocmVzaG9s ZCwgYSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUNCiAgICAgICAg ICBnZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJsZS4N Cg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIHdyaXRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQ TUVzDQogICAgICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZv ciB0aGUgQ1BFIHN1YnR5cGUNCiAgICAgICAgICAoMkJhc2VUTC1SLzEwUGFzc1RTLVIpLg0KDQog ICAgICAgICAgQ2hhbmdpbmcgb2YgdGhlIFNOUiBNYXJnaW4gVGhyZXNob2xkIE1VU1QgYmUgcGVy Zm9ybWVkIHdoZW4NCiAgICAgICAgICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFu Z2UgdGhpcyBvYmplY3QgTVVTVCBiZQ0KICAgICAgICAgIHJlamVjdGVkIChpbiBjYXNlIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLA0KICAgICAgICAgIGlmIHRoZSBs aW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4NCg0KICAgICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4gdGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBN RA0KICAgICAgICAgIGxpbmUgcXVhbGl0eSB0aHJlc2hvbGRzIHJlZ2lzdGVyIg0KDQoNCg0KQmVp bGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAg ICAgW1BhZ2UgNDhdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFj ZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIFJFRkVSRU5DRQ0K ICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNv bmZFbnRyeSA1IH0NCg0KICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUgIE9CSkVD VC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VT UyAgcmVhZC13cml0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNiB9 DQoNCiAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUgIE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jvc3Npbmcgbm90aWZpY2F0 aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLg0K DQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVNuck1n bkNyb3NzaW5nDQogICAgICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVlIG9mIGZh bHNlKDIpIGluZGljYXRlcyB0aGF0DQogICAgICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNh YmxlZC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDcgfQ0KDQogICAgICBlZm1D dVBtZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBU cnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJJbmRpY2F0ZXMg d2hldGhlciBlZm1DdVBtZURldmljZUZhdWx0IG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91 bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9m IHRydWUoMSkgaW5kaWNhdGVzIHRoYXQgZWZtQ3VQbWVEZXZpY2VGYXVsdA0KICAgICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0K ICAgICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBl Zm1DdVBtZUNvbmZFbnRyeSA4IH0NCg0KICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbEVuYWJs ZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQ0KICAgICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1 Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDQ5XQ0KDA0KSW50ZXJuZXQtRHJhZnQg ICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3 DQoNCg0KICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0luaXRGYWls dXJlIG5vdGlmaWNhdGlvbnMNCiAgICAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlz IGludGVyZmFjZS4NCg0KICAgICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZQ0KICAgICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFi bGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdA0KICAgICAgICAgIHRoZSBub3Rp ZmljYXRpb24gaXMgZGlzYWJsZWQuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA5 IH0NCg0KICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVlDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQt d3JpdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0K ICAgICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUg bm90aWZpY2F0aW9ucw0KICAgICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRoaXMgaW50 ZXJmYWNlLg0KDQogICAgICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1D dVBtZVByb3RvY29sSW5pdEZhaWx1cmUNCiAgICAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxl ZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQNCiAgICAgICAgICB0aGUgbm90aWZp Y2F0aW9uIGlzIGRpc2FibGVkLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMTAg fQ0KDQoNCiAgICAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAg IFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5DQogICAgICAg IE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGFibGUgZm9yIENvbmZpZ3VyYXRpb24g b2YgY29tbW9uIGFzcGVjdHMgZm9yIEVGTUN1DQogICAgICAgICAgMkJBU0UtVEwvMTBQQVNTLVRT IFBNRSBwb3J0cyAobW9kZW1zKS4gQ29uZmlndXJhdGlvbiBvZg0KICAgICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcw0KICAgICAgICAg IHJlcHJlc2VudGVkIGluIGVmbUN1UG1lMkJDb25mVGFibGUgYW5kIGVmbUN1UG1lMTBQQ29uZlRh YmxlDQogICAgICAgICAgcmVzcGVjdGl2ZWx5Lg0KDQogICAgICAgICAgRW50cmllcyBpbiB0aGlz IHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQNCiAgICAgICAgICBtYW5u ZXIuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZSAyIH0NCg0KICAgICAgZWZtQ3VQbWVDYXBhYmls aXR5RW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWVDYXBhYmls aXR5RW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIENhcGFiaWxpdHkgdGFibGUuDQogICAgICAgICAgRWFjaCBlbnRy eSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0DQogICAgICAg ICAgaW5kZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNh biBiZQ0KICAgICAgICAgIHN0YWNrZWQgYmVsb3cgYSBzaW5nbGUgUENTIHBvcnQsIGFsc28gaW5k ZXhlZCBieSBpZkluZGV4LA0KICAgICAgICAgIHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIg UE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiINCiAgICAgICAgSU5ERVggIHsgaWZJbmRleCB9 DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWVDYXBhYmlsaXR5VGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lQ2FwYWJp bGl0eUVudHJ5IDo6PQ0KICAgICAgICBTRVFVRU5DRSB7DQogICAgICAgICAgZWZtQ3VQbWVTdWJU eXBlc1N1cHBvcnRlZCAgICAgQklUUw0KICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lU3ViVHlw ZXNTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEJJVFMgew0KICAg ICAgICAgIGllZWUyQmFzZVRMTygwKSwNCiAgICAgICAgICBpZWVlMkJhc2VUTFIoMSksDQogICAg ICAgICAgaWVlZTEwUGFzc1RTTygyKSwNCiAgICAgICAgICBpZWVlMTBQYXNzVFNSKDMpDQogICAg ICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiUE1FIHN1cHBvcnRlZCBz dWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YgcG9zc2libGUNCiAgICAgICAgICBzdWItdHlw ZXMuIFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNl VExPICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJCYXNlVEwtTw0KICAgICAg ICAgICAgaWVlZTJCYXNlVExSICAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDJC YXNlVEwtUg0KICAgICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1FIGlzIGNhcGFibGUgb2Yg b3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8NCiAgICAgICAgICAgIGllZWUxMFBhc3NUU1IgICAtIFBN RSBpcyBjYXBhYmxlIG9mIG9wZXJhdGluZyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBBbiBk ZXNpcmVkIG1vZGUgb2Ygb3BlcmF0aW9uIGlzIGRldGVybWluZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZsZWN0cyB0aGUN CiAgICAgICAgICBjdXJyZW50IG9wZXJhdGluZyBtb2RlLg0KDQogICAgICAgICAgSWYgYSBDbGF1 c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAg ICAgICAgICBvYmplY3QgY29tYmluZXMgdGhlIDEwUEFTUy1UUyBjYXBhYmxlIGFuZCAyQkFTRS1U TCBjYXBhYmxlDQogICAgICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlDQogICAgICAgICAgQ08gc3VwcG9ydGVkIGFuZCBDUEUgc3Vw cG9ydGVkIGJpdHMgaW4gdGhlIDEwUC8yQiBQTUEvUE1EDQogICAgICAgICAgc3RhdHVzIHJlZ2lz dGVyIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS40LjEsIDQ1LjIuMS40LjIsIDQ1LjIuMS4xMi4yLA0KICAgICAgICAgIDQ1LjIuMS4xMi4zIg0K ICAgICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlFbnRyeSAxIH0NCg0KDQogICAgICBlZm1D dVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNF IE9GIEVmbUN1UG1lU3RhdHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIGNvbW1vbiBzdGF0dXMgaW5mb3JtYXRpb24gb2Yg RUZNQ3UNCiAgICAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMgaW5m b3JtYXRpb24gc3BlY2lmaWMNCiAgICAgICAgICB0byAxMFBBU1MtVFMgUE1FIGlzIHJlcHJlc2Vu dGVkIGluIGVmbUN1UG1lMTBQU3RhdHVzVGFibGUuDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAg ICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDUxXQ0K DA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAg ICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIFRoaXMgdGFibGUgY29udGFpbnMgbGl2 ZSBkYXRhIGZyb20gdGhlIGVxdWlwbWVudC4gQXMgc3VjaCwNCiAgICAgICAgICBpdCBpcyBOT1Qg cGVyc2lzdGVudC4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lIDMgfQ0KDQogICAgICBlZm1DdVBt ZVN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3Rh dHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RB VFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBbiBlbnRy eSBpbiB0aGUgRUZNQ3UgUE1FIFN0YXR1cyB0YWJsZS4NCiAgICAgICAgICBFYWNoIGVudHJ5IHJl cHJlc2VudHMgY29tbW9uIGFzcGVjdHMgb2YgYW4gRUZNQ3UgUE1FIHBvcnQNCiAgICAgICAgICBp bmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJl DQogICAgICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVk IGJ5IGlmSW5kZXgsDQogICAgICAgICAgcG9zc2libHkgdG9nZXRoZXIgd2l0aCBvdGhlciBQTUUg cG9ydHMgaWYgUEFGIGlzIGVuYWJsZWQuIg0KICAgICAgICBJTkRFWCAgeyBpZkluZGV4IH0NCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNUYWJsZSAxIH0NCg0KICAgICAgRWZtQ3VQbWVTdGF0 dXNFbnRyeSA6Oj0NCiAgICAgICAgU0VRVUVOQ0Ugew0KICAgICAgICAgIGVmbUN1UG1lT3BlclN0 YXR1cyAgICAgICAgICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAg ICAgICAgICAgQklUUywNCiAgICAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICAgICAgICAgICBJ TlRFR0VSLA0KICAgICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgICAgICAgICAgIEVmbVByb2Zp bGVJbmRleE9yWmVybywNCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJ bnRlZ2VyMzIsDQogICAgICAgICAgZWZtQ3VQbWVQZWVyU25yTWduICAgICAgICAgICAgSW50ZWdl cjMyLA0KICAgICAgICAgIGVmbUN1UG1lTGluZUF0biAgICAgICAgICAgICAgIEludGVnZXIzMiwN CiAgICAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuICAgICAgICAgICBJbnRlZ2VyMzIsDQogICAg ICAgICAgZWZtQ3VQbWVFcXVpdmFsZW50TGVuZ3RoICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAg ICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzICAgICAgICBDb3VudGVyMzIsDQogICAgICAgICAgZWZt Q3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyDQogICAgICAgIH0NCg0KICAgICAg ZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJTlRF R0VSIHsNCiAgICAgICAgICB1cCgxKSwNCiAgICAgICAgICBkb3duTm90UmVhZHkoMiksDQogICAg ICAgICAgZG93blJlYWR5KDMpLA0KICAgICAgICAgIGluaXQoNCkNCiAgICAgICAgfQ0KICAgICAg ICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJDdXJyZW50IFBNRSBsaW5rIE9wZXJhdGlvbmFs IFN0YXR1cy4gUG9zc2libGUgdmFsdWVzIGFyZToNCiAgICAgICAgICAgIHVwKDEpICAgICAgICAg ICAtIGxpbmsgaXMgVXAgYW5kIHJlYWR5IHRvIHBhc3MgNjQvNjVCDQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMuDQogICAgICAgICAgICBk b3duTm90UmVhZHkoMikgLSBsaW5rIGlzIERvd24gYW5kIHRoZSBQTUUgZG9lcyBub3QgZGV0ZWN0 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kc2hha2UgdG9uZXMgZnJvbSBpdHMg cGVlci4gVGhpcyB2YWx1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGluZGlj YXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1Ml0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBwZWVy IFBNRS4NCiAgICAgICAgICAgIGRvd25SZWFkeSgzKSAgICAtIGxpbmsgaXMgRG93biBhbmQgdGhl IFBNRSBkZXRlY3RzIEhhbmRzaGFrZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9u ZXMgZnJvbSBpdHMgcGVlci4NCiAgICAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMg aW5pdGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZg0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWZBZG1pblN0YXR1cyBiZWluZyBzZXQgdG8gJ3VwJyBmb3IgYQ0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFydGljdWxhciBQTUUgb3IgYSBQQ1MgdGhlIFBNRSBpcw0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGVkIHRvLg0KDQogICAgICAgICAgVGhpcyBv YmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBEb3duIHN0YXRlIG9mDQogICAgICAgICAg aWZPcGVyU3RhdHVzLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8g dGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUNCiAgICAgICAgICBhUE1FU3RhdHVzLg0KDQogICAgICAg ICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0 aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gUE1BL1BNRCBsaW5r IHN0YXR1cyBiaXRzIGluIDEwUC8yQg0KICAgICAgICAgIFBNQS9QTUQgc3RhdHVzIHJlZ2lzdGVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywg NDUuMi4xLjEyLjQiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgMSB9DQoNCiAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBC SVRTIHsNCiAgICAgICAgICBsb3NzT2ZGcmFtaW5nKDApLA0KICAgICAgICAgIHNuck1nbkRlZmVj dCgxKSwNCiAgICAgICAgICBsaW5lQXRuRGVmZWN0KDIpLA0KICAgICAgICAgIGRldmljZUZhdWx0 KDMpLA0KICAgICAgICAgIGNvbmZpZ0luaXRGYWlsdXJlKDQpLA0KICAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUoNSkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICJDdXJyZW50L0xhc3QgUE1FIGxpbmsgRmF1bHQgU3RhdHVzLiBUaGlzIGlzIGEgYml0bWFw IG9mDQogICAgICAgICAgcG9zc2libGUgY29uZGl0aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0 aW9ucyBhcmU6DQoNCiAgICAgICAgICAgIGxvc3NPZkZyYW1pbmcgICAgICAgLSBMb3NzIG9mIEZy YW1pbmcgZm9yIDEwUCBvcg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvc3Mg b2YgU3luYyB3b3JkIGZvciAyQiBQTUQgb3INCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nDQogICAgICAgICAgICBzbnJNZ25EZWZlY3QgICAg ICAgIC0gU05SIE1hcmdpbiBkcm9wcGVkIGJlbG93IHRoZSBUaHJlc2hvbGQNCiAgICAgICAgICAg IGxpbmVBdG5EZWZlY3QgICAgICAgLSBMaW5lIEF0dGVudWF0aW9uIGV4Y2VlZHMgdGhlIFRocmVz aG9sZA0KICAgICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRv ci1kZXBlbmRlbnQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFnbm9zdGlj IG9yIHNlbGYtdGVzdCBmYXVsdA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhh cyBiZWVuIGRldGVjdGVkLg0KICAgICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZp Z3VyYXRpb24gaW5pdGlhbGl6YXRpb24gZmFpbHVyZSwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkdWUgdG8gaW5hYmlsaXR5IG9mIHRoZSBQTUUgbGluayB0bw0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgY29uZmlndXJhdGlvbiBwcm9maWxlLA0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlh bGl6YXRpb24uDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3Qg MjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1M10NCgwNCkludGVybmV0LURyYWZ0ICAgICAg ICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoN CiAgICAgICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlv biBmYWlsdXJlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBpbmNv bXBhdGlibGUgcHJvdG9jb2wgdXNlZCBieQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSBQZWVyIFBNRSBkdXJpbmcgaW5pdCAodGhhdCBjb3VsZA0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBlZXIgUE1EIGlzIGEgcmVndWxhcg0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RIU0wvVkRTTCBtb2RlbSBpbnN0ZWFk IG9mIGENCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyQkFTRS1UTC8xMFBBU1Mt VFMgUE1FKS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGlzIGludGVuZGVkIHRvIHN1cHBsZW1l bnQgaWZPcGVyU3RhdHVzIGluIElGLU1JQi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IGhvbGRz IGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lg0KICAgICAgICAgIGVmbUN1UG1lRmx0 U3RhdHVzIGlzIGNsZWFyZWQgYnkgdGhlIGRldmljZSByZXN0YXJ0Lg0KICAgICAgICAgIEluIGFk ZGl0aW9uIGxvc3NPZkZyYW1pbmcsIGNvbmZpZ0luaXRGYWlsdXJlIGFuZA0KICAgICAgICAgIHBy b3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuDQogICAgICAgICAgZGV2 aWNlRmF1bHQgaXMgY2xlYXJlZCBieSBzdWNjZXNzZnVsIGRpYWdub3N0aWNzL3Rlc3QuDQogICAg ICAgICAgc25yTWduRGVmZWN0IGFuZCBsaW5lQXRuRGVmZWN0IGFyZSBjbGVhcmVkIGJ5IFNOUiBN YXJnaW4NCiAgICAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJu aW5nIHRvIG5vcm0gYW5kIGJ5DQogICAgICAgICAgUE1FIGluaXQuDQoNCiAgICAgICAgICBUaGlz IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZQ0KICAgICAg ICAgIGFQTUVTdGF0dXMuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBjb25z b2xpZGF0ZXMgaW5mb3JtYXRpb24gZnJvbSB2YXJpb3VzIFBNQS9QTUQNCiAgICAgICAgICByZWdp c3RlcnMsIG5hbWVseTogRmF1bHQgYml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsDQog ICAgICAgICAgMTBQLzJCIFBNQS9QTUQgbGluayBsb3NzIHJlZ2lzdGVyLA0KICAgICAgICAgIDEw UCBvdXRnb2luZyBpbmRpY2F0b3IgYml0cyBzdGF0dXMgcmVnaXN0ZXIsDQogICAgICAgICAgMTBQ IGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyByZWdpc3RlciwNCiAgICAgICAgICAyQiBz dGF0ZSBkZWZlY3RzIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4 MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LA0KICAgICAgICAgIDQ1 LjIuMS4zOSwgNDUuMi4xLjU0Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDIg fQ0KDQogICAgICBlZm1DdVBtZU9wZXJTdWJUeXBlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5U QVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBpZWVlMkJhc2VUTE8oMSksDQogICAgICAgICAg aWVlZTJCYXNlVExSKDIpLA0KICAgICAgICAgIGllZWUxMFBhc3NUU08oMyksDQogICAgICAgICAg aWVlZTEwUGFzc1RTUig0KQ0KICAgICAgICB9DQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkN1cnJlbnQgb3BlcmF0aW9uYWwgc3ViLXR5cGUgb2YgdGhlIFBNRS4NCiAgICAgICAg ICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAgaWVlZTJCYXNlVExPICAgICAgICAg ICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLU8NCiAgICAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMkJhc2VUTC1SDQogICAgICAgICAgICBpZWVlMTBQ YXNzVFNPICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDEwUGFzc1RTLU8NCg0KDQoNCkJlaWxp ICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAg IFtQYWdlIDU0XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2Vz IE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgICAgaWVlZTEwUGFz c1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SDQoNCiAgICAgICAgICBU aGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29uZmlndXJlZCB2aWEN CiAgICAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSB2YXJpYWJsZS4NCg0KICAgICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsIHRo ZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBvcnQgc3Vi LXR5cGUgc2VsZWN0DQogICAgICAgICAgYml0cywgdGhlIFBNQS9QTUQgdHlwZSBzZWxlY3Rpb24g Yml0cyBpbiB0aGUgMTBQLzJCDQogICAgICAgICAgUE1BL1BNRCBjb250cm9sIHJlZ2lzdGVyIGFu ZCB0aGUgUE1BL1BNRCBsaW5rIHN0YXR1cyBiaXRzIGluDQogICAgICAgICAgdGhlIDEwUC8yQiBQ TUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJb ODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIuMS4xMS43LCA0NS4yLjEuMTIuNCINCiAg ICAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWVPcGVy UHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4 T3JaZXJvDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlBNRSBjdXJyZW50IG9w ZXJhdGluZyBQcm9maWxlLiBUaGlzIG9iamVjdCBpcyBhIHBvaW50ZXIgdG8NCiAgICAgICAgICBh biBlbnRyeSBpbiBlaXRoZXIgZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcg0KICAgICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQNCiAgICAgICAg ICBvcGVyYXRpbmcgU3ViVHlwZSBvZiB0aGUgUE1FIGFzIGluZGljYXRlZCBieQ0KICAgICAgICAg IGVmbUN1UG1lT3BlclN1YlR5cGUuDQogICAgICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRy eSwgdG8gd2hpY2ggZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcw0KICAgICAgICAgIHBvaW50aW5nIHRv LCBjYW4gYmUgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LCB0byByZWZsZWN0IGFjaGlldmVkDQogICAg ICAgICAgcGFyYW1ldGVycyBpbiBhZGFwdGl2ZSAobm90IGZpeGVkKSBpbml0aWFsaXphdGlvbiwN CiAgICAgICAgICBpLmUuIHZhbHVlcyBvZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFk bWluUHJvZmlsZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG1heSBkaWZmZXIu DQogICAgICAgICAgVGhlIHZhbHVlIG9mIHplcm8gaW5kaWNhdGVzIHRoYXQgUE1FIGlzIGRvd24g b3IgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMg dG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAz MC4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjci DQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1l U25yTWduIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4x Mjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1h cmdpbiB3aXRoIHJlc3BlY3QNCiAgICAgICAgICB0byB0aGUgcmVjZWl2ZWQgc2lnbmFsIGFzIHBl cmNlaXZlZCBieSB0aGUgbG9jYWwgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBp cyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0K DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA1NV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2Ug MzAuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50 LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJCIFJYIFNOUiBt YXJnaW4gcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDMwLjExLjIuMS40LCA0NS4yLjEuMTYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lUGVlclNuck1nbiBPQkpFQ1QtVFlQRQ0KICAgICAgICBT WU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQ0KICAgICAgICBVTklUUyAgICAg ICAiZEIiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoZSBjdXJyZW50IFNO UiBtYXJnaW4gaW4gZEIgd2l0aCByZXNwZWN0IHRvIHRoZSByZWNlaXZlZA0KICAgICAgICAgIHNp Z25hbCwgYXMgcGVyY2VpdmVkIGJ5IHRoZSByZW1vdGUgKGxpbmsgcGFydG5lcikgUE1FLg0KICAg ICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9y DQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgaXMgaXJy ZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVlDQogICAgICAgICAgb2Yg NjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBsaW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbg0KICAg ICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2Fo XSA0NS4yLjEuMTciDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgNn0NCg0KICAg ICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEludGVn ZXIzMigtMTI3Li4xMjh8NjU1MzUpDQogICAgICAgIFVOSVRTICAgICAgICJkQiINCiAgICAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAg ICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBp biBkQiBhcyBwZXJjZWl2ZWQgYnkgdGhlIGxvY2FsDQogICAgICAgICAgUE1FLg0KICAgICAgICAg IFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yDQogICAg ICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhl IExpbmUgQXR0ZW51YXRpb24gcmVnaXN0ZXIiDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAg ICJbODAyLjNhaF0gNDUuMi4xLjE4Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5 IDcgfQ0KDQogICAgICBlZm1DdVBtZVBlZXJMaW5lQXRuIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIEludGVnZXIzMigtMTI3Li4xMjh8NjU1MzUpDQoNCg0KDQpCZWlsaSAgICAgICAg ICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA1 Nl0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAg ICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgVU5JVFMgICAgICAgImRCIg0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0K ICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0 aW9uIGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlDQogICAgICAgICAgKGxpbmsgcGFy dG5lcikgUE1FLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVu IFBNRSBpcyBkb3duIG9yDQogICAgICAgICAgaW5pdGlhbGl6aW5nLg0KDQogICAgICAgICAgVGhp cyBvYmplY3QgaXMgaXJyZWxldmFudCBmb3IgdGhlIC1SIFBNRSBzdWJ0eXBlcy4gVGhlIHZhbHVl DQogICAgICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0dXJuZWQgaW4gdGhpcyBjYXNlLg0KDQog ICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgaXMgcHJlc2VudCwgdGhlbiB0 aGlzDQogICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDIwUC8yQiBsaW5rIHBhcnRuZXIgTGlu ZSBBdHRlbnVhdGlvbg0KICAgICAgICAgIHJlZ2lzdGVyLiINCiAgICAgICAgUkVGRVJFTkNFDQog ICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTkiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgOCB9DQoNCiAgICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCAgT0JKRUNULVRZ UEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQ0KICAgICAg ICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAg IFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQW4g ZXN0aW1hdGUgb2YgdGhlIGVxdWl2YWxlbnQgbG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbg0KICAg ICAgICAgIG1ldGVycywgYXMgcGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMg ZXN0YWJsaXNoZWQuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRp Y2FsIDI2QVdHICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSBy b290IGF0dGVudWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJy aWRnZWQgdGFwcy4NCiAgICAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgaWYg dGhlIGxpbmsgaXMgRG93biBvcg0KICAgICAgICAgIEluaXRpYWxpemluZyBvciB0aGUgUE1FIGlz IHVuYWJsZSB0byBlc3RpbWF0ZSB0aGUgRXF1aXZhbGVudA0KICAgICAgICAgIExlbmd0aC4NCg0K ICAgICAgICAgIEZvciAxMEJBU0UtVEwgUE1FLCBpZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFj ZSB0byB0aGUgUE1FIGlzDQogICAgICAgICAgcHJlc2VudCwgdGhlbiB0aGlzIG9iamVjdCBtYXBz IHRvIHRoZSAxMFAgRWxlY3RyaWNhbCBMZW5ndGgNCiAgICAgICAgICByZWdpc3RlciINCiAgICAg ICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjEiDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9DQoNCiAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJv cnMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyDQogICAgICAgIE1B WC1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgbnVtYmVyIG9mIDY0LzY1LW9jdGV0IGVuY2Fwc3Vs YXRpb24gZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMNCiAgICAgICAgICBpbmNyZW1lbnRlZCBmb3Ig ZWFjaCA2NC82NS1vY3RldCBlbmNhcHN1bGF0aW9uIGVycm9yIGRldGVjdGVkDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA1N10NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBieSB0aGUgNjQv NjUtb2N0ZXQgcmVjZWl2ZSBmdW5jdGlvbi4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gYVRDQ29kaW5nVmlvbGF0aW9ucyBhdHRyaWJ1dGUgaW4NCiAgICAgICAgICBjbGF1c2UgMzAu DQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIFRD IGlzIHByZXNlbnQsIHRoZW4NCiAgICAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBUQyBj b2RpbmcgdmlvbGF0aW9ucyByZWdpc3Rlcg0KICAgICAgICAgIChzZWUgNDUuMi42LjEyKS4NCg0K ICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNh biBvY2N1ciBhdA0KICAgICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50 IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzDQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRo ZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVk IGluIElGLU1JQi4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEu My4zLjEsIDMwLjExLjIuMS41LCA0NS4yLjYuMTIiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lU3Rh dHVzRW50cnkgMTAgfQ0KDQogICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIzMg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9u bHkNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJBIG51bWJlciBvZiBUQy1DUkMgZXJyb3JzLiBUaGlzIGNvdW50ZXIgaXMgaW5jcmVt ZW50ZWQgZm9yDQogICAgICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0ZWN0ZWQgYnkgdGhlIDY0 LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24NCiAgICAgICAgICAoc2VlIDYxLjMuMy4zIGFuZCBG aWd1cmUgNjEtMTkpLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDUkNFcnJv cnMgYXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAgICAgICAgSWYgYSBD bGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDTUUgVEMgaXMgcHJlc2VudCwgdGhlbg0K ICAgICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcg0K ICAgICAgICAgIChzZWUgNDUuMi42LjExKS4NCg0KICAgICAgICAgIERpc2NvbnRpbnVpdGllcyBp biB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdA0KICAgICAgICAgIHJlLWlu aXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVz DQogICAgICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250 aW51aXR5VGltZSwNCiAgICAgICAgICBkZWZpbmVkIGluIElGLU1JQi4iDQogICAgICAgIFJFRkVS RU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjMsIDMwLjExLjIuMS4xMCwgNDUuMi42 LjExIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDExIH0NCg0KICAgICAtLSAy QkFTRS1UTCBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUyQiAgICAgIE9CSkVD VCBJREVOVElGSUVSIDo6PSB7IGVmbUN1UG1lIDUgfQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmls ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDU4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTVEFU VVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIlRoaXMgdGFi bGUgc3VwcG9ydHMgZGVmaW5pdGlvbnMgb2YgYWRtaW5pc3RyYXRpdmUgYW5kDQogICAgICAgICAg b3BlcmF0aW5nIFByb2ZpbGVzIGZvciAyQkFTRS1UTCBQTUVzLg0KICAgICAgICAgIEZpcnN0IDE0 IGVudHJpZXMgaW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcw0KICAgICAg ICAgIGZvbGxvd3MgKHNlZSA4MDIuM2FoIEFubmV4IDYzQSk6DQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAg IFByb2ZpbGUgTWluUmF0ZSBNYXhSYXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uDQogICAg ICAgICAgIGluZGV4ICAoS2JwcykgIChLYnBzKSAgKGRCbSkNCiAgICAgICAgICAtLS0tLS0tKy0t LS0tLS0rLS0tLS0tLSstLS0tLSstLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAg ICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAgMSAgIDMyLVRDUEFNIChkZWZhdWx0KQ0K ICAgICAgICAgICAgIDIgICAgIDMwNzIgICAgMzA3MiAgICAxMy41ICAgIDEgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDMgICAgIDIwNDggICAgMjA0OCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDUgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDYgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDEgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDggICAgIDMwNzIgICAgMzA3MiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQ0K ICAgICAgICAgICAgIDkgICAgIDIwNDggICAgMjA0OCAgICAxNC41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTEgICAgICA3MDQgICAgIDcwNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTIgICAgICA1MTIgICAgIDUxMiAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQ0K ICAgICAgICAgICAgMTMgICAgICAxOTIgICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAo YmVzdCBlZmZvcnQpDQogICAgICAgICAgICAxNCAgICAgIDE5MiAgICA1Njk2ICAgICAgIDAgICAg MiAgIDAgICAgICAgIChiZXN0IGVmZm9ydCkNCg0KICAgICAgICAgIFRoZXNlIGRlZmF1bHQgZW50 cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2VudA0KICAgICAgICAgIGluaXRpYWxpemF0 aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLg0KDQogICAgICAgICAgRW50cmllcyBmb2xsb3dp bmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRlZCBhbmQNCiAgICAgICAg ICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2ZSAoY29uZmlndXJhdGlv bikNCiAgICAgICAgICBwcm9maWxlcyBhbmQgYXV0b21hdGljIG9wZXJhdGluZyBwcm9maWxlcy4N Cg0KICAgICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVu dCBtYW5uZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4 IDYzQSwgMzAuMTEuMi4xLjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkIgIDIgfQ0KDQogICAg ICBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAg IEVmbUN1UG1lMkJQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJFYWNoIGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDJCQVNFLVRMIFBNRSBw cm9maWxlLg0KICAgICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlucyBhIHNldCBvZiBwYXJhbWV0 ZXJzLCB1c2VkIGVpdGhlciBmb3INCiAgICAgICAgICBjb25maWd1cmF0aW9uIG9yIHJlcHJlc2Vu dGF0aW9uIG9mIGEgMkJBU0UtVEwgUE1FLg0KICAgICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFy IHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmls ZSBvYmplY3QgKG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgaXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KDQoNCg0KQmVpbGkg ICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAg W1BhZ2UgNTldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMg TUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgcGFyYW1ldGVycyB0 aGUgMkJhc2VUTC1PIFBNRSBpbml0aWFsaXphdGlvbi4NCiAgICAgICAgICBJZiBhIHByb2ZpbGUg aXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsDQogICAgICAgICAg aXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJhbWV0ZXJzIG9mIHRoZQ0KICAgICAg ICAgIG9wZXJhdGlvbmFsIFBNRS4NCg0KICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVk L2RlbGV0ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNo YW5pc20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbg0KICAgICAgICAgIGFj dGl2ZSBlbnRyeSBpcyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScN CiAgICAgICAgICB1bnRpbCBhbGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICAgICBE ZWZhdWx0IGVudHJpZXMgTVVTVCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgICAgIElOREVYIHsgZWZt Q3VQbWUyQlByb2ZpbGVJbmRleCB9DQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlVGFi bGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lMkJQcm9maWxlRW50cnkgOjo9DQogICAgICAgIFNFUVVF TkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUluZGV4ICAgICAgICAgICBFZm1Qcm9m aWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVEZXNjciAgICAgICAgICAgU25t cEFkbWluU3RyaW5nLA0KICAgICAgICAgIGVmbUN1UG1lMkJSZWdpb24gICAgICAgICAgICAgICAg IElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAgICAgICAgRWZt UHJvZmlsZUluZGV4T3JaZXJvLA0KICAgICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlICAgICAg ICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAg ICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICAgICAg ICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgICAgICAg Um93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVJbmRleCBPQkpF Q1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXgNCiAgICAgICAgTUFY LUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAg ICAgICBERVNDUklQVElPTg0KICAgICAgICAgICIyQkFTRS1UTCBQTUUgUHJvZmlsZSBpbmRleC4N CiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0 aCB0aGlzIHByb2ZpbGUuDQogICAgICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQ0KICAgICAgICAgIG9yIGVmbUN1UG1lQWRtaW5Q cm9maWxlIG9iamVjdHMuIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDEg fQ0KDQogICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZ TlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFT RS1UTCBQTUUNCiAgICAgICAgICBQcm9maWxlLiBUaGUgc3RyaW5nIG1heSBpbmNsdWRlIGluZm9y bWF0aW9uIGFib3V0IGRhdGEgcmF0ZQ0KICAgICAgICAgIGFuZCBzcGVjdHJhbCBsaW1pdGF0aW9u cyBvZiB0aGlzIHBhcnRpY3VsYXIgcHJvZmlsZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQ cm9maWxlRW50cnkgMiB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWdpb24gIE9CSkVDVC1UWVBFDQoN Cg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAg ICAgICAgICAgICBbUGFnZSA2MF0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3Ug SW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgU1lO VEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAgcmVnaW9uMSgxKSwNCiAgICAgICAgICByZWdp b24yKDIpDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAg ICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJS ZWdpb25hbCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlDQog ICAgICAgICAgcmVsZXZhbnQgUmVnaW9uYWwgQW5uZXggb2YgW0cuOTkxLjJdLg0KICAgICAgICAg IFJlZ2lvbmFsIHNldHRpbmdzIHNwZWNpZnkgUG93ZXIgU3BlY3RyYWwgRGVuc2l0eSAoUFNEKSBt YXNrLA0KICAgICAgICAgIFBvd2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGlt aXRhdGlvbnMgb24gdGhlIG1heA0KICAgICAgICAgIGFsbG93ZWQgZGF0YSByYXRlLCBwb3dlciBh bmQgY29uc3RlbGxhdGlvbi4NCg0KICAgICAgICAgIFBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBv YmplY3QgYXJlOg0KICAgICAgICAgICAgcmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChl LmcuIE5vcnRoIEFtZXJpY2EpDQogICAgICAgICAgICByZWdpb24yICAgICAgLSBBbm5leGVzIEIg YW5kIEcgKGUuZy4gRXVyb3BlKQ0KDQogICAgICAgICAgQW5uZXggQS9CIHNwZWNpZnkgcmVnaW9u YWwgc2V0dGluZ3MgZm9yIGRhdGEgcmF0ZXMgMTkyLTIzMDQNCiAgICAgICAgICBLYnBzIHVzaW5n IDE2LVRDUEFNIGVuY29kaW5nLg0KICAgICAgICAgIEFubmV4IEYvRyBzcGVjaWZ5IHJlZ2lvbmFs IHNldHRpbmdzIGZvciByYXRlcyAyMzIwLTM4NDAgS2Jwcw0KICAgICAgICAgIHVzaW5nIDE2LVRD UEFNIGVuY29kaW5nIGFuZCA3NjgtNTY5NiBLYnBzIHVzaW5nIDMyLVRDUEFNDQogICAgICAgICAg ZW5jb2RpbmcuDQoNCiAgICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0 aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBwYXJ0aWFsbHkg bWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwNCiAgICAgICAgICBwYXJh bWV0ZXIgcmVnaXN0ZXIuIg0KICAgICAgICBSRUZFUkVOQ0UNCiAgICAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQnNNb2RlICBP QkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8NCiAg ICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJEZXNpcmVkIGN1c3RvbSBTcGVjdHJh bCBNb2RlIGZvciAyQkFTRS1UTCBQTUUuIFRoaXMgb2JqZWN0DQogICAgICAgICAgaXMgYSBwb2lu dGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIGFuZCBhIGJsb2NrDQogICAg ICAgICAgb2YgZW50cmllcyBpbiBlZm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUsIHdoaWNoIHRvZ2V0 aGVyIGRlZmluZQ0KICAgICAgICAgIChjb3VudHJ5LXNwZWNpZmljKSByZWFjaCBkZXBlbmRlbnQg cmF0ZSBsaW1pdGF0aW9ucyBpbg0KICAgICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRlZmluZWQg YnkgZWZtQ3VQbWUyQlJlZ2lvbi4NCg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB0aGlzIG9iamVj dCBpcyB0aGUgaW5kZXggb2YgdGhlIHJlZmVyZW5jZWQNCiAgICAgICAgICBzcGVjdHJhbCBtb2Rl Lg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBpbmRpY2F0ZXMgdGhhdCBu byBzcGVjaWZpYw0KICAgICAgICAgIHNwZWN0cmFsIG1vZGUgaXMgYXBwbGljYWJsZS4NCg0KICAg ICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIHZhbHVlIHRoYXQgaXMgbm90 IHRoZSB2YWx1ZQ0KICAgICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0aXZlIGVudHJ5IGlu IHRoZSBjb3JyZXNwb25kaW5nIHNwZWN0cmFsDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2MV0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBtb2RlIHRhYmxlLCBNVVNUIGJlIHJlamVjdGVk LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgImVmbUN1UG1lMkJzTW9kZVRhYmxlLCBl Zm1DdVBtZTJCUmF0ZVJlYWNoVGFibGUiDQogICAgICAgIERFRlZBTCB7IDAgfQ0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQgfQ0KDQogICAgICBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIuLjU2OTYp DQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQog ICAgICAgICAgIk1pbmltdW0gRGF0YSBSYXRlIGZvciB0aGUgMkJBU0UtVEwgUE1FLg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsDQogICAgICAg ICAgd2hlcmUgbj0zLi42MCBmb3IgMTYtVENQQU0gYW5kIG49MTIuLjg5IGZvciAzMi1UQ1BBTSBl bmNvZGluZy4NCg0KICAgICAgICAgIFRoZSBkYXRhIHJhdGUgb2YgdGhlIDJCQVNFLVRMIFBNRSBp cyBjb25zaWRlcmVkICdmaXhlZCcgd2hlbg0KICAgICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9i amVjdCBlcXVhbHMgdGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuDQogICAgICAgICAgSWYg ZWZtQ3VQbWUyQk1pbkRhdGFSYXRlIGlzIGxlc3MgdGhhbiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUg aW4NCiAgICAgICAgICB0aGUgYWRtaW5pc3RyYXRpdmUgcHJvZmlsZSwgdGhlIGRhdGEgcmF0ZSBp cyBjb25zaWRlcmVkDQogICAgICAgICAgJ2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0 aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUNCiAgICAgICAgICBub3QgZXhjZWVkaW5nIGVmbUN1 UG1lMkJNYXhEYXRhUmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsDQogICAgICAgICAgbGltaXRhdGlv bnMgcGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgIGVmbUN1UG1l MkJzTW9kZS4NCg0KICAgICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IG9wZXJhdGlvbmFsIGRhdGEg cmF0ZSBvZiB0aGUgUE1FIGlzDQogICAgICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLg0KDQogICAgICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2Ug dG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMNCiAgICAgICAgICBvYmplY3QgbWFwcyB0 byB0aGUgTWluIERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1EDQogICAgICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5l ZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAg Ils4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50 cnkgNSB9DQoNCiAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICBVbnNpZ25lZDMyKDE5Mi4uNTY5NikNCiAgICAgICAgVU5JVFMgICAgICAgIkti cHMiDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAg IGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiTWF4aW11bSBEYXRhIFJh dGUgZm9yIHRoZSAyQkFTRS1UTCBQTUUuDQogICAgICAgICAgVGhpcyBvYmplY3QgY2FuIHRha2Ug dmFsdWVzIG9mIChuIHggNjQpS2JwcywNCiAgICAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAxNi1U Q1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLg0KDQogICAgICAgICAgVGhl IGRhdGEgcmF0ZSBvZiB0aGUgMkJBU0UtVEwgUE1FIGlzIGNvbnNpZGVyZWQgJ2ZpeGVkJyB3aGVu DQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcg ICAgICAgICAgICAgICBbUGFnZSA2Ml0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZN Q3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAg ICB0aGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgZXF1YWxzIHRoYXQgb2YgZWZtQ3VQbWUyQk1pbkRh dGFSYXRlLg0KICAgICAgICAgIElmIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSBpcyBsZXNzIHRoYW4g ZWZtQ3VQbWUyQk1heERhdGFSYXRlIGluDQogICAgICAgICAgdGhlIGFkbWluaXN0cmF0aXZlIHBy b2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZA0KICAgICAgICAgICdhZGFwdGl2ZScs IGFuZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlDQogICAgICAg ICAgbm90IGV4Y2VlZGluZyBlZm1DdVBtZTJCTWF4RGF0YVJhdGUsIHVuZGVyIHRoZSBzcGVjdHJh bA0KICAgICAgICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBh bmQNCiAgICAgICAgICBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBOb3RlIHRoYXQgY3Vy cmVudCBvcGVyYXRpb25hbCBkYXRhIHJhdGUgb2YgdGhlIFBNRSBpcw0KICAgICAgICAgIHJlcHJl c2VudGVkIGJ5IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4NCg0KICAgICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzDQog ICAgICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIE1heCBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJC IFBNRA0KICAgICAgICAgIHBhcmFtZXRlcnMgcmVnaXN0ZXIuDQoNCiAgICAgICAgICBUaGlzIG9i amVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iDQogICAgICAg IFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDYgfQ0KDQogICAgICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxMC4uNDIpDQogICAg ICAgIFVOSVRTICAgICAgICIwLjUgZEJtIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0 ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAg ICAgICAgIlNpZ25hbCBUcmFuc21pdCBQb3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLg0KICAgICAg ICAgIFRoZSB2YWx1ZSBvZiAwIGluIHRoZSBhZG1pbmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zIHRo YXQgdGhlDQogICAgICAgICAgc2lnbmFsIHRyYW5zbWl0IHBvd2VyIGlzIG5vdCBmaXhlZCBhbmQg U0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0dGFpbmFibGUgcmF0ZSwg dW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAgcGxhY2VkIGJ5IHRoZSBl Zm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAgICAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcw0K ICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBpbiB0aGUgMkIgUE1EIHBh cmFtZXRlcnMNCiAgICAgICAgICByZWdpc3RlciINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAg ICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxl RW50cnkgNyB9DQoNCiAgICAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQ0K ICAgICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsNCiAgICAgICAgICBhZGFwdGl2ZSgwKSwNCiAg ICAgICAgICB0Y3BhbTE2KDEpLA0KICAgICAgICAgIHRjcGFtMzIoMikNCiAgICAgICAgfQ0KICAg ICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2M10NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICAiVENQQU0gQ29uc3RlbGxhdGlvbiBvZiB0aGUgMkJBU0Ut VEwgUE1FLg0KICAgICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAg YWRhcHRpdmUoMCkgICAgLSBlaXRoZXIgMTYtIG9yIDMyLVRDUEFNDQogICAgICAgICAgICB0Y3Bh bTE2KDEpICAgICAtIDE2LVRDUEFNDQogICAgICAgICAgICB0Y3BhbTMyKDIpICAgICAtIDMyLVRD UEFNDQoNCiAgICAgICAgICBUaGUgdmFsdWUgb2YgYWRhcHRpdmUoMCkgaW4gdGhlIGFkbWluaXN0 cmF0aXZlIHByb2ZpbGUgbWVhbnMNCiAgICAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvDQogICAgICAgICAgbWF4aW1pemUgdGhlIGF0 dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zDQogICAgICAgICAg cGxhY2VkIGJ5IHRoZSBlZm1DdVBtZTJCUmVnaW9uIGFuZCBlZm1DdVBtZTJCc01vZGUuDQoNCiAg ICAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNl bnQsIHRoZW4gdGhpcw0KICAgICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBDb25zdGVsbGF0aW9u MSBiaXRzIGluIHRoZSAyQiBnZW5lcmFsDQogICAgICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIN CiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIg0KICAg ICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDggfQ0KDQogICAgICBlZm1DdVBtZTJC UHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBSb3dTdGF0 dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAg Y3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlzIG9iamVjdCBjb250 cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQogICAgICAgICAgdGhl IGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBwZXIgdGhlDQogICAg ICAgICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUn IGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAgICAg ZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRp bCBhbGwNCiAgICAgICAgICByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4g J2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkg YW4NCiAgICAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2 aWNlIChieSBzZXR0aW5nDQogICAgICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScp LCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6 Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDkgfQ0KDQoNCiAgICAgIGVmbUN1UG1lMkJzTW9k ZVRhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAg ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAi VGhpcyB0YWJsZSwgdG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRz DQogICAgICAgICAgZGVmaW5pdGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20gc3BlY3RyYWwg bW9kZXMgZm9yDQogICAgICAgICAgMkJBU0UtVEwgUE1FcywgZGVzY3JpYmluZyBzcGVjdHJhbCBs aW1pdGF0aW9ucyBpbiBhZGRpdGlvbiB0bw0KICAgICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBl Zm1DdVBtZTJCUmVnaW9uLg0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJl cyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2NF0NCgwNCkludGVybmV0LURy YWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkg MjAwNw0KDQoNCiAgICAgICAgICBTb21lIGNvdW50cmllcyBzcGVjdHJhbCByZWd1bGF0aW9ucyAo ZS5nLiBVSyBBTkZQKSBsaW1pdCB0aGUNCiAgICAgICAgICBsZW5ndGggb2YgdGhlIGxvb3BzIGZv ciBjZXJ0YWluIGRhdGEgcmF0ZXMuIFRoaXMgdGFibGUgYWxsb3dzDQogICAgICAgICAgdGhlc2Ug Y291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9ucyB0byBiZSBzcGVjaWZpZWQuDQoNCiAgICAgICAg ICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0aGUgZWZtQ3VQbWUyQnNNb2Rl DQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZl cmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAgICAgICBUaGlzIHRhYmxlIE1V U1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAgICAgUkVGRVJF TkNFDQogICAgICAgICAgImVmbUN1MkJSZWFjaFJhdGVUYWJsZSINCiAgICAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUVudHJ5IE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5DQogICAgICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAg REVTQ1JJUFRJT04NCiAgICAgICAgICAiRWFjaCBlbnRyeSBzcGVjaWZpZXMgc3BlY3RyYWwgbW9k ZSBkZXNjcmlwdGlvbiBhbmQgaXRzIGluZGV4LA0KICAgICAgICAgIHdoaWNoIGlzIHVzZWQgdG8g cmVmZXJlbmNlIGNvcnJlc3BvbmRpbmcgZW50cmllcyBpbiB0aGUNCiAgICAgICAgICBlZm1DdTJC UmVhY2hSYXRlVGFibGUuDQoNCiAgICAgICAgICBFbnRyaWVzIG1heSBiZSBjcmVhdGVkL2RlbGV0 ZWQgdXNpbmcgdGhlIHJvdyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20g dmlhIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cy4iDQogICAgICAgIElOREVYIHsgZWZtQ3VQbWUy QnNNb2RlSW5kZXggfQ0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVUYWJsZSAxIH0NCg0K ICAgICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAg ICAgICBlZm1DdVBtZTJCc01vZGVJbmRleCAgICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsDQog ICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5n LA0KICAgICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyAgICAgICAgIFJvd1N0YXR1cw0K ICAgICAgICB9DQoNCiAgICAgIGVmbUN1UG1lMkJzTW9kZUluZGV4IE9CSkVDVC1UWVBFDQogICAg ICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJhbCBNb2RlIGluZGV4Lg0KICAgICAg ICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlxdWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIHRoaXMg c3BlY3RyYWwNCiAgICAgICAgICBtb2RlLg0KICAgICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJs ZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgb2JqZWN0LiIN CiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1l MkJzTW9kZURlc2NyIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0 cmluZw0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAy MDA3ICAgICAgICAgICAgICAgW1BhZ2UgNjVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAg IEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAg ICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQN CiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWlu aW5nIGluZm9ybWF0aW9uIGFib3V0IDJCQVNFLVRMIFBNRQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGUuIFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQNCiAgICAgICAgICBj b3JyZXNwb25kaW5nIChjb3VudHJ5LXNwZWNpZmljKSBzcGVjdHJhbCByZWd1bGF0aW9ucw0KICAg ICAgICAgIGFuZCByYXRlL3JlYWNoIGxpbWl0YXRpb25zIG9mIHRoaXMgcGFydGljdWxhciBzcGVj dHJhbCBtb2RlLiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQnNNb2RlRW50cnkgMiB9DQoNCiAg ICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVgg ICAgICBSb3dTdGF0dXMNCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJUaGlz IG9iamVjdCBjb250cm9scyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mDQog ICAgICAgICAgdGhlIGFzc29jaWF0ZWQgZW50cnkgaW4gZWZtQ3VQbWUyQnNNb2RlVGFibGUgcGVy IHRoZSBzZW1hbnRpY3MNCiAgICAgICAgICBvZiBSb3dTdGF0dXMuDQoNCiAgICAgICAgICBJZiBh biAnYWN0aXZlJyBlbnRyeSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQ0K ICAgICAgICAgIGVudHJ5IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2Vz IGFyZSByZW1vdmVkLg0KDQogICAgICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4NCiAgICAgICAgICBleGlzdGluZyBlbnRy eSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgICAg dGhpcyBvYmplY3QgdG8gJ25vdEluU2VydmljZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUn DQogICAgICAgICAgYWdhaW4uIg0KICAgICAgICA6Oj0geyBlZm1DdVBtZTJCc01vZGVFbnRyeSAz IH0NCg0KDQogICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5DQogICAg ICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyB0YWJsZSBzdXBwb3J0cyBk ZWZpbml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbQ0KICAgICAgICAgIHNwZWN0cmFsIG1v ZGVzIGZvciAyQkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwNCiAgICAgICAgICBsaW1p dGF0aW9ucyBpbiBhZGRpdGlvbiB0byB0aG9zZSBzcGVjaWZpZWQgYnkNCiAgICAgICAgICBlZm1D dVBtZTJCUmVnaW9uLg0KDQogICAgICAgICAgVGhlIHNwZWN0cmFsIHJlZ3VsYXRpb25zIGluIHNv bWUgY291bnRyaWVzIChlLmcuIFVLIEFORlApDQogICAgICAgICAgbGltaXQgdGhlIGxlbmd0aCBv ZiB0aGUgbG9vcHMgZm9yIGNlcnRhaW4gZGF0YSByYXRlcy4NCiAgICAgICAgICBUaGlzIHRhYmxl IGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmljIGxpbWl0YXRpb25zIHRvIGJlDQogICAgICAg ICAgc3BlY2lmaWVkLg0KDQogICAgICAgICAgQmVsb3cgaXMgYW4gZXhhbXBsZSBvZiB0aGlzIHRh YmxlIGZvciBbQU5GUF06DQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rDQog ICAgICAgICAgRXF1aXZhbGVudCBNYXhSYXRlIE1heFJhdGUNCiAgICAgICAgICAgIExlbmd0aCAg ICBQQU0xNiAgIFBBTTMyDQogICAgICAgICAgICAgIChtKSAgICAgKEticHMpICAoS2JwcykNCg0K DQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAg ICAgICAgICAgIFtQYWdlIDY2XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJ bnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIC0t LS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKw0KICAgICAgICAgICAgICA5NzUgICAgICAyMzA0ICAg IDU2OTYNCiAgICAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0DQogICAgICAgICAgICAg MTI3NSAgICAgIDIzMDQgICAgNTEyMA0KICAgICAgICAgICAgIDEzNTAgICAgICAyMzA0ICAgIDQ4 NjQNCiAgICAgICAgICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0DQogICAgICAgICAgICAgMTUw MCAgICAgIDIzMDQgICAgNDI4OA0KICAgICAgICAgICAgIDE1NzUgICAgICAyMzA0ICAgIDM5NjgN CiAgICAgICAgICAgICAxNjUwICAgICAgMjMwNCAgICAzNzc2DQogICAgICAgICAgICAgMTcyNSAg ICAgIDIzMDQgICAgMzUyMA0KICAgICAgICAgICAgIDE4MDAgICAgICAyMzA0ICAgIDMyNjQNCiAg ICAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyDQogICAgICAgICAgICAgMTk1MCAgICAg IDIwNDggICAgMjY4OA0KICAgICAgICAgICAgIDIxMDAgICAgICAxNzkyICAgIDIzNjgNCiAgICAg ICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwDQogICAgICAgICAgICAgMjQwMCAgICAgIDE0 MDggICAgICAgMA0KICAgICAgICAgICAgIDI1NTAgICAgICAxMjgwICAgICAgIDANCiAgICAgICAg ICAgICAyNzc1ICAgICAgMTE1MiAgICAgICAwDQogICAgICAgICAgICAgMjkyNSAgICAgIDExNTIg ICAgICAgMA0KICAgICAgICAgICAgIDMxNTAgICAgICAxMDg4ICAgICAgIDANCiAgICAgICAgICAg ICAzMzc1ICAgICAgMTAyNCAgICAgICAwDQogICAgICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0rDQoNCiAgICAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgcmVmZXJlbmNlZCBieSB0 aGUgZWZtQ3VQbWUyQnNNb2RlDQogICAgICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBh bGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQ0KICAgICAgICAgIHJlbW92ZWQuDQoNCiAgICAg ICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVy LiINCiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIltBTkZQXSINCiAgICAgICAgOjo9IHsg ZWZtQ3VQbWUyQiAgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSBPQkpFQ1Qt VFlQRQ0KICAgICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkNCiAgICAg ICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVu dA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJFYWNoIGVudHJ5IHNwZWNpZmllcyBt YXhpbXVtIDJCQVNFLVRMIFBNRSBkYXRhIHJhdGVzDQogICAgICAgICAgYWxsb3dlZCBmb3IgYSBj ZXJ0YWluIGVxdWl2YWxlbnQgbG9vcCBsZW5ndGgsIHdoZW4gdXNpbmcNCiAgICAgICAgICAxNi1U Q1BBTSBvciAzMi1UQ1BBTSBlbmNvZGluZy4NCg0KICAgICAgICAgIFdoZW4gMkJBU0UtVEwgUE1F IGlzIGluaXRpYWxpemVkLCBpdHMgZGF0YSByYXRlIE1VU1QgTk9UDQogICAgICAgICAgZXhjZWVk IG9uZSBvZiB0aGUgZm9sbG93aW5nIGxpbWl0YXRpb25zOg0KICAgICAgICAgIC0gdGhlIHZhbHVl IG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQ0KICAgICAgICAgIC0gbWF4aW11bSBkYXRhIHJhdGUg YWxsb3dlZCBieSBlZm1DdVBtZTJCUmVnaW9uIGFuZA0KICAgICAgICAgICAgZWZtQ3VQbWUyQlBv d2VyDQogICAgICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBnaXZlbiBlbmNvZGluZyBz cGVjaWZpZWQgaW4gdGhlDQogICAgICAgICAgICBlZm1DdVBtZTJCc01vZGVFbnRyeSwgY29ycmVz cG9uZGluZyB0byB0aGUgZXF1aXZhbGVudCBsb29wDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAg ICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2N10NCgwN CkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAg ICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAgIGxlbmd0aCwgZXN0aW1hdGVkIGJ5IHRo ZSBQTUUuDQoNCiAgICAgICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IHRoZSBlZm1DdVBtZTJC RXF1aXZhbGVudExlbmd0aCB2YWx1ZXMNCiAgICAgICAgICBhcmUgYXNzaWduZWQgaW4gdGhlIGlu Y3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlDQogICAgICAgICAgbWluaW11bSB2YWx1 ZS4NCg0KICAgICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUg cm93IGNyZWF0aW9uLw0KICAgICAgICAgIGRlbGV0aW9uIG1lY2hhbmlzbSB2aWEgZWZtQ3VQbWUy UmVhY2hSYXRlUm93U3RhdHVzLiINCiAgICAgICAgSU5ERVggeyBlZm1DdVBtZTJCc01vZGVJbmRl eCwgZWZtQ3VQbWUyQlJlYWNoUmF0ZUluZGV4IH0NCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUyQlJl YWNoUmF0ZVRhYmxlIDEgfQ0KDQogICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgOjo9DQog ICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTJCUmVhY2hSYXRlSW5kZXggICAg ICAgICBFZm1Qcm9maWxlSW5kZXgsDQogICAgICAgICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5n dGggICAgICAgVW5zaWduZWQzMiwNCiAgICAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0x NiAgICAgICBVbnNpZ25lZDMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMy ICAgICAgIFVuc2lnbmVkMzIsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZVJvd1N0YXR1 cyAgICAgUm93U3RhdHVzDQogICAgICAgIH0NCg0KICAgICAgZWZtQ3VQbWUyQlJlYWNoUmF0ZUlu ZGV4IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleA0KICAg ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjJCQVNFLVRMIGN1c3RvbSBzcGVj dHJhbCBtb2RlIFJlYWNoLVJhdGUgdGFibGUgaW5kZXguDQogICAgICAgICAgVGhpcyBvYmplY3Qg aXMgdGhlIHVuaXF1ZSBpbmRleCBhc3NvY2lhdGVkIHdpdGggZWFjaCBlbnJ5LiINCiAgICAgICAg Ojo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDEgfQ0KDQogICAgICBlZm1DdVBtZTJCRXF1 aXZhbGVudExlbmd0aCAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgVW5zaWduZWQz MigwLi44MTkyKQ0KICAgICAgICBVTklUUyAgICAgICAibSINCiAgICAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICJNYXhpbXVtIGFsbG93ZWQgRXF1aXZhbGVudCBsb29wJ3MgUGh5c2lj YWwgTGVuZ3RoIGluIG1ldGVycw0KICAgICAgICAgIGZvciB0aGUgc3BlY2lmaWVkIGRhdGEgcmF0 ZXMuDQogICAgICAgICAgQW4gZXF1aXZhbGVudCBsb29wIGlzIGEgaHlwb3RoZXRpY2FsIDI2QVdH ICgwLjRtbSkgbG9vcCB3aXRoIGENCiAgICAgICAgICBwZXJmZWN0IHNxdWFyZSByb290IGF0dGVu dWF0aW9uIGNoYXJhY3RlcmlzdGljLCB3aXRob3V0IGFueQ0KICAgICAgICAgIGJyaWRnZWQgdGFw cy4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSAyIH0NCg0KICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAg ICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRTICAgICAgICJLYnBzIg0K ICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJy ZW50DQogICAgICAgIERFU0NSSVBUSU9ODQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAg RXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA2OF0NCgwNCkludGVy bmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVi cnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICAiTWF4aW11bSBkYXRhIHJhdGUgZm9yIDJCQVNFLVRM IFBNRSBhdCB0aGUgc3BlY2lmaWVkDQogICAgICAgICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3Ro IHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLg0KICAgICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIG1l YW5zIHRoYXQgVEMtUEFNMTYgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQ0KICAgICAgICAgIHVzZWQg YXQgdGhpcyBkaXN0YW5jZS4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRy eSAzIH0NCg0KICAgICAgZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgIE9CSkVDVC1UWVBFDQog ICAgICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpDQogICAgICAgIFVOSVRT ICAgICAgICJLYnBzIg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBT VEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIk1heGlt dW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZA0KICAgICAgICAg IEVxdWl2YWxlbnQgbG9vcCdzIExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4NCiAgICAg ICAgICBUaGUgdmFsdWUgb2YgemVybyBtZWFucyB0aGF0IFRDLVBBTTMyIGVuY29kaW5nIHNob3Vs ZCBub3QgYmUNCiAgICAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIg0KICAgICAgICA6Oj0g eyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1lMkJSZWFjaFJh dGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgUm93U3RhdHVzDQog ICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJl bnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMg Y3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0KICAgICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJSZWFjaFJhdGVUYWJsZSBwZXIgdGhlDQogICAgICAg ICAgc2VtYW50aWNzIG9mIFJvd1N0YXR1cy4NCg0KICAgICAgICAgIElmIGFuICdhY3RpdmUnIGVu dHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lMkJzTW9kZSwgdGhlDQogICAgICAgICAgZW50 cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQu DQoNCiAgICAgICAgICBBbiAnYWN0aXZlJyBlbnRyeSBTSEFMTCBOT1QgYmUgbW9kaWZpZWQuIElu IG9yZGVyIHRvIG1vZGlmeSBhbg0KICAgICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUg dGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcNCiAgICAgICAgICB0aGlzIG9iamVjdCB0 byAnbm90SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScNCiAgICAgICAgICBh Z2Fpbi4iDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFjaFJhdGVFbnRyeSA1IH0NCg0KDQog ICAgIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXANCg0KICAgICAgZWZtQ3VQbWUxMFAg ICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdVBtZSA2IH0NCg0KICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlVGFibGUgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgU0VRVUVO Q0UgT0YgRWZtQ3VQbWUxMFBQcm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFj Y2Vzc2libGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElP Tg0KICAgICAgICAgICJUaGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3Vy YXRpb24gcHJvZmlsZXMgZm9yDQogICAgICAgICAgMTBQQVNTLVRTIFBNRXMuDQoNCg0KDQpCZWls aSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAg ICBbUGFnZSA2OV0NCgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNl cyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgICBGaXJzdCAyMiBl bnRyaWVzIGluIHRoaXMgdGFibGUgU0hBTEwgYWx3YXlzIGJlIGRlZmluZWQgYXMNCiAgICAgICAg ICBmb2xsb3dzIChzZWUgODAyLjNhaCBBbm5leCA2MkIuMyk6DQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICBQcm9m aWxlIEJhbmRwbGFuIFVQQk8gQmFuZE5vdGNoIERSYXRlIFVSYXRlDQogICAgICAgICAgIEluZGV4 ICBQU0RNYXNrIyAgcCMgICAgcCMgICAgICAgIHAjICAgIHAjDQogICAgICAgICAgLS0tLS0tLSst LS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0tLS0tLS0tLS0NCiAgICAgICAgICAgICAx ICAgICAgMSAgICAgIDMgICAgMiw2LDEwLDExICAgIDIwICAgIDIwKGRlZmF1bHQpDQogICAgICAg ICAgICAgMiAgICAgMTMgICAgICA1ICAgIDAgICAgICAgICAgICAyMCAgICAyMA0KICAgICAgICAg ICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAgICAgMjAgICAgMjANCiAgICAgICAgICAg ICA0ICAgICAxNiAgICAgIDAgICAgMCAgICAgICAgICAgMTAwICAgMTAwDQogICAgICAgICAgICAg NSAgICAgMTYgICAgICAwICAgIDAgICAgICAgICAgICA3MCAgICA1MA0KICAgICAgICAgICAgIDYg ICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAgMTANCiAgICAgICAgICAgICA3ICAg ICAxNyAgICAgIDAgICAgMCAgICAgICAgICAgIDMwICAgIDMwDQogICAgICAgICAgICAgOCAgICAg IDggICAgICAwICAgIDAgICAgICAgICAgICAzMCAgICAgNQ0KICAgICAgICAgICAgIDkgICAgICA0 ICAgICAgMCAgICAwICAgICAgICAgICAgMjUgICAgMjUNCiAgICAgICAgICAgIDEwICAgICAgNCAg ICAgIDAgICAgMCAgICAgICAgICAgIDE1ICAgIDE1DQogICAgICAgICAgICAxMSAgICAgMjMgICAg ICAwICAgIDAgICAgICAgICAgICAxMCAgICAxMA0KICAgICAgICAgICAgMTIgICAgIDIzICAgICAg MCAgICAwICAgICAgICAgICAgIDUgICAgIDUNCiAgICAgICAgICAgIDEzICAgICAxNiAgICAgIDAg ICAgMiw1LDksMTEgICAgMTAwICAgMTAwDQogICAgICAgICAgICAxNCAgICAgMTYgICAgICAwICAg IDIsNSw5LDExICAgICA3MCAgICA1MA0KICAgICAgICAgICAgMTUgICAgICA2ICAgICAgMCAgICAy LDYsMTAsMTEgICAgNTAgICAgMTANCiAgICAgICAgICAgIDE2ICAgICAxNyAgICAgIDAgICAgMiw1 LDksMTEgICAgIDMwICAgIDMwDQogICAgICAgICAgICAxNyAgICAgIDggICAgICAwICAgIDIsNiwx MCwxMSAgICAzMCAgICAgNQ0KICAgICAgICAgICAgMTggICAgICA0ICAgICAgMCAgICAyLDYsMTAs MTEgICAgMjUgICAgMjUNCiAgICAgICAgICAgIDE5ICAgICAgNCAgICAgIDAgICAgMiw2LDEwLDEx ICAgIDE1ICAgIDE1DQogICAgICAgICAgICAyMCAgICAgMjMgICAgICAwICAgIDIsNSw5LDExICAg ICAxMCAgICAxMA0KICAgICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAg IDUgICAgIDUNCiAgICAgICAgICAgIDIyICAgICAzMCAgICAgIDAgICAgMCAgICAgICAgICAgMjAw ICAgIDUwDQoNCiAgICAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRl ZCBieSBkdXJpbmcgYWdlbnQNCiAgICAgICAgICBpbml0aWFsaXphdGlvbiBhbmQgTVVTVCBOT1Qg YmUgZGVsZXRlZC4NCg0KICAgICAgICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwg Y2FuIGJlIGR5bmFtaWNhbGx5IGNyZWF0ZWQgYW5kDQogICAgICAgICAgZGVsZXRlZCwgdG8gcHJv dmlkZSBjdXN0b20gYWRtaW5pc3RyYXRpdmUgKGNvbmZpZ3VyYXRpb24pDQogICAgICAgICAgcHJv ZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJvZmlsZXMuDQoNCiAgICAgICAgICBUaGlz IHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiINCiAgICAg ICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkIuMywgMzAuMTEuMi4x LjYiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQICAxIH0NCg0KICAgICAgZWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBQ cm9maWxlRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUNCiAgICAgICAg U1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJFYWNo IGVudHJ5IGNvcnJlc3BvbmRzIHRvIGEgc2luZ2xlIDEwUEFTUy1UUyBQTUUNCiAgICAgICAgICBw cm9maWxlLg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1 LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzBdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQog ICAgICAgICAgRWFjaCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQg ZWl0aGVyIGZvcg0KICAgICAgICAgIGNvbmZpZ3VyYXRpb24gb3IgcmVwcmVzZW50YXRpb24gb2Yg YSAxMFBBU1MtVFMgUE1FLg0KICAgICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUg aXMgcmVmZXJlbmNlZCB2aWENCiAgICAgICAgICBlZm1DdVBtZUFkbWluUHJvZmlsZSBvYmplY3Qg KG9yIGVmbUN1QWRtaW5Qcm9maWxlIGlmDQogICAgICAgICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUg aXMgemVybyksIGl0IHJlcHJlc2VudCB0aGUgZGVzaXJlZA0KICAgICAgICAgIHBhcmFtZXRlcnMg dGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0aW9uLg0KICAgICAgICAgIElmIGEgcHJvZmls ZSBpcyByZWZlcmVuY2VkIHZpYSBlZm1DdVBtZU9wZXJQcm9maWxlIG9iamVjdCwNCiAgICAgICAg ICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIFBNRS4N Cg0KICAgICAgICAgIFByb2ZpbGVzIG1heSBiZSBjcmVhdGVkL2RlbGV0ZWQgdXNpbmcgdGhlIHJv dyBjcmVhdGlvbi8NCiAgICAgICAgICBkZWxldGlvbiBtZWNoYW5pc20gdmlhIGVmbUN1UG1lMTBQ UHJvZmlsZVJvd1N0YXR1cy4gSWYgYW4NCiAgICAgICAgICAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScNCiAgICAgICAgICB1bnRpbCBh bGwgcmVmZXJlbmNlcyBhcmUgcmVtb3ZlZC4NCiAgICAgICAgICBEZWZhdWx0IGVudHJpZXMgTVVT VCBOT1QgYmUgcmVtb3ZlZC4iDQogICAgICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5k ZXggfQ0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVUYWJsZSAxIH0NCg0KICAgICAg RWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAg ICBlZm1DdVBtZTEwUFByb2ZpbGVJbmRleCAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LA0KICAg ICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcs DQogICAgICAgICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2ZpbGUgIElOVEVHRVIsDQog ICAgICAgICAgZWZtQ3VQbWUxMFBVUEJPUmVmZXJlbmNlUHJvZmlsZSAgIElOVEVHRVIsDQogICAg ICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgICAgIEJJVFMsDQogICAgICAgICAg ZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgICAgZWZt Q3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlICAgIElOVEVHRVIsDQogICAgICAgICAgZWZtQ3VQ bWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cw0KICAgICAgICB9DQoNCiAgICAg IGVmbUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAg IEVmbVByb2ZpbGVJbmRleA0KICAgICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQ0KICAg ICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg IjEwUEFTUy1UUyBQTUUgUHJvZmlsZSBJbmRleC4NCiAgICAgICAgICBUaGlzIG9iamVjdCBpcyB0 aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQgd2l0aCB0aGlzIHByb2ZpbGUuDQogICAgICAgICAg RW50cmllcyBpbiB0aGlzIHRhYmxlIGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmls ZSBvcg0KICAgICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLiINCiAgICAgICAgOjo9IHsgZWZt Q3VQbWUxMFBQcm9maWxlRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2Ny IE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmluZw0KICAgICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmlu ZyBpbmZvcm1hdGlvbiBhYm91dCAxMFBBU1MtVFMgUE1FDQogICAgICAgICAgUHJvZmlsZS4gVGhl IHN0cmluZyBtYXkgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCBkYXRhIHJhdGUNCiAgICAgICAg ICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIg0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgNzFdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDIgfQ0KDQogICAgICBlZm1DdVBtZTEwUEJhbmRw bGFuUFNETXNrUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICBJTlRFR0VSIHsN CiAgICAgICAgICBwcm9maWxlMSgxKSwNCiAgICAgICAgICBwcm9maWxlMigyKSwNCiAgICAgICAg ICBwcm9maWxlMygzKSwNCiAgICAgICAgICBwcm9maWxlNCg0KSwNCiAgICAgICAgICBwcm9maWxl NSg1KSwNCiAgICAgICAgICBwcm9maWxlNig2KSwNCiAgICAgICAgICBwcm9maWxlNyg3KSwNCiAg ICAgICAgICBwcm9maWxlOCg4KSwNCiAgICAgICAgICBwcm9maWxlOSg5KSwNCiAgICAgICAgICBw cm9maWxlMTAoMTApLA0KICAgICAgICAgIHByb2ZpbGUxMSgxMSksDQogICAgICAgICAgcHJvZmls ZTEyKDEyKSwNCiAgICAgICAgICBwcm9maWxlMTMoMTMpLA0KICAgICAgICAgIHByb2ZpbGUxNCgx NCksDQogICAgICAgICAgcHJvZmlsZTE1KDE1KSwNCiAgICAgICAgICBwcm9maWxlMTYoMTYpLA0K ICAgICAgICAgIHByb2ZpbGUxNygxNyksDQogICAgICAgICAgcHJvZmlsZTE4KDE4KSwNCiAgICAg ICAgICBwcm9maWxlMTkoMTkpLA0KICAgICAgICAgIHByb2ZpbGUyMCgyMCksDQogICAgICAgICAg cHJvZmlsZTIxKDIxKSwNCiAgICAgICAgICBwcm9maWxlMjIoMjIpLA0KICAgICAgICAgIHByb2Zp bGUyMygyMyksDQogICAgICAgICAgcHJvZmlsZTI0KDI0KSwNCiAgICAgICAgICBwcm9maWxlMjUo MjUpLA0KICAgICAgICAgIHByb2ZpbGUyNigyNiksDQogICAgICAgICAgcHJvZmlsZTI3KDI3KSwN CiAgICAgICAgICBwcm9maWxlMjgoMjgpLA0KICAgICAgICAgIHByb2ZpbGUyOSgyOSkNCiAgICAg ICAgfQ0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAg ICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUg QmFuZHBsYW4gYW5kIFBTRCBNYXNrIHByb2ZpbGUsDQogICAgICAgICAgYXMgc3BlY2lmaWVkIGlu IDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgIC0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0N CiAgICAgICAgICBQcm9maWxlIE5hbWUgICAgUFNEIE1hc2sgICAgICAgICAgICAgICAgICBCYW5k cyAgICAgQmFuZHBsYW4NCiAgICAgICAgICAtLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgICAgcHJvZmlsZTEoMSkgICAt IFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEENCiAgICAgICAgICBwcm9maWxl MigyKSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMQ0KICAgICAgICAgIHByb2ZpbGUzKDMpICAg LSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMg0KICAgICAgICAgIHByb2ZpbGU0KDQpICAgLSBUMS40 MjQvVC1VIFAxIEZUVEV4Lk0yDQogICAgICAgICAgcHJvZmlsZTUoNSkgICAtIFQxLjQyNC9ULVUg UDEgRlRUQ2FiLk0xICBEL0QvVS9EL1UNCiAgICAgICAgICBwcm9maWxlNig2KSAgIC0gVDEuNDI0 L1QtVSBQMSBGVFRFeC5NMQ0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgNzJdDQoMDQpJbnRlcm5ldC1EcmFm dCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIw MDcNCg0KDQogICAgICAgICAgcHJvZmlsZTcoNykgICAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0y DQogICAgICAgICAgcHJvZmlsZTgoOCkgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTINCiAgICAg ICAgICBwcm9maWxlOSg5KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIFUvRC9VL0QveA0K ICAgICAgICAgIHByb2ZpbGUxMCgxMCkgLSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0xDQogICAgICAg ICAgcHJvZmlsZTExKDExKSAtIFQxLjQyNC9ULVUgUDEgRlRUQ2FiLk0yDQogICAgICAgICAgcHJv ZmlsZTEyKDEyKSAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTINCiAgICAgICAgICBwcm9maWxlMTMo MTMpIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEgIHgvRC9VL0QvVSAgQg0KICAgICAgICAgIHBy b2ZpbGUxNCgxNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQg0KICAgICAgICAgIHByb2ZpbGUx NSgxNSkgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQ0KICAgICAgICAgIHByb2ZpbGUxNigxNikg LSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQ0KICAgICAgICAgIHByb2ZpbGUxNygxNykgLSBUUzEg MTAxIDI3MC0xIFBjYWIuTTINCiAgICAgICAgICBwcm9maWxlMTgoMTgpIC0gVFMxIDEwMSAyNzAt MSBQZXguUDEuTTINCiAgICAgICAgICBwcm9maWxlMTkoMTkpIC0gVFMxIDEwMSAyNzAtMSBQZXgu UDIuTTINCiAgICAgICAgICBwcm9maWxlMjAoMjApIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEg IFUvRC9VL0QveA0KICAgICAgICAgIHByb2ZpbGUyMSgyMSkgLSBUUzEgMTAxIDI3MC0xIFBjYWIu TTEuQg0KICAgICAgICAgIHByb2ZpbGUyMigyMikgLSBUUzEgMTAxIDI3MC0xIFBleC5QMS5NMQ0K ICAgICAgICAgIHByb2ZpbGUyMygyMykgLSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQ0KICAgICAg ICAgIHByb2ZpbGUyNCgyNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTINCiAgICAgICAgICBwcm9m aWxlMjUoMjUpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTINCiAgICAgICAgICBwcm9maWxlMjYo MjYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTINCiAgICAgICAgICBwcm9maWxlMjcoMjcpIC0g Ry45OTMuMSBGLjEuMi4xIChWRFNMb1BPVFMpIHgvRC9VL0QvVSAgRg0KICAgICAgICAgIHByb2Zp bGUyOCgyOCkgLSBHLjk5My4xIEYuMS4yLjIgKFZEU0xvVENNLUlTRE4pDQogICAgICAgICAgcHJv ZmlsZTI5KDI5KSAtIEcuOTkzLjEgRi4xLjIuMyAoUFNEIHJlZHVjdGlvbikNCg0KICAgICAgICAg IFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFCYW5kcGxhblBTRE1hc2tQcm9maWxlIGF0dHJpYnV0 ZQ0KICAgICAgICAgIGluIENsYXVzZSAzMC4iDQogICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAg ICJbODAyLjNhaF0gQW5uZXggNjJBLCAzMC41LjEuMS4yMiINCiAgICAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgMyB9DQoNCiAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVBy b2ZpbGUgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgSU5URUdFUiB7DQogICAgICAgICAg cHJvZmlsZTEoMSksDQogICAgICAgICAgcHJvZmlsZTIoMiksDQogICAgICAgICAgcHJvZmlsZTMo MyksDQogICAgICAgICAgcHJvZmlsZTQoNCksDQogICAgICAgICAgcHJvZmlsZTUoNSksDQogICAg ICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgICAgcHJvZmlsZTcoNyksDQogICAgICAgICAgcHJv ZmlsZTgoOCksDQogICAgICAgICAgcHJvZmlsZTkoOSkNCiAgICAgICAgfQ0KICAgICAgICBNQVgt QUNDRVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAg IERFU0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUG93ZXIgQmFj ay1PZmYgKFVQQk8pIFJlZmVyZW5jZSBQU0QNCiAgICAgICAgICBQcm9maWxlLCBhcyBzcGVjaWZp ZWQgaW4gODAyLjNhaCBBbm5leCA2MkEuIFBvc3NpYmxlIHZhbHVlcw0KICAgICAgICAgIGFyZToN Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDczXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAg ICAgcHJvZmlsZTEoMSkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBBIE0xDQogICAgICAg ICAgICBwcm9maWxlMigyKSAgIC0gVDEuNDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTINCiAgICAg ICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQvVC1VICAgICAgICAgTm9pc2UgRiBNMQ0KICAg ICAgICAgICAgcHJvZmlsZTQoNCkgICAtIFQxLjQyNC9ULVUgICAgICAgICBOb2lzZSBGIE0yDQog ICAgICAgICAgICBwcm9maWxlNSg1KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEEmQg0K ICAgICAgICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBDDQog ICAgICAgICAgICBwcm9maWxlNyg3KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNlIEQNCiAg ICAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAgTm9pc2UgRQ0KICAg ICAgICAgICAgcHJvZmlsZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGDQoNCiAg ICAgICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhVVBCT1JlZmVyZW5jZVByb2ZpbGUgYXR0 cmlidXRlDQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiINCiAgICAgICAgUkVGRVJFTkNFDQogICAg ICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy40LCAzMC41LjEuMS4yMyINCiAgICAgICAgOjo9 IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNCB9DQoNCiAgICAgIGVmbUN1UG1lMTBQQmFuZE5v dGNoUHJvZmlsZXMgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgQklUUyB7DQogICAgICAg ICAgcHJvZmlsZTAoMCksDQogICAgICAgICAgcHJvZmlsZTEoMSksDQogICAgICAgICAgcHJvZmls ZTIoMiksDQogICAgICAgICAgcHJvZmlsZTMoMyksDQogICAgICAgICAgcHJvZmlsZTQoNCksDQog ICAgICAgICAgcHJvZmlsZTUoNSksDQogICAgICAgICAgcHJvZmlsZTYoNiksDQogICAgICAgICAg cHJvZmlsZTcoNyksDQogICAgICAgICAgcHJvZmlsZTgoOCksDQogICAgICAgICAgcHJvZmlsZTko OSksDQogICAgICAgICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICAgICBwcm9maWxlMTEoMTEpDQog ICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUNCiAgICAgICAgU1RBVFVT ICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICIxMFBBU1MtVFMg UE1FIEVncmVzcyBDb250cm9sIEJhbmQgTm90Y2ggUHJvZmlsZSBiaXRtYXAsDQogICAgICAgICAg YXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0K ICAgICAgICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLSstLS0tLQ0KICAgICAgICAgIFByb2ZpbGUgTmFtZSAgICBHLjk5MS4zICBUMS40MjQv VC1VIFRTMTAxIDI3MC0xIFN0YXJ0RiBFbmRGDQogICAgICAgICAgICAgICAgICAgICAgICAgIFRh YmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHopDQogICAgICAgICAgLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0t DQogICAgICAgICAgcHJvZmlsZTAoMCkgICAtIG5vIHByb2ZpbGUNCiAgICAgICAgICBwcm9maWxl MSgxKSAgIC0gRi01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44MjUNCiAg ICAgICAgICBwcm9maWxlMigyKSAgIC0gNi0yICAgICAgMTUtMSAgICAgICAxNyAgICAgICAgICAx LjgxMCAgMi4wMDANCiAgICAgICAgICBwcm9maWxlMygzKSAgIC0gRi01ICMwMiAgLSAgICAgICAg ICAtICAgICAgICAgICAxLjkwNyAgMS45MTINCiAgICAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01 ICMwMyAgLSAgICAgICAgICAtICAgICAgICAgICAzLjUwMCAgMy41NzUNCiAgICAgICAgICBwcm9m aWxlNSg1KSAgIC0gNi0yICAgICAgLSAgICAgICAgICAxNyAgICAgICAgICAzLjUwMCAgMy44MDAN CiAgICAgICAgICBwcm9maWxlNig2KSAgIC0gLSAgICAgICAgMTUtMSAgICAgICAtICAgICAgICAg ICAzLjUwMCAgNC4wMDANCiAgICAgICAgICBwcm9maWxlNyg3KSAgIC0gRi01ICMwNCAgLSAgICAg ICAgICAtICAgICAgICAgICAzLjc0NyAgMy43NTQNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAg ICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDc0XQ0KDA0K SW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAg ICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAt ICAgICAgICAgIC0gICAgICAgICAgIDMuNzkxICAzLjgwNQ0KICAgICAgICAgIHByb2ZpbGU5KDkp ICAgLSA2LTIgICAgICAtICAgICAgICAgIDE3ICAgICAgICAgIDcuMDAwICA3LjEwMA0KICAgICAg ICAgIHByb2ZpbGUxMCgxMCkgLSBGLTUgIzA2ICAxNS0xICAgICAgIC0gICAgICAgICAgIDcuMDAw ICA3LjMwMA0KICAgICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIgICAgICAxNS0xICAgICAgIDEg ICAgICAgICAgIDEwLjEwMCAxMC4xNTANCg0KICAgICAgICAgIEFueSBjb21iaW5hdGlvbiBvZiBw cm9maWxlcyBjYW4gYmUgc3BlY2lmaWVkIGJ5IE9SaW5nDQogICAgICAgICAgaW5kaXZpZHVhbCBw cm9maWxlcywgZm9yIGV4YW1wbGUgdmFsdWUgb2YgMHgwNjIyIHNlbGVjdHMNCiAgICAgICAgICBw cm9maWxlcyAyLDYsMTAgYW5kIDExLg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgYUJhbmROb3RjaFByb2ZpbGUgYXR0cmlidXRlDQogICAgICAgICAgaW4gQ2xhdXNlIDMwLiIN CiAgICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy41LCAz MC41LjEuMS4xOSINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgNSB9DQoN CiAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSAgT0JKRUNULVRZUEUNCiAgICAg ICAgU1lOVEFYICAgICAgSU5URUdFUiB7DQogICAgICAgICAgcHJvZmlsZTUoNSksDQogICAgICAg ICAgcHJvZmlsZTEwKDEwKSwNCiAgICAgICAgICBwcm9maWxlMTUoMTUpLA0KICAgICAgICAgIHBy b2ZpbGUyMCgyMCksDQogICAgICAgICAgcHJvZmlsZTI1KDI1KSwNCiAgICAgICAgICBwcm9maWxl MzAoMzApLA0KICAgICAgICAgIHByb2ZpbGU1MCg1MCksDQogICAgICAgICAgcHJvZmlsZTcwKDcw KSwNCiAgICAgICAgICBwcm9maWxlMTAwKDEwMCkNCiAgICAgICAgfQ0KICAgICAgICBNQVgtQUND RVNTICByZWFkLWNyZWF0ZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIjEwUEFTUy1UUyBQTUUgVXBzdHJlYW0gUGF5bG9hZCBSYXRl IFByb2ZpbGUsDQogICAgICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQ b3NzaWJsZSB2YWx1ZXMgYXJlOg0KICAgICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUg TWJwcw0KICAgICAgICAgICAgcHJvZmlsZTEwKDEwKSAgICAgLSA1IE1icHMNCiAgICAgICAgICAg IHByb2ZpbGUxNSgxNSkgICAgIC0gNy41IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMCgyMCkg ICAgIC0gMTAgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTI1KDI1KSAgICAgLSAxMi41IE1icHMN CiAgICAgICAgICAgIHByb2ZpbGUzMCgzMCkgICAgIC0gMTUgTWJwcw0KICAgICAgICAgICAgcHJv ZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzDQogICAgICAgICAgICBwcm9maWxlNzAoNzApICAgICAt IDM1IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAgIC0gNTAgTWJwcw0KDQogICAg ICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgVXBzdHJl YW0gUGF5bG9hZA0KICAgICAgICAgIEJpdHJhdGUgYXMgc2VlbiBhdCB0aGUgTUlJLiBJZiB0aGUg cGF5bG9hZCByYXRlIG9mIHRoZQ0KICAgICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90IGJl IGFjaGlldmVkIGJhc2VkIG9uIHRoZSBsb29wDQogICAgICAgICAgZW52aXJvbm1lbnQsIGJhbmRw bGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlvbg0KICAgICAgICAgIFNIQUxM IGZhaWwuDQoNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAy NSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDc1XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAg ICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0K ICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0ZVByb2ZpbGVVcHN0 cmVhbQ0KICAgICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuIg0KICAgICAgICBSRUZFUkVO Q0UNCiAgICAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjYsIDMwLjUuMS4xLjIwIg0KICAg ICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA2IH0NCg0KICAgICAgZWZtQ3VQbWUx MFBQYXlsb2FkRFJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQ0KICAgICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsNCiAgICAgICAgICBwcm9maWxlNSg1KSwNCiAgICAgICAgICBwcm9maWxlMTAoMTAp LA0KICAgICAgICAgIHByb2ZpbGUxNSgxNSksDQogICAgICAgICAgcHJvZmlsZTIwKDIwKSwNCiAg ICAgICAgICBwcm9maWxlMjUoMjUpLA0KICAgICAgICAgIHByb2ZpbGUzMCgzMCksDQogICAgICAg ICAgcHJvZmlsZTUwKDUwKSwNCiAgICAgICAgICBwcm9maWxlNzAoNzApLA0KICAgICAgICAgIHBy b2ZpbGUxMDAoMTAwKSwNCiAgICAgICAgICBwcm9maWxlMTQwKDE0MCksDQogICAgICAgICAgcHJv ZmlsZTIwMCgyMDApDQogICAgICAgIH0NCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUN CiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAg ICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5bG9hZCBSYXRlIFByb2ZpbGUsDQogICAg ICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJsZSB2YWx1ZXMg YXJlOg0KICAgICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAtIDIuNSBNYnBzDQogICAgICAgICAg ICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzDQogICAgICAgICAgICBwcm9maWxlMTUoMTUpICAg IC0gNy41IE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgLSAxMCBNYnBzDQogICAg ICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzDQogICAgICAgICAgICBwcm9maWxl MzAoMzApICAgIC0gMTUgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAtIDI1IE1i cHMNCiAgICAgICAgICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzDQogICAgICAgICAgICBw cm9maWxlMTAwKDEwMCkgIC0gNTAgTWJwcw0KICAgICAgICAgICAgcHJvZmlsZTE0MCgxNDApICAt IDcwIE1icHMNCiAgICAgICAgICAgIHByb2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcw0KDQogICAg ICAgICAgRWFjaCB2YWx1ZSByZXByZXNlbnRzIGEgdGFyZ2V0IGZvciB0aGUgUE1FJ3MgRG93bnN0 cmVhbQ0KICAgICAgICAgIFBheWxvYWQgQml0cmF0ZSBhcyBzZWVuIGF0IHRoZSBNSUkuIElmIHRo ZSBwYXlsb2FkIHJhdGUgb2YNCiAgICAgICAgICB0aGUgc2VsZWN0ZWQgcHJvZmlsZSBjYW5ub3Qg YmUgYWNoaWV2ZWQgYmFzZWQgb24gdGhlIGxvb3ANCiAgICAgICAgICBlbnZpcm9ubWVudCwgYmFu ZHBsYW4gYW5kIFBTRCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uDQogICAgICAgICAgU0hB TEwgZmFpbC4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIGFQYXlsb2FkUmF0 ZVByb2ZpbGVEb3duc3RyZWFtDQogICAgICAgICAgYXR0cmlidXRlIGluIENsYXVzZSAzMC4iDQog ICAgICAgIFJFRkVSRU5DRQ0KICAgICAgICAgICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAu NS4xLjEuMjEiDQogICAgICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDcgfQ0KDQoN Cg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAg ICAgICAgICAgW1BhZ2UgNzZdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IElu dGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICBlZm1DdVBt ZTEwUFByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUNCiAgICAgICAgU1lOVEFYICAgICAgUm93 U3RhdHVzDQogICAgICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlDQogICAgICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiVGhpcyBvYmplY3Qg Y29udHJvbHMgY3JlYXRpb24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZg0KICAgICAgICAg IHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIHBlciB0aGUN CiAgICAgICAgICBzZW1hbnRpY3Mgb2YgUm93U3RhdHVzLg0KDQogICAgICAgICAgSWYgYW4gYWN0 aXZlIGVudHJ5IGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yDQogICAgICAg ICAgZWZtQ3VQbWVBZG1pblByb2ZpbGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1 bnRpbA0KICAgICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLg0KDQogICAgICAgICAg QW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2Rp ZnkgYW4NCiAgICAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBvZiBz ZXJ2aWNlIChieSBzZXR0aW5nDQogICAgICAgICAgdGhpcyBvYmplY3QgdG8gJ25vdEluU2Vydmlj ZScpLCBtb2RpZmllZCBhbmQgc2V0ICdhY3RpdmUnDQogICAgICAgICAgYWdhaW4uIg0KICAgICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0NCg0KDQogICAgICBlZm1DdVBtZTEw UFN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9G IEVmbUN1UG1lMTBQU3RhdHVzRW50cnkNCiAgICAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2li bGUNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAg ICAgICAgICJUaGlzIHRhYmxlIHByb3ZpZGVzIHN0YXR1cyBpbmZvcm1hdGlvbiBvZiBFRk1DdSAx MFBBU1MtVFMNCiAgICAgICAgICBQTUVzIChtb2RlbXMpLg0KDQogICAgICAgICAgVGhpcyB0YWJs ZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLA0KICAgICAg ICAgIGl0IGlzIE5PVCBwZXJzaXN0ZW50LiINCiAgICAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgMiB9 DQoNCiAgICAgIGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgT0JKRUNULVRZUEUNCiAgICAgICAgU1lO VEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQ0KICAgICAgICBNQVgtQUNDRVNTICBub3Qt YWNjZXNzaWJsZQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBU SU9ODQogICAgICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSAxMFBBU1MtVFMgUE1FIFN0YXR1 cyB0YWJsZS4iDQogICAgICAgIEFVR01FTlRTIHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSB9DQogICAg ICAgIDo6PSB7IGVmbUN1UG1lMTBQU3RhdHVzVGFibGUgMSB9DQoNCiAgICAgIEVmbUN1UG1lMTBQ U3RhdHVzRW50cnkgOjo9DQogICAgICAgIFNFUVVFTkNFIHsNCiAgICAgICAgICBlZm1DdVBtZTEw UEZFQ0NvcnJlY3RlZEJsb2NrcyAgICAgQ291bnRlcjMyLA0KICAgICAgICAgIGVmbUN1UG1lMTBQ RkVDVW5jb3JyZWN0ZWRCbG9ja3MgICBDb3VudGVyMzINCiAgICAgICAgfQ0KDQogICAgICBlZm1D dVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcyAgT0JKRUNULVRZUEUNCg0KDQoNCkJlaWxpICAgICAg ICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdl IDc3XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAg ICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgICBTWU5UQVggICAgICBDb3VudGVy MzINCiAgICAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5DQogICAgICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAiQSBjb3VudCBvZiByZWNlaXZl ZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTDQogICAgICAgICAgUE1F Lg0KDQogICAgICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tz IGF0dHJpYnV0ZSBpbg0KICAgICAgICAgIGNsYXVzZSAzMC4NCg0KICAgICAgICAgIElmIGEgQ2xh dXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsDQogICAgICAg ICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAgRkVDIGNvcnJlY3RhYmxlIGVycm9y cw0KICAgICAgICAgIHJlZ2lzdGVyDQoNCiAgICAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhl IHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQNCiAgICAgICAgICByZS1pbml0aWFs aXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcw0KICAg ICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0 eVRpbWUsDQogICAgICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIg0KICAgICAgICBSRUZFUkVOQ0UN CiAgICAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4xLjgiDQogICAgICAgIDo6 PSB7IGVmbUN1UG1lMTBQU3RhdHVzRW50cnkgMSB9DQoNCiAgICAgIGVmbUN1UG1lMTBQRkVDVW5j b3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFDQogICAgICAgIFNZTlRBWCAgICAgIENvdW50ZXIz Mg0KICAgICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkNCiAgICAgICAgU1RBVFVTICAgICAgY3Vy cmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICJBIGNvdW50IG9mIHJlY2VpdmVk IEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTIFBNRSwgd2hpY2ggYXJlDQogICAgICAgICAgdW5j b3JyZWN0YWJsZS4NCg0KICAgICAgICAgIFRoaXMgb2JqZWN0IG1hcHMgdG8gYVBNRUZFQ1VuY29y cmVjdGFibGVCbG9ja3MgYXR0cmlidXRlIGluDQogICAgICAgICAgY2xhdXNlIDMwLg0KDQogICAg ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNQS9QTUQgaXMgcHJl c2VudCwNCiAgICAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgdW5j b3JyZWN0YWJsZSBlcnJvcnMNCiAgICAgICAgICByZWdpc3Rlcg0KDQogICAgICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0DQogICAg ICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQg b3RoZXIgdGltZXMNCiAgICAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291 bnRlckRpc2NvbnRpbnVpdHlUaW1lLA0KICAgICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiINCiAg ICAgICAgUkVGRVJFTkNFDQogICAgICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMjMsIDMwLjExLjIu MS45Ig0KICAgICAgICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQ0KDQogICAgIC0t DQogICAgIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMNCiAgICAgLS0NCg0KDQoNCkJlaWxpICAg ICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQ YWdlIDc4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1J QiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgICAgZWZtQ3VHcm91cHMgICAgICBP QkpFQ1QgSURFTlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQ0KDQogICAgICBlZm1D dUNvbXBsaWFuY2VzIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1Q29uZm9ybWFuY2UgMiB9 DQoNCiAgICAgIC0tIE9iamVjdCBHcm91cHMNCg0KICAgICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVD VC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsNCiAgICAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCwN CiAgICAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVRhcmdldERhdGFS YXRlLA0KICAgICAgICAgIGVmbUN1VGFyZ2V0U25yTWduLA0KICAgICAgICAgIGVmbUN1QWRhcHRp dmVTcGVjdHJhLA0KICAgICAgICAgIGVmbUN1UG9ydFNpZGUsDQogICAgICAgICAgZWZtQ3VGbHRT dGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERF U0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcHJlc2VudGlu ZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9uDQogICAgICAgICAgY29tbW9uIGZvciBhbGwgdHlwZXMg b2YgRUZNQ3UgcG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAxIH0NCg0KICAgICAg ZWZtQ3VQQUZHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAg ZWZtQ3VQZWVyUEFGU3VwcG9ydGVkLA0KICAgICAgICAgIGVmbUN1UEFGQ2FwYWNpdHksDQogICAg ICAgICAgZWZtQ3VQZWVyUEFGQ2FwYWNpdHksDQogICAgICAgICAgZWZtQ3VQQUZBZG1pblN0YXRl LA0KICAgICAgICAgIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwNCiAgICAgICAgICBlZm1DdVBBRlJl bW90ZURpc2NvdmVyeUNvZGUsDQogICAgICAgICAgZWZtQ3VOdW1QTUVzDQogICAgICAgIH0NCiAg ICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAg ICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIFBNRQ0KICAgICAg ICAgIEFnZ3JlZ2F0aW9uIEZ1bmN0aW9uIChQQUYpIGFuZCBQQUYgZGlzY292ZXJ5IGluIEVGTUN1 IHBvcnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgMiB9DQoNCiAgICAgIGVmbUN1UEFG RXJyb3JzR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVm bUN1UEFGSW5FcnJvcnMsDQogICAgICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzLA0KICAg ICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywNCiAgICAgICAgICBlZm1DdVBBRkluQmFk RnJhZ21lbnRzLA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RnJhZ21lbnRzLA0KICAgICAgICAg IGVmbUN1UEFGSW5Mb3N0U3RhcnRzLA0KICAgICAgICAgIGVmbUN1UEFGSW5Mb3N0RW5kcywNCiAg ICAgICAgICBlZm1DdVBBRkluT3ZlcmZsb3dzDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAg ICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA3OV0NCgwNCklu dGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAg RmVicnVhcnkgMjAwNw0KDQoNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50 DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3Rz IHN1cHBvcnRpbmcgT1BUSU9OQUwgZXJyb3IgY291bnRlcnMNCiAgICAgICAgICBvZiBQQUYgb24g RUZNQ3UgcG9ydHMuIg0KICAgICAgICA6Oj0geyBlZm1DdUdyb3VwcyAzIH0NCg0KICAgICAgZWZt Q3VQbWVHcm91cCBPQkpFQ1QtR1JPVVANCiAgICAgICAgT0JKRUNUUyB7DQogICAgICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUsDQogICAgICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzLA0KICAgICAg ICAgIGVmbUN1UG1lRmx0U3RhdHVzLA0KICAgICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0 ZWQsDQogICAgICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsDQogICAgICAgICAgZWZtQ3VQbWVP cGVyU3ViVHlwZSwNCiAgICAgICAgICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUsDQogICAg ICAgICAgZWZtQ3VQbWVPcGVyUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBtZVNuck1nbiwNCiAg ICAgICAgICBlZm1DdVBtZVBlZXJTbnJNZ24sDQogICAgICAgICAgZWZtQ3VQbWVMaW5lQXRuLA0K ICAgICAgICAgIGVmbUN1UG1lUGVlckxpbmVBdG4sDQogICAgICAgICAgZWZtQ3VQbWVFcXVpdmFs ZW50TGVuZ3RoLA0KICAgICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJvcnMsDQogICAgICAgICAg ZWZtQ3VQbWVUQ0NyY0Vycm9ycywNCiAgICAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4sDQog ICAgICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24NCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMg ICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlv biBvZiBvYmplY3RzIHByb3ZpZGluZyBpbmZvcm1hdGlvbiBhYm91dA0KICAgICAgICAgIGEgMkJB U0UtVEwvMTBQQVNTLVRTIFBNRS4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDQgfQ0KDQog ICAgICBlZm1DdUFsYXJtQ29uZkdyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsN CiAgICAgICAgICBlZm1DdVRocmVzaExvd1JhdGUsDQogICAgICAgICAgZWZtQ3VMb3dSYXRlQ3Jv c3NpbmdFbmFibGUsDQogICAgICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuLA0KICAgICAgICAg IGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlLA0KICAgICAgICAgIGVmbUN1UG1lVGhyZXNo U25yTWduLA0KICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsDQogICAgICAg ICAgZWZtQ3VQbWVEZXZpY2VGYXVsdEVuYWJsZSwNCiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsRW5hYmxlLA0KICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQ0K ICAgICAgICB9DQogICAgICAgIFNUQVRVUyAgICAgIGN1cnJlbnQNCiAgICAgICAgREVTQ1JJUFRJ T04NCiAgICAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgc3VwcG9ydGluZyBjb25maWd1 cmF0aW9uIG9mIGFsYXJtDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhwaXJlcyBB dWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4MF0NCgwNCkludGVybmV0LURyYWZ0 ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVhcnkgMjAw Nw0KDQoNCiAgICAgICAgICB0aHJlc2hvbGRzIGFuZCBub3RpZmljYXRpb25zIGluIEVGTUN1IHBv cnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNSB9DQoNCiAgICAgIGVmbUN1Tm90aWZp Y2F0aW9uR3JvdXAgTk9USUZJQ0FUSU9OLUdST1VQDQogICAgICAgIE5PVElGSUNBVElPTlMgew0K ICAgICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLA0KICAgICAgICAgIGVmbUN1UG1lTGluZUF0 bkNyb3NzaW5nLA0KICAgICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcsDQogICAgICAgICAg ZWZtQ3VQbWVEZXZpY2VGYXVsdCwNCiAgICAgICAgICBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJl LA0KICAgICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZQ0KICAgLS0gICAgICAgZWZt Q3VQbWVEZXZpY2VGYXVsdCwNCiAgIC0tICAgICAgIGVmbUN1UG1lTG9jYWxQb3dlckxvc3MNCiAg ICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQogICAgICAgIERFU0NSSVBUSU9O DQogICAgICAgICAgIlRoaXMgZ3JvdXAgc3VwcG9ydHMgbm90aWZpY2F0aW9ucyBvZiBzaWduaWZp Y2FudCBjb25kaXRpb25zDQogICAgICAgICAgYXNzb2NpYXRlZCB3aXRoIEVGTUN1IHBvcnRzLiIN CiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMgNiB9DQoNCiAgICAgIGVmbUN1UG1lMkJQcm9maWxl R3JvdXAgT0JKRUNULUdST1VQDQogICAgICAgIE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1UG1l MkJQcm9maWxlRGVzY3IsDQogICAgICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwNCiAgICAgICAgICBl Zm1DdVBtZTJCc01vZGUsDQogICAgICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlLA0KICAgICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwNCiAgICAgICAgICBlZm1DdVBtZTJCUG93ZXIsDQog ICAgICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24sDQogICAgICAgICAgZWZtQ3VQbWUyQlBy b2ZpbGVSb3dTdGF0dXMsDQogICAgICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IsDQogICAgICAg ICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzLA0KICAgICAgICAgIGVmbUN1UG1lMkJFcXVpdmFs ZW50TGVuZ3RoLA0KICAgICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTE2LA0KICAgICAg ICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyLA0KICAgICAgICAgIGVmbUN1UG1lMkJSZWFj aFJhdGVSb3dTdGF0dXMNCiAgICAgICAgfQ0KICAgICAgICBTVEFUVVMgICAgICBjdXJyZW50DQog ICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRo YXQgY29uc3RpdHV0ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGZvciBjb25m aWd1cmF0aW9uIG9mIDJCQVNFLVRMIHBvcnRzLiINCiAgICAgICAgOjo9IHsgZWZtQ3VHcm91cHMg N30NCg0KICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQDQogICAgICAg IE9CSkVDVFMgew0KICAgICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURlc2NyLA0KICAgICAgICAg IGVmbUN1UG1lMTBQQmFuZHBsYW5QU0RNc2tQcm9maWxlLA0KICAgICAgICAgIGVmbUN1UG1lMTBQ VVBCT1JlZmVyZW5jZVByb2ZpbGUsDQoNCg0KDQpCZWlsaSAgICAgICAgICAgICAgICAgICAgRXhw aXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4MV0NCgwNCkludGVybmV0 LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAgICAgICAgRmVicnVh cnkgMjAwNw0KDQoNCiAgICAgICAgICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzLA0KICAg ICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZFVSYXRlUHJvZmlsZSwNCiAgICAgICAgICBlZm1DdVBt ZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUsDQogICAgICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93 U3RhdHVzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICBjdXJyZW50DQogICAgICAgIERFU0NS SVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHRoYXQgY29uc3RpdHV0 ZSBhIGNvbmZpZ3VyYXRpb24NCiAgICAgICAgICBwcm9maWxlIGZvciBjb25maWd1cmF0aW9uIG9m IDEwUEFTUy1UUyBwb3J0cy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQ0KDQogICAg ICBlZm1DdVBtZTEwUFN0YXR1c0dyb3VwIE9CSkVDVC1HUk9VUA0KICAgICAgICBPQkpFQ1RTIHsN CiAgICAgICAgICBlZm1DdVBtZTEwUEZFQ0NvcnJlY3RlZEJsb2NrcywNCiAgICAgICAgICBlZm1D dVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzDQogICAgICAgIH0NCiAgICAgICAgU1RBVFVTICBj dXJyZW50DQogICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgIkEgY29sbGVjdGlvbiBvZiBv YmplY3RzIHByb3ZpZGluZyBzdGF0dXMgaW5mb3JtYXRpb24NCiAgICAgICAgICBzcGVjaWZpYyB0 byAxMFBBU1MtVFMgUE1Fcy4iDQogICAgICAgIDo6PSB7IGVmbUN1R3JvdXBzIDkgfQ0KDQogICAg IC0tIENvbXBsaWFuY2UgU3RhdGVtZW50cw0KDQogICAgICBlZm1DdUNvbXBsaWFuY2UgTU9EVUxF LUNPTVBMSUFOQ0UNCiAgICAgICAgU1RBVFVTICAgICAgY3VycmVudA0KICAgICAgICBERVNDUklQ VElPTg0KICAgICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIDJCQVNFLVRMLzEw UEFTUy1UUyBpbnRlcmZhY2VzLg0KICAgICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93 aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAgICAgIGlzIFJFUVVJUkVE Og0KDQogICAgICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVu dA0KICAgICAgICAgIC0tLS0tLS0tLS0gICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0N CiAgICAgICAgICBJRi1NSUIgICAgICAgICAgICAgICAgIGlmQ29tcGxpYW5jZTMNCiAgICAgICAg ICBFdGhlckxpa2UtTUlCICAgICAgICAgIGRvdDNDb21wbGlhbmNlMg0KICAgICAgICAgIE1BVS1N SUIgICAgICAgICAgICAgICAgbWF1TW9kSWZDb21wbDMNCg0KICAgICAgICAgIENvbXBsaWFuY2Ug d2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBsaWFuY2Ugc3RhdGVtZW50cw0KICAgICAg ICAgIGlzIE9QVElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMgc3VwcG9ydGluZyBQTUUgQWdncmVn YXRpb24NCiAgICAgICAgICBGdW5jdGlvbiAoUEFGKSB3aXRoIGZsZXhpYmxlIGNyb3NzLWNvbm5l Y3QgYmV0d2VlbiB0aGUgUENTDQogICAgICAgICAgYW5kIFBNRSBwb3J0czoNCg0KICAgICAgICAg IE1JQiBNb2R1bGUgICAgICAgICAgICAgQ29tcGxpYW5jZSBTdGF0ZW1lbnQNCiAgICAgICAgICAt LS0tLS0tLS0tICAgICAgICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgSUYt SU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UNCiAgICAgICAgICBJRi1DQVAtU1RB Q0stTUlCICAgICAgIGlmQ2FwU3RhY2tDb21wbGlhbmNlIg0KDQogICAgICAgIE1PRFVMRSAgLS0g dGhpcyBtb2R1bGUNCg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3Vz dCAyNSwgMjAwNyAgICAgICAgICAgICAgIFtQYWdlIDgyXQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAg ICAgICAgICBFRk1DdSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoN Cg0KICAgICAgICAgIE1BTkRBVE9SWS1HUk9VUFMgew0KICAgICAgICAgICAgZWZtQ3VCYXNpY0dy b3VwLA0KICAgICAgICAgICAgZWZtQ3VQbWVHcm91cCwNCiAgICAgICAgICAgIGVmbUN1QWxhcm1D b25mR3JvdXAsDQogICAgICAgICAgICBlZm1DdU5vdGlmaWNhdGlvbkdyb3VwDQogICAgICAgICAg fQ0KDQogICAgICAgICAgR1JPVVAgICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVHcm91cA0KICAgICAg ICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBv bmx5IHJlcXVpcmVkIGZvciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgICAgIHN1cHBvcnRpbmcg MkJBU0UtVEwgUGh5LiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQUHJvZmls ZUdyb3VwDQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0 aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAg ICAgc3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVm bUN1UEFGR3JvdXANCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIlN1cHBvcnQg Zm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBmb3INCiAgICAgICAgICAgIGltcGxlbWVu dGF0aW9ucyBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKS4iDQoNCiAg ICAgICAgICBHUk9VUCAgICAgICBlZm1DdVBBRkVycm9yc0dyb3VwDQogICAgICAgICAgREVTQ1JJ UFRJT04NCiAgICAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9QVElPTkFMIGZv ciBpbXBsZW1lbnRhdGlvbnMNCiAgICAgICAgICAgIHN1cHBvcnRpbmcgUE1FIEFnZ3JlZ2F0aW9u IEZ1bmN0aW9uIChQQUYpLiINCg0KICAgICAgICAgIEdST1VQICAgICAgIGVmbUN1UG1lMTBQU3Rh dHVzR3JvdXANCiAgICAgICAgICBERVNDUklQVElPTg0KICAgICAgICAgICAgIlN1cHBvcnQgZm9y IHRoaXMgZ3JvdXAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucw0KICAgICAgICAgICAg c3VwcG9ydGluZyAxMFBBU1MtVFMgUGh5LiINCg0KICAgICAgICAgIE9CSkVDVCAgICAgIGVmbUN1 UG1lU3ViVHlwZXNTdXBwb3J0ZWQNCiAgICAgICAgICBTWU5UQVggICAgICBCSVRTIHsNCiAgICAg ICAgICAgIGllZWUyQmFzZVRMTygwKSwNCiAgICAgICAgICAgIGllZWUyQmFzZVRMUigxKSwNCiAg ICAgICAgICAgIGllZWUxMFBhc3NUU08oMiksDQogICAgICAgICAgICBpZWVlMTBQYXNzVFNSKDMp DQogICAgICAgICAgfQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiU3VwcG9y dCBmb3IgYWxsIHN1YnR5cGVzIGlzIG5vdCByZXF1aXJlZC4gSG93ZXZlciBhdCBsZWFzdA0KICAg ICAgICAgICAgb25lIHZhbHVlIFNIQUxMIGJlIHN1cHBvcnRlZCINCg0KICAgICAgICAgIE9CSkVD VCAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlDQogICAgICAgICAgTUlOLUFDQ0VTUyAgcmVhZC1v bmx5DQogICAgICAgICAgREVTQ1JJUFRJT04NCiAgICAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMg bm90IHJlcXVpcmVkIChuZWVkZWQgb25seSBmb3IgUE1Fcw0KICAgICAgICAgICAgc3VwcG9ydGlu ZyBtb3JlIHRoYW4gYSBzaW5nbGUgc3VidHlwZSwgZS5nLg0KDQoNCg0KQmVpbGkgICAgICAgICAg ICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODNd DQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAg ICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICAgICAgICAgICBpZWVlMkJhc2VUTE8gYW5kIGll ZWUyQmFzZVRMUiBvciBpZWVlMTBQYXNzVFNPIGFuZA0KICAgICAgICAgICAgaWVlZTEwUGFzc1RT UikiDQoNCiAgICAgICAgICBPQkpFQ1QgICAgICBlZm1DdVRhcmdldFNuck1nbg0KICAgICAgICAg IE1JTi1BQ0NFU1MgIHJlYWQtb25seQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAg ICAiV3JpdGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vz cw0KICAgICAgICAgICAgdGhlIHRhcmdldCBTTlIgbWFyZ2luIFNIQUxMIGJlIGZpeGVkIGF0IDVk QiBmb3IgMkJBU0UtVEwNCiAgICAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iDQoNCiAg ICAgICAgICBPQkpFQ1QgICAgICBlZm1DdUFkYXB0aXZlU3BlY3RyYQ0KICAgICAgICAgIE1JTi1B Q0NFU1MgIHJlYWQtb25seQ0KICAgICAgICAgIERFU0NSSVBUSU9ODQogICAgICAgICAgICAiV3Jp dGUgYWNjZXNzIGlzIE9QVElPTkFMLiBGb3IgUEhZcyB3aXRob3V0IHdyaXRlIGFjY2Vzcw0KICAg ICAgICAgICAgdGhlIGRlZmF1bHQgdmFsdWUgU0hPVUxEIGJlIGZhbHNlLiINCg0KICAgICAgICA6 Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEgfQ0KICAgRU5EDQoNCg0KNy4gIFNlY3VyaXR5IENvbnNp ZGVyYXRpb25zDQoNCiAgIFRoZXJlIGlzIGEgbnVtYmVyIG9mIG1hbmFnZWQgb2JqZWN0cyBkZWZp bmVkIGluIHRoZSBFRk0tQ1UtTUlCIG1vZHVsZQ0KICAgdGhhdCBoYXZlIGEgTUFYLUFDQ0VTUyBj bGF1c2Ugb2YgcmVhZC13cml0ZSBvciByZWFkLWNyZWF0ZS4gIE1vc3QNCiAgIG9iamVjdHMgYXJl IHdyaXRlYWJsZSBvbmx5IHdoZW4gdGhlIGxpbmsgaXMgRG93bi4gIFdyaXRpbmcgdG8gdGhlc2UN CiAgIG9iamVjdHMgY2FuIGhhdmUgcG90ZW50aWFsbHkgZGlzcnVwdGl2ZSBlZmZlY3RzIG9uIG5l dHdvcmsgb3BlcmF0aW9uLA0KICAgZm9yIGV4YW1wbGU6DQoNCiAgIG8gIENoYW5naW5nIG9mIGVm bUN1UG1lQWRtaW5TdWJUeXBlIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsIGxvY2tpbmcNCiAgICAg IG9mIHRoZSBsaW5rLCBhcyBwZWVyIFBNRXMgb2YgdGhlIHNhbWUgc3ViLXR5cGUgY2Fubm90IGV4 Y2hhbmdlDQogICAgICBoYW5kc2hha2UgbWVzc2FnZXMuDQoNCiAgIG8gIENoYW5naW5nIG9mIGVm bUN1UEFGQWRtaW5TdGF0ZSB0byBlbmFibGVkIG1heSBsZWFkIHRvIGEgcG90ZW50aWFsDQogICAg ICBsb2NraW5nIG9mIHRoZSBsaW5rLCBpZiB0aGUgcGVlciBQaHkgZG9lcyBub3Qgc3VwcG9ydCBQ QUYuDQoNCiAgIG8gIENoYW5naW5nIG9mIGVmbUN1UEFGRGlzY292ZXJ5Q29kZSwgYmVmb3JlIHRo ZSBkaXNjb3Zlcnkgb3BlcmF0aW9uLA0KICAgICAgbWF5IGxlYWQgdG8gYSB3cm9uZ2Z1bCBkaXNj b3ZlcnksIGZvciBleGFtcGxlIHdoZW4gdHdvIC1PIHBvcnRzDQogICAgICBhcmUgY29ubmVjdGVk IHRvIHRoZSBzYW1lIG11bHRpLVBNRSAtUiBwb3J0IGFuZCBib3RoIC1PIHBvcnRzIGhhdmUNCiAg ICAgIHRoZSBzYW1lIERpc2NvdmVyeSByZWdpc3RlciB2YWx1ZS4NCg0KICAgbyAgQ2hhbmdpbmcg UENTIG9yIFBNRSBjb25maWd1cmF0aW9uIHBhcmFtZXRlcnMgKGUuZy4gcHJvZmlsZSBvZiBhDQog ICAgICBQQ1Mgb3IgUE1FIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvciBlZm1DdVBtZUFkbWluUHJv ZmlsZSkgbWF5IGxlYWQNCiAgICAgIHRvIGFueXRoaW5nIGZyb20gbGluayBxdWFsaXR5IGFuZCBy YXRlIGRlZ3JhZGF0aW9uIHRvIGEgY29tcGxldGUNCiAgICAgIGxpbmsgaW5pdGlhbGl6YXRpb24g ZmFpbHVyZSwgYXMgYWJpbGl0eSBvZiBhbiBFRk1DdSBwb3J0IHRvDQogICAgICBzdXBwb3J0IGEg cGFydGljdWxhciBjb25maWd1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNvcHBlcg0KICAgICAgZW52 aXJvbm1lbnQuDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVn dXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODRdDQoMDQpJbnRlcm5ldC1EcmFmdCAg ICAgICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcN Cg0KDQogICBvICBBY3RpdmF0aW9uIG9mIGEgUE1FIGNhbiBjYXVzZSBhIHNldmVyZSBkZWdyYWRh dGlvbiBvZiBzZXJ2aWNlIGZvcg0KICAgICAgYW5vdGhlciBFRk1DdSBQaHksIHdob3NlIFBNRShz KSBtYXkgYmUgYWZmZWN0ZWQgYnkgdGhlIGNyb3NzLXRhbGsNCiAgICAgIGZyb20gdGhlIG5ld2x5 IGFjdGl2YXRlZCBQTUUuDQoNCiAgIG8gIFJlbW92YWwgb2YgYSBQTUUgZnJvbSBhbiBvcGVyYXRp b25hbGx5ICd1cCcgRUZNQ3UgcG9ydCwNCiAgICAgIGFnZ3JlZ2F0aW5nIHNldmVyYWwgUE1Fcywg bWF5IGNhdXNlIHBvcnQncyByYXRlIGRlZ3JhZGF0aW9uDQoNCiAgIFRoZSB1c2VyIG9mIHRoZSBF Rk0tQ1UtTUlCIG1vZHVsZSBtdXN0IHRoZXJlZm9yZSBiZSBhd2FyZSB0aGF0DQogICBzdXBwb3J0 IGZvciBTRVQgb3BlcmF0aW9ucyBpbiBhIG5vbi1zZWN1cmUgZW52aXJvbm1lbnQgd2l0aG91dCBw cm9wZXINCiAgIHByb3RlY3Rpb24gY2FuIGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gbmV0d29y ayBvcGVyYXRpb25zLg0KDQogICBUaGUgcmVhZGFibGUgb2JqZWN0cyBpbiB0aGUgRUZNLUNVLU1J QiBtb2R1bGUgKGkuZS4sIHRob3NlIHdpdGggTUFYLQ0KICAgQUNDRVNTIG90aGVyIHRoYW4gbm90 LWFjY2Vzc2libGUpIG1heSBiZSBjb25zaWRlcmVkIHNlbnNpdGl2ZSBpbiBzb21lDQogICBlbnZp cm9ubWVudHMgc2luY2UsIGNvbGxlY3RpdmVseSwgdGhleSBwcm92aWRlIGluZm9ybWF0aW9uIGFi b3V0IHRoZQ0KICAgcGVyZm9ybWFuY2Ugb2YgbmV0d29yayBpbnRlcmZhY2VzIGFuZCBjYW4gcmV2 ZWFsIHNvbWUgYXNwZWN0cyBvZg0KICAgdGhlaXIgY29uZmlndXJhdGlvbi4gIEluIHBhcnRpY3Vs YXIsIHNpbmNlIEVGTUN1IGNhbiBiZSBjYXJyaWVkIG92ZXINCiAgIFVuc2hpZWxkZWQgVHdpc3Rl ZCBQYWlyIChVVFApIHZvaWNlIGdyYWRlIGNvcHBlciBpbiBhIGJ1bmRsZSB3aXRoDQogICBvdGhl ciBwYWlycyBiZWxvbmdpbmcgdG8gYW5vdGhlciBvcGVyYXRvci9jdXN0b21lciwgaXQgaXMNCiAg IHRoZW9yZXRpY2FsbHkgcG9zc2libGUgdG8gZXZhc2Ryb3AgdG8gYW4gRUZNQ3UgdHJhbnNtaXNz aW9uIHNpbXBseSBieQ0KICAgImxpc3RlbmluZyIgdG8gYSBjcm9zcy10YWxrIGZyb20gdGhlIEVG TUN1IHBhaXJzLCBlc3BlY2lhbGx5IGlmIHRoZQ0KICAgcGFyYW1ldGVycyBvZiB0aGUgRUZNQ3Ug bGluayBpbiBxdWVzdGlvbiBhcmUga25vd24uDQoNCiAgIEluIHN1Y2ggZW52aXJvbm1lbnRzIGl0 IGlzIGltcG9ydGFudCB0byBjb250cm9sIGFsc28gR0VUIGFuZCBOT1RJRlkNCiAgIGFjY2VzcyB0 byB0aGVzZSBvYmplY3RzIGFuZCBwb3NzaWJseSBldmVuIHRvIGVuY3J5cHQgdGhlaXIgdmFsdWVz DQogICB3aGVuIHNlbmRpbmcgdGhlbSBvdmVyIHRoZSBuZXR3b3JrIHZpYSBTTk1QLg0KDQogICBT Tk1QIHZlcnNpb25zIHByaW9yIHRvIFNOTVB2MyBkaWQgbm90IGluY2x1ZGUgYWRlcXVhdGUgc2Vj dXJpdHkuDQogICBFdmVuIGlmIHRoZSBuZXR3b3JrIGl0c2VsZiBpcyBzZWN1cmUgKGZvciBleGFt cGxlIGJ5IHVzaW5nIElQc2VjKSwNCiAgIGV2ZW4gdGhlbiwgdGhlcmUgaXMgbm8gY29udHJvbCBh cyB0byB3aG8gb24gdGhlIHNlY3VyZSBuZXR3b3JrIGlzDQogICBhbGxvd2VkIHRvIGFjY2VzcyBh bmQgR0VUL1NFVCAocmVhZC9jaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhlIG9iamVjdHMNCiAgIGlu IHRoZXNlIE1JQiBtb2R1bGVzLg0KDQogICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGltcGxlbWVu dGVycyBjb25zaWRlciB0aGUgc2VjdXJpdHkgZmVhdHVyZXMgYXMNCiAgIHByb3ZpZGVkIGJ5IHRo ZSBTTk1QdjMgZnJhbWV3b3JrIChzZWUgW1JGQzM0MTBdLCBzZWN0aW9uIDgpLA0KICAgaW5jbHVk aW5nIGZ1bGwgc3VwcG9ydCBmb3IgdGhlIFNOTVB2MyBjcnlwdG9ncmFwaGljIG1lY2hhbmlzbXMg KGZvcg0KICAgYXV0aGVudGljYXRpb24gYW5kIHByaXZhY3kpLg0KDQogICBGdXJ0aGVyLCBkZXBs b3ltZW50IG9mIFNOTVAgdmVyc2lvbnMgcHJpb3IgdG8gU05NUHYzIGlzIE5PVA0KICAgUkVDT01N RU5ERUQuICBJbnN0ZWFkLCBpdCBpcyBSRUNPTU1FTkRFRCB0byBkZXBsb3kgU05NUHYzIGFuZCB0 bw0KICAgZW5hYmxlIGNyeXB0b2dyYXBoaWMgc2VjdXJpdHkuICBJdCBpcyB0aGVuIGEgY3VzdG9t ZXIvb3BlcmF0b3INCiAgIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSB0aGF0IHRoZSBTTk1QIGVu dGl0eSBnaXZpbmcgYWNjZXNzIHRvIGFuDQogICBpbnN0YW5jZSBvZiB0aGVzZSBNSUIgbW9kdWxl cyBpcyBwcm9wZXJseSBjb25maWd1cmVkIHRvIGdpdmUgYWNjZXNzDQogICB0byB0aGUgb2JqZWN0 cyBvbmx5IHRvIHRob3NlIHByaW5jaXBhbHMgKHVzZXJzKSB0aGF0IGhhdmUgbGVnaXRpbWF0ZQ0K ICAgcmlnaHRzIHRvIGluZGVlZCBHRVQgb3IgU0VUIChjaGFuZ2UvY3JlYXRlL2RlbGV0ZSkgdGhl bS4NCg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0 IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODVdDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAg ICAgICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0K DQo4LiAgSUFOQSBDb25zaWRlcmF0aW9ucw0KDQogICBUaGUgdHdvIG5ldyB2YWx1ZXMgb2YgZG90 M01hdVR5cGUgKGRvdDNNYXVUeXBlMkJhc2VUTCBhbmQNCiAgIGRvdDNNYXVUeXBlMTBQYXNzVFMp IGFuZCBjb3JyZXNwb25kaW5nIElBTkFpZk1hdVR5cGVMaXN0Qml0cyBiaXQNCiAgIGRlZmluaXRp b25zIChiMkJhc2VUTCBhbmQgYjEwUGFzc1RTKSwgYXMgd2VsbCBhcyB0aGUgbmV3IHZhbHVlcyBm b3INCiAgIElBTkFpZk1hdU1lZGlhQXZhaWxhYmxlIChhdmFpbGFibGVSZWR1Y2VkIGFuZCByZWFk eSkgU0hBTEwgYmUgZGVmaW5lZA0KICAgYnkgdGhlIElBTkEgaW4gdGhlIElBTkEtTUFVLU1JQiBt b2R1bGUgKHNlZQ0KICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSkgYmVmb3JlIHRoaXMg ZG9jdW1lbnQgaXMgcHVibGlzaGVkIGFzIGFuDQogICBSRkMuDQoNCiAgIEFkZGl0aW9uYWxseSwg b2JqZWN0IGlkZW50aWZpZXJzIGZvciBlZm1DdU1JQiBNT0RVTEUtSURFTlRJVFkgYW5kDQogICBp ZkNhcFN0YWNrTUlCIE1PRFVMRS1JREVOVElUWSBTSEFMTCBiZSBhbGxvY2F0ZWQgYnkgSUFOQSBp biB0aGUgTUlCLTINCiAgIHN1Yi10cmVlLCBiZWZvcmUgdGhpcyBkb2N1bWVudCBpcyBwdWJsaXNo ZWQuDQoNCg0KOS4gIEFja25vd2xlZGdtZW50cw0KDQogICBUaGlzIGRvY3VtZW50IHdhcyBwcm9k dWNlZCBieSB0aGUgSUVURiBFdGhlcm5ldCBJbnRlcmZhY2VzIGFuZCBIdWINCiAgIE1JQiBXb3Jr aW5nIEdyb3VwIFsxXSwgd2hvc2UgZWZmb3J0cyB3ZXJlIGdyZWF0bHkgYWR2YW5jZWQgYnkgdGhl DQogICBjb250cmlidXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgcGVvcGxlIChpbiBhbHBoYWJldGlj YWwgb3JkZXIpOg0KDQogICAgICBCZXJ0IFdpam5lbiAoQWxjYXRlbCkNCg0KICAgICAgRGFuIFJv bWFzY2FudSAoQXZheWEpDQoNCiAgICAgIE1hcmluYSBQb3BpbG92IChBY3RlbGlzKQ0KDQogICAg ICBNYXRoaWFzIFJpZXNzIChJbmZpbmVvbikNCg0KICAgICAgTWF0dCBTcXVpcmUgKEhhdHRlcmFz KQ0KDQogICAgICBNaWtlIEhlYXJkDQoNCiAgICAgIFVkaSBBc2hrZW5hemkgKEFjdGVsaXMpDQoN Cg0KMTAuICBOb3RlcyB0byBSRkMgRWRpdG9yDQoNCiAgIFRoaXMgc2VjdGlvbiBjb250YWlucyBu b3RlcyB0byB0aGUgUkZDIEVkaXRvciBhbmQgc2hvdWxkIGJlIHJlbW92ZWQNCiAgIHByaW9yIHRv IHB1YmxpY2F0aW9uLg0KDQogICAgICBQbGVhc2UgcmVwbGFjZSBbSS1ELmlldGYtaHVibWliLWVm bS1taWJdIGFuZA0KICAgICAgW0ktRC5pZXRmLWh1Ym1pYi1yZmMzNjM2YmlzXSB3aXRoIGFjdHVh bCBSRkMgbnVtYmVycyBpZiB0aG9zZSBhcmUNCiAgICAgIGF2YWlsYWJsZSBhdCB0aW1lIG9mIHB1 YmxpY2F0aW9uLg0KDQoNCjExLiAgUmVmZXJlbmNlcw0KDQoNCg0KDQpCZWlsaSAgICAgICAgICAg ICAgICAgICAgRXhwaXJlcyBBdWd1c3QgMjUsIDIwMDcgICAgICAgICAgICAgICBbUGFnZSA4Nl0N CgwNCkludGVybmV0LURyYWZ0ICAgICAgICAgICAgRUZNQ3UgSW50ZXJmYWNlcyBNSUIgICAgICAg ICAgICAgRmVicnVhcnkgMjAwNw0KDQoNCjExLjEuICBOb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQog ICBbODAyLjNdICAgIElFRUUsICJJRUVFIFN0YW5kYXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9s b2d5IC0NCiAgICAgICAgICAgICAgVGVsZWNvbW11bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBl eGNoYW5nZSBiZXR3ZWVuDQogICAgICAgICAgICAgIHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9w b2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZpYw0KICAgICAgICAgICAgICByZXF1aXJlbWVu dHMgLSBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdpdGgNCiAgICAgICAg ICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAoQ1NNQS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5 c2ljYWwNCiAgICAgICAgICAgICAgTGF5ZXIgU3BlY2lmaWNhdGlvbnMiLCBJRUVFIFN0ZCA4MDIu My0yMDA1LCBEZWNlbWJlciAyMDA1Lg0KDQogICBbODAyLjNhaF0gIElFRUUsICJJRUVFIFN0YW5k YXJkIGZvciBJbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0NCiAgICAgICAgICAgICAgVGVsZWNvbW11 bmljYXRpb25zIGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZSBiZXR3ZWVuDQogICAgICAgICAgICAg IHN5c3RlbXMgLSBMb2NhbCBhbmQgbWV0cm9wb2xpdGFuIGFyZWEgbmV0d29ya3MgLSBTcGVjaWZp Yw0KICAgICAgICAgICAgICByZXF1aXJlbWVudHMgLSBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVs dGlwbGUgQWNjZXNzIHdpdGgNCiAgICAgICAgICAgICAgQ29sbGlzaW9uIERldGVjdGlvbiAoQ1NN QS9DRCkgQWNjZXNzIE1ldGhvZCBhbmQgUGh5c2ljYWwNCiAgICAgICAgICAgICAgTGF5ZXIgU3Bl Y2lmaWNhdGlvbnMgLSBBbWVuZG1lbnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sDQogICAgICAgICAg ICAgIFBhcmFtZXRlcnMsIFBoeXNpY2FsIExheWVycyBhbmQgTWFuYWdlbWVudCBQYXJhbWV0ZXJz IGZvcg0KICAgICAgICAgICAgICBTdWJzY3JpYmVyIEFjY2VzcyBOZXR3b3JrcyIsIElFRUUgU3Rk IDgwMi4zYWgtMjAwNCwNCiAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDQuDQoNCiAgIFtHLjk5 MS4yXSAgSVRVLVQsICJTaW5nbGUtcGFpciBIaWdoLXNwZWVkIERpZ2l0YWwgU3Vic2NyaWJlciBM aW5lDQogICAgICAgICAgICAgIChTSERTTCkgdHJhbnNjZWl2ZXJzIiwgSVRVLVQgUmVjb21tZW5k YXRpb24gRy45OTEuMiwNCiAgICAgICAgICAgICAgRGVjZW1iZXIgMjAwMy4NCg0KICAgW0cuOTkz LjFdICBJVFUtVCwgIlZlcnkgSGlnaCBzcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZQ0KICAg ICAgICAgICAgICB0cmFuc2NlaXZlcnMiLCBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5My4xLCBK dW5lIDIwMDQuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItcmZjMzYzNmJpc10NCiAgICAgICAgICAg ICAgQmVpbGksIEUuLCAiRGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3RzIGZvciBJRUVFIDgw Mi4zDQogICAgICAgICAgICAgIE1lZGl1bSBBdHRhY2htZW50IFVuaXRzIChNQVVzKSIsDQogICAg ICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLXJmYzM2MzZiaXMtMDUgKHdvcmsgaW4gcHJvZ3Jl c3MpLA0KICAgICAgICAgICAgICBKdWx5IDIwMDYuDQoNCiAgIFtSRkMyMTE5XSAgQnJhZG5lciwg Uy4sICJLZXkgd29yZHMgZm9yIHVzZSBpbiBSRkNzIHRvIEluZGljYXRlDQogICAgICAgICAgICAg IFJlcXVpcmVtZW50IExldmVscyIsIEJDUCAxNCwgUkZDIDIxMTksIE1hcmNoIDE5OTcuDQoNCiAg IFtSRkMyNTc4XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBTY2hvZW53YWVsZGVyLCBK LiwgQ2FzZSwgSi4sDQogICAgICAgICAgICAgIE1jQ2xvZ2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5k IFMuIFdhbGRidXNzZXIsICJTdHJ1Y3R1cmUgb2YNCiAgICAgICAgICAgICAgTWFuYWdlbWVudCBJ bmZvcm1hdGlvbiBWZXJzaW9uIDIgKFNNSXYyKSIsIFNURCA1OCwNCiAgICAgICAgICAgICAgUkZD IDI1NzgsIEFwcmlsIDE5OTkuDQoNCiAgIFtSRkMyNTc5XSAgTWNDbG9naHJpZSwgSy4sIFBlcmtp bnMsIEQuLCBTY2hvZW53YWVsZGVyLCBKLiwgQ2FzZSwgSi4sDQogICAgICAgICAgICAgIE1jQ2xv Z2hyaWUsIEsuLCBSb3NlLCBNLiwgYW5kIFMuIFdhbGRidXNzZXIsICJUZXh0dWFsDQogICAgICAg ICAgICAgIENvbnZlbnRpb25zIGZvciBTTUl2MiIsIFNURCA1OCwgUkZDIDI1NzksIEFwcmlsIDE5 OTkuDQoNCiAgIFtSRkMyNTgwXSAgTWNDbG9naHJpZSwgSy4sIFBlcmtpbnMsIEQuLCBhbmQgSi4g U2Nob2Vud2FlbGRlciwNCiAgICAgICAgICAgICAgIkNvbmZvcm1hbmNlIFN0YXRlbWVudHMgZm9y IFNNSXYyIiwgU1REIDU4LCBSRkMgMjU4MCwNCiAgICAgICAgICAgICAgQXByaWwgMTk5OS4NCg0K DQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1LCAyMDA3ICAg ICAgICAgICAgICAgW1BhZ2UgODddDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAgICAgIEVGTUN1 IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQogICBbUkZDMjg2 M10gIE1jQ2xvZ2hyaWUsIEsuIGFuZCBGLiBLYXN0ZW5ob2x6LCAiVGhlIEludGVyZmFjZXMgR3Jv dXANCiAgICAgICAgICAgICAgTUlCIiwgUkZDIDI4NjMsIEp1bmUgMjAwMC4NCg0KICAgW1JGQzI4 NjRdICBNY0Nsb2docmllLCBLLiBhbmQgRy4gSGFuc29uLCAiVGhlIEludmVydGVkIFN0YWNrIFRh YmxlDQogICAgICAgICAgICAgIEV4dGVuc2lvbiB0byB0aGUgSW50ZXJmYWNlcyBHcm91cCBNSUIi LCBSRkMgMjg2NCwNCiAgICAgICAgICAgICAgSnVuZSAyMDAwLg0KDQogICBbUkZDMzYzNV0gIEZs aWNrLCBKLiwgIkRlZmluaXRpb25zIG9mIE1hbmFnZWQgT2JqZWN0cyBmb3IgdGhlDQogICAgICAg ICAgICAgIEV0aGVybmV0LWxpa2UgSW50ZXJmYWNlIFR5cGVzIiwgUkZDIDM2MzUsIFNlcHRlbWJl ciAyMDAzLg0KDQoxMS4yLiAgSW5mb3JtYXRpdmUgUmVmZXJlbmNlcw0KDQogICBbQU5GUF0gICAg IE5ldHdvcmsgSW50ZXJvcGVyYWJpbGl0eSBDb25zdWx0YXRpdmUgQ29tbWl0dGVlIChOSUNDKSwN CiAgICAgICAgICAgICAgIlNwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcyBOZXR3b3JrIEZyZXF1 ZW5jeSBQbGFuIChBTkZQKQ0KICAgICAgICAgICAgICBhcHBsaWNhYmxlIHRvIHRyYW5zbWlzc2lv biBzeXN0ZW1zIHVzZWQgb24gdGhlIEJUIEFjY2Vzcw0KICAgICAgICAgICAgICBOZXR3b3JrIiwg TklDQyBEb2N1bWVudCBORDE2MDI6MjAwNS8wOCwgQXVndXN0IDIwMDUuDQoNCiAgIFtJLUQuaWV0 Zi1odWJtaWItZWZtLWVwb24tbWliXQ0KICAgICAgICAgICAgICBLaGVybW9zaCwgTC4sICJNYW5h Z2VkIE9iamVjdHMgb2YgRVBPTiIsDQogICAgICAgICAgICAgIGRyYWZ0LWlldGYtaHVibWliLWVm bS1lcG9uLW1pYi0wNiAod29yayBpbiBwcm9ncmVzcyksDQogICAgICAgICAgICAgIE5vdmVtYmVy IDIwMDYuDQoNCiAgIFtJLUQuaWV0Zi1odWJtaWItZWZtLW1pYl0NCiAgICAgICAgICAgICAgU3F1 aXJlLCBNLiwgIkRlZmluaXRpb25zIGFuZCBNYW5hZ2VkIE9iamVjdHMgZm9yIE9BTQ0KICAgICAg ICAgICAgICBGdW5jdGlvbnMgb24gRXRoZXJuZXQgTGlrZSBJbnRlcmZhY2VzIiwNCiAgICAgICAg ICAgICAgZHJhZnQtaWV0Zi1odWJtaWItZWZtLW1pYi0wNSAod29yayBpbiBwcm9ncmVzcyksDQog ICAgICAgICAgICAgIE9jdG9iZXIgMjAwNi4NCg0KICAgW0lBTkFpZlR5cGUtTUlCXQ0KICAgICAg ICAgICAgICBJbnRlcm5ldCBBc3NpZ25lZCBOdW1iZXJzIEF1dGhvcml0eSAoSUFOQSksICJJQU5B aWZUeXBlDQogICAgICAgICAgICAgIFRleHR1YWwgQ29udmVudGlvbiBkZWZpbml0aW9uIiwNCiAg ICAgICAgICAgICAgIGh0dHA6Ly93d3cuaWFuYS5vcmcvYXNzaWdubWVudHMvaWFuYWlmdHlwZS1t aWIuDQoNCiAgIFtSRkMzNDEwXSAgQ2FzZSwgSi4sIE11bmR5LCBSLiwgUGFydGFpbiwgRC4sIGFu ZCBCLiBTdGV3YXJ0LA0KICAgICAgICAgICAgICAiSW50cm9kdWN0aW9uIGFuZCBBcHBsaWNhYmls aXR5IFN0YXRlbWVudHMgZm9yIEludGVybmV0LQ0KICAgICAgICAgICAgICBTdGFuZGFyZCBNYW5h Z2VtZW50IEZyYW1ld29yayIsIFJGQyAzNDEwLCBEZWNlbWJlciAyMDAyLg0KDQogICBbUkZDNDA3 MF0gIERvZGdlLCBNLiBhbmQgQi4gUmF5LCAiRGVmaW5pdGlvbnMgb2YgTWFuYWdlZCBPYmplY3QN CiAgICAgICAgICAgICAgRXh0ZW5zaW9ucyBmb3IgVmVyeSBIaWdoIFNwZWVkIERpZ2l0YWwgU3Vi c2NyaWJlciBMaW5lcw0KICAgICAgICAgICAgICAoVkRTTCkgVXNpbmcgTXVsdGlwbGUgQ2Fycmll ciBNb2R1bGF0aW9uIChNQ00pIExpbmUNCiAgICAgICAgICAgICAgQ29kaW5nIiwgUkZDIDQwNzAs IE1heSAyMDA1Lg0KDQogICBbUkZDNDMxOV0gIFNpa2VzLCBDLiwgUmF5LCBCLiwgYW5kIFIuIEFi YmksICJEZWZpbml0aW9ucyBvZiBNYW5hZ2VkDQogICAgICAgICAgICAgIE9iamVjdHMgZm9yIEhp Z2ggQml0LVJhdGUgRFNMIC0gMm5kIGdlbmVyYXRpb24gKEhEU0wyKSBhbmQNCiAgICAgICAgICAg ICAgU2luZ2xlLVBhaXIgSGlnaC1TcGVlZCBEaWdpdGFsIFN1YnNjcmliZXIgTGluZSAoU0hEU0wp DQogICAgICAgICAgICAgIExpbmVzIiwgUkZDIDQzMTksIERlY2VtYmVyIDIwMDUuDQoNClVSSXMN Cg0KDQoNCkJlaWxpICAgICAgICAgICAgICAgICAgICBFeHBpcmVzIEF1Z3VzdCAyNSwgMjAwNyAg ICAgICAgICAgICAgIFtQYWdlIDg4XQ0KDA0KSW50ZXJuZXQtRHJhZnQgICAgICAgICAgICBFRk1D dSBJbnRlcmZhY2VzIE1JQiAgICAgICAgICAgICBGZWJydWFyeSAyMDA3DQoNCg0KICAgWzFdICA8 aHR0cDovL3d3dy5pZXRmLm9yZy9odG1sLmNoYXJ0ZXJzL2h1Ym1pYi1jaGFydGVyLmh0bWw+DQoN Cg0KQXV0aG9yJ3MgQWRkcmVzcw0KDQogICBFZHdhcmQgQmVpbGkNCiAgIEFjdGVsaXMgTmV0d29y a3MNCiAgIEJhemVsIDI1DQogICBQZXRhY2gtVGlrdmENCiAgIElzcmFlbA0KDQogICBQaG9uZTog Kzk3Mi0zLTkyNC0zNDkxDQogICBFbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tDQoNCg0K DQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoN Cg0KDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMgQXVndXN0IDI1 LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgODldDQoMDQpJbnRlcm5ldC1EcmFmdCAgICAgICAg ICAgIEVGTUN1IEludGVyZmFjZXMgTUlCICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDcNCg0KDQpG dWxsIENvcHlyaWdodCBTdGF0ZW1lbnQNCg0KICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVz dCAoMjAwNykuDQoNCiAgIFRoaXMgZG9jdW1lbnQgaXMgc3ViamVjdCB0byB0aGUgcmlnaHRzLCBs aWNlbnNlcyBhbmQgcmVzdHJpY3Rpb25zDQogICBjb250YWluZWQgaW4gQkNQIDc4LCBhbmQgZXhj ZXB0IGFzIHNldCBmb3J0aCB0aGVyZWluLCB0aGUgYXV0aG9ycw0KICAgcmV0YWluIGFsbCB0aGVp ciByaWdodHMuDQoNCiAgIFRoaXMgZG9jdW1lbnQgYW5kIHRoZSBpbmZvcm1hdGlvbiBjb250YWlu ZWQgaGVyZWluIGFyZSBwcm92aWRlZCBvbiBhbg0KICAgIkFTIElTIiBiYXNpcyBhbmQgVEhFIENP TlRSSUJVVE9SLCBUSEUgT1JHQU5JWkFUSU9OIEhFL1NIRSBSRVBSRVNFTlRTDQogICBPUiBJUyBT UE9OU09SRUQgQlkgKElGIEFOWSksIFRIRSBJTlRFUk5FVCBTT0NJRVRZLCBUSEUgSUVURiBUUlVT VCBBTkQNCiAgIFRIRSBJTlRFUk5FVCBFTkdJTkVFUklORyBUQVNLIEZPUkNFIERJU0NMQUlNIEFM TCBXQVJSQU5USUVTLCBFWFBSRVNTDQogICBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIEFOWSBXQVJSQU5UWSBUSEFUIFRIRSBVU0UgT0YNCiAgIFRIRSBJTkZPUk1BVElP TiBIRVJFSU4gV0lMTCBOT1QgSU5GUklOR0UgQU5ZIFJJR0hUUyBPUiBBTlkgSU1QTElFRA0KICAg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuDQoNCg0KSW50ZWxsZWN0dWFsIFByb3BlcnR5DQoNCiAgIFRoZSBJRVRGIHRha2Vz IG5vIHBvc2l0aW9uIHJlZ2FyZGluZyB0aGUgdmFsaWRpdHkgb3Igc2NvcGUgb2YgYW55DQogICBJ bnRlbGxlY3R1YWwgUHJvcGVydHkgUmlnaHRzIG9yIG90aGVyIHJpZ2h0cyB0aGF0IG1pZ2h0IGJl IGNsYWltZWQgdG8NCiAgIHBlcnRhaW4gdG8gdGhlIGltcGxlbWVudGF0aW9uIG9yIHVzZSBvZiB0 aGUgdGVjaG5vbG9neSBkZXNjcmliZWQgaW4NCiAgIHRoaXMgZG9jdW1lbnQgb3IgdGhlIGV4dGVu dCB0byB3aGljaCBhbnkgbGljZW5zZSB1bmRlciBzdWNoIHJpZ2h0cw0KICAgbWlnaHQgb3IgbWln aHQgbm90IGJlIGF2YWlsYWJsZTsgbm9yIGRvZXMgaXQgcmVwcmVzZW50IHRoYXQgaXQgaGFzDQog ICBtYWRlIGFueSBpbmRlcGVuZGVudCBlZmZvcnQgdG8gaWRlbnRpZnkgYW55IHN1Y2ggcmlnaHRz LiAgSW5mb3JtYXRpb24NCiAgIG9uIHRoZSBwcm9jZWR1cmVzIHdpdGggcmVzcGVjdCB0byByaWdo dHMgaW4gUkZDIGRvY3VtZW50cyBjYW4gYmUNCiAgIGZvdW5kIGluIEJDUCA3OCBhbmQgQkNQIDc5 Lg0KDQogICBDb3BpZXMgb2YgSVBSIGRpc2Nsb3N1cmVzIG1hZGUgdG8gdGhlIElFVEYgU2VjcmV0 YXJpYXQgYW5kIGFueQ0KICAgYXNzdXJhbmNlcyBvZiBsaWNlbnNlcyB0byBiZSBtYWRlIGF2YWls YWJsZSwgb3IgdGhlIHJlc3VsdCBvZiBhbg0KICAgYXR0ZW1wdCBtYWRlIHRvIG9idGFpbiBhIGdl bmVyYWwgbGljZW5zZSBvciBwZXJtaXNzaW9uIGZvciB0aGUgdXNlIG9mDQogICBzdWNoIHByb3By aWV0YXJ5IHJpZ2h0cyBieSBpbXBsZW1lbnRlcnMgb3IgdXNlcnMgb2YgdGhpcw0KICAgc3BlY2lm aWNhdGlvbiBjYW4gYmUgb2J0YWluZWQgZnJvbSB0aGUgSUVURiBvbi1saW5lIElQUiByZXBvc2l0 b3J5IGF0DQogICBodHRwOi8vd3d3LmlldGYub3JnL2lwci4NCg0KICAgVGhlIElFVEYgaW52aXRl cyBhbnkgaW50ZXJlc3RlZCBwYXJ0eSB0byBicmluZyB0byBpdHMgYXR0ZW50aW9uIGFueQ0KICAg Y29weXJpZ2h0cywgcGF0ZW50cyBvciBwYXRlbnQgYXBwbGljYXRpb25zLCBvciBvdGhlciBwcm9w cmlldGFyeQ0KICAgcmlnaHRzIHRoYXQgbWF5IGNvdmVyIHRlY2hub2xvZ3kgdGhhdCBtYXkgYmUg cmVxdWlyZWQgdG8gaW1wbGVtZW50DQogICB0aGlzIHN0YW5kYXJkLiAgUGxlYXNlIGFkZHJlc3Mg dGhlIGluZm9ybWF0aW9uIHRvIHRoZSBJRVRGIGF0DQogICBpZXRmLWlwckBpZXRmLm9yZy4NCg0K DQpBY2tub3dsZWRnbWVudA0KDQogICBGdW5kaW5nIGZvciB0aGUgUkZDIEVkaXRvciBmdW5jdGlv biBpcyBwcm92aWRlZCBieSB0aGUgSUVURg0KICAgQWRtaW5pc3RyYXRpdmUgU3VwcG9ydCBBY3Rp dml0eSAoSUFTQSkuDQoNCg0KDQoNCg0KQmVpbGkgICAgICAgICAgICAgICAgICAgIEV4cGlyZXMg QXVndXN0IDI1LCAyMDA3ICAgICAgICAgICAgICAgW1BhZ2UgOTBdDQoMDQo= ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: application/octet-stream; name="if-cap-stack-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: if-cap-stack-mib.mi2 Content-Disposition: attachment; filename="if-cap-stack-mib.mi2" SUYtQ0FQLVNUQUNLLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9E VUxFLUlERU5USVRZLCBPQkpFQ1QtVFlQRSwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAg ICAgICAgLS0gUkZDIDI1NzgKICAgIFRydXRoVmFsdWUKICAgICAgRlJPTSBTTk1QdjItVEMgICAg ICAgICAgLS0gUkZDIDI1NzkKICAgIE1PRFVMRS1DT01QTElBTkNFLCBPQkpFQ1QtR1JPVVAKICAg ICAgRlJPTSBTTk1QdjItQ09ORiAgICAgICAgLS0gUkZDIDI1ODAKICAgIGlmU3RhY2tHcm91cDIs IGlmU3RhY2tIaWdoZXJMYXllciwgaWZTdGFja0xvd2VyTGF5ZXIgCiAgICAgIEZST00gSUYtTUlC ICAgICAgICAgICAgIC0tIFJGQyAyODYzCiAgICBpZkludlN0YWNrR3JvdXAKICAgICAgRlJPTSBJ Ri1JTlZFUlRFRC1TVEFDSy1NSUIgLS0gUkZDIDI4NjQKICAgIDsKCiAgaWZDYXBTdGFja01JQiBN T0RVTEUtSURFTlRJVFkKICAgIExBU1QtVVBEQVRFRCAiMjAwNzAyMjEwMDAwWiIgIC0tIEZlYnJ1 YXJ5IDIxLCAyMDA3CiAgICBPUkdBTklaQVRJT04gIklFVEYgRXRoZXJuZXQgSW50ZXJmYWNlcyBh bmQgSHViIE1JQiBXb3JraW5nIEdyb3VwIgogICAgQ09OVEFDVC1JTkZPCiAgICAgICJXRyBjaGFy dGVyOgogICAgICAgIGh0dHA6Ly93d3cuaWV0Zi5vcmcvaHRtbC5jaGFydGVycy9odWJtaWItY2hh cnRlci5odG1sCgogICAgICBNYWlsaW5nIExpc3RzOgogICAgICAgIEdlbmVyYWwgRGlzY3Vzc2lv bjogaHVibWliQGlldGYub3JnCiAgICAgICAgVG8gU3Vic2NyaWJlOiBodWJtaWItcmVxdWVzdEBp ZXRmLm9yZwogICAgICAgIEluIEJvZHk6IHN1YnNjcmliZSB5b3VyX2VtYWlsX2FkZHJlc3MKCiAg ICAgIENoYWlyOiAgQmVydCBXaWpuZW4KICAgICAgUG9zdGFsOiBBbGNhdGVsLUx1Y2VudAogICAg ICAgICAgICAgIFNjaGFnZW4gMzMKICAgICAgICAgICAgICAzNDYxIEdMIExpbnNjaG90ZW4KICAg ICAgICAgICAgICBOZXRoZXJsYW5kcwogICAgICAgICBUZWw6ICszMS0zNDgtNDA3LTc3NQogICAg ICBFLW1haWw6IGJ3aWpuZW5AYWxjYXRlbC1sdWNlbnQuY29tCgogICAgICBFZGl0b3I6IEVkd2Fy ZCBCZWlsaQogICAgICBQb3N0YWw6IEFjdGVsaXMgTmV0d29ya3MgSW5jLgogICAgICAgICAgICAg IDI1IEJhemVsIFN0LiwgUC5PLkIuIDEwMTczCiAgICAgICAgICAgICAgUGV0YWNoLVRpa3ZhIDEw MTczCiAgICAgICAgICAgICAgSXNyYWVsCiAgICAgICAgICAgICAgVGVsOiArOTcyLTMtOTI0LTM0 OTEKICAgICAgRS1tYWlsOiBlZHdhcmQuYmVpbGlAYWN0ZWxpcy5jb20iCgogICAgREVTQ1JJUFRJ T04KICAgICAgIlRoZSBvYmplY3RzIGluIHRoaXMgTUlCIG1vZHVsZSBhcmUgdXNlZCB0byBkZXNj cmliZQogICAgICBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdGllcyBvZiBzdGFja2VkIChsYXllcmVk KSBpbnRlcmZhY2VzLAogICAgICBjb21wbGVtZW50aW5nIGlmU3RhY2tUYWJsZSBhbmQgaWZJbnZT dGFja1RhYmxlIGRlZmluZWQgaW4KICAgICAgSUYtTUlCIGFuZCBJRi1JTlZFUlRFRC1TVEFDSy1N SUIgcmVzcGVjdGl2ZWx5LgoKICAgICAgQ29weXJpZ2h0IChDKSBUaGUgSUVURiBUcnVzdCAoMjAw NykuICBUaGlzIHZlcnNpb24KICAgICAgb2YgdGhpcyBNSUIgbW9kdWxlIGlzIHBhcnQgb2YgUkZD IFhYWFg7ICBzZWUgdGhlIFJGQwogICAgICBpdHNlbGYgZm9yIGZ1bGwgbGVnYWwgbm90aWNlcy4i CgogICAgUkVWSVNJT04gICAgIjIwMDcwMjIxMDAwMFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwog ICAgREVTQ1JJUFRJT04gIkluaXRpYWwgdmVyc2lvbiwgcHVibGlzaGVkIGFzIFJGQyBYWFhYLiIK CiAgICAgIC0tIEVkTm90ZTogUmVwbGFjZSBYWFhYIHdpdGggdGhlIGFjdHVhbCBSRkMgbnVtYmVy ICYKICAgICAgLS0gcmVtb3ZlIHRoaXMgbm90ZQogCiAgICA6Oj0geyBtaWItMiBaWlogfQoKICAg ICAgLS0gRWROb3RlOiBSZXBsYWNlIFpaWiB3aXRoIGEgcmVhbCBPSUQgb25jZSBpdCBpcwogICAg ICAtLSBhbGxvY2F0ZWQgJiByZW1vdmUgdGhpcyBub3RlLgoKICAgLS0gU2VjdGlvbnMgb2YgdGhl IG1vZHVsZQogICAtLSBTdHJ1Y3R1cmVkIGFzIHJlY29tbWVuZGVkIGJ5IFJGQyA0MTgxLCBzZWUK ICAgLS0gQXBwZW5kaXggRDogU3VnZ2VzdGVkIE9JRCBMYXlvdXQKCiAgIGlmQ2FwU3RhY2tPYmpl Y3RzICAgICBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBpZkNhcFN0YWNrTUlCIDEgfQoKICAgaWZD YXBTdGFja0NvbmZvcm1hbmNlIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGlmQ2FwU3RhY2tNSUIg MiB9CgogICAtLSBHcm91cHMgaW4gdGhlIG1vZHVsZQoKICAgLS0KICAgLS0gaWZDYXBTdGFja1Rh YmxlIGdyb3VwCiAgIC0tCgogICBpZkNhcFN0YWNrVGFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgU0VRVUVOQ0UgT0YgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90 LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJUaGlzIHRhYmxlLCBtb2RlbGVkIGFmdGVyIGlmU3RhY2tUYWJsZSBmcm9tIElGLU1JQiwK ICAgICAgIGNvbnRhaW5zIGluZm9ybWF0aW9uIG9uIHRoZSBwb3NzaWJsZSAnb24tdG9wLW9mJwog ICAgICAgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHRoZSBtdWx0aXBsZSBzdWItbGF5ZXJzIG9mIG5l dHdvcmsKICAgICAgIGludGVyZmFjZXMgKGFzIG9wcG9zZWQgdG8gYWN0dWFsIHJlbGF0aW9uc2hp cHMgZGVzY3JpYmVkIGluCiAgICAgICBpZlN0YWNrVGFibGUpLiBJbiBwYXJ0aWN1bGFyLCBpdCBj b250YWlucyBpbmZvcm1hdGlvbiBvbgogICAgICAgd2hpY2ggc3ViLWxheWVycyBNQVkgcG9zc2li bHkgcnVuICdvbiB0b3Agb2YnIHdoaWNoIG90aGVyCiAgICAgICBzdWItbGF5ZXJzLCBhcyBkZXRl cm1pbmVkIGJ5IGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eSBvZiB0aGUKICAgICAgIGRldmljZSwg d2hlcmUgZWFjaCBzdWItbGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdwogICAg ICAgaW4gdGhlIGlmVGFibGUuIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBp ZkluZGV4CiAgICAgICB2YWx1ZSB4IGNhbiBiZSBjb25uZWN0ZWQgdG8gcnVuIG9uIHRvcCBvZiB0 aGUgc3ViLWxheWVyIHdpdGgKICAgICAgIGlmSW5kZXggdmFsdWUgeSwgdGhlbiB0aGlzIHRhYmxl IGNvbnRhaW5zOgogICAgICAgCiAgICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMueC55PXRydWUKCiAg ICAgICBpZkNhcFN0YWNrU3RhdHVzLngueSByb3cgZG9lcyBub3QgZXhpc3QgaWYgaXQgaXMgaW1w b3NzaWJsZQogICAgICAgdG8gY29ubmVjdCBiZXR3ZWVuIHRoZSBzdWItbGF5ZXJzIHggYW5kIHku CiAgICAgICAKICAgICAgIE5vdGUgdGhhdCBmb3IgbW9zdCBzdGFja2VkIGludGVyZmFjZXMgKGUu Zy4gMkJBU0UtVEwpCiAgICAgICB0aGVyZSdzIGFsd2F5cyBhdCBsZWFzdCBvbmUgaGlnaGVyLWxl dmVsIGludGVyZmFjZSAoZS5nLiBQQ1MKICAgICAgIHBvcnQpIGZvciBlYWNoIGxvd2VyLWxldmVs IGludGVyZmFjZSAoZS5nLiBQTUUpIGFuZCBhdAogICAgICAgbGVhc3Qgb25lIGxvd2VyLWxldmVs IGludGVyZmFjZSBmb3IgZWFjaCBoaWdoZXItbGV2ZWwKICAgICAgIGludGVyZmFjZSwgdGhhdCBp cywgdGhlcmUgaXMgYXQgbGVhc3QgYSBzaW5nbGUgcm93IHdpdGggYQogICAgICAgJ3RydWUnIHN0 YXR1cyBmb3IgYW55IGV4aXN0aW5nIHZhbHVlIG9mIHggb3IgeS4KCiAgICAgICBUaGlzIHRhYmxl IGlzIHJlYWQgb25seSBhcyBpdCBkZXNjcmliZXMgZGV2aWNlIGNhcGFiaWxpdHkiCiAgICAgUkVG RVJFTkNFCiAgICAgICAiSUYtTUlCLCBpZlN0YWNrVGFibGUiCiAgICAgOjo9IHsgaWZDYXBTdGFj a09iamVjdHMgMSB9CgogICBpZkNhcFN0YWNrRW50cnkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgSWZDYXBTdGFja0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJJbmZvcm1hdGlv biBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvCiAgICAgICBzdWItbGF5 ZXJzLCBzcGVjaWZ5aW5nIHRoYXQgb25lIHN1Yi1sYXllciBNQVkgcG9zc2libHkgcnVuCiAgICAg ICBvbiAndG9wJyBvZiB0aGUgb3RoZXIgc3ViLWxheWVyLiBFYWNoIHN1Yi1sYXllciBjb3JyZXNw b25kcwogICAgICAgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZSAoaW50ZXJmYWNl IGluZGV4IGZvcgogICAgICAgbG93ZXItIGFuZCBoaWdoZXItbGF5ZXIgcmVzcGVjdGl2ZWx5KS4i CiAgICAgSU5ERVggewogICAgICAgaWZTdGFja0hpZ2hlckxheWVyLAogICAgICAgaWZTdGFja0xv d2VyTGF5ZXIKICAgICB9CiAgICAgOjo9IHsgaWZDYXBTdGFja1RhYmxlIDEgfQoKICAgSWZDYXBT dGFja0VudHJ5IDo6PSBTRVFVRU5DRSB7CiAgICAgICAgaWZDYXBTdGFja1N0YXR1cyAgICAgICBU cnV0aFZhbHVlCiAgICAgIH0KCiAgIGlmQ2FwU3RhY2tTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNU QVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoZSBzdGF0dXMgb2Yg dGhlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknIHJlbGF0aW9uc2hpcAogICAgICAgYmV0d2Vl biB0d28gc3ViLWxheWVycy4gVGhlIGZvbGxvd2luZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkOgog ICAgICAgICB0cnVlKDEpICAgICAgICAgLSBpbmRpY2F0ZXMgdGhhdCB0aGUgc3ViLWxheWVyIGlu dGVyZmFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRlbnRpZmllZCBieSB0aGUgaWZT dGFja0xvd2VyTGF5ZXIgTUFZCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGNvbm5lY3Rl ZCB0byBydW4gJ2JlbG93JyB0aGUgc3ViLWxheWVyCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGludGVyZmFjZSwgaWRlbnRpZmllZCBieSB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAg aWZTdGFja0hpZ2hlckxheWVyIGluZGV4LgogICAgICAgICBmYWxzZSgyKSAgICAgICAgLSB0aGUg c3ViLWxheWVyIGludGVyZmFjZXMgY2Fubm90IGJlCiAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbm5lY3RlZCB0ZW1wb3JhcmlseSBkdWUgdG8KICAgICAgICAgICAgICAgICAgICAgICAgICAg dW5hdmFpbGFiaWxpdHkgb2YgdGhlIGludGVyZmFjZShzKSwgZS5nLgogICAgICAgICAgICAgICAg ICAgICAgICAgICBvbmUgb2YgdGhlIGludGVyZmFjZXMgaXMgbG9jYXRlZCBvbiBhbgogICAgICAg ICAgICAgICAgICAgICAgICAgICBhYnNlbnQgcGx1Z2dhYmxlIG1vZHVsZS4KCiAgICAgICBOb3Rl IHRoYXQgbG93ZXItbGF5ZXIgaW50ZXJmYWNlIGF2YWlsYWJpbGl0eSBwZXIgaGlnaGVyLWxheWVy LAogICAgICAgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiAndHJ1ZScsIGNhbiBiZSBjb25zdHJh aW5lZCBieQogICAgICAgb3RoZXIgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUgYnkgdGhlIGFnZ3Jl Z2F0aW9uIGNhcGFjaXR5IG9mCiAgICAgICBhIGhpZ2hlci1sYXllciBpbnRlcmZhY2Ugb3IgYnkg dGhlIGxvd2VyLWxheWVyIGludGVyZmFjZSBpbgogICAgICAgcXVlc3Rpb24gYmVpbmcgYWxyZWFk eSBjb25uZWN0ZWQgdG8gYW5vdGhlciBoaWdoZXItbGF5ZXIKICAgICAgIGludGVyZmFjZS4gSW4g b3JkZXIgdG8gZW5zdXJlIHRoYXQgYSBwYXJ0aWN1bGFyIHN1Yi1sYXllciBjYW4KICAgICAgIGJl IGNvbm5lY3RlZCB0byBhbm90aGVyIHN1Yi1sYXllciwgYWxsIHJlc3BlY3RpdmUgb2JqZWN0cwog ICAgICAgKGUuZy4gaWZDYXBTdGFja1RhYmxlLCBpZlN0YWNrVGFibGUgYW5kIGVmbUN1UEFGQ2Fw YWNpdHkgZm9yCiAgICAgICBmb3IgRUZNQ3UgaW50ZXJmYWNlcykgU0hBTEwgYmUgaW5zcGVjdGVk LgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQgb25seSwgdW5saWtlIGlmU3RhY2tTdGF0dXMs IGFzIGl0CiAgICAgICBkZXNjcmliZXMgYSBjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHkuIgogICAg IDo6PSB7IGlmQ2FwU3RhY2tFbnRyeSAxIH0KCiAgIGlmSW52Q2FwU3RhY2tUYWJsZSAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICAgIFNFUVVFTkNFIE9GIElmSW52Q2FwU3RhY2tFbnRyeQog ICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGFibGUgY29udGFpbmluZyBpbmZvcm1hdGlv biBvbiB0aGUgcG9zc2libGUgcmVsYXRpb25zaGlwcwogICAgICAgYmV0d2VlbiB0aGUgbXVsdGlw bGUgc3ViLWxheWVycyBvZiBuZXR3b3JrIGludGVyZmFjZXMuIFRoaXMgCiAgICAgICB0YWJsZSwg bW9kZWxlZCBhZnRlciBpZkludlN0YWNrVGFibGUgZnJvbQogICAgICAgSUYtSU5WRVJURUQtU1RB Q0stTUlCLCBpcyBhbiBpbnZlcnNlIG9mIHRoZSBpZkNhcFN0YWNrVGFibGUKICAgICAgIGRlZmlu ZWQgaW4gdGhpcyBNSUIgbW9kdWxlLgogICAgICAgSW4gcGFydGljdWxhciwgdGhpcyB0YWJsZSBj b250YWlucyBpbmZvcm1hdGlvbiBvbiB3aGljaAogICAgICAgc3ViLWxheWVycyBNQVkgcnVuICd1 bmRlcm5lYXRoJyB3aGljaCBvdGhlciBzdWItbGF5ZXJzLCB3aGVyZQogICAgICAgZWFjaCBzdWIt bGF5ZXIgY29ycmVzcG9uZHMgdG8gYSBjb25jZXB0dWFsIHJvdyBpbiB0aGUgaWZUYWJsZS4KICAg ICAgIEZvciBleGFtcGxlLCB3aGVuIHRoZSBzdWItbGF5ZXIgd2l0aCBpZkluZGV4IHZhbHVlIHgg TUFZIGJlCiAgICAgICBjb25uZWN0ZWQgdG8gcnVuIHVuZGVybmVhdGggdGhlIHN1Yi1sYXllciB3 aXRoIGlmSW5kZXggdmFsdWUKICAgICAgIHksIHRoZW4gdGhpcyB0YWJsZSBjb250YWluczoKCiAg ICAgICAgICBpZkludkNhcFN0YWNrU3RhdHVzLngueT10cnVlCgogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiByb3dzIGFzIHRoZQogICAgICAgaWZD YXBTdGFja1RhYmxlLCBidXQgdGhlIHJvd3MgYXBwZWFyIGluIGEgZGlmZmVyZW50IG9yZGVyLgoK ICAgICAgIFRoaXMgdGFibGUgaXMgcmVhZCBvbmx5IGFzIGl0IGRlc2NyaWJlcyBhIGNyb3NzLWNv bm5lY3QKICAgICAgIGNhcGFiaWxpdHkuIgogICAgIFJFRkVSRU5DRQogICAgICAgICJJRi1JTlZF UlRFRC1TVEFDSy1NSUIsIGlmSW52U3RhY2tUYWJsZSIKICAgICA6Oj0geyBpZkNhcFN0YWNrT2Jq ZWN0cyAyIH0KCiAgIGlmSW52Q2FwU3RhY2tFbnRyeSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICAgIElmSW52Q2FwU3RhY2tFbnRyeQogICAgIE1BWC1BQ0NFU1MgICAgbm90LWFjY2Vzc2li bGUKICAgICBTVEFUVVMgICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgICJJ bmZvcm1hdGlvbiBvbiBhIHBhcnRpY3VsYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdHdvIHN1Yi0K ICAgICAgICBsYXllcnMsIHNwZWNpZnlpbmcgdGhhdCBvbmUgc3ViLWxheWVyIE1BWSBydW4gdW5k ZXJuZWF0aCB0aGUKICAgICAgICBvdGhlciBzdWItbGF5ZXIuIEVhY2ggc3ViLWxheWVyIGNvcnJl c3BvbmRzIHRvIGEgY29uY2VwdHVhbAogICAgICAgIHJvdyBpbiB0aGUgaWZUYWJsZS4iCiAgICAg SU5ERVggeyBpZlN0YWNrTG93ZXJMYXllciwgaWZTdGFja0hpZ2hlckxheWVyIH0KICAgICA6Oj0g eyBpZkludkNhcFN0YWNrVGFibGUgMSB9CgogICAgSWZJbnZDYXBTdGFja0VudHJ5IDo6PSBTRVFV RU5DRSB7CiAgICAgIGlmSW52Q2FwU3RhY2tTdGF0dXMgICAgICAgVHJ1dGhWYWx1ZQogICAgfQoK ICAgaWZJbnZDYXBTdGFja1N0YXR1cyAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICAgICBU cnV0aFZhbHVlCiAgICAgTUFYLUFDQ0VTUyAgICAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAgIlRoZSBzdGF0dXMgb2YgdGhlIHBv c3NpYmxlICdjcm9zcy1jb25uZWN0IGNhcGFiaWxpdHknCiAgICAgICAgcmVsYXRpb25zaGlwIGJl dHdlZW4gdHdvIHN1Yi1sYXllcnMuCgogICAgICAgIEFuIGluc3RhbmNlIG9mIHRoaXMgb2JqZWN0 IGV4aXN0cyBmb3IgZWFjaCBpbnN0YW5jZSBvZiB0aGUKICAgICAgICBpZkNhcFN0YWNrU3RhdHVz IG9iamVjdCwgYW5kIHZpY2UgdmVyc2EuIEZvciBleGFtcGxlLCBpZiB0aGUKICAgICAgICB2YXJp YWJsZSBpZkNhcFN0YWNrU3RhdHVzLkguTCBleGlzdHMsIHRoZW4gdGhlIHZhcmlhYmxlCiAgICAg ICAgaWZJbnZTdGFja1N0YXR1cy5MLkggbXVzdCBhbHNvIGV4aXN0LCBhbmQgdmljZSB2ZXJzYS4g IEluCiAgICAgICAgYWRkaXRpb24sIHRoZSB0d28gdmFyaWFibGVzIGFsd2F5cyBoYXZlIHRoZSBz YW1lIHZhbHVlLgoKICAgICAgICBUaGUgaWZJbnZTdGFja1N0YXR1cyBvYmplY3QgaXMgcmVhZC1v bmx5LCBhcyBpdCBkZXNjcmliZXMKICAgICAgICBhIGNyb3NzLWNvbm5lY3QgY2FwYWJpbGl0eS4i CiAgICAgUkVGRVJFTkNFCiAgICAgICAgImlmQ2FwU3RhY2tTdGF0dXMiCiAgICAgOjo9IHsgaWZJ bnZDYXBTdGFja0VudHJ5IDEgfQoKICAtLQogIC0tIENvbmZvcm1hbmNlIFN0YXRlbWVudHMKICAt LQoKICAgaWZDYXBTdGFja0dyb3VwcyAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PQogICAgICAg IHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDEgfQoKICAgaWZDYXBTdGFja0NvbXBsaWFuY2VzIE9C SkVDVCBJREVOVElGSUVSIDo6PQogICAgICAgIHsgaWZDYXBTdGFja0NvbmZvcm1hbmNlIDIgfQoK ICAgLS0gVW5pdHMgb2YgQ29uZm9ybWFuY2UKCiAgIGlmQ2FwU3RhY2tHcm91cCBPQkpFQ1QtR1JP VVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGlmQ2FwU3RhY2tTdGF0dXMsCiAgICAgICBpZkludkNh cFN0YWNrU3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgcHJvdmlkaW5nIGluZm9ybWF0aW9uIG9u IHRoZQogICAgICAgY3Jvc3MtY29ubmVjdCBjYXBhYmlsaXR5IG9mIG11bHRpLWxheWVyIChzdGFj a2VkKSBuZXR3b3JrCiAgICAgICBpbnRlcmZhY2VzLiIKICAgICA6Oj0geyBpZkNhcFN0YWNrR3Jv dXBzIDEgfQoKCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICBpZkNhcFN0YWNrQ29tcGxp YW5jZSBNT0RVTEUtQ09NUExJQU5DRQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIlRoZSBjb21wbGlhbmNlIHN0YXRlbWVudCBmb3IgU05NUCBlbnRpdGll cywgd2hpY2ggcHJvdmlkZQogICAgICAgaW5mb3JtYXRpb24gb24gdGhlIGNyb3NzLWNvbm5lY3Qg Y2FwYWJpbGl0eSBvZiBtdWx0aS1sYXllcgogICAgICAgKHN0YWNrZWQpIG5ldHdvcmsgaW50ZXJm YWNlcywgd2l0aCBmbGV4aWJsZSBjcm9zcy1jb25uZWN0CiAgICAgICBiZXR3ZWVuIHRoZSBzdWIt bGF5ZXJzLiIKCiAgICAgCiAgICAgTU9EVUxFICAtLSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFU T1JZLUdST1VQUyB7CiAgICAgICAgIGlmQ2FwU3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAg ICAgICBPQkpFQ1QgICAgICAgaWZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRy dXRoVmFsdWUgeyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0 IGZvciB0aGUgZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVu dGF0aW9ucyBzdXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKCiAgICAgICBPQkpFQ1Qg ICAgICAgaWZJbnZDYXBTdGFja1N0YXR1cwogICAgICAgU1lOVEFYICAgICAgIFRydXRoVmFsdWUg eyB0cnVlKDEpIH0KICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGUg ZmFsc2UoMikgdmFsdWUgaXMgT1BUSU9OQUwgZm9yCiAgICAgICAgIGltcGxlbWVudGF0aW9ucyBz dXBwb3J0aW5nIHBsdWdnYWJsZSBpbnRlcmZhY2VzLiIKICAgICAgIAogICAgIE1PRFVMRSAgSUYt TUlCCiAgICAgICBNQU5EQVRPUlktR1JPVVBTIHsKICAgICAgICAgaWZTdGFja0dyb3VwMgogICAg ICAgfQoKICAgICBNT0RVTEUgIElGLUlOVkVSVEVELVNUQUNLLU1JQgogICAgICAgTUFOREFUT1JZ LUdST1VQUyB7CiAgICAgICAgIGlmSW52U3RhY2tHcm91cAogICAgICAgfQogICAgICAgCiAgICAg Ojo9IHsgaWZDYXBTdGFja0NvbXBsaWFuY2VzIDEgfQpFTkQK ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: application/octet-stream; name="efm-cu-mib.mi2" Content-Transfer-Encoding: base64 Content-Description: efm-cu-mib.mi2 Content-Disposition: attachment; filename="efm-cu-mib.mi2" RUZNLUNVLU1JQiBERUZJTklUSU9OUyA6Oj0gQkVHSU4KCiAgSU1QT1JUUwogICAgTU9EVUxFLUlE RU5USVRZLCBPQkpFQ1QtVFlQRSwgTk9USUZJQ0FUSU9OLVRZUEUsIEludGVnZXIzMiwKICAgIFVu c2lnbmVkMzIsIENvdW50ZXIzMiwgbWliLTIKICAgICAgRlJPTSBTTk1QdjItU01JICAgICAgICAg LS0gUkZDIDI1NzgKICAgIFRFWFRVQUwtQ09OVkVOVElPTiwgVHJ1dGhWYWx1ZSwgUm93U3RhdHVz LCBQaHlzQWRkcmVzcwogICAgICBGUk9NIFNOTVB2Mi1UQyAgICAgICAgICAtLSBSRkMgMjU3OQog ICAgTU9EVUxFLUNPTVBMSUFOQ0UsIE9CSkVDVC1HUk9VUCwgTk9USUZJQ0FUSU9OLUdST1VQCiAg ICAgIEZST00gU05NUHYyLUNPTkYgICAgICAgIC0tIFJGQyAyNTgwCiAgICBTbm1wQWRtaW5TdHJp bmcKICAgICAgRlJPTSBTTk1QLUZSQU1FV09SSy1NSUIgLS0gUkZDIDM0MTEKICAgIGlmSW5kZXgs IGlmU3BlZWQKICAgICAgRlJPTSBJRi1NSUIgICAgICAgICAgICAgLS0gUkZDIDI4NjMKICAgIDsK CiAgZWZtQ3VNSUIgTU9EVUxFLUlERU5USVRZCiAgICBMQVNULVVQREFURUQgIjIwMDcwMjIxMDAw MFoiICAtLSBGZWJydWFyeSAyMSwgMjAwNwogICAgT1JHQU5JWkFUSU9OICJJRVRGIEV0aGVybmV0 IEludGVyZmFjZXMgYW5kIEh1YiBNSUIgV29ya2luZyBHcm91cCIKICAgIENPTlRBQ1QtSU5GTwog ICAgICAiV0cgY2hhcnRlcjoKICAgICAgICBodHRwOi8vd3d3LmlldGYub3JnL2h0bWwuY2hhcnRl cnMvaHVibWliLWNoYXJ0ZXIuaHRtbAoKICAgICAgTWFpbGluZyBMaXN0czoKICAgICAgICBHZW5l cmFsIERpc2N1c3Npb246IGh1Ym1pYkBpZXRmLm9yZwogICAgICAgIFRvIFN1YnNjcmliZTogaHVi bWliLXJlcXVlc3RAaWV0Zi5vcmcKICAgICAgICBJbiBCb2R5OiBzdWJzY3JpYmUgeW91cl9lbWFp bF9hZGRyZXNzCgogICAgICBDaGFpcjogIEJlcnQgV2lqbmVuCiAgICAgIFBvc3RhbDogQWxjYXRl bC1MdWNlbnQKICAgICAgICAgICAgICBTY2hhZ2VuIDMzCiAgICAgICAgICAgICAgMzQ2MSBHTCBM aW5zY2hvdGVuCiAgICAgICAgICAgICAgTmV0aGVybGFuZHMKICAgICAgICAgVGVsOiArMzEtMzQ4 LTQwNy03NzUKICAgICAgRS1tYWlsOiBid2lqbmVuQGFsY2F0ZWwtbHVjZW50LmNvbQoKICAgICAg RWRpdG9yOiBFZHdhcmQgQmVpbGkKICAgICAgUG9zdGFsOiBBY3RlbGlzIE5ldHdvcmtzIEluYy4K ICAgICAgICAgICAgICAyNSBCYXplbCBTdC4sIFAuTy5CLiAxMDE3MwogICAgICAgICAgICAgIFBl dGFjaC1UaWt2YSAxMDE3MwogICAgICAgICAgICAgIElzcmFlbAogICAgICAgICAgICAgIFRlbDog Kzk3Mi0zLTkyNC0zNDkxCiAgICAgIEUtbWFpbDogZWR3YXJkLmJlaWxpQGFjdGVsaXMuY29tIgoK ICAgIERFU0NSSVBUSU9OCiAgICAgICJUaGUgb2JqZWN0cyBpbiB0aGlzIE1JQiBtb2R1bGUgYXJl IHVzZWQgdG8gbWFuYWdlCiAgICAgIHRoZSBFdGhlcm5ldCBpbiB0aGUgRmlyc3QgTWlsZSAoRUZN KSBDb3BwZXIgKEVGTUN1KSBJbnRlcmZhY2VzCiAgICAgIDJCQVNFLVRMIGFuZCAxMFBBU1MtVFMs IGRlZmluZWQgaW4gSUVFRSBTdGQuIDgwMi4zYWgtMjAwNCwKICAgICAgd2hpY2ggaXMgbm93IGEg cGFydCBvZiBJRUVFIFN0ZC4gODAyLjMtMjAwNS4KCiAgICAgIFRoZSBmb2xsb3dpbmcgcmVmZXJl bmNlcyBhcmUgdXNlZCB0aHJvdWdob3V0IHRoaXMgTUlCIG1vZHVsZToKCiAgICAgIFs4MDIuM2Fo XSByZWZlcnMgdG86CiAgICAgICAgSUVFRSBTdGQgODAyLjNhaC0yMDA0OiAnSUVFRSBTdGFuZGFy ZCBmb3IgSW5mb3JtYXRpb24KICAgICAgICB0ZWNobm9sb2d5IC0gVGVsZWNvbW11bmljYXRpb25z IGFuZCBpbmZvcm1hdGlvbiBleGNoYW5nZQogICAgICAgIGJldHdlZW4gc3lzdGVtcyAtIExvY2Fs IGFuZCBtZXRyb3BvbGl0YW4gYXJlYSBuZXR3b3JrcyAtCiAgICAgICAgU3BlY2lmaWMgcmVxdWly ZW1lbnRzIC0KICAgICAgICBQYXJ0IDM6IENhcnJpZXIgU2Vuc2UgTXVsdGlwbGUgQWNjZXNzIHdp dGggQ29sbGlzaW9uCiAgICAgICAgRGV0ZWN0aW9uIChDU01BL0NEKSBBY2Nlc3MgTWV0aG9kIGFu ZCBQaHlzaWNhbCBMYXllcgogICAgICAgIFNwZWNpZmljYXRpb25zIC0KICAgICAgICBBbWVuZG1l bnQ6IE1lZGlhIEFjY2VzcyBDb250cm9sIFBhcmFtZXRlcnMsIFBoeXNpY2FsCiAgICAgICAgTGF5 ZXJzIGFuZCBNYW5hZ2VtZW50IFBhcmFtZXRlcnMgZm9yIFN1YnNjcmliZXIgQWNjZXNzCiAgICAg ICAgTmV0d29ya3MnLCAwNyBTZXB0ZW1iZXIgMjAwNC4KCiAgICAgIE9mIHBhcnRpY3VsYXIgaW50 ZXJlc3QgYXJlIENsYXVzZSA2MSwgJ1BoeXNpY2FsIENvZGluZwogICAgICBTdWJsYXllciAoUENT KSBhbmQgY29tbW9uIHNwZWNpZmljYXRpb25zLCB0eXBlIDEwUEFTUy1UUyBhbmQKICAgICAgdHlw ZSAyQkFTRS1UTCcsIENsYXVzZSAzMCwgJ01hbmFnZW1lbnQnLCBDbGF1c2UgNDUsCiAgICAgICdN YW5hZ2VtZW50IERhdGEgSW5wdXQvT3V0cHV0IChNRElPKSBJbnRlcmZhY2UnLCBBbm5leCA2MkEs CiAgICAgICdQTUQgcHJvZmlsZXMgZm9yIDEwUEFTUy1UUycgYW5kIEFubmV4IDYzQSwgJ1BNRCBw cm9maWxlcyBmb3IKICAgICAgMkJBU0UtVEwnLgoKICAgICAgW0cuOTkxLjJdIHJlZmVycyB0bzoK ICAgICAgICBJVFUtVCBSZWNvbW1lbmRhdGlvbiBHLjk5MS4yOiAnU2luZ2xlLXBhaXIgSGlnaC1z cGVlZCBEaWdpdGFsCiAgICAgICAgU3Vic2NyaWJlciBMaW5lIChTSERTTCkgdHJhbnNjZWl2ZXJz JywgRGVjZW1iZXIgMjAwMy4KCiAgICAgIFtBTkZQXSByZWZlcnMgdG86CiAgICAgICAgTklDQyBE b2N1bWVudCBORDE2MDI6MjAwNS8wODogJ1NwZWNpZmljYXRpb24gb2YgdGhlIEFjY2VzcwogICAg ICAgIE5ldHdvcmsgRnJlcXVlbmN5IFBsYW4gKEFORlApIGFwcGxpY2FibGUgdG8gdHJhbnNtaXNz aW9uCiAgICAgICAgc3lzdGVtcyB1c2VkIG9uIHRoZSBCVCBBY2Nlc3MgTmV0d29yaywnIEF1Z3Vz dCAyMDA1LgoKICAgICAgTmFtaW5nIENvbnZlbnRpb25zOgogICAgICAgIEF0biAgIC0gQXR0ZW51 YXRpb24KICAgICAgICBDTyAgICAtIENlbnRyYWwgT2ZmaWNlCiAgICAgICAgQ1BFICAgLSBDdXN0 b21lciBQcmVtaXNlcyBFcXVpcG1lbnQKICAgICAgICBFRk0gICAtIEV0aGVybmV0IGluIHRoZSBG aXJzdCBNaWxlCiAgICAgICAgRUZNQ3UgLSBFRk0gQ29wcGVyCiAgICAgICAgTURJTyAgLSBNYW5h Z2VtZW50IERhdGEgSW5wdXQvT3V0cHV0CiAgICAgICAgTWduICAgLSBNYXJnaW4KICAgICAgICBQ QUYgICAtIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbgogICAgICAgIFBCTyAgIC0gUG93ZXIgQmFj ay1PZmYKICAgICAgICBQQ1MgICAtIFBoeXNpY2FsIENvZGluZyBTdWJsYXllcgogICAgICAgIFBN RCAgIC0gUGh5c2ljYWwgTWVkaXVtIERlcGVuZGVudAogICAgICAgIFBNRSAgIC0gUGh5c2ljYWwg TWVkaXVtIEVudGl0eQogICAgICAgIFBTRCAgIC0gUG93ZXIgU3BlY3RyYWwgRGVuc2l0eQogICAg ICAgIFNOUiAgIC0gU2lnbmFsIHRvIE5vaXNlIFJhdGlvCiAgICAgICAgVENQQU0gLSBUcmVsbGlz IENvZGVkIFB1bHNlIEFtcGxpdHVkZSBNb2R1bGF0aW9uCgogICAgICBDb3B5cmlnaHQgKEMpIFRo ZSBJRVRGIFRydXN0ICgyMDA3KS4gIFRoaXMgdmVyc2lvbgogICAgICBvZiB0aGlzIE1JQiBtb2R1 bGUgaXMgcGFydCBvZiBSRkMgWFhYWDsgIHNlZSB0aGUgUkZDCiAgICAgIGl0c2VsZiBmb3IgZnVs bCBsZWdhbCBub3RpY2VzLiIKCiAgICBSRVZJU0lPTiAgICAiMjAwNzAyMjEwMDAwWiIgIC0tIEZl YnJ1YXJ5IDIxLCAyMDA3CiAgICBERVNDUklQVElPTiAiSW5pdGlhbCB2ZXJzaW9uLCBwdWJsaXNo ZWQgYXMgUkZDIFhYWFguIgoKICAgICAgLS0gRWROb3RlOiBSZXBsYWNlIFhYWFggd2l0aCB0aGUg YWN0dWFsIFJGQyBudW1iZXIgJgogICAgICAtLSByZW1vdmUgdGhpcyBub3RlCiAKICAgIDo6PSB7 IG1pYi0yIFlZWSB9CgogICAgICAtLSBFZE5vdGU6IFJlcGxhY2UgWVlZIHdpdGggYSByZWFsIE9J RCBvbmNlIGl0IGlzCiAgICAgIC0tIGFsbG9jYXRlZCAmIHJlbW92ZSB0aGlzIG5vdGUuCgogICAt LSBTZWN0aW9ucyBvZiB0aGUgbW9kdWxlCgogICBlZm1DdU9iamVjdHMgICAgIE9CSkVDVCBJREVO VElGSUVSIDo6PSB7IGVmbUN1TUlCIDEgfQoKICAgZWZtQ3VDb25mb3JtYW5jZSBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdU1JQiAyIH0KCiAgIC0tIEdyb3VwcyBpbiB0aGUgbW9kdWxlCgog ICBlZm1DdVBvcnQgICAgICAgIE9CSkVDVCBJREVOVElGSUVSIDo6PSB7IGVmbUN1T2JqZWN0cyAx IH0KCiAgIGVmbUN1UG1lICAgICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VPYmpl Y3RzIDIgfQoKICAgLS0gVGV4dHVhbCBDb252ZW50aW9ucwoKICAgRWZtUHJvZmlsZUluZGV4IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgImQiCiAgICAgU1RBVFVTICAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdW5pcXVlIHZhbHVlLCBncmVh dGVyIHRoYW4gemVybywgZm9yIGVhY2ggUE1FIGNvbmZpZ3VyYXRpb24KICAgICAgIHByb2ZpbGUg aW4gdGhlIG1hbmFnZWQgRUZNQ3UgcG9ydC4gSXQgaXMgUkVDT01NRU5ERUQgdGhhdAogICAgICAg dmFsdWVzIGFyZSBhc3NpZ25lZCBjb250aWd1b3VzbHkgc3RhcnRpbmcgZnJvbSAxLiBUaGUgdmFs dWUKICAgICAgIGZvciBlYWNoIHByb2ZpbGUgTVVTVCByZW1haW4gY29uc3RhbnQgYXQgbGVhc3Qg ZnJvbSBvbmUKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBlbnRpdHkncyBuZXR3b3Jr IG1hbmFnZW1lbnQgc3lzdGVtCiAgICAgICB0byB0aGUgbmV4dCByZS1pbml0aWFsaXphdGlvbi4i CiAgICAgU1lOVEFYICAgICAgIFVuc2lnbmVkMzIgKDEuLjI1NSkKCiAgIEVmbVByb2ZpbGVJbmRl eE9yWmVybyA6Oj0gVEVYVFVBTC1DT05WRU5USU9OCiAgICAgRElTUExBWS1ISU5UICJkIgogICAg IFNUQVRVUyAgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRleHR1 YWwgY29udmVudGlvbiBpcyBhbiBleHRlbnNpb24gb2YgRWZtUHJvZmlsZUluZGV4CiAgICAgICBj b252ZW50aW9uLiBUaGUgbGF0dGVyIGRlZmluZXMgYSBncmVhdGVyIHRoYW4gemVybyB2YWx1ZSB1 c2VkCiAgICAgICB0byBpZGVudGlmeSBhIFBNRSBwcm9maWxlIGluIHRoZSBtYW5hZ2VkIEVGTUN1 IHBvcnQuIFRoaXMKICAgICAgIGV4dGVuc2lvbiBwZXJtaXRzIHRoZSBhZGRpdGlvbmFsIHZhbHVl IG9mIHplcm8uIFRoZSB2YWx1ZSBvZgogICAgICAgemVybyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5k IE1VU1QgdGhlcmVmb3JlIGJlIGRlZmluZWQgYXMgcGFydAogICAgICAgb2YgdGhlIGRlc2NyaXB0 aW9uIG9mIGFueSBvYmplY3Qgd2hpY2ggdXNlcyB0aGlzIHN5bnRheC4KICAgICAgIEV4YW1wbGVz IG9mIHRoZSB1c2FnZSBvZiB6ZXJvIHZhbHVlIG1pZ2h0IGluY2x1ZGUgc2l0dWF0aW9ucwogICAg ICAgd2hlcmUgY3VycmVudCBvcGVyYXRpb25hbCBwcm9maWxlIGlzIHVua25vd24uIgogICAgIFNZ TlRBWCAgICAgICBVbnNpZ25lZDMyICgwLi4yNTUpCgogICBFZm1Qcm9maWxlSW5kZXhMaXN0IDo6 PSBURVhUVUFMLUNPTlZFTlRJT04KICAgICBESVNQTEFZLUhJTlQgIjFkOiIKICAgICBTVEFUVVMg ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0ZXh0dWFsIGNvbnZl bnRpb24gcmVwcmVzZW50cyBhIGxpc3Qgb2YgdXAgdG8gNgogICAgICAgRWZtUHJvZmlsZUluZGV4 J3MsIGFueSBvZiB3aGljaCBjYW4gYmUgY2hvc2VuIGZvcgogICAgICAgY29uZmlndXJhdGlvbiBv ZiBhbiBQTUUgaW4gYSBtYW5hZ2VkIEVGTUN1IHBvcnQuIAogICAgICAgVGhlIEVmbVByb2ZpbGVJ bmRleCB0ZXh0dWFsIGNvbnZlbnRpb24gZGVmaW5lcyBhIGdyZWF0ZXIgdGhhbgogICAgICAgemVy byB2YWx1ZSB1c2VkIHRvIGlkZW50aWZ5IGEgUE1FIHByb2ZpbGUuCiAgICAgICBUaGUgdmFsdWUg b2YgdGhpcyBvYmplY3QgaXMgYSBjb25jYXRlbmF0aW9uIG9mIG9uZSBvcgogICAgICAgbW9yZSAo dXAgdG8gNikgb2N0ZXRzLCB3aGVyZSBlYWNoIG9jdGV0IGNvbnRhaW5zIGFuIDgtYml0CiAgICAg ICBFZm1Qcm9maWxlSW5kZXggdmFsdWUuCiAgICAgICBBIHplcm8gbGVuZ3RoIG9jdGV0IHN0cmlu ZyBpcyBvYmplY3Qtc3BlY2lmaWMgYW5kIE1VU1QKICAgICAgIHRoZXJlZm9yZSBiZSBkZWZpbmVk IGFzIHBhcnQgb2YgdGhlIGRlc2NyaXB0aW9uIG9mIGFueSBvYmplY3QKICAgICAgIHdoaWNoIHVz ZXMgdGhpcyBzeW50YXguIEV4YW1wbGVzIG9mIHRoZSB1c2FnZSBvZiB6ZXJvIGxlbmd0aAogICAg ICAgdmFsdWUgbWlnaHQgaW5jbHVkZSBzaXR1YXRpb25zIHdoZXJlIGFuIG9iamVjdCB1c2luZyB0 aGlzCiAgICAgICB0ZXh0dWFsIGNvbnZlbnRpb24gaXMgaXJyZWxldmFudCBmb3IgYSBzcGVjaWZp YyBFRk1DdSBwb3J0CiAgICAgICB0eXBlLiIKICAgICBTWU5UQVggICAgICAgT0NURVQgU1RSSU5H IChTSVpFKDAuLjYpKQoKICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93biA6Oj0gVEVYVFVBTC1DT05W RU5USU9OCiAgICAgU1RBVFVTICAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg IlRoaXMgdGV4dHVhbCBjb252ZW50aW9uIGlzIGFuIGV4dGVuc2lvbiBvZiB0aGUgVHJ1dGhWYWx1 ZQogICAgICAgY29udmVudGlvbi4gVGhlIGxhdHRlciBkZWZpbmVzIGEgYm9vbGVhbiB2YWx1ZSB3 aXRoIAogICAgICAgcG9zc2libGUgdmFsdWVzIG9mIHRydWUoMSkgYW5kIGZhbHNlKDIpLiBUaGlz CiAgICAgICBleHRlbnNpb24gcGVybWl0cyB0aGUgYWRkaXRpb25hbCB2YWx1ZSBvZiB1bmtub3du KDApLCB3aGljaAogICAgICAgY2FuIGJlIHJldHVybmVkIGFzIGEgcmVzdWx0IG9mIEdFVCBvcGVy YXRpb24sIHdoZW4gYW4gZXhhY3QKICAgICAgIHRydWUgb3IgZmFsc2UgdmFsdWUgb2YgdGhlIG9i amVjdCBjYW5ub3QgYmUgZGV0ZXJtaW5lZC4iCiAgICAgU1lOVEFYICAgICAgIElOVEVHRVIgeyB1 bmtub3duKDApLCB0cnVlKDEpLCBmYWxzZSgyKSB9CgogIC0tIFBvcnQgTm90aWZpY2F0aW9ucyBH cm91cAoKICAgZWZtQ3VQb3J0Tm90aWZpY2F0aW9ucyBPQkpFQ1QgSURFTlRJRklFUiA6Oj0geyBl Zm1DdVBvcnQgMCB9CiAgIAogICBlZm1DdUxvd1JhdGVDcm9zc2luZyBOT1RJRklDQVRJT04tVFlQ RQogICAgIE9CSkVDVFMgewogICAgICAgLS0gaWZJbmRleCBpcyBub3QgbmVlZGVkIGhlcmUgc2lu Y2Ugd2UgYXJlIHVuZGVyIHNwZWNpZmljIFBDUwogICAgICAgaWZTcGVlZCwKICAgICAgIGVmbUN1 VGhyZXNoTG93UmF0ZQogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJ UFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRUZNQ3Ug cG9ydCcgZGF0YSByYXRlCiAgICAgICBoYXMgcmVhY2hlZC9kcm9wcGVkIGJlbG93IG9yIGV4Y2Vl ZGVkIHRoZSBsb3cgcmF0ZSB0aHJlc2hvbGQsCiAgICAgICBzcGVjaWZpZWQgYnkgZWZtQ3VUaHJl c2hMb3dSYXRlLgoKICAgICAgIFRoaXMgbm90aWZpY2F0aW9uIE1BWSBiZSBzZW5kIGZvciB0aGUg LU8gc3VidHlwZSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8xMFBhc3NUUy1PKSB3aGlsZSB0aGUg cG9ydCBpcyB1cCwgb24gdGhlIGNyb3NzaW5nCiAgICAgICBldmVudCBpbiBib3RoIGRpcmVjdGlv bnM6IGZyb20gbm9ybWFsIChyYXRlIGlzIGFib3ZlIHRoZQogICAgICAgdGhyZXNob2xkKSB0byBs b3cgKHJhdGUgZXF1YWxzIHRoZSB0aHJlc2hvbGQgb3IgYmVsb3cgaXQpIGFuZAogICAgICAgZnJv bSBsb3cgdG8gbm9ybWFsLiBUaGlzIG5vdGlmaWNhdGlvbiBpcyBub3QgYXBwbGljYWJsZSB0bwog ICAgICAgdGhlIC1SIHN1YnR5cGVzLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBz bWFsbCBkZWJvdW5jaW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0 ZWN0aW9uIG9mIHRoZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxl bWVudGVkIHRvIHByZXZlbnQgc2ltdWx0YW5lb3VzIExpbmtVcC9MaW5rRG93biBhbmQKICAgICAg IGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5vdGlmaWNhdGlvbnMgdG8gYmUgc2VudC4KCiAgICAgICBU aGUgYWRhcHRpdmUgbmF0dXJlIG9mIHRoZSBFRk1DdSB0ZWNobm9sb2d5IGFsbG93cyB0aGUgcG9y dCB0bwogICAgICAgYWRhcHQgaXRzZWxmIHRvIHRoZSBjaGFuZ2VzIGluIHRoZSBjb3BwZXIgZW52 aXJvbm1lbnQsIGUuZy4KICAgICAgIGFuIGltcHVsc2Ugbm9pc2UsIGFsaWVuIGNyb3NzdGFsayBv ciBhIG1pY3JvLWludGVycnVwdGlvbiBtYXkKICAgICAgIHRlbXBvcmFyaWx5IGRyb3Agb25lIG9y IG1vcmUgUE1FcyBpbiB0aGUgYWdncmVnYXRpb24gZ3JvdXAsCiAgICAgICBjYXVzaW5nIGEgcmF0 ZSBkZWdyYWRhdGlvbiBvZiB0aGUgYWdncmVnYXRlZCBFRk1DdSBsaW5rLgogICAgICAgVGhlIGRy b3BwZWQgUE1FcyB3b3VsZCB0aGVuIHRyeSB0byByZS1pbml0aWFsaXplLCBwb3NzaWJseSBhdAog ICAgICAgYSBsb3dlciByYXRlIHRoYW4gYmVmb3JlLCBhZGp1c3RpbmcgdGhlIHJhdGUgdG8gcHJv dmlkZQogICAgICAgcmVxdWlyZWQgdGFyZ2V0IFNOUiBtYXJnaW4uCgogICAgICAgR2VuZXJhdGlv biBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAKICAgICAgIGVmbUN1 TG93UmF0ZUNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Tm90aWZp Y2F0aW9ucyAxIH0KCiAgIC0tIFBDUyBQb3J0IGdyb3VwCgogICBlZm1DdVBvcnRDb25mVGFibGUg T0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBvcnRDb25mRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIEVG TUN1IDJCQVNFLVRMLzEwUEFTUy1UUyAoUENTKQogICAgICAgUG9ydHMuIEVudHJpZXMgaW4gdGhp cyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYQogICAgICAgcGVyc2lzdGVudCBtYW5uZXIi CiAgICAgOjo9IHsgZWZtQ3VQb3J0IDEgfQoKICAgZWZtQ3VQb3J0Q29uZkVudHJ5IE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQb3J0Q29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAg bm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBbiBlbnRyeSBpbiB0aGUgRUZNQ3UgUG9ydCBDb25maWd1cmF0aW9uIHRhYmxlLgog ICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGFuIEVGTUN1IHBvcnQgaW5kZXhlZCBieSB0aGUg aWZJbmRleC4KICAgICAgIE5vdGUgdGhhdCBhbiBFRk1DdSBQQ1MgcG9ydCBydW5zIG9uIHRvcCBv ZiBhIHNpbmdsZQogICAgICAgb3IgbXVsdGlwbGUgUE1FIHBvcnQocyksIHdoaWNoIGFyZSBhbHNv IGluZGV4ZWQgYnkgaWZJbmRleC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsg ZWZtQ3VQb3J0Q29uZlRhYmxlIDEgfQoKICAgRWZtQ3VQb3J0Q29uZkVudHJ5IDo6PQogICAgIFNF UVVFTkNFIHsKICAgICAgIGVmbUN1UEFGQWRtaW5TdGF0ZSAgICAgICAgICAgICAgIElOVEVHRVIs CiAgICAgICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgICAgICAgICAgICBQaHlzQWRkcmVzcywKICAg ICAgIGVmbUN1QWRtaW5Qcm9maWxlICAgICAgICAgICAgICAgIEVmbVByb2ZpbGVJbmRleExpc3Qs CiAgICAgICBlZm1DdVRhcmdldERhdGFSYXRlICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAg ICAgZWZtQ3VUYXJnZXRTbnJNZ24gICAgICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVm bUN1QWRhcHRpdmVTcGVjdHJhICAgICAgICAgICAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVRo cmVzaExvd1JhdGUgICAgICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VMb3dSYXRl Q3Jvc3NpbmdFbmFibGUgICAgICAgVHJ1dGhWYWx1ZQogICAgIH0KCiAgIGVmbUN1UEFGQWRtaW5T dGF0ZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJTlRFR0VSIHsKICAgICAgIGVuYWJs ZWQoMSksCiAgICAgICBkaXNhYmxlZCgyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLXdy aXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQWRt aW5pc3RyYXRpdmUgKGRlc2lyZWQpIHN0YXRlIG9mIHRoZSBQQUYgb2YgdGhlIEVGTUN1IHBvcnQK ICAgICAgIChQQ1MpLgogICAgICAgV2hlbiAnZGlzYWJsZWQnLCBQTUUgQWdncmVnYXRpb24gd2ls bCBub3QgYmUgcGVyZm9ybWVkIGJ5IHRoZQogICAgICAgUENTLiBObyBtb3JlIHRoYW4gYSBzaW5n bGUgUE1FIGNhbiBiZSBhc3NpZ25lZCB0byB0aGlzIFBDUyBpbgogICAgICAgdGhpcyBjYXNlLgog ICAgICAgV2hlbiAnZW5hYmxlZCcsIFBBRiB3aWxsIGJlIHBlcmZvcm1lZCBieSB0aGUgUENTIHdo ZW4gdGhlIGxpbmsKICAgICAgIGlzIFVwLCBldmVuIG9uIGEgc2luZ2xlIGF0dGFjaGVkIFBNRSwg aWYgUEFGIGlzIHN1cHBvcnRlZC4KCiAgICAgICBQQ1MgcG9ydHMgaW5jYXBhYmxlIG9mIHN1cHBv cnRpbmcgUEFGIFNIQUxMIHJldHVybiBhIHZhbHVlIG9mCiAgICAgICAnZGlzYWJsZWQnLiBBdHRl bXB0cyB0byAnZW5hYmxlJyBzdWNoIHBvcnRzIFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFBB RiAnZW5hYmxlZCcgcG9ydCB3aXRoIG11bHRpcGxlIFBNRXMgYXNzaWduZWQgY2Fubm90IGJlCiAg ICAgICAnZGlzYWJsZWQnLiBBdHRlbXB0cyB0byAnZGlzYWJsZScgc3VjaCBwb3J0IFNIQUxMIGJl IHJlamVjdGVkLAogICAgICAgdW50aWwgYXQgbW9zdCBvbmUgUE1FIGlzIGxlZnQgYXNzaWduZWQu CgogICAgICAgQ2hhbmdpbmcgUEFGQWRtaW5TdGF0ZSBpcyBhIHRyYWZmaWMgZGlzcnVwdGl2ZSBv cGVyYXRpb24gYW5kCiAgICAgICBhcyBzdWNoIFNIQUxMIGJlIGRvbmUgd2hlbiB0aGUgbGluayBp cyBEb3duLiBBdHRlbXB0cyB0bwogICAgICAgY2hhbmdlIHRoaXMgb2JqZWN0IFNIQUxMIGJlIHJl amVjdGVkIGlmIHRoZSBsaW5rIGlzIFVwIG9yCiAgICAgICBJbml0aWFsaXppbmcuCgogICAgICAg VGhpcyBvYmplY3QgbWFwcyB0byB0aGUgQ2xhdXNlIDMwIGF0dHJpYnV0ZSBhUEFGQWRtaW5TdGF0 ZS4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHBy ZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFBBRiBlbmFibGUgYml0 IGluIHRoZSAxMFAvMkIgUENTIGNvbnRyb2wKICAgICAgIHJlZ2lzdGVyLgoKICAgICAgIFRoaXMg b2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBS RUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCA0NS4yLjMuMTguMyIKICAgICA6Oj0g eyBlZm1DdVBvcnRDb25mRW50cnkgMSB9CgogICBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgt QUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUEFGIERpc2NvdmVyeSBDb2RlIG9mIHRoZSBFRk1DdSBwb3J0IChQQ1MpLgog ICAgICAgQSB1bmlxdWUgNiBvY3RldCBsb25nIGNvZGUgdXNlZCBieSB0aGUgRGlzY292ZXJ5IGZ1 bmN0aW9uLAogICAgICAgd2hlbiBQQUYgaXMgc3VwcG9ydGVkLgogICAgICAgUENTIHBvcnRzIGlu Y2FwYWJsZSBvZiBzdXBwb3J0aW5nIFBBRiBTSEFMTCByZXR1cm4gYSB6ZXJvCiAgICAgICBsZW5n dGggb2N0ZXQgc3RyaW5nIG9uIGFuIGF0dGVtcHQgdG8gcmVhZCB0aGlzIG9iamVjdC4gQW4KICAg ICAgIGF0dGVtcHQgdG8gd3JpdGUgdG8gdGhpcyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgZm9y IHN1Y2gKICAgICAgIHBvcnRzLgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBpbnN0YW50aWF0 ZWQgZm9yIHRoZSAtTyBzdWJ0eXBlIFBDUyBiZWZvcmUKICAgICAgIHdyaXRpbmcgb3BlcmF0aW9u cyBvbiB0aGUgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlCiAgICAgICAoU2V0X2lmX0NsZWFy IGFuZCBDbGVhcl9pZl9TYW1lKSBhcmUgcGVyZm9ybWVkIGJ5IFBNRXMKICAgICAgIGFzc29jaWF0 ZWQgd2l0aCB0aGUgUENTLgogICAgICAgVGhlIGluaXRpYWwgdmFsdWUgb2YgdGhpcyBvYmplY3Qg Zm9yIC1SIHN1YnR5cGUgcG9ydHMgYWZ0ZXIKICAgICAgIHJlc2V0IGlzIGFsbCB6ZXJvZXMuIEZv ciAtUiBzdWJ0eXBlIHBvcnRzLCB0aGUgdmFsdWUgb2YgdGhpcwogICAgICAgb2JqZWN0IGNhbm5v dCBiZSBjaGFuZ2VkIGRpcmVjdGx5LiBUaGlzIHZhbHVlIG1heSBiZSBjaGFuZ2VkCiAgICAgICBh cyBhIHJlc3VsdCBvZiB3cml0aW5nIG9wZXJhdGlvbiBvbiB0aGUKICAgICAgIGVmbUN1UEFGUmVt b3RlRGlzY292ZXJ5Q29kZSBvYmplY3Qgb2YgcmVtb3RlIFBNRSBvZiAtTwogICAgICAgc3VidHlw ZSwgY29ubmVjdGVkIHRvIG9uZSBvZiB0aGUgbG9jYWwgUE1FcyBhc3NvY2lhdGVkIHdpdGgKICAg ICAgIHRoZSBQQ1MuCgogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhl IGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNU IGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGluY29u c2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemluZy4K CiAgICAgICBUaGUgUEFGIERpc2NvdmVyeSBjb2RlIG1hcHMgdG8gdGhlIGxvY2FsIERpc2NvdmVy eSBjb2RlCiAgICAgICB2YXJpYWJsZSBpbiBQQUYgKG5vdGUgdGhhdCBpdCBkb2VzIG5vdCBoYXZl IGEgY29ycmVzcG9uZGluZwogICAgICAgQ2xhdXNlIDQ1IHJlZ2lzdGVyKSIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLjguMywgNjEuMi4yLjguNCwgNDUuMi42LjYuMSwg NDUuMi42LjgsCiAgICAgICA2MUEuMiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50cnkgMiB9 CgogICBlZm1DdUFkbWluUHJvZmlsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXhMaXN0CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgY29uZmlndXJhdGlv biBQcm9maWxlKHMpLCBjb21tb24gZm9yIGFsbCBQTUVzIGluIHRoZQogICAgICAgRUZNQ3UgcG9y dC4gVGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHBvaW50ZXJzIHRvIGVudHJpZXMgaW4KICAgICAg IGVpdGhlciBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIG9yCiAgICAgICBlZm1DdVBtZTEwUFByb2Zp bGVUYWJsZSwgZGVwZW5kaW5nIG9uIHRoZSBjdXJyZW50CiAgICAgICBvcGVyYXRpbmcgU3ViVHlw ZSBvZiB0aGUgRUZNQ3UgcG9ydCBhcyBpbmRpY2F0ZWQgYnkKICAgICAgIGVmbUN1UG9ydFNpZGUu CiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmplY3QgaXMgYSBsaXN0IG9mIHVwIHRvIDYgaW5k aWNlcyBvZgogICAgICAgUHJvZmlsZXMuIElmIHRoaXMgbGlzdCBjb25zaXN0cyBvZiBhIHNpbmds ZSBQcm9maWxlIGluZGV4LAogICAgICAgdGhlbiBhbGwgUE1FcyBhc3NpZ25lZCB0byB0aGlzIEVG TUN1IHBvcnQgU0hBTEwgYmUgY29uZmlndXJlZAogICAgICAgYWNjb3JkaW5nIHRvIHRoZSBQcm9m aWxlIHJlZmVyZW5jZWQgYnkgdGhhdCBpbmRleCwgdW5sZXNzIGl0CiAgICAgICBpcyBvdmVyd3Jp dHRlbiBieSBjb3JyZXNwb25kaW5nIG5vbi16ZXJvIGVmbUN1UG1lQWRtaW5Qcm9maWxlLAogICAg ICAgd2hpY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGVmbUN1QWRtaW5Qcm9maWxlLgogICAgICAg VGhlIGxpc3QsIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIG9uZSBpbmRleCwgYWxsb3dzIGVhY2gg UE1FCiAgICAgICBpbiB0aGUgcG9ydCB0byBiZSBjb25maWd1cmVkIGFjY29yZGluZyB0byBhbnkg UHJvZmlsZQogICAgICAgc3BlY2lmaWVkIGluIHRoZSBsaXN0LgogICAgICAgQnkgZGVmYXVsdCB0 aGlzIG9iamVjdCBoYXMgYSB2YWx1ZSBvZiAweDAxLCByZWZlcmVuY2luZyAxc3QKICAgICAgIGVu dHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUu CgogICAgICAgVGhpcyBvYmplY3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgLU8g c3VidHlwZQogICAgICAgKDJCYXNlVEwtTyBvciAxMFBhc3NUUy1PKSBFRk1DdSBwb3J0cy4gSXQg aXMgaXJyZWxldmFudCBmb3IKICAgICAgIHRoZSAtUiAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEw UGFzc1RTLVIpIHBvcnRzIC0gYSB6ZXJvCiAgICAgICBsZW5ndGggb2N0ZXQgc3RyaW5nIFNIQUxM IGJlIHJldHVybmVkIG9uIGFuIGF0dGVtcHQgdG8gcmVhZAogICAgICAgdGhpcyBvYmplY3QgYW5k IGFuIGF0dGVtcHQgdG8gY2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUKICAgICAgIHJlamVjdGVk IGluIHRoaXMgY2FzZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBQcm9m aWxlIHZhbHVlIGlzIGF2YWlsYWJsZSB2aWEKICAgICAgIGVmbUN1UG1lT3BlclByb2ZpbGUgb2Jq ZWN0LgoKICAgICAgIE1vZGlmaWNhdGlvbiBvZiB0aGlzIG9iamVjdCBNVVNUIGJlIHBlcmZvcm1l ZCB3aGVuIHRoZSBsaW5rIGlzCiAgICAgICBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBv YmplY3QgTVVTVCBiZSByZWplY3RlZCwgaWYgdGhlCiAgICAgICBsaW5rIGlzIFVwIG9yIEluaXRp YWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIHNldCB0aGlzIG9iamVjdCB0byBhIGxpc3Qgd2l0 aCBhIG1lbWJlcgogICAgICAgdmFsdWUsIHRoYXQgaXMgbm90IHRoZSB2YWx1ZSBvZiB0aGUgaW5k ZXggZm9yIGFuIGFjdGl2ZSBlbnRyeQogICAgICAgaW4gdGhlIGNvcnJlc3BvbmRpbmcgcHJvZmls ZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1h aW50YWluZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAi WzgwMi4zYWhdIDMwLjExLjIuMS42IgogICAgIERFRlZBTCB7ICcwMSdIIH0KICAgICA6Oj0geyBl Zm1DdVBvcnRDb25mRW50cnkgMyB9CgogICBlZm1DdVRhcmdldERhdGFSYXRlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMS4uMTAwMDAwfDk5OTk5OSkKICAgICBVTklU UyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRGVzaXJlZCBFRk1DdSBwb3J0ICdu ZXQnIChhcyBzZWVuIGFjcm9zcyBNSUkpIERhdGEgUmF0ZSBpbgogICAgICAgS2JwcywgdG8gYmUg YWNoaWV2ZWQgZHVyaW5nIGluaXRpYWxpemF0aW9uLCB1bmRlciBzcGVjdHJhbAogICAgICAgcmVz dHJpY3Rpb25zIHBsYWNlZCBvbiBlYWNoIFBNRSB2aWEgZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAg ICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB3aXRoIHRoZSBkZXNpcmVkIFNOUiBNYXJnaW4gc3Bl Y2lmaWVkIGJ5CiAgICAgICBlZm1DdVRhcmdldFNuck1nbi4KICAgICAgIEluIGNhc2Ugb2YgUEFG LCB0aGlzIG9iamVjdCByZXByZXNlbnRzIGEgc3VtIG9mIGluZGl2aWR1YWwgUE1FCiAgICAgICBk YXRhIHJhdGVzLCBtb2RpZmllZCB0byBjb21wZW5zYXRlIGZvciBmcmFnbWVudGF0aW9uIGFuZAog ICAgICAgNjQvNjVCIGZyYW1pbmcgb3ZlcmhlYWQgKGUuZy4gdGFyZ2V0IGRhdGEgcmF0ZSBvZiAx ME1icHMKICAgICAgIFNIQUxMIGFsbG93IGxvc3NsZXNzIHRyYW5zbWlzc2lvbiBvZiBmdWxsLWR1 cGxleCAxME1icHMKICAgICAgIEV0aGVybmV0IGZyYW1lIHN0cmVhbSB3aXRoIG1pbmltYWwgaW50 ZXItZnJhbWUgZ2FwKS4KCiAgICAgICBUaGUgdmFsdWUgaXMgbGltaXRlZCBhYm92ZSBieSAxMDBN YnBzIGFzIHRoaXMgaXMgdGhlIG1heAogICAgICAgYnVyc3QgcmF0ZSBhY3Jvc3MgTUlJIGZvciBF Rk1DdSBwb3J0cy4KCiAgICAgICBUaGUgdmFsdWUgYmV0d2VlbiAxIGFuZCAxMDAwMDAgaW5kaWNh dGVzIHRoYXQgdGhlIHRvdGFsIGRhdGEKICAgICAgIHJhdGUgKGlmU3BlZWQpIG9mIHRoZSBFRk1D dSBwb3J0IGFmdGVyIGluaXRpYWxpemF0aW9uIFNIQUxMCiAgICAgICBiZSBlcXVhbCB0byB0aGUg dGFyZ2V0IGRhdGEgcmF0ZSBvciBsZXNzLCBpZiB0aGUgdGFyZ2V0IGRhdGEKICAgICAgIHJhdGUg Y2Fubm90IGJlIGFjaGlldmVkIHVuZGVyIHNwZWN0cmFsIHJlc3RyaWN0aW9ucyBzcGVjaWZpZWQK ICAgICAgIGJ5IGVmbUN1QWRtaW5Qcm9maWxlL2VmbUN1UG1lQWRtaW5Qcm9maWxlIGFuZCB3aXRo IGRlc2lyZWQgU05SCiAgICAgICBtYXJnaW4uIEluIGNhc2UgdGhlIGNvcHBlciBlbnZpcm9ubWVu dCBhbGxvd3MgdG8gYWNoaWV2ZQogICAgICAgaGlnaGVyIHRvdGFsIGRhdGEgcmF0ZSB0aGFuIHRo YXQgc3BlY2lmaWVkIGJ5IHRoZSB0YXJnZXQsIHRoZQogICAgICAgZXhjZXNzIGNhcGFiaWxpdHkg U0hBTEwgYmUgZWl0aGVyIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUgogICAgICAgbWFyZ2lu IG9yIHJlY2xhaW1lZCBieSBtaW5pbWl6aW5nIHRyYW5zbWl0IHBvd2VyIGFzIGNvbnRyb2xsZWQK ICAgICAgIGJ5IGVmbUN1QWRhcHRpdmVTcGVjdHJhLgoKICAgICAgIFRoZSB2YWx1ZSBvZiA5OTk5 OTkgbWVhbnMgdGhhdCB0aGUgdGFyZ2V0IGRhdGEgcmF0ZSBpcyBub3QKICAgICAgIGZpeGVkIGFu ZCBTSEFMTCBiZSBzZXQgdG8gdGhlIG1heGltdW0gYXR0YWluYWJsZSByYXRlIGR1cmluZwogICAg ICAgaW5pdGlhbGl6YXRpb24gKEJlc3QgRWZmb3J0KSwgdW5kZXIgc3BlY2lmaWVkIHNwZWN0cmFs CiAgICAgICByZXN0cmljdGlvbnMgYW5kIHdpdGggZGVzaXJlZCBTTlIgTWFyZ2luLgoKICAgICAg IFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9yIHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRz CiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8pIGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUg LVIgc3VidHlwZXMuCiAgICAgICAKICAgICAgIENoYW5naW5nIG9mIHRoZSBUYXJnZXQgRGF0YSBS YXRlIE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4gdGhlCiAgICAgICBsaW5rIGlzIERvd24uIEF0dGVt cHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlIHJlamVjdGVkCiAgICAgICAoaW4gY2Fz ZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwgaWYgdGhlCiAgICAg ICBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBE YXRhIFJhdGUgb2YgdGhlIEVGTUN1IHBvcnQgaXMgcmVwcmVzZW50ZWQKICAgICAgIGJ5IGlmU3Bl ZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWlu ZWQgaW4gYSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5 IDQgfQoKICAgZWZtQ3VUYXJnZXRTbnJNZ24gIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg VW5zaWduZWQzMigwLi4yMSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAg cmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAg ICAgIkRlc2lyZWQgRUZNQ3UgcG9ydCBTTlIgTWFyZ2luIHRvIGJlIGFjaGlldmVkIG9uIGFsbCBQ TUVzCiAgICAgICBhc3NpZ25lZCB0byB0aGUgcG9ydCwgZHVyaW5nIGluaXRpYWxpemlhdGlvbi4g KFRoZSBTTlIgbWFyZ2luCiAgICAgICBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBkZXNp cmVkIFNOUiBhbmQgdGhlIGFjdHVhbCBTTlIpLgoKICAgICAgIE5vdGUgdGhhdCA4MDIuM2FoIHJl Y29tbWVuZHMgdXNpbmcgZGVmYXVsdCBUYXJnZXQgU05SIE1hcmdpbgogICAgICAgb2YgNWRCIGZv ciAyQkFTRS1UTCBwb3J0cyBhbmQgNmRCIGZvciAxMFBBU1MtVFMgcG9ydHMgaW4gb3JkZXIKICAg ICAgIHRvIGFjaGlldmUgbWVhbiBCaXQgRXJyb3IgUmF0ZSAoQkVSKSBvZiAxMF4tNyBhdCB0aGUg UE1BCiAgICAgICBzZXJ2aWNlIGludGVyZmFjZS4KCiAgICAgICBUaGlzIG9iamVjdCBpcyByZWFk LXdyaXRlIGZvciB0aGUgLU8gc3VidHlwZSBFRk1DdSBwb3J0cwogICAgICAgKDJCYXNlVEwtTy8x MFBhc3NUUy1PKSBhbmQgbm90IGF2YWlsYWJsZSBmb3IgdGhlIC1SIHN1YnR5cGVzLgogICAgICAg CiAgICAgICBDaGFuZ2luZyBvZiB0aGUgVGFyZ2V0IFNOUiBNYXJnaW4gTVVTVCBiZSBwZXJmb3Jt ZWQgd2hlbiB0aGUKICAgICAgIGxpbmsgaXMgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdlIHRoaXMg b2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQKICAgICAgIChpbiBjYXNlIG9mIFNOTVAgd2l0aCB0aGUg ZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUKICAgICAgIGxpbmsgaXMgVXAgb3IgSW5p dGlhbGl6aW5nLgoKICAgICAgIE5vdGUgdGhhdCBjdXJyZW50IFNOUiBNYXJnaW4gb2YgdGhlIFBN RXMgY29tcHJpc2luZyB0aGUgRUZNQ3UKICAgICAgIHBvcnQgaXMgcmVwcmVzZW50ZWQgYnkgZWZt Q3VQbWVTbnJNZ24uCgogICAgICAgVGhpcyBvYmplY3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEg cGVyc2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA2MS4x LjIiCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDUgfQoKICAgZWZtQ3VBZGFwdGl2ZVNw ZWN0cmEgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1ZQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJJbmRpY2F0ZXMgaG93IHRvIHV0aWxpemUgZXhjZXNzIGNhcGFjaXR5IHdoZW4g dGhlIGNvcHBlcgogICAgICAgZW52aXJvbm1lbnQgYWxsb3dzIHRvIGFjaGlldmUgaGlnaGVyIHRv dGFsIGRhdGEgcmF0ZSB0aGFuIHRoYXQKICAgICAgIHNwZWNpZmllZCBieSB0aGUgZWZtQ3VUYXJn ZXREYXRhUmF0ZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRo YXQgdGhlIGV4Y2VzcyBjYXBhYmlsaXR5IFNIQUxMIGJlCiAgICAgICByZWNsYWltZWQgYnkgbWlu aW1pemluZyB0cmFuc21pdCBwb3dlciwgZS5nLiB1c2luZyBoaWdoZXIKICAgICAgIGNvbnN0ZWxs YXRpb25zIGFuZCBQb3dlciBCYWNrLU9mZiwgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgICBpbnRl cmZlcmVuY2UgdG8gb3RoZXIgY29wcGVyIHBhaXJzIGluIHRoZSBiaW5kZXIgYW5kIHRoZSAKICAg ICAgIGFkdmVyc2UgaW1wYWN0IHRvIGxpbmsvc3lzdGVtIHBlcmZvcm1hbmNlLgogICAgICAgCiAg ICAgICBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdCB0aGUgZXhjZXNzIGNhcGFiaWxp dHkgU0hBTEwKICAgICAgIGJlIGNvbnZlcnRlZCB0byBhZGRpdGlvbmFsIFNOUiBtYXJnaW4gYW5k IHNwcmVhZCBldmVubHkgYWNyb3NzCiAgICAgICBhbGwgYWN0aXZlIFBNRXMgYXNzaWduZWQgdG8g dGhlIChQQ1MpIHBvcnQsIHRvIGluY3JlYXNlIGxpbmsKICAgICAgIHJvYnVzdG5lc3MuCgogICAg ICAgVGhpcyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9y dHMKICAgICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRo ZSAtUiBzdWJ0eXBlcy4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhpcyBvYmplY3QgTVVT VCBiZSBwZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8g Y2hhbmdlIHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQgKGluIGNhc2UKICAgICAgIG9mIFNO TVAgd2l0aCB0aGUgZXJyb3IgaW5jb25zaXN0ZW50VmFsdWUpLCBpZiB0aGUgbGluayBpcyBVcAog ICAgICAgb3IgSW5pdGlhbGl6aW5nLgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICA6Oj0geyBlZm1DdVBvcnRDb25mRW50 cnkgNiB9CgogICBlZm1DdVRocmVzaExvd1JhdGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgVW5zaWduZWQzMigxLi4xMDAwMDApCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQ VElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbmZpZ3VyZXMgdGhlIEVGTUN1IHBvcnQgbG93IHJh dGUgY3Jvc3NpbmcgYWxhcm0KICAgICAgIHRocmVzaG9sZC4gV2hlbiB0aGUgY3VycmVudCB2YWx1 ZSBvZiBpZlNwZWVkIGZvciB0aGlzIHBvcnQKICAgICAgIHJlYWNoZXMvZHJvcHMgYmVsb3cgb3Ig ZXhjZWVkcyB0aGlzIHRocmVzaG9sZCwgYW4KICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nIG5v dGlmaWNhdGlvbiBNQVkgYmUgZ2VuZXJhdGVkIGlmIGVuYWJsZWQKICAgICAgIGJ5IGVmbUN1TG93 UmF0ZUNyb3NzaW5nRW5hYmxlLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIHJlYWQtd3JpdGUgZm9y IHRoZSAtTyBzdWJ0eXBlIEVGTUN1IHBvcnRzCiAgICAgICAoMkJhc2VUTC1PLzEwUGFzc1RTLU8p IGFuZCBub3QgYXZhaWxhYmxlIGZvciB0aGUgLVIgc3VidHlwZXMuCgogICAgICAgVGhpcyBvYmpl Y3QgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudCBtYW5uZXIuIgogICAgIDo6PSB7 IGVmbUN1UG9ydENvbmZFbnRyeSA3IH0KCiAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlICBP QkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICBy ZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VMb3dSYXRlQ3Jvc3Npbmcgbm90aWZpY2F0aW9ucyBz aG91bGQKICAgICAgIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZhY2UuCiAgICAgICAgCiAg ICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1TG93UmF0ZUNyb3NzaW5n CiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNh dGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlzYWJsZWQuCgogICAgICAgVGhp cyBvYmplY3QgaXMgcmVhZC13cml0ZSBmb3IgdGhlIC1PIHN1YnR5cGUgRUZNQ3UgcG9ydHMKICAg ICAgICgyQmFzZVRMLU8vMTBQYXNzVFMtTykgYW5kIG5vdCBhdmFpbGFibGUgZm9yIHRoZSAtUiBz dWJ0eXBlcy4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50IG1hbm5lci4iCiAgICAgOjo9IHsgZWZtQ3VQb3J0Q29uZkVudHJ5IDggfQoKCiAgIGVm bUN1UG9ydENhcGFiaWxpdHlUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nl c3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi VGFibGUgZm9yIENhcGFiaWxpdGllcyBvZiBFRk1DdSAyQkFTRS1UTC8xMFBBU1MtVFMgKFBDUykK ICAgICAgIFBvcnRzLiBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGlu IGEKICAgICAgIHBlcnNpc3RlbnQgbWFubmVyIgogICAgIDo6PSB7IGVmbUN1UG9ydCAyIH0KCiAg IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVm bUN1UG9ydENhcGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkg aW4gdGhlIEVGTUN1IFBvcnQgQ2FwYWJpbGl0eSB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVw cmVzZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3Rl IHRoYXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9y IG11bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXgu IgogICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBBRlN1cHBvcnRlZCAgICAgICAgICAgICAgICBUcnV0aFZhbHVlLAogICAg ICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkICAgICAgICAgICAgRWZtVHJ1dGhWYWx1ZU9yVW5rbm93 biwKICAgICAgIGVmbUN1UEFGQ2FwYWNpdHkgICAgICAgICAgICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBlZXJQQUZDYXBhY2l0eSAgICAgICAgICAgICBVbnNpZ25lZDMyCiAgICAgfQoK ICAgZWZtQ3VQQUZTdXBwb3J0ZWQgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhW YWx1ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIlBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBD YXBhYmlsaXR5IG9mIHRoZSBFRk1DdSBwb3J0CiAgICAgICAoUENTKS4KICAgICAgIFRoaXMgb2Jq ZWN0IGhhcyBhIHZhbHVlIG9mIHRydWUoMSkgd2hlbiB0aGUgUENTIGNhbiBwZXJmb3JtCiAgICAg ICBQTUUgYWdncmVnYXRpb24gb24gdGhlIGF2YWlsYWJsZSBQTUVzLgogICAgICAgUG9ydHMgaW5j YXBhYmxlIG9mIFBBRiBTSEFMTCByZXR1cm4gYSB2YWx1ZSBvZiBmYWxzZSgyKS4KCiAgICAgICBU aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBDbGF1c2UgMzAgYXR0cmlidXRlIGFQQUZTdXBwb3J0ZWQu CgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVz ZW50LAogICAgICAgdGhlbiB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBQQUYgYXZhaWxhYmxlIGJp dCBpbiB0aGUKICAgICAgIDEwUC8yQiBjYXBhYmlsaXR5IHJlZ2lzdGVyLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4xLjEuNCwgNDUuMi4zLjE3LjEiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0Q2FwYWJpbGl0eUVudHJ5IDEgfQoKICAgZWZtQ3VQZWVyUEFGU3Vw cG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVRydXRoVmFsdWVPclVua25v d24KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJQTUUgQWdncmVnYXRpb24gRnVuY3Rpb24gKFBBRikgQ2Fw YWJpbGl0eSBvZiB0aGUgRUZNQ3UgcG9ydAogICAgICAgKFBDUykgbGluayBwYXJ0bmVyLgogICAg ICAgVGhpcyBvYmplY3QgaGFzIGEgdmFsdWUgb2YgdHJ1ZSgxKSB3aGVuIHRoZSByZW1vdGUgUENT IGNhbgogICAgICAgcGVyZm9ybSBQTUUgYWdncmVnYXRpb24gb24gaXRzIGF2YWlsYWJsZSBQTUVz LgogICAgICAgUG9ydHMgd2hvc2UgcGVlcnMgYXJlIGluY2FwYWJsZSBvZiBQQUYsIFNIQUxMIHJl dHVybiBhIHZhbHVlCiAgICAgICBvZiBmYWxzZSgyKS4KICAgICAgIFBvcnRzIHdob3NlIHBlZXJz IGNhbm5vdCBiZSByZWFjaGVkIGJlY2F1c2Ugb2YgdGhlIGxpbmsKICAgICAgIHN0YXRlLCBTSEFM TCByZXR1cm4gYSB2YWx1ZSBpZiB1bmtub3duKDApLgoKICAgICAgIFRoaXMgb2JqZWN0IG1hcHMg dG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZTdXBwb3J0ZWQuCgog ICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50 LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSBSZW1vdGUgUEFGIHN1cHBvcnRl ZCBiaXQgaW4gdGhlCiAgICAgICAxMFAvMkIgY2FwYWJpbGl0eSByZWdpc3Rlci4iCiAgICAgUkVG RVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjksIDQ1LjIuMy4xNy4y IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSAyIH0KCiAgIGVmbUN1UEFGQ2Fw YWNpdHkgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMiAoMS4uMzIpCiAg ICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERF U0NSSVBUSU9OCiAgICAgICAiTnVtYmVyIG9mIFBNRXMgdGhhdCBjYW4gYmUgYWdncmVnYXRlZCBi eSB0aGUgbG9jYWwgUEFGLgogICAgICAgVGhlIG51bWJlciBvZiBQTUVzIGN1cnJlbnRseSBhc3Np Z25lZCB0byBhIHBhcnRpY3VsYXIKICAgICAgIEVGTUN1IHBvcnQgKGVmbUN1TnVtUE1FcykgaXMg bmV2ZXIgZ3JlYXRlciB0aGFuCiAgICAgICBlZm1DdVBBRkNhcGFjaXR5LgoKICAgICAgIFRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFMb2NhbFBBRkNh cGFjaXR5LiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMi4yLCAzMC4xMS4x LjEuNiIKICAgICA6Oj0geyBlZm1DdVBvcnRDYXBhYmlsaXR5RW50cnkgMyB9CgogICBlZm1DdVBl ZXJQQUZDYXBhY2l0eSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgw fDEuLjMyKQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIk51bWJlciBvZiBQTUVzIHRoYXQgY2FuIGJlIGFn Z3JlZ2F0ZWQgYnkgdGhlIFBBRiBvZiB0aGUgcGVlcgogICAgICAgUGh5IChQQ1MgcG9ydCkuCiAg ICAgICBWYWx1ZSBvZiAwIGlzIHJldHVybmVkIHdoZW4gcGVlciBQQUYgQ2FwYWNpdHkgaXMgdW5r bm93bgogICAgICAgKHBlZXIgY2Fubm90IGJlIHJlYWNoZWQpLgoKICAgICAgIFRoaXMgb2JqZWN0 IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFSZW1vdGVQQUZDYXBhY2l0 eS4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjEw IgogICAgIDo6PSB7IGVmbUN1UG9ydENhcGFiaWxpdHlFbnRyeSA0IH0KCgogICBlZm1DdVBvcnRT dGF0dXNUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVmbUN1 UG9ydFN0YXR1c0VudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIHRhYmxlIHByb3Zp ZGVzIG92ZXJhbGwgc3RhdHVzIGluZm9ybWF0aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8x MFBBU1MtVFMgcG9ydHMsIGNvbXBsZW1lbnRpbmcgdGhlIGdlbmVyaWMgc3RhdHVzCiAgICAgICBp bmZvcm1hdGlvbiBmcm9tIHRoZSBpZlRhYmxlIG9mIElGLU1JQiBhbmQgaWZNYXVUYWJsZSBvZgog ICAgICAgTUFVLU1JQi4gQWRkaXRpb25hbCBzdGF0dXMgaW5mb3JtYXRpb24gYWJvdXQgY29ubmVj dGVkIFBNRXMKICAgICAgIGlzIGF2YWlsYWJsZSBmcm9tIGVmbUN1UG1lU3RhdHVzVGFibGUuCgog ICAgICAgVGhpcyB0YWJsZSBjb250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBB cyBzdWNoLAogICAgICAgaXQgaXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG9y dCAzIH0KCiAgIGVmbUN1UG9ydFN0YXR1c0VudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQb3J0IFN0YXR1cyB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkgcmVwcmVz ZW50cyBhbiBFRk1DdSBwb3J0IGluZGV4ZWQgYnkgdGhlIGlmSW5kZXguCiAgICAgICBOb3RlIHRo YXQgYW4gRUZNQ3UgUENTIHBvcnQgcnVucyBvbiB0b3Agb2YgYSBzaW5nbGUKICAgICAgIG9yIG11 bHRpcGxlIFBNRSBwb3J0KHMpLCB3aGljaCBhcmUgYWxzbyBpbmRleGVkIGJ5IGlmSW5kZXguIgog ICAgIElOREVYICB7IGlmSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c1RhYmxlIDEg fQoKICAgRWZtQ3VQb3J0U3RhdHVzRW50cnkgOjo9CiAgICAgU0VRVUVOQ0UgewogICAgICAgZWZt Q3VGbHRTdGF0dXMgICAgICAgICAgICAgICAgICAgQklUUywKICAgICAgIGVmbUN1UG9ydFNpZGUg ICAgICAgICAgICAgICAgICAgIElOVEVHRVIsCiAgICAgICBlZm1DdU51bVBNRXMgICAgICAgICAg ICAgICAgICAgICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQQUZJbkVycm9ycyAgICAgICAgICAg ICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJblNtYWxsRnJhZ21lbnRzICAgICAgICAg Q291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbkxhcmdlRnJhZ21lbnRzICAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQQUZJbkJhZEZyYWdtZW50cyAgICAgICAgICAgQ291bnRlcjMyLAog ICAgICAgZWZtQ3VQQUZJbkxvc3RGcmFnbWVudHMgICAgICAgICAgQ291bnRlcjMyLAogICAgICAg ZWZtQ3VQQUZJbkxvc3RTdGFydHMgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQ QUZJbkxvc3RFbmRzICAgICAgICAgICAgICAgQ291bnRlcjMyLAogICAgICAgZWZtQ3VQQUZJbk92 ZXJmbG93cyAgICAgICAgICAgICAgQ291bnRlcjMyCiAgICAgfQoKICAgZWZtQ3VGbHRTdGF0dXMg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQklUUyB7CiAgICAgICBub1BlZXIoMCksCiAg ICAgICBwZWVyUG93ZXJMb3NzKDEpLAogICAgICAgcG1lU3ViVHlwZU1pc21hdGNoKDIpLAogICAg ICAgbG93UmF0ZSgzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk1DdSAoUENTKSBwb3J0 IEZhdWx0IFN0YXR1cy4gVGhpcyBpcyBhIGJpdG1hcCBvZiBwb3NzaWJsZQogICAgICAgY29uZGl0 aW9ucy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6CiAgICAgICAgIG5vUGVlciAgICAg ICAgICAgICAgLSBwZWVyIFBIWSBjYW5ub3QgYmUgcmVhY2hlZCAoZS5nLgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbm8gUE1FcyBhdHRhY2hlZCwgYWxsIFBNRXMgYXJlIERvd24KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV0Yy4pIE1vcmUgaW5mbyBpcyBhdmFpbGFibGUg aW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVmbUN1UG1lRmx0U3RhdHVzLgogICAg ICAgICBwZWVyUG93ZXJMb3NzICAgICAgIC0gcGVlciBQSFkgaGFzIGluZGljYXRlZCBpbXBlbmRp bmcgdW5pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbHVyZSBkdWUgdG8gbG9z cyBvZiBsb2NhbCBwb3dlcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdEeWluZyBH YXNwJykuCiAgICAgICAgIHBtZVN1YlR5cGVNaXNtYXRjaCAgLSBsb2NhbCBQTUVzIGluIHRoZSBh Z2dyZWdhdGlvbiBncm91cAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIG5vdCBv ZiB0aGUgc2FtZSBzdWItdHlwZSwgZS5nLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c29tZSBQTUVzIGluIHRoZSBsb2NhbCBkZXZpY2UgYXJlIC1PCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aGlsZSBvdGhlcnMgYXJlIC1SIHN1YnR5cGUuCiAgICAgICAgIGxvd1JhdGUg ICAgICAgICAgICAgLSBpZlNwZWVkIG9mIHRoZSBwb3J0IHJlYWNoZWQgb3IgZHJvcHBlZAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgZWZtQ3VUaHJlc2hMb3dSYXRlCgogICAg ICAgVGhpcyBvYmplY3QgaXMgaW50ZW5kZWQgdG8gc3VwcGxlbWVudCBpZk9wZXJTdGF0dXMgb2Jq ZWN0CiAgICAgICBpbiBJRi1NSUIgYW5kIGlmTWF1TWVkaWFBdmFpbGFibGUgaW4gTUFVLU1JQi4K CiAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSB2aWEgZWZtQ3VQbWVG bHRTdGF0dXMKICAgICAgIG9iamVjdCBmb3IgZWFjaCBQTUUgaW4gdGhlIGFnZ3JlZ2F0aW9uIGdy b3VwIChzaW5nbGUgUE1FIGlmCiAgICAgICBQQUYgaXMgZGlzYWJsZWQpLiIKICAgICBSRUZFUkVO Q0UKICAgICAgICJJRi1NSUIsIGlmT3BlclN0YXR1czsgTUFVLU1JQiwgaWZNYXVNZWRpYUF2YWls YWJsZTsKICAgICAgICBlZm1DdVBtZUZsdFN0YXR1cyIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0 dXNFbnRyeSAxIH0KCiAgIGVmbUN1UG9ydFNpZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBzdWJzY3JpYmVyKDEpLAogICAgICAgb2ZmaWNlKDIpLAogICAg ICAgdW5rbm93bigzKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJFRk0gcG9ydCBtb2RlIG9m IG9wZXJhdGlvbiAoc3VidHlwZSkuCiAgICAgICBUaGUgdmFsdWUgb2YgJ3N1YnNjcmliZXInIGlu ZGljYXRlcyB0aGUgcG9ydCBpcyBkZXNpZ25hdGVkIGFzCiAgICAgICAnLVInIHN1YnR5cGUgKGFs bCBQTUVzIGFzc2lnbmVkIHRvIHRoaXMgcG9ydCBhcmUgb2Ygc3VidHlwZQogICAgICAgJy1SJyku CiAgICAgICBUaGUgdmFsdWUgb2YgdGhlICdvZmZpY2UnIGluZGljYXRlcyB0aGF0IHRoZSBwb3J0 IGlzCiAgICAgICBkZXNpZ25hdGVkIGFzICctTycgc3VidHlwZSAoYWxsIFBNRXMgYXNzaWduZWQg dG8gdGhpcyBwb3J0IGFyZQogICAgICAgb2Ygc3VidHlwZSAnLU8nKS4KICAgICAgIFRoZSB2YWx1 ZSBvZiAndW5rbm93bicgaW5kaWNhdGVzIHRoYXQgdGhlIHBvcnQgaGFzIG5vIGFzc2lnbmVkCiAg ICAgICBQTUVzIHlldCBvciB0aGF0IHRoZSBhc3NpZ25lZCBQTUVzIGFyZSBub3Qgb2YgdGhlIHNh bWUgc2lkZQogICAgICAgKHN1YlR5cGVQTUVNaXNtYXRjaCkuCgogICAgICAgVGhpcyBvYmplY3Qg cGFydGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQaHlFbmQi CiAgICAgUkVGRVJFTkNFCiAgICAgICAgIls4MDIuM2FoXSA2MS4xLCAzMC4xMS4xLjEuMiIKICAg ICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSAyIH0KCiAgIGVmbUN1TnVtUE1FcyAgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBVbnNpZ25lZDMyICgwLi4zMikKICAgICBNQVgtQUNDRVNT ICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICJOdW1iZXIgb2YgUE1FcyB0aGF0IGlzIGN1cnJlbnRseSBhZ2dyZWdhdGVkIGJ5IHRoZSBs b2NhbCBQQUYKICAgICAgIChhc3NpZ25lZCB0byB0aGUgRUZNQ3UgcG9ydCB1c2luZyBpZlN0YWNr VGFibGUpLgogICAgICAgVGhpcyBudW1iZXIgaXMgbmV2ZXIgZ3JlYXRlciB0aGFuIGVmbUN1UEFG Q2FwYWNpdHkuCgogICAgICAgVGhpcyBvYmplY3QgU0hBTEwgYmUgYXV0b21hdGljYWxseSBpbmNy ZW1lbnRlZCBvciBkZWNyZW1lbnRlZAogICAgICAgd2hlbiBhIFBNRSBpcyBhZGRlZCBvciBkZWxl dGVkIHRvL2Zyb20gdGhlIEVGTUN1IHBvcnQgdXNpbmcKICAgICAgIGlmU3RhY2tUYWJsZS4iCiAg ICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjIuMiwgMzAuMTEuMS4xLjYiCiAgICAg Ojo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgMyB9CgogICBlZm1DdVBBRkluRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgZnJhZ21lbnRzIHRoYXQgaGF2ZSBiZWVuIHJlY2VpdmVkIGFjcm9zcyB0aGUKICAg ICAgIGdhbW1hIGludGVyZmFjZSB3aXRoIFJ4RXJyIGFzc2VydGVkIGFuZCBkaXNjYXJkZWQuCiAg ICAgICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIChub3QgaW5jcmVtZW50ZWQp IHdoZW4gdGhlCiAgICAgICBQQUYgaXMgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlz YWJsaW5nIHRoZSBQQUYsIHRoZQogICAgICAgY291bnRlciByZXRhaW5zIGl0cyBwcmV2aW91cyB2 YWx1ZS4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhl IFBDUyBpcyBwcmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAv MkIgUEFGIFJYIGVycm9yIHJlZ2lzdGVyLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUg dmFsdWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRp b24gb2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFz IGluZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAg ICAgICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhd IDQ1LjIuMy4yMSIKICAgICA6Oj0geyBlZm1DdVBvcnRTdGF0dXNFbnRyeSA0IH0KCiAgIGVmbUN1 UEFGSW5TbWFsbEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIENvdW50ZXIz MgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGZyYWdtZW50cyBzbWFsbGVyIHRoYW4g bWluRnJhZ21lbnRTaXplCiAgICAgICAoNjQgQnl0ZXMpLCB3aGljaCBoYXZlIGJlZW4gcmVjZWl2 ZWQgYWNyb3NzIHRoZSBnYW1tYQogICAgICAgaW50ZXJmYWNlIGFuZCBkaXNjYXJkZWQuCiAgICAg ICBUaGlzIHJlYWQtb25seSBjb3VudGVyIGlzIGluYWN0aXZlIHdoZW4gdGhlIFBBRiBpcwogICAg ICAgdW5zdXBwb3J0ZWQgb3IgZGlzYWJsZWQuIFVwb24gZGlzYWJsaW5nIHRoZSBQQUYsIHRoZSBj b3VudGVyCiAgICAgICByZXRhaW5zIGl0cyBwcmV2aW91cyB2YWx1ZS4KICAgICAgIAogICAgICAg SWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBDUyBpcyBwcmVzZW50LCB0aGVu CiAgICAgICB0aGlzIG9iamVjdCBtYXBzIHRvIHRoZSAxMFAvMkIgUEFGIHNtYWxsIGZyYWdtZW50 cwogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBv ZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0 aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNh dGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRl ZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4z LjIyIgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQQUZJbkxh cmdlRnJhZ21lbnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIGxhcmdlciB0aGFuIG1heEZyYWdt ZW50U2l6ZQogICAgICAgKDUxMiBCeXRlcyksIHdoaWNoIGhhdmUgYmVlbiByZWNlaXZlZCBhY3Jv c3MgdGhlIGdhbW1hCiAgICAgICBpbnRlcmZhY2UgYW5kIGRpc2NhcmRlZC4KICAgICAgIFRoaXMg cmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1 cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIK ICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENs YXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAg IHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQQUYgbGFyZ2UgZnJhZ21lbnRzCiAgICAg ICByZWdpc3Rlci4KCiAgICAgICBEaXNjb250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMg Y291bnRlciBjYW4gb2NjdXIgYXQKICAgICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5h Z2VtZW50IHN5c3RlbSwgYW5kIGF0IG90aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkg dGhlIHZhbHVlIG9mIGlmQ291bnRlckRpc2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBp biBJRi1NSUIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjMiCiAg ICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVzRW50cnkgNiB9CgogICBlZm1DdVBBRkluQmFkRnJhZ21l bnRzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiQSBudW1iZXIgb2YgZnJhZ21lbnRzIHdoaWNoIGRvIG5vdCBmaXQgaW50byB0aGUgc2Vx dWVuY2UKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiwgdGhh dCBoYXZlIGJlZW4KICAgICAgIHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlIGFu ZCBkaXNjYXJkZWQgKHRoZQogICAgICAgZnJhbWUgYnVmZmVyIGlzIGZsdXNoZWQgdG8gdGhlIG5l eHQgdmFsaWQgZnJhbWUgc3RhcnQpLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBp bmFjdGl2ZSB3aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBV cG9uIGRpc2FibGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJl dmlvdXMgdmFsdWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IHRvIHRoZSBQQ1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgMTBQLzJCIFBBRiBiYWQgZnJhZ21lbnRzCiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjUiCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgNyB9CgogICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cyBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIENvdW50ZXIzMgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgbnVtYmVyIG9mIGdhcHMg aW4gdGhlIHNlcXVlbmNlIG9mIGZyYWdtZW50cywgd2hpY2ggaGF2ZQogICAgICAgYmVlbiByZWNl aXZlZCBhY3Jvc3MgdGhlIGdhbW1hIGludGVyZmFjZSAodGhlIGZyYW1lIGJ1ZmZlciBpcwogICAg ICAgZmx1c2hlZCB0byB0aGUgbmV4dCB2YWxpZCBmcmFtZSBzdGFydCwgd2hlbiBmcmFnbWVudC9m cmFnbWVudHMKICAgICAgIGV4cGVjdGVkIGJ5IHRoZSBmcmFtZSBhc3NlbWJseSBmdW5jdGlvbiBp cy9hcmUgbm90IHJlY2VpdmVkKS4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5h Y3RpdmUgd2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBv biBkaXNhYmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZp b3VzIHZhbHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0 byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhl IDEwUC8yQiBQQUYgbG9zdCBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI2IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDggfQoKICAgZWZtQ3VQQUZJbkxvc3RTdGFydHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIFN0 YXJ0T2ZQYWNrZXQgaW5kaWNhdG9ycyBleHBlY3RlZCBieSB0aGUKICAgICAgIGZyYW1lIGFzc2Vt Ymx5IGZ1bmN0aW9uLgogICAgICAgVGhpcyByZWFkLW9ubHkgY291bnRlciBpcyBpbmFjdGl2ZSB3 aGVuIHRoZSBQQUYgaXMKICAgICAgIHVuc3VwcG9ydGVkIG9yIGRpc2FibGVkLiBVcG9uIGRpc2Fi bGluZyB0aGUgUEFGLCB0aGUgY291bnRlcgogICAgICAgcmV0YWlucyBpdHMgcHJldmlvdXMgdmFs dWUuCiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQ Q1MgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgbWFwcyB0byB0aGUgMTBQLzJC IFBBRiBsb3N0IHN0YXJ0IG9mIGZyYWdtZW50CiAgICAgICByZWdpc3Rlci4KCiAgICAgICBEaXNj b250aW51aXRpZXMgaW4gdGhlIHZhbHVlIG9mIHRoaXMgY291bnRlciBjYW4gb2NjdXIgYXQKICAg ICAgIHJlLWluaXRpYWxpemF0aW9uIG9mIHRoZSBtYW5hZ2VtZW50IHN5c3RlbSwgYW5kIGF0IG90 aGVyIHRpbWVzCiAgICAgICBhcyBpbmRpY2F0ZWQgYnkgdGhlIHZhbHVlIG9mIGlmQ291bnRlckRp c2NvbnRpbnVpdHlUaW1lLAogICAgICAgZGVmaW5lZCBpbiBJRi1NSUIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjMuMjciCiAgICAgOjo9IHsgZWZtQ3VQb3J0U3RhdHVz RW50cnkgOSB9CgogICBlZm1DdVBBRkluTG9zdEVuZHMgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBtaXNzaW5nIEVu ZE9mUGFja2V0IGluZGljYXRvcnMgZXhwZWN0ZWQgYnkgdGhlCiAgICAgICBmcmFtZSBhc3NlbWJs eSBmdW5jdGlvbi4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUgd2hl biB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNhYmxp bmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZhbHVl LgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENT IGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBQ QUYgbG9zdCBzdGFydCBvZiBmcmFnbWVudAogICAgICAgcmVnaXN0ZXIuCgogICAgICAgRGlzY29u dGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAg ICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhl ciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNj b250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UK ICAgICAgICJbODAyLjNhaF0gNDUuMi4zLjI4IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0Vu dHJ5IDEwIH0KCiAgIGVmbUN1UEFGSW5PdmVyZmxvd3MgT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBDb3VudGVyMzIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIG51bWJlciBvZiBmcmFnbWVudHMs IHJlY2VpdmVkIGFjcm9zcyB0aGUgZ2FtbWEgaW50ZXJmYWNlCiAgICAgICBhbmQgZGlzY2FyZGVk LCB3aGljaCB3b3VsZCBoYXZlIGNhdXNlZCB0aGUgZnJhbWUgYXNzZW1ibHkKICAgICAgIGJ1ZmZl ciB0byBvdmVyZmxvdy4KICAgICAgIFRoaXMgcmVhZC1vbmx5IGNvdW50ZXIgaXMgaW5hY3RpdmUg d2hlbiB0aGUgUEFGIGlzCiAgICAgICB1bnN1cHBvcnRlZCBvciBkaXNhYmxlZC4gVXBvbiBkaXNh YmxpbmcgdGhlIFBBRiwgdGhlIGNvdW50ZXIKICAgICAgIHJldGFpbnMgaXRzIHByZXZpb3VzIHZh bHVlLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUg UENTIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8y QiBQQUYgb3ZlcmZsb3cgcmVnaXN0ZXIuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2 YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlv biBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMg aW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAg ICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0g NDUuMi4zLjI0IgogICAgIDo6PSB7IGVmbUN1UG9ydFN0YXR1c0VudHJ5IDExIH0KCiAgLS0gUE1F IE5vdGlmaWNhdGlvbnMgR3JvdXAKCiAgIGVmbUN1UG1lTm90aWZpY2F0aW9ucyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdVBtZSAwIH0KICAgCiAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5n IE5PVElGSUNBVElPTi1UWVBFCiAgICAgT0JKRUNUUyB7CiAgICAgICBlZm1DdVBtZUxpbmVBdG4s CiAgICAgICBlZm1DdVBtZVRocmVzaExpbmVBdG4KICAgICB9CiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVz IHRoYXQgdGhlIGxvb3AgYXR0ZW51YXRpb24KICAgICAgIHRocmVzaG9sZCAoYXMgcGVyIHRoZSBl Zm1DdVBtZVRocmVzaExpbmVBdG4KICAgICAgIHZhbHVlKSBoYXMgYmVlbiByZWFjaGVkL2V4Y2Vl ZGVkIGZvciB0aGUgMkJBU0UtVEwvMTBQQVNTLVRTCiAgICAgICBQTUUuIFRoaXMgbm90aWZpY2F0 aW9uIE1BWSBiZSBzZW5kIG9uIHRoZSBjcm9zc2luZyBldmVudCBpbgogICAgICAgYm90aCBkaXJl Y3Rpb25zOiBmcm9tIG5vcm1hbCB0byBleGNlZWRlZCBhbmQgZnJvbSBleGNlZWRlZAogICAgICAg dG8gbm9ybWFsLgoKICAgICAgIEl0IGlzIFJFQ09NTUVOREVEIHRoYXQgYSBzbWFsbCBkZWJvdW5j aW5nIHBlcmlvZCBvZiAyLjUgc2VjLAogICAgICAgYmV0d2VlbiB0aGUgZGV0ZWN0aW9uIG9mIHRo ZSBjb25kaXRpb24gYW5kIG5vdGlmaWNhdGlvbiwKICAgICAgIGlzIGltcGxlbWVudGVkIHRvIHBy ZXZlbnQgaW50ZXJtaXR0ZW50IG5vdGlmaWNhdGlvbnMgdG8gYmUKICAgICAgIHNlbnQuCgogICAg ICAgR2VuZXJhdGlvbiBvZiB0aGlzIG5vdGlmaWNhdGlvbiBpcyBjb250cm9sbGVkIGJ5IHRoZSAK ICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsg ZWZtQ3VQbWVOb3RpZmljYXRpb25zIDEgfQoKICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZyBOT1RJ RklDQVRJT04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVTbnJNZ24sCiAgICAg ICBlZm1DdVBtZVRocmVzaFNuck1nbgogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG5vdGlmaWNhdGlvbiBpbmRpY2F0ZXMgdGhhdCB0 aGUgU05SIG1hcmdpbiB0aHJlc2hvbGQKICAgICAgIChhcyBwZXIgdGhlIGVmbUN1UG1lVGhyZXNo U25yTWduIHZhbHVlKSBoYXMgYmVlbgogICAgICAgcmVhY2hlZC9leGNlZWRlZCBmb3IgdGhlIDJC QVNFLVRMLzEwUEFTUy1UUyBQTUUuCiAgICAgICBUaGlzIG5vdGlmaWNhdGlvbiBNQVkgYmUgc2Vu ZCBvbiB0aGUgY3Jvc3NpbmcgZXZlbnQgaW4KICAgICAgIGJvdGggZGlyZWN0aW9uczogZnJvbSBu b3JtYWwgdG8gZXhjZWVkZWQgYW5kIGZyb20gZXhjZWVkZWQKICAgICAgIHRvIG5vcm1hbC4KCiAg ICAgICBJdCBpcyBSRUNPTU1FTkRFRCB0aGF0IGEgc21hbGwgZGVib3VuY2luZyBwZXJpb2Qgb2Yg Mi41IHNlYywKICAgICAgIGJldHdlZW4gdGhlIGRldGVjdGlvbiBvZiB0aGUgY29uZGl0aW9uIGFu ZCBub3RpZmljYXRpb24sCiAgICAgICBpcyBpbXBsZW1lbnRlZCB0byBwcmV2ZW50IGludGVybWl0 dGVudCBub3RpZmljYXRpb25zIHRvIGJlCiAgICAgICBzZW50LgoKICAgICAgIEdlbmVyYXRpb24g b2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAgICBlZm1DdVBt ZVNuck1nbkNyb3NzaW5nRW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVOb3RpZmlj YXRpb25zIDIgfQoKICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5k aWNhdGVzIHRoYXQgYSBmYXVsdCBpbiB0aGUgUE1FIGhhcyBiZWVuCiAgICAgICBkZXRlY3RlZCBi eSBhIHZlbmRvciBzcGVjaWZpYyBkaWFnbm9zdGljIG9yIGEgc2VsZi10ZXN0LgoKICAgICAgIEdl bmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUgCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlIG9iamVjdC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVO b3RpZmljYXRpb25zIDMgfQoKICAgZWZtQ3VQbWVDb25maWdJbml0RmFpbHVyZSBOT1RJRklDQVRJ T04tVFlQRQogICAgIE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBl Zm1DdUFkbWluUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlCiAgICAgfQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgbm90aWZp Y2F0aW9uIGluZGljYXRlcyB0aGF0IFBNRSBpbml0aWFsaXphdGlvbiBoYXMKICAgICAgIGZhaWxl ZCwgZHVlIHRvIGluYWJpbGl0eSBvZiB0aGUgUE1FIGxpbmsgdG8gYWNoaWV2ZSByZXF1ZXN0ZWQK ICAgICAgIGNvbmZpZ3VyYXRpb24gcHJvZmlsZS4KCiAgICAgICBHZW5lcmF0aW9uIG9mIHRoaXMg bm90aWZpY2F0aW9uIGlzIGNvbnRyb2xsZWQgYnkgdGhlIAogICAgICAgZWZtQ3VQbWVDb25maWdJ bml0RmFpbEVuYWJsZSBvYmplY3QuIgogICAgIDo6PSB7IGVmbUN1UG1lTm90aWZpY2F0aW9ucyA0 IH0KCiAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbHVyZSBOT1RJRklDQVRJT04tVFlQRQogICAg IE9CSkVDVFMgewogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBlZm1DdVBtZU9wZXJT dWJUeXBlCiAgICAgfQogICAgIFNUQVRVUyAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAg ICAgICAiVGhpcyBub3RpZmljYXRpb24gaW5kaWNhdGVzIHRoYXQgcGVlciBQTUUgd2FzIHVzaW5n CiAgICAgICBpbmNvbXBhdGlibGUgcHJvdG9jb2wgZHVyaW5nIGluaXRpYWxpemF0aW9uLgoKICAg ICAgIEdlbmVyYXRpb24gb2YgdGhpcyBub3RpZmljYXRpb24gaXMgY29udHJvbGxlZCBieSB0aGUg CiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWxFbmFibGUgb2JqZWN0LiIKICAgICA6Oj0g eyBlZm1DdVBtZU5vdGlmaWNhdGlvbnMgNSB9CgogICAtLSBUaGUgUE1FIGdyb3VwCgogICBlZm1D dVBtZUNvbmZUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVFTkNFIE9GIEVm bUN1UG1lQ29uZkVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFU VVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUYWJsZSBmb3IgQ29uZmln dXJhdGlvbiBvZiBjb21tb24gYXNwZWN0cyBmb3IgRUZNQ3UKICAgICAgIDJCQVNFLVRMLzEwUEFT Uy1UUyBQTUUgcG9ydHMgKG1vZGVtcykuIENvbmZpZ3VyYXRpb24gb2YKICAgICAgIGFzcGVjdHMg c3BlY2lmaWMgdG8gMkJBU0UtVEwgb3IgMTBQQVNTLVRTIFBNRSB0eXBlcyBpcwogICAgICAgcmVw cmVzZW50ZWQgaW4gZWZtQ3VQbWUyQkNvbmZUYWJsZSBhbmQgZWZtQ3VQbWUxMFBDb25mVGFibGUK ICAgICAgIHJlc3BlY3RpdmVseS4KCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgTVVTVCBi ZSBtYWludGFpbmVkIGluIGEgcGVyc2lzdGVudAogICAgICAgbWFubmVyLiIKICAgICA6Oj0geyBl Zm1DdVBtZSAxIH0KCiAgIGVmbUN1UG1lQ29uZkVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgRWZtQ3VQbWVDb25mRW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5 IGluIHRoZSBFRk1DdSBQTUUgQ29uZmlndXJhdGlvbiB0YWJsZS4KICAgICAgIEVhY2ggZW50cnkg cmVwcmVzZW50cyBjb21tb24gYXNwZWN0cyBvZiBhbiBFRk1DdSBQTUUgcG9ydAogICAgICAgaW5k ZXhlZCBieSB0aGUgaWZJbmRleC4gTm90ZSB0aGF0IGFuIEVGTUN1IFBNRSBwb3J0IGNhbiBiZQog ICAgICAgc3RhY2tlZCBiZWxvdyBhIHNpbmdsZSBQQ1MgcG9ydCwgYWxzbyBpbmRleGVkIGJ5IGlm SW5kZXgsCiAgICAgICBwb3NzaWJseSB0b2dldGhlciB3aXRoIG90aGVyIFBNRSBwb3J0cyBpZiBQ QUYgaXMgZW5hYmxlZC4iCiAgICAgSU5ERVggIHsgaWZJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQ bWVDb25mVGFibGUgMSB9CgogICBFZm1DdVBtZUNvbmZFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7 CiAgICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgICAgICAgICAgSU5URUdFUiwKICAgICAgIGVm bUN1UG1lQWRtaW5Qcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8sCiAgICAg ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgICAgUGh5c0FkZHJlc3MsCiAgICAgICBlZm1D dVBtZVRocmVzaExpbmVBdG4gICAgICAgICAgSW50ZWdlcjMyLAogICAgICAgZWZtQ3VQbWVUaHJl c2hTbnJNZ24gICAgICAgICAgIEludGVnZXIzMiwKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBUcnV0aFZhbHVlLAogICAgICAgZWZtQ3VQbWVTbnJNZ25Dcm9zc2luZ0VuYWJs ZSAgIFRydXRoVmFsdWUsCiAgICAgICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlICAgICAgVHJ1 dGhWYWx1ZSwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZhaWxFbmFibGUgICBUcnV0aFZhbHVl LAogICAgICAgZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlIFRydXRoVmFsdWUKICAgICB9 CgogICBlZm1DdVBtZUFkbWluU3ViVHlwZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBJ TlRFR0VSIHsKICAgICAgIGllZWUyQmFzZVRMTygxKSwKICAgICAgIGllZWUyQmFzZVRMUigyKSwK ICAgICAgIGllZWUxMFBhc3NUU08oMyksCiAgICAgICBpZWVlMTBQYXNzVFNSKDQpLAogICAgICAg aWVlZTJCYXNlVExvcjEwUGFzc1RTUig1KSwKICAgICAgIGllZWUyQmFzZVRMb3IxMFBhc3NUU08o NiksCiAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPKDcpCiAgICAgfQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBZG1pbmlzdHJhdGl2ZSAoZGVzaXJlZCkgc3ViLXR5cGUgb2YgdGhlIFBNRS4KICAg ICAgIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIGllZWUyQmFzZVRMTyAgICAgICAgICAg LSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLU8gCiAgICAgICAgIGllZWUyQmFzZVRMUiAg ICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgU0hBTEwgb3BlcmF0ZSBhcyAxMFBhc3NUUy1PIAogICAg ICAgICBpZWVlMTBQYXNzVFNSICAgICAgICAgIC0gUE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNz VFMtUiAKICAgICAgICAgaWVlZTJCYXNlVExvcjEwUGFzc1RTUiAtIFBNRSBTSEFMTCBvcGVyYXRl IGFzIDJCYXNlVEwtUiBvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBQYXNz VFMtUi4gQWN0dWFsIHZhbHVlIHdpbGwgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNldCBieSAtTyBsaW5rIHBhcnRuZXIgZHVyaW5nCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbml0aWFsaXphdGlvbiAoaGFuZHNoYWtlKS4KICAgICAgICAgaWVlZTJCYXNl VExvcjEwUGFzc1RTTyAtIFBNRSBTSEFMTCBvcGVyYXRlIGFzIDJCYXNlVEwtTwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHByZWZlcnJlZCkgb3IgMTBQYXNzVFMtTy4gQWN0dWFs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSB3aWxsIGJlIHNldCBkdXJp bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uIGRlcGVu ZGluZyBvbiAtUgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluayBwYXJ0bmVy IGNhcGFiaWxpdHkgKGkuZS4gaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1S IGlzIGluY2FwYWJsZSBvZiB0aGUgcHJlZmVycmVkCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAyQmFzZVRMIG1vZGUsIDEwUGFzc1RTIHdpbGwgYmUKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVzZWQpLgogICAgICAgICBpZWVlMTBQYXNzVFNvcjJCYXNlVExPIC0g UE1FIFNIQUxMIG9wZXJhdGUgYXMgMTBQYXNzVFMtTwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHByZWZlcnJlZCkgb3IgMkJhc2VUTC1PLiBBY3R1YWwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhbHVlIHdpbGwgYmUgc2V0IGR1cmluZwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb24gZGVwZW5kaW5nIG9uIC1SCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rIHBhcnRuZXIgY2FwYWJpbGl0eSAoaS5l LiBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVIgaXMgaW5jYXBhYmxlIG9m IHRoZSBwcmVmZXJyZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwUGFzc1RT IG1vZGUsIDJCYXNlVEwgd2lsbCBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dXNlZCkuCiAgICAgICAKICAgICAgIENoYW5naW5nIGVmbUN1UG1lQWRtaW5TdWJUeXBlIGlzIGEg dHJhZmZpYyBkaXNydXB0aXZlCiAgICAgICBvcGVyYXRpb24gYW5kIGFzIHN1Y2ggU0hBTEwgYmUg ZG9uZSB3aGVuIHRoZSBsaW5rIGlzIERvd24uCiAgICAgICBBdHRlbXB0cyB0byBjaGFuZ2UgdGhp cyBvYmplY3QgU0hBTEwgYmUgcmVqZWN0ZWQgaWYgdGhlIGxpbmsKICAgICAgIGlzIFVwIG9yIElu aXRpYWxpemluZy4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCB0byBhbiB1 bnN1cHBvcnRlZCBzdWJ0eXBlCiAgICAgICAoc2VlIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQp IFNIQUxMIGJlIHJlamVjdGVkLgoKICAgICAgIFRoZSBjdXJyZW50IG9wZXJhdGlvbmFsIHN1YiB0 eXBlIGlzIGluZGljYXRlZCBieQogICAgICAgZWZtQ3VQbWVPcGVyU3ViVHlwZSB2YXJpYWJsZS4K CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1BL1BNRCBpcyBw cmVzZW50LCB0aGVuCiAgICAgICB0aGlzIG9iamVjdCBjb21iaW5lcyB2YWx1ZXMgb2YgdGhlIFBv cnQgc3ViLXR5cGUgc2VsZWN0IGJpdHMKICAgICAgIGFuZCB0aGUgUE1BL1BNRCB0eXBlIHNlbGVj dGlvbiBiaXRzIGluIHRoZSAxMFAvMkIgUE1BL1BNRAogICAgICAgY29udHJvbCByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjExLjQsIDQ1LjIu MS4xMS43IgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDEgfQoKICAgZWZtQ3VQbWVBZG1p blByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3Ja ZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgUE1FIGNvbmZpZ3VyYXRpb24gUHJvZmls ZS4gVGhpcyBvYmplY3QgaXMgYSBwb2ludGVyCiAgICAgICB0byBhbiBlbnRyeSBpbiBlaXRoZXIg ZWZtQ3VQbWUyQlByb2ZpbGVUYWJsZSBvcgogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUs IGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBvcGVyYXRpbmcKICAgICAgIFN1YlR5cGUgb2YgdGhl IFBNRS4gVGhlIHZhbHVlIG9mIHRoaXMgb2JqZWN0IGlzIHRoZSBpbmRleCBvZgogICAgICAgdGhl IHJlZmVyZW5jZWQgcHJvZmlsZS4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIChkZWZhdWx0KSBp bmRpY2F0ZXMgdGhhdCB0aGUgUE1FIGlzCiAgICAgICBjb25maWd1cmVkIHZpYSBlZm1DdUFkbWlu UHJvZmlsZSBvYmplY3QgZm9yIHRoZSBQQ1MgcG9ydCwKICAgICAgIHRvIHdoaWNoIHRoaXMgUE1F IGlzIGFzc2lnbmVkLiBUaGF0IGlzLCB0aGUgcHJvZmlsZSByZWZlcmVuY2VkCiAgICAgICBieSBl Zm1DdVBtZUFkbWluUHJvZmlsZSB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgdGhlIHByb2ZpbGUocykK ICAgICAgIHJlZmVyZW5jZWQgYnkgZWZtQ3VBZG1pblByb2ZpbGUuCgogICAgICAgVGhpcyBvYmpl Y3QgaXMgd3JpdGFibGUgYW5kIHJlYWRhYmxlIGZvciB0aGUgQ08gc3VidHlwZSBQTUVzCiAgICAg ICAoMkJhc2VUTC1PIG9yIDEwUGFzc1RTLU8pLiBJdCBpcyBpcnJlbGV2YW50IGZvciB0aGUgQ1BF IAogICAgICAgc3VidHlwZSAoMkJhc2VUTC1SIG9yIDEwUGFzc1RTLVIpIC0gYSB6ZXJvIHZhbHVl IFNIQUxMIGJlCiAgICAgICByZXR1cm5lZCBvbiBhbiBhdHRlbXB0IHRvIHJlYWQgdGhpcyBvYmpl Y3QgYW5kIGFueSBhdHRlbXB0CiAgICAgICB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBiZSBy ZWplY3RlZCBpbiB0aGlzIGNhc2UuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQgb3BlcmF0aW9u YWwgUHJvZmlsZSB2YWx1ZSBpcyBhdmFpbGFibGUgdmlhCiAgICAgICBlZm1DdVBtZU9wZXJQcm9m aWxlIG9iamVjdC4KCiAgICAgICBNb2RpZmljYXRpb24gb2YgdGhpcyBvYmplY3QgTVVTVCBiZSBw ZXJmb3JtZWQgd2hlbiB0aGUgbGluayBpcwogICAgICAgRG93bi4gQXR0ZW1wdHMgdG8gY2hhbmdl IHRoaXMgb2JqZWN0IE1VU1QgYmUgcmVqZWN0ZWQsIGlmIHRoZQogICAgICAgbGluayBpcyBVcCBv ciBJbml0aWFsaXppbmcuCiAgICAgICBBdHRlbXB0cyB0byBzZXQgdGhpcyBvYmplY3QgdG8gYSB2 YWx1ZSB0aGF0IGlzIG5vdCB0aGUgdmFsdWUKICAgICAgIG9mIHRoZSBpbmRleCBmb3IgYW4gYWN0 aXZlIGVudHJ5IGluIHRoZSBjb3JyZXNwb25kaW5nIHByb2ZpbGUKICAgICAgIHRhYmxlLCBNVVNU IGJlIHJlamVjdGVkLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4x LjYiCiAgICAgREVGVkFMIHsgMCB9CiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgMiB9Cgog ICBlZm1DdVBBRlJlbW90ZURpc2NvdmVyeUNvZGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgUGh5c0FkZHJlc3MgKFNJWkUoMHw2KSkKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUEFGIFJlbW90 ZSBEaXNjb3ZlcnkgQ29kZSBvZiB0aGUgUE1FIHBvcnQgYXQgQ08uIAogICAgICAgQSA2IG9jdGV0 IGxvbmcgRGlzY292ZXJ5IENvZGUgb2YgdGhlIHBlZXIgUENTIGNvbm5lY3RlZCB2aWEKICAgICAg IHRoZSBQTUUuCiAgICAgICBSZWFkaW5nIHRoaXMgb2JqZWN0IHJlc3VsdHMgaW4gYSBEaXNjb3Zl cnkgR2V0IG9wZXJhdGlvbi4gCiAgICAgICBTZXR0aW5nIHRoaXMgb2JqZWN0IHRvIGFsbCB6ZXJv ZXMgcmVzdWx0cyBpbiBhIERpc2NvdmVyeQogICAgICAgQ2xlYXJfaWZfU2FtZSBvcGVyYXRpb24g KHRoZSB2YWx1ZSBvZiBlZm1DdVBBRkRpc2NvdmVyeUNvZGUKICAgICAgIGF0IHRoZSBwZWVyIFBD UyBTSEFMTCBiZSB0aGUgc2FtZSBhcyBlZm1DdVBBRkRpc2NvdmVyeUNvZGUgb2YKICAgICAgIHRo ZSBsb2NhbCBQQ1MgYXNzb2NpYXRlZCB3aXRoIHRoZSBQTUUgZm9yIHRoZSBvcGVyYXRpb24gdG8K ICAgICAgIHN1Y2NlZWQpLgogICAgICAgV3JpdGluZyBhIG5vbi16ZXJvIHZhbHVlIHRvIHRoaXMg b2JqZWN0IHJlc3VsdHMgaW4gYQogICAgICAgRGlzY292ZXJ5IFNldF9pZl9DbGVhciBvcGVyYXRp b24uCiAgICAgICBBIHplcm8tbGVuZ3RoIG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBv biBhbiBhdHRlbXB0IHRvCiAgICAgICByZWFkIHRoaXMgb2JqZWN0IHdoZW4gUEFGIGFnZ3JlZ2F0 aW9uIGlzIG5vdCBlbmFibGVkLgoKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgaW4g Q1BFIHBvcnQgKC1SKSBzdWJ0eXBlczogaW4gdGhpcwogICAgICAgY2FzZSBhIHplcm8gbGVuZ3Ro IG9jdGV0IHN0cmluZyBTSEFMTCBiZSByZXR1cm5lZCBvbiBhbgogICAgICAgYXR0ZW1wdCB0byBy ZWFkIHRoaXMgb2JqZWN0LCB3cml0aW5nIHRvIHRoaXMgb2JqZWN0IFNIQUxMCiAgICAgICBiZSBy ZWplY3RlZC4KICAgICAgIAogICAgICAgRGlzY292ZXJ5IE1VU1QgYmUgcGVyZm9ybWVkIHdoZW4g dGhlIGxpbmsgaXMgRG93bi4KICAgICAgIEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBN VVNUIGJlIHJlamVjdGVkIChpbiBjYXNlIG9mCiAgICAgICBTTk1QIHdpdGggdGhlIGVycm9yIGlu Y29uc2lzdGVudFZhbHVlKSwgaWYgdGhlIGxpbmsgaXMgVXAgb3IKICAgICAgIEluaXRpYWxpemlu Zy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBN QS9QTUQgaXMgcHJlc2VudCwgdGhlbgogICAgICAgdGhpcyBvYmplY3QgaXMgYSBmdW5jdGlvbiBv ZiAxMFAvMkIgYWdncmVnYXRpb24gZGlzY292ZXJ5CiAgICAgICBjb250cm9sIHJlZ2lzdGVyLCBE aXNjb3Zlcnkgb3BlcmF0aW9uIHJlc3VsdCBiaXRzIGluIDEwUC8yQgogICAgICAgYWdncmVnYXRp b24gYW5kIGRpc2NvdmVyeSBzdGF0dXMgcmVnaXN0ZXIgYW5kCiAgICAgICAxMFAvMkIgYWdncmVn YXRpb24gZGlzY292ZXJ5IGNvZGUgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgw Mi4zYWhdIDYxLjIuMi44LjQsIDQ1LjIuNi42LTQ1LjIuNi44IgogICAgIDo6PSB7IGVmbUN1UG1l Q29uZkVudHJ5IDMgfQoKICAgZWZtQ3VQbWVUaHJlc2hMaW5lQXRuICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAg TUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVND UklQVElPTgogICAgICAgIkRlc2lyZWQgTGluZSBBdHRlbnVhdGlvbiBUaHJlc2hvbGQgZm9yIHRo ZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgbGluZSBhdHRl bnVhdGlvbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9m IExpbmUgQXR0ZW51YXRpb24gcmVhY2hlcyBvcgogICAgICAgZXhjZWVkcyB0aGlzIHRocmVzaG9s ZCwgYSBlZm1DdVBtZUxpbmVBdG5Dcm9zc2luZwogICAgICAgbm90aWZpY2F0aW9uIE1BWSBiZSBn ZW5lcmF0ZWQsIGlmIGVuYWJsZWQgYnkKICAgICAgIGVmbUN1UG1lTGluZUF0bkNyb3NzaW5nRW5h YmxlLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1 YnR5cGUgUE1FcyAoLU8pLgogICAgICAgSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUgKC1SKS4KICAgICAgIAogICAgICAgQ2hhbmdpbmcgb2YgdGhlIExpbmUgQXR0ZW51YXRpb24g VGhyZXNob2xkIE1VU1QgYmUgcGVyZm9ybWVkCiAgICAgICB3aGVuIHRoZSBsaW5rIGlzIERvd24u IEF0dGVtcHRzIHRvIGNoYW5nZSB0aGlzIG9iamVjdCBNVVNUIGJlCiAgICAgICByZWplY3RlZCAo aW4gY2FzZSBvZiBTTk1QIHdpdGggdGhlIGVycm9yIGluY29uc2lzdGVudFZhbHVlKSwKICAgICAg IGlmIHRoZSBsaW5rIGlzIFVwIG9yIEluaXRpYWxpemluZy4KICAgICAgICAKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTG9vcCBhdHRlbnVhdGlvbiB0aHJlc2hvbGQgYml0 cyBpbgogICAgICAgdGhlIDJCIFBNRCBsaW5lIHF1YWxpdHkgdGhyZXNob2xkcyByZWdpc3RlciIK ICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjM2IgogICAgIDo6PSB7IGVm bUN1UG1lQ29uZkVudHJ5IDQgfQoKICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24gIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOCkKICAgICBVTklUUyAgICAgICAi ZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkRlc2lyZWQgU05SIE1hcmdpbiBUaHJlc2hvbGQgZm9y IHRoZSAyQi8xMFAgUE1FLgogICAgICAgVGhpcyBvYmplY3QgY29uZmlndXJlcyB0aGUgU05SIG1h cmdpbiBhbGFybSB0aHJlc2hvbGQuCiAgICAgICBXaGVuIHRoZSBjdXJyZW50IHZhbHVlIG9mIFNO UiBNYXJnaW4gcmVhY2hlcyBvciBleGNlZWRzIHRoaXMKICAgICAgIHRocmVzaG9sZCwgYSBlZm1D dVBtZVNuck1nbkNyb3NzaW5nIG5vdGlmaWNhdGlvbiBNQVkgYmUKICAgICAgIGdlbmVyYXRlZCwg aWYgZW5hYmxlZCBieSBlZm1DdVBtZVNuck1nbkNyb3NzaW5nRW5hYmxlLgogICAgICAgCiAgICAg ICBUaGlzIG9iamVjdCBpcyB3cml0YWJsZSBmb3IgdGhlIENPIHN1YnR5cGUgUE1FcwogICAgICAg KDJCYXNlVEwtTy8xMFBhc3NUUy1SKS4gSXQgaXMgcmVhZC1vbmx5IGZvciB0aGUgQ1BFIHN1YnR5 cGUKICAgICAgICgyQmFzZVRMLVIvMTBQYXNzVFMtUikuCiAgICAgICAKICAgICAgIENoYW5naW5n IG9mIHRoZSBTTlIgTWFyZ2luIFRocmVzaG9sZCBNVVNUIGJlIHBlcmZvcm1lZCB3aGVuCiAgICAg ICB0aGUgbGluayBpcyBEb3duLiBBdHRlbXB0cyB0byBjaGFuZ2UgdGhpcyBvYmplY3QgTVVTVCBi ZQogICAgICAgcmVqZWN0ZWQgKGluIGNhc2Ugb2YgU05NUCB3aXRoIHRoZSBlcnJvciBpbmNvbnNp c3RlbnRWYWx1ZSksCiAgICAgICBpZiB0aGUgbGluayBpcyBVcCBvciBJbml0aWFsaXppbmcuCiAg ICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUE1FIGlz IHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIFNOUiBtYXJnaW4g dGhyZXNob2xkIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgbGluZSBxdWFsaXR5IHRocmVzaG9s ZHMgcmVnaXN0ZXIiCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4zNiIK ICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA1IH0KCiAgIGVmbUN1UG1lTGluZUF0bkNyb3Nz aW5nRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFsdWUKICAgICBN QVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3Npbmcg bm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBpbnRlcmZh Y2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0IGVmbUN1 UG1lTGluZUF0bkNyb3NzaW5nCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4gVmFsdWUg b2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmljYXRpb24gaXMgZGlz YWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDYgfQoKICAgZWZtQ3VQbWVTbnJN Z25Dcm9zc2luZ0VuYWJsZSAgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBUcnV0aFZhbHVl CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC13cml0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAg ICBERVNDUklQVElPTgogICAgICAgIkluZGljYXRlcyB3aGV0aGVyIGVmbUN1UG1lU25yTWduQ3Jv c3Npbmcgbm90aWZpY2F0aW9ucwogICAgICAgc2hvdWxkIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBp bnRlcmZhY2UuCiAgICAgICAgCiAgICAgICBWYWx1ZSBvZiB0cnVlKDEpIGluZGljYXRlcyB0aGF0 IGVmbUN1UG1lU25yTWduQ3Jvc3NpbmcKICAgICAgIG5vdGlmaWNhdGlvbiBpcyBlbmFibGVkLiBW YWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAogICAgICAgdGhlIG5vdGlmaWNhdGlvbiBp cyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVDb25mRW50cnkgNyB9CgogICBlZm1DdVBt ZURldmljZUZhdWx0RW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFRydXRoVmFs dWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZtQ3VQbWVEZXZpY2VG YXVsdCBub3RpZmljYXRpb25zCiAgICAgICBzaG91bGQgYmUgZ2VuZXJhdGVkIGZvciB0aGlzIGlu dGVyZmFjZS4KICAgICAgICAKICAgICAgIFZhbHVlIG9mIHRydWUoMSkgaW5kaWNhdGVzIHRoYXQg ZWZtQ3VQbWVEZXZpY2VGYXVsdAogICAgICAgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQuIFZhbHVl IG9mIGZhbHNlKDIpIGluZGljYXRlcyB0aGF0CiAgICAgICB0aGUgbm90aWZpY2F0aW9uIGlzIGRp c2FibGVkLiIKICAgICA6Oj0geyBlZm1DdVBtZUNvbmZFbnRyeSA4IH0KCiAgIGVmbUN1UG1lQ29u ZmlnSW5pdEZhaWxFbmFibGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVHJ1dGhWYWx1 ZQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtd3JpdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJJbmRpY2F0ZXMgd2hldGhlciBlZm1DdVBtZUNvbmZpZ0lu aXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBnZW5lcmF0ZWQgZm9yIHRo aXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1ZSgxKSBpbmRpY2F0ZXMg dGhhdCBlZm1DdVBtZUNvbmZpZ0luaXRGYWlsdXJlCiAgICAgICBub3RpZmljYXRpb24gaXMgZW5h YmxlZC4gVmFsdWUgb2YgZmFsc2UoMikgaW5kaWNhdGVzIHRoYXQKICAgICAgIHRoZSBub3RpZmlj YXRpb24gaXMgZGlzYWJsZWQuIgogICAgIDo6PSB7IGVmbUN1UG1lQ29uZkVudHJ5IDkgfQoKICAg ZWZtQ3VQbWVQcm90b2NvbEluaXRGYWlsRW5hYmxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIFRydXRoVmFsdWUKICAgICBNQVgtQUNDRVNTICByZWFkLXdyaXRlCiAgICAgU1RBVFVTICAg ICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiSW5kaWNhdGVzIHdoZXRoZXIgZWZt Q3VQbWVQcm90b2NvbEluaXRGYWlsdXJlIG5vdGlmaWNhdGlvbnMKICAgICAgIHNob3VsZCBiZSBn ZW5lcmF0ZWQgZm9yIHRoaXMgaW50ZXJmYWNlLgogICAgICAgIAogICAgICAgVmFsdWUgb2YgdHJ1 ZSgxKSBpbmRpY2F0ZXMgdGhhdCBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUKICAgICAgIG5v dGlmaWNhdGlvbiBpcyBlbmFibGVkLiBWYWx1ZSBvZiBmYWxzZSgyKSBpbmRpY2F0ZXMgdGhhdAog ICAgICAgdGhlIG5vdGlmaWNhdGlvbiBpcyBkaXNhYmxlZC4iCiAgICAgOjo9IHsgZWZtQ3VQbWVD b25mRW50cnkgMTAgfQoKCiAgIGVmbUN1UG1lQ2FwYWJpbGl0eVRhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVDYXBhYmlsaXR5RW50cnkKICAgICBN QVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIlRhYmxlIGZvciBDb25maWd1cmF0aW9uIG9mIGNvbW1vbiBhc3Bl Y3RzIGZvciBFRk1DdQogICAgICAgMkJBU0UtVEwvMTBQQVNTLVRTIFBNRSBwb3J0cyAobW9kZW1z KS4gQ29uZmlndXJhdGlvbiBvZgogICAgICAgYXNwZWN0cyBzcGVjaWZpYyB0byAyQkFTRS1UTCBv ciAxMFBBU1MtVFMgUE1FIHR5cGVzIGlzCiAgICAgICByZXByZXNlbnRlZCBpbiBlZm1DdVBtZTJC Q29uZlRhYmxlIGFuZCBlZm1DdVBtZTEwUENvbmZUYWJsZQogICAgICAgcmVzcGVjdGl2ZWx5LgoK ICAgICAgIEVudHJpZXMgaW4gdGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJz aXN0ZW50CiAgICAgICBtYW5uZXIuIgogICAgIDo6PSB7IGVmbUN1UG1lIDIgfQoKICAgZWZtQ3VQ bWVDYXBhYmlsaXR5RW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZUNh cGFiaWxpdHlFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVG TUN1IFBNRSBDYXBhYmlsaXR5IHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNv bW1vbiBhc3BlY3RzIG9mIGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBp ZkluZGV4LiBOb3RlIHRoYXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2Vk IGJlbG93IGEgc2luZ2xlIFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAg IHBvc3NpYmx5IHRvZ2V0aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVk LiIKICAgICBJTkRFWCAgeyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZUNhcGFiaWxpdHlU YWJsZSAxIH0KCiAgIEVmbUN1UG1lQ2FwYWJpbGl0eUVudHJ5IDo6PQogICAgIFNFUVVFTkNFIHsK ICAgICAgIGVmbUN1UG1lU3ViVHlwZXNTdXBwb3J0ZWQgICAgIEJJVFMKICAgICB9CgogICBlZm1D dVBtZVN1YlR5cGVzU3VwcG9ydGVkICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEJJVFMg ewogICAgICAgaWVlZTJCYXNlVExPKDApLAogICAgICAgaWVlZTJCYXNlVExSKDEpLAogICAgICAg aWVlZTEwUGFzc1RTTygyKSwKICAgICAgIGllZWUxMFBhc3NUU1IoMykKICAgICB9CiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiUE1FIHN1cHBvcnRlZCBzdWItdHlwZXMuIFRoaXMgaXMgYSBiaXRtYXAgb2Yg cG9zc2libGUKICAgICAgIHN1Yi10eXBlcy4gVGhlIHZhcmlvdXMgYml0IHBvc2l0aW9ucyBhcmU6 ICAgIAogICAgICAgICBpZWVlMkJhc2VUTE8gICAgLSBQTUUgaXMgY2FwYWJsZSBvZiBvcGVyYXRp bmcgYXMgMkJhc2VUTC1PCiAgICAgICAgIGllZWUyQmFzZVRMUiAgICAtIFBNRSBpcyBjYXBhYmxl IG9mIG9wZXJhdGluZyBhcyAyQmFzZVRMLVIKICAgICAgICAgaWVlZTEwUGFzc1RTTyAgIC0gUE1F IGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLU8KICAgICAgICAgaWVlZTEwUGFz c1RTUiAgIC0gUE1FIGlzIGNhcGFibGUgb2Ygb3BlcmF0aW5nIGFzIDEwUGFzc1RTLVIKICAgICAg IAogICAgICAgQW4gZGVzaXJlZCBtb2RlIG9mIG9wZXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5CiAg ICAgICBlZm1DdVBtZUFkbWluU3ViVHlwZSwgd2hpbGUgZWZtQ3VQbWVPcGVyU3ViVHlwZSByZWZs ZWN0cyB0aGUKICAgICAgIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUuCiAgICAgICAgCiAgICAgICBJ ZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSB0byB0aGUgUENTIGlzIHByZXNlbnQsIHRoZW4g dGhpcwogICAgICAgb2JqZWN0IGNvbWJpbmVzIHRoZSAxMFBBU1MtVFMgY2FwYWJsZSBhbmQgMkJB U0UtVEwgY2FwYWJsZQogICAgICAgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQgc3BlZWQgYWJp bGl0eSByZWdpc3RlciBhbmQgdGhlCiAgICAgICBDTyBzdXBwb3J0ZWQgYW5kIENQRSBzdXBwb3J0 ZWQgYml0cyBpbiB0aGUgMTBQLzJCIFBNQS9QTUQKICAgICAgIHN0YXR1cyByZWdpc3RlciIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMSwgNDUuMi4xLjQuMSwgNDUuMi4xLjQu MiwgNDUuMi4xLjEyLjIsCiAgICAgICA0NS4yLjEuMTIuMyIKICAgICA6Oj0geyBlZm1DdVBtZUNh cGFiaWxpdHlFbnRyeSAxIH0KCgogICBlZm1DdVBtZVN0YXR1c1RhYmxlIE9CSkVDVC1UWVBFCiAg ICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWVTdGF0dXNFbnRyeQogICAgIE1BWC1B Q0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NS SVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRlcyBjb21tb24gc3RhdHVzIGluZm9ybWF0 aW9uIG9mIEVGTUN1CiAgICAgICAyQkFTRS1UTC8xMFBBU1MtVFMgUE1FIHBvcnRzLiBTdGF0dXMg aW5mb3JtYXRpb24gc3BlY2lmaWMKICAgICAgIHRvIDEwUEFTUy1UUyBQTUUgaXMgcmVwcmVzZW50 ZWQgaW4gZWZtQ3VQbWUxMFBTdGF0dXNUYWJsZS4KICAgICAgIAogICAgICAgVGhpcyB0YWJsZSBj b250YWlucyBsaXZlIGRhdGEgZnJvbSB0aGUgZXF1aXBtZW50LiBBcyBzdWNoLAogICAgICAgaXQg aXMgTk9UIHBlcnNpc3RlbnQuIgogICAgIDo6PSB7IGVmbUN1UG1lIDMgfQoKICAgZWZtQ3VQbWVT dGF0dXNFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbUN1UG1lU3RhdHVzRW50 cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJl bnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVudHJ5IGluIHRoZSBFRk1DdSBQTUUgU3Rh dHVzIHRhYmxlLgogICAgICAgRWFjaCBlbnRyeSByZXByZXNlbnRzIGNvbW1vbiBhc3BlY3RzIG9m IGFuIEVGTUN1IFBNRSBwb3J0CiAgICAgICBpbmRleGVkIGJ5IHRoZSBpZkluZGV4LiBOb3RlIHRo YXQgYW4gRUZNQ3UgUE1FIHBvcnQgY2FuIGJlCiAgICAgICBzdGFja2VkIGJlbG93IGEgc2luZ2xl IFBDUyBwb3J0LCBhbHNvIGluZGV4ZWQgYnkgaWZJbmRleCwKICAgICAgIHBvc3NpYmx5IHRvZ2V0 aGVyIHdpdGggb3RoZXIgUE1FIHBvcnRzIGlmIFBBRiBpcyBlbmFibGVkLiIKICAgICBJTkRFWCAg eyBpZkluZGV4IH0KICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1c1RhYmxlIDEgfQoKICAgRWZtQ3VQ bWVTdGF0dXNFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZU9wZXJTdGF0 dXMgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgICAgICAgICAg ICAgQklUUywKICAgICAgIGVmbUN1UG1lT3BlclN1YlR5cGUgICAgICAgICAgIElOVEVHRVIsCiAg ICAgICBlZm1DdVBtZU9wZXJQcm9maWxlICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXhPclplcm8s CiAgICAgICBlZm1DdVBtZVNuck1nbiAgICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBl Zm1DdVBtZVBlZXJTbnJNZ24gICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUxp bmVBdG4gICAgICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZVBlZXJMaW5lQXRu ICAgICAgICAgICBJbnRlZ2VyMzIsCiAgICAgICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGggICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWVUQ0NvZGluZ0Vycm9ycyAgICAgICAgQ291bnRl cjMyLAogICAgICAgZWZtQ3VQbWVUQ0NyY0Vycm9ycyAgICAgICAgICAgQ291bnRlcjMyCiAgICAg fQoKICAgZWZtQ3VQbWVPcGVyU3RhdHVzICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElO VEVHRVIgewogICAgICAgdXAoMSksCiAgICAgICBkb3duTm90UmVhZHkoMiksCiAgICAgICBkb3du UmVhZHkoMyksCiAgICAgICBpbml0KDQpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25s eQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJl bnQgUE1FIGxpbmsgT3BlcmF0aW9uYWwgU3RhdHVzLiBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAg ICAgICB1cCgxKSAgICAgICAgICAgLSBsaW5rIGlzIFVwIGFuZCByZWFkeSB0byBwYXNzIDY0LzY1 QgogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkIGZyYW1lcyBvciBmcmFnbWVudHMu CiAgICAgICAgIGRvd25Ob3RSZWFkeSgyKSAtIGxpbmsgaXMgRG93biBhbmQgdGhlIFBNRSBkb2Vz IG5vdCBkZXRlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZHNoYWtlIHRvbmVzIGZy b20gaXRzIHBlZXIuIFRoaXMgdmFsdWUKICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IGlu ZGljYXRlIGEgcG9zc2libGUgcHJvYmxlbSB3aXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoZSBwZWVyIFBNRS4KICAgICAgICAgZG93blJlYWR5KDMpICAgIC0gbGluayBpcyBEb3duIGFu ZCB0aGUgUE1FIGRldGVjdHMgSGFuZHNoYWtlCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv bmVzIGZyb20gaXRzIHBlZXIuCiAgICAgICAgIGluaXQoNCkgICAgICAgICAtIGxpbmsgaXMgaW5p dGlhbGl6aW5nLCBhcyBhIHJlc3VsdCBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICBpZkFk bWluU3RhdHVzIGJlaW5nIHNldCB0byAndXAnIGZvciBhCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhcnRpY3VsYXIgUE1FIG9yIGEgUENTIHRoZSBQTUUgaXMKICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29ubmVjdGVkIHRvLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBpbnRl bmRlZCB0byBzdXBwbGVtZW50IERvd24gc3RhdGUgb2YgCiAgICAgICBpZk9wZXJTdGF0dXMuCiAg ICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byB0aGUgQ2xhdXNlIDMw IGF0dHJpYnV0ZQogICAgICAgYVBNRVN0YXR1cy4KICAgICAgIAogICAgICAgSWYgYSBDbGF1c2Ug NDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAg IG9iamVjdCBwYXJ0aWFsbHkgbWFwcyB0byBQTUEvUE1EIGxpbmsgc3RhdHVzIGJpdHMgaW4gMTBQ LzJCCiAgICAgICBQTUEvUE1EIHN0YXR1cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAg ICAiWzgwMi4zYWhdIDMwLjExLjIuMS4zLCA0NS4yLjEuMTIuNCIKICAgICA6Oj0geyBlZm1DdVBt ZVN0YXR1c0VudHJ5IDEgfQoKICAgZWZtQ3VQbWVGbHRTdGF0dXMgIE9CSkVDVC1UWVBFCiAgICAg U1lOVEFYICAgICAgQklUUyB7CiAgICAgICBsb3NzT2ZGcmFtaW5nKDApLAogICAgICAgc25yTWdu RGVmZWN0KDEpLAogICAgICAgbGluZUF0bkRlZmVjdCgyKSwKICAgICAgIGRldmljZUZhdWx0KDMp LAogICAgICAgY29uZmlnSW5pdEZhaWx1cmUoNCksCiAgICAgICBwcm90b2NvbEluaXRGYWlsdXJl KDUpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkN1cnJlbnQvTGFzdCBQTUUgbGluayBGYXVs dCBTdGF0dXMuIFRoaXMgaXMgYSBiaXRtYXAgb2YKICAgICAgIHBvc3NpYmxlIGNvbmRpdGlvbnMu IFRoZSB2YXJpb3VzIGJpdCBwb3NpdGlvbnMgYXJlOgoKICAgICAgICAgbG9zc09mRnJhbWluZyAg ICAgICAtIExvc3Mgb2YgRnJhbWluZyBmb3IgMTBQIG9yCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMb3NzIG9mIFN5bmMgd29yZCBmb3IgMkIgUE1EIG9yCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMb3NzIG9mIDY0LzY1QiBGcmFtaW5nCiAgICAgICAgIHNuck1nbkRlZmVj dCAgICAgICAgLSBTTlIgTWFyZ2luIGRyb3BwZWQgYmVsb3cgdGhlIFRocmVzaG9sZAogICAgICAg ICBsaW5lQXRuRGVmZWN0ICAgICAgIC0gTGluZSBBdHRlbnVhdGlvbiBleGNlZWRzIHRoZSBUaHJl c2hvbGQKICAgICAgICAgZGV2aWNlRmF1bHQgICAgICAgICAtIEluZGljYXRlcyBhIHZlbmRvci1k ZXBlbmRlbnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0aWMgb3Igc2Vs Zi10ZXN0IGZhdWx0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgYmVlbiBkZXRl Y3RlZC4KICAgICAgICAgY29uZmlnSW5pdEZhaWx1cmUgICAtIENvbmZpZ3VyYXRpb24gaW5pdGlh bGl6YXRpb24gZmFpbHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1ZSB0byBp bmFiaWxpdHkgb2YgdGhlIFBNRSBsaW5rIHRvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdXBwb3J0IGNvbmZpZ3VyYXRpb24gcHJvZmlsZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcXVlc3RlZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24uCiAgICAgICAgIHByb3RvY29s SW5pdEZhaWx1cmUgLSBQcm90b2NvbCBpbml0aWFsaXphdGlvbiBmYWlsdXJlLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHVlIHRvIGluY29tcGF0aWJsZSBwcm90b2NvbCB1c2VkIGJ5 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgUGVlciBQTUUgZHVyaW5nIGluaXQg KHRoYXQgY291bGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhcHBlbiBpZiBhIHBl ZXIgUE1EIGlzIGEgcmVndWxhciAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEcuU0RI U0wvVkRTTCBtb2RlbSBpbnN0ZWFkIG9mIGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDJCQVNFLVRMLzEwUEFTUy1UUyBQTUUpLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp bnRlbmRlZCB0byBzdXBwbGVtZW50IGlmT3BlclN0YXR1cyBpbiBJRi1NSUIuCiAgICAgICAKICAg ICAgIFRoaXMgb2JqZWN0IGhvbGRzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBsYXN0IGZhdWx0Lgog ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMgaXMgY2xlYXJlZCBieSB0aGUgZGV2aWNlIHJlc3RhcnQu CiAgICAgICBJbiBhZGRpdGlvbiBsb3NzT2ZGcmFtaW5nLCBjb25maWdJbml0RmFpbHVyZSBhbmQK ICAgICAgIHByb3RvY29sSW5pdEZhaWx1cmUgYXJlIGNsZWFyZWQgYnkgUE1FIGluaXQuCiAgICAg ICBkZXZpY2VGYXVsdCBpcyBjbGVhcmVkIGJ5IHN1Y2Nlc3NmdWwgZGlhZ25vc3RpY3MvdGVzdC4K ICAgICAgIHNuck1nbkRlZmVjdCBhbmQgbGluZUF0bkRlZmVjdCBhcmUgY2xlYXJlZCBieSBTTlIg TWFyZ2luCiAgICAgICBhbmQgbGluZSBBdHRlbnVhdGlvbiByZXNwZWN0aXZlbHkgcmV0dXJuaW5n IHRvIG5vcm0gYW5kIGJ5CiAgICAgICBQTUUgaW5pdC4KIAogICAgICAgVGhpcyBvYmplY3QgcGFy dGlhbGx5IG1hcHMgdG8gdGhlIENsYXVzZSAzMCBhdHRyaWJ1dGUKICAgICAgIGFQTUVTdGF0dXMu CiAgICAgICAKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUg aXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgY29uc29saWRhdGVzIGluZm9ybWF0 aW9uIGZyb20gdmFyaW91cyBQTUEvUE1ECiAgICAgICByZWdpc3RlcnMsIG5hbWVseTogRmF1bHQg Yml0IGluIFBNQS9QTUQgc3RhdHVzIDEgcmVnaXN0ZXIsCiAgICAgICAxMFAvMkIgUE1BL1BNRCBs aW5rIGxvc3MgcmVnaXN0ZXIsCiAgICAgICAxMFAgb3V0Z29pbmcgaW5kaWNhdG9yIGJpdHMgc3Rh dHVzIHJlZ2lzdGVyLAogICAgICAgMTBQIGluY29taW5nIGluZGljYXRvciBiaXRzIHN0YXR1cyBy ZWdpc3RlciwKICAgICAgIDJCIHN0YXRlIGRlZmVjdHMgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSAzMC4xMS4yLjEuMywgNDUuMi4xLjIuMSwgNDUuMi4xLjM4LAog ICAgICAgNDUuMi4xLjM5LCA0NS4yLjEuNTQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRy eSAyIH0KCiAgIGVmbUN1UG1lT3BlclN1YlR5cGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAg ICAgSU5URUdFUiB7CiAgICAgICBpZWVlMkJhc2VUTE8oMSksCiAgICAgICBpZWVlMkJhc2VUTFIo MiksCiAgICAgICBpZWVlMTBQYXNzVFNPKDMpLAogICAgICAgaWVlZTEwUGFzc1RTUig0KQogICAg IH0KICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAg ICAgREVTQ1JJUFRJT04KICAgICAgICJDdXJyZW50IG9wZXJhdGlvbmFsIHN1Yi10eXBlIG9mIHRo ZSBQTUUuCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgogICAgICAgICBpZWVlMkJhc2VUTE8g ICAgICAgICAgIC0gUE1FIG9wZXJhdGVzIGFzIDJCYXNlVEwtTyAKICAgICAgICAgaWVlZTJCYXNl VExSICAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAyQmFzZVRMLVIgCiAgICAgICAgIGllZWUx MFBhc3NUU08gICAgICAgICAgLSBQTUUgb3BlcmF0ZXMgYXMgMTBQYXNzVFMtTyAKICAgICAgICAg aWVlZTEwUGFzc1RTUiAgICAgICAgICAtIFBNRSBvcGVyYXRlcyBhcyAxMFBhc3NUUy1SIAogICAg ICAgCiAgICAgICBUaGUgb3BlcmF0aW9uYWwgc3ViIHR5cGUgb2YgdGhlIFBNRSBjYW4gYmUgY29u ZmlndXJlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRtaW5TdWJUeXBlIHZhcmlhYmxlLgoKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQs IHRoZW4KICAgICAgIHRoaXMgb2JqZWN0IGNvbWJpbmVzIHZhbHVlcyBvZiB0aGUgUG9ydCBzdWIt dHlwZSBzZWxlY3QKICAgICAgIGJpdHMsIHRoZSBQTUEvUE1EIHR5cGUgc2VsZWN0aW9uIGJpdHMg aW4gdGhlIDEwUC8yQiAKICAgICAgIFBNQS9QTUQgY29udHJvbCByZWdpc3RlciBhbmQgdGhlIFBN QS9QTUQgbGluayBzdGF0dXMgYml0cyBpbgogICAgICAgdGhlIDEwUC8yQiBQTUEvUE1EIHN0YXR1 cyByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYxLjEsIDQ1LjIu MS4xMS40LCA0NS4yLjEuMTEuNywgNDUuMi4xLjEyLjQiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0 dXNFbnRyeSAzIH0KCiAgIGVmbUN1UG1lT3BlclByb2ZpbGUgIE9CSkVDVC1UWVBFCiAgICAgU1lO VEFYICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5 CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiUE1FIGN1 cnJlbnQgb3BlcmF0aW5nIFByb2ZpbGUuIFRoaXMgb2JqZWN0IGlzIGEgcG9pbnRlciB0bwogICAg ICAgYW4gZW50cnkgaW4gZWl0aGVyIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgb3IKICAgICAgIGVm bUN1UG1lMTBQUHJvZmlsZVRhYmxlLCBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQKICAgICAgIG9w ZXJhdGluZyBTdWJUeXBlIG9mIHRoZSBQTUUgYXMgaW5kaWNhdGVkIGJ5CiAgICAgICBlZm1DdVBt ZU9wZXJTdWJUeXBlLgogICAgICAgTm90ZSB0aGF0IGEgcHJvZmlsZSBlbnRyeSwgdG8gd2hpY2gg ZWZtQ3VQbWVPcGVyUHJvZmlsZSBpcwogICAgICAgcG9pbnRpbmcgdG8sIGNhbiBiZSBjcmVhdGVk IGF1dG9tYXRpY2FsbHksIHRvIHJlZmxlY3QgYWNoaWV2ZWQKICAgICAgIHBhcmFtZXRlcnMgaW4g YWRhcHRpdmUgKG5vdCBmaXhlZCkgaW5pdGlhbGl6YXRpb24sCiAgICAgICBpLmUuIHZhbHVlcyBv ZiBlZm1DdVBtZU9wZXJQcm9maWxlIGFuZCBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZt Q3VQbWVBZG1pblByb2ZpbGUgbWF5IGRpZmZlci4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJvIGlu ZGljYXRlcyB0aGF0IFBNRSBpcyBkb3duIG9yIGluaXRpYWxpemluZy4KICAgICAgIAogICAgICAg VGhpcyBvYmplY3QgcGFydGlhbGx5IG1hcHMgdG8gdGhlIGFPcGVyYXRpbmdQcm9maWxlCiAgICAg ICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gMzAuMTEuMi4xLjciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSA0IH0KCiAgIGVm bUN1UG1lU25yTWduIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcu LjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhl IGN1cnJlbnQgU2lnbmFsLXRvLU5vaXNlIFJhdGlvIChTTlIpIG1hcmdpbiB3aXRoIHJlc3BlY3QK ICAgICAgIHRvIHRoZSByZWNlaXZlZCBzaWduYWwgYXMgcGVyY2VpdmVkIGJ5IHRoZSBsb2NhbCBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBtYXBz IHRvIHRoZSBhUE1FU05STWduIGF0dHJpYnV0ZSBpbiBDbGF1c2UgMzAuCiAgICAgICAKICAgICAg IElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAg ICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBSWCBTTlIgbWFyZ2luIHJlZ2lzdGVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gMzAuMTEuMi4xLjQsIDQ1LjIuMS4xNiIKICAg ICA6Oj0geyBlZm1DdVBtZVN0YXR1c0VudHJ5IDUgfQoKICAgZWZtQ3VQbWVQZWVyU25yTWduIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAg ICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhlIGN1cnJlbnQgU05SIG1h cmdpbiBpbiBkQiB3aXRoIHJlc3BlY3QgdG8gdGhlIHJlY2VpdmVkCiAgICAgICBzaWduYWwsIGFz IHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlIChsaW5rIHBhcnRuZXIpIFBNRS4KICAgICAgIFRoZSB2 YWx1ZSBvZiA2NTUzNSBpcyByZXR1cm5lZCB3aGVuIFBNRSBpcyBkb3duIG9yCiAgICAgICBpbml0 aWFsaXppbmcuCiAgICAgICAKICAgICAgIFRoaXMgb2JqZWN0IGlzIGlycmVsZXZhbnQgZm9yIHRo ZSAtUiBQTUUgc3VidHlwZXMuIFRoZSB2YWx1ZQogICAgICAgb2YgNjU1MzUgU0hBTEwgYmUgcmV0 dXJuZWQgaW4gdGhpcyBjYXNlLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNl IGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1hcHMgdG8gdGhlIDEwUC8yQiBs aW5rIHBhcnRuZXIgUlggU05SIG1hcmdpbgogICAgICAgcmVnaXN0ZXIuIgogICAgIFJFRkVSRU5D RQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTciCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNF bnRyeSA2fQoKICAgZWZtQ3VQbWVMaW5lQXRuIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAg SW50ZWdlcjMyKC0xMjcuLjEyOHw2NTUzNSkKICAgICBVTklUUyAgICAgICAiZEIiCiAgICAgTUFY LUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiVGhlIGN1cnJlbnQgTGluZSBBdHRlbnVhdGlvbiBpbiBkQiBhcyBwZXJjZWl2 ZWQgYnkgdGhlIGxvY2FsCiAgICAgICBQTUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMg cmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAg CiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRo aXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBMaW5lIEF0dGVudWF0aW9uIHJlZ2lzdGVyIgog ICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSA0NS4yLjEuMTgiCiAgICAgOjo9IHsgZWZt Q3VQbWVTdGF0dXNFbnRyeSA3IH0KCiAgIGVmbUN1UG1lUGVlckxpbmVBdG4gT0JKRUNULVRZUEUK ICAgICBTWU5UQVggICAgICBJbnRlZ2VyMzIoLTEyNy4uMTI4fDY1NTM1KQogICAgIFVOSVRTICAg ICAgICJkQiIKICAgICBNQVgtQUNDRVNTICByZWFkLW9ubHkKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGUgY3VycmVudCBMaW5lIEF0dGVudWF0aW9u IGluIGRCIGFzIHBlcmNlaXZlZCBieSB0aGUgcmVtb3RlCiAgICAgICAobGluayBwYXJ0bmVyKSBQ TUUuCiAgICAgICBUaGUgdmFsdWUgb2YgNjU1MzUgaXMgcmV0dXJuZWQgd2hlbiBQTUUgaXMgZG93 biBvcgogICAgICAgaW5pdGlhbGl6aW5nLgogICAgICAgCiAgICAgICBUaGlzIG9iamVjdCBpcyBp cnJlbGV2YW50IGZvciB0aGUgLVIgUE1FIHN1YnR5cGVzLiBUaGUgdmFsdWUKICAgICAgIG9mIDY1 NTM1IFNIQUxMIGJlIHJldHVybmVkIGluIHRoaXMgY2FzZS4KCiAgICAgICBJZiBhIENsYXVzZSA0 NSBNRElPIEludGVyZmFjZSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBz IHRvIHRoZSAyMFAvMkIgbGluayBwYXJ0bmVyIExpbmUgQXR0ZW51YXRpb24KICAgICAgIHJlZ2lz dGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjE5IgogICAgIDo6 PSB7IGVmbUN1UG1lU3RhdHVzRW50cnkgOCB9CgogICBlZm1DdVBtZUVxdWl2YWxlbnRMZW5ndGgg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyfDY1NTM1KQog ICAgIFVOSVRTICAgICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtb25seQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkFuIGVzdGltYXRlIG9mIHRo ZSBlcXVpdmFsZW50IGxvb3AncyBQaHlzaWNhbCBMZW5ndGggaW4KICAgICAgIG1ldGVycywgYXMg cGVyY2VpdmVkIGJ5IHRoZSBQTUUgYWZ0ZXIgdGhlIGxpbmsgaXMgZXN0YWJsaXNoZWQuCiAgICAg ICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwgMjZBV0cgKDAuNG1tKSBsb29w IHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRlbnVhdGlvbiBjaGFyYWN0ZXJp c3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4KICAgICAgIFRoZSB2YWx1ZSBv ZiA2NTUzNSBpcyByZXR1cm5lZCBpZiB0aGUgbGluayBpcyBEb3duIG9yCiAgICAgICBJbml0aWFs aXppbmcgb3IgdGhlIFBNRSBpcyB1bmFibGUgdG8gZXN0aW1hdGUgdGhlIEVxdWl2YWxlbnQKICAg ICAgIExlbmd0aC4KICAgICAgIAogICAgICAgRm9yIDEwQkFTRS1UTCBQTUUsIGlmIGEgQ2xhdXNl IDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMKICAgICAgIHByZXNlbnQsIHRoZW4gdGhp cyBvYmplY3QgbWFwcyB0byB0aGUgMTBQIEVsZWN0cmljYWwgTGVuZ3RoCiAgICAgICByZWdpc3Rl ciIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIxIgogICAgIDo6PSB7 IGVmbUN1UG1lU3RhdHVzRW50cnkgOSB9CgogICBlZm1DdVBtZVRDQ29kaW5nRXJyb3JzIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1v bmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBu dW1iZXIgb2YgNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBlcnJvcnMuIFRoaXMgY291bnRlciBp cwogICAgICAgaW5jcmVtZW50ZWQgZm9yIGVhY2ggNjQvNjUtb2N0ZXQgZW5jYXBzdWxhdGlvbiBl cnJvciBkZXRlY3RlZAogICAgICAgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24u CgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVENDb2RpbmdWaW9sYXRpb25zIGF0dHJpYnV0 ZSBpbgogICAgICAgY2xhdXNlIDMwLgogICAgICAgCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElP IEludGVyZmFjZSB0byB0aGUgUE1FIFRDIGlzIHByZXNlbnQsIHRoZW4KICAgICAgIHRoaXMgb2Jq ZWN0IG1hcHMgdG8gdGhlIFRDIGNvZGluZyB2aW9sYXRpb25zIHJlZ2lzdGVyCiAgICAgICAoc2Vl IDQ1LjIuNi4xMikuCgogICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlz IGNvdW50ZXIgY2FuIG9jY3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFu YWdlbWVudCBzeXN0ZW0sIGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5 IHRoZSB2YWx1ZSBvZiBpZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQg aW4gSUYtTUlCLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNjEuMy4zLjEsIDMw LjExLjIuMS41LCA0NS4yLjYuMTIiCiAgICAgOjo9IHsgZWZtQ3VQbWVTdGF0dXNFbnRyeSAxMCB9 CgogICBlZm1DdVBtZVRDQ3JjRXJyb3JzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291 bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBudW1iZXIgb2YgVEMtQ1JDIGVycm9ycy4gVGhp cyBjb3VudGVyIGlzIGluY3JlbWVudGVkIGZvcgogICAgICAgZWFjaCBUQy1DUkMgZXJyb3IgZGV0 ZWN0ZWQgYnkgdGhlIDY0LzY1LW9jdGV0IHJlY2VpdmUgZnVuY3Rpb24KICAgICAgIChzZWUgNjEu My4zLjMgYW5kIEZpZ3VyZSA2MS0xOSkuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhVEND UkNFcnJvcnMgYXR0cmlidXRlIGluCiAgICAgICBjbGF1c2UgMzAuCiAgICAgICAKICAgICAgIElm IGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQQ01FIFRDIGlzIHByZXNlbnQsIHRo ZW4KICAgICAgIHRoaXMgb2JqZWN0IG1hcHMgdG8gdGhlIFRDIENSQyBlcnJvciByZWdpc3Rlcgog ICAgICAgKHNlZSA0NS4yLjYuMTEpLgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFs dWUgb2YgdGhpcyBjb3VudGVyIGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24g b2YgdGhlIG1hbmFnZW1lbnQgc3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGlu ZGljYXRlZCBieSB0aGUgdmFsdWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAg ICBkZWZpbmVkIGluIElGLU1JQi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDYx LjMuMy4zLCAzMC4xMS4yLjEuMTAsIDQ1LjIuNi4xMSIKICAgICA6Oj0geyBlZm1DdVBtZVN0YXR1 c0VudHJ5IDExIH0KCiAgLS0gMkJBU0UtVEwgc3BlY2lmaWMgUE1FIGdyb3VwCgogICBlZm1DdVBt ZTJCICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNSB9CgogICBlZm1DdVBt ZTJCUHJvZmlsZVRhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0Yg RWZtQ3VQbWUyQlByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJs ZSBzdXBwb3J0cyBkZWZpbml0aW9ucyBvZiBhZG1pbmlzdHJhdGl2ZSBhbmQKICAgICAgIG9wZXJh dGluZyBQcm9maWxlcyBmb3IgMkJBU0UtVEwgUE1Fcy4KICAgICAgIEZpcnN0IDE0IGVudHJpZXMg aW4gdGhpcyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgZm9sbG93cyAo c2VlIDgwMi4zYWggQW5uZXggNjNBKToKICAgICAgIC0tLS0tLS0rLS0tLS0tLSstLS0tLS0tKy0t LS0tKy0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgTWluUmF0ZSBNYXhS YXRlIFBvd2VyIFJlZ2lvbiBDb25zdGVsbGF0aW9uCiAgICAgICAgaW5kZXggIChLYnBzKSAgKEti cHMpICAoZEJtKQogICAgICAgLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rLS0tLS0rLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgMSAgICAgNTY5NiAgICA1Njk2ICAgIDEzLjUgICAg MSAgIDMyLVRDUEFNIChkZWZhdWx0KQogICAgICAgICAgMiAgICAgMzA3MiAgICAzMDcyICAgIDEz LjUgICAgMSAgIDMyLVRDUEFNCiAgICAgICAgICAzICAgICAyMDQ4ICAgIDIwNDggICAgMTMuNSAg ICAxICAgMTYtVENQQU0KICAgICAgICAgIDQgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDEg ICAxNi1UQ1BBTQogICAgICAgICAgNSAgICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMSAgIDE2 LVRDUEFNCiAgICAgICAgICA2ICAgICAgNTEyICAgICA1MTIgICAgMTMuNSAgICAxICAgMTYtVENQ QU0KICAgICAgICAgIDcgICAgIDU2OTYgICAgNTY5NiAgICAxNC41ICAgIDIgICAzMi1UQ1BBTQog ICAgICAgICAgOCAgICAgMzA3MiAgICAzMDcyICAgIDE0LjUgICAgMiAgIDMyLVRDUEFNCiAgICAg ICAgICA5ICAgICAyMDQ4ICAgIDIwNDggICAgMTQuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAg MTAgICAgIDEwMjQgICAgMTAyNCAgICAxMy41ICAgIDIgICAxNi1UQ1BBTQogICAgICAgICAxMSAg ICAgIDcwNCAgICAgNzA0ICAgIDEzLjUgICAgMiAgIDE2LVRDUEFNCiAgICAgICAgIDEyICAgICAg NTEyICAgICA1MTIgICAgMTMuNSAgICAyICAgMTYtVENQQU0KICAgICAgICAgMTMgICAgICAxOTIg ICAgNTY5NiAgICAgICAwICAgIDEgICAwICAgICAgICAoYmVzdCBlZmZvcnQpCiAgICAgICAgIDE0 ICAgICAgMTkyICAgIDU2OTYgICAgICAgMCAgICAyICAgMCAgICAgICAgKGJlc3QgZWZmb3J0KQoK ICAgICAgIFRoZXNlIGRlZmF1bHQgZW50cmllcyBTSEFMTCBiZSBjcmVhdGVkIGR1cmluZyBhZ2Vu dAogICAgICAgaW5pdGlhbGl6YXRpb24gYW5kIE1VU1QgTk9UIGJlIGRlbGV0ZWQuCgogICAgICAg RW50cmllcyBmb2xsb3dpbmcgdGhlIGZpcnN0IDE0LCBjYW4gYmUgZHluYW1pY2FsbHkgY3JlYXRl ZCBhbmQKICAgICAgIGRlbGV0ZWQsIHRvIHByb3ZpZGUgY3VzdG9tIGFkbWluaXN0cmF0aXZlIChj b25maWd1cmF0aW9uKQogICAgICAgcHJvZmlsZXMgYW5kIGF1dG9tYXRpYyBvcGVyYXRpbmcgcHJv ZmlsZXMuCgogICAgICAgVGhpcyB0YWJsZSBNVVNUIGJlIG1haW50YWluZWQgaW4gYSBwZXJzaXN0 ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYzQSwg MzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgMiB9CgogICBlZm1DdVBtZTJCUHJv ZmlsZUVudHJ5IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUyQlByb2ZpbGVF bnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNwb25kcyB0byBh IHNpbmdsZSAyQkFTRS1UTCBQTUUgcHJvZmlsZS4KICAgICAgIEVhY2ggcHJvZmlsZSBjb250YWlu cyBhIHNldCBvZiBwYXJhbWV0ZXJzLCB1c2VkIGVpdGhlciBmb3IKICAgICAgIGNvbmZpZ3VyYXRp b24gb3IgcmVwcmVzZW50YXRpb24gb2YgYSAyQkFTRS1UTCBQTUUuICAKICAgICAgIEluIGNhc2Ug YSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEKICAgICAgIGVmbUN1UG1lQWRt aW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUgaWYKICAgICAgIGVmbUN1UG1l QWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhlIGRlc2lyZWQKICAgICAgIHBh cmFtZXRlcnMgdGhlIDJCYXNlVEwtTyBQTUUgaW5pdGlhbGl6YXRpb24uCiAgICAgICBJZiBhIHBy b2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWVPcGVyUHJvZmlsZSBvYmplY3QsCiAgICAg ICBpdCByZXByZXNlbnRzIGN1cnJlbnQgb3BlcmF0aW5nIHBhcmFtZXRlcnMgb2YgdGhlIAogICAg ICAgb3BlcmF0aW9uYWwgUE1FLgogICAgICAgCiAgICAgICBQcm9maWxlcyBtYXkgYmUgY3JlYXRl ZC9kZWxldGVkIHVzaW5nIHRoZSByb3cgY3JlYXRpb24vCiAgICAgICBkZWxldGlvbiBtZWNoYW5p c20gdmlhIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzLiBJZiBhbgogICAgICAgYWN0aXZlIGVu dHJ5IGlzIHJlZmVyZW5jZWQsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJwogICAgICAg dW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCiAgICAgICBEZWZhdWx0IGVudHJpZXMg TVVTVCBOT1QgYmUgcmVtb3ZlZC4iCiAgICAgSU5ERVggeyBlZm1DdVBtZTJCUHJvZmlsZUluZGV4 IH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlBy b2ZpbGVFbnRyeSA6Oj0KICAgICBTRVFVRU5DRSB7CiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUlu ZGV4ICAgICAgICAgICBFZm1Qcm9maWxlSW5kZXgsCiAgICAgICBlZm1DdVBtZTJCUHJvZmlsZURl c2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsCiAgICAgICBlZm1DdVBtZTJCUmVnaW9uICAg ICAgICAgICAgICAgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUyQnNNb2RlICAgICAgICAgICAg ICAgICAgRWZtUHJvZmlsZUluZGV4T3JaZXJvLAogICAgICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRl ICAgICAgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSAgICAg ICAgICAgIFVuc2lnbmVkMzIsCiAgICAgICBlZm1DdVBtZTJCUG93ZXIgICAgICAgICAgICAgICAg ICBVbnNpZ25lZDMyLAogICAgICAgZWZtQ3VQbWUyQkNvbnN0ZWxsYXRpb24gICAgICAgICAgSU5U RUdFUiwKICAgICAgIGVmbUN1UG1lMkJQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cwog ICAgIH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVgg ICAgICBFZm1Qcm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAg IFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBN RSBQcm9maWxlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBh c3NvY2lhdGVkIHdpdGggdGhpcyBwcm9maWxlLgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxl IGFyZSByZWZlcmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZQogICAgICAgb3IgZWZtQ3VQbWVB ZG1pblByb2ZpbGUgb2JqZWN0cy4iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVFbnRyeSAx IH0KCiAgIGVmbUN1UG1lMkJQcm9maWxlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAg ICBTbm1wQWRtaW5TdHJpbmcKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcg Y29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIFByb2ZpbGUu IFRoZSBzdHJpbmcgbWF5IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSByYXRlCiAgICAg ICBhbmQgc3BlY3RyYWwgbGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIgog ICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCUmVnaW9u ICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIElOVEVHRVIgewogICAgICAgcmVnaW9uMSgx KSwKICAgICAgIHJlZ2lvbjIoMikKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUK ICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJSZWdpb25h bCBzZXR0aW5ncyBmb3IgMkJBU0UtVEwgUE1FLCBhcyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICBy ZWxldmFudCBSZWdpb25hbCBBbm5leCBvZiBbRy45OTEuMl0uCiAgICAgICBSZWdpb25hbCBzZXR0 aW5ncyBzcGVjaWZ5IFBvd2VyIFNwZWN0cmFsIERlbnNpdHkgKFBTRCkgbWFzaywKICAgICAgIFBv d2VyIEJhY2stT2ZmIChQQk8pIHZhbHVlcyBhbmQgcGxhY2UgbGltaXRhdGlvbnMgb24gdGhlIG1h eAogICAgICAgYWxsb3dlZCBkYXRhIHJhdGUsIHBvd2VyIGFuZCBjb25zdGVsbGF0aW9uLgogICAg ICAgCiAgICAgICBQb3NzaWJsZSB2YWx1ZXMgZm9yIHRoaXMgb2JqZWN0IGFyZToKICAgICAgICAg cmVnaW9uMSAgICAgIC0gQW5uZXhlcyBBIGFuZCBGIChlLmcuIE5vcnRoIEFtZXJpY2EpCiAgICAg ICAgIHJlZ2lvbjIgICAgICAtIEFubmV4ZXMgQiBhbmQgRyAoZS5nLiBFdXJvcGUpCiAgICAgICAK ICAgICAgIEFubmV4IEEvQiBzcGVjaWZ5IHJlZ2lvbmFsIHNldHRpbmdzIGZvciBkYXRhIHJhdGVz IDE5Mi0yMzA0CiAgICAgICBLYnBzIHVzaW5nIDE2LVRDUEFNIGVuY29kaW5nLgogICAgICAgQW5u ZXggRi9HIHNwZWNpZnkgcmVnaW9uYWwgc2V0dGluZ3MgZm9yIHJhdGVzIDIzMjAtMzg0MCBLYnBz CiAgICAgICB1c2luZyAxNi1UQ1BBTSBlbmNvZGluZyBhbmQgNzY4LTU2OTYgS2JwcyB1c2luZyAz Mi1UQ1BBTQogICAgICAgZW5jb2RpbmcuCgogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRl cmZhY2UgdG8gdGhlIFBNRSBpcyBwcmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBwYXJ0 aWFsbHkgbWFwcyB0byB0aGUgUmVnaW9uIGJpdHMgaW4gdGhlIDJCIGdlbmVyYWwKICAgICAgIHBh cmFtZXRlciByZWdpc3Rlci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIu MS40MjsgW0cuOTkxLjJdIEFubmV4ZXMgQSwgQiwgRiBhbmQgRyIKICAgICA6Oj0geyBlZm1DdVBt ZTJCUHJvZmlsZUVudHJ5IDMgfQoKICAgZWZtQ3VQbWUyQnNNb2RlICBPQkpFQ1QtVFlQRQogICAg IFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJbmRleE9yWmVybwogICAgIE1BWC1BQ0NFU1MgIHJlYWQt Y3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAi RGVzaXJlZCBjdXN0b20gU3BlY3RyYWwgTW9kZSBmb3IgMkJBU0UtVEwgUE1FLiBUaGlzIG9iamVj dAogICAgICAgaXMgYSBwb2ludGVyIHRvIGFuIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxl IGFuZCBhIGJsb2NrCiAgICAgICBvZiBlbnRyaWVzIGluIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSwgd2hpY2ggdG9nZXRoZXIgZGVmaW5lCiAgICAgICAoY291bnRyeS1zcGVjaWZpYykgcmVhY2gg ZGVwZW5kZW50IHJhdGUgbGltaXRhdGlvbnMgaW4KICAgICAgIGFkZGl0aW9uIHRvIHRob3NlIGRl ZmluZWQgYnkgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAgICAgICBUaGUgdmFsdWUgb2YgdGhpcyBvYmpl Y3QgaXMgdGhlIGluZGV4IG9mIHRoZSByZWZlcmVuY2VkCiAgICAgICBzcGVjdHJhbCBtb2RlLgog ICAgICAgVGhlIHZhbHVlIG9mIHplcm8gKGRlZmF1bHQpIGluZGljYXRlcyB0aGF0IG5vIHNwZWNp ZmljCiAgICAgICBzcGVjdHJhbCBtb2RlIGlzIGFwcGxpY2FibGUuCgogICAgICAgQXR0ZW1wdHMg dG8gc2V0IHRoaXMgb2JqZWN0IHRvIGEgdmFsdWUgdGhhdCBpcyBub3QgdGhlIHZhbHVlCiAgICAg ICBvZiB0aGUgaW5kZXggZm9yIGFuIGFjdGl2ZSBlbnRyeSBpbiB0aGUgY29ycmVzcG9uZGluZyBz cGVjdHJhbAogICAgICAgbW9kZSB0YWJsZSwgTVVTVCBiZSByZWplY3RlZC4iCiAgICAgUkVGRVJF TkNFCiAgICAgICAiZWZtQ3VQbWUyQnNNb2RlVGFibGUsIGVmbUN1UG1lMkJSYXRlUmVhY2hUYWJs ZSIKICAgICBERUZWQUwgeyAwIH0KICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDQg fQoKICAgZWZtQ3VQbWUyQk1pbkRhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5z aWduZWQzMigxOTIuLjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VT UyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJNaW5pbXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRo aXMgb2JqZWN0IGNhbiB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBu PTMuLjYwIGZvciAxNi1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgog ICAgICAgCiAgICAgICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lk ZXJlZCAnZml4ZWQnIHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMg dGhhdCBvZiBlZm1DdVBtZTJCTWF4RGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0 YVJhdGUgaXMgbGVzcyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAg J2FkYXB0aXZlJywgYW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJh dGUKICAgICAgIG5vdCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUg c3BlY3RyYWwgCiAgICAgICBsaW1pdGF0aW9ucyBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdp b24gYW5kCiAgICAgICBlZm1DdVBtZTJCc01vZGUuCgogICAgICAgTm90ZSB0aGF0IGN1cnJlbnQg b3BlcmF0aW9uYWwgZGF0YSByYXRlIG9mIHRoZSBQTUUgaXMKICAgICAgIHJlcHJlc2VudGVkIGJ5 IGlmU3BlZWQgb2JqZWN0IG9mIElGLU1JQi4KCiAgICAgICBJZiBhIENsYXVzZSA0NSBNRElPIElu dGVyZmFjZSB0byB0aGUgUE1FIGlzIHByZXNlbnQsIHRoZW4gdGhpcwogICAgICAgb2JqZWN0IG1h cHMgdG8gdGhlIE1pbiBEYXRhIFJhdGUxIGJpdHMgaW4gdGhlIDJCIFBNRAogICAgICAgcGFyYW1l dGVycyByZWdpc3Rlci4KCiAgICAgICBUaGlzIG9iamVjdCBNVVNUIGJlIG1haW50YWluZWQgaW4g YSBwZXJzaXN0ZW50IG1hbm5lci4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1 LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5IDUgfQoKICAgZWZtQ3VQ bWUyQk1heERhdGFSYXRlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgVW5zaWduZWQzMigxOTIu LjU2OTYpCiAgICAgVU5JVFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVh dGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhp bXVtIERhdGEgUmF0ZSBmb3IgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoaXMgb2JqZWN0IGNh biB0YWtlIHZhbHVlcyBvZiAobiB4IDY0KUticHMsCiAgICAgICB3aGVyZSBuPTMuLjYwIGZvciAx Ni1UQ1BBTSBhbmQgbj0xMi4uODkgZm9yIDMyLVRDUEFNIGVuY29kaW5nLgogICAgICAgCiAgICAg ICBUaGUgZGF0YSByYXRlIG9mIHRoZSAyQkFTRS1UTCBQTUUgaXMgY29uc2lkZXJlZCAnZml4ZWQn IHdoZW4KICAgICAgIHRoZSB2YWx1ZSBvZiB0aGlzIG9iamVjdCBlcXVhbHMgdGhhdCBvZiBlZm1D dVBtZTJCTWluRGF0YVJhdGUuCiAgICAgICBJZiBlZm1DdVBtZTJCTWluRGF0YVJhdGUgaXMgbGVz cyB0aGFuIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSBpbgogICAgICAgdGhlIGFkbWluaXN0cmF0aXZl IHByb2ZpbGUsIHRoZSBkYXRhIHJhdGUgaXMgY29uc2lkZXJlZAogICAgICAgJ2FkYXB0aXZlJywg YW5kIFNIQUxMIGJlIHNldCB0byB0aGUgbWF4aW11bSBhdHRhaW5hYmxlIHJhdGUKICAgICAgIG5v dCBleGNlZWRpbmcgZWZtQ3VQbWUyQk1heERhdGFSYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwKICAg ICAgIGxpbWl0YXRpb25zIHBsYWNlZCBieSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQKICAgICAg IGVmbUN1UG1lMkJzTW9kZS4KCiAgICAgICBOb3RlIHRoYXQgY3VycmVudCBvcGVyYXRpb25hbCBk YXRhIHJhdGUgb2YgdGhlIFBNRSBpcwogICAgICAgcmVwcmVzZW50ZWQgYnkgaWZTcGVlZCBvYmpl Y3Qgb2YgSUYtTUlCLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRo ZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlzCiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgTWF4 IERhdGEgUmF0ZTEgYml0cyBpbiB0aGUgMkIgUE1ECiAgICAgICBwYXJhbWV0ZXJzIHJlZ2lzdGVy LgoKICAgICAgIFRoaXMgb2JqZWN0IE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQg bWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjQzIgogICAg IDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgNiB9CgogICBlZm1DdVBtZTJCUG93ZXIgIE9C SkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwfDEwLi40MikKICAgICBVTklU UyAgICAgICAiMC41IGRCbSIKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlNpZ25hbCBUcmFuc21pdCBQ b3dlci4gTXVsdGlwbGUgb2YgMC41ZEJtLgogICAgICAgVGhlIHZhbHVlIG9mIDAgaW4gdGhlIGFk bWluaXN0cmF0aXZlIHByb2ZpbGUgbWVhbnMgdGhhdCB0aGUKICAgICAgIHNpZ25hbCB0cmFuc21p dCBwb3dlciBpcyBub3QgZml4ZWQgYW5kIFNIQUxMIGJlIHNldCB0bwogICAgICAgbWF4aW1pemUg dGhlIGF0dGFpbmFibGUgcmF0ZSwgdW5kZXIgdGhlIHNwZWN0cmFsIGxpbWl0YXRpb25zCiAgICAg ICBwbGFjZWQgYnkgdGhlIGVmbUN1UG1lMkJSZWdpb24gYW5kIGVmbUN1UG1lMkJzTW9kZS4KICAg ICAgIAogICAgICAgSWYgYSBDbGF1c2UgNDUgTURJTyBJbnRlcmZhY2UgdG8gdGhlIFBNRSBpcyBw cmVzZW50LCB0aGVuIHRoaXMKICAgICAgIG9iamVjdCBtYXBzIHRvIHRoZSBQb3dlcjEgYml0cyBp biB0aGUgMkIgUE1EIHBhcmFtZXRlcnMKICAgICAgIHJlZ2lzdGVyIgogICAgIFJFRkVSRU5DRQog ICAgICAgIls4MDIuM2FoXSA0NS4yLjEuNDMiCiAgICAgOjo9IHsgZWZtQ3VQbWUyQlByb2ZpbGVF bnRyeSA3IH0KCiAgIGVmbUN1UG1lMkJDb25zdGVsbGF0aW9uICBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIElOVEVHRVIgewogICAgICAgYWRhcHRpdmUoMCksCiAgICAgICB0Y3BhbTE2KDEp LAogICAgICAgdGNwYW0zMigyKQogICAgIH0KICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQog ICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRDUEFNIENv bnN0ZWxsYXRpb24gb2YgdGhlIDJCQVNFLVRMIFBNRS4KICAgICAgIFRoZSBwb3NzaWJsZSB2YWx1 ZXMgYXJlOgogICAgICAgICBhZGFwdGl2ZSgwKSAgICAtIGVpdGhlciAxNi0gb3IgMzItVENQQU0K ICAgICAgICAgdGNwYW0xNigxKSAgICAgLSAxNi1UQ1BBTQogICAgICAgICB0Y3BhbTMyKDIpICAg ICAtIDMyLVRDUEFNCgogICAgICAgVGhlIHZhbHVlIG9mIGFkYXB0aXZlKDApIGluIHRoZSBhZG1p bmlzdHJhdGl2ZSBwcm9maWxlIG1lYW5zCiAgICAgICB0aGF0IHRoZSBjb25zdGVsbGF0aW9uIGlz IG5vdCBmaXhlZCBhbmQgU0hBTEwgYmUgc2V0IHRvCiAgICAgICBtYXhpbWl6ZSB0aGUgYXR0YWlu YWJsZSByYXRlLCB1bmRlciB0aGUgc3BlY3RyYWwgbGltaXRhdGlvbnMKICAgICAgIHBsYWNlZCBi eSB0aGUgZWZtQ3VQbWUyQlJlZ2lvbiBhbmQgZWZtQ3VQbWUyQnNNb2RlLgoKICAgICAgIElmIGEg Q2xhdXNlIDQ1IE1ESU8gSW50ZXJmYWNlIHRvIHRoZSBQTUUgaXMgcHJlc2VudCwgdGhlbiB0aGlz CiAgICAgICBvYmplY3QgbWFwcyB0byB0aGUgQ29uc3RlbGxhdGlvbjEgYml0cyBpbiB0aGUgMkIg Z2VuZXJhbAogICAgICAgcGFyYW1ldGVyIHJlZ2lzdGVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICAiWzgwMi4zYWhdIDQ1LjIuMS40MyIKICAgICA6Oj0geyBlZm1DdVBtZTJCUHJvZmlsZUVudHJ5 IDggfQoKICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMgT0JKRUNULVRZUEUKICAgICBTWU5U QVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRV UyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgb2JqZWN0IGNvbnRy b2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YKICAgICAgIHRoZSBhc3Nv Y2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJQcm9maWxlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdUFkbWluUHJvZmlsZSBvcgogICAgICAgZWZtQ3VQbWVBZG1pblByb2Zp bGUsIHRoZSBlbnRyeSBNVVNUIHJlbWFpbiAnYWN0aXZlJyB1bnRpbCBhbGwKICAgICAgIHJlZmVy ZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2FjdGl2ZScgZW50cnkgU0hBTEwgTk9UIGJl IG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4KICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0 IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5IHNldHRpbmcKICAgICAgIHRoaXMgb2Jq ZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQgYW5kIHNldCAnYWN0aXZlJwogICAgICAg YWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJQcm9maWxlRW50cnkgOSB9CgoKICAgZWZtQ3VQ bWUyQnNNb2RlVGFibGUgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBF Zm1DdVBtZTJCc01vZGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAg U1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSwg dG9nZXRoZXIgd2l0aCBlZm1DdTJCUmVhY2hSYXRlVGFibGUsIHN1cHBvcnRzCiAgICAgICBkZWZp bml0aW9uIG9mIGFkbWluaXN0cmF0aXZlIGN1c3RvbSBzcGVjdHJhbCBtb2RlcyBmb3IKICAgICAg IDJCQVNFLVRMIFBNRXMsIGRlc2NyaWJpbmcgc3BlY3RyYWwgbGltaXRhdGlvbnMgaW4gYWRkaXRp b24gdG8KICAgICAgIHRob3NlIHNwZWNpZmllZCBieSBlZm1DdVBtZTJCUmVnaW9uLgoKICAgICAg IFNvbWUgY291bnRyaWVzIHNwZWN0cmFsIHJlZ3VsYXRpb25zIChlLmcuIFVLIEFORlApIGxpbWl0 IHRoZQogICAgICAgbGVuZ3RoIG9mIHRoZSBsb29wcyBmb3IgY2VydGFpbiBkYXRhIHJhdGVzLiBU aGlzIHRhYmxlIGFsbG93cwogICAgICAgdGhlc2UgY291bnRyeS1zcGVjaWZpYyBsaW1pdGF0aW9u cyB0byBiZSBzcGVjaWZpZWQuCgogICAgICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5j ZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9kZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRp bCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVuY2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBU aGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRhaW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJlZm1DdTJCUmVhY2hSYXRlVGFibGUiCiAgICAgOjo9IHsgZWZt Q3VQbWUyQiAgMyB9CgogICBlZm1DdVBtZTJCc01vZGVFbnRyeSBPQkpFQ1QtVFlQRQogICAgIFNZ TlRBWCAgICAgIEVmbUN1UG1lMkJzTW9kZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJF YWNoIGVudHJ5IHNwZWNpZmllcyBzcGVjdHJhbCBtb2RlIGRlc2NyaXB0aW9uIGFuZCBpdHMgaW5k ZXgsCiAgICAgICB3aGljaCBpcyB1c2VkIHRvIHJlZmVyZW5jZSBjb3JyZXNwb25kaW5nIGVudHJp ZXMgaW4gdGhlCiAgICAgICBlZm1DdTJCUmVhY2hSYXRlVGFibGUuCiAgICAgICAKICAgICAgIEVu dHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAg ICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMuIgogICAg IElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXggfQogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9k ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQnNNb2RlRW50cnkgOjo9CiAgICAgU0VRVUVOQ0Ugewog ICAgICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggICAgICAgICAgICAgRWZtUHJvZmlsZUluZGV4LAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlRGVzY3IgICAgICAgICAgICAgU25tcEFkbWluU3RyaW5nLAog ICAgICAgZWZtQ3VQbWUyQnNNb2RlUm93U3RhdHVzICAgICAgICAgUm93U3RhdHVzCiAgICAgfQoK ICAgZWZtQ3VQbWUyQnNNb2RlSW5kZXggT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1Q cm9maWxlSW5kZXgKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAg ICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIjJCQVNFLVRMIFBNRSBTcGVjdHJh bCBNb2RlIGluZGV4LgogICAgICAgVGhpcyBvYmplY3QgaXMgdGhlIHVuaXF1ZSBpbmRleCBhc3Nv Y2lhdGVkIHdpdGggdGhpcyBzcGVjdHJhbAogICAgICAgbW9kZS4KICAgICAgIEVudHJpZXMgaW4g dGhpcyB0YWJsZSBhcmUgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlCiAgICAgICBvYmpl Y3QuIgogICAgIDo6PSB7IGVmbUN1UG1lMkJzTW9kZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQnNN b2RlRGVzY3IgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBTbm1wQWRtaW5TdHJpbmcKICAg ICBNQVgtQUNDRVNTICByZWFkLWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBE RVNDUklQVElPTgogICAgICAgIkEgdGV4dHVhbCBzdHJpbmcgY29udGFpbmluZyBpbmZvcm1hdGlv biBhYm91dCAyQkFTRS1UTCBQTUUKICAgICAgIHNwZWN0cmFsIG1vZGUuIFRoZSBzdHJpbmcgbWF5 IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgIGNvcnJlc3BvbmRpbmcgKGNvdW50cnkt c3BlY2lmaWMpIHNwZWN0cmFsIHJlZ3VsYXRpb25zCiAgICAgICBhbmQgcmF0ZS9yZWFjaCBsaW1p dGF0aW9ucyBvZiB0aGlzIHBhcnRpY3VsYXIgc3BlY3RyYWwgbW9kZS4iCiAgICAgOjo9IHsgZWZt Q3VQbWUyQnNNb2RlRW50cnkgMiB9CgogICBlZm1DdVBtZTJCc01vZGVSb3dTdGF0dXMgT0JKRUNU LVRZUEUKICAgICBTWU5UQVggICAgICBSb3dTdGF0dXMKICAgICBNQVgtQUNDRVNTICByZWFkLWNy ZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRo aXMgb2JqZWN0IGNvbnRyb2xzIGNyZWF0aW9uLCBtb2RpZmljYXRpb24gb3IgZGVsZXRpb24gb2YK ICAgICAgIHRoZSBhc3NvY2lhdGVkIGVudHJ5IGluIGVmbUN1UG1lMkJzTW9kZVRhYmxlIHBlciB0 aGUgc2VtYW50aWNzCiAgICAgICBvZiBSb3dTdGF0dXMuCgogICAgICAgSWYgYW4gJ2FjdGl2ZScg ZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEgZWZtQ3VQbWUyQnNNb2RlLCB0aGUKICAgICAgIGVudHJ5 IE1VU1QgcmVtYWluICdhY3RpdmUnIHVudGlsIGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLgoK ICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4gSW4gb3JkZXIg dG8gbW9kaWZ5IGFuCiAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRha2VuIG91dCBv ZiBzZXJ2aWNlIChieSBzZXR0aW5nCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90SW5TZXJ2aWNl JyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScKICAgICAgIGFnYWluLiIKICAgICA6Oj0geyBl Zm1DdVBtZTJCc01vZGVFbnRyeSAzIH0KCgogICBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgT0JK RUNULVRZUEUKICAgICBTWU5UQVggICAgICBTRVFVRU5DRSBPRiBFZm1DdVBtZTJCUmVhY2hSYXRl RW50cnkKICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIlRoaXMgdGFibGUgc3VwcG9ydHMgZGVmaW5p dGlvbiBvZiBhZG1pbmlzdHJhdGl2ZSBjdXN0b20KICAgICAgIHNwZWN0cmFsIG1vZGVzIGZvciAy QkFTRS1UTCBQTUVzLCBwcm92aWRpbmcgc3BlY3RyYWwKICAgICAgIGxpbWl0YXRpb25zIGluIGFk ZGl0aW9uIHRvIHRob3NlIHNwZWNpZmllZCBieQogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbi4KCiAg ICAgICBUaGUgc3BlY3RyYWwgcmVndWxhdGlvbnMgaW4gc29tZSBjb3VudHJpZXMgKGUuZy4gVUsg QU5GUCkKICAgICAgIGxpbWl0IHRoZSBsZW5ndGggb2YgdGhlIGxvb3BzIGZvciBjZXJ0YWluIGRh dGEgcmF0ZXMuCiAgICAgICBUaGlzIHRhYmxlIGFsbG93cyB0aGVzZSBjb3VudHJ5LXNwZWNpZmlj IGxpbWl0YXRpb25zIHRvIGJlCiAgICAgICBzcGVjaWZpZWQuCgogICAgICAgQmVsb3cgaXMgYW4g ZXhhbXBsZSBvZiB0aGlzIHRhYmxlIGZvciBbQU5GUF06CiAgICAgICAtLS0tLS0tLS0tKy0tLS0t LS0rLS0tLS0tLSsKICAgICAgIEVxdWl2YWxlbnQgTWF4UmF0ZSBNYXhSYXRlCiAgICAgICAgIExl bmd0aCAgICBQQU0xNiAgIFBBTTMyCiAgICAgICAgICAgKG0pICAgICAoS2JwcykgIChLYnBzKQog ICAgICAgLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0rCiAgICAgICAgICAgOTc1ICAgICAgMjMw NCAgICA1Njk2CiAgICAgICAgICAxMTI1ICAgICAgMjMwNCAgICA1NTA0CiAgICAgICAgICAxMjc1 ICAgICAgMjMwNCAgICA1MTIwCiAgICAgICAgICAxMzUwICAgICAgMjMwNCAgICA0ODY0CiAgICAg ICAgICAxNDI1ICAgICAgMjMwNCAgICA0NTQ0CiAgICAgICAgICAxNTAwICAgICAgMjMwNCAgICA0 Mjg4CiAgICAgICAgICAxNTc1ICAgICAgMjMwNCAgICAzOTY4CiAgICAgICAgICAxNjUwICAgICAg MjMwNCAgICAzNzc2CiAgICAgICAgICAxNzI1ICAgICAgMjMwNCAgICAzNTIwCiAgICAgICAgICAx ODAwICAgICAgMjMwNCAgICAzMjY0CiAgICAgICAgICAxODc1ICAgICAgMjMwNCAgICAzMDcyCiAg ICAgICAgICAxOTUwICAgICAgMjA0OCAgICAyNjg4CiAgICAgICAgICAyMTAwICAgICAgMTc5MiAg ICAyMzY4CiAgICAgICAgICAyMjUwICAgICAgMTUzNiAgICAgICAwCiAgICAgICAgICAyNDAwICAg ICAgMTQwOCAgICAgICAwCiAgICAgICAgICAyNTUwICAgICAgMTI4MCAgICAgICAwCiAgICAgICAg ICAyNzc1ICAgICAgMTE1MiAgICAgICAwCiAgICAgICAgICAyOTI1ICAgICAgMTE1MiAgICAgICAw CiAgICAgICAgICAzMTUwICAgICAgMTA4OCAgICAgICAwCiAgICAgICAgICAzMzc1ICAgICAgMTAy NCAgICAgICAwCiAgICAgICAtLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLSsgICAgICAgCgogICAg ICAgRW50cmllcyBpbiB0aGlzIHRhYmxlIHJlZmVyZW5jZWQgYnkgdGhlIGVmbUN1UG1lMkJzTW9k ZQogICAgICAgTVVTVCBOT1QgYmUgZGVsZXRlZCB1bnRpbCBhbGwgdGhlIGFjdGl2ZSByZWZlcmVu Y2VzIGFyZQogICAgICAgcmVtb3ZlZC4KCiAgICAgICBUaGlzIHRhYmxlIE1VU1QgYmUgbWFpbnRh aW5lZCBpbiBhIHBlcnNpc3RlbnQgbWFubmVyLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbQU5G UF0iCiAgICAgOjo9IHsgZWZtQ3VQbWUyQiAgNCB9CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlRW50 cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkK ICAgICBNQVgtQUNDRVNTICBub3QtYWNjZXNzaWJsZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQK ICAgICBERVNDUklQVElPTgogICAgICAgIkVhY2ggZW50cnkgc3BlY2lmaWVzIG1heGltdW0gMkJB U0UtVEwgUE1FIGRhdGEgcmF0ZXMKICAgICAgIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBlcXVpdmFs ZW50IGxvb3AgbGVuZ3RoLCB3aGVuIHVzaW5nIAogICAgICAgMTYtVENQQU0gb3IgMzItVENQQU0g ZW5jb2RpbmcuCgogICAgICAgV2hlbiAyQkFTRS1UTCBQTUUgaXMgaW5pdGlhbGl6ZWQsIGl0cyBk YXRhIHJhdGUgTVVTVCBOT1QKICAgICAgIGV4Y2VlZCBvbmUgb2YgdGhlIGZvbGxvd2luZyBsaW1p dGF0aW9uczoKICAgICAgIC0gdGhlIHZhbHVlIG9mIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZQogICAg ICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBhbGxvd2VkIGJ5IGVmbUN1UG1lMkJSZWdpb24gYW5kCiAg ICAgICAgIGVmbUN1UG1lMkJQb3dlcgogICAgICAgLSBtYXhpbXVtIGRhdGEgcmF0ZSBmb3IgYSBn aXZlbiBlbmNvZGluZyBzcGVjaWZpZWQgaW4gdGhlCiAgICAgICAgIGVmbUN1UG1lMkJzTW9kZUVu dHJ5LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBlcXVpdmFsZW50IGxvb3AKICAgICAgICAgbGVuZ3Ro LCBlc3RpbWF0ZWQgYnkgdGhlIFBNRS4KICAgICAgIAogICAgICAgSXQgaXMgUkVDT01NRU5ERUQg dGhhdCB0aGUgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggdmFsdWVzCiAgICAgICBhcmUgYXNz aWduZWQgaW4gdGhlIGluY3JlYXNpbmcgb3JkZXIsIHN0YXJ0aW5nIGZyb20gdGhlCiAgICAgICBt aW5pbXVtIHZhbHVlLgoKICAgICAgIEVudHJpZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRlZCB1c2lu ZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBlZm1DdVBt ZTJSZWFjaFJhdGVSb3dTdGF0dXMuIgogICAgIElOREVYIHsgZWZtQ3VQbWUyQnNNb2RlSW5kZXgs IGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCB9CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0 ZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDo6PQogICAgIFNFUVVFTkNF IHsKICAgICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVJbmRleCAgICAgICAgIEVmbVByb2ZpbGVJbmRl eCwKICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoICAgICAgIFVuc2lnbmVkMzIsCiAg ICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0xNiAgICAgICBVbnNpZ25lZDMyLAogICAgICAg ZWZtQ3VQbWUyQk1heERhdGFSYXRlUGFtMzIgICAgICAgVW5zaWduZWQzMiwKICAgICAgIGVmbUN1 UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMgICAgIFJvd1N0YXR1cwogICAgIH0KCiAgIGVmbUN1UG1l MkJSZWFjaFJhdGVJbmRleCBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIEVmbVByb2ZpbGVJ bmRleAogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiMkJBU0UtVEwgY3VzdG9tIHNwZWN0cmFsIG1v ZGUgUmVhY2gtUmF0ZSB0YWJsZSBpbmRleC4KICAgICAgIFRoaXMgb2JqZWN0IGlzIHRoZSB1bmlx dWUgaW5kZXggYXNzb2NpYXRlZCB3aXRoIGVhY2ggZW5yeS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUy QlJlYWNoUmF0ZUVudHJ5IDEgfQoKICAgZWZtQ3VQbWUyQkVxdWl2YWxlbnRMZW5ndGggIE9CSkVD VC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigwLi44MTkyKQogICAgIFVOSVRTICAg ICAgICJtIgogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiTWF4aW11bSBhbGxvd2VkIEVxdWl2YWxlbnQg bG9vcCdzIFBoeXNpY2FsIExlbmd0aCBpbiBtZXRlcnMKICAgICAgIGZvciB0aGUgc3BlY2lmaWVk IGRhdGEgcmF0ZXMuCiAgICAgICBBbiBlcXVpdmFsZW50IGxvb3AgaXMgYSBoeXBvdGhldGljYWwg MjZBV0cgKDAuNG1tKSBsb29wIHdpdGggYQogICAgICAgcGVyZmVjdCBzcXVhcmUgcm9vdCBhdHRl bnVhdGlvbiBjaGFyYWN0ZXJpc3RpYywgd2l0aG91dCBhbnkKICAgICAgIGJyaWRnZWQgdGFwcy4i CiAgICAgOjo9IHsgZWZtQ3VQbWUyQlJlYWNoUmF0ZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUyQk1h eERhdGFSYXRlUGFtMTYgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgVW5zaWduZWQzMigw fDE5Mi4uNTY5NikKICAgICBVTklUUyAgICAgICAiS2JwcyIKICAgICBNQVgtQUNDRVNTICByZWFk LWNyZWF0ZQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAg Ik1heGltdW0gZGF0YSByYXRlIGZvciAyQkFTRS1UTCBQTUUgYXQgdGhlIHNwZWNpZmllZAogICAg ICAgRXF1aXZhbGVudCBsb29wJ3MgTGVuZ3RoIHVzaW5nIFRDLVBBTTE2IGVuY29kaW5nLgogICAg ICAgVGhlIHZhbHVlIG9mIHplcm8gbWVhbnMgdGhhdCBUQy1QQU0xNiBlbmNvZGluZyBzaG91bGQg bm90IGJlCiAgICAgICB1c2VkIGF0IHRoaXMgZGlzdGFuY2UuIgogICAgIDo6PSB7IGVmbUN1UG1l MkJSZWFjaFJhdGVFbnRyeSAzIH0KCiAgIGVmbUN1UG1lMkJNYXhEYXRhUmF0ZVBhbTMyICBPQkpF Q1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFVuc2lnbmVkMzIoMHwxOTIuLjU2OTYpCiAgICAgVU5J VFMgICAgICAgIkticHMiCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJNYXhpbXVtIGRhdGEgcmF0ZSBm b3IgMkJBU0UtVEwgUE1FIGF0IHRoZSBzcGVjaWZpZWQKICAgICAgIEVxdWl2YWxlbnQgbG9vcCdz IExlbmd0aCB1c2luZyBUQy1QQU0zMiBlbmNvZGluZy4KICAgICAgIFRoZSB2YWx1ZSBvZiB6ZXJv IG1lYW5zIHRoYXQgVEMtUEFNMzIgZW5jb2Rpbmcgc2hvdWxkIG5vdCBiZQogICAgICAgdXNlZCBh dCB0aGlzIGRpc3RhbmNlLiIKICAgICA6Oj0geyBlZm1DdVBtZTJCUmVhY2hSYXRlRW50cnkgNCB9 CgogICBlZm1DdVBtZTJCUmVhY2hSYXRlUm93U3RhdHVzIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFY ICAgICAgUm93U3RhdHVzCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMg ICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIG9iamVjdCBjb250cm9s cyBjcmVhdGlvbiwgbW9kaWZpY2F0aW9uIG9yIGRlbGV0aW9uIG9mCiAgICAgICB0aGUgYXNzb2Np YXRlZCBlbnRyeSBpbiBlZm1DdVBtZTJCUmVhY2hSYXRlVGFibGUgcGVyIHRoZQogICAgICAgc2Vt YW50aWNzIG9mIFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiAnYWN0aXZlJyBlbnRyeSBpcyByZWZl cmVuY2VkIHZpYSBlZm1DdVBtZTJCc01vZGUsIHRoZQogICAgICAgZW50cnkgTVVTVCByZW1haW4g J2FjdGl2ZScgdW50aWwgYWxsIHJlZmVyZW5jZXMgYXJlIHJlbW92ZWQuCgogICAgICAgQW4gJ2Fj dGl2ZScgZW50cnkgU0hBTEwgTk9UIGJlIG1vZGlmaWVkLiBJbiBvcmRlciB0byBtb2RpZnkgYW4K ICAgICAgIGV4aXN0aW5nIGVudHJ5IGl0IE1VU1QgYmUgdGFrZW4gb3V0IG9mIHNlcnZpY2UgKGJ5 IHNldHRpbmcKICAgICAgIHRoaXMgb2JqZWN0IHRvICdub3RJblNlcnZpY2UnKSwgbW9kaWZpZWQg YW5kIHNldCAnYWN0aXZlJwogICAgICAgYWdhaW4uIgogICAgIDo6PSB7IGVmbUN1UG1lMkJSZWFj aFJhdGVFbnRyeSA1IH0KCgogIC0tIDEwUEFTUy1UUyBzcGVjaWZpYyBQTUUgZ3JvdXAKCiAgIGVm bUN1UG1lMTBQICAgICAgT0JKRUNUIElERU5USUZJRVIgOjo9IHsgZWZtQ3VQbWUgNiB9CgogICBl Zm1DdVBtZTEwUFByb2ZpbGVUYWJsZSBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNFUVVF TkNFIE9GIEVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vz c2libGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJU aGlzIHRhYmxlIHN1cHBvcnRzIGRlZmluaXRpb25zIG9mIGNvbmZpZ3VyYXRpb24gcHJvZmlsZXMg Zm9yCiAgICAgICAxMFBBU1MtVFMgUE1Fcy4KICAgICAgIEZpcnN0IDIyIGVudHJpZXMgaW4gdGhp cyB0YWJsZSBTSEFMTCBhbHdheXMgYmUgZGVmaW5lZCBhcwogICAgICAgZm9sbG93cyAoc2VlIDgw Mi4zYWggQW5uZXggNjJCLjMpOgogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0t LSstLS0tLSstLS0tLS0tLS0tLS0KICAgICAgIFByb2ZpbGUgQmFuZHBsYW4gVVBCTyBCYW5kTm90 Y2ggRFJhdGUgVVJhdGUKICAgICAgICBJbmRleCAgUFNETWFzayMgIHAjICAgIHAjICAgICAgICBw IyAgICBwIwogICAgICAgLS0tLS0tLSstLS0tLS0tLSstLS0tKy0tLS0tLS0tLSstLS0tLSstLS0t LS0tLS0tLS0KICAgICAgICAgIDEgICAgICAxICAgICAgMyAgICAyLDYsMTAsMTEgICAgMjAgICAg MjAoZGVmYXVsdCkKICAgICAgICAgIDIgICAgIDEzICAgICAgNSAgICAwICAgICAgICAgICAgMjAg ICAgMjAKICAgICAgICAgIDMgICAgICAxICAgICAgMSAgICAwICAgICAgICAgICAgMjAgICAgMjAK ICAgICAgICAgIDQgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAxMDAgICAxMDAKICAgICAg ICAgIDUgICAgIDE2ICAgICAgMCAgICAwICAgICAgICAgICAgNzAgICAgNTAKICAgICAgICAgIDYg ICAgICA2ICAgICAgMCAgICAwICAgICAgICAgICAgNTAgICAgMTAKICAgICAgICAgIDcgICAgIDE3 ICAgICAgMCAgICAwICAgICAgICAgICAgMzAgICAgMzAKICAgICAgICAgIDggICAgICA4ICAgICAg MCAgICAwICAgICAgICAgICAgMzAgICAgIDUKICAgICAgICAgIDkgICAgICA0ICAgICAgMCAgICAw ICAgICAgICAgICAgMjUgICAgMjUKICAgICAgICAgMTAgICAgICA0ICAgICAgMCAgICAwICAgICAg ICAgICAgMTUgICAgMTUKICAgICAgICAgMTEgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAg MTAgICAgMTAKICAgICAgICAgMTIgICAgIDIzICAgICAgMCAgICAwICAgICAgICAgICAgIDUgICAg IDUKICAgICAgICAgMTMgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAxMDAgICAxMDAKICAg ICAgICAgMTQgICAgIDE2ICAgICAgMCAgICAyLDUsOSwxMSAgICAgNzAgICAgNTAKICAgICAgICAg MTUgICAgICA2ICAgICAgMCAgICAyLDYsMTAsMTEgICAgNTAgICAgMTAKICAgICAgICAgMTYgICAg IDE3ICAgICAgMCAgICAyLDUsOSwxMSAgICAgMzAgICAgMzAKICAgICAgICAgMTcgICAgICA4ICAg ICAgMCAgICAyLDYsMTAsMTEgICAgMzAgICAgIDUKICAgICAgICAgMTggICAgICA0ICAgICAgMCAg ICAyLDYsMTAsMTEgICAgMjUgICAgMjUKICAgICAgICAgMTkgICAgICA0ICAgICAgMCAgICAyLDYs MTAsMTEgICAgMTUgICAgMTUKICAgICAgICAgMjAgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAg ICAgMTAgICAgMTAKICAgICAgICAgMjEgICAgIDIzICAgICAgMCAgICAyLDUsOSwxMSAgICAgIDUg ICAgIDUKICAgICAgICAgMjIgICAgIDMwICAgICAgMCAgICAwICAgICAgICAgICAyMDAgICAgNTAK CiAgICAgICBUaGVzZSBkZWZhdWx0IGVudHJpZXMgU0hBTEwgYmUgY3JlYXRlZCBieSBkdXJpbmcg YWdlbnQKICAgICAgIGluaXRpYWxpemF0aW9uIGFuZCBNVVNUIE5PVCBiZSBkZWxldGVkLgoKICAg ICAgIEVudHJpZXMgZm9sbG93aW5nIHRoZSBmaXJzdCAyMiwgY2FuIGJlIGR5bmFtaWNhbGx5IGNy ZWF0ZWQgYW5kCiAgICAgICBkZWxldGVkLCB0byBwcm92aWRlIGN1c3RvbSBhZG1pbmlzdHJhdGl2 ZSAoY29uZmlndXJhdGlvbikKICAgICAgIHByb2ZpbGVzIGFuZCBhdXRvbWF0aWMgb3BlcmF0aW5n IHByb2ZpbGVzLgoKICAgICAgIFRoaXMgdGFibGUgTVVTVCBiZSBtYWludGFpbmVkIGluIGEgcGVy c2lzdGVudCBtYW5uZXIuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2 MkIuMywgMzAuMTEuMi4xLjYiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFAgIDEgfQoKICAgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgT0JKRUNULVRZUEUKICAgICBTWU5UQVggICAgICBFZm1DdVBtZTEw UFByb2ZpbGVFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiRWFjaCBlbnRyeSBjb3JyZXNw b25kcyB0byBhIHNpbmdsZSAxMFBBU1MtVFMgUE1FCiAgICAgICBwcm9maWxlLgogICAgICAgRWFj aCBwcm9maWxlIGNvbnRhaW5zIGEgc2V0IG9mIHBhcmFtZXRlcnMsIHVzZWQgZWl0aGVyIGZvcgog ICAgICAgY29uZmlndXJhdGlvbiBvciByZXByZXNlbnRhdGlvbiBvZiBhIDEwUEFTUy1UUyBQTUUu ICAKICAgICAgIEluIGNhc2UgYSBwYXJ0aWN1bGFyIHByb2ZpbGUgaXMgcmVmZXJlbmNlZCB2aWEK ICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIG9iamVjdCAob3IgZWZtQ3VBZG1pblByb2ZpbGUg aWYKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlIGlzIHplcm8pLCBpdCByZXByZXNlbnQgdGhl IGRlc2lyZWQKICAgICAgIHBhcmFtZXRlcnMgdGhlIDEwUGFzc1RTLU8gUE1FIGluaXRpYWxpemF0 aW9uLgogICAgICAgSWYgYSBwcm9maWxlIGlzIHJlZmVyZW5jZWQgdmlhIGVmbUN1UG1lT3BlclBy b2ZpbGUgb2JqZWN0LAogICAgICAgaXQgcmVwcmVzZW50cyBjdXJyZW50IG9wZXJhdGluZyBwYXJh bWV0ZXJzIG9mIHRoZSBQTUUuCgogICAgICAgUHJvZmlsZXMgbWF5IGJlIGNyZWF0ZWQvZGVsZXRl ZCB1c2luZyB0aGUgcm93IGNyZWF0aW9uLwogICAgICAgZGVsZXRpb24gbWVjaGFuaXNtIHZpYSBl Zm1DdVBtZTEwUFByb2ZpbGVSb3dTdGF0dXMuIElmIGFuCiAgICAgICAnYWN0aXZlJyBlbnRyeSBp cyByZWZlcmVuY2VkLCB0aGUgZW50cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScKICAgICAgIHVudGls IGFsbCByZWZlcmVuY2VzIGFyZSByZW1vdmVkLgogICAgICAgRGVmYXVsdCBlbnRyaWVzIE1VU1Qg Tk9UIGJlIHJlbW92ZWQuIgogICAgIElOREVYIHsgZWZtQ3VQbWUxMFBQcm9maWxlSW5kZXggfQog ICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZVRhYmxlIDEgfQoKICAgRWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgOjo9CiAgICAgU0VRVUVOQ0UgewogICAgICAgZWZtQ3VQbWUxMFBQcm9maWxlSW5k ZXggICAgICAgICAgIEVmbVByb2ZpbGVJbmRleCwKICAgICAgIGVmbUN1UG1lMTBQUHJvZmlsZURl c2NyICAgICAgICAgICBTbm1wQWRtaW5TdHJpbmcsCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFu UFNETXNrUHJvZmlsZSAgSU5URUdFUiwKICAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVBy b2ZpbGUgICBJTlRFR0VSLAogICAgICAgZWZtQ3VQbWUxMFBCYW5kTm90Y2hQcm9maWxlcyAgICAg IEJJVFMsCiAgICAgICBlZm1DdVBtZTEwUFBheWxvYWRVUmF0ZVByb2ZpbGUgICAgSU5URUdFUiwK ICAgICAgIGVmbUN1UG1lMTBQUGF5bG9hZERSYXRlUHJvZmlsZSAgICBJTlRFR0VSLAogICAgICAg ZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzICAgICAgIFJvd1N0YXR1cwogICAgIH0KCiAgIGVm bUN1UG1lMTBQUHJvZmlsZUluZGV4IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgRWZtUHJv ZmlsZUluZGV4CiAgICAgTUFYLUFDQ0VTUyAgbm90LWFjY2Vzc2libGUKICAgICBTVEFUVVMgICAg ICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICIxMFBBU1MtVFMgUE1FIFByb2ZpbGUg SW5kZXguCiAgICAgICBUaGlzIG9iamVjdCBpcyB0aGUgdW5pcXVlIGluZGV4IGFzc29jaWF0ZWQg d2l0aCB0aGlzIHByb2ZpbGUuCiAgICAgICBFbnRyaWVzIGluIHRoaXMgdGFibGUgYXJlIHJlZmVy ZW5jZWQgdmlhIGVmbUN1QWRtaW5Qcm9maWxlIG9yCiAgICAgICBlZm1DdVBtZUFkbWluUHJvZmls ZS4iCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxlRW50cnkgMSB9CgogICBlZm1DdVBtZTEw UFByb2ZpbGVEZXNjciBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFNubXBBZG1pblN0cmlu ZwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSB0ZXh0dWFsIHN0cmluZyBjb250YWluaW5nIGluZm9y bWF0aW9uIGFib3V0IDEwUEFTUy1UUyBQTUUKICAgICAgIFByb2ZpbGUuIFRoZSBzdHJpbmcgbWF5 IGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgZGF0YSByYXRlCiAgICAgICBhbmQgc3BlY3RyYWwg bGltaXRhdGlvbnMgb2YgdGhpcyBwYXJ0aWN1bGFyIHByb2ZpbGUuIgogICAgIDo6PSB7IGVmbUN1 UG1lMTBQUHJvZmlsZUVudHJ5IDIgfQoKICAgZWZtQ3VQbWUxMFBCYW5kcGxhblBTRE1za1Byb2Zp bGUgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICBJTlRFR0VSIHsKICAgICAgIHByb2ZpbGUxKDEp LAogICAgICAgcHJvZmlsZTIoMiksCiAgICAgICBwcm9maWxlMygzKSwKICAgICAgIHByb2ZpbGU0 KDQpLAogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlNig2KSwKICAgICAgIHByb2Zp bGU3KDcpLAogICAgICAgcHJvZmlsZTgoOCksCiAgICAgICBwcm9maWxlOSg5KSwKICAgICAgIHBy b2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTEoMTEpLAogICAgICAgcHJvZmlsZTEyKDEyKSwK ICAgICAgIHByb2ZpbGUxMygxMyksCiAgICAgICBwcm9maWxlMTQoMTQpLAogICAgICAgcHJvZmls ZTE1KDE1KSwKICAgICAgIHByb2ZpbGUxNigxNiksCiAgICAgICBwcm9maWxlMTcoMTcpLAogICAg ICAgcHJvZmlsZTE4KDE4KSwKICAgICAgIHByb2ZpbGUxOSgxOSksCiAgICAgICBwcm9maWxlMjAo MjApLAogICAgICAgcHJvZmlsZTIxKDIxKSwKICAgICAgIHByb2ZpbGUyMigyMiksCiAgICAgICBw cm9maWxlMjMoMjMpLAogICAgICAgcHJvZmlsZTI0KDI0KSwKICAgICAgIHByb2ZpbGUyNSgyNSks CiAgICAgICBwcm9maWxlMjYoMjYpLAogICAgICAgcHJvZmlsZTI3KDI3KSwKICAgICAgIHByb2Zp bGUyOCgyOCksCiAgICAgICBwcm9maWxlMjkoMjkpCiAgICAgfQogICAgIE1BWC1BQ0NFU1MgIHJl YWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAg ICAiMTBQQVNTLVRTIFBNRSBCYW5kcGxhbiBhbmQgUFNEIE1hc2sgcHJvZmlsZSwKICAgICAgIGFz IHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVzIGFyZToKICAg ICAgIC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSst LS0tLS0tLS0KICAgICAgIFByb2ZpbGUgTmFtZSAgICBQU0QgTWFzayAgICAgICAgICAgICAgICAg IEJhbmRzICAgICBCYW5kcGxhbgogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLQogICAgICAgcHJvZmlsZTEoMSkgICAtIFQx LjQyNC9ULVUgUDEgRlRUQ2FiLk0xICB4L0QvVS9EL1UgIEEKICAgICAgIHByb2ZpbGUyKDIpICAg LSBUMS40MjQvVC1VIFAxIEZUVEV4Lk0xCiAgICAgICBwcm9maWxlMygzKSAgIC0gVDEuNDI0L1Qt VSBQMSBGVFRDYWIuTTIKICAgICAgIHByb2ZpbGU0KDQpICAgLSBUMS40MjQvVC1VIFAxIEZUVEV4 Lk0yCiAgICAgICBwcm9maWxlNSg1KSAgIC0gVDEuNDI0L1QtVSBQMSBGVFRDYWIuTTEgIEQvRC9V L0QvVQogICAgICAgcHJvZmlsZTYoNikgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTEKICAgICAg IHByb2ZpbGU3KDcpICAgLSBUMS40MjQvVC1VIFAxIEZUVENhYi5NMgogICAgICAgcHJvZmlsZTgo OCkgICAtIFQxLjQyNC9ULVUgUDEgRlRURXguTTIKICAgICAgIHByb2ZpbGU5KDkpICAgLSBUMS40 MjQvVC1VIFAxIEZUVENhYi5NMSAgVS9EL1UvRC94CiAgICAgICBwcm9maWxlMTAoMTApIC0gVDEu NDI0L1QtVSBQMSBGVFRFeC5NMQogICAgICAgcHJvZmlsZTExKDExKSAtIFQxLjQyNC9ULVUgUDEg RlRUQ2FiLk0yCiAgICAgICBwcm9maWxlMTIoMTIpIC0gVDEuNDI0L1QtVSBQMSBGVFRFeC5NMgog ICAgICAgcHJvZmlsZTEzKDEzKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5BICB4L0QvVS9EL1Ug IEIKICAgICAgIHByb2ZpbGUxNCgxNCkgLSBUUzEgMTAxIDI3MC0xIFBjYWIuTTEuQgogICAgICAg cHJvZmlsZTE1KDE1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAxLk0xCiAgICAgICBwcm9maWxlMTYo MTYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTEKICAgICAgIHByb2ZpbGUxNygxNykgLSBUUzEg MTAxIDI3MC0xIFBjYWIuTTIKICAgICAgIHByb2ZpbGUxOCgxOCkgLSBUUzEgMTAxIDI3MC0xIFBl eC5QMS5NMgogICAgICAgcHJvZmlsZTE5KDE5KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAyLk0yCiAg ICAgICBwcm9maWxlMjAoMjApIC0gVFMxIDEwMSAyNzAtMSBQY2FiLk0xLkEgIFUvRC9VL0QveAog ICAgICAgcHJvZmlsZTIxKDIxKSAtIFRTMSAxMDEgMjcwLTEgUGNhYi5NMS5CCiAgICAgICBwcm9m aWxlMjIoMjIpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDEuTTEKICAgICAgIHByb2ZpbGUyMygyMykg LSBUUzEgMTAxIDI3MC0xIFBleC5QMi5NMQogICAgICAgcHJvZmlsZTI0KDI0KSAtIFRTMSAxMDEg MjcwLTEgUGNhYi5NMgogICAgICAgcHJvZmlsZTI1KDI1KSAtIFRTMSAxMDEgMjcwLTEgUGV4LlAx Lk0yCiAgICAgICBwcm9maWxlMjYoMjYpIC0gVFMxIDEwMSAyNzAtMSBQZXguUDIuTTIKICAgICAg IHByb2ZpbGUyNygyNykgLSBHLjk5My4xIEYuMS4yLjEgKFZEU0xvUE9UUykgeC9EL1UvRC9VICBG CiAgICAgICBwcm9maWxlMjgoMjgpIC0gRy45OTMuMSBGLjEuMi4yIChWRFNMb1RDTS1JU0ROKQog ICAgICAgcHJvZmlsZTI5KDI5KSAtIEcuOTkzLjEgRi4xLjIuMyAoUFNEIHJlZHVjdGlvbikKCiAg ICAgICBUaGlzIG9iamVjdCBtYXBzIHRvIHRoZSBhQmFuZHBsYW5QU0RNYXNrUHJvZmlsZSBhdHRy aWJ1dGUKICAgICAgIGluIENsYXVzZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4z YWhdIEFubmV4IDYyQSwgMzAuNS4xLjEuMjIiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9maWxl RW50cnkgMyB9CgogICBlZm1DdVBtZTEwUFVQQk9SZWZlcmVuY2VQcm9maWxlICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlMSgxKSwKICAgICAgIHByb2Zp bGUyKDIpLAogICAgICAgcHJvZmlsZTMoMyksCiAgICAgICBwcm9maWxlNCg0KSwKICAgICAgIHBy b2ZpbGU1KDUpLAogICAgICAgcHJvZmlsZTYoNiksCiAgICAgICBwcm9maWxlNyg3KSwKICAgICAg IHByb2ZpbGU4KDgpLAogICAgICAgcHJvZmlsZTkoOSkKICAgICB9CiAgICAgTUFYLUFDQ0VTUyAg cmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAg ICAgICIxMFBBU1MtVFMgUE1FIFVwc3RyZWFtIFBvd2VyIEJhY2stT2ZmIChVUEJPKSBSZWZlcmVu Y2UgUFNECiAgICAgICBQcm9maWxlLCBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2MkEu IFBvc3NpYmxlIHZhbHVlcwogICAgICAgYXJlOgogICAgICAgICBwcm9maWxlMSgxKSAgIC0gVDEu NDI0L1QtVSAgICAgICAgIE5vaXNlIEEgTTEKICAgICAgICAgcHJvZmlsZTIoMikgICAtIFQxLjQy NC9ULVUgICAgICAgICBOb2lzZSBBIE0yCiAgICAgICAgIHByb2ZpbGUzKDMpICAgLSBUMS40MjQv VC1VICAgICAgICAgTm9pc2UgRiBNMQogICAgICAgICBwcm9maWxlNCg0KSAgIC0gVDEuNDI0L1Qt VSAgICAgICAgIE5vaXNlIEYgTTIKICAgICAgICAgcHJvZmlsZTUoNSkgICAtIEVUU0kgVFMgMTAx IDI3MC0xICBOb2lzZSBBJkIKICAgICAgICAgcHJvZmlsZTYoNikgICAtIEVUU0kgVFMgMTAxIDI3 MC0xICBOb2lzZSBDCiAgICAgICAgIHByb2ZpbGU3KDcpICAgLSBFVFNJIFRTIDEwMSAyNzAtMSAg Tm9pc2UgRAogICAgICAgICBwcm9maWxlOCg4KSAgIC0gRVRTSSBUUyAxMDEgMjcwLTEgIE5vaXNl IEUKICAgICAgICAgcHJvZmlsZTkoOSkgICAtIEVUU0kgVFMgMTAxIDI3MC0xICBOb2lzZSBGCgog ICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVVQQk9SZWZlcmVuY2VQcm9maWxlIGF0dHJp YnV0ZQogICAgICAgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNh aF0gQW5uZXggNjJBLjMuNCwgMzAuNS4xLjEuMjMiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBQcm9m aWxlRW50cnkgNCB9CgogICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzICBPQkpFQ1QtVFlQ RQogICAgIFNZTlRBWCAgQklUUyB7CiAgICAgICBwcm9maWxlMCgwKSwKICAgICAgIHByb2ZpbGUx KDEpLAogICAgICAgcHJvZmlsZTIoMiksCiAgICAgICBwcm9maWxlMygzKSwKICAgICAgIHByb2Zp bGU0KDQpLAogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlNig2KSwKICAgICAgIHBy b2ZpbGU3KDcpLAogICAgICAgcHJvZmlsZTgoOCksCiAgICAgICBwcm9maWxlOSg5KSwKICAgICAg IHByb2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTEoMTEpCiAgICAgfQogICAgIE1BWC1BQ0NF U1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9O CiAgICAgICAiMTBQQVNTLVRTIFBNRSBFZ3Jlc3MgQ29udHJvbCBCYW5kIE5vdGNoIFByb2ZpbGUg Yml0bWFwLAogICAgICAgYXMgc3BlY2lmaWVkIGluIDgwMi4zYWggQW5uZXggNjJBLiBQb3NzaWJs ZSB2YWx1ZXMgYXJlOgogICAgICAgLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tKy0tLS0tCiAgICAgICBQcm9maWxlIE5hbWUgICAgRy45OTEuMyAg VDEuNDI0L1QtVSBUUzEwMSAyNzAtMSBTdGFydEYgRW5kRgogICAgICAgICAgICAgICAgICAgICAg IFRhYmxlICAgIFRhYmxlICAgICAgVGFibGUgICAgICAgKE1IeikgIChNSHopCiAgICAgICAtLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0rLS0tLS0K ICAgICAgIHByb2ZpbGUwKDApICAgLSBubyBwcm9maWxlCiAgICAgICBwcm9maWxlMSgxKSAgIC0g Ri01ICMwMSAgLSAgICAgICAgICAtICAgICAgICAgICAxLjgxMCAgMS44MjUKICAgICAgIHByb2Zp bGUyKDIpICAgLSA2LTIgICAgICAxNS0xICAgICAgIDE3ICAgICAgICAgIDEuODEwICAyLjAwMAog ICAgICAgcHJvZmlsZTMoMykgICAtIEYtNSAjMDIgIC0gICAgICAgICAgLSAgICAgICAgICAgMS45 MDcgIDEuOTEyCiAgICAgICBwcm9maWxlNCg0KSAgIC0gRi01ICMwMyAgLSAgICAgICAgICAtICAg ICAgICAgICAzLjUwMCAgMy41NzUKICAgICAgIHByb2ZpbGU1KDUpICAgLSA2LTIgICAgICAtICAg ICAgICAgIDE3ICAgICAgICAgIDMuNTAwICAzLjgwMAogICAgICAgcHJvZmlsZTYoNikgICAtIC0g ICAgICAgIDE1LTEgICAgICAgLSAgICAgICAgICAgMy41MDAgIDQuMDAwCiAgICAgICBwcm9maWxl Nyg3KSAgIC0gRi01ICMwNCAgLSAgICAgICAgICAtICAgICAgICAgICAzLjc0NyAgMy43NTQKICAg ICAgIHByb2ZpbGU4KDgpICAgLSBGLTUgIzA1ICAtICAgICAgICAgIC0gICAgICAgICAgIDMuNzkx ICAzLjgwNQogICAgICAgcHJvZmlsZTkoOSkgICAtIDYtMiAgICAgIC0gICAgICAgICAgMTcgICAg ICAgICAgNy4wMDAgIDcuMTAwCiAgICAgICBwcm9maWxlMTAoMTApIC0gRi01ICMwNiAgMTUtMSAg ICAgICAtICAgICAgICAgICA3LjAwMCAgNy4zMDAKICAgICAgIHByb2ZpbGUxMSgxMSkgLSA2LTIg ICAgICAxNS0xICAgICAgIDEgICAgICAgICAgIDEwLjEwMCAxMC4xNTAKICAgICAgIAogICAgICAg QW55IGNvbWJpbmF0aW9uIG9mIHByb2ZpbGVzIGNhbiBiZSBzcGVjaWZpZWQgYnkgT1JpbmcKICAg ICAgIGluZGl2aWR1YWwgcHJvZmlsZXMsIGZvciBleGFtcGxlIHZhbHVlIG9mIDB4MDYyMiBzZWxl Y3RzCiAgICAgICBwcm9maWxlcyAyLDYsMTAgYW5kIDExLgogICAgICAgCiAgICAgICBUaGlzIG9i amVjdCBtYXBzIHRvIHRoZSBhQmFuZE5vdGNoUHJvZmlsZSBhdHRyaWJ1dGUKICAgICAgIGluIENs YXVzZSAzMC4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIEFubmV4IDYyQS4zLjUs IDMwLjUuMS4xLjE5IgogICAgIDo6PSB7IGVmbUN1UG1lMTBQUHJvZmlsZUVudHJ5IDUgfQoKICAg ZWZtQ3VQbWUxMFBQYXlsb2FkVVJhdGVQcm9maWxlICBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAg ICAgIElOVEVHRVIgewogICAgICAgcHJvZmlsZTUoNSksCiAgICAgICBwcm9maWxlMTAoMTApLAog ICAgICAgcHJvZmlsZTE1KDE1KSwKICAgICAgIHByb2ZpbGUyMCgyMCksCiAgICAgICBwcm9maWxl MjUoMjUpLAogICAgICAgcHJvZmlsZTMwKDMwKSwKICAgICAgIHByb2ZpbGU1MCg1MCksCiAgICAg ICBwcm9maWxlNzAoNzApLAogICAgICAgcHJvZmlsZTEwMCgxMDApCiAgICAgfQogICAgIE1BWC1B Q0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiMTBQQVNTLVRTIFBNRSBVcHN0cmVhbSBQYXlsb2FkIFJhdGUgUHJvZmlsZSwK ICAgICAgIGFzIHNwZWNpZmllZCBpbiA4MDIuM2FoIEFubmV4IDYyQS4gUG9zc2libGUgdmFsdWVz IGFyZToKICAgICAgICAgcHJvZmlsZTUoNSkgICAgICAgLSAyLjUgTWJwcwogICAgICAgICBwcm9m aWxlMTAoMTApICAgICAtIDUgTWJwcwogICAgICAgICBwcm9maWxlMTUoMTUpICAgICAtIDcuNSBN YnBzCiAgICAgICAgIHByb2ZpbGUyMCgyMCkgICAgIC0gMTAgTWJwcwogICAgICAgICBwcm9maWxl MjUoMjUpICAgICAtIDEyLjUgTWJwcwogICAgICAgICBwcm9maWxlMzAoMzApICAgICAtIDE1IE1i cHMKICAgICAgICAgcHJvZmlsZTUwKDUwKSAgICAgLSAyNSBNYnBzCiAgICAgICAgIHByb2ZpbGU3 MCg3MCkgICAgIC0gMzUgTWJwcwogICAgICAgICBwcm9maWxlMTAwKDEwMCkgICAtIDUwIE1icHMK CiAgICAgICBFYWNoIHZhbHVlIHJlcHJlc2VudHMgYSB0YXJnZXQgZm9yIHRoZSBQTUUncyBVcHN0 cmVhbSBQYXlsb2FkCiAgICAgICBCaXRyYXRlIGFzIHNlZW4gYXQgdGhlIE1JSS4gSWYgdGhlIHBh eWxvYWQgcmF0ZSBvZiB0aGUKICAgICAgIHNlbGVjdGVkIHByb2ZpbGUgY2Fubm90IGJlIGFjaGll dmVkIGJhc2VkIG9uIHRoZSBsb29wCiAgICAgICBlbnZpcm9ubWVudCwgYmFuZHBsYW4gYW5kIFBT RCBtYXNrLCB0aGUgUE1FIGluaXRpYWxpemF0aW9uCiAgICAgICBTSEFMTCBmYWlsLgogICAgICAg IAogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0aGUgYVBheWxvYWRSYXRlUHJvZmlsZVVwc3Ry ZWFtCiAgICAgICBhdHRyaWJ1dGUgaW4gQ2xhdXNlIDMwLiIKICAgICBSRUZFUkVOQ0UKICAgICAg ICJbODAyLjNhaF0gQW5uZXggNjJBLjMuNiwgMzAuNS4xLjEuMjAiCiAgICAgOjo9IHsgZWZtQ3VQ bWUxMFBQcm9maWxlRW50cnkgNiB9CgogICBlZm1DdVBtZTEwUFBheWxvYWREUmF0ZVByb2ZpbGUg IE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgSU5URUdFUiB7CiAgICAgICBwcm9maWxlNSg1 KSwKICAgICAgIHByb2ZpbGUxMCgxMCksCiAgICAgICBwcm9maWxlMTUoMTUpLAogICAgICAgcHJv ZmlsZTIwKDIwKSwKICAgICAgIHByb2ZpbGUyNSgyNSksCiAgICAgICBwcm9maWxlMzAoMzApLAog ICAgICAgcHJvZmlsZTUwKDUwKSwKICAgICAgIHByb2ZpbGU3MCg3MCksCiAgICAgICBwcm9maWxl MTAwKDEwMCksCiAgICAgICBwcm9maWxlMTQwKDE0MCksCiAgICAgICBwcm9maWxlMjAwKDIwMCkK ICAgICB9CiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1jcmVhdGUKICAgICBTVEFUVVMgICAgICBjdXJy ZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICIxMFBBU1MtVFMgUE1FIERvd25zdHJlYW0gUGF5 bG9hZCBSYXRlIFByb2ZpbGUsCiAgICAgICBhcyBzcGVjaWZpZWQgaW4gODAyLjNhaCBBbm5leCA2 MkEuIFBvc3NpYmxlIHZhbHVlcyBhcmU6CiAgICAgICAgIHByb2ZpbGU1KDUpICAgICAgLSAyLjUg TWJwcwogICAgICAgICBwcm9maWxlMTAoMTApICAgIC0gNSBNYnBzCiAgICAgICAgIHByb2ZpbGUx NSgxNSkgICAgLSA3LjUgTWJwcwogICAgICAgICBwcm9maWxlMjAoMjApICAgIC0gMTAgTWJwcwog ICAgICAgICBwcm9maWxlMjUoMjUpICAgIC0gMTIuNSBNYnBzCiAgICAgICAgIHByb2ZpbGUzMCgz MCkgICAgLSAxNSBNYnBzCiAgICAgICAgIHByb2ZpbGU1MCg1MCkgICAgLSAyNSBNYnBzCiAgICAg ICAgIHByb2ZpbGU3MCg3MCkgICAgLSAzNSBNYnBzCiAgICAgICAgIHByb2ZpbGUxMDAoMTAwKSAg LSA1MCBNYnBzCiAgICAgICAgIHByb2ZpbGUxNDAoMTQwKSAgLSA3MCBNYnBzCiAgICAgICAgIHBy b2ZpbGUyMDAoMjAwKSAgLSAxMDAgTWJwcwoKICAgICAgIEVhY2ggdmFsdWUgcmVwcmVzZW50cyBh IHRhcmdldCBmb3IgdGhlIFBNRSdzIERvd25zdHJlYW0KICAgICAgIFBheWxvYWQgQml0cmF0ZSBh cyBzZWVuIGF0IHRoZSBNSUkuIElmIHRoZSBwYXlsb2FkIHJhdGUgb2YKICAgICAgIHRoZSBzZWxl Y3RlZCBwcm9maWxlIGNhbm5vdCBiZSBhY2hpZXZlZCBiYXNlZCBvbiB0aGUgbG9vcAogICAgICAg ZW52aXJvbm1lbnQsIGJhbmRwbGFuIGFuZCBQU0QgbWFzaywgdGhlIFBNRSBpbml0aWFsaXphdGlv bgogICAgICAgU0hBTEwgZmFpbC4KICAgICAgIAogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byB0 aGUgYVBheWxvYWRSYXRlUHJvZmlsZURvd25zdHJlYW0KICAgICAgIGF0dHJpYnV0ZSBpbiBDbGF1 c2UgMzAuIgogICAgIFJFRkVSRU5DRQogICAgICAgIls4MDIuM2FoXSBBbm5leCA2MkEuMy42LCAz MC41LjEuMS4yMSIKICAgICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA3IH0KCiAgIGVm bUN1UG1lMTBQUHJvZmlsZVJvd1N0YXR1cyBPQkpFQ1QtVFlQRQogICAgIFNZTlRBWCAgICAgIFJv d1N0YXR1cwogICAgIE1BWC1BQ0NFU1MgIHJlYWQtY3JlYXRlCiAgICAgU1RBVFVTICAgICAgY3Vy cmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyBvYmplY3QgY29udHJvbHMgY3JlYXRp b24sIG1vZGlmaWNhdGlvbiBvciBkZWxldGlvbiBvZgogICAgICAgdGhlIGFzc29jaWF0ZWQgZW50 cnkgaW4gZWZtQ3VQbWUxMFBQcm9maWxlVGFibGUgcGVyIHRoZQogICAgICAgc2VtYW50aWNzIG9m IFJvd1N0YXR1cy4KCiAgICAgICBJZiBhbiBhY3RpdmUgZW50cnkgaXMgcmVmZXJlbmNlZCB2aWEg ZWZtQ3VBZG1pblByb2ZpbGUgb3IKICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLCB0aGUgZW50 cnkgTVVTVCByZW1haW4gJ2FjdGl2ZScgdW50aWwKICAgICAgIGFsbCByZWZlcmVuY2VzIGFyZSBy ZW1vdmVkLgoKICAgICAgIEFuICdhY3RpdmUnIGVudHJ5IFNIQUxMIE5PVCBiZSBtb2RpZmllZC4g SW4gb3JkZXIgdG8gbW9kaWZ5IGFuCiAgICAgICBleGlzdGluZyBlbnRyeSBpdCBNVVNUIGJlIHRh a2VuIG91dCBvZiBzZXJ2aWNlIChieSBzZXR0aW5nCiAgICAgICB0aGlzIG9iamVjdCB0byAnbm90 SW5TZXJ2aWNlJyksIG1vZGlmaWVkIGFuZCBzZXQgJ2FjdGl2ZScKICAgICAgIGFnYWluLiIKICAg ICA6Oj0geyBlZm1DdVBtZTEwUFByb2ZpbGVFbnRyeSA4IH0KCgogICBlZm1DdVBtZTEwUFN0YXR1 c1RhYmxlIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgU0VRVUVOQ0UgT0YgRWZtQ3VQbWUx MFBTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NFU1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVT ICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiVGhpcyB0YWJsZSBwcm92aWRl cyBzdGF0dXMgaW5mb3JtYXRpb24gb2YgRUZNQ3UgMTBQQVNTLVRTCiAgICAgICBQTUVzIChtb2Rl bXMpLgogICAgICAgCiAgICAgICBUaGlzIHRhYmxlIGNvbnRhaW5zIGxpdmUgZGF0YSBmcm9tIHRo ZSBlcXVpcG1lbnQuIEFzIHN1Y2gsCiAgICAgICBpdCBpcyBOT1QgcGVyc2lzdGVudC4iCiAgICAg Ojo9IHsgZWZtQ3VQbWUxMFAgMiB9CgogICBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IE9CSkVDVC1U WVBFCiAgICAgU1lOVEFYICAgICAgRWZtQ3VQbWUxMFBTdGF0dXNFbnRyeQogICAgIE1BWC1BQ0NF U1MgIG5vdC1hY2Nlc3NpYmxlCiAgICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBU SU9OCiAgICAgICAiQW4gZW50cnkgaW4gdGhlIEVGTUN1IDEwUEFTUy1UUyBQTUUgU3RhdHVzIHRh YmxlLiIKICAgICBBVUdNRU5UUyB7IGVmbUN1UG1lU3RhdHVzRW50cnkgfQogICAgIDo6PSB7IGVm bUN1UG1lMTBQU3RhdHVzVGFibGUgMSB9CgogICBFZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDo6PQog ICAgIFNFUVVFTkNFIHsKICAgICAgIGVmbUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzICAgICBD b3VudGVyMzIsCiAgICAgICBlZm1DdVBtZTEwUEZFQ1VuY29ycmVjdGVkQmxvY2tzICAgQ291bnRl cjMyCiAgICAgfQoKICAgZWZtQ3VQbWUxMFBGRUNDb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBF CiAgICAgU1lOVEFYICAgICAgQ291bnRlcjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAg ICAgU1RBVFVTICAgICAgY3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb3VudCBv ZiByZWNlaXZlZCBhbmQgY29ycmVjdGVkIEZFQyBjb2Rld29yZHMgaW4gMTBQQVNTLVRTCiAgICAg ICBQTUUuCgogICAgICAgVGhpcyBvYmplY3QgbWFwcyB0byBhUE1FRkVDQ29ycmVjdGVkQmxvY2tz IGF0dHJpYnV0ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1E SU8gSW50ZXJmYWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsCiAgICAgICB0aGVuIHRoaXMg b2JqZWN0IG1hcHMgdG8gdGhlIDEwUCBGRUMgY29ycmVjdGFibGUgZXJyb3JzCiAgICAgICByZWdp c3RlcgoKICAgICAgIERpc2NvbnRpbnVpdGllcyBpbiB0aGUgdmFsdWUgb2YgdGhpcyBjb3VudGVy IGNhbiBvY2N1ciBhdAogICAgICAgcmUtaW5pdGlhbGl6YXRpb24gb2YgdGhlIG1hbmFnZW1lbnQg c3lzdGVtLCBhbmQgYXQgb3RoZXIgdGltZXMKICAgICAgIGFzIGluZGljYXRlZCBieSB0aGUgdmFs dWUgb2YgaWZDb3VudGVyRGlzY29udGludWl0eVRpbWUsCiAgICAgICBkZWZpbmVkIGluIElGLU1J Qi4iCiAgICAgUkVGRVJFTkNFCiAgICAgICAiWzgwMi4zYWhdIDQ1LjIuMS4yMiwgMzAuMTEuMi4x LjgiCiAgICAgOjo9IHsgZWZtQ3VQbWUxMFBTdGF0dXNFbnRyeSAxIH0KCiAgIGVmbUN1UG1lMTBQ RkVDVW5jb3JyZWN0ZWRCbG9ja3MgIE9CSkVDVC1UWVBFCiAgICAgU1lOVEFYICAgICAgQ291bnRl cjMyCiAgICAgTUFYLUFDQ0VTUyAgcmVhZC1vbmx5CiAgICAgU1RBVFVTICAgICAgY3VycmVudAog ICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb3VudCBvZiByZWNlaXZlZCBGRUMgY29kZXdvcmRz IGluIDEwUEFTUy1UUyBQTUUsIHdoaWNoIGFyZQogICAgICAgdW5jb3JyZWN0YWJsZS4KCiAgICAg ICBUaGlzIG9iamVjdCBtYXBzIHRvIGFQTUVGRUNVbmNvcnJlY3RhYmxlQmxvY2tzIGF0dHJpYnV0 ZSBpbgogICAgICAgY2xhdXNlIDMwLgoKICAgICAgIElmIGEgQ2xhdXNlIDQ1IE1ESU8gSW50ZXJm YWNlIHRvIHRoZSBQTUEvUE1EIGlzIHByZXNlbnQsCiAgICAgICB0aGVuIHRoaXMgb2JqZWN0IG1h cHMgdG8gdGhlIDEwUCBGRUMgdW5jb3JyZWN0YWJsZSBlcnJvcnMKICAgICAgIHJlZ2lzdGVyCgog ICAgICAgRGlzY29udGludWl0aWVzIGluIHRoZSB2YWx1ZSBvZiB0aGlzIGNvdW50ZXIgY2FuIG9j Y3VyIGF0CiAgICAgICByZS1pbml0aWFsaXphdGlvbiBvZiB0aGUgbWFuYWdlbWVudCBzeXN0ZW0s IGFuZCBhdCBvdGhlciB0aW1lcwogICAgICAgYXMgaW5kaWNhdGVkIGJ5IHRoZSB2YWx1ZSBvZiBp ZkNvdW50ZXJEaXNjb250aW51aXR5VGltZSwKICAgICAgIGRlZmluZWQgaW4gSUYtTUlCLiIKICAg ICBSRUZFUkVOQ0UKICAgICAgICJbODAyLjNhaF0gNDUuMi4xLjIzLCAzMC4xMS4yLjEuOSIKICAg ICA6Oj0geyBlZm1DdVBtZTEwUFN0YXR1c0VudHJ5IDIgfQoKICAtLQogIC0tIENvbmZvcm1hbmNl IFN0YXRlbWVudHMKICAtLQoKICAgZWZtQ3VHcm91cHMgICAgICBPQkpFQ1QgSURFTlRJRklFUiA6 Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDEgfQoKICAgZWZtQ3VDb21wbGlhbmNlcyBPQkpFQ1QgSURF TlRJRklFUiA6Oj0geyBlZm1DdUNvbmZvcm1hbmNlIDIgfQoKICAgLS0gT2JqZWN0IEdyb3VwcwoK ICAgZWZtQ3VCYXNpY0dyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAgICAgZWZt Q3VQQUZTdXBwb3J0ZWQsCiAgICAgICBlZm1DdUFkbWluUHJvZmlsZSwKICAgICAgIGVmbUN1VGFy Z2V0RGF0YVJhdGUsCiAgICAgICBlZm1DdVRhcmdldFNuck1nbiwKICAgICAgIGVmbUN1QWRhcHRp dmVTcGVjdHJhLAogICAgICAgZWZtQ3VQb3J0U2lkZSwKICAgICAgIGVmbUN1Rmx0U3RhdHVzCiAg ICAgfQogICAgIFNUQVRVUyAgICAgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEg Y29sbGVjdGlvbiBvZiBvYmplY3RzIHJlcHJlc2VudGluZyBtYW5hZ2VtZW50IGluZm9ybWF0aW9u CiAgICAgICBjb21tb24gZm9yIGFsbCB0eXBlcyBvZiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsg ZWZtQ3VHcm91cHMgMSB9CgogICBlZm1DdVBBRkdyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVD VFMgewogICAgICAgZWZtQ3VQZWVyUEFGU3VwcG9ydGVkLAogICAgICAgZWZtQ3VQQUZDYXBhY2l0 eSwKICAgICAgIGVmbUN1UGVlclBBRkNhcGFjaXR5LAogICAgICAgZWZtQ3VQQUZBZG1pblN0YXRl LAogICAgICAgZWZtQ3VQQUZEaXNjb3ZlcnlDb2RlLAogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNj b3ZlcnlDb2RlLAogICAgICAgZWZtQ3VOdW1QTUVzCiAgICAgfQogICAgIFNUQVRVUyAgICAgIGN1 cnJlbnQKICAgICBERVNDUklQVElPTgogICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHN1 cHBvcnRpbmcgT1BUSU9OQUwgUE1FCiAgICAgICBBZ2dyZWdhdGlvbiBGdW5jdGlvbiAoUEFGKSBh bmQgUEFGIGRpc2NvdmVyeSBpbiBFRk1DdSBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMg MiB9CgogICBlZm1DdVBBRkVycm9yc0dyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewog ICAgICAgZWZtQ3VQQUZJbkVycm9ycywKICAgICAgIGVmbUN1UEFGSW5TbWFsbEZyYWdtZW50cywK ICAgICAgIGVmbUN1UEFGSW5MYXJnZUZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5CYWRGcmFn bWVudHMsCiAgICAgICBlZm1DdVBBRkluTG9zdEZyYWdtZW50cywKICAgICAgIGVmbUN1UEFGSW5M b3N0U3RhcnRzLAogICAgICAgZWZtQ3VQQUZJbkxvc3RFbmRzLAogICAgICAgZWZtQ3VQQUZJbk92 ZXJmbG93cwogICAgIH0KICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04K ICAgICAgICJBIGNvbGxlY3Rpb24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIE9QVElPTkFMIGVycm9y IGNvdW50ZXJzCiAgICAgICBvZiBQQUYgb24gRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1 R3JvdXBzIDMgfQoKICAgZWZtQ3VQbWVHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsK ICAgICAgIGVmbUN1UG1lQWRtaW5Qcm9maWxlLAogICAgICAgZWZtQ3VQbWVPcGVyU3RhdHVzLAog ICAgICAgZWZtQ3VQbWVGbHRTdGF0dXMsCiAgICAgICBlZm1DdVBtZVN1YlR5cGVzU3VwcG9ydGVk LAogICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUsCiAgICAgICBlZm1DdVBtZU9wZXJTdWJUeXBl LAogICAgICAgZWZtQ3VQQUZSZW1vdGVEaXNjb3ZlcnlDb2RlLAogICAgICAgZWZtQ3VQbWVPcGVy UHJvZmlsZSwKICAgICAgIGVmbUN1UG1lU25yTWduLAogICAgICAgZWZtQ3VQbWVQZWVyU25yTWdu LAogICAgICAgZWZtQ3VQbWVMaW5lQXRuLAogICAgICAgZWZtQ3VQbWVQZWVyTGluZUF0biwKICAg ICAgIGVmbUN1UG1lRXF1aXZhbGVudExlbmd0aCwKICAgICAgIGVmbUN1UG1lVENDb2RpbmdFcnJv cnMsCiAgICAgICBlZm1DdVBtZVRDQ3JjRXJyb3JzLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5l QXRuLAogICAgICAgZWZtQ3VQbWVUaHJlc2hTbnJNZ24KICAgICB9CiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMg cHJvdmlkaW5nIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICBhIDJCQVNFLVRMLzEwUEFTUy1UUyBQ TUUuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDQgfQoKICAgZWZtQ3VBbGFybUNvbmZHcm91cCBP QkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVmbUN1VGhyZXNoTG93UmF0ZSwKICAg ICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nRW5hYmxlLAogICAgICAgZWZtQ3VQbWVUaHJlc2hMaW5l QXRuLAogICAgICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmdFbmFibGUsCiAgICAgICBlZm1DdVBt ZVRocmVzaFNuck1nbiwKICAgICAgIGVmbUN1UG1lU25yTWduQ3Jvc3NpbmdFbmFibGUsCiAgICAg ICBlZm1DdVBtZURldmljZUZhdWx0RW5hYmxlLAogICAgICAgZWZtQ3VQbWVDb25maWdJbml0RmFp bEVuYWJsZSwKICAgICAgIGVmbUN1UG1lUHJvdG9jb2xJbml0RmFpbEVuYWJsZQogICAgIH0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJBIGNvbGxlY3Rp b24gb2Ygb2JqZWN0cyBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb2YgYWxhcm0KICAgICAgIHRo cmVzaG9sZHMgYW5kIG5vdGlmaWNhdGlvbnMgaW4gRUZNQ3UgcG9ydHMuIgogICAgIDo6PSB7IGVm bUN1R3JvdXBzIDUgfQoKICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cCBOT1RJRklDQVRJT04tR1JP VVAKICAgICBOT1RJRklDQVRJT05TIHsKICAgICAgIGVmbUN1TG93UmF0ZUNyb3NzaW5nLAogICAg ICAgZWZtQ3VQbWVMaW5lQXRuQ3Jvc3NpbmcsCiAgICAgICBlZm1DdVBtZVNuck1nbkNyb3NzaW5n LAogICAgICAgZWZtQ3VQbWVEZXZpY2VGYXVsdCwKICAgICAgIGVmbUN1UG1lQ29uZmlnSW5pdEZh aWx1cmUsCiAgICAgICBlZm1DdVBtZVByb3RvY29sSW5pdEZhaWx1cmUKLS0gICAgICAgZWZtQ3VQ bWVEZXZpY2VGYXVsdCwKLS0gICAgICAgZWZtQ3VQbWVMb2NhbFBvd2VyTG9zcwogICAgIH0KICAg ICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJT04KICAgICAgICJUaGlzIGdyb3Vw IHN1cHBvcnRzIG5vdGlmaWNhdGlvbnMgb2Ygc2lnbmlmaWNhbnQgY29uZGl0aW9ucwogICAgICAg YXNzb2NpYXRlZCB3aXRoIEVGTUN1IHBvcnRzLiIKICAgICA6Oj0geyBlZm1DdUdyb3VwcyA2IH0K CiAgIGVmbUN1UG1lMkJQcm9maWxlR3JvdXAgT0JKRUNULUdST1VQCiAgICAgT0JKRUNUUyB7CiAg ICAgICBlZm1DdVBtZTJCUHJvZmlsZURlc2NyLAogICAgICAgZWZtQ3VQbWUyQlJlZ2lvbiwKICAg ICAgIGVmbUN1UG1lMkJzTW9kZSwKICAgICAgIGVmbUN1UG1lMkJNaW5EYXRhUmF0ZSwKICAgICAg IGVmbUN1UG1lMkJNYXhEYXRhUmF0ZSwKICAgICAgIGVmbUN1UG1lMkJQb3dlciwKICAgICAgIGVm bUN1UG1lMkJDb25zdGVsbGF0aW9uLAogICAgICAgZWZtQ3VQbWUyQlByb2ZpbGVSb3dTdGF0dXMs CiAgICAgICBlZm1DdVBtZTJCc01vZGVEZXNjciwKICAgICAgIGVmbUN1UG1lMkJzTW9kZVJvd1N0 YXR1cywKICAgICAgIGVmbUN1UG1lMkJFcXVpdmFsZW50TGVuZ3RoLAogICAgICAgZWZtQ3VQbWUy Qk1heERhdGFSYXRlUGFtMTYsCiAgICAgICBlZm1DdVBtZTJCTWF4RGF0YVJhdGVQYW0zMiwKICAg ICAgIGVmbUN1UG1lMkJSZWFjaFJhdGVSb3dTdGF0dXMKICAgICB9CiAgICAgU1RBVFVTICAgICAg Y3VycmVudAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMg dGhhdCBjb25zdGl0dXRlIGEgY29uZmlndXJhdGlvbgogICAgICAgcHJvZmlsZSBmb3IgY29uZmln dXJhdGlvbiBvZiAyQkFTRS1UTCBwb3J0cy4iCiAgICAgOjo9IHsgZWZtQ3VHcm91cHMgN30KCiAg IGVmbUN1UG1lMTBQUHJvZmlsZUdyb3VwIE9CSkVDVC1HUk9VUAogICAgIE9CSkVDVFMgewogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlRGVzY3IsCiAgICAgICBlZm1DdVBtZTEwUEJhbmRwbGFuUFNE TXNrUHJvZmlsZSwKICAgICAgIGVmbUN1UG1lMTBQVVBCT1JlZmVyZW5jZVByb2ZpbGUsCiAgICAg ICBlZm1DdVBtZTEwUEJhbmROb3RjaFByb2ZpbGVzLAogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2Fk VVJhdGVQcm9maWxlLAogICAgICAgZWZtQ3VQbWUxMFBQYXlsb2FkRFJhdGVQcm9maWxlLAogICAg ICAgZWZtQ3VQbWUxMFBQcm9maWxlUm93U3RhdHVzCiAgICAgfQogICAgIFNUQVRVUyAgY3VycmVu dAogICAgIERFU0NSSVBUSU9OCiAgICAgICAiQSBjb2xsZWN0aW9uIG9mIG9iamVjdHMgdGhhdCBj b25zdGl0dXRlIGEgY29uZmlndXJhdGlvbgogICAgICAgcHJvZmlsZSBmb3IgY29uZmlndXJhdGlv biBvZiAxMFBBU1MtVFMgcG9ydHMuIgogICAgIDo6PSB7IGVmbUN1R3JvdXBzIDggfQoKICAgZWZt Q3VQbWUxMFBTdGF0dXNHcm91cCBPQkpFQ1QtR1JPVVAKICAgICBPQkpFQ1RTIHsKICAgICAgIGVm bUN1UG1lMTBQRkVDQ29ycmVjdGVkQmxvY2tzLAogICAgICAgZWZtQ3VQbWUxMFBGRUNVbmNvcnJl Y3RlZEJsb2NrcwogICAgIH0KICAgICBTVEFUVVMgIGN1cnJlbnQKICAgICBERVNDUklQVElPTgog ICAgICAgIkEgY29sbGVjdGlvbiBvZiBvYmplY3RzIHByb3ZpZGluZyBzdGF0dXMgaW5mb3JtYXRp b24KICAgICAgIHNwZWNpZmljIHRvIDEwUEFTUy1UUyBQTUVzLiIKICAgICA6Oj0geyBlZm1DdUdy b3VwcyA5IH0KCiAgLS0gQ29tcGxpYW5jZSBTdGF0ZW1lbnRzCgogICBlZm1DdUNvbXBsaWFuY2Ug TU9EVUxFLUNPTVBMSUFOQ0UKICAgICBTVEFUVVMgICAgICBjdXJyZW50CiAgICAgREVTQ1JJUFRJ T04KICAgICAgICJUaGUgY29tcGxpYW5jZSBzdGF0ZW1lbnQgZm9yIDJCQVNFLVRMLzEwUEFTUy1U UyBpbnRlcmZhY2VzLgogICAgICAgQ29tcGxpYW5jZSB3aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZXJu YWwgY29tcGxpYW5jZSBzdGF0ZW1lbnRzCiAgICAgICBpcyBSRVFVSVJFRDoKICAgICAgIAogICAg ICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVudAogICAgICAgLS0t LS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgSUYtTUlCICAg ICAgICAgICAgICAgICBpZkNvbXBsaWFuY2UzCiAgICAgICBFdGhlckxpa2UtTUlCICAgICAgICAg IGRvdDNDb21wbGlhbmNlMgogICAgICAgTUFVLU1JQiAgICAgICAgICAgICAgICBtYXVNb2RJZkNv bXBsMwoKICAgICAgIENvbXBsaWFuY2Ugd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVybmFsIGNvbXBs aWFuY2Ugc3RhdGVtZW50cwogICAgICAgaXMgT1BUSU9OQUwgZm9yIGltcGxlbWVudGF0aW9ucyBz dXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbgogICAgICAgRnVuY3Rpb24gKFBBRikgd2l0aCBmbGV4 aWJsZSBjcm9zcy1jb25uZWN0IGJldHdlZW4gdGhlIFBDUwogICAgICAgYW5kIFBNRSBwb3J0czoK ICAgICAgIAogICAgICAgTUlCIE1vZHVsZSAgICAgICAgICAgICBDb21wbGlhbmNlIFN0YXRlbWVu dAogICAgICAgLS0tLS0tLS0tLSAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLQogICAg ICAgSUYtSU5WRVJURUQtU1RBQ0stTUlCICBpZkludkNvbXBsaWFuY2UKICAgICAgIElGLUNBUC1T VEFDSy1NSUIgICAgICAgaWZDYXBTdGFja0NvbXBsaWFuY2UiCiAgICAgCiAgICAgTU9EVUxFICAt LSB0aGlzIG1vZHVsZQogICAgICAgTUFOREFUT1JZLUdST1VQUyB7CiAgICAgICAgIGVmbUN1QmFz aWNHcm91cCwKICAgICAgICAgZWZtQ3VQbWVHcm91cCwKICAgICAgICAgZWZtQ3VBbGFybUNvbmZH cm91cCwKICAgICAgICAgZWZtQ3VOb3RpZmljYXRpb25Hcm91cAogICAgICAgfQogICAgICAgCiAg ICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTJCUHJvZmlsZUdyb3VwCiAgICAgICBERVNDUklQVElP TgogICAgICAgICAiU3VwcG9ydCBmb3IgdGhpcyBncm91cCBpcyBvbmx5IHJlcXVpcmVkIGZvciBp bXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyAyQkFTRS1UTCBQaHkuIgogICAgICAg CiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBtZTEwUFByb2ZpbGVHcm91cAogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgIlN1cHBvcnQgZm9yIHRoaXMgZ3JvdXAgaXMgb25seSByZXF1aXJlZCBm b3IgaW1wbGVtZW50YXRpb25zCiAgICAgICAgIHN1cHBvcnRpbmcgMTBQQVNTLVRTIFBoeS4iCiAg ICAgICAKICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGR3JvdXAKICAgICAgIERFU0NSSVBUSU9O CiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIG9ubHkgcmVxdWlyZWQgZm9yCiAg ICAgICAgIGltcGxlbWVudGF0aW9ucyBzdXBwb3J0aW5nIFBNRSBBZ2dyZWdhdGlvbiBGdW5jdGlv biAoUEFGKS4iCiAgICAgICAKICAgICAgIEdST1VQICAgICAgIGVmbUN1UEFGRXJyb3JzR3JvdXAK ICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJTdXBwb3J0IGZvciB0aGlzIGdyb3VwIGlzIE9Q VElPTkFMIGZvciBpbXBsZW1lbnRhdGlvbnMKICAgICAgICAgc3VwcG9ydGluZyBQTUUgQWdncmVn YXRpb24gRnVuY3Rpb24gKFBBRikuIgogICAgICAgCiAgICAgICBHUk9VUCAgICAgICBlZm1DdVBt ZTEwUFN0YXR1c0dyb3VwCiAgICAgICBERVNDUklQVElPTgogICAgICAgICAiU3VwcG9ydCBmb3Ig dGhpcyBncm91cCBpcyBPUFRJT05BTCBmb3IgaW1wbGVtZW50YXRpb25zCiAgICAgICAgIHN1cHBv cnRpbmcgMTBQQVNTLVRTIFBoeS4iCiAgICAgICAKICAgICAgIE9CSkVDVCAgICAgIGVmbUN1UG1l U3ViVHlwZXNTdXBwb3J0ZWQKICAgICAgIFNZTlRBWCAgICAgIEJJVFMgewogICAgICAgICBpZWVl MkJhc2VUTE8oMCksCiAgICAgICAgIGllZWUyQmFzZVRMUigxKSwKICAgICAgICAgaWVlZTEwUGFz c1RTTygyKSwKICAgICAgICAgaWVlZTEwUGFzc1RTUigzKQogICAgICAgfQogICAgICAgREVTQ1JJ UFRJT04KICAgICAgICAgIlN1cHBvcnQgZm9yIGFsbCBzdWJ0eXBlcyBpcyBub3QgcmVxdWlyZWQu IEhvd2V2ZXIgYXQgbGVhc3QKICAgICAgICAgb25lIHZhbHVlIFNIQUxMIGJlIHN1cHBvcnRlZCIK ICAgICAgIAogICAgICAgT0JKRUNUICAgICAgZWZtQ3VQbWVBZG1pblN1YlR5cGUKICAgICAgIE1J Ti1BQ0NFU1MgIHJlYWQtb25seQogICAgICAgREVTQ1JJUFRJT04KICAgICAgICAgIldyaXRlIGFj Y2VzcyBpcyBub3QgcmVxdWlyZWQgKG5lZWRlZCBvbmx5IGZvciBQTUVzCiAgICAgICAgIHN1cHBv cnRpbmcgbW9yZSB0aGFuIGEgc2luZ2xlIHN1YnR5cGUsIGUuZy4KICAgICAgICAgaWVlZTJCYXNl VExPIGFuZCBpZWVlMkJhc2VUTFIgb3IgaWVlZTEwUGFzc1RTTyBhbmQKICAgICAgICAgaWVlZTEw UGFzc1RTUikiCiAgICAgICAKICAgICAgIE9CSkVDVCAgICAgIGVmbUN1VGFyZ2V0U25yTWduCiAg ICAgICBNSU4tQUNDRVNTICByZWFkLW9ubHkKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJX cml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwuIEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAg ICAgICAgIHRoZSB0YXJnZXQgU05SIG1hcmdpbiBTSEFMTCBiZSBmaXhlZCBhdCA1ZEIgZm9yIDJC QVNFLVRMCiAgICAgICAgIGFuZCA2ZEIgZm9yIDEwUEFTUy1UUy4iCiAgICAgICAKICAgICAgIE9C SkVDVCAgICAgIGVmbUN1QWRhcHRpdmVTcGVjdHJhCiAgICAgICBNSU4tQUNDRVNTICByZWFkLW9u bHkKICAgICAgIERFU0NSSVBUSU9OCiAgICAgICAgICJXcml0ZSBhY2Nlc3MgaXMgT1BUSU9OQUwu IEZvciBQSFlzIHdpdGhvdXQgd3JpdGUgYWNjZXNzCiAgICAgICAgIHRoZSBkZWZhdWx0IHZhbHVl IFNIT1VMRCBiZSBmYWxzZS4iCiAgICAgICAKICAgICA6Oj0geyBlZm1DdUNvbXBsaWFuY2VzIDEg fQpFTkQK ------_=_NextPart_001_01C75602.D2E66AD8 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib ------_=_NextPart_001_01C75602.D2E66AD8-- From nlzicmncx@cnc.net Thu Feb 22 00:57:26 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HK6xK-0002G8-CT for hubmib-archive@lists.ietf.org; Thu, 22 Feb 2007 00:57:26 -0500 Received: from w094.z064220255.bwi-md.dsl.cnc.net ([64.220.255.94]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HK6xJ-00086L-4k for hubmib-archive@lists.ietf.org; Thu, 22 Feb 2007 00:57:26 -0500 From: "" To: hubmib-archive@lists.ietf.org Subject: Today's Events Date: Thu, 22 Feb 2007 00:56:04 +0500 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0001_01C7561C.3AA03780" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdWHDqgFgeciEorTM6gppJWaTZM5g== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 3.2 (+++) X-Scan-Signature: 798b2e660f1819ae38035ac1d8d5e3ab ------=_NextPart_000_0001_01C7561C.3AA03780 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
+Physicians Adult Daycare, Inc. Incorporates New Techgnology+

Physicians Adult Daycare, Inc. (phya.pk)

DATE : FEB 22, 2007
Company: PHYSICIANS ADULT DAY
Currently: $0.31 (+0.02) (+6.90% in a day!!!)
Expected Day Target: $0.76

News:
Physicians Adult Daycare, Inc. (PHYA) announced that the Company is in the final negotiation stages with TOTALtrak Global, Inc., a global provider of leading-edge Radio Frequency Identification (RFID)-based and patent-pending Multi-Range (MRID) technology solutions, to implement this versatile and powerful technology into the Company's innovative adult daycare program......
------=_NextPart_000_0001_01C7561C.3AA03780-- From hubmib-bounces@ietf.org Thu Feb 22 04:45:52 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKAWO-0001be-BL; Thu, 22 Feb 2007 04:45:52 -0500 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKAWM-0001b9-Su for hubmib@ietf.org; Thu, 22 Feb 2007 04:45:50 -0500 Received: from ihemail1.lucent.com ([135.245.0.33]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HKAWL-0006Mi-Fw for hubmib@ietf.org; Thu, 22 Feb 2007 04:45:50 -0500 Received: from ilexp02.ndc.lucent.com (h135-3-39-2.lucent.com [135.3.39.2]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id l1M9jVH3029213; Thu, 22 Feb 2007 03:45:32 -0600 (CST) Received: from DEEXP02.DE.lucent.com ([135.248.187.66]) by ilexp02.ndc.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 22 Feb 2007 03:45:31 -0600 Received: from DEEXC1U02.de.lucent.com ([135.248.187.30]) by DEEXP02.DE.lucent.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 22 Feb 2007 10:45:30 +0100 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Date: Thu, 22 Feb 2007 10:45:29 +0100 Message-ID: In-Reply-To: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19D1@il-mail.actelis.net> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Hubmib] My review of: draft-ietf-hubmib-efm-cu-mib-06.txt Thread-Index: AccSOnrmhQlHEtW9SfqC9BBdl0yl4wAAWy5gCgjMysAGWfvNAABLZN1QAAtQiKAAKFNj4AADNO3wACQs5cA= References: <9C1CAB2B65E62D49A10E49DFCD68EF3EED19D1@il-mail.actelis.net> From: "Wijnen, Bert \(Bert\)" To: "Edward Beili" X-OriginalArrivalTime: 22 Feb 2007 09:45:30.0407 (UTC) FILETIME=[3085B370:01C75666] X-Scanned-By: MIMEDefang 2.57 on 135.245.2.33 X-Spam-Score: 0.0 (/) X-Scan-Signature: 6640e3bbe8a4d70c4469bcdcbbf0921d Cc: "Dan Romascanu \(E-mail\)" , Hub Mib X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org Thank you Edward! WG members, As soon as the new document shows up I plan to issue another WG Last Call, so people can check the latest changes. Pls be prepared! Bert=20 > -----Original Message----- > From: Edward Beili [mailto:EdwardB@actelis.com]=20 > Sent: woensdag 21 februari 2007 22:54 > To: Wijnen, Bert (Bert) > Cc: Hub Mib; Dan Romascanu (E-mail) > Subject: RE: [Hubmib] My review of:=20 > draft-ietf-hubmib-efm-cu-mib-06.txt >=20 > Bert, >=20 > - RFC3410 is moved to Informative References >=20 > - RFCs 2863, 2864, 3635, G.991.2 and G.992.1 are moved to=20 > Normative References >=20 > - I left ANFP as an Informative Reference, since it's purpose=20 > in the MIB is to serve an example. >=20 > The latest version of the draft is attached together with the=20 > extracted MIB files. > I'm sending it to the internet-drafts, so it'll be published=20 > in a day or two. >=20 > Thanks for your thorough reviews, > -E. >=20 >=20 > > -----Original Message----- > > From: Wijnen, Bert (Bert) [mailto:bwijnen@alcatel-lucent.com] > > Sent: Wednesday, February 21, 2007 16:51 > > To: Edward Beili > > Cc: Dan Romascanu (E-mail); Hub Mib > > Subject: RE: [Hubmib] My review of:=20 > > draft-ietf-hubmib-efm-cu-mib-06.txt > >=20 > > Looks good now. One thing (I should have seen yesterday=20 > too) is that=20 > > you need to move a few informative refrences to the normative=20 > > references and vice versa > >=20 > > - I think RFC3410 is informative (it is also an informational > > RFC). > >=20 > > - RFC2863 and RFC2864 are normative, because we IMPORT from those. > >=20 > > - Since we use them in REFERENCE clauses or we use profiles > > from (as listed in DESCRIPTION clauses), I think that also > > ANFP< but certainly 991.2 and 992.1 are normative, no? > >=20 > > - Since we state: > > 3.4. Relation to Ethernet-Like and MAU MIB modules > >=20 > > The implementation of EtherLike-MIB [RFC3635] and MAU-MIB > > [I-D.ietf-hubmib-rfc3636bis] is REQUIRED for the EFMCu=20 > interfaces. > >=20 > > We probably also better make RFC3635 a normative ref. > >=20 > > With that I think we would be ready. > >=20 > > Further, I would like to react to a few of Ed's rebuttals: > >=20 > > > > - But I do want you to fix SMICng reported error: > > > >=20 > > > > E: f(rfc2864.mi2), (168,26) Item "ifStackGroup2" should be > > IMPORTed > > > > =20 > > > > since you do list that as a mandatory group. > > >=20 > > > [EB] ifStackGroup2 is already imported, I've fixed that in > > the version > > > I sent before. > > >=20 > >=20 > > My appology, the error is in RFC2864, not in the EFM-CU-MIB. > >=20 > > > > > >- Did we resolve the use of Rowstatus for the ifCapStackTable > > > > > > and ifInvCapStackTable? In any event, pls re-check the > > > > > > feedback we've got on that. I do not think that what we > > > > > > currently have in the MIB module is acceptable. > > > > >=20 > > > > > [EB] Replaced with TruthValue. > > > >=20 > > > > This is much better. > > > > I wonder if it would now be better to rename the object from=20 > > > > ifCapStackStatus to ifCapStackCapability to better=20 > represent its=20 > > > > purpose. Same for possibly renaming ifInvCapStackStatus into=20 > > > > ifInvCapStackCapability. > > > >=20 > > > > I am not hung up on it though. > > >=20 > > > [EB] ifCapStack already stands for "Interface Capability Stack" -=20 > > > appending "Capability" would make it "Interface Capability Stack=20 > > > Capability". How about: ifCapStackAbility ? > > > Or we can leave it ifCapStackStatus, to emphasize its > > similarity with > > > IfStackTable > > >=20 > >=20 > > Your argument for consistency with ifCapStackStatus makes sense. > > And as I said, I am not hung up on it. > > So I am OK now. > >=20 > >=20 > > > [EB] I've found only one table without the persistency definition > > > (efmCuPme10PStatusTable) and corrected it - now all tables > > contain the > > > persistency behavior definition in the DESCRIPTION clause for the=20 > > > table. > > > Basically only the Status tables are non-persistent. > > > Would that be satisfactory? > > >=20 > >=20 > > Yep. > >=20 > > I think we made good progress. > >=20 > > Pls correct the references (as stated at the top of this > > email) and then you can submit to internet-drafts as far as I am=20 > > concenrned. > >=20 > > Next step is then (another) W Last Call to givbe anyone a chance to=20 > > look at the latest changes. > >=20 > > Bert > >=20 >=20 _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib From hubmib-bounces@ietf.org Fri Feb 23 10:50:41 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKcgu-0000jl-OB; Fri, 23 Feb 2007 10:50:36 -0500 Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKcgr-0000e3-AE; Fri, 23 Feb 2007 10:50:33 -0500 Received: from ns4.neustar.com ([156.154.24.139]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1HKcgq-0006Ig-W8; Fri, 23 Feb 2007 10:50:33 -0500 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns4.neustar.com (Postfix) with ESMTP id E302D2AD07; Fri, 23 Feb 2007 15:50:02 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1HKcgM-00026J-Ao; Fri, 23 Feb 2007 10:50:02 -0500 Content-Type: Multipart/Mixed; Boundary="NextPart" Mime-Version: 1.0 To: i-d-announce@ietf.org From: Internet-Drafts@ietf.org Message-Id: Date: Fri, 23 Feb 2007 10:50:02 -0500 X-Spam-Score: -2.5 (--) X-Scan-Signature: f66b12316365a3fe519e75911daf28a8 Cc: hubmib@ietf.org Subject: [Hubmib] I-D ACTION:draft-ietf-hubmib-efm-mib-06.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Ethernet Interfaces and Hub MIB Working Group of the IETF. Title : Definitions and Managed Objects for OAM Functions on Ethernet Like Interfaces Author(s) : M. Squire Filename : draft-ietf-hubmib-efm-mib-06.txt Pages : 60 Date : 2007-2-23 This document defines objects for managing Operations, Administration, and Maintenance (OAM) capabilities on Ethernet like interfaces conformant to the Ethernet OAM functionality defined in the Ethernet in the First Mile (EFM) clauses of the Ethernet standards. The Ethernet OAM functionality is complementary to SNMP management in that it is focused on a small set of link-specific functions for directly connected Ethernet interfaces. This document defines objects for controlling those link OAM functions, and for providing results and status of the OAM functions to management entities. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-mib-06.txt To remove yourself from the I-D Announcement list, send a message to i-d-announce-request@ietf.org with the word unsubscribe in the body of the message. You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce to change your subscription settings. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-hubmib-efm-mib-06.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-hubmib-efm-mib-06.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <2007-2-23095510.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-hubmib-efm-mib-06.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-hubmib-efm-mib-06.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <2007-2-23095510.I-D@ietf.org> --OtherAccess-- --NextPart Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --NextPart-- From hubmib-bounces@ietf.org Fri Feb 23 15:51:03 2007 Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKhNf-0000pD-9T; Fri, 23 Feb 2007 15:51:03 -0500 Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HKhNB-0008HF-Vx; Fri, 23 Feb 2007 15:50:34 -0500 Received: from ns3.neustar.com ([156.154.24.138]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1HKhNA-0005Y2-Kw; Fri, 23 Feb 2007 15:50:33 -0500 Received: from stiedprstage1.ietf.org (stiedprstage1.va.neustar.com [10.31.47.10]) by ns3.neustar.com (Postfix) with ESMTP id 906EC175CF; Fri, 23 Feb 2007 20:50:02 +0000 (GMT) Received: from ietf by stiedprstage1.ietf.org with local (Exim 4.43) id 1HKhMg-0006zf-AU; Fri, 23 Feb 2007 15:50:02 -0500 Content-Type: Multipart/Mixed; Boundary="NextPart" Mime-Version: 1.0 To: i-d-announce@ietf.org From: Internet-Drafts@ietf.org Message-Id: Date: Fri, 23 Feb 2007 15:50:02 -0500 X-Spam-Score: -2.5 (--) X-Scan-Signature: f66b12316365a3fe519e75911daf28a8 Cc: hubmib@ietf.org Subject: [Hubmib] I-D ACTION:draft-ietf-hubmib-efm-cu-mib-07.txt X-BeenThere: hubmib@ietf.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ethernet Interfaces an Hub MIB WG List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: hubmib-bounces@ietf.org --NextPart A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Ethernet Interfaces and Hub MIB Working Group of the IETF. Title : Ethernet in the First Mile Copper (EFMCu) Interfaces MIB Author(s) : E. Beili Filename : draft-ietf-hubmib-efm-cu-mib-07.txt Pages : 90 Date : 2007-2-23 This document defines Management Information Base (MIB) modules for use with network management protocols in TCP/IP based internets. This document describes extensions to the Ethernet-like Interfaces MIB and MAU MIB modules with a set of objects for managing Ethernet in the First Mile Copper (EFMCu) interfaces 10PASS-TS and 2BASE-TL, defined in IEEE Std 802.3ah-2004. In addition a set of objects is defined, describing cross-connect capability of a managed device with multi-layer (stacked) interfaces, extending the stack management objects in the Interfaces Group MIB and the Inverted Stack Table MIB modules. A URL for this Internet-Draft is: http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-07.txt To remove yourself from the I-D Announcement list, send a message to i-d-announce-request@ietf.org with the word unsubscribe in the body of the message. You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce to change your subscription settings. Internet-Drafts are also available by anonymous FTP. Login with the username "anonymous" and a password of your e-mail address. After logging in, type "cd internet-drafts" and then "get draft-ietf-hubmib-efm-cu-mib-07.txt". A list of Internet-Drafts directories can be found in http://www.ietf.org/shadow.html or ftp://ftp.ietf.org/ietf/1shadow-sites.txt Internet-Drafts can also be obtained by e-mail. Send a message to: mailserv@ietf.org. In the body type: "FILE /internet-drafts/draft-ietf-hubmib-efm-cu-mib-07.txt". NOTE: The mail server at ietf.org can return the document in MIME-encoded form by using the "mpack" utility. To use this feature, insert the command "ENCODING mime" before the "FILE" command. To decode the response(s), you will need "munpack" or a MIME-compliant mail reader. Different MIME-compliant mail readers exhibit different behavior, especially when dealing with "multipart" MIME messages (i.e. documents which have been split up into multiple messages), so check your local documentation on how to manipulate these messages. Below is the data which will enable a MIME compliant mail reader implementation to automatically retrieve the ASCII version of the Internet-Draft. --NextPart Content-Type: Multipart/Alternative; Boundary="OtherAccess" --OtherAccess Content-Type: Message/External-body; access-type="mail-server"; server="mailserv@ietf.org" Content-Type: text/plain Content-ID: <2007-2-23100454.I-D@ietf.org> ENCODING mime FILE /internet-drafts/draft-ietf-hubmib-efm-cu-mib-07.txt --OtherAccess Content-Type: Message/External-body; name="draft-ietf-hubmib-efm-cu-mib-07.txt"; site="ftp.ietf.org"; access-type="anon-ftp"; directory="internet-drafts" Content-Type: text/plain Content-ID: <2007-2-23100454.I-D@ietf.org> --OtherAccess-- --NextPart Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Hubmib mailing list Hubmib@ietf.org https://www1.ietf.org/mailman/listinfo/hubmib --NextPart-- From kpxcfufomy@rdsnet.ro Sat Feb 24 20:17:05 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HL80f-0002wP-DB for hubmib-archive@lists.ietf.org; Sat, 24 Feb 2007 20:17:05 -0500 Received: from [86.122.152.69] (helo=86-122-152-69.rdsnet.ro) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HL80d-0005am-U2 for hubmib-archive@lists.ietf.org; Sat, 24 Feb 2007 20:17:05 -0500 From: "worse lyrics" To: hubmib-archive@lists.ietf.org Subject: Economic Events & Analysis Date: Sun, 25 Feb 2007 03:16:57 -0200 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0004_01C7588B.68098020" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdYi2gL1nQN1M5tQ/KzAXo74Udekg== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 1.3 (+) X-Scan-Signature: 798b2e660f1819ae38035ac1d8d5e3ab ------=_NextPart_000_0004_01C7588B.68098020 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
*GDKI* STILL MOVING LIKE A COMET AND ITS ONLY GOING TO GET BETTER!

Watch this SUPERNOVA closely Monday!

GOLDMARK INDUSTRIES INC
Symbol: GDKI
Price: $0.13
GET IN ON February 26 Monday, 2007

NEWS RELEASED ON 2007/02/20 05:39
Goldmark Industries, Inc. (Pk Sheet:GDKI), is excited to announce that its recent acquisition, Habana Blues, which was nominated for four Goya awards, the equivalent of the Oscars in Spain, has been requested by numerous film festivals across the nation and will be featured at the exclusive Latin American Film Festival in Champaign, Illinois, February 23rd to March 1st. The film, which was released by Warner Home Video International, has been making waves since its success at the prestigious Cannes International Film Festival. Goldmark is currently in negotiations for the award-winning film’s theatrical release.
------=_NextPart_000_0004_01C7588B.68098020-- From utctovns@volia.net Sun Feb 25 12:29:26 2007 Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HLNBd-0007Z8-IH for hubmib-archive@lists.ietf.org; Sun, 25 Feb 2007 12:29:25 -0500 Received: from request.abacus.volia.net ([77.122.110.214]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HLNBc-0006Uz-6L for hubmib-archive@lists.ietf.org; Sun, 25 Feb 2007 12:29:25 -0500 From: "Wizard" To: hubmib-archive@lists.ietf.org Subject: Economic Events & Analysis Date: Sun, 25 Feb 2007 19:29:28 -0200 MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_NextPart_000_0000_01C75913.43FAF780" X-Mailer: Microsoft Office Outlook, Build 11.0.5510 Thread-Index: AcdZE0P6oOToNFv+RgqFZsvGliSmkA== X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869 Message-Id: X-Spam-Score: 3.0 (+++) X-Scan-Signature: 798b2e660f1819ae38035ac1d8d5e3ab ------=_NextPart_000_0000_01C75913.43FAF780 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable
*GDKI* STILL MOVING LIKE A COMET AND ITS ONLY GOING TO GET BETTER!

Watch this SUPERNOVA closely Monday!

GOLDMARK INDUSTRIES INC
Symbol: GDKI
Price: $0.13
GET IN ON February 26 Monday, 2007

NEWS RELEASED ON 2007/02/20 05:39
Goldmark Industries, Inc. (Pk Sheet:GDKI), is excited to announce that its recent acquisition, Habana Blues, which was nominated for four Goya awards, the equivalent of the Oscars in Spain, has been requested by numerous film festivals across the nation and will be featured at the exclusive Latin American Film Festival in Champaign, Illinois, February 23rd to March 1st. The film, which was released by Warner Home Video International, has been making waves since its success at the prestigious Cannes International Film Festival. Goldmark is currently in negotiations for the award-winning film’s theatrical release.
------=_NextPart_000_0000_01C75913.43FAF780--