<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>96596</bug_id>
          
          <creation_ts>2012-09-12 21:05:34 -0700</creation_ts>
          <short_desc>If a prototype has indexed setters and its instances have indexed storage, then all put_by_val&apos;s should have a bad time</short_desc>
          <delta_ts>2012-09-18 15:08:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91933</dependson>
    
    <dependson>96611</dependson>
    
    <dependson>97001</dependson>
          <blocked>96962</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>brendan</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ggaren</cc>
    
    <cc>kadam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>719015</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-12 21:05:34 -0700</bug_when>
    <thetext>put_by_val optimizations inline the hole and out-of-bounds store case.  But this is subtly wrong if the prototype of the base object has setters.

This can be side-stepped while preserving the optimization by:

1) If an object with indexed property storage transitions to having a prototype that has or once did have indexed accessors, then its indexing type should be set to ArrayStorageSlowHoles

2) If an object with a prototype that has or once did have indexed accessors transitions to having indexed property storage, then its indexing type should be set to ArrayStorageSlowHoles

3) If an object known to be used as a prototype transitions to having indexed accessors, then (I) its global object should have the havingABadTime flag set, (II) a heap walk should commence, (III) all structures belonging to that global object that have an indexing type indicating the presence of ArrayStorage should be changed in-place to have be ArrayStorageSlowHoles, (IV) a watchpoint for havingABadTime should be fired.

4) If an object transitions to having indexing property storage while its structure&apos;s global object has the havingABadTime set then the indexing type should be set to ArrayStorageSlowHoles.

5) If a structure check is used to enforce an object having indexing storage that is not ArrayStorageSlowHoles, then we should also emit a speculation watchpoint for that global object&apos;s havingABadTime flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719104</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-12 23:41:44 -0700</bug_when>
    <thetext>*** Bug 96605 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719261</commentid>
    <comment_count>2</comment_count>
    <who name="Ádám Kallai">kadam</who>
    <bug_when>2012-09-13 02:13:37 -0700</bug_when>
    <thetext>Also this test fails on Qt (fast/js/primitive-property-access-edge-cases.html).
I&apos;m going to skip it until the proper fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720210</commentid>
    <comment_count>3</comment_count>
      <attachid>164025</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-13 18:41:30 -0700</bug_when>
    <thetext>Created attachment 164025
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721338</commentid>
    <comment_count>4</comment_count>
      <attachid>164268</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-14 20:01:39 -0700</bug_when>
    <thetext>Created attachment 164268
moar

Almost there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721517</commentid>
    <comment_count>5</comment_count>
      <attachid>164301</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-15 19:04:31 -0700</bug_when>
    <thetext>Created attachment 164301
the patch

It seems to work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721519</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-15 19:07:32 -0700</bug_when>
    <thetext>Attachment 164301 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1
Source/JavaScriptCore/runtime/SparseArrayValueMap.h:49:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/runtime/SparseArrayValueMap.h:49:  The parameter name &quot;map&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/runtime/SparseArrayValueMap.h:49:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/runtime/JSObject.h:529:  The parameter name &quot;globalData&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721556</commentid>
    <comment_count>7</comment_count>
      <attachid>164309</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-15 23:24:28 -0700</bug_when>
    <thetext>Created attachment 164309
almost ready to land

Still need to rebase some tests, and add some new tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721563</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 00:33:01 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=164309) [details]
&gt; almost ready to land
&gt; 
&gt; Still need to rebase some tests, and add some new tests.

It looks like I missed some cases!  Put_by_val to primitives completely side-steps the JSObject::put logic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721565</commentid>
    <comment_count>9</comment_count>
      <attachid>164311</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 00:35:21 -0700</bug_when>
    <thetext>Created attachment 164311
the patch

The differences from the previously reviewed patch:

- Added JSObject::unwrappedGlobalObject(), since globalObject() doesn&apos;t work for global-this.  That was causing assertion failures.

- Added JSValue::putToPrimitiveByIndex() and refactored JSObject::attemptToInterceptPutByIndexOnHole() so that the logic can be shared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721637</commentid>
    <comment_count>10</comment_count>
      <attachid>164326</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 16:19:03 -0700</bug_when>
    <thetext>Created attachment 164326
patch with new tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721649</commentid>
    <comment_count>11</comment_count>
      <attachid>164329</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 18:02:50 -0700</bug_when>
    <thetext>Created attachment 164329
rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721651</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-16 18:05:34 -0700</bug_when>
    <thetext>Attachment 164329 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/JavaScriptCore/runtime/JSObject.h:506:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/runtime/JSObject.h:506:  The parameter name &quot;i&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/runtime/JSObject.h:506:  The parameter name &quot;v&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 41 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721653</commentid>
    <comment_count>13</comment_count>
      <attachid>164331</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 18:10:41 -0700</bug_when>
    <thetext>Created attachment 164331
the patch

Fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721658</commentid>
    <comment_count>14</comment_count>
      <attachid>164331</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-16 19:00:17 -0700</bug_when>
    <thetext>Comment on attachment 164331
the patch

Attachment 164331 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13863701

New failing tests:
fast/js/array-bad-time.html
fast/js/object-bad-time.html
fast/js/object-slow-put.html
fast/js/array-slow-put.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721661</commentid>
    <comment_count>15</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-16 19:09:33 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 164331 [details])
&gt; Attachment 164331 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/13863701
&gt; 
&gt; New failing tests:
&gt; fast/js/array-bad-time.html
&gt; fast/js/object-bad-time.html
&gt; fast/js/object-slow-put.html
&gt; fast/js/array-slow-put.html

I don&apos;t see the failures in the output.  I&apos;m going to ignore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721725</commentid>
    <comment_count>16</comment_count>
      <attachid>164331</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-17 00:33:37 -0700</bug_when>
    <thetext>Comment on attachment 164331
the patch

I&apos;d like to see a test case that cover a couple of cross-frame scenarios.  E.g. I have two frames, one adds a numeric setter to its array prototype, the second frame behaves correctly wrt to array objects from the first frame.  (The patch looks like it will handle any cases I can think of correctly, since having a bad time is related to array creation, just would like to see test coverage for this).

Still, this is awesome enough as is &amp; there is plenty of test coverage already in this patch, so r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721727</commentid>
    <comment_count>17</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-17 00:34:41 -0700</bug_when>
    <thetext>*** Bug 42801 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>721728</commentid>
    <comment_count>18</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-09-17 00:36:14 -0700</bug_when>
    <thetext>Oh, I&apos;ve marked bug#42801 as a dupe of this, could you quickly test brendan&apos;s test case &amp; check if it&apos;s covered by the test cases you have already, &amp; if not please add.  Cheers, G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722150</commentid>
    <comment_count>19</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-17 12:10:36 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Oh, I&apos;ve marked bug#42801 as a dupe of this, could you quickly test brendan&apos;s test case &amp; check if it&apos;s covered by the test cases you have already, &amp; if not please add.  Cheers, G.

Yup, his test is virtually identical to fast/js/array-slow-put.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722208</commentid>
    <comment_count>20</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-17 13:09:11 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 164331 [details])
&gt; I&apos;d like to see a test case that cover a couple of cross-frame scenarios.  E.g. I have two frames, one adds a numeric setter to its array prototype, the second frame behaves correctly wrt to array objects from the first frame.  (The patch looks like it will handle any cases I can think of correctly, since having a bad time is related to array creation, just would like to see test coverage for this).

I can add such a test, but this will trivially work since PutByVal&apos;s and GetByVal&apos;s don&apos;t make assumptions about whether or not you&apos;re having a bad time in either the code&apos;s frame, the object&apos;s frame, or any other frame.  They just do either a structure check (which will fail if the object&apos;s frame started having a bad time after the structure check was compiled) or an indexing type check (which, similarly to the structure check, will fail if the object&apos;s frame started having a bad time) or no inlined check at all (if it&apos;s a generic array access which will always go to C++ code, which will do the right things).

&gt; 
&gt; Still, this is awesome enough as is &amp; there is plenty of test coverage already in this patch, so r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722248</commentid>
    <comment_count>21</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-17 13:56:53 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/128802</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722266</commentid>
    <comment_count>22</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-17 14:24:40 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; (From update of attachment 164331 [details] [details])
&gt; &gt; Attachment 164331 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/13863701
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; fast/js/array-bad-time.html
&gt; &gt; fast/js/object-bad-time.html
&gt; &gt; fast/js/object-slow-put.html
&gt; &gt; fast/js/array-slow-put.html
&gt; 
&gt; I don&apos;t see the failures in the output.  I&apos;m going to ignore.

Actually I figured it out.  Chrome has non-compliant behavior with respect to indexed accessors and read-only properties.

Nothing I can do about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722676</commentid>
    <comment_count>23</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-18 05:08:40 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Landed in http://trac.webkit.org/changeset/128802

It caused regression everywhere - https://bugs.webkit.org/show_bug.cgi?id=97001
Could you check it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723054</commentid>
    <comment_count>24</comment_count>
    <who name="Brendan Eich">brendan</who>
    <bug_when>2012-09-18 14:33:47 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #15)
&gt; &gt; (In reply to comment #14)
&gt; &gt; &gt; (From update of attachment 164331 [details] [details] [details])
&gt; &gt; &gt; Attachment 164331 [details] [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; &gt; Output: http://queues.webkit.org/results/13863701
&gt; &gt; &gt; 
&gt; &gt; &gt; New failing tests:
&gt; &gt; &gt; fast/js/array-bad-time.html
&gt; &gt; &gt; fast/js/object-bad-time.html
&gt; &gt; &gt; fast/js/object-slow-put.html
&gt; &gt; &gt; fast/js/array-slow-put.html
&gt; &gt; 
&gt; &gt; I don&apos;t see the failures in the output.  I&apos;m going to ignore.
&gt; 
&gt; Actually I figured it out.  Chrome has non-compliant behavior with respect to indexed accessors and read-only properties.
&gt; 
&gt; Nothing I can do about that.

Chrome issue on file?

/be</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723079</commentid>
    <comment_count>25</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-09-18 15:08:35 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #22)
&gt; &gt; (In reply to comment #15)
&gt; &gt; &gt; (In reply to comment #14)
&gt; &gt; &gt; &gt; (From update of attachment 164331 [details] [details] [details] [details])
&gt; &gt; &gt; &gt; Attachment 164331 [details] [details] [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; &gt; &gt; Output: http://queues.webkit.org/results/13863701
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; New failing tests:
&gt; &gt; &gt; &gt; fast/js/array-bad-time.html
&gt; &gt; &gt; &gt; fast/js/object-bad-time.html
&gt; &gt; &gt; &gt; fast/js/object-slow-put.html
&gt; &gt; &gt; &gt; fast/js/array-slow-put.html
&gt; &gt; &gt; 
&gt; &gt; &gt; I don&apos;t see the failures in the output.  I&apos;m going to ignore.
&gt; &gt; 
&gt; &gt; Actually I figured it out.  Chrome has non-compliant behavior with respect to indexed accessors and read-only properties.
&gt; &gt; 
&gt; &gt; Nothing I can do about that.
&gt; 
&gt; Chrome issue on file?
&gt; 
&gt; /be

Well, it would have been on file if the tests caused these tests to fail on their bots.  But the tests aren&apos;t failing on their bots, so it may be that these particular failures were spurious and they&apos;ve actually fixed the issue in their tree.

In any case, unless they preemptively skipped these tests (I see no evidence of that in the repo), then either (a) the tests will pass because they are conformant or (b) the tests will fail and they&apos;ll find out about it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164025</attachid>
            <date>2012-09-13 18:41:30 -0700</date>
            <delta_ts>2012-09-14 20:01:39 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>haveabadtime_patch_1.diff</filename>
            <type>text/plain</type>
            <size>34227</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NTM4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcyIEBA
CisyMDEyLTA5LTEzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SWYgYSBwcm90b3R5cGUgaGFzIGluZGV4ZWQgc2V0dGVycyBhbmQgaXRzIGluc3RhbmNlcyBoYXZl
IGluZGV4ZWQgc3RvcmFnZSwgdGhlbiBhbGwgcHV0X2J5X3ZhbCdzIHNob3VsZCBoYXZlIGEgYmFk
IHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2
NTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV29y
ayBpbiBwcm9ncmVzcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJvZmlsZS5oOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6YXJyYXlNb2RlRnJvbVN0cnVjdHVyZSk6CisgICAg
ICAgICogcnVudGltZS9JbmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChK
U0M6Omhhc0luZGV4ZWRQcm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzQXJyYXlTdG9yYWdl
KToKKyAgICAgICAgKEpTQzo6c2hvdWxkVXNlU2xvd1B1dCk6CisgICAgICAgICogcnVudGltZS9K
U0FycmF5Lmg6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmNyZWF0ZVN0cnVjdHVyZSk6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0OjpyZXNldCk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAg
ICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpwdXRCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmVudGVyRGljdGlvbmFy
eUluZGV4aW5nTW9kZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpub3RpZnlQcmVzZW5jZU9m
SW5kZXhlZEFjY2Vzc29ycyk6CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6Y3JlYXRlQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmVuc3VyZUFy
cmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZSk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5
QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToKKyAgICAg
ICAgKEpTQzo6SlNPYmplY3Q6OmdldE5ld1ZlY3Rvckxlbmd0aCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1heUJlVXNlZEFzUHJvdG90eXBlKToK
KyAgICAgICAgKEpTT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3Nlcyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRBcnJheUxlbmd0
aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRWZWN0b3JMZW5ndGgpOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6Y2FuR2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6OmdldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5TZXRJbmRl
eFF1aWNrbHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0SW5kZXhRdWlja2x5KToKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaXRpYWxpemVJbmRleCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0Ojpjb21wbGV0ZUluaXRpYWxpemF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmluU3BhcnNlSW5kZXhpbmdNb2RlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3Rv
cmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjphcnJheVN0b3JhZ2VPck51bGwpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRp
bWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQyk6CisgICAgICAg
IChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkSW5kZXhpbmdUcmFuc2l0aW9uKToKKyAgICAgICAg
KiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAoU3RydWN0dXJlKToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlOjptYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMpOgorICAgICAgICAqIHJ1
bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmg6CisgICAgICAgIChKU0M6Om5ld0luZGV4
aW5nVHlwZSk6CisKIDIwMTItMDktMTMgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBNYWtlIGdsb2JhbCBjb25zdCBpbml0aWFsaXNhdGlvbiBleHBsaWNpdCBpbiB0
aGUgYnl0ZWNvZGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVBy
b2ZpbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJy
YXlQcm9maWxlLmgJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BcnJheVByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAogLy8gVGhpcyBp
cyBhIGJpdGZpZWxkIHdoZXJlIGVhY2ggYml0IHJlcHJlc2VudHMgYW4gSW5kZXhpbmdUeXBlIHRo
YXQgd2UgaGF2ZSBzZWVuLgotLy8gVGhlcmUgYXJlIDE3IGluZGV4aW5nIHR5cGVzICgwIHRvIDE2
LCBpbmNsdXNpdmUpLCBzbyAzMiBiaXRzIGlzIG1vcmUgdGhhbiBlbm91Z2guCisvLyBUaGVyZSBh
cmUgMzIgaW5kZXhpbmcgdHlwZXMsIHNvIGFuIHVuc2lnbmVkIGlzIGVub3VnaC4KIHR5cGVkZWYg
dW5zaWduZWQgQXJyYXlNb2RlczsKIAogI2RlZmluZSBhc0FycmF5TW9kZXModHlwZSkgXApAQCAt
NDQsNyArNDQsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIEFycmF5TW9kZXM7CiAKIGlubGluZSBBcnJh
eU1vZGVzIGFycmF5TW9kZUZyb21TdHJ1Y3R1cmUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7Ci0g
ICAgcmV0dXJuIGFzQXJyYXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZUluY2x1ZGluZ0hp
c3RvcnkoKSk7CisgICAgcmV0dXJuIGFzQXJyYXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlw
ZSgpKTsKIH0KIAogY2xhc3MgQXJyYXlQcm9maWxlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCShyZXZpc2lvbiAxMjg0ODcpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRleGluZ1R5cGUuaAkod29ya2luZyBjb3B5KQpA
QCAtMzMsMjIgKzMzLDU5IEBAIHR5cGVkZWYgdWludDhfdCBJbmRleGluZ1R5cGU7CiAvLyBGbGFn
cyBmb3IgdGVzdGluZyB0aGUgcHJlc2VuY2Ugb2YgY2FwYWJpbGl0aWVzLgogc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBJc0FycmF5ICAgICAgICAgICAgICAgICAgPSAxOwogc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBIYXNBcnJheVN0b3JhZ2UgICAgICAgICAgPSA4Oworc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBIYXNTbG93UHV0QXJyYXlTdG9yYWdlICAgPSAxNjsKIAogLy8gQWRkaXRp
b25hbCBmbGFncyBmb3IgdHJhY2tpbmcgdGhlIGhpc3Rvcnkgb2YgdGhlIHR5cGUuIFRoZXNlIGFy
ZSB1c3VhbGx5CiAvLyBtYXNrZWQgb2ZmIHVubGVzcyB5b3UgYXNrIGZvciB0aGVtIGRpcmVjdGx5
Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAgICAgICAgPSAx
NjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9yYWdlIGluIHRo
ZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAgICAg
ICAgPSAzMjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9yYWdl
IGluIHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBNYXlIYXZlSW5kZXhlZEFj
Y2Vzc29ycyAgPSA2NDsKIAogLy8gTGlzdCBvZiBhY2NlcHRhYmxlIGFycmF5IHR5cGVzLgotc3Rh
dGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAgICAgICAgICAgICAgPSAwOwotc3Rh
dGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UgPSBIYXNBcnJh
eVN0b3JhZ2U7Ci1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAgICAgICAg
ICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0aGlz
IHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgotc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwgSGFz
QXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAgICAg
ICAgICAgICAgICAgICAgID0gMDsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXlX
aXRoQXJyYXlTdG9yYWdlICAgICAgICA9IEhhc0FycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25zdCBJ
bmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSA9IEhhc1Nsb3dQdXRB
cnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAgICAg
ICAgICAgICAgICAgICAgPSBJc0FycmF5OyAvLyBJJ2Qgd2FudCB0byBjYWxsIHRoaXMgIkFycmF5
IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRpc2FzdHJvdXMgbmFtZXNwYWNlIHBvbGx1dGlvbi4K
K3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgICAgICAg
ICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBl
IEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwgSGFzU2xvd1B1dEFy
cmF5U3RvcmFnZTsKKworI2RlZmluZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVMgXAorICAgIE5v
bkFycmF5OiAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXlDbGFzcworCisjZGVm
aW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyBcCisgICAgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheVdp
dGhTbG93UHV0QXJyYXlTdG9yYWdlCisgICAgCisjZGVmaW5lIEFMTF9BUlJBWV9TVE9SQUdFX0lO
REVYSU5HX1RZUEVTICAgICAgICAgICAgICAgIFwKKyAgICBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xv
d1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICBcCisgICAgY2FzZSBBUlJBWV9XSVRIX0FS
UkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMKKworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4
ZWRQcm9wZXJ0aWVzKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCit7CisgICAgc3dpdGNoIChp
bmRleGluZ1R5cGUpIHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KK30KKworc3RhdGljIGlubGluZSBib29sIGhhc0FycmF5U3RvcmFnZShJbmRleGluZ1R5cGUg
aW5kZXhpbmdUeXBlKQoreworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUgJiAoSGFzQXJyYXlT
dG9yYWdlIHwgSGFzU2xvd1B1dEFycmF5U3RvcmFnZSkpOworfQorCitzdGF0aWMgaW5saW5lIGJv
b2wgc2hvdWxkVXNlU2xvd1B1dChJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQoreworICAgIHJl
dHVybiAhIShpbmRleGluZ1R5cGUgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdlKTsKK30KIAogLy8g
TWFzayBvZiBhbGwgcG9zc2libGUgdHlwZXMuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFs
bEFycmF5VHlwZXMgICAgICAgICAgICA9IDE1Oworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzICAgICAgICAgICAgPSAzMTsKIAogLy8gTWFzayBvZiBhbGwgcG9zc2libGUg
dHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAzMTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUg
QWxsQXJyYXlUeXBlc0FuZEhpc3RvcnkgID0gMTI3OwogCiBpbmxpbmUgYm9vbCBoYXNJbmRleGlu
Z0hlYWRlcihJbmRleGluZ1R5cGUgdHlwZSkKIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmgJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsOSArNzgsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBmaWxsQXJnTGlzdChFeGVjU3RhdGUqLCBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciYpOwogICAgICAgICB2b2lkIGNvcHlUb0FyZ3VtZW50cyhFeGVjU3Rh
dGUqLCBDYWxsRnJhbWUqLCB1aW50MzJfdCBsZW5ndGgpOwogCi0gICAgICAgIHN0YXRpYyBTdHJ1
Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgICAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSwgSW5kZXhpbmdUeXBl
IGluZGV4aW5nVHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6
Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmpl
Y3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8sIEFycmF5V2l0aEFycmF5U3RvcmFnZSk7
CisgICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwg
JnNfaW5mbywgaW5kZXhpbmdUeXBlKTsKICAgICAgICAgfQogICAgICAgICAKICAgICBwcm90ZWN0
ZWQ6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCShyZXZpc2lvbiAxMjg0ODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMCw3ICsyMzAsOCBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvCiAgICAgbV9jYWxsYmFj
a09iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOwogCiAgICAgbV9hcnJheVByb3Rv
dHlwZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBBcnJheVByb3RvdHlwZTo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFs
RGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX2FycmF5U3Ry
dWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0ZVN0cnVj
dHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsK
KyAgICBtX2FycmF5U3RydWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJy
YXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90
b3R5cGUuZ2V0KCksIEFycmF5V2l0aEFycmF5U3RvcmFnZSkpOworICAgIG1fYXJyYXlTdHJ1Y3R1
cmVGb3JTbG93UHV0LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCksIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UpKTsKICAgICBtX3JlZ0V4cE1hdGNoZXNB
cnJheVN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBSZWdFeHBNYXRjaGVz
QXJyYXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQ
cm90b3R5cGUuZ2V0KCkpKTsKIAogICAgIG1fc3RyaW5nUHJvdG90eXBlLnNldChleGVjLT5nbG9i
YWxEYXRhKCksIHRoaXMsIFN0cmluZ1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFN0cmlu
Z1Byb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9v
YmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEyNiw3ICsxMjYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0
cnVjdHVyZT4gbV9hY3RpdmF0aW9uU3RydWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX25hbWVTY29wZVN0cnVjdHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9hcmd1bWVudHNTdHJ1Y3R1cmU7Ci0gICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7CisgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
YXJyYXlTdHJ1Y3R1cmU7IC8vIFRoaXMgZ2V0cyBzZXQgdG8gbV9hcnJheVN0cnVjdHVyZUZvclNs
b3dQdXQgYXMgc29vbiBhcyB3YXRjaHBvaW50cyBvbiB0aGUgQXJyYXlQcm90b3R5cGUgcHJvdG90
eXBlIGNoYWluIGZpcmUuCisgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlT
dHJ1Y3R1cmVGb3JTbG93UHV0OwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jv
b2xlYW5PYmplY3RTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
Y2FsbGJhY2tDb25zdHJ1Y3RvclN0cnVjdHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzMsOCArMTMzLDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRlcgog
ICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBNYXJrIGFuZCBjb3B5IHRoZSBhcnJheSBpZiBh
cHByb3ByaWF0ZS4KICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUo
KSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExf
QVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIG5ld0J1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPmNvcHlIZWFkZXJGcm9tRHVyaW5nR0MoKmJ1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiog
Y3VycmVudFRhcmdldCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yOwog
ICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogY3VycmVudFNvdXJjZSA9IGJ1
dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yOwpAQCAtMTYwLDggKzE1OSw3IEBAIEFM
V0FZU19JTkxJTkUgdm9pZCBKU09iamVjdDo6dmlzaXRCdXR0ZXIKICAgICAgICAgCiAgICAgICAg
IC8vIE1hcmsgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRlLgogICAgICAgICBzd2l0Y2ggKHN0cnVj
dHVyZS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3Jh
Z2U6Ci0gICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICBjYXNl
IEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgdmlzaXRvci5h
cHBlbmRWYWx1ZXMoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3IsIGJ1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpKTsKICAgICAgICAgICAgIGlmIChidXR0
ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCkKICAgICAgICAgICAgICAgICB2aXNp
dG9yLmFwcGVuZCgmYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXApOwpAQCAt
MjM0LDEyICsyMzIsMTAgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRl
eAogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0T3duUHJvcGVy
dHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaSksIHNsb3Qp
OwogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlw
ZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKLSAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5
U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsK
ICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJmbHkt
PmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAoaSA+PSBzdG9yYWdlLT5sZW5ndGgoKSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTM1NCw4ICszNTAsNyBAQCB2b2lkIEpTT2JqZWN0
OjpwdXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgCiAgICAgfQogICAgIAogICAgIHN3aXRjaCAodGhp
c09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJh
eToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5
U3RvcmFnZToKQEAgLTM4MSw2ICszNzYsMzQgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleChK
U0NlbGwqIGNlbGwsIAogICAgICAgICByZXR1cm47CiAgICAgfQogICAgICAgICAKKyAgICBjYXNl
IE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOiB7CisgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNP
YmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKKyAgICAgICAgCisgICAgICAgIGlm
IChwcm9wZXJ0eU5hbWUgPj0gc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpCisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgCisgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYgdmFsdWVTbG90
ID0gc3RvcmFnZS0+bV92ZWN0b3JbcHJvcGVydHlOYW1lXTsKKyAgICAgICAgdW5zaWduZWQgbGVu
Z3RoID0gc3RvcmFnZS0+bGVuZ3RoKCk7CisgICAgICAgIAorICAgICAgICAvLyBVcGRhdGUgbGVu
Z3RoICYgbV9udW1WYWx1ZXNJblZlY3RvciBhcyBuZWNlc3NhcnkuCisgICAgICAgIGlmIChwcm9w
ZXJ0eU5hbWUgPj0gbGVuZ3RoKSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0ZW1w
dFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBz
aG91bGRUaHJvdykpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgbGVuZ3Ro
ID0gcHJvcGVydHlOYW1lICsgMTsKKyAgICAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5n
dGgpOworICAgICAgICAgICAgKytzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAg
ICB9IGVsc2UgaWYgKCF2YWx1ZVNsb3QpIHsKKyAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5h
dHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFs
dWUsIHNob3VsZFRocm93KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAr
K3N0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3I7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIHZhbHVlU2xvdC5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCB2YWx1ZSk7
CisgICAgICAgIHRoaXNPYmplY3QtPmNoZWNrSW5kZXhpbmdDb25zaXN0ZW5jeSgpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgICAgICAKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC00MjUsOCArNDQ4LDcgQEAgQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SQogdm9pZCBKU09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5
SW5kZXhpbmdNb2RlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOgotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FS
UkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGVudGVyRGljdGlvbmFyeUluZGV4
aW5nTW9kZVdoZW5BcnJheVN0b3JhZ2VBbHJlYWR5RXhpc3RzKGdsb2JhbERhdGEsIG1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKQEAgLTQzNSwx
MCArNDU3LDIzIEBAIHZvaWQgSlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUluZGV4aW5nTW8KICAg
ICB9CiB9CiAKK3ZvaWQgSlNPYmplY3Q6Om5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3Jz
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBpZiAobWF5SW50ZXJjZXB0SW5kZXhl
ZEFjY2Vzc2VzKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xv
YmFsRGF0YSwgU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3Ry
dWN0dXJlKCksIEFkZEluZGV4ZWRBY2Nlc3NvcnMpKTsKKyAgICAKKyAgICBpZiAoIW1heUJlVXNl
ZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgZ2xv
YmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZShnbG9iYWxEYXRhKTsKK30KKwogQXJyYXlTdG9yYWdl
KiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
dW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCB2ZWN0b3JMZW5ndGgpCiB7CiAgICAgSW5kZXhpbmdU
eXBlIG9sZFR5cGUgPSBzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgQVNTRVJUX1VO
VVNFRChvbGRUeXBlLCBvbGRUeXBlID09IE5vbkFycmF5IHx8IG9sZFR5cGUgPT0gQXJyYXlDbGFz
cyk7CisgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xk
VHlwZSkpOwogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gbV9idXR0ZXJmbHktPmdyb3dB
cnJheVJpZ2h0KAogICAgICAgICBnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCkt
Pm91dE9mTGluZUNhcGFjaXR5KCksIGZhbHNlLCAwLAogICAgICAgICBBcnJheVN0b3JhZ2U6OnNp
emVGb3IodmVjdG9yTGVuZ3RoKSk7CkBAIC00NTQsNyArNDg5LDcgQEAgQXJyYXlTdG9yYWdlKiBK
U09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogICAgIHJlc3VsdC0+bV9pbml0aWFsaXphdGlvbklu
ZGV4ID0gMDsKICAgICByZXN1bHQtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24gPSAwOwogI2Vu
ZGlmCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5
VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVBcnJheVN0b3JhZ2Up
OworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRy
YW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWRJ
bmRleGluZ1RyYW5zaXRpb24oKSk7CiAgICAgc2V0QnV0dGVyZmx5KGdsb2JhbERhdGEsIG5ld0J1
dHRlcmZseSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDY3LDEy
ICs1MDIsMTAgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEFycgogQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0
aW9uYXJ5SW5kZXhpbmdNb2RlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0
Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2Ug
QUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBlbnRlckRp
Y3Rpb25hcnlJbmRleGluZ01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxE
YXRhLCBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKLSAgICBjYXNlIEFy
cmF5Q2xhc3M6Ci0gICAgY2FzZSBOb25BcnJheTogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZShnbG9iYWxEYXRhLCAwLCAw
KTsKICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gYWxsb2NhdGVTcGFyc2VJbmRl
eE1hcChnbG9iYWxEYXRhKTsKICAgICAgICAgbWFwLT5zZXRTcGFyc2VNb2RlKCk7CkBAIC01MDgs
NiArNTQxLDI5IEBAIGJvb2wgSlNPYmplY3Q6OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWMKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBKU09iamVjdDo6cmVzZXRJbmhlcml0b3JJRChKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3Ry
dWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpOwor
ICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwganNVbmRlZmluZWQoKSk7Cit9
CisKK1N0cnVjdHVyZSogSlNPYmplY3Q6OmluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSkKK3sKKyAgICBpZiAoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSBn
ZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkp
KSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBsb2NhdGlvbi0+Z2V0KCk7CisgICAgICAgIGlm
ICh2YWx1ZS5pc0NlbGwoKSkgeworICAgICAgICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRCA9
IGpzQ2FzdDxTdHJ1Y3R1cmUqPih2YWx1ZSk7CisgICAgICAgICAgICBBU1NFUlQoaW5oZXJpdG9y
SUQtPmlzRW1wdHkoKSk7CisgICAgICAgICAgICByZXR1cm4gaW5oZXJpdG9ySUQ7CisgICAgICAg
IH0KKyAgICAgICAgQVNTRVJUKHZhbHVlLmlzVW5kZWZpbmVkKCkpOworICAgIH0KKyAgICByZXR1
cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFsRGF0YSk7Cit9CisKIGJvb2wgSlNPYmplY3Q6OmFs
bG93c0FjY2Vzc0Zyb20oRXhlY1N0YXRlKiBleGVjKQogewogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBpc0dsb2JhbFRoaXMoKSA/IGpzQ2FzdDxKU0dsb2JhbFRoaXMqPih0aGlz
KS0+dW53cmFwcGVkT2JqZWN0KCkgOiB0aGlzLT5nbG9iYWxPYmplY3QoKTsKQEAgLTU5NywxMiAr
NjUzLDEwIEBAIGJvb2wgSlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5QnlJbmRleChKU0MKICAgICAg
ICAgcmV0dXJuIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKCktPmRlbGV0ZVByb3BlcnR5KHRoaXNP
YmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaSkpOwogICAgIAogICAgIHN3aXRj
aCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBB
cnJheUNsYXNzOgotICAgIGNhc2UgTm9uQXJyYXk6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5
V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogewor
ICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJy
YXlTdG9yYWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpOwogICAgICAgICAKICAgICAgICAgaWYgKGkgPCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSkg
ewpAQCAtNzYyLDEyICs4MTYsMTAgQEAgdm9pZCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlOYW1l
cyhKU09iagogICAgIC8vIGlzIGluY3JlZGlibHkgaW5lZmZpY2llbnQgZm9yIGxhcmdlIGFycmF5
cy4gV2UgbmVlZCBhIGRpZmZlcmVudCBhcHByb2FjaCwKICAgICAvLyB3aGljaCBhbG1vc3QgY2Vy
dGFpbmx5IG1lYW5zIGEgZGlmZmVyZW50IHN0cnVjdHVyZSBmb3IgUHJvcGVydHlOYW1lQXJyYXku
CiAgICAgc3dpdGNoIChvYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAg
IGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgogICAgICAgICBicmVhazsKICAgICAgICAgCi0gICAgY2FzZSBOb25B
cnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsK
KyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFy
cmF5U3RvcmFnZSogc3RvcmFnZSA9IG9iamVjdC0+bV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
OwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgdXNlZFZlY3Rvckxlbmd0aCA9IHN0ZDo6bWlu
KHN0b3JhZ2UtPmxlbmd0aCgpLCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSk7CkBAIC05MjAsNiAr
OTcyLDE2IEBAIE5FVkVSX0lOTElORSB2b2lkIEpTT2JqZWN0OjpmaWxsR2V0dGVyUHIKICAgICAg
ICAgc2xvdC5zZXRVbmRlZmluZWQoKTsKIH0KIAordm9pZCBKU09iamVjdDo6bm90aWZ5VXNlZEFz
UHJvdG90eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhl
cml0b3JJREtleSk7CisgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OworICAgIHB1dERpcmVjdEludGVy
bmFsPFB1dE1vZGVEZWZpbmVPd25Qcm9wZXJ0eT4oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2lu
aGVyaXRvcklES2V5LCBqc1VuZGVmaW5lZCgpLCBEb250RW51bSwgc2xvdCwgMCk7Cit9CisKIFN0
cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSkKIHsKICAgICBBU1NFUlQoIWdldERpcmVjdExvY2F0aW9uKGdsb2JhbERhdGEsIGdsb2Jh
bERhdGEubV9pbmhlcml0b3JJREtleSkpOwpAQCAtMTE4OSw4ICsxMjUxLDcgQEAgdm9pZCBKU09i
amVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJB
WV9JTkRFWCk7CiAgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkp
IHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczogeworICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGlmIChpbmRleGluZ1Nob3VsZEJl
U3BhcnNlKCkpIHsKICAgICAgICAgICAgIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgZW5zdXJlQXJyYXlTdG9y
YWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKGdsb2JhbERhdGEpKTsKICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtMTIwNiw4ICsxMjY3LDcgQEAgdm9pZCBKU09iamVjdDo6cHV0
QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICBicmVhazsKICAgICB9CiAKLSAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBw
dXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1
ZSwgc2hvdWxkVGhyb3csIGFycmF5U3RvcmFnZSgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgICAg
IApAQCAtMTI5OCw4ICsxMzU4LDcgQEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlv
bmRWZWN0bwogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJBWV9JTkRFWCk7CiAgICAgCiAgICAgc3dp
dGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5Ogot
ICAgIGNhc2UgQXJyYXlDbGFzczogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OiB7CiAgICAgICAgIGlmIChpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgYXR0cmlidXRlcykK
ICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhB
cnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGVuc3VyZUFycmF5
U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShnbG9iYWxEYXRhKSk7
CiAgICAgICAgIGlmICghaXNEZW5zZUVub3VnaEZvclZlY3RvcihpLCAwKSB8fCBpID49IE1BWF9T
VE9SQUdFX1ZFQ1RPUl9MRU5HVEgpCkBAIC0xMzExLDggKzEzNzAsNyBAQCBib29sIEpTT2JqZWN0
OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3RvCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
IAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJh
eVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGFycmF5U3RvcmFnZSgp
KTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTEzNTQsMTMgKzE0MTIsMTEgQEAgQUxXQVlT
X0lOTElORSB1bnNpZ25lZCBKU09iamVjdDo6Z2V0TmV3VgogICAgIHVuc2lnbmVkIGxlbmd0aDsK
ICAgICAKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNh
c2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgogICAgICAgICB2ZWN0b3JMZW5ndGggPSAwOwogICAgICAgICBsZW5ndGgg
PSAwOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToK
LSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICB2ZWN0b3JMZW5ndGggPSBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpOwogICAgICAgICBsZW5ndGggPSBtX2J1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPmxlbmd0aCgpOwogICAgICAgICBicmVhazsKQEAgLTE0Nzgs
MTIgKzE1MzQsMTAgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgc3dpdGNoIChvYmplY3QtPnN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJh
eUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgot
ICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RP
UkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBv
YmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGkgPj0gc3Rv
cmFnZS0+bGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDEyODQ4NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTExOCw3ICsxMTgsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgc2V0UHJvdG90
eXBlV2l0aEN5Y2xlQ2hlY2soSlNHbG9iYWxEYXRhJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAg
ICAgICAKICAgICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRChKU0dsb2JhbERhdGEmKTsKLQor
ICAgICAgICB2b2lkIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShKU0dsb2JhbERhdGEmKTsKKyAgICAg
ICAgCisgICAgICAgIGJvb2wgbWF5QmVVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaXNWYWxpZE9mZnNldChzdHJ1
Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpOwor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICBib29sIG1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+bWF5SW50
ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIEpT
VmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSkgY29uc3Q7CiAgICAgICAgIEpTVmFs
dWUgZ2V0KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29uc3Q7CiAKQEAgLTEz
NSwxMSArMTQ2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGdldEFycmF5
TGVuZ3RoKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAg
ICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmxl
bmd0aCgpOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTE1MCwxMSArMTU5LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IHVuc2lnbmVkIGdldFZlY3Rvckxlbmd0aCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRj
aCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFy
cmF5OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExf
QkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAg
ICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9J
TkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xODksMTEgKzE5Niw5IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBib29sIGNhbkdldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQog
ICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlD
bGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAg
ICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAg
ICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5n
dGgoKSAmJiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yW2ldOwogICAgICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAg
LTIwNCw4ICsyMDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXRJbmRl
eFF1aWNrbHkodW5zaWduZWQgaSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Cisg
ICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAg
ICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yW2ld
LmdldCgpOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTIxNiwxMiArMjIwLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBib29sIGNhblNldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAg
Y2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAg
ICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGkgPCBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpOworICAgICAg
ICAgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAg
Y2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgICAgIHJldHVy
biBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKQorICAgICAg
ICAgICAgICAgICAgICAmJiAhIW1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3Jb
aV07CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIzMSw4ICsyMzgsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRJbmRleFF1aWNrbHkoSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lO
REVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiB4
ID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsKICAgICAgICAgICAg
ICAgICBpZiAoIXgpIHsKICAgICAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdl
ID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwpAQCAtMjUxLDggKzI1Nyw3IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICB2b2lkIGluaXRpYWxpemVJbmRleChKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIHVuc2lnbmVkIGksIEpTVmFsdWUgdikKICAgICAgICAgewogICAgICAgICAgICAg
c3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJh
eVN0b3JhZ2U6IHsKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdf
VFlQRVM6IHsKICAgICAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCk7CiAjaWYgQ0hFQ0tfQVJSQVlfQ09OU0lTVEVOQ1kKICAgICAg
ICAgICAgICAgICBBU1NFUlQoc3RvcmFnZS0+bV9pbkNvbXBhY3RJbml0aWFsaXphdGlvbik7CkBA
IC0yNzYsOCArMjgxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgY29tcGxldGVJ
bml0aWFsaXphdGlvbih1bnNpZ25lZCBuZXdMZW5ndGgpCiAgICAgICAgIHsKICAgICAgICAgICAg
IHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5H
X1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0
ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2Ug
aGF2ZSBpbml0aWFsaXplZCBhcyBtZW55IHByb3BlcnRpZXMgYXMgd2UgdGhpbmsgd2UgaGF2ZS4K
ICAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0oc3RvcmFnZSk7CkBAIC0yOTgsMTEgKzMwMiw5
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGluU3BhcnNlSW5kZXhpbmdNb2RlKCkK
ICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5
Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFy
cmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAg
ICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAg
ICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5pblNwYXJzZU1vZGUo
KTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CkBAIC01MzMsNyArNTM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIHN0
b3JhZ2UuIFRoaXMgd2lsbCBhc3NlcnQgb3RoZXJ3aXNlLgogICAgICAgICBBcnJheVN0b3JhZ2Uq
IGFycmF5U3RvcmFnZSgpCiAgICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkgfCBIYXNBcnJheVN0b3JhZ2UpOworICAgICAgICAgICAgQVNTRVJU
KGhhc0FycmF5U3RvcmFnZShzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICAgICAg
ICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIH0KICAgICAg
ICAgCkBAIC01NDIsOCArNTQ0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEFycmF5U3Rv
cmFnZSogYXJyYXlTdG9yYWdlT3JOdWxsKCkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNo
IChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgog
ICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtNTU4LDEyICs1NTksMTAgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogZW5zdXJlQXJyYXlTdG9yYWdl
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNo
IChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgog
ICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2Fz
ZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxBcnJheVN0b3JhZ2UoZ2xvYmFs
RGF0YSk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtNTkyLDYg
KzU5MSw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGRlYWxsb2NhdGVTcGFyc2VJ
bmRleE1hcCgpOwogICAgICAgICBib29sIGRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3Rh
dGUqLCB1bnNpZ25lZCwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCB0aHJvd0V4Y2VwdGlvbik7
CiAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIGFsbG9jYXRlU3BhcnNlSW5kZXhNYXAoSlNH
bG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAgICB2b2lkIG5vdGlmeVByZXNlbmNlT2ZJbmRl
eGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJp
ZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKQEAgLTgyNywxOSArODI4LDExIEBAIGlu
bGluZSBKU1ZhbHVlIEpTT2JqZWN0Ojpwcm90b3R5cGUoKSBjb24KIGlubGluZSB2b2lkIEpTT2Jq
ZWN0OjpzZXRQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3Rv
dHlwZSkKIHsKICAgICBBU1NFUlQocHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2Jq
ZWN0KCkpCisgICAgICAgIGFzT2JqZWN0KHByb3RvdHlwZSktPm5vdGlmeVVzZWRBc1Byb3RvdHlw
ZShnbG9iYWxEYXRhKTsKICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0dXJlOjpj
aGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5
cGUpKTsKIH0KIAotaW5saW5lIFN0cnVjdHVyZSogSlNPYmplY3Q6OmluaGVyaXRvcklEKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSkKLXsKLSAgICBpZiAoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3du
PiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1f
aW5oZXJpdG9ySURLZXkpKSB7Ci0gICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nh
c3Q8U3RydWN0dXJlKj4obG9jYXRpb24tPmdldCgpKTsKLSAgICAgICAgQVNTRVJUKGluaGVyaXRv
cklELT5pc0VtcHR5KCkpOwotICAgICAgICByZXR1cm4gaW5oZXJpdG9ySUQ7Ci0gICAgfQotICAg
IHJldHVybiBjcmVhdGVJbmhlcml0b3JJRChnbG9iYWxEYXRhKTsKLX0KLQogaW5saW5lIGJvb2wg
SlNDZWxsOjppbmhlcml0cyhjb25zdCBDbGFzc0luZm8qIGluZm8pIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoaW5mbyk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDEyODQ4NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwOSw2ICszMDksMzAgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdAogICAgIHJldHVybiAwOwogfQogCitib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFp
bk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1
cmUqIGN1cnJlbnQgPSB0aGlzOyBjdXJyZW50OykgeworICAgICAgICBpZiAoY3VycmVudC0+bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+c3RvcmVkUHJvdG90
eXBlKCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBl
KS0+c3RydWN0dXJlKCk7CisgICAgfQorfQorCitOb25Qcm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0
dXJlOjpzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24oKSBjb25zdAoreworICAgIEFTU0VSVCgh
aGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKCkpKTsKKyAgICAKKyAgICBpZiAoYW55
T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAgICByZXR1
cm4gQWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAgIHJldHVybiBBbGxvY2F0
ZUFycmF5U3RvcmFnZTsKK30KKwogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBKU0NlbGwqIHNw
ZWNpZmljVmFsdWUsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgLy8gSWYgd2UgaGF2
ZSBhIHNwZWNpZmljIGZ1bmN0aW9uLCB3ZSBtYXkgaGF2ZSBnb3QgdG8gdGhpcyBwb2ludCBpZiB0
aGVyZSBpcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNyArMTQ0LDE3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAgICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUoKSBjb25zdCB7IHJldHVybiBt
X2luZGV4aW5nVHlwZSAmIEFsbEFycmF5VHlwZXM7IH0KICAgICAgICAgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2luZGV4aW5nVHlw
ZTsgfQotCisgICAgICAgIAorICAgICAgICBib29sIG1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiB0eXBlSW5mbygpLmludGVy
Y2VwdHNHZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4RXZlbldoZW5MZW5ndGhJc05vdFplcm8oKQor
ICAgICAgICAgICAgICAgIHx8ICEhKGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSB8IE1h
eUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYm9v
bCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3Q7Cisg
ICAgICAgIAorICAgICAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3VnZ2VzdGVkSW5kZXhpbmdU
cmFuc2l0aW9uKCkgY29uc3Q7CisgICAgICAgIAogICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KICAgICAg
ICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNldChnbG9iYWxEYXRhLCB0
aGlzLCBnbG9iYWxPYmplY3QpOyB9CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgJKHJl
dmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVRyYW5zaXRpb25UYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0MywxMCBAQCBzdGF0
aWMgY29uc3QgdW5zaWduZWQgRmlyc3RJbnRlcm5hbEF0dHJpCiAvLyBTdXBwb3J0IGZvciBhdHRy
aWJ1dGVzIHVzZWQgdG8gaW5kaWNhdGUgdHJhbnNpdGlvbnMgbm90IHJlbGF0ZWQgdG8gcHJvcGVy
dGllcy4KIC8vIElmIGFueSBvZiB0aGVzZSBhcmUgdXNlZCwgdGhlIHN0cmluZyBwb3J0aW9uIG9m
IHRoZSBrZXkgc2hvdWxkIGJlIDAuCiBlbnVtIE5vblByb3BlcnR5VHJhbnNpdGlvbiB7Ci0gICAg
QWxsb2NhdGVBcnJheVN0b3JhZ2UKKyAgICBBbGxvY2F0ZUFycmF5U3RvcmFnZSwKKyAgICBBbGxv
Y2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2UsCisgICAgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdl
LAorICAgIEFkZEluZGV4ZWRBY2Nlc3NvcnMKIH07CiAKIGlubGluZSB1bnNpZ25lZCB0b0F0dHJp
YnV0ZXMoTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBAIC01Niw2ICs1OSwxMyBA
QCBpbmxpbmUgSW5kZXhpbmdUeXBlIG5ld0luZGV4aW5nVHlwZShJbmRlCiAgICAgc3dpdGNoICh0
cmFuc2l0aW9uKSB7CiAgICAgY2FzZSBBbGxvY2F0ZUFycmF5U3RvcmFnZToKICAgICAgICAgcmV0
dXJuIG9sZFR5cGUgfCBIYXNBcnJheVN0b3JhZ2U7CisgICAgY2FzZSBBbGxvY2F0ZVNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgICAgIHJldHVybiBvbGRUeXBlIHwgSGFzU2xvd1B1dEFycmF5U3Rv
cmFnZTsKKyAgICBjYXNlIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgQVNT
RVJUKG9sZFR5cGUgJiBIYXNBcnJheVN0b3JhZ2UpOworICAgICAgICByZXR1cm4gKG9sZFR5cGUg
JiB+SGFzQXJyYXlTdG9yYWdlKSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgY2FzZSBB
ZGRJbmRleGVkQWNjZXNzb3JzOgorICAgICAgICByZXR1cm4gb2xkVHlwZSB8IE1heUhhdmVJbmRl
eGVkQWNjZXNzb3JzOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgICAgICByZXR1cm4gb2xkVHlwZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164268</attachid>
            <date>2012-09-14 20:01:39 -0700</date>
            <delta_ts>2012-09-15 19:04:31 -0700</delta_ts>
            <desc>moar</desc>
            <filename>haveabadtime_patch_2.diff</filename>
            <type>text/plain</type>
            <size>56006</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4Njc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDk5IEBA
CisyMDEyLTA5LTE0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SWYgYSBwcm90b3R5cGUgaGFzIGluZGV4ZWQgc2V0dGVycyBhbmQgaXRzIGluc3RhbmNlcyBoYXZl
IGluZGV4ZWQgc3RvcmFnZSwgdGhlbiBhbGwgcHV0X2J5X3ZhbCdzIHNob3VsZCBoYXZlIGEgYmFk
IHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2
NTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV29y
ayBpbiBwcm9ncmVzcy4KKworICAgICAgICAqIGJ5dGVjb2RlL0FycmF5UHJvZmlsZS5oOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6YXJyYXlNb2RlRnJvbVN0cnVjdHVyZSk6CisgICAg
ICAgICogZGZnL0RGR0FycmF5TW9kZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZnJvbU9ic2Vy
dmVkKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6CisgICAgICAgIChERkcpOgorICAg
ICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAgICAgICogZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKToKKyAgICAgICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpK
SVQ6OmVtaXRBbGxvY2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoK
KyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGlt
ZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAg
ICogcnVudGltZS9JbmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
Omhhc0luZGV4ZWRQcm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzQXJyYXlTdG9yYWdlKToK
KyAgICAgICAgKEpTQzo6c2hvdWxkVXNlU2xvd1B1dCk6CisgICAgICAgICogcnVudGltZS9KU0Fy
cmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6cG9wKToKKyAgICAgICAgKEpTQzo6SlNB
cnJheTo6cHVzaCk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmZpbGxBcmdMaXN0KToKKyAgICAg
ICAgKEpTQzo6SlNBcnJheTo6Y29weVRvQXJndW1lbnRzKToKKyAgICAgICAgKiBydW50aW1lL0pT
QXJyYXkuaDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKToKKyAgICAg
ICAgKiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxP
YmplY3Q6OnJlc2V0KToKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjpoYXZlQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuaDoK
KyAgICAgICAgKEpTR2xvYmFsT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OmFkZHJlc3NPZkFycmF5U3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
Ojppc0hhdmluZ0FCYWRUaW1lKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0LmNwcDoKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OnZpc2l0QnV0dGVyZmx5KToKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6cHV0QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJ
bmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZklu
ZGV4ZWRBY2Nlc3NvcnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmNyZWF0ZUFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNl
dEluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAg
ICAgICAgKEpTQzo6SlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5QnlJbmRleCk6CisgICAgICAgIChK
U0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRC
eUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERp
cmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Omdl
dE5ld1ZlY3Rvckxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3IpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6Om1heUJlVXNlZEFzUHJvdG90eXBlKToKKyAgICAgICAgKEpTT2JqZWN0KToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpnZXRWZWN0b3JMZW5ndGgpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y2FuR2V0
SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEluZGV4UXVpY2tseSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5TZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAo
SlNDOjpKU09iamVjdDo6c2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmluaXRpYWxpemVJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpjb21wbGV0ZUluaXRp
YWxpemF0aW9uKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluU3BhcnNlSW5kZXhpbmdNb2Rl
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6
OkpTT2JqZWN0OjphcnJheVN0b3JhZ2VPck51bGwpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
ZW5zdXJlQXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9P
YmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpPYmplY3RQcm90b3R5cGU6OmZpbmlz
aENyZWF0aW9uKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nl
cyk6CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN1Z2dlc3RlZElu
ZGV4aW5nVHJhbnNpdGlvbik6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAg
ICAgKFN0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6bWF5SW50ZXJjZXB0SW5k
ZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJs
ZS5oOgorICAgICAgICAoSlNDOjpuZXdJbmRleGluZ1R5cGUpOgorCiAyMDEyLTA5LTE0ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSlNDIHNob3VsZCB0aHJvdyBh
IG1vcmUgZGVzY3JpcHRpdmUgZXhjZXB0aW9uIHdoZW4gYmxvY2tpbmcgJ2V2YWwnIHZpYSBDU1Au
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5o
CShyZXZpc2lvbiAxMjg0ODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJy
YXlQcm9maWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CiAKIC8vIFRoaXMgaXMgYSBiaXRmaWVs
ZCB3aGVyZSBlYWNoIGJpdCByZXByZXNlbnRzIGFuIEluZGV4aW5nVHlwZSB0aGF0IHdlIGhhdmUg
c2Vlbi4KLS8vIFRoZXJlIGFyZSAxNyBpbmRleGluZyB0eXBlcyAoMCB0byAxNiwgaW5jbHVzaXZl
KSwgc28gMzIgYml0cyBpcyBtb3JlIHRoYW4gZW5vdWdoLgorLy8gVGhlcmUgYXJlIDMyIGluZGV4
aW5nIHR5cGVzLCBzbyBhbiB1bnNpZ25lZCBpcyBlbm91Z2guCiB0eXBlZGVmIHVuc2lnbmVkIEFy
cmF5TW9kZXM7CiAKICNkZWZpbmUgYXNBcnJheU1vZGVzKHR5cGUpIFwKQEAgLTQ0LDcgKzQ0LDcg
QEAgdHlwZWRlZiB1bnNpZ25lZCBBcnJheU1vZGVzOwogCiBpbmxpbmUgQXJyYXlNb2RlcyBhcnJh
eU1vZGVGcm9tU3RydWN0dXJlKFN0cnVjdHVyZSogc3RydWN0dXJlKQogewotICAgIHJldHVybiBh
c0FycmF5TW9kZXMoc3RydWN0dXJlLT5pbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkpOwor
ICAgIHJldHVybiBhc0FycmF5TW9kZXMoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSk7CiB9CiAK
IGNsYXNzIEFycmF5UHJvZmlsZSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0FycmF5TW9kZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBcnJheU1vZGUuY3BwCShyZXZpc2lvbiAxMjg0ODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0FycmF5TW9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDEwICs0MiwxNiBA
QCBBcnJheTo6TW9kZSBmcm9tT2JzZXJ2ZWQoQXJyYXlNb2RlcyBtb2RlCiAgICAgICAgIHJldHVy
biBBcnJheTo6VW5kZWNpZGVkOwogICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0aEFy
cmF5U3RvcmFnZSk6CiAgICAgICAgIHJldHVybiBtYWtlU2FmZSA/IEFycmF5OjpBcnJheVN0b3Jh
Z2VPdXRPZkJvdW5kcyA6IEFycmF5OjpBcnJheVN0b3JhZ2U7CisgICAgY2FzZSBhc0FycmF5TW9k
ZXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAgICAgIHJldHVybiBBcnJh
eTo6U2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICBjYXNlIGFzQXJyYXlNb2RlcyhBcnJheVdpdGhB
cnJheVN0b3JhZ2UpOgogICAgICAgICByZXR1cm4gbWFrZVNhZmUgPyBBcnJheTo6QXJyYXlXaXRo
QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMgOiBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOwor
ICAgIGNhc2UgYXNBcnJheU1vZGVzKEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UpOgorICAg
ICAgICByZXR1cm4gQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U7CiAgICAgY2Fz
ZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlKSB8IGFzQXJyYXlNb2RlcyhB
cnJheVdpdGhBcnJheVN0b3JhZ2UpOgogICAgICAgICByZXR1cm4gbWFrZVNhZmUgPyBBcnJheTo6
UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyA6IEFycmF5OjpQb3NzaWJs
eUFycmF5V2l0aEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJyYXlNb2RlcyhOb25BcnJheVdp
dGhTbG93UHV0QXJyYXlTdG9yYWdlKSB8IGFzQXJyYXlNb2RlcyhBcnJheVdpdGhTbG93UHV0QXJy
YXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aFNsb3dQ
dXRBcnJheVN0b3JhZ2U7CiAgICAgZGVmYXVsdDoKICAgICAgICAgLy8gV2Uga25vdyB0aGF0IHRo
aXMgaXMgcG9zc2libHkgYSBraW5kIG9mIGFycmF5IGZvciB3aGljaCwgdGhvdWdoIHRoZXJlIGlz
IG5vCiAgICAgICAgIC8vIHVzZWZ1bCBkYXRhIGluIHRoZSBhcnJheSBwcm9maWxlLCB3ZSBtYXkg
YmUgYWJsZSB0byBleHRyYWN0IHVzZWZ1bCBkYXRhIGZyb20KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTAg
KzQ3LDEzIEBAIGVudW0gTW9kZSB7CiAgICAgR2VuZXJpYywKICAgICBTdHJpbmcsCiAgICAgQXJy
YXlTdG9yYWdlLAorICAgIFNsb3dQdXRBcnJheVN0b3JhZ2UsCiAgICAgQXJyYXlTdG9yYWdlT3V0
T2ZCb3VuZHMsCiAgICAgQXJyYXlXaXRoQXJyYXlTdG9yYWdlLAorICAgIEFycmF5V2l0aFNsb3dQ
dXRBcnJheVN0b3JhZ2UsCiAgICAgQXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMsCiAg
ICAgUG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2UsCisgICAgUG9zc2libHlBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlLAogICAgIFBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0
T2ZCb3VuZHMsCiAgICAgQXJndW1lbnRzLAogICAgIEludDhBcnJheSwKQEAgLTcwLDExICs3Mywx
NCBAQCBlbnVtIE1vZGUgewogLy8gaGF2ZSB0aGUgd29yZCAiQXJyYXlTdG9yYWdlIiBpbiB0aGVt
LgogI2RlZmluZSBOT05fQVJSQVlfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgQXJyYXk6OkFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAg
ICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRz
OiAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhB
cnJheVN0b3JhZ2U6ICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5
V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5
QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMKICNkZWZpbmUgQVJSQVlfV0lUSF9BUlJB
WV9TVE9SQUdFX01PREVTICAgICAgICAgICAgICAgICAgICAgXAogICAgIEFycmF5OjpBcnJheVdp
dGhBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJh
eTo6QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAgIFwKICAgICBjYXNl
IEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcwogI2RlZmluZSBBTExfQVJS
QVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgTk9OX0FS
UkFZX0FSUkFZX1NUT1JBR0VfTU9ERVM6ICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTgz
LDggKzg5LDEzIEBAIGVudW0gTW9kZSB7CiAgICAgQXJyYXk6OkFycmF5U3RvcmFnZTogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhB
cnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3Np
Ymx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlCisjZGVmaW5lIFNMT1dfUFVUX0FSUkFZX1NUT1JBR0Vf
TU9ERVMgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBBcnJheTo6U2xvd1B1dEFycmF5U3Rv
cmFnZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OkFycmF5
V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6
UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlCiAjZGVmaW5lIE9VVF9PRl9CT1VO
RFNfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgIFwKLSAgICBBcnJheTo6QXJy
YXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIFNMT1df
UFVUX0FSUkFZX1NUT1JBR0VfTU9ERVM6ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Y2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAgICAgICAgICAgIFwK
ICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczogICAgICAg
ICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZC
b3VuZHMKIApAQCAtMTI4LDYgKzEzOSwxNiBAQCBpbmxpbmUgYm9vbCBpc0luQm91bmRzQWNjZXNz
KEFycmF5OjpNb2RlCiAgICAgfQogfQogCitpbmxpbmUgYm9vbCBpc1Nsb3dQdXRBY2Nlc3MoQXJy
YXk6Ok1vZGUgYXJyYXlNb2RlKQoreworICAgIHN3aXRjaCAoYXJyYXlNb2RlKSB7CisgICAgY2Fz
ZSBTTE9XX1BVVF9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBpbmxpbmUgYm9v
bCBjYW5DU0VTdG9yYWdlKEFycmF5OjpNb2RlIGFycmF5TW9kZSkKIHsKICAgICBzd2l0Y2ggKGFy
cmF5TW9kZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMjg0ODcpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYw
LDI0ICsyNzYwLDM2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkK
ICAgICAgICAgCiAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9s
ZTsgaWYgc28gaW5jcmVtZW50IG1fbnVtVmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6SnVtcCBub3RIb2xlVmFsdWUgPSBtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3Jv
QXNzZW1ibGVyOjpOb25aZXJvLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHN0b3JhZ2VSZWcs
IHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6U2NhbGVQdHIsIE9CSkVDVF9PRkZTRVRPRihB
cnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1
c3RlZEltbTMyKDEpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1Rf
T0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOwotCi0gICAgICAg
ICAgICAvLyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93aW5nIHRo
ZSBhcnJheTsgCi0gICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBsZW5ndGhEb2VzTm90
TmVlZFVwZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpCZWxvdywgcHJvcGVy
dHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6
bGVuZ3RoT2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigx
KSwgcHJvcGVydHlSZWcpOwotICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihwcm9wZXJ0eVJlZywg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhP
ZmZzZXQoKSkpOwotICAgICAgICAgICAgbV9qaXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9w
ZXJ0eVJlZyk7Ci0KLSAgICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1f
aml0KTsKKyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSG9sZVZhbHVlOworICAg
ICAgICAgICAgaWYgKGlzU2xvd1B1dEFjY2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAg
ICAgLy8gVGhpcyBpcyBzb3J0IG9mIHN0cmFuZ2UuIElmIHdlIHdhbnRlZCB0byBvcHRpbWl6ZSB0
aGlzIGNvZGUgcGF0aCwgd2Ugd291bGQgaW52ZXJ0CisgICAgICAgICAgICAgICAgLy8gdGhlIGFi
b3ZlIGJyYW5jaC4gQnV0IGl0J3Mgc2ltcGx5IG5vdCB3b3J0aCBpdCBzaW5jZSB0aGlzIG9ubHkg
aGFwcGVucyBpZiB3ZSdyZQorICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgaGF2aW5nIGEgYmFk
IHRpbWUuCisgICAgICAgICAgICAgICAgaXNIb2xlVmFsdWUgPSBtX2ppdC5qdW1wKCk7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0z
MigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9G
KEFycmF5U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKKyAgICAgICAgICAgICAgICAK
KyAgICAgICAgICAgICAgICAvLyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBi
ZSBncm93aW5nIHRoZSBhcnJheTsgCisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1
bXAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxl
cjo6QmVsb3csIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVn
LCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9qaXQu
YWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAgbV9q
aXQuc3RvcmUzMihwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJl
ZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0
LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIAor
ICAgICAgICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIG5vdEhvbGVWYWx1ZS5saW5rKCZtX2ppdCk7CiAKICAg
ICAgICAgICAgIC8vIFN0b3JlIHRoZSB2YWx1ZSB0byB0aGUgYXJyYXkuCiAgICAgICAgICAgICBt
X2ppdC5zdG9yZVB0cih2YWx1ZVJlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdl
UmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZGU0VU
T0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3RvclswXSkpKTsKIAogICAgICAgICAgICAgaWYgKCFpc0lu
Qm91bmRzQWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxl
cjo6SnVtcExpc3Qgc2xvd0Nhc2VzOworICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQo
YmV5b25kQXJyYXlCb3VuZHMpOworICAgICAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3Mo
YXJyYXlNb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVW
YWx1ZSk7CiAgICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAg
ICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGJleW9uZEFy
cmF5Qm91bmRzLCB0aGlzLAorICAgICAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlz
LAogICAgICAgICAgICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9k
ZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlv
blB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAgICAg
ICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZhbHVlUmVnKSk7CiAgICAgICAg
ICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhv
ZHMuaAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0Myw3ICs0NDMsNyBAQCBpbmxpbmUg
dm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnCiAgICAgc3ViUHRyKFRydXN0ZWRJbW0z
MihzaXplIC0gb2Zmc2V0RnJvbUJhc2UpLCByZXN1bHQpOwogfQogCi1pbmxpbmUgdm9pZCBKSVQ6
OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVkIGxl
bmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQsIFJl
Z2lzdGVySUQgc3RvcmFnZVB0cikKK2lubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlSlNBcnJh
eSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNl
bGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRy
LCBSZWdpc3RlcklEIHNjcmF0Y2gpCiB7CiAgICAgdW5zaWduZWQgaW5pdGlhbExlbmd0aCA9IHN0
ZDo6bWF4KGxlbmd0aCwgNFUpOwogICAgIHNpemVfdCBpbml0aWFsU3RvcmFnZSA9IEJ1dHRlcmZs
eTo6dG90YWxTaXplKDAsIDAsIHRydWUsIEFycmF5U3RvcmFnZTo6c2l6ZUZvcihpbml0aWFsTGVu
Z3RoKSk7CkBAIC00NTMsNyArNDUzLDggQEAgaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVK
U0FycmF5KHVucwogICAgIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShpbml0aWFsU3RvcmFnZSwg
c2l6ZW9mKEluZGV4aW5nSGVhZGVyKSwgc3RvcmFnZVJlc3VsdCk7CiAKICAgICAvLyBBbGxvY2F0
ZSB0aGUgY2VsbCBmb3IgdGhlIGFycmF5LgotICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8
SlNBcnJheSwgZmFsc2U+KFRydXN0ZWRJbW1QdHIobV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
LT5hcnJheVN0cnVjdHVyZSgpKSwgY2VsbFJlc3VsdCwgc3RvcmFnZVB0cik7CisgICAgbG9hZFB0
cihBZGRyZXNzKG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKS0+YWRkcmVzc09mQXJyYXlTdHJ1
Y3R1cmUoKSksIHNjcmF0Y2gpOworICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8SlNBcnJh
eSwgZmFsc2U+KHNjcmF0Y2gsIGNlbGxSZXN1bHQsIHN0b3JhZ2VQdHIpOwogCiAgICAgLy8gU3Rv
cmUgYWxsIHRoZSBuZWNlc3NhcnkgaW5mbyBpbiB0aGUgQXJyYXlTdG9yYWdlLgogICAgIHN0b3Jl
MzIoSW1tMzIobGVuZ3RoKSwgQWRkcmVzcyhzdG9yYWdlUmVzdWx0LCBBcnJheVN0b3JhZ2U6Omxl
bmd0aE9mZnNldCgpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NzYsNyArMTY3Niw3IEBAIHZvaWQgSklU
OjplbWl0X29wX25ld19hcnJheShJbnN0cnVjdGlvbioKICAgICBpbnQgZHN0ID0gY3VycmVudElu
c3RydWN0aW9uWzFdLnUub3BlcmFuZDsKICAgICBpbnQgdmFsdWVzID0gY3VycmVudEluc3RydWN0
aW9uWzJdLnUub3BlcmFuZDsKIAotICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVzLCBsZW5n
dGgsIHJlZ1QwLCByZWdUMSwgcmVnVDIpOworICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVz
LCBsZW5ndGgsIHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzKTsKICAgICBlbWl0U3RvcmVDZWxs
KGRzdCwgcmVnVDApOyAKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzIsOCArMTMyLDEwIEBAIEFycmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZShKU0dsb2Jh
bE8KIAogdm9pZCBBcnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3Qt
Pmdsb2JhbERhdGEoKSk7CisgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZ2xvYmFsT2Jq
ZWN0LT5nbG9iYWxEYXRhKCk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7
CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBub3RpZnlVc2VkQXNQcm90b3R5
cGUoZ2xvYmFsRGF0YSk7CiB9CiAKIGJvb2wgQXJyYXlQcm90b3R5cGU6OmdldE93blByb3BlcnR5
U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSwgUHJvcGVydHlTbG90JiBzbG90KQpAQCAtNjM4LDcgKzY0MCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAg
ICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAK
LSAgICBpZiAodGhpc09iai0+Y2xhc3NJbmZvKCkgPT0gJkpTQXJyYXk6OnNfaW5mbyAmJiAhYXNB
cnJheSh0aGlzT2JqKS0+aW5TcGFyc2VJbmRleGluZ01vZGUoKSkgeworICAgIGlmICh0aGlzT2Jq
LT5jbGFzc0luZm8oKSA9PSAmSlNBcnJheTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5p
blNwYXJzZUluZGV4aW5nTW9kZSgpICYmICFzaG91bGRVc2VTbG93UHV0KHRoaXNPYmotPnN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgaWYgKGlzTnVtZXJpY0NvbXBhcmVG
dW5jdGlvbihleGVjLCBjYWxsVHlwZSwgY2FsbERhdGEpKQogICAgICAgICAgICAgYXNBcnJheSh0
aGlzT2JqKS0+c29ydE51bWVyaWMoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7
CiAgICAgICAgIGVsc2UgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCShyZXZpc2lvbiAxMjg0
ODcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRleGluZ1R5cGUuaAkod29y
a2luZyBjb3B5KQpAQCAtMzMsMjIgKzMzLDU5IEBAIHR5cGVkZWYgdWludDhfdCBJbmRleGluZ1R5
cGU7CiAvLyBGbGFncyBmb3IgdGVzdGluZyB0aGUgcHJlc2VuY2Ugb2YgY2FwYWJpbGl0aWVzLgog
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBJc0FycmF5ICAgICAgICAgICAgICAgICAgPSAxOwog
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYXNBcnJheVN0b3JhZ2UgICAgICAgICAgPSA4Owor
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYXNTbG93UHV0QXJyYXlTdG9yYWdlICAgPSAxNjsK
IAogLy8gQWRkaXRpb25hbCBmbGFncyBmb3IgdHJhY2tpbmcgdGhlIGhpc3Rvcnkgb2YgdGhlIHR5
cGUuIFRoZXNlIGFyZSB1c3VhbGx5CiAvLyBtYXNrZWQgb2ZmIHVubGVzcyB5b3UgYXNrIGZvciB0
aGVtIGRpcmVjdGx5Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2Ug
ICAgICAgICAgPSAxNjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBz
dG9yYWdlIGluIHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0
b3JhZ2UgICAgICAgICAgPSAzMjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBh
cnJheSBzdG9yYWdlIGluIHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBNYXlI
YXZlSW5kZXhlZEFjY2Vzc29ycyAgPSA2NDsKIAogLy8gTGlzdCBvZiBhY2NlcHRhYmxlIGFycmF5
IHR5cGVzLgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAgICAgICAgICAg
ICAgPSAwOwotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2UgPSBIYXNBcnJheVN0b3JhZ2U7Ci1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xh
c3MgICAgICAgICAgICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJy
YXkiIGJ1dCB0aGlzIHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9u
Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgPSBJ
c0FycmF5IHwgSGFzQXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25B
cnJheSAgICAgICAgICAgICAgICAgICAgICAgID0gMDsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5
cGUgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgICAgICA9IEhhc0FycmF5U3RvcmFnZTsKK3N0
YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSA9
IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5
Q2xhc3MgICAgICAgICAgICAgICAgICAgICAgPSBJc0FycmF5OyAvLyBJJ2Qgd2FudCB0byBjYWxs
IHRoaXMgIkFycmF5IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRpc2FzdHJvdXMgbmFtZXNwYWNl
IHBvbGx1dGlvbi4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoQXJyYXlTdG9y
YWdlICAgICAgICAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwg
SGFzU2xvd1B1dEFycmF5U3RvcmFnZTsKKworI2RlZmluZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQ
RVMgXAorICAgIE5vbkFycmF5OiAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXlD
bGFzcworCisjZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyBc
CisgICAgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
Y2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlCisgICAgCisjZGVmaW5lIEFMTF9BUlJB
WV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTICAgICAgICAgICAgICAgIFwKKyAgICBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgTm9u
QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICBcCisgICAgY2FzZSBB
UlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMKKworc3RhdGljIGlubGluZSBi
b29sIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCit7Cisg
ICAgc3dpdGNoIChpbmRleGluZ1R5cGUpIHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KK30KKworc3RhdGljIGlubGluZSBib29sIGhhc0FycmF5U3RvcmFnZShJ
bmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQoreworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUg
JiAoSGFzQXJyYXlTdG9yYWdlIHwgSGFzU2xvd1B1dEFycmF5U3RvcmFnZSkpOworfQorCitzdGF0
aWMgaW5saW5lIGJvb2wgc2hvdWxkVXNlU2xvd1B1dChJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBl
KQoreworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdl
KTsKK30KIAogLy8gTWFzayBvZiBhbGwgcG9zc2libGUgdHlwZXMuCi1zdGF0aWMgY29uc3QgSW5k
ZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMgICAgICAgICAgICA9IDE1Oworc3RhdGljIGNvbnN0IElu
ZGV4aW5nVHlwZSBBbGxBcnJheVR5cGVzICAgICAgICAgICAgPSAzMTsKIAogLy8gTWFzayBvZiBh
bGwgcG9zc2libGUgdHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgotc3RhdGljIGNvbnN0IElu
ZGV4aW5nVHlwZSBBbGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAzMTsKK3N0YXRpYyBjb25zdCBJ
bmRleGluZ1R5cGUgQWxsQXJyYXlUeXBlc0FuZEhpc3RvcnkgID0gMTI3OwogCiBpbmxpbmUgYm9v
bCBoYXNJbmRleGluZ0hlYWRlcihJbmRleGluZ1R5cGUgdHlwZSkKIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAxMjg0ODcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDA1LDcgKzQwNSw3IEBAIEpTVmFsdWUgSlNBcnJheTo6cG9wKEV4ZWNTdGF0ZSogZXhlYykK
ICAgICBjYXNlIEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAg
ICAgICAKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJSQVlf
V0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFn
ZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAKICAgICAgICAg
dW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+bGVuZ3RoKCk7CkBAIC00NjUsNiArNDY1LDE2IEBA
IHZvaWQgSlNBcnJheTo6cHVzaChFeGVjU3RhdGUqIGV4ZWMsIEpTVmEKICAgICAgICAgYnJlYWs7
CiAgICAgfQogICAgICAgICAKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6
IHsKKyAgICAgICAgdW5zaWduZWQgb2xkTGVuZ3RoID0gbGVuZ3RoKCk7CisgICAgICAgIGlmIChh
dHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKGV4ZWMsIG9sZExlbmd0aCwgdmFsdWUs
IHRydWUpKSB7CisgICAgICAgICAgICBpZiAoIWV4ZWMtPmhhZEV4Y2VwdGlvbigpICYmIG9sZExl
bmd0aCA8IDB4RkZGRkZGRkZ1KQorICAgICAgICAgICAgICAgIHNldExlbmd0aChleGVjLCBvbGRM
ZW5ndGggKyAxLCB0cnVlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAg
ICAvLyBGYWxsIHRocm91Z2guCisgICAgfQorICAgICAgICAKICAgICBjYXNlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZTogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCk7CiAKQEAgLTkxNiw3ICs5MjYsNyBAQCB2b2lkIEpTQXJyYXk6OmZp
bGxBcmdMaXN0KEV4ZWNTdGF0ZSogZXhlCiAgICAgY2FzZSBBcnJheUNsYXNzOgogICAgICAgICBy
ZXR1cm47CiAgICAgCi0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNl
IEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJh
eVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAg
IAogICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1fdmVj
dG9yOwpAQCAtOTQ2LDcgKzk1Niw3IEBAIHZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4
ZWNTdGF0ZSoKICAgICBjYXNlIEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybjsKICAgICAgICAg
Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhf
QVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIHVuc2lnbmVkIGkg
PSAwOwogICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1f
dmVjdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAkocmV2
aXNpb24gMTI4NDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OCw5ICs3OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2b2lkIGZpbGxBcmdMaXN0KEV4ZWNTdGF0ZSosIE1hcmtlZEFyZ3VtZW50QnVmZmVyJik7CiAg
ICAgICAgIHZvaWQgY29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSosIENhbGxGcmFtZSosIHVpbnQz
Ml90IGxlbmd0aCk7CiAKLSAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNWYWx1ZSBwcm90b3R5cGUpCisgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVj
dHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIEpTVmFsdWUgcHJvdG90eXBlLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQogICAgICAg
ICB7Ci0gICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xv
YmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdz
KSwgJnNfaW5mbywgQXJyYXlXaXRoQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlw
ZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBpbmRleGluZ1R5cGUp
OwogICAgICAgICB9CiAgICAgICAgIAogICAgIHByb3RlY3RlZDoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDEy
ODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjMwLDcgKzIzMCw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6
OnJlc2V0KEpTVmFsdWUgcHJvdG8KICAgICBtX2NhbGxiYWNrT2JqZWN0U3RydWN0dXJlLnNldChl
eGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVj
dD46OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJv
dG90eXBlLmdldCgpKSk7CiAKICAgICBtX2FycmF5UHJvdG90eXBlLnNldChleGVjLT5nbG9iYWxE
YXRhKCksIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgQXJyYXlQcm90
b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0
UHJvdG90eXBlLmdldCgpKSkpOwotICAgIG1fYXJyYXlTdHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEo
KSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fYXJyYXlTdHJ1Y3R1cmUu
c2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlKSk7CisgICAgbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQuc2V0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRoU2xvd1B1dEFy
cmF5U3RvcmFnZSkpOwogICAgIG1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlLnNldChleGVj
LT5nbG9iYWxEYXRhKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRlU3RydWN0dXJl
KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOwogCiAg
ICAgbV9zdHJpbmdQcm90b3R5cGUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgU3RyaW5n
UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgU3RyaW5nUHJvdG90eXBlOjpjcmVhdGVTdHJ1
Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkp
KTsKQEAgLTMyOSw2ICszMzAsNzMgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1
ZSBwcm90bwogICAgIHJlc2V0UHJvdG90eXBlKGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvdG90eXBl
KTsKIH0KIAorLy8gUHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2Jq
ZWN0OjpoYXZlQUJhZFRpbWUoKQorbmFtZXNwYWNlIHsKKworY2xhc3MgT2JqZWN0c1dpdGhCcm9r
ZW5JbmRleGluZ0ZpbmRlciA6IHB1YmxpYyBNYXJrZWRCbG9jazo6Vm9pZEZ1bmN0b3IgeworcHVi
bGljOgorICAgIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIoVmVjdG9yPEpTT2JqZWN0
Kj4mKTsKKyAgICB2b2lkIG9wZXJhdG9yKCkoSlNDZWxsKik7CisKK3ByaXZhdGU6CisgICAgVmVj
dG9yPEpTT2JqZWN0Kj4mIG1fZm91bmRPYmplY3RzOworfTsKKworT2JqZWN0c1dpdGhCcm9rZW5J
bmRleGluZ0ZpbmRlcjo6T2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcihWZWN0b3I8SlNP
YmplY3QqPiYgZm91bmRPYmplY3RzKQorICAgIDogbV9mb3VuZE9iamVjdHMoZm91bmRPYmplY3Rz
KQoreworfQorCitpbmxpbmUgaGFzQnJva2VuSW5kZXhpbmcoSlNPYmplY3QqIG9iamVjdCkKK3sK
KyAgICAvLyBUaGlzIHdpbGwgY2hhbmdlIGlmIHdlIGhhdmUgbW9yZSBpbmRleGluZyB0eXBlcy4K
KyAgICByZXR1cm4gISEob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNB
cnJheVN0b3JhZ2UpOworfQorCit2b2lkIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXI6
Om9wZXJhdG9yKCkoSlNDZWxsKiBjZWxsKQoreworICAgIGlmICghY2VsbC0+aXNPYmplY3QoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChj
ZWxsKTsKKyAgICAKKyAgICBpZiAoIWhhc0Jyb2tlbkluZGV4aW5nKG9iamVjdCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBtX2ZvdW5kT2JqZWN0cy5hcHBlbmQob2JqZWN0KTsKK30KKwor
fSAvLyBlbmQgcHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2JqZWN0
OjpoYXZlQUJhZFRpbWUoKQorCit2b2lkIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhKQoreworICAgIEFTU0VSVCgmZ2xvYmFsRGF0YSA9PSAmdGhp
cy0+Z2xvYmFsRGF0YSgpKTsKKyAgICAKKyAgICBpZiAoaXNIYXZpbmdBQmFkVGltZSgpKQorICAg
ICAgICByZXR1cm47CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIGFsbG9jYXRpb25z
IG9yIGluZGV4ZWQgc3RvcmFnZSB0cmFuc2l0aW9ucyB0aGF0IGFyZSBpbmxpbmluZworICAgIC8v
IHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQncyBzYWZlIHRvIHRyYW5zaXRpb24gdG8gYSBub24tU2xv
d1B1dCBhcnJheSBzdG9yYWdlIGRvbid0CisgICAgLy8gZG8gc28gYW55bW9yZS4KKyAgICBtX2hh
dmluZ0FCYWRUaW1lV2F0Y2hwb2ludC0+bm90aWZ5V3JpdGUoKTsKKyAgICBBU1NFUlQoaXNIYXZp
bmdBQmFkVGltZSgpKTsgLy8gVGhlIHdhdGNocG9pbnQgaXMgd2hhdCB0ZWxscyB1cyB0aGF0IHdl
J3JlIGhhdmluZyBhIGJhZCB0aW1lLgorICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBK
U0FycmF5IGFsbG9jYXRpb25zIHRoYXQgbG9hZCB0aGUgYXBwcm9wcmlhdGUgc3RydWN0dXJlIGZy
b20KKyAgICAvLyB0aGlzIG9iamVjdCBub3cgbG9hZCBhIHN0cnVjdHVyZSB0aGF0IHVzZXMgU2xv
d1B1dC4KKyAgICBtX2FycmF5U3RydWN0dXJlLnNldChnbG9iYWxEYXRhLCB0aGlzLCBtX2FycmF5
U3RydWN0dXJlRm9yU2xvd1B1dC5nZXQoKSk7CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQg
YWxsIG9iamVjdHMgdGhhdCBoYXZlIGluZGV4ZWQgc3RvcmFnZSBzd2l0Y2ggdG8gdGhlIHNsb3cg
a2luZCBvZgorICAgIC8vIGluZGV4ZWQgc3RvcmFnZS4KKyAgICBWZWN0b3I8SlNPYmplY3QqPiBm
b3VuZE9iamVjdHM7CisgICAgT2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlciBmaW5kZXIo
Zm91bmRPYmplY3RzKTsKKyAgICBnbG9iYWxEYXRhLmhlYXAub2JqZWN0U3BhY2UoKS5mb3JFYWNo
Q2VsbChmaW5kZXIpOworICAgIGZvciAodW5zaWduZWQgaSA9IGZvdW5kT2JqZWN0LnNpemUoKTsg
aS0tOykgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gZm91bmRPYmplY3RzW2ldOworICAg
ICAgICBBU1NFUlQoaGFzQnJva2VuSW5kZXhpbmcob2JqZWN0KSk7CisgICAgICAgIG9iamVjdC0+
c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKGdsb2JhbERhdGEpOworICAgIH0KK30KKwogdm9p
ZCBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlVGhyb3dUeXBlRXJyb3IoRXhlY1N0YXRlKiBleGVjKQog
ewogICAgIEpTRnVuY3Rpb24qIHRocm93ZXIgPSBKU0Z1bmN0aW9uOjpjcmVhdGUoZXhlYywgdGhp
cywgMCwgU3RyaW5nKCksIGdsb2JhbEZ1bmNUaHJvd1R5cGVFcnJvcik7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJKHJldmlzaW9uIDEy
ODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hY3RpdmF0aW9uU3RydWN0dXJlOwogICAgICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVTY29wZVN0cnVjdHVyZTsKICAgICAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcmd1bWVudHNTdHJ1Y3R1cmU7Ci0gICAgICAgIFdy
aXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7CisgICAgICAgIFdyaXRlQmFy
cmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7IC8vIFRoaXMgZ2V0cyBzZXQgdG8gbV9h
cnJheVN0cnVjdHVyZUZvclNsb3dQdXQgYXMgc29vbiBhcyB3ZSBkZWNpZGUgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FycmF5U3RydWN0dXJl
Rm9yU2xvd1B1dDsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9ib29sZWFuT2Jq
ZWN0U3RydWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxiYWNr
Q29uc3RydWN0b3JTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1f
Y2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsKQEAgLTE0OSw2ICsxNTAsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgRGVidWdnZXIqIG1fZGVidWdnZXI7CiAKICAgICAgICAgUmVmUHRyPFdh
dGNocG9pbnRTZXQ+IG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQ7CisgICAgICAg
IFJlZlB0cjxXYXRjaHBvaW50U2V0PiBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludDsKIAogICAg
ICAgICBPd25QdHI8SlNHbG9iYWxPYmplY3RSYXJlRGF0YT4gbV9yYXJlRGF0YTsKIApAQCAtMjU5
LDYgKzI2MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJ1Y3R1cmUqIG5hbWVTY29w
ZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZVNjb3BlU3RydWN0dXJlLmdldCgpOyB9
CiAgICAgICAgIFN0cnVjdHVyZSogYXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4g
bV9hcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3RydWN0dXJlKiBhcnJheVN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICAg
ICAgdm9pZCogYWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSB7IHJldHVybiAmbV9hcnJheVN0cnVj
dHVyZTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGJvb2xlYW5PYmplY3RTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3Ry
dWN0dXJlKiBjYWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9j
YWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlLmdldCgpOyB9CiAgICAgICAgIFN0cnVjdHVyZSog
Y2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tGdW5j
dGlvblN0cnVjdHVyZS5nZXQoKTsgfQpAQCAtMjc5LDYgKzI4MiwxNCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJl
dHVybiBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogCiAgICAgICAgIFdhdGNocG9p
bnRTZXQqIG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50KCkgeyByZXR1cm4gbV9tYXNx
dWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludC5nZXQoKTsgfQorICAgICAgICBXYXRjaHBvaW50
U2V0KiBoYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKSB7IHJldHVybiBtX2hhdmluZ0FCYWRUaW1l
V2F0Y2hwb2ludC5nZXQoKTsgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBpc0hhdmluZ0FCYWRU
aW1lKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIG1faGF2aW5nQUJhZFRp
bWVXYXRjaHBvaW50LT5pc1N0aWxsVmFsaWQoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgdm9pZCBoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRhJik7CiAKICAgICAgICAgdm9pZCBzZXRQ
cm9maWxlR3JvdXAodW5zaWduZWQgdmFsdWUpIHsgY3JlYXRlUmFyZURhdGFJZk5lZWRlZCgpOyBt
X3JhcmVEYXRhLT5wcm9maWxlR3JvdXAgPSB2YWx1ZTsgfQogICAgICAgICB1bnNpZ25lZCBwcm9m
aWxlR3JvdXAoKSBjb25zdApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsOCArMTMzLDcgQEAgQUxX
QVlTX0lOTElORSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRlcgogICAgICAgICAgICAgCiAgICAg
ICAgICAgICAvLyBNYXJrIGFuZCBjb3B5IHRoZSBhcnJheSBpZiBhcHByb3ByaWF0ZS4KICAgICAg
ICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAg
Y2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCktPmNvcHlIZWFkZXJGcm9tRHVyaW5nR0MoKmJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkpOwog
ICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogY3VycmVudFRhcmdldCA9IG5l
d0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yOwogICAgICAgICAgICAgICAgIFdy
aXRlQmFycmllcjxVbmtub3duPiogY3VycmVudFNvdXJjZSA9IGJ1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCktPm1fdmVjdG9yOwpAQCAtMTYwLDggKzE1OSw3IEBAIEFMV0FZU19JTkxJTkUgdm9pZCBK
U09iamVjdDo6dmlzaXRCdXR0ZXIKICAgICAgICAgCiAgICAgICAgIC8vIE1hcmsgdGhlIGFycmF5
IGlmIGFwcHJvcHJpYXRlLgogICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBl
KCkpIHsKLSAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgdmlzaXRvci5hcHBlbmRWYWx1ZXMoYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3IsIGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
PnZlY3Rvckxlbmd0aCgpKTsKICAgICAgICAgICAgIGlmIChidXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpLT5tX3NwYXJzZU1hcCkKICAgICAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZCgmYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXApOwpAQCAtMjM0LDEyICsyMzIsMTAgQEAg
Ym9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleAogICAgICAgICByZXR1cm4g
dGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3Qs
IGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaSksIHNsb3QpOwogICAgIAogICAgIHN3aXRj
aCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBO
b25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNh
c2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9y
YWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwog
ICAgICAgICBpZiAoaSA+PSBzdG9yYWdlLT5sZW5ndGgoKSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKQEAgLTM1NCw4ICszNTAsNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpTQ2Vs
bCogY2VsbCwgCiAgICAgfQogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5
Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFr
OwogICAgICAgICAKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTM4MSw2
ICszNzYsMzQgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgICAgICAKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNsb3dQ
dXRBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiB7
CisgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0g
c3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgCisg
ICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYgdmFsdWVTbG90ID0gc3RvcmFnZS0+bV92ZWN0
b3JbcHJvcGVydHlOYW1lXTsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+bGVu
Z3RoKCk7CisgICAgICAgIAorICAgICAgICAvLyBVcGRhdGUgbGVuZ3RoICYgbV9udW1WYWx1ZXNJ
blZlY3RvciBhcyBuZWNlc3NhcnkuCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0gbGVuZ3Ro
KSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJ
bmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgbGVuZ3RoID0gcHJvcGVydHlOYW1lICsg
MTsKKyAgICAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOworICAgICAgICAgICAg
KytzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9IGVsc2UgaWYgKCF2YWx1
ZVNsb3QpIHsKKyAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5hdHRlbXB0VG9JbnRlcmNlcHRQ
dXRCeUluZGV4T25Ib2xlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KSkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICArK3N0b3JhZ2UtPm1fbnVtVmFs
dWVzSW5WZWN0b3I7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhbHVlU2xvdC5zZXQo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgIHRoaXNPYmpl
Y3QtPmNoZWNrSW5kZXhpbmdDb25zaXN0ZW5jeSgpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgICAgICAKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICB9CkBAIC00MjUsOCArNDQ4LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW50ZXJEaWN0
aW9uYXJ5SQogdm9pZCBKU09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGlu
Z1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJheVN0
b3JhZ2VBbHJlYWR5RXhpc3RzKGdsb2JhbERhdGEsIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKQEAgLTQzNSwxMCArNDU3LDIzIEBAIHZvaWQg
SlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUluZGV4aW5nTW8KICAgICB9CiB9CiAKK3ZvaWQgSlNP
YmplY3Q6Om5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSkKK3sKKyAgICBpZiAobWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0dXJl
Ojpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFkZEluZGV4
ZWRBY2Nlc3NvcnMpKTsKKyAgICAKKyAgICBpZiAoIW1heUJlVXNlZEFzUHJvdG90eXBlKGdsb2Jh
bERhdGEpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgZ2xvYmFsT2JqZWN0KCktPmhhdmVB
QmFkVGltZShnbG9iYWxEYXRhKTsKK30KKwogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRl
QXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgbGVuZ3RoLCB1
bnNpZ25lZCB2ZWN0b3JMZW5ndGgpCiB7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBzdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCBvbGRU
eXBlID09IE5vbkFycmF5IHx8IG9sZFR5cGUgPT0gQXJyYXlDbGFzcyk7CisgICAgQVNTRVJUX1VO
VVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwogICAgIEJ1dHRl
cmZseSogbmV3QnV0dGVyZmx5ID0gbV9idXR0ZXJmbHktPmdyb3dBcnJheVJpZ2h0KAogICAgICAg
ICBnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5
KCksIGZhbHNlLCAwLAogICAgICAgICBBcnJheVN0b3JhZ2U6OnNpemVGb3IodmVjdG9yTGVuZ3Ro
KSk7CkBAIC00NTQsNyArNDg5LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJy
YXlTdG9yYQogICAgIHJlc3VsdC0+bV9pbml0aWFsaXphdGlvbkluZGV4ID0gMDsKICAgICByZXN1
bHQtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24gPSAwOwogI2VuZGlmCi0gICAgU3RydWN0dXJl
KiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxE
YXRhLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVBcnJheVN0b3JhZ2UpOworICAgIFN0cnVjdHVyZSog
bmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0
YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24o
KSk7CiAgICAgc2V0QnV0dGVyZmx5KGdsb2JhbERhdGEsIG5ld0J1dHRlcmZseSwgbmV3U3RydWN0
dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDY3LDEyICs1MDIsMTAgQEAgQXJyYXlT
dG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEFycgogQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6ZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2Rl
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNh
c2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0Vf
SU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBlbnRlckRpY3Rpb25hcnlJbmRleGluZ01v
ZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAgY2Fz
ZSBOb25BcnJheTogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAg
ICAgIGNyZWF0ZUFycmF5U3RvcmFnZShnbG9iYWxEYXRhLCAwLCAwKTsKICAgICAgICAgU3BhcnNl
QXJyYXlWYWx1ZU1hcCogbWFwID0gYWxsb2NhdGVTcGFyc2VJbmRleE1hcChnbG9iYWxEYXRhKTsK
ICAgICAgICAgbWFwLT5zZXRTcGFyc2VNb2RlKCk7CkBAIC00ODUsNiArNTE4LDIyIEBAIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICB9CiB9CiAKK3ZvaWQgSlNP
YmplY3Q6OnN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEpCit7CisgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKKyAgICBj
YXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aEFycmF5U3Rv
cmFnZTogeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9u
UHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBTd2l0Y2hUb1Nsb3dQ
dXRBcnJheVN0b3JhZ2UpOworICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3Ry
dWN0dXJlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgICAgICAKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQor
CiB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RWaXJ0dWFsKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNT
dGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgdW5z
aWduZWQgYXR0cmlidXRlcykKIHsKICAgICBBU1NFUlQoIXZhbHVlLmlzR2V0dGVyU2V0dGVyKCkg
JiYgIShhdHRyaWJ1dGVzICYgQWNjZXNzb3IpKTsKQEAgLTQ5Miw2ICs1NDEsMzMgQEAgdm9pZCBK
U09iamVjdDo6cHV0RGlyZWN0VmlydHVhbChKU09iamVjdAogICAgIG9iamVjdC0+cHV0RGlyZWN0
SW50ZXJuYWw8UHV0TW9kZURlZmluZU93blByb3BlcnR5PihleGVjLT5nbG9iYWxEYXRhKCksIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIHNsb3QsIGdldENhbGxhYmxlT2JqZWN0KHZh
bHVlKSk7CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQoreworICAgIEFTU0VSVChwcm90b3R5cGUpOwor
ICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgYXNPYmplY3QocHJvdG90eXBl
KS0+bm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOworICAgIAorICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGds
b2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5cGUpOworICAgIHNldFN0cnVjdHVyZShnbG9i
YWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworICAgIAorICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBpZiAobWF5QmVVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpIHsKKyAg
ICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKGdsb2JhbERh
dGEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmICghaGFzSW5kZXhpbmdI
ZWFkZXIoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0dXJuOworICAg
IAorICAgIGlmIChzaG91bGRVc2VTbG93UHV0KHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpKQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Q
cm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlLCBTd2l0Y2hUb1Nsb3dQ
dXRBcnJheVN0b3JhZ2UpOworICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBuZXdTdHJ1Y3R1
cmUpOworfQorCiBib29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVXaXRoQ3ljbGVDaGVjayhKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQogewogICAgIEpTVmFsdWUg
Y2hlY2tGb3IgPSB0aGlzOwpAQCAtNTA4LDYgKzU4NCwyOSBAQCBib29sIEpTT2JqZWN0OjpzZXRQ
cm90b3R5cGVXaXRoQ3ljbGVDaGVjCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgSlNPYmpl
Y3Q6OnJlc2V0SW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQoreworICAgIFBy
b3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KTsKKyAgICBpZiAoIWlzVmFsaWRPZmZzZXQob2Zmc2V0KSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHB1dERpcmVjdE9mZnNldChnbG9iYWxEYXRhLCBv
ZmZzZXQsIGpzVW5kZWZpbmVkKCkpOworfQorCitTdHJ1Y3R1cmUqIEpTT2JqZWN0Ojppbmhlcml0
b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgaWYgKFdyaXRlQmFycmllckJh
c2U8VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xv
YmFsRGF0YS5tX2luaGVyaXRvcklES2V5KSkgeworICAgICAgICBKU1ZhbHVlIHZhbHVlID0gbG9j
YXRpb24tPmdldCgpOworICAgICAgICBpZiAodmFsdWUuaXNDZWxsKCkpIHsKKyAgICAgICAgICAg
IFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0dXJlKj4odmFsdWUpOworICAg
ICAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkpOworICAgICAgICAgICAgcmV0
dXJuIGluaGVyaXRvcklEOworICAgICAgICB9CisgICAgICAgIEFTU0VSVCh2YWx1ZS5pc1VuZGVm
aW5lZCgpKTsKKyAgICB9CisgICAgcmV0dXJuIGNyZWF0ZUluaGVyaXRvcklEKGdsb2JhbERhdGEp
OworfQorCiBib29sIEpTT2JqZWN0OjphbGxvd3NBY2Nlc3NGcm9tKEV4ZWNTdGF0ZSogZXhlYykK
IHsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gaXNHbG9iYWxUaGlzKCkgPyBq
c0Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9iamVjdCgpIDogdGhpcy0+Z2xv
YmFsT2JqZWN0KCk7CkBAIC01OTcsMTIgKzY5NiwxMCBAQCBib29sIEpTT2JqZWN0OjpkZWxldGVQ
cm9wZXJ0eUJ5SW5kZXgoSlNDCiAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJs
ZSgpLT5kZWxldGVQcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4
ZWMsIGkpKTsKICAgICAKICAgICBzd2l0Y2ggKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlDbGFzczoKLSAgICBjYXNlIE5vbkFycmF5Ogor
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgCi0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25B
cnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3Qt
Pm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIGlmIChpIDwg
c3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpIHsKQEAgLTc2MiwxMiArODU5LDEwIEBAIHZvaWQgSlNP
YmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmoKICAgICAvLyBpcyBpbmNyZWRpYmx5IGlu
ZWZmaWNpZW50IGZvciBsYXJnZSBhcnJheXMuIFdlIG5lZWQgYSBkaWZmZXJlbnQgYXBwcm9hY2gs
CiAgICAgLy8gd2hpY2ggYWxtb3N0IGNlcnRhaW5seSBtZWFucyBhIGRpZmZlcmVudCBzdHJ1Y3R1
cmUgZm9yIFByb3BlcnR5TmFtZUFycmF5LgogICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlD
bGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7
CiAgICAgICAgIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2Ug
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1f
YnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIHVz
ZWRWZWN0b3JMZW5ndGggPSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVj
dG9yTGVuZ3RoKCkpOwpAQCAtOTIwLDYgKzEwMTUsMzIgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSlNP
YmplY3Q6OmZpbGxHZXR0ZXJQcgogICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgpOwogfQogCit2
b2lkIEpTT2JqZWN0Ojpub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhKQoreworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZSgpLT5nZXQoZ2xv
YmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsKKyAgICBpZiAoaXNWYWxpZE9m
ZnNldChvZmZzZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgUHV0UHJvcGVydHlTbG90
IHNsb3Q7CisgICAgcHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZURlZmluZU93blByb3BlcnR5Pihn
bG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXksIGpzVW5kZWZpbmVkKCksIERv
bnRFbnVtLCBzbG90LCAwKTsKKyAgICAKKyAgICAvLyBOb3RlIHRoYXQgdGhpcyBtZXRob2QgbWFr
ZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hlY2sgaWYgdGhpcworICAgIC8v
IG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3JzLiBXZSBjb3VsZCBkbyB0aGF0
IGNoZWNrIGhlcmUsIGFuZCBpZgorICAgIC8vIGluZGV4ZWQgYWNjZXNzb3JzIHdlcmUgZm91bmQs
IHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2ZSBhIGJhZAorICAgIC8vIHRp
bWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9sbG93aW5nIHRvIGJlIGFsd2F5
cyBmYXN0OgorICAgIC8vCisgICAgLy8gMSkgQ3JlYXRlIGFuIG9iamVjdC4KKyAgICAvLyAyKSBH
aXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0aGF0IGhhcHBlbnMgdG8gaGF2
ZSBhIG51bWVyaWMgbmFtZS4KKyAgICAvLyAzKSBBbGxvY2F0ZSBvYmplY3RzIHRoYXQgdXNlIHRo
aXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgorICAgIC8vCisgICAgLy8gVGhpcyBhdm9pZHMgYW55
b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0YW5jZSBvYmplY3RzIGVuZCB1
cAorICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBjcmVhdGlvbiBvZiBpbmRleGVk
IHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKKyAgICAvLyBjaGFpbiB3YWxrIHRoYXQgZGV0
ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFuZCB0aGVuIGRvZXMgdGhlCisg
ICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcgYSBiYWQgdGltZSBvbmx5IGhh
cHBlbnMgaWYgeW91IGFkZCBhbgorICAgIC8vIGluZGV4ZWQgc2V0dGVyIChvciBnZXR0ZXIsIG9y
IHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMgYWxyZWFkeQorICAgIC8vIHVz
ZWQgYXMgYSBwcm90b3R5cGUuCit9CisKIFN0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVy
aXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBBU1NFUlQoIWdldERpcmVj
dExvY2F0aW9uKGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpOwpAQCAt
MTE4OSw4ICsxMzEwLDcgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxl
bgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJBWV9JTkRFWCk7CiAgICAgCiAgICAgc3dpdGNoIChz
dHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNh
c2UgQXJyYXlDbGFzczogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAg
ICAgICAgIGlmIChpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpIHsKICAgICAgICAgICAgIHB1dEJ5
SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBz
aG91bGRUaHJvdywgZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5k
ZXhpbmdNb2RlKGdsb2JhbERhdGEpKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIwNSw2ICsx
MzI1LDEyIEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAg
ICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IDE7CiAgICAgICAgIGJyZWFrOwogICAg
IH0KKyAgICAgICAgCisgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgor
ICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgaWYgKGF0dGVt
cHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93
KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgLy8gT3RoZXJ3aXNlLCBmYWxsIHRob3Vn
aC4KIAogICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgIGNhc2UgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgpAQCAtMTI5Nyw5ICsxNDIzLDExIEBAIGJvb2wgSlNPYmplY3Q6OnB1
dERpcmVjdEluZGV4QmV5b25kVmVjdG8KICAgICAvLyBpIHNob3VsZCBiZSBhIHZhbGlkIGFycmF5
IGluZGV4IHRoYXQgaXMgb3V0c2lkZSBvZiB0aGUgY3VycmVudCB2ZWN0b3IuCiAgICAgQVNTRVJU
KGkgPD0gTUFYX0FSUkFZX0lOREVYKTsKICAgICAKKyAgICBpZiAoYXR0cmlidXRlcyAmIChSZWFk
T25seSB8IEFjY2Vzc29yKSkKKyAgICAgICAgbm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMoZ2xvYmFsRGF0YSk7CisgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczogeworICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGlmIChpbmRleGluZ1No
b3VsZEJlU3BhcnNlKCkgfHwgYXR0cmlidXRlcykKICAgICAgICAgICAgIHJldHVybiBwdXREaXJl
Y3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUs
IGF0dHJpYnV0ZXMsIG1vZGUsIGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlv
bmFyeUluZGV4aW5nTW9kZShnbG9iYWxEYXRhKSk7CiAgICAgICAgIGlmICghaXNEZW5zZUVub3Vn
aEZvclZlY3RvcihpLCAwKSB8fCBpID49IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpCkBAIC0x
MzExLDggKzE0MzksNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rv
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxM
X0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBwdXREaXJlY3RJ
bmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIGF0
dHJpYnV0ZXMsIG1vZGUsIGFycmF5U3RvcmFnZSgpKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoK
QEAgLTEzNTQsMTMgKzE0ODEsMTEgQEAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCBKU09iamVjdDo6
Z2V0TmV3VgogICAgIHVuc2lnbmVkIGxlbmd0aDsKICAgICAKICAgICBzd2l0Y2ggKHN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJh
eUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICB2ZWN0
b3JMZW5ndGggPSAwOwogICAgICAgICBsZW5ndGggPSAwOwogICAgICAgICBicmVhazsKLSAgICBj
YXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3Rv
cmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAg
ICB2ZWN0b3JMZW5ndGggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0
aCgpOwogICAgICAgICBsZW5ndGggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmxlbmd0
aCgpOwogICAgICAgICBicmVhazsKQEAgLTE0NzgsMTIgKzE2MDMsMTAgQEAgYm9vbCBKU09iamVj
dDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
CiAgICAgc3dpdGNoIChvYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAg
IGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgIGNh
c2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAg
ICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0
b3JhZ2UoKTsKICAgICAgICAgaWYgKGkgPj0gc3RvcmFnZS0+bGVuZ3RoKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmgJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCw3ICsxMTgsMTggQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIGJvb2wgc2V0UHJvdG90eXBlV2l0aEN5Y2xlQ2hlY2soSlNHbG9iYWxE
YXRhJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgICAgICAKICAgICAgICAgU3RydWN0dXJlKiBp
bmhlcml0b3JJRChKU0dsb2JhbERhdGEmKTsKLQorICAgICAgICB2b2lkIG5vdGlmeVVzZWRBc1By
b3RvdHlwZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgbWF5QmVVc2Vk
QXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gaXNWYWxpZE9mZnNldChzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGds
b2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICBib29sIG1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7Cisg
ICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIFByb3Bl
cnR5TmFtZSkgY29uc3Q7CiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSkgY29uc3Q7CiAKQEAgLTEzNSwxMSArMTQ2LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHVuc2lnbmVkIGdldEFycmF5TGVuZ3RoKCkgY29uc3QKICAgICAgICAgewog
ICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAg
ICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAg
ICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAg
ICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFM
TF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBt
X2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmxlbmd0aCgpOwogICAgICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE1MCwxMSArMTU5
LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGdldFZlY3Rvckxlbmd0aCgp
CiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlw
ZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2FzZSBBcnJh
eUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5
U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAg
ICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAg
ICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsK
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkBAIC0xODksMTEgKzE5Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGNh
bkdldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0
Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25B
cnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxM
X0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2Fz
ZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKSAmJiBtX2J1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCktPm1fdmVjdG9yW2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
ICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIwNCw4ICsyMDksNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkKICAgICAg
ICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsK
LSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAg
Y2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9T
VE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yW2ldLmdldCgpOwogICAgICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIxNiwxMiArMjIw
LDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGNhblNldEluZGV4UXVpY2tseSh1
bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAg
IGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPCBtX2J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCktPnZlY3Rvckxlbmd0aCgpOworICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlT
dG9yYWdlOgorICAgICAgICAgICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3Rv
cmFnZSgpLT52ZWN0b3JMZW5ndGgoKQorICAgICAgICAgICAgICAgICAgICAmJiAhIW1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3JbaV07CiAgICAgICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTIzMSw4ICsyMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
dm9pZCBzZXRJbmRleFF1aWNrbHkoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBp
LCBKU1ZhbHVlIHYpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3Rv
cmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAg
ICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAg
ICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiB4ID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpLT5tX3ZlY3RvcltpXTsKICAgICAgICAgICAgICAgICBpZiAoIXgpIHsKICAgICAgICAgICAg
ICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpOwpAQCAtMjUxLDggKzI1Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGlu
aXRpYWxpemVJbmRleChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIHVuc2lnbmVkIGksIEpTVmFs
dWUgdikKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgot
ICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgICAgIGNh
c2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgICAgICAgICBB
cnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAjaWYg
Q0hFQ0tfQVJSQVlfQ09OU0lTVEVOQ1kKICAgICAgICAgICAgICAgICBBU1NFUlQoc3RvcmFnZS0+
bV9pbkNvbXBhY3RJbml0aWFsaXphdGlvbik7CkBAIC0yNzYsOCArMjgxLDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIHZvaWQgY29tcGxldGVJbml0aWFsaXphdGlvbih1bnNpZ25lZCBuZXdM
ZW5ndGgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4
aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToK
LSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBj
YXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAg
QXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAg
ICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UgaGF2ZSBpbml0aWFsaXplZCBhcyBtZW55IHBy
b3BlcnRpZXMgYXMgd2UgdGhpbmsgd2UgaGF2ZS4KICAgICAgICAgICAgICAgICBVTlVTRURfUEFS
QU0oc3RvcmFnZSk7CkBAIC0yOTgsMTEgKzMwMiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBib29sIGluU3BhcnNlSW5kZXhpbmdNb2RlKCkKICAgICAgICAgewogICAgICAgICAgICAgc3dp
dGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNh
c2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RP
UkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHkt
PmFycmF5U3RvcmFnZSgpLT5pblNwYXJzZU1vZGUoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00ODcsNiArNDg5LDggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCktPmdsb2JhbE9i
amVjdCgpOwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICB2b2lkIHN3aXRjaFRvU2xvd1B1
dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCiAgICAgICAgIHN0YXRpYyBz
aXplX3Qgb2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBzdGF0aWMg
cHRyZGlmZl90IGJ1dHRlcmZseU9mZnNldCgpCkBAIC01MzMsNyArNTM3LDcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIC8vIHN0b3JhZ2UuIFRoaXMgd2lsbCBhc3NlcnQgb3RoZXJ3aXNlLgog
ICAgICAgICBBcnJheVN0b3JhZ2UqIGFycmF5U3RvcmFnZSgpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkgfCBIYXNBcnJheVN0b3JhZ2Up
OworICAgICAgICAgICAgQVNTRVJUKGhhc0FycmF5U3RvcmFnZShzdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpKTsKICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCk7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC01NDIsOCArNTQ2LDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogYXJyYXlTdG9yYWdlT3JOdWxsKCkKICAgICAgICAg
ewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBO
b25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0OgpA
QCAtNTU4LDEyICs1NjEsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEFycmF5U3RvcmFn
ZSogZW5zdXJlQXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKICAgICAgICAg
ewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBO
b25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIE5vbkFy
cmF5OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExf
QkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUluaXRp
YWxBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICBkZWZhdWx0OgpAQCAtNTkyLDYgKzU5Myw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2
b2lkIGRlYWxsb2NhdGVTcGFyc2VJbmRleE1hcCgpOwogICAgICAgICBib29sIGRlZmluZU93bklu
ZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCwgUHJvcGVydHlEZXNjcmlwdG9yJiwg
Ym9vbCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIGFsbG9j
YXRlU3BhcnNlSW5kZXhNYXAoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAgICB2b2lk
IG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYpOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKQEAg
LTgyNCwyMiArODI3LDYgQEAgaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OnByb3RvdHlwZSgpIGNv
bgogICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CiB9CiAKLWlubGlu
ZSB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBK
U1ZhbHVlIHByb3RvdHlwZSkKLXsKLSAgICBBU1NFUlQocHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1
Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGds
b2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5cGUpKTsKLX0KLQotaW5saW5lIFN0cnVjdHVy
ZSogSlNPYmplY3Q6OmluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKLXsKLSAg
ICBpZiAoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2Nh
dGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKSB7Ci0gICAgICAg
IFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0dXJlKj4obG9jYXRpb24tPmdl
dCgpKTsKLSAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkpOwotICAgICAgICBy
ZXR1cm4gaW5oZXJpdG9ySUQ7Ci0gICAgfQotICAgIHJldHVybiBjcmVhdGVJbmhlcml0b3JJRChn
bG9iYWxEYXRhKTsKLX0KLQogaW5saW5lIGJvb2wgSlNDZWxsOjppbmhlcml0cyhjb25zdCBDbGFz
c0luZm8qIGluZm8pIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNsYXNzSW5mbygpLT5pc1N1YkNsYXNz
T2YoaW5mbyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90
b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdFByb3RvdHlwZS5jcHAJKHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc0LDYg
Kzc0LDcgQEAgdm9pZCBPYmplY3RQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKEpTRwogewogICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogICAgIEFTU0VSVChpbmhlcml0cygm
c19pbmZvKSk7CisgICAgbm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOwogfQogCiBi
b29sIE9iamVjdFByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNs
b3QpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJ
KHJldmlzaW9uIDEyODQ4NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwOSw2ICszMDksMzAgQEAgU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiAwOwogfQogCitib29sIFN0
cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNv
bnN0Cit7CisgICAgZm9yIChTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyBjdXJyZW50Oykgewor
ICAgICAgICBpZiAoY3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
ID0gY3VycmVudC0+c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNO
dWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJy
ZW50ID0gYXNPYmplY3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7CisgICAgfQorfQorCitOb25Q
cm9wZXJ0eVRyYW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24o
KSBjb25zdAoreworICAgIEFTU0VSVCghaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBl
KCkpKTsKKyAgICAKKyAgICBpZiAoYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpIHx8IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAgICAg
IHJldHVybiBBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0dXJuIEFs
bG9jYXRlQXJyYXlTdG9yYWdlOworfQorCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVy
dHlUcmFuc2l0aW9uKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIEpTQ2Vs
bCogc3BlY2lmaWNWYWx1ZSwgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICAvLyBJZiB3
ZSBoYXZlIGEgc3BlY2lmaWMgZnVuY3Rpb24sIHdlIG1heSBoYXZlIGdvdCB0byB0aGlzIHBvaW50
IGlmIHRoZXJlIGlzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmUuaAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NCw3ICsxNDQsMTcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAKICAgICAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSgpIGNvbnN0IHsgcmV0
dXJuIG1faW5kZXhpbmdUeXBlICYgQWxsQXJyYXlUeXBlczsgfQogICAgICAgICBJbmRleGluZ1R5
cGUgaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXhp
bmdUeXBlOyB9Ci0KKyAgICAgICAgCisgICAgICAgIGJvb2wgbWF5SW50ZXJjZXB0SW5kZXhlZEFj
Y2Vzc2VzKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIHR5cGVJbmZvKCku
aW50ZXJjZXB0c0dldE93blByb3BlcnR5U2xvdEJ5SW5kZXhFdmVuV2hlbkxlbmd0aElzTm90WmVy
bygpCisgICAgICAgICAgICAgICAgfHwgISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgp
IHwgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMpOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25z
dDsKKyAgICAgICAgCisgICAgICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRJbmRl
eGluZ1RyYW5zaXRpb24oKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQog
ICAgICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KGdsb2JhbERh
dGEsIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUu
aAkocmV2aXNpb24gMTI4NDg3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlVHJhbnNpdGlvblRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDEwIEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBGaXJzdEludGVybmFsQXR0cmkKIC8vIFN1cHBvcnQgZm9y
IGF0dHJpYnV0ZXMgdXNlZCB0byBpbmRpY2F0ZSB0cmFuc2l0aW9ucyBub3QgcmVsYXRlZCB0byBw
cm9wZXJ0aWVzLgogLy8gSWYgYW55IG9mIHRoZXNlIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHBvcnRp
b24gb2YgdGhlIGtleSBzaG91bGQgYmUgMC4KIGVudW0gTm9uUHJvcGVydHlUcmFuc2l0aW9uIHsK
LSAgICBBbGxvY2F0ZUFycmF5U3RvcmFnZQorICAgIEFsbG9jYXRlQXJyYXlTdG9yYWdlLAorICAg
IEFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZSwKKyAgICBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0
b3JhZ2UsCisgICAgQWRkSW5kZXhlZEFjY2Vzc29ycwogfTsKIAogaW5saW5lIHVuc2lnbmVkIHRv
QXR0cmlidXRlcyhOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTU2LDYgKzU5
LDEzIEBAIGlubGluZSBJbmRleGluZ1R5cGUgbmV3SW5kZXhpbmdUeXBlKEluZGUKICAgICBzd2l0
Y2ggKHRyYW5zaXRpb24pIHsKICAgICBjYXNlIEFsbG9jYXRlQXJyYXlTdG9yYWdlOgogICAgICAg
ICByZXR1cm4gb2xkVHlwZSB8IEhhc0FycmF5U3RvcmFnZTsKKyAgICBjYXNlIEFsbG9jYXRlU2xv
d1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBIYXNTbG93UHV0QXJy
YXlTdG9yYWdlOworICAgIGNhc2UgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAg
ICBBU1NFUlQob2xkVHlwZSAmIEhhc0FycmF5U3RvcmFnZSk7CisgICAgICAgIHJldHVybiAob2xk
VHlwZSAmIH5IYXNBcnJheVN0b3JhZ2UpIHwgSGFzU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICBj
YXNlIEFkZEluZGV4ZWRBY2Nlc3NvcnM6CisgICAgICAgIHJldHVybiBvbGRUeXBlIHwgTWF5SGF2
ZUluZGV4ZWRBY2Nlc3NvcnM7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiBvbGRUeXBlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164301</attachid>
            <date>2012-09-15 19:04:31 -0700</date>
            <delta_ts>2012-09-15 23:24:28 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>haveabadtime_patch_3.diff</filename>
            <type>text/plain</type>
            <size>80443</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4Njk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4MSBA
QAorMjAxMi0wOS0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5k
ZXhlZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMg
ZG9uZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhh
dAorICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJh
dGVneSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZh
dm9yIG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJy
YXlzIG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAg
ICAgICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBh
IGJhZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5
IG9iamVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkK
KyAgICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBh
Y2Nlc3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ug
b2JqZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUp
IGlzIGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciBy
ZWFkLW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAg
ICAgYWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5p
dGlvbiBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVy
IHdheSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRl
eGVkIHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5k
ZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2Jq
ZWN0IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdp
bGwgc2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAg
ICAgICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAg
ICAgIC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJl
Zm9yZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQg
aW5zdGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJv
dG90eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBz
dG9yZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xv
dyBkb3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhh
dmUgbm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1
c2VzIG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0
cy4gQnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBt
b3JlIGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRp
bWUuCisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1h
eSBiZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAg
IGFkZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2Jq
ZWN0cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRo
ZSBwcm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAg
ICAgICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8g
c2xvdy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4g
aGFkIGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMg
dGhhdCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4g
dGhlaXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxv
Y2F0aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdl
LCBhbmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2Ug
Zm9yIG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAg
ICAgICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGlt
ZTogKGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmlu
ZyBvZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkp
IGlzCisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0
IGFuIG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBo
YWQgYW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNl
cnRlZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vm
b3J0aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHBy
b3RvdHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQg
YnkgZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBi
ZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QK
KyAgICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZs
aXAgdGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0
IG9taXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2Vl
cCBhIGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZp
bmQgdGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBh
bG9uZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50
bHkgYWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3Jz
LCB0aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAg
ICAgb25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3Nv
cnMgdG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFw
IHNjYW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUg
YWxzbworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxv
bmdpbmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGlu
ZGV4ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVh
cCBhZ2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwg
b2JqZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9k
dWxlOyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVy
IGFwcHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
OmFycmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAg
ICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2
ZWQpOgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChK
U0M6OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6Cisg
ICAgICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGhlYXAvSGVhcC5jcHA6Cisg
ICAgICAgIChKU0M6OkhlYXA6OmNvbGxlY3QpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxv
Y2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9J
bmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAo
SlNDOjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpw
b3ApOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRl
eCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlz
dHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklE
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmRlbGV0ZVByb3BlcnR5QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVz
ZWRBc1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJ
RCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9s
ZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3Ro
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVu
Z3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5ld1ZlY3Rvckxlbmd0aCk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorICAgICAgICAq
IHJ1bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1heUJlVXNlZEFz
UHJvdG90eXBlKToKKyAgICAgICAgKEpTT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
Om1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpn
ZXRBcnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Y2FuR2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmdldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
OjpjYW5TZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0SW5kZXhR
dWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaXRpYWxpemVJbmRleCk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0Ojpjb21wbGV0ZUluaXRpYWxpemF0aW9uKToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmluU3BhcnNlSW5kZXhpbmdNb2RlKToKKyAgICAgICAgKEpTQzo6SlNPYmpl
Y3Q6OmFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjphcnJheVN0b3JhZ2VP
ck51bGwpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlKToKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAg
ICAgICAoSlNDOjpPYmplY3RQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBy
dW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwOgorICAgICAgICAoSlNDOjpTcGFyc2VBcnJh
eVZhbHVlTWFwOjpwdXRFbnRyeSk6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5RW50cnk6OnB1
dCk6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1h
cC5oOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKFNwYXJzZUFycmF5RW50cnkpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphbnlP
YmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQyk6
CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkSW5kZXhpbmdUcmFuc2l0aW9uKToK
KyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAoU3RydWN0dXJlKToKKyAg
ICAgICAgKEpTQzo6U3RydWN0dXJlOjptYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMpOgorICAg
ICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmg6CisgICAgICAgIChKU0M6
Om5ld0luZGV4aW5nVHlwZSk6CisKIDIwMTItMDktMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBBbGwgb2YgdGhlIHRoaW5ncyBpbiBTcGFyc2VBcnJheVZhbHVl
TWFwIHNob3VsZCBiZSBvdXQtb2YtbGluZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0FycmF5UHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
Niw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9y
OwogCiAvLyBUaGlzIGlzIGEgYml0ZmllbGQgd2hlcmUgZWFjaCBiaXQgcmVwcmVzZW50cyBhbiBJ
bmRleGluZ1R5cGUgdGhhdCB3ZSBoYXZlIHNlZW4uCi0vLyBUaGVyZSBhcmUgMTcgaW5kZXhpbmcg
dHlwZXMgKDAgdG8gMTYsIGluY2x1c2l2ZSksIHNvIDMyIGJpdHMgaXMgbW9yZSB0aGFuIGVub3Vn
aC4KKy8vIFRoZXJlIGFyZSAzMiBpbmRleGluZyB0eXBlcywgc28gYW4gdW5zaWduZWQgaXMgZW5v
dWdoLgogdHlwZWRlZiB1bnNpZ25lZCBBcnJheU1vZGVzOwogCiAjZGVmaW5lIGFzQXJyYXlNb2Rl
cyh0eXBlKSBcCkBAIC00NCw3ICs0NCw3IEBAIHR5cGVkZWYgdW5zaWduZWQgQXJyYXlNb2RlczsK
IAogaW5saW5lIEFycmF5TW9kZXMgYXJyYXlNb2RlRnJvbVN0cnVjdHVyZShTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlSW5jbHVkaW5nSGlzdG9yeSgpKTsKKyAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVjdHVy
ZS0+aW5kZXhpbmdUeXBlKCkpOwogfQogCiBjbGFzcyBBcnJheVByb2ZpbGUgewpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwCShyZXZpc2lv
biAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDkzLDE0ICsxMDkzLDIxIEBAIGJvb2wgQWJzdHJhY3RT
dGF0ZTo6ZXhlY3V0ZSh1bnNpZ25lZCBpbmQKICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAK
ICAgICBjYXNlIE5ld0FycmF5OgotICAgIGNhc2UgTmV3QXJyYXlCdWZmZXI6Ci0gICAgICAgIG5v
ZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKICAg
ICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2Rl
LmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgbV9oYXZlU3RydWN0dXJl
cyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKKyAgICBjYXNlIE5ld0FycmF5QnVm
ZmVyOgorICAgICAgICAvLyBVbmxlc3Mgd2UncmUgaGF2aW5nIGEgYmFkIHRpbWUsIHRoaXMgbm9k
ZSBjYW4gY2hhbmdlIGl0cyBtaW5kIGFib3V0IHdoYXQgc3RydWN0dXJlCisgICAgICAgIC8vIGl0
IHVzZXMuCisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIGZvck5vZGUo
bm9kZUluZGV4KS5zZXQoU3BlY0FycmF5KTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIE5l
d0FycmF5V2l0aFNpemU6Ci0gICAgICAgIHNwZWN1bGF0ZUludDMyVW5hcnkobm9kZSk7CisgICAg
ICAgIG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKKyAgICAgICAgZm9yTm9kZShub2RlLmNoaWxkMSgp
KS5maWx0ZXIoU3BlY0ludDMyKTsKICAgICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dy
YXBoLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsK
ICAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmNwcAkocmV2aXNpb24gMTI4
NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MiwxMCArNDIsMTYgQEAgQXJyYXk6Ok1vZGUgZnJvbU9ic2VydmVkKEFy
cmF5TW9kZXMgbW9kZQogICAgICAgICByZXR1cm4gQXJyYXk6OlVuZGVjaWRlZDsKICAgICBjYXNl
IGFzQXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpOgogICAgICAgICByZXR1cm4g
bWFrZVNhZmUgPyBBcnJheTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMgOiBBcnJheTo6QXJyYXlT
dG9yYWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0
b3JhZ2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U7CiAgICAg
Y2FzZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToKICAgICAgICAgcmV0dXJu
IG1ha2VTYWZlID8gQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIDogQXJy
YXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJyYXlNb2RlcyhBcnJheVdp
dGhTbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFycmF5OjpBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0aEFy
cmF5U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToKICAgICAg
ICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdl
T3V0T2ZCb3VuZHMgOiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2U7CisgICAg
Y2FzZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSkgfCBhc0Fy
cmF5TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAgICAgIHJldHVybiBB
cnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGRlZmF1bHQ6
CiAgICAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGlzIGlzIHBvc3NpYmx5IGEga2luZCBvZiBhcnJh
eSBmb3Igd2hpY2gsIHRob3VnaCB0aGVyZSBpcyBubwogICAgICAgICAvLyB1c2VmdWwgZGF0YSBp
biB0aGUgYXJyYXkgcHJvZmlsZSwgd2UgbWF5IGJlIGFibGUgdG8gZXh0cmFjdCB1c2VmdWwgZGF0
YSBmcm9tCkBAIC0xMjQsMTUgKzEzMCwyOSBAQCBib29sIG1vZGVBbHJlYWR5Q2hlY2tlZChBYnN0
cmFjdFZhbHVlJiB2CiAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgogICAgICAgICByZXR1cm4gaXNT
dHJpbmdTcGVjdWxhdGlvbih2YWx1ZS5tX3R5cGUpOwogICAgICAgICAKLSAgICBjYXNlIE5PTl9B
UlJBWV9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToK
KyAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoKKyAgICBjYXNlIEFycmF5
OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpQb3NzaWJs
eUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gdmFsdWUu
bV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAgICAgICAgICYmICh2
YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkg
JiBIYXNBcnJheVN0b3JhZ2UpOwotCi0gICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0Vf
TU9ERVM6CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U6Cisg
ICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAg
ICAgICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkK
KyAgICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24o
KS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdlKTsKKyAgICAgICAgCisg
ICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXk6OkFy
cmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gdmFsdWUubV9j
dXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAgICAgICAgICYmICh2YWx1
ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBI
YXNBcnJheVN0b3JhZ2UpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1
Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSXNBcnJheSk7CiAgICAgICAgIAor
ICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIHJl
dHVybiB2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5oYXNTaW5nbGV0b24oKQorICAgICAg
ICAgICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNpbmdsZXRvbigpLT5pbmRl
eGluZ1R5cGUoKSAmIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpCisgICAgICAgICAgICAmJiAodmFs
dWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYg
SXNBcnJheSk7CisgICAgICAgIAogICAgIGNhc2UgQXJyYXk6OkFyZ3VtZW50czoKICAgICAgICAg
cmV0dXJuIGlzQXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUubV90eXBlKTsKICAgICAgICAgCkBA
IC0xODQsMTQgKzIwNCwyMCBAQCBjb25zdCBjaGFyKiBtb2RlVG9TdHJpbmcoQXJyYXk6Ok1vZGUg
bW9kCiAgICAgICAgIHJldHVybiAiU3RyaW5nIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3Jh
Z2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlTdG9yYWdlIjsKKyAgICBjYXNlIEFycmF5OjpTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlNsb3dQdXRBcnJheVN0b3JhZ2UiOwog
ICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4g
IkFycmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJh
eVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlXaXRoQXJyYXlTdG9yYWdlIjsKKyAgICBj
YXNlIEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4g
IkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0
aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gIkFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFy
cmF5U3RvcmFnZToKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFn
ZSI7CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OgorICAgICAgICByZXR1cm4gIlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSI7
CiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5k
czoKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91
bmRzIjsKICAgICBjYXNlIEFycmF5OjpBcmd1bWVudHM6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDEwICs0
NywxMyBAQCBlbnVtIE1vZGUgewogICAgIEdlbmVyaWMsCiAgICAgU3RyaW5nLAogICAgIEFycmF5
U3RvcmFnZSwKKyAgICBTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFycmF5U3RvcmFnZU91dE9m
Qm91bmRzLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZSwKKyAgICBBcnJheVdpdGhTbG93UHV0
QXJyYXlTdG9yYWdlLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAg
IFBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlLAorICAgIFBvc3NpYmx5QXJyYXlXaXRoU2xv
d1B1dEFycmF5U3RvcmFnZSwKICAgICBQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9m
Qm91bmRzLAogICAgIEFyZ3VtZW50cywKICAgICBJbnQ4QXJyYXksCkBAIC03MCwxMSArNzMsMTQg
QEAgZW51bSBNb2RlIHsKIC8vIGhhdmUgdGhlIHdvcmQgIkFycmF5U3RvcmFnZSIgaW4gdGhlbS4K
ICNkZWZpbmUgTk9OX0FSUkFZX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczog
ICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoQXJy
YXlTdG9yYWdlOiAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdp
dGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFy
cmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzCiAjZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlf
U1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBBcnJheTo6QXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6
OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICBcCiAgICAgY2FzZSBB
cnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMKICNkZWZpbmUgQUxMX0FSUkFZ
X1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIE5PTl9BUlJB
WV9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC04Myw4
ICs4OSwxMyBAQCBlbnVtIE1vZGUgewogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJy
YXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJs
eUFycmF5V2l0aEFycmF5U3RvcmFnZQorI2RlZmluZSBTTE9XX1BVVF9BUlJBWV9TVE9SQUdFX01P
REVTICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3Jh
Z2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVdp
dGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OlBv
c3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZQogI2RlZmluZSBPVVRfT0ZfQk9VTkRT
X0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICBcCi0gICAgQXJyYXk6OkFycmF5
U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBTTE9XX1BV
VF9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNh
c2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICBcCiAg
ICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAg
IFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91
bmRzCiAKQEAgLTEyOCw2ICsxMzksMTYgQEAgaW5saW5lIGJvb2wgaXNJbkJvdW5kc0FjY2VzcyhB
cnJheTo6TW9kZQogICAgIH0KIH0KIAoraW5saW5lIGJvb2wgaXNTbG93UHV0QWNjZXNzKEFycmF5
OjpNb2RlIGFycmF5TW9kZSkKK3sKKyAgICBzd2l0Y2ggKGFycmF5TW9kZSkgeworICAgIGNhc2Ug
U0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogaW5saW5lIGJvb2wg
Y2FuQ1NFU3RvcmFnZShBcnJheTo6TW9kZSBhcnJheU1vZGUpCiB7CiAgICAgc3dpdGNoIChhcnJh
eU1vZGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzEyOCwxMyArMzEyOCwxNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUm
IG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBOZXdBcnJheTogeworICAgICAgICBKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5j
b2RlT3JpZ2luKTsKKyAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUo
KSkKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCkt
PmFkZChzcGVjdWxhdGlvbldhdGNocG9pbnQoKSk7CisgICAgICAgIAogICAgICAgICBpZiAoIW5v
ZGUubnVtQ2hpbGRyZW4oKSkgewogICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAg
ICAgICAgIEdQUlJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgICAgICBHUFJSZXN1bHQyIHJl
c3VsdFRhZ0lnbm9yZWQodGhpcyk7CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKAogICAgICAg
ICAgICAgICAgIG9wZXJhdGlvbk5ld0VtcHR5QXJyYXksIHJlc3VsdFRhZ0lnbm9yZWQuZ3ByKCks
IHJlc3VsdC5ncHIoKSwKLSAgICAgICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVj
dEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgICAg
ICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCkpOwogICAgICAgICAgICAgY2VsbFJlc3Vs
dChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CkBAIC0zMTY3LDggKzMxNzEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUmIG5vZGUpCiAgICAgICAgIEdQUlJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwogICAgICAg
ICAKICAgICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5
LCByZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksCi0gICAgICAgICAgICBtX2pp
dC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVy
ZSgpLAorICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3VsdFRhZy5ncHIoKSwgcmVz
dWx0UGF5bG9hZC5ncHIoKSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLAogICAgICAg
ICAgICAgc3RhdGljX2Nhc3Q8dm9pZCAqPihidWZmZXIpLCBub2RlLm51bUNoaWxkcmVuKCkpOwog
CiAgICAgICAgIGlmIChzY3JhdGNoU2l6ZSkgewpAQCAtMzE4NCw2ICszMTg3LDEwIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAKICAgICBjYXNlIE5l
d0FycmF5V2l0aFNpemU6IHsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbik7CisgICAgICAg
IGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAgICAgICAgICBnbG9i
YWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5hZGQoc3BlY3VsYXRpb25XYXRj
aHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgU3BlY3VsYXRlU3RyaWN0SW50MzJPcGVyYW5k
IHNpemUodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlJlZyBzaXplR1BSID0gc2l6
ZS5ncHIoKTsKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKQEAgLTMxOTEsNyArMzE5OCw3IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgR1BSUmVz
dWx0MiByZXN1bHRUYWdJZ25vcmVkKHRoaXMpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKAogICAg
ICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSwgcmVzdWx0VGFnSWdub3JlZC5ncHIo
KSwgcmVzdWx0LmdwcigpLAotICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RG
b3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7CisgICAgICAg
ICAgICBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOwogICAgICAgICBj
ZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICBicmVhazsK
ICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NjAsMjQg
KzI3NjAsMzYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAg
ICAgICAKICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlOyBp
ZiBzbyBpbmNyZW1lbnQgbV9udW1WYWx1ZXNJblZlY3Rvci4KICAgICAgICAgICAgIE1hY3JvQXNz
ZW1ibGVyOjpKdW1wIG5vdEhvbGVWYWx1ZSA9IG1faml0LmJyYW5jaFRlc3RQdHIoTWFjcm9Bc3Nl
bWJsZXI6Ok5vblplcm8sIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJv
cGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpTY2FsZVB0ciwgT0JKRUNUX09GRlNFVE9GKEFycmF5
U3RvcmFnZSwgbV92ZWN0b3JbMF0pKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVk
SW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVDVF9PRkZT
RVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7Ci0KLSAgICAgICAgICAg
IC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0IGJlIGdyb3dpbmcgdGhlIGFy
cmF5OyAKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERvZXNOb3ROZWVk
VXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBwcm9wZXJ0eVJl
ZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5n
dGhPZmZzZXQoKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBw
cm9wZXJ0eVJlZyk7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHByb3BlcnR5UmVnLCBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNl
dCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5
UmVnKTsKLQotICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygmbV9qaXQp
OworICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNIb2xlVmFsdWU7CisgICAgICAg
ICAgICBpZiAoaXNTbG93UHV0QWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAgICAgICAv
LyBUaGlzIGlzIHNvcnQgb2Ygc3RyYW5nZS4gSWYgd2Ugd2FudGVkIHRvIG9wdGltaXplIHRoaXMg
Y29kZSBwYXRoLCB3ZSB3b3VsZCBpbnZlcnQKKyAgICAgICAgICAgICAgICAvLyB0aGUgYWJvdmUg
YnJhbmNoLiBCdXQgaXQncyBzaW1wbHkgbm90IHdvcnRoIGl0IHNpbmNlIHRoaXMgb25seSBoYXBw
ZW5zIGlmIHdlJ3JlCisgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBoYXZpbmcgYSBiYWQgdGlt
ZS4KKyAgICAgICAgICAgICAgICBpc0hvbGVWYWx1ZSA9IG1faml0Lmp1bXAoKTsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEp
LCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VUT0YoQXJy
YXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOworICAgICAgICAgICAgICAgIAorICAg
ICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0IGJlIGdy
b3dpbmcgdGhlIGFycmF5OyAKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBs
ZW5ndGhEb2VzTm90TmVlZFVwZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpC
ZWxvdywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFy
cmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQz
MihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5z
dG9yZTMyKHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBB
cnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9qaXQuc3Vi
MzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAgCisgICAg
ICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygmbV9qaXQpOworICAgICAg
ICAgICAgfQogICAgICAgICAgICAgbm90SG9sZVZhbHVlLmxpbmsoJm1faml0KTsKIAogICAgICAg
ICAgICAgLy8gU3RvcmUgdGhlIHZhbHVlIHRvIHRoZSBhcnJheS4KICAgICAgICAgICAgIG1faml0
LnN0b3JlUHRyKHZhbHVlUmVnLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHN0b3JhZ2VSZWcs
IHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6U2NhbGVQdHIsIE9CSkVDVF9PRkZTRVRPRihB
cnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSkpOwogCiAgICAgICAgICAgICBpZiAoIWlzSW5Cb3Vu
ZHNBY2Nlc3MoYXJyYXlNb2RlKSkgeworICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpK
dW1wTGlzdCBzbG93Q2FzZXM7CisgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLmFwcGVuZChiZXlv
bmRBcnJheUJvdW5kcyk7CisgICAgICAgICAgICAgICAgaWYgKGlzU2xvd1B1dEFjY2VzcyhhcnJh
eU1vZGUpKQorICAgICAgICAgICAgICAgICAgICBzbG93Q2FzZXMuYXBwZW5kKGlzSG9sZVZhbHVl
KTsKICAgICAgICAgICAgICAgICBhZGRTbG93UGF0aEdlbmVyYXRvcigKICAgICAgICAgICAgICAg
ICAgICAgc2xvd1BhdGhDYWxsKAotICAgICAgICAgICAgICAgICAgICAgICAgYmV5b25kQXJyYXlC
b3VuZHMsIHRoaXMsCisgICAgICAgICAgICAgICAgICAgICAgICBzbG93Q2FzZXMsIHRoaXMsCiAg
ICAgICAgICAgICAgICAgICAgICAgICBtX2ppdC5jb2RlQmxvY2soKS0+aXNTdHJpY3RNb2RlKCkg
PyBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzU3RyaWN0IDogb3BlcmF0aW9uUHV0
QnlWYWxCZXlvbmRBcnJheUJvdW5kc05vblN0cmljdCwKICAgICAgICAgICAgICAgICAgICAgICAg
IE5vUmVzdWx0LCBiYXNlUmVnLCBwcm9wZXJ0eVJlZywgdmFsdWVSZWcpKTsKICAgICAgICAgICAg
IH0KQEAgLTMxMjAsMTIgKzMxMzIsMTQgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlJiBub2RlKQogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBOZXdBcnJheTogeworICAgICAg
ICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmpl
Y3RGb3Iobm9kZS5jb2RlT3JpZ2luKTsKKyAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2
aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+aGF2aW5nQUJhZFRpbWVX
YXRjaHBvaW50KCktPmFkZChzcGVjdWxhdGlvbldhdGNocG9pbnQoKSk7CisgICAgICAgIAogICAg
ICAgICBpZiAoIW5vZGUubnVtQ2hpbGRyZW4oKSkgewogICAgICAgICAgICAgZmx1c2hSZWdpc3Rl
cnMoKTsKICAgICAgICAgICAgIEdQUlJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBj
YWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5ld0VtcHR5QXJyYXksIHJl
c3VsdC5ncHIoKSwKLSAgICAgICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZv
cihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKKyAgICAgICAgICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uTmV3RW1wdHlBcnJheSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlKCkpOwogICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3By
KCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0z
MTU1LDggKzMxNjksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUp
CiAgICAgICAgIEdQUlJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIAogICAgICAgICBjYWxs
T3BlcmF0aW9uKAotICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3VsdC5ncHIoKSwK
LSAgICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdp
biktPmFycmF5U3RydWN0dXJlKCksCisgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVz
dWx0LmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCksCiAgICAgICAgICAgICBz
dGF0aWNfY2FzdDx2b2lkKj4oYnVmZmVyKSwgbm9kZS5udW1DaGlsZHJlbigpKTsKIAogICAgICAg
ICBpZiAoc2NyYXRjaFNpemUpIHsKQEAgLTMxNzEsMTEgKzMxODQsMTUgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBO
ZXdBcnJheVdpdGhTaXplOiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qg
PSBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAg
ICBpZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xv
YmFsT2JqZWN0LT5oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0
Y2hwb2ludCgpKTsKKyAgICAgICAgCiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFu
ZCBzaXplKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgICAgICBHUFJSZWcgc2l6ZUdQUiA9IHNp
emUuZ3ByKCk7CiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIEdQUlJlc3VsdCBy
ZXN1bHQodGhpcyk7Ci0gICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlXaXRo
U2l6ZSwgcmVzdWx0LmdwcigpLCBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNv
ZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKKyAgICAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplLCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVj
dC0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7CiAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0
LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI0LDcgKzMyNCw4IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNoZWNrQXJyYXkoTm9kZSYgbm8KICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Q4
KAogICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpaZXJvLAogICAgICAgICAgICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHRlbXAuZ3ByKCksIFN0cnVjdHVyZTo6aW5kZXhpbmdU
eXBlT2Zmc2V0KCkpLAotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1t
MzIoSGFzQXJyYXlTdG9yYWdlKSkpOworICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpU
cnVzdGVkSW1tMzIoCisgICAgICAgICAgICAgICAgICAgIGlzU2xvd1B1dEFjY2Vzcyhub2RlLmFy
cmF5TW9kZSgpKSA/IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UgOiBIYXNBcnJheVN0b3JhZ2UpKSk7
CiAgICAgICAgIAogICAgICAgICBub1Jlc3VsdChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIHJl
dHVybjsKQEAgLTM0NSw3ICszNDYsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FycmF5
KE5vZGUmIG5vCiAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soCiAgICAgICAgICAgICBVbmNvdW50
YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgTm9Ob2RlLAogICAgICAgICAgICAgbV9qaXQuYnJhbmNoVGVz
dDMyKAotICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpaZXJvLCB0ZW1wR1BSLCBNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEhhc0FycmF5U3RvcmFnZSkpKTsKKyAgICAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6WmVybywgdGVtcEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0
ZWRJbW0zMigKKyAgICAgICAgICAgICAgICAgICAgaXNTbG93UHV0QWNjZXNzKG5vZGUuYXJyYXlN
b2RlKCkpID8gSGFzU2xvd1B1dEFycmF5U3RvcmFnZSA6IEhhc0FycmF5U3RvcmFnZSkpKTsKICAg
ICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgcmV0dXJu
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDEyODY5MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02ODMsNiArNjgzLDggQEAgc3RhdGljIGRvdWJsZSBtaW51dGUgPSA2MC4wOwogCiB2b2lkIEhl
YXA6OmNvbGxlY3QoU3dlZXBUb2dnbGUgc3dlZXBUb2dnbGUpCiB7CisgICAgZGF0YUxvZygiQ29s
bGVjdGluZyFcbiIpOworICAgIAogICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJH
YXJiYWdlIENvbGxlY3Rpb24iKTsKICAgICAKICAgICBHQ1BIQVNFKENvbGxlY3QpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVC5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MzcsNyArNDM3LDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlwZSwgYm9vbCBk
ZXN0cnVjdG9yLCB0eXBlbmFtZSBTdHJ1Y3R1cmVUeXBlPiB2b2lkIGVtaXRBbGxvY2F0ZUJhc2lj
SlNPYmplY3QoU3RydWN0dXJlVHlwZSwgUmVnaXN0ZXJJRCByZXN1bHQsIFJlZ2lzdGVySUQgc3Rv
cmFnZVB0cik7CiAgICAgICAgIHZvaWQgZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKHNpemVfdCwg
cHRyZGlmZl90IG9mZnNldEZyb21CYXNlLCBSZWdpc3RlcklEIHJlc3VsdCk7CiAgICAgICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgZW1pdEFsbG9jYXRlSlNGaW5hbE9iamVjdChUIHN0cnVj
dHVyZSwgUmVnaXN0ZXJJRCByZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVB0cik7Ci0gICAgICAg
IHZvaWQgZW1pdEFsbG9jYXRlSlNBcnJheSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWdu
ZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNlbGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3Vs
dCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRyKTsKKyAgICAgICAgdm9pZCBlbWl0QWxsb2NhdGVKU0Fy
cmF5KHVuc2lnbmVkIHZhbHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQg
Y2VsbFJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQ
dHIsIFJlZ2lzdGVySUQgc2NyYXRjaCk7CiAgICAgICAgIAogI2lmIEVOQUJMRShWQUxVRV9QUk9G
SUxFUikKICAgICAgICAgLy8gVGhpcyBhc3N1bWVzIHRoYXQgdGhlIHZhbHVlIHRvIHByb2ZpbGUg
aXMgaW4gcmVnVDAgYW5kIHRoYXQgcmVnVDMgaXMgYXZhaWxhYmxlIGZvcgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJbmxpbmVNZXRob2RzLmgJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NDMsNyArNDQzLDcgQEAgaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2Nh
dGVCYXNpY1N0b3JhZwogICAgIHN1YlB0cihUcnVzdGVkSW1tMzIoc2l6ZSAtIG9mZnNldEZyb21C
YXNlKSwgcmVzdWx0KTsKIH0KIAotaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVKU0FycmF5
KHVuc2lnbmVkIHZhbHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2Vs
bFJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIp
CitpbmxpbmUgdm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVn
aXN0ZXIsIHVuc2lnbmVkIGxlbmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklE
IHN0b3JhZ2VSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVB0ciwgUmVnaXN0ZXJJRCBzY3JhdGNo
KQogewogICAgIHVuc2lnbmVkIGluaXRpYWxMZW5ndGggPSBzdGQ6Om1heChsZW5ndGgsIDRVKTsK
ICAgICBzaXplX3QgaW5pdGlhbFN0b3JhZ2UgPSBCdXR0ZXJmbHk6OnRvdGFsU2l6ZSgwLCAwLCB0
cnVlLCBBcnJheVN0b3JhZ2U6OnNpemVGb3IoaW5pdGlhbExlbmd0aCkpOwpAQCAtNDUzLDcgKzQ1
Myw4IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlSlNBcnJheSh1bnMKICAgICBlbWl0
QWxsb2NhdGVCYXNpY1N0b3JhZ2UoaW5pdGlhbFN0b3JhZ2UsIHNpemVvZihJbmRleGluZ0hlYWRl
ciksIHN0b3JhZ2VSZXN1bHQpOwogCiAgICAgLy8gQWxsb2NhdGUgdGhlIGNlbGwgZm9yIHRoZSBh
cnJheS4KLSAgICBlbWl0QWxsb2NhdGVCYXNpY0pTT2JqZWN0PEpTQXJyYXksIGZhbHNlPihUcnVz
dGVkSW1tUHRyKG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKS0+YXJyYXlTdHJ1Y3R1cmUoKSks
IGNlbGxSZXN1bHQsIHN0b3JhZ2VQdHIpOworICAgIGxvYWRQdHIobV9jb2RlQmxvY2stPmdsb2Jh
bE9iamVjdCgpLT5hZGRyZXNzT2ZBcnJheVN0cnVjdHVyZSgpLCBzY3JhdGNoKTsKKyAgICBlbWl0
QWxsb2NhdGVCYXNpY0pTT2JqZWN0PEpTQXJyYXksIGZhbHNlPihzY3JhdGNoLCBjZWxsUmVzdWx0
LCBzdG9yYWdlUHRyKTsKIAogICAgIC8vIFN0b3JlIGFsbCB0aGUgbmVjZXNzYXJ5IGluZm8gaW4g
dGhlIEFycmF5U3RvcmFnZS4KICAgICBzdG9yZTMyKEltbTMyKGxlbmd0aCksIEFkZHJlc3Moc3Rv
cmFnZVJlc3VsdCwgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjc2LDcgKzE2NzYsNyBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9uZXdfYXJyYXkoSW5zdHJ1Y3Rp
b24qCiAgICAgaW50IGRzdCA9IGN1cnJlbnRJbnN0cnVjdGlvblsxXS51Lm9wZXJhbmQ7CiAgICAg
aW50IHZhbHVlcyA9IGN1cnJlbnRJbnN0cnVjdGlvblsyXS51Lm9wZXJhbmQ7CiAKLSAgICBlbWl0
QWxsb2NhdGVKU0FycmF5KHZhbHVlcywgbGVuZ3RoLCByZWdUMCwgcmVnVDEsIHJlZ1QyKTsKKyAg
ICBlbWl0QWxsb2NhdGVKU0FycmF5KHZhbHVlcywgbGVuZ3RoLCByZWdUMCwgcmVnVDEsIHJlZ1Qy
LCByZWdUMyk7CiAgICAgZW1pdFN0b3JlQ2VsbChkc3QsIHJlZ1QwKTsgCiB9CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDggKzEzMiwxMCBAQCBBcnJheVByb3Rv
dHlwZTo6QXJyYXlQcm90b3R5cGUoSlNHbG9iYWxPCiAKIHZvaWQgQXJyYXlQcm90b3R5cGU6OmZp
bmlzaENyZWF0aW9uKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiB7Ci0gICAgQmFzZTo6
ZmluaXNoQ3JlYXRpb24oZ2xvYmFsT2JqZWN0LT5nbG9iYWxEYXRhKCkpOworICAgIEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpOworICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKGdsb2JhbERhdGEpOwogICAgIEFTU0VSVChpbmhlcml0cygmc19pbmZv
KSk7CisgICAgbm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOwogfQogCiBib29sIEFy
cmF5UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUq
IGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKQEAg
LTYzOCw3ICs2NDAsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGFycmF5UHJvdG9G
CiAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxs
RGF0YShmdW5jdGlvbiwgY2FsbERhdGEpOwogCi0gICAgaWYgKHRoaXNPYmotPmNsYXNzSW5mbygp
ID09ICZKU0FycmF5OjpzX2luZm8gJiYgIWFzQXJyYXkodGhpc09iaiktPmluU3BhcnNlSW5kZXhp
bmdNb2RlKCkpIHsKKyAgICBpZiAodGhpc09iai0+Y2xhc3NJbmZvKCkgPT0gJkpTQXJyYXk6OnNf
aW5mbyAmJiAhYXNBcnJheSh0aGlzT2JqKS0+aW5TcGFyc2VJbmRleGluZ01vZGUoKSAmJiAhc2hv
dWxkVXNlU2xvd1B1dCh0aGlzT2JqLT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKSB7CiAg
ICAgICAgIGlmIChpc051bWVyaWNDb21wYXJlRnVuY3Rpb24oZXhlYywgY2FsbFR5cGUsIGNhbGxE
YXRhKSkKICAgICAgICAgICAgIGFzQXJyYXkodGhpc09iaiktPnNvcnROdW1lcmljKGV4ZWMsIGZ1
bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEpOwogICAgICAgICBlbHNlIGlmIChjYWxsVHlwZSAh
PSBDYWxsVHlwZU5vbmUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRl
eGluZ1R5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9J
bmRleGluZ1R5cGUuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSW5kZXhpbmdUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDI4ICszMyw2NSBA
QCB0eXBlZGVmIHVpbnQ4X3QgSW5kZXhpbmdUeXBlOwogLy8gRmxhZ3MgZm9yIHRlc3RpbmcgdGhl
IHByZXNlbmNlIG9mIGNhcGFiaWxpdGllcy4KIHN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgSXNB
cnJheSAgICAgICAgICAgICAgICAgID0gMTsKIHN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgSGFz
QXJyYXlTdG9yYWdlICAgICAgICAgID0gODsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgSGFz
U2xvd1B1dEFycmF5U3RvcmFnZSAgID0gMTY7CiAKIC8vIEFkZGl0aW9uYWwgZmxhZ3MgZm9yIHRy
YWNraW5nIHRoZSBoaXN0b3J5IG9mIHRoZSB0eXBlLiBUaGVzZSBhcmUgdXN1YWxseQogLy8gbWFz
a2VkIG9mZiB1bmxlc3MgeW91IGFzayBmb3IgdGhlbSBkaXJlY3RseS4KLXN0YXRpYyBjb25zdCBJ
bmRleGluZ1R5cGUgSGFkQXJyYXlTdG9yYWdlICAgICAgICAgID0gMTY7IC8vIE1lYW5zIHRoYXQg
dGhpcyBvYmplY3QgZGlkIGhhdmUgYXJyYXkgc3RvcmFnZSBpbiB0aGUgcGFzdC4KK3N0YXRpYyBj
b25zdCBJbmRleGluZ1R5cGUgSGFkQXJyYXlTdG9yYWdlICAgICAgICAgID0gMzI7IC8vIE1lYW5z
IHRoYXQgdGhpcyBvYmplY3QgZGlkIGhhdmUgYXJyYXkgc3RvcmFnZSBpbiB0aGUgcGFzdC4KK3N0
YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMgID0gNjQ7CiAK
IC8vIExpc3Qgb2YgYWNjZXB0YWJsZSBhcnJheSB0eXBlcy4KLXN0YXRpYyBjb25zdCBJbmRleGlu
Z1R5cGUgTm9uQXJyYXkgICAgICAgICAgICAgICAgID0gMDsKLXN0YXRpYyBjb25zdCBJbmRleGlu
Z1R5cGUgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlID0gSGFzQXJyYXlTdG9yYWdlOwotc3RhdGlj
IGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheUNsYXNzICAgICAgICAgICAgICAgPSBJc0FycmF5OyAv
LyBJJ2Qgd2FudCB0byBjYWxsIHRoaXMgIkFycmF5IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRp
c2FzdHJvdXMgbmFtZXNwYWNlIHBvbGx1dGlvbi4KLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUg
QXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgID0gSXNBcnJheSB8IEhhc0FycmF5U3RvcmFnZTsKK3N0
YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJyYXkgICAgICAgICAgICAgICAgICAgICAgICA9
IDA7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZSAg
ICAgICAgPSBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFy
cmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UgPSBIYXNTbG93UHV0QXJyYXlTdG9yYWdlOworc3Rh
dGljIGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheUNsYXNzICAgICAgICAgICAgICAgICAgICAgID0g
SXNBcnJheTsgLy8gSSdkIHdhbnQgdG8gY2FsbCB0aGlzICJBcnJheSIgYnV0IHRoaXMgd291bGQg
bGVhZCB0byBkaXNhc3Ryb3VzIG5hbWVzcGFjZSBwb2xsdXRpb24uCitzdGF0aWMgY29uc3QgSW5k
ZXhpbmdUeXBlIEFycmF5V2l0aEFycmF5U3RvcmFnZSAgICAgICAgICAgPSBJc0FycmF5IHwgSGFz
QXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhTbG93UHV0
QXJyYXlTdG9yYWdlICAgID0gSXNBcnJheSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2U7CisKKyNk
ZWZpbmUgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTIFwKKyAgICBOb25BcnJheTogICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5Q2xhc3MKKworI2RlZmluZSBBUlJBWV9XSVRIX0FS
UkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMgXAorICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZTog
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3Rv
cmFnZQorICAgIAorI2RlZmluZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyAgICAg
ICAgICAgICAgICBcCisgICAgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6
ICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTCiAKLS8vIE1hc2sgb2YgYWxsIHBvc3NpYmxlIHR5cGVzLgotc3RhdGljIGNvbnN0
IEluZGV4aW5nVHlwZSBBbGxBcnJheVR5cGVzICAgICAgICAgICAgPSAxNTsKK3N0YXRpYyBpbmxp
bmUgYm9vbCBoYXNJbmRleGVkUHJvcGVydGllcyhJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQor
eworICAgIHN3aXRjaCAoaW5kZXhpbmdUeXBlKSB7CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJ
TkdfVFlQRVM6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBkZWZhdWx0OgorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9Cit9CiAKLS8vIE1hc2sgb2YgYWxsIHBvc3NpYmxlIHR5cGVzIGlu
Y2x1ZGluZyB0aGUgaGlzdG9yeS4KLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQWxsQXJyYXlU
eXBlc0FuZEhpc3RvcnkgID0gMzE7CitzdGF0aWMgaW5saW5lIGJvb2wgaGFzSW5kZXhpbmdIZWFk
ZXIoSW5kZXhpbmdUeXBlIHR5cGUpCit7CisgICAgcmV0dXJuIGhhc0luZGV4ZWRQcm9wZXJ0aWVz
KHR5cGUpOworfQogCi1pbmxpbmUgYm9vbCBoYXNJbmRleGluZ0hlYWRlcihJbmRleGluZ1R5cGUg
dHlwZSkKK3N0YXRpYyBpbmxpbmUgYm9vbCBoYXNBcnJheVN0b3JhZ2UoSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSkKIHsKLSAgICByZXR1cm4gISEodHlwZSAmIEhhc0FycmF5U3RvcmFnZSk7Cisg
ICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZSAmIChIYXNBcnJheVN0b3JhZ2UgfCBIYXNTbG93UHV0
QXJyYXlTdG9yYWdlKSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGRVc2VTbG93UHV0
KEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUpCit7CisgICAgcmV0dXJuICEhKGluZGV4aW5nVHlw
ZSAmIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpOworfQorCisvLyBNYXNrIG9mIGFsbCBwb3NzaWJs
ZSB0eXBlcy4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQWxsQXJyYXlUeXBlcyAgICAgICAg
ICAgID0gMzE7CisKKy8vIE1hc2sgb2YgYWxsIHBvc3NpYmxlIHR5cGVzIGluY2x1ZGluZyB0aGUg
aGlzdG9yeS4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQWxsQXJyYXlUeXBlc0FuZEhpc3Rv
cnkgID0gMTI3OworCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEluZGV4aW5nVHlw
ZV9oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2
aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNCw3ICs0MDQsNyBAQCBKU1ZhbHVlIEpTQXJyYXk6OnBv
cChFeGVjU3RhdGUqIGV4ZWMpCiAgICAgY2FzZSBBcnJheUNsYXNzOgogICAgICAgICByZXR1cm4g
anNVbmRlZmluZWQoKTsKICAgICAgICAgCi0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6
IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewog
ICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCk7CiAgICAgCiAgICAgICAgIHVuc2lnbmVkIGxlbmd0aCA9IHN0b3JhZ2UtPmxlbmd0aCgpOwpA
QCAtNDY0LDYgKzQ2NCwxNiBAQCB2b2lkIEpTQXJyYXk6OnB1c2goRXhlY1N0YXRlKiBleGVjLCBK
U1ZhCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCisgICAgY2FzZSBBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlOiB7CisgICAgICAgIHVuc2lnbmVkIG9sZExlbmd0aCA9IGxlbmd0
aCgpOworICAgICAgICBpZiAoYXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVj
LCBvbGRMZW5ndGgsIHZhbHVlLCB0cnVlKSkgeworICAgICAgICAgICAgaWYgKCFleGVjLT5oYWRF
eGNlcHRpb24oKSAmJiBvbGRMZW5ndGggPCAweEZGRkZGRkZGdSkKKyAgICAgICAgICAgICAgICBz
ZXRMZW5ndGgoZXhlYywgb2xkTGVuZ3RoICsgMSwgdHJ1ZSk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgorICAgIH0KKyAgICAgICAgCiAg
ICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBz
dG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogCkBAIC05MTcsNyArOTI3LDcg
QEAgdm9pZCBKU0FycmF5OjpmaWxsQXJnTGlzdChFeGVjU3RhdGUqIGV4ZQogICAgIGNhc2UgQXJy
YXlDbGFzczoKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOiB7CisgICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpOwogICAgICAgICAKICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiB2ZWN0
b3IgPSBzdG9yYWdlLT5tX3ZlY3RvcjsKQEAgLTk0Nyw3ICs5NTcsNyBAQCB2b2lkIEpTQXJyYXk6
OmNvcHlUb0FyZ3VtZW50cyhFeGVjU3RhdGUqCiAgICAgY2FzZSBBcnJheUNsYXNzOgogICAgICAg
ICByZXR1cm47CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7Cisg
ICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAg
ICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwog
ICAgICAgICB1bnNpZ25lZCBpID0gMDsKICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiB2
ZWN0b3IgPSBzdG9yYWdlLT5tX3ZlY3RvcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0FycmF5LmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsOSArNzgsOSBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBmaWxsQXJnTGlzdChFeGVjU3RhdGUqLCBNYXJrZWRB
cmd1bWVudEJ1ZmZlciYpOwogICAgICAgICB2b2lkIGNvcHlUb0FyZ3VtZW50cyhFeGVjU3RhdGUq
LCBDYWxsRnJhbWUqLCB1aW50MzJfdCBsZW5ndGgpOwogCi0gICAgICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90eXBlKQorICAgICAgICBzdGF0aWMgU3Ry
dWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSwgSW5kZXhpbmdUeXBlIGlu
ZGV4aW5nVHlwZSkKICAgICAgICAgewotICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RU
eXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8sIEFycmF5V2l0aEFycmF5U3RvcmFnZSk7Cisg
ICAgICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2Jq
ZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNf
aW5mbywgaW5kZXhpbmdUeXBlKTsKICAgICAgICAgfQogICAgICAgICAKICAgICBwcm90ZWN0ZWQ6
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQCBz
dGF0aWMgY29uc3QgaW50IHByZWZlcnJlZFNjcmlwdENoZWNrVGltCiBKU0dsb2JhbE9iamVjdDo6
SlNHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqIGdsb2JhbE9iamVjdE1ldGhvZFRh
YmxlKQogICAgIDogQmFzZShnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUsIDApCiAgICAgLCBtX21hc3F1
ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50KGFkb3B0UmVmKG5ldyBXYXRjaHBvaW50U2V0KElu
aXRpYWxpemVkV2F0Y2hpbmcpKSkKKyAgICAsIG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KGFk
b3B0UmVmKG5ldyBXYXRjaHBvaW50U2V0KEluaXRpYWxpemVkV2F0Y2hpbmcpKSkKICAgICAsIG1f
d2Vha1JhbmRvbShPcHRpb25zOjpmb3JjZVdlYWtSYW5kb21TZWVkKCkgPyBPcHRpb25zOjpmb3Jj
ZWRXZWFrUmFuZG9tU2VlZCgpIDogc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHJhbmRvbU51bWJlcigp
ICogKHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSArIDEuMCkpKQogICAgICwg
bV9ldmFsRW5hYmxlZCh0cnVlKQogICAgICwgbV9nbG9iYWxPYmplY3RNZXRob2RUYWJsZShnbG9i
YWxPYmplY3RNZXRob2RUYWJsZSA/IGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlIDogJnNfZ2xvYmFs
T2JqZWN0TWV0aG9kVGFibGUpCkBAIC0yMzAsNyArMjMxLDggQEAgdm9pZCBKU0dsb2JhbE9iamVj
dDo6cmVzZXQoSlNWYWx1ZSBwcm90bwogICAgIG1fY2FsbGJhY2tPYmplY3RTdHJ1Y3R1cmUuc2V0
KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNDYWxsYmFja09iamVjdDxKU05vbkZpbmFsT2Jq
ZWN0Pjo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9vYmplY3RQ
cm90b3R5cGUuZ2V0KCkpKTsKIAogICAgIG1fYXJyYXlQcm90b3R5cGUuc2V0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgdGhpcywgQXJyYXlQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBBcnJheVBy
b3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9vYmpl
Y3RQcm90b3R5cGUuZ2V0KCkpKSk7Ci0gICAgbV9hcnJheVN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xv
YmFsRGF0YSgpLCB0aGlzLCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKSk7CisgICAgbV9hcnJheVN0cnVjdHVy
ZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX2FycmF5UHJvdG90eXBlLmdldCgpLCBBcnJheVdp
dGhBcnJheVN0b3JhZ2UpKTsKKyAgICBtX2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dC5zZXQoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU0FycmF5OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xv
YmFsRGF0YSgpLCB0aGlzLCBtX2FycmF5UHJvdG90eXBlLmdldCgpLCBBcnJheVdpdGhTbG93UHV0
QXJyYXlTdG9yYWdlKSk7CiAgICAgbV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUuc2V0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgUmVnRXhwTWF0Y2hlc0FycmF5OjpjcmVhdGVTdHJ1Y3R1
cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX2FycmF5UHJvdG90eXBlLmdldCgpKSk7CiAK
ICAgICBtX3N0cmluZ1Byb3RvdHlwZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBTdHJp
bmdQcm90b3R5cGU6OmNyZWF0ZShleGVjLCB0aGlzLCBTdHJpbmdQcm90b3R5cGU6OmNyZWF0ZVN0
cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgp
KSkpOwpAQCAtMzI5LDYgKzMzMSw4MiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1Zh
bHVlIHByb3RvCiAgICAgcmVzZXRQcm90b3R5cGUoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm90b3R5
cGUpOwogfQogCisvLyBQcml2YXRlIG5hbWVzcGFjZSBmb3IgaGVscGVycyBmb3IgSlNHbG9iYWxP
YmplY3Q6OmhhdmVBQmFkVGltZSgpCituYW1lc3BhY2UgeworCitjbGFzcyBPYmplY3RzV2l0aEJy
b2tlbkluZGV4aW5nRmluZGVyIDogcHVibGljIE1hcmtlZEJsb2NrOjpWb2lkRnVuY3RvciB7Citw
dWJsaWM6CisgICAgT2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcihNYXJrZWRBcmd1bWVu
dEJ1ZmZlciYsIEpTR2xvYmFsT2JqZWN0Kik7CisgICAgdm9pZCBvcGVyYXRvcigpKEpTQ2VsbCop
OworCitwcml2YXRlOgorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBtX2ZvdW5kT2JqZWN0czsK
KyAgICBKU0dsb2JhbE9iamVjdCogbV9nbG9iYWxPYmplY3Q7Cit9OworCitPYmplY3RzV2l0aEJy
b2tlbkluZGV4aW5nRmluZGVyOjpPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5nRmluZGVyKAorICAg
IE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBmb3VuZE9iamVjdHMsIEpTR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QpCisgICAgOiBtX2ZvdW5kT2JqZWN0cyhmb3VuZE9iamVjdHMpCisgICAgLCBtX2ds
b2JhbE9iamVjdChnbG9iYWxPYmplY3QpCit7Cit9CisKK2lubGluZSBib29sIGhhc0Jyb2tlbklu
ZGV4aW5nKEpTT2JqZWN0KiBvYmplY3QpCit7CisgICAgLy8gVGhpcyB3aWxsIGNoYW5nZSBpZiB3
ZSBoYXZlIG1vcmUgaW5kZXhpbmcgdHlwZXMuCisgICAgcmV0dXJuICEhKG9iamVjdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpICYgSGFzQXJyYXlTdG9yYWdlKTsKK30KKwordm9pZCBPYmpl
Y3RzV2l0aEJyb2tlbkluZGV4aW5nRmluZGVyOjpvcGVyYXRvcigpKEpTQ2VsbCogY2VsbCkKK3sK
KyAgICBpZiAoIWNlbGwtPmlzT2JqZWN0KCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBK
U09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoY2VsbCk7CisgICAgCisgICAgLy8gV2Ugb25seSB3
YW50IHRvIGhhdmUgYSBiYWQgdGltZSBpbiB0aGUgYWZmZWN0ZWQgZ2xvYmFsIG9iamVjdCwgbm90
IGluIHRoZSBlbnRpcmUKKyAgICAvLyBWTS4KKyAgICBpZiAob2JqZWN0LT5nbG9iYWxPYmplY3Qo
KSAhPSBtX2dsb2JhbE9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmICghaGFz
QnJva2VuSW5kZXhpbmcob2JqZWN0KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fZm91
bmRPYmplY3RzLmFwcGVuZChvYmplY3QpOworfQorCit9IC8vIGVuZCBwcml2YXRlIG5hbWVzcGFj
ZSBmb3IgaGVscGVycyBmb3IgSlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSgpCisKK3ZvaWQg
SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7
CisgICAgQVNTRVJUKCZnbG9iYWxEYXRhID09ICZ0aGlzLT5nbG9iYWxEYXRhKCkpOworICAgIAor
ICAgIGlmIChpc0hhdmluZ0FCYWRUaW1lKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICAv
LyBNYWtlIHN1cmUgdGhhdCBhbGwgYWxsb2NhdGlvbnMgb3IgaW5kZXhlZCBzdG9yYWdlIHRyYW5z
aXRpb25zIHRoYXQgYXJlIGlubGluaW5nCisgICAgLy8gdGhlIGFzc3VtcHRpb24gdGhhdCBpdCdz
IHNhZmUgdG8gdHJhbnNpdGlvbiB0byBhIG5vbi1TbG93UHV0IGFycmF5IHN0b3JhZ2UgZG9uJ3QK
KyAgICAvLyBkbyBzbyBhbnltb3JlLgorICAgIG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50LT5u
b3RpZnlXcml0ZSgpOworICAgIEFTU0VSVChpc0hhdmluZ0FCYWRUaW1lKCkpOyAvLyBUaGUgd2F0
Y2hwb2ludCBpcyB3aGF0IHRlbGxzIHVzIHRoYXQgd2UncmUgaGF2aW5nIGEgYmFkIHRpbWUuCisg
ICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIEpTQXJyYXkgYWxsb2NhdGlvbnMgdGhhdCBs
b2FkIHRoZSBhcHByb3ByaWF0ZSBzdHJ1Y3R1cmUgZnJvbQorICAgIC8vIHRoaXMgb2JqZWN0IG5v
dyBsb2FkIGEgc3RydWN0dXJlIHRoYXQgdXNlcyBTbG93UHV0LgorICAgIG1fYXJyYXlTdHJ1Y3R1
cmUuc2V0KGdsb2JhbERhdGEsIHRoaXMsIG1fYXJyYXlTdHJ1Y3R1cmVGb3JTbG93UHV0LmdldCgp
KTsKKyAgICAKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCBhbGwgb2JqZWN0cyB0aGF0IGhhdmUgaW5k
ZXhlZCBzdG9yYWdlIHN3aXRjaCB0byB0aGUgc2xvdyBraW5kIG9mCisgICAgLy8gaW5kZXhlZCBz
dG9yYWdlLgorICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGZvdW5kT2JqZWN0czsgLy8gVXNlIE1h
cmtlZEFyZ3VtZW50QnVmZmVyIGJlY2F1c2Ugc3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKCkg
bWF5IEdDLgorICAgIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIgZmluZGVyKGZvdW5k
T2JqZWN0cywgdGhpcyk7CisgICAgZ2xvYmFsRGF0YS5oZWFwLm9iamVjdFNwYWNlKCkuZm9yRWFj
aExpdmVDZWxsKGZpbmRlcik7CisgICAgd2hpbGUgKCFmb3VuZE9iamVjdHMuaXNFbXB0eSgpKSB7
CisgICAgICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChmb3VuZE9iamVjdHMubGFzdCgp
KTsKKyAgICAgICAgZm91bmRPYmplY3RzLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgQVNTRVJUKGhh
c0Jyb2tlbkluZGV4aW5nKG9iamVjdCkpOworICAgICAgICBvYmplY3QtPnN3aXRjaFRvU2xvd1B1
dEFycmF5U3RvcmFnZShnbG9iYWxEYXRhKTsKKyAgICB9Cit9CisKIHZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OmNyZWF0ZVRocm93VHlwZUVycm9yKEV4ZWNTdGF0ZSogZXhlYykKIHsKICAgICBKU0Z1bmN0
aW9uKiB0aHJvd2VyID0gSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMsIHRoaXMsIDAsIFN0cmluZygp
LCBnbG9iYWxGdW5jVGhyb3dUeXBlRXJyb3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjYsNyArMTI2LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fYWN0aXZhdGlvblN0cnVjdHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9uYW1lU2NvcGVTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fYXJndW1lbnRzU3RydWN0dXJlOwotICAgICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX2FycmF5U3RydWN0dXJlOworICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJl
PiBtX2FycmF5U3RydWN0dXJlOyAvLyBUaGlzIGdldHMgc2V0IHRvIG1fYXJyYXlTdHJ1Y3R1cmVG
b3JTbG93UHV0IGFzIHNvb24gYXMgd2UgZGVjaWRlIHRvIGhhdmUgYSBiYWQgdGltZS4KKyAgICAg
ICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQ7CiAg
ICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYm9vbGVhbk9iamVjdFN0cnVjdHVyZTsK
ICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsYmFja0NvbnN0cnVjdG9yU3Ry
dWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxiYWNrRnVuY3Rp
b25TdHJ1Y3R1cmU7CkBAIC0xNDksNiArMTUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IERlYnVnZ2VyKiBtX2RlYnVnZ2VyOwogCiAgICAgICAgIFJlZlB0cjxXYXRjaHBvaW50U2V0PiBt
X21hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50OworICAgICAgICBSZWZQdHI8V2F0Y2hw
b2ludFNldD4gbV9oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQ7CiAKICAgICAgICAgT3duUHRyPEpT
R2xvYmFsT2JqZWN0UmFyZURhdGE+IG1fcmFyZURhdGE7CiAKQEAgLTI2MCw2ICsyNjIsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3RydWN0dXJlKiBuYW1lU2NvcGVTdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX25hbWVTY29wZVN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1
Y3R1cmUqIGFyZ3VtZW50c1N0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJndW1lbnRzU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgICAgIFN0cnVjdHVyZSogYXJyYXlTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX2FycmF5U3RydWN0dXJlLmdldCgpOyB9CisgICAgICAgIHZvaWQqIGFkZHJl
c3NPZkFycmF5U3RydWN0dXJlKCkgeyByZXR1cm4gJm1fYXJyYXlTdHJ1Y3R1cmU7IH0KICAgICAg
ICAgU3RydWN0dXJlKiBib29sZWFuT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9i
b29sZWFuT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CiAgICAgICAgIFN0cnVjdHVyZSogY2FsbGJh
Y2tDb25zdHJ1Y3RvclN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbGJhY2tDb25zdHJ1
Y3RvclN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGNhbGxiYWNrRnVuY3Rp
b25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxiYWNrRnVuY3Rpb25TdHJ1Y3R1cmUu
Z2V0KCk7IH0KQEAgLTI4MCw2ICsyODMsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0
cnVjdHVyZSogc3RyaW5nT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpbmdP
YmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KIAogICAgICAgICBXYXRjaHBvaW50U2V0KiBtYXNxdWVy
YWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludCgpIHsgcmV0dXJuIG1fbWFzcXVlcmFkZXNBc1VuZGVm
aW5lZFdhdGNocG9pbnQuZ2V0KCk7IH0KKyAgICAgICAgV2F0Y2hwb2ludFNldCogaGF2aW5nQUJh
ZFRpbWVXYXRjaHBvaW50KCkgeyByZXR1cm4gbV9oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQuZ2V0
KCk7IH0KKyAgICAgICAgCisgICAgICAgIGJvb2wgaXNIYXZpbmdBQmFkVGltZSgpIGNvbnN0Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludC0+
aGFzQmVlbkludmFsaWRhdGVkKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZvaWQg
aGF2ZUFCYWRUaW1lKEpTR2xvYmFsRGF0YSYpOwogCiAgICAgICAgIHZvaWQgc2V0UHJvZmlsZUdy
b3VwKHVuc2lnbmVkIHZhbHVlKSB7IGNyZWF0ZVJhcmVEYXRhSWZOZWVkZWQoKTsgbV9yYXJlRGF0
YS0+cHJvZmlsZUdyb3VwID0gdmFsdWU7IH0KICAgICAgICAgdW5zaWduZWQgcHJvZmlsZUdyb3Vw
KCkgY29uc3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5j
cHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDggKzEzMiw3IEBAIEFMV0FZU19JTkxJ
TkUgdm9pZCBKU09iamVjdDo6dmlzaXRCdXR0ZXIKICAgICAgICAgICAgIAogICAgICAgICAgICAg
Ly8gTWFyayBhbmQgY29weSB0aGUgYXJyYXkgaWYgYXBwcm9wcmlhdGUuCiAgICAgICAgICAgICBz
d2l0Y2ggKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6IHsKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVM6IHsKICAgICAgICAgICAgICAgICBuZXdCdXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5jb3B5
SGVhZGVyRnJvbUR1cmluZ0dDKCpidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpKTsKICAgICAgICAg
ICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4qIGN1cnJlbnRUYXJnZXQgPSBuZXdCdXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcjsKICAgICAgICAgICAgICAgICBXcml0ZUJhcnJp
ZXI8VW5rbm93bj4qIGN1cnJlbnRTb3VyY2UgPSBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5t
X3ZlY3RvcjsKQEAgLTE1OSw4ICsxNTgsNyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSlNPYmplY3Q6
OnZpc2l0QnV0dGVyCiAgICAgICAgIAogICAgICAgICAvLyBNYXJrIHRoZSBhcnJheSBpZiBhcHBy
b3ByaWF0ZS4KICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSB7Ci0g
ICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICBjYXNlIE5vbkFycmF5
V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElO
R19UWVBFUzoKICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5kVmFsdWVzKGJ1dHRlcmZseS0+YXJy
YXlTdG9yYWdlKCktPm1fdmVjdG9yLCBidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JM
ZW5ndGgoKSk7CiAgICAgICAgICAgICBpZiAoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9z
cGFyc2VNYXApCiAgICAgICAgICAgICAgICAgdmlzaXRvci5hcHBlbmQoJmJ1dHRlcmZseS0+YXJy
YXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwKTsKQEAgLTIzMywxMiArMjMxLDEwIEBAIGJvb2wgSlNP
YmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgKICAgICAgICAgcmV0dXJuIHRoaXNPYmpl
Y3QtPm1ldGhvZFRhYmxlKCktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBJ
ZGVudGlmaWVyOjpmcm9tKGV4ZWMsIGkpLCBzbG90KTsKICAgICAKICAgICBzd2l0Y2ggKHRoaXNP
YmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6
Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICBicmVhazsKICAgICAgICAgCi0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFMTF9B
UlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3Rv
cmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAg
aWYgKGkgPj0gc3RvcmFnZS0+bGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0zMDAsNyArMjk2LDcgQEAgdm9pZCBKU09iamVjdDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0
YQogICAgICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwogICAgICAgICBKU0NlbGwqIHNwZWNpZmlj
VmFsdWU7CiAgICAgICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IG9iai0+c3RydWN0dXJlKCkt
PmdldChnbG9iYWxEYXRhLCBwcm9wZXJ0eU5hbWUsIGF0dHJpYnV0ZXMsIHNwZWNpZmljVmFsdWUp
OwotICAgICAgICBpZiAob2Zmc2V0ICE9IGludmFsaWRPZmZzZXQpIHsKKyAgICAgICAgaWYgKGlz
VmFsaWRPZmZzZXQob2Zmc2V0KSkgewogICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFk
T25seSkgewogICAgICAgICAgICAgICAgIGlmIChzbG90LmlzU3RyaWN0TW9kZSgpKQogICAgICAg
ICAgICAgICAgICAgICB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZVR5cGVFcnJvcihleGVjLCBBU0NJ
SUxpdGVyYWwoU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKSkpOwpAQCAtMzUz
LDggKzM0OSw3IEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXgoSlNDZWxsKiBjZWxsLCAKICAg
ICB9CiAgICAgCiAgICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAog
ICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgpAQCAtMzgwLDYgKzM3NSwzNCBAQCB2
b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFn
ZToKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgQXJy
YXlTdG9yYWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpOworICAgICAgICAKKyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA+PSBzdG9yYWdlLT52ZWN0
b3JMZW5ndGgoKSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICAKKyAgICAgICAgV3JpdGVC
YXJyaWVyPFVua25vd24+JiB2YWx1ZVNsb3QgPSBzdG9yYWdlLT5tX3ZlY3Rvcltwcm9wZXJ0eU5h
bWVdOworICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdG9yYWdlLT5sZW5ndGgoKTsKKyAgICAg
ICAgCisgICAgICAgIC8vIFVwZGF0ZSBsZW5ndGggJiBtX251bVZhbHVlc0luVmVjdG9yIGFzIG5l
Y2Vzc2FyeS4KKyAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA+PSBsZW5ndGgpIHsKKyAgICAgICAg
ICAgIGlmICh0aGlzT2JqZWN0LT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKGV4
ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICBsZW5ndGggPSBwcm9wZXJ0eU5hbWUgKyAxOworICAgICAgICAg
ICAgc3RvcmFnZS0+c2V0TGVuZ3RoKGxlbmd0aCk7CisgICAgICAgICAgICArK3N0b3JhZ2UtPm1f
bnVtVmFsdWVzSW5WZWN0b3I7CisgICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlU2xvdCkgeworICAg
ICAgICAgICAgaWYgKHRoaXNPYmplY3QtPmF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhv
bGUoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkVGhyb3cpKQorICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICsrc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcjsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFsdWVTbG90LnNldChleGVjLT5nbG9iYWxE
YXRhKCksIHRoaXNPYmplY3QsIHZhbHVlKTsKKyAgICAgICAgdGhpc09iamVjdC0+Y2hlY2tJbmRl
eGluZ0NvbnNpc3RlbmN5KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgICAgIAogICAg
IGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KQEAgLTQyNCw4
ICs0NDcsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJCiB2b2lk
IEpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQogewogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0g
ICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJh
eVN0b3JhZ2U6CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlV2hlbkFycmF5U3RvcmFnZUFscmVhZHlF
eGlzdHMoZ2xvYmFsRGF0YSwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpKTsKICAgICAgICAg
YnJlYWs7CiAgICAgICAgIApAQCAtNDM0LDEwICs0NTYsMjMgQEAgdm9pZCBKU09iamVjdDo6ZW50
ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNbwogICAgIH0KIH0KIAordm9pZCBKU09iamVjdDo6bm90aWZ5
UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQorewor
ICAgIGlmIChtYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5
VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgQWRkSW5kZXhlZEFjY2Vzc29ycykp
OworICAgIAorICAgIGlmICghbWF5QmVVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBnbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKGdsb2Jh
bERhdGEpOworfQorCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhZ2Uo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBsZW5ndGgsIHVuc2lnbmVkIHZlY3Rv
ckxlbmd0aCkKIHsKICAgICBJbmRleGluZ1R5cGUgb2xkVHlwZSA9IHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKTsKLSAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUsIG9sZFR5cGUgPT0gTm9uQXJy
YXkgfHwgb2xkVHlwZSA9PSBBcnJheUNsYXNzKTsKKyAgICBBU1NFUlRfVU5VU0VEKG9sZFR5cGUs
ICFoYXNJbmRleGVkUHJvcGVydGllcyhvbGRUeXBlKSk7CiAgICAgQnV0dGVyZmx5KiBuZXdCdXR0
ZXJmbHkgPSBtX2J1dHRlcmZseS0+Z3Jvd0FycmF5UmlnaHQoCiAgICAgICAgIGdsb2JhbERhdGEs
IHN0cnVjdHVyZSgpLCBzdHJ1Y3R1cmUoKS0+b3V0T2ZMaW5lQ2FwYWNpdHkoKSwgZmFsc2UsIDAs
CiAgICAgICAgIEFycmF5U3RvcmFnZTo6c2l6ZUZvcih2ZWN0b3JMZW5ndGgpKTsKQEAgLTQ1Myw3
ICs0ODgsNyBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjpjcmVhdGVBcnJheVN0b3JhCiAgICAg
cmVzdWx0LT5tX2luaXRpYWxpemF0aW9uSW5kZXggPSAwOwogICAgIHJlc3VsdC0+bV9pbkNvbXBh
Y3RJbml0aWFsaXphdGlvbiA9IDA7CiAjZW5kaWYKLSAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVy
ZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSgpLCBBbGxvY2F0ZUFycmF5U3RvcmFnZSk7CisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUo
KSwgc3RydWN0dXJlKCktPnN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigpKTsKICAgICBzZXRC
dXR0ZXJmbHkoZ2xvYmFsRGF0YSwgbmV3QnV0dGVyZmx5LCBuZXdTdHJ1Y3R1cmUpOwogICAgIHJl
dHVybiByZXN1bHQ7CiB9CkBAIC00NjYsMTIgKzUwMSwxMCBAQCBBcnJheVN0b3JhZ2UqIEpTT2Jq
ZWN0OjpjcmVhdGVJbml0aWFsQXJyCiBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJh
eVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQogewogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSB7Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBF
UzoKICAgICAgICAgcmV0dXJuIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJheVN0
b3JhZ2VBbHJlYWR5RXhpc3RzKGdsb2JhbERhdGEsIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KSk7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlDbGFzczoKLSAgICBjYXNlIE5vbkFycmF5OiB7
CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgY3JlYXRlQXJy
YXlTdG9yYWdlKGdsb2JhbERhdGEsIDAsIDApOwogICAgICAgICBTcGFyc2VBcnJheVZhbHVlTWFw
KiBtYXAgPSBhbGxvY2F0ZVNwYXJzZUluZGV4TWFwKGdsb2JhbERhdGEpOwogICAgICAgICBtYXAt
PnNldFNwYXJzZU1vZGUoKTsKQEAgLTQ4NCw2ICs1MTcsMjIgQEAgQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6ZW5zdXJlQXJyYXlTdG9yYQogICAgIH0KIH0KIAordm9pZCBKU09iamVjdDo6c3dpdGNo
VG9TbG93UHV0QXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBz
d2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgeworICAgIGNhc2UgTm9uQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAg
ICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5z
aXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFn
ZSk7CisgICAgICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworICAg
ICAgICBicmVhazsKKyAgICB9CisgICAgICAgIAorICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKIHZvaWQgSlNPYmpl
Y3Q6OnB1dERpcmVjdFZpcnR1YWwoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1
dGVzKQogewogICAgIEFTU0VSVCghdmFsdWUuaXNHZXR0ZXJTZXR0ZXIoKSAmJiAhKGF0dHJpYnV0
ZXMgJiBBY2Nlc3NvcikpOwpAQCAtNDkxLDYgKzU0MCwzMyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRE
aXJlY3RWaXJ0dWFsKEpTT2JqZWN0CiAgICAgb2JqZWN0LT5wdXREaXJlY3RJbnRlcm5hbDxQdXRN
b2RlRGVmaW5lT3duUHJvcGVydHk+KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lLCB2
YWx1ZSwgYXR0cmlidXRlcywgc2xvdCwgZ2V0Q2FsbGFibGVPYmplY3QodmFsdWUpKTsKIH0KIAor
dm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNW
YWx1ZSBwcm90b3R5cGUpCit7CisgICAgQVNTRVJUKHByb3RvdHlwZSk7CisgICAgaWYgKHByb3Rv
dHlwZS5pc09iamVjdCgpKQorICAgICAgICBhc09iamVjdChwcm90b3R5cGUpLT5ub3RpZnlVc2Vk
QXNQcm90b3R5cGUoZ2xvYmFsRGF0YSk7CisgICAgCisgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1
cmUgPSBTdHJ1Y3R1cmU6OmNoYW5nZVByb3RvdHlwZVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3Ry
dWN0dXJlKCksIHByb3RvdHlwZSk7CisgICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIG5ld1N0
cnVjdHVyZSk7CisgICAgCisgICAgaWYgKCFuZXdTdHJ1Y3R1cmUtPmFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IGlmIChtYXlCZVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKSkgeworICAgICAgICBuZXdTdHJ1
Y3R1cmUtPmdsb2JhbE9iamVjdCgpLT5oYXZlQUJhZFRpbWUoZ2xvYmFsRGF0YSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgCisgICAgaWYgKCFoYXNJbmRleGluZ0hlYWRlcihzdHJ1Y3R1
cmUoKS0+aW5kZXhpbmdUeXBlKCkpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKHNo
b3VsZFVzZVNsb3dQdXQoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKGdsb2JhbERhdGEsIG5ld1N0cnVjdHVyZSwgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9y
YWdlKTsKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlKTsKK30KKwog
Ym9vbCBKU09iamVjdDo6c2V0UHJvdG90eXBlV2l0aEN5Y2xlQ2hlY2soSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKIHsKICAgICBKU1ZhbHVlIGNoZWNrRm9yID0g
dGhpczsKQEAgLTUwNyw2ICs1ODMsMjkgQEAgYm9vbCBKU09iamVjdDo6c2V0UHJvdG90eXBlV2l0
aEN5Y2xlQ2hlYwogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEpTT2JqZWN0OjpyZXNldElu
aGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhl
cml0b3JJREtleSk7CisgICAgaWYgKCFpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBwdXREaXJlY3RPZmZzZXQoZ2xvYmFsRGF0YSwgb2Zmc2V0LCBqc1Vu
ZGVmaW5lZCgpKTsKK30KKworU3RydWN0dXJlKiBKU09iamVjdDo6aW5oZXJpdG9ySUQoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQoreworICAgIGlmIChXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+
KiBsb2NhdGlvbiA9IGdldERpcmVjdExvY2F0aW9uKGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9p
bmhlcml0b3JJREtleSkpIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGxvY2F0aW9uLT5nZXQo
KTsKKyAgICAgICAgaWYgKHZhbHVlLmlzQ2VsbCgpKSB7CisgICAgICAgICAgICBTdHJ1Y3R1cmUq
IGluaGVyaXRvcklEID0ganNDYXN0PFN0cnVjdHVyZSo+KHZhbHVlKTsKKyAgICAgICAgICAgIEFT
U0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKKyAgICAgICAgICAgIHJldHVybiBpbmhlcml0
b3JJRDsKKyAgICAgICAgfQorICAgICAgICBBU1NFUlQodmFsdWUuaXNVbmRlZmluZWQoKSk7Cisg
ICAgfQorICAgIHJldHVybiBjcmVhdGVJbmhlcml0b3JJRChnbG9iYWxEYXRhKTsKK30KKwogYm9v
bCBKU09iamVjdDo6YWxsb3dzQWNjZXNzRnJvbShFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IGlzR2xvYmFsVGhpcygpID8ganNDYXN0PEpTR2xv
YmFsVGhpcyo+KHRoaXMpLT51bndyYXBwZWRPYmplY3QoKSA6IHRoaXMtPmdsb2JhbE9iamVjdCgp
OwpAQCAtNTk2LDEyICs2OTUsMTAgQEAgYm9vbCBKU09iamVjdDo6ZGVsZXRlUHJvcGVydHlCeUlu
ZGV4KEpTQwogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+ZGVsZXRl
UHJvcGVydHkodGhpc09iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSk7CiAg
ICAgCiAgICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkp
IHsKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAgY2FzZSBOb25BcnJheToKKyAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAot
ICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzog
ewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2JqZWN0LT5tX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBpZiAoaSA8IHN0b3JhZ2UtPnZl
Y3Rvckxlbmd0aCgpKSB7CkBAIC03NjEsMTIgKzg1OCwxMCBAQCB2b2lkIEpTT2JqZWN0OjpnZXRP
d25Qcm9wZXJ0eU5hbWVzKEpTT2JqCiAgICAgLy8gaXMgaW5jcmVkaWJseSBpbmVmZmljaWVudCBm
b3IgbGFyZ2UgYXJyYXlzLiBXZSBuZWVkIGEgZGlmZmVyZW50IGFwcHJvYWNoLAogICAgIC8vIHdo
aWNoIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnMgYSBkaWZmZXJlbnQgc3RydWN0dXJlIGZvciBQcm9w
ZXJ0eU5hbWVBcnJheS4KICAgICBzd2l0Y2ggKG9iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAg
Y2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAK
LSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6
IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gb2JqZWN0LT5tX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCB1c2VkVmVjdG9yTGVu
Z3RoID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgp
KTsKQEAgLTkxOSwxMCArMTAxNCwzNCBAQCBORVZFUl9JTkxJTkUgdm9pZCBKU09iamVjdDo6Zmls
bEdldHRlclByCiAgICAgICAgIHNsb3Quc2V0VW5kZWZpbmVkKCk7CiB9CiAKLVN0cnVjdHVyZSog
SlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3Zv
aWQgSlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZShKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEpCiB7Ci0gICAgQVNTRVJUKCFnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxE
YXRhLm1faW5oZXJpdG9ySURLZXkpKTsKKyAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBzdHJ1
Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSk7Cisg
ICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IFB1dFByb3BlcnR5U2xvdCBzbG90OworICAgIHB1dERpcmVjdEludGVybmFsPFB1dE1vZGVEZWZp
bmVPd25Qcm9wZXJ0eT4oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5LCBq
c1VuZGVmaW5lZCgpLCBEb250RW51bSwgc2xvdCwgMCk7CisgICAgCisgICAgLy8gTm90ZSB0aGF0
IHRoaXMgbWV0aG9kIG1ha2VzIHRoZSBzb21ld2hhdCBvZGQgZGVjaXNpb24gdG8gbm90IGNoZWNr
IGlmIHRoaXMKKyAgICAvLyBvYmplY3QgY3VycmVudGx5IGhhcyBpbmRleGVkIGFjY2Vzc29ycy4g
V2UgY291bGQgZG8gdGhhdCBjaGVjayBoZXJlLCBhbmQgaWYKKyAgICAvLyBpbmRleGVkIGFjY2Vz
c29ycyB3ZXJlIGZvdW5kLCB3ZSBjb3VsZCB0ZWxsIHRoZSBnbG9iYWwgb2JqZWN0IHRvIGhhdmUg
YSBiYWQKKyAgICAvLyB0aW1lLiBCdXQgd2UgYXZvaWQgdGhpcywgdG8gYWxsb3cgdGhlIGZvbGxv
d2luZyB0byBiZSBhbHdheXMgZmFzdDoKKyAgICAvLworICAgIC8vIDEpIENyZWF0ZSBhbiBvYmpl
Y3QuCisgICAgLy8gMikgR2l2ZSBpdCBhIHNldHRlciBvciByZWFkLW9ubHkgcHJvcGVydHkgdGhh
dCBoYXBwZW5zIHRvIGhhdmUgYSBudW1lcmljIG5hbWUuCisgICAgLy8gMykgQWxsb2NhdGUgb2Jq
ZWN0cyB0aGF0IHVzZSB0aGlzIG9iamVjdCBhcyBhIHByb3RvdHlwZS4KKyAgICAvLworICAgIC8v
IFRoaXMgYXZvaWRzIGFueW9uZSBoYXZpbmcgYSBiYWQgdGltZS4gRXZlbiBpZiB0aGUgaW5zdGFu
Y2Ugb2JqZWN0cyBlbmQgdXAKKyAgICAvLyBoYXZpbmcgaW5kZXhlZCBzdG9yYWdlLCB0aGUgY3Jl
YXRpb24gb2YgaW5kZXhlZCBzdG9yYWdlIGxlYWRzIHRvIGEgcHJvdG90eXBlCisgICAgLy8gY2hh
aW4gd2FsayB0aGF0IGRldGVjdHMgdGhlIHByZXNlbmNlIG9mIGluZGV4ZWQgc2V0dGVycyBhbmQg
dGhlbiBkb2VzIHRoZQorICAgIC8vIHJpZ2h0IHRoaW5nLiBBcyBhIHJlc3VsdCwgaGF2aW5nIGEg
YmFkIHRpbWUgb25seSBoYXBwZW5zIGlmIHlvdSBhZGQgYW4KKyAgICAvLyBpbmRleGVkIHNldHRl
ciAob3IgZ2V0dGVyLCBvciByZWFkLW9ubHkgZmllbGQpIHRvIGFuIG9iamVjdCB0aGF0IGlzIGFs
cmVhZHkKKyAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgorfQogCitTdHJ1Y3R1cmUqIEpTT2Jq
ZWN0OjpjcmVhdGVJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CiAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdDsKICAgICBpZiAoaXNHbG9iYWxUaGlzKCkpCiAg
ICAgICAgIGdsb2JhbE9iamVjdCA9IHN0YXRpY19jYXN0PEpTR2xvYmFsVGhpcyo+KHRoaXMpLT51
bndyYXBwZWRPYmplY3QoKTsKQEAgLTk4MCw2ICsxMDk5LDkgQEAgdm9pZCBKU09iamVjdDo6cHV0
SW5kZXhlZERlc2NyaXB0b3IoRXhlYwogYm9vbCBKU09iamVjdDo6ZGVmaW5lT3duSW5kZXhlZFBy
b3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5kZXgsIFByb3BlcnR5RGVzY3JpcHRv
ciYgZGVzY3JpcHRvciwgYm9vbCB0aHJvd0V4Y2VwdGlvbikKIHsKICAgICBBU1NFUlQoaW5kZXgg
IT0gMHhGRkZGRkZGRik7CisgICAgCisgICAgaWYgKGRlc2NyaXB0b3IuYXR0cmlidXRlcygpICYg
KFJlYWRPbmx5IHwgQWNjZXNzb3IpKQorICAgICAgICBub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFj
Y2Vzc29ycyhleGVjLT5nbG9iYWxEYXRhKCkpOwogCiAgICAgaWYgKCFpblNwYXJzZUluZGV4aW5n
TW9kZSgpKSB7CiAgICAgICAgIC8vIEZhc3QgY2FzZTogd2UncmUgcHV0dGluZyBhIHJlZ3VsYXIg
cHJvcGVydHkgdG8gYSByZWd1bGFyIGFycmF5CkBAIC0xMTA4LDYgKzEyMzAsMzUgQEAgdm9pZCBK
U09iamVjdDo6ZGVhbGxvY2F0ZVNwYXJzZUluZGV4TWFwKAogICAgICAgICBhcnJheVN0b3JhZ2Ut
Pm1fc3BhcnNlTWFwLmNsZWFyKCk7CiB9CiAKK2Jvb2wgSlNPYmplY3Q6OmF0dGVtcHRUb0ludGVy
Y2VwdFB1dEJ5SW5kZXhPbkhvbGUoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBKU1ZhbHVl
IHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAgIEFTU0VSVChzaG91bGRVc2VTbG93UHV0
KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOworICAgIAorICAgIGZvciAoU3RydWN0dXJl
KiBjdXJyZW50ID0gc3RydWN0dXJlKCk7IDspIHsKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGVW
YWx1ZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBpZiAocHJvdG90eXBl
VmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAg
ICAgICBKU09iamVjdCogcHJvdG90eXBlID0gYXNPYmplY3QocHJvdG90eXBlVmFsdWUpOworICAg
ICAgICAKKyAgICAgICAgLy8gVGhpcyBoYXMgdGhlIHNhbWUgYmVoYXZpb3Igd2l0aCByZXNwZWN0
IHRvIHByb3RvdHlwZXMgYXMgSlNPYmplY3Q6OnB1dCgpLiBJdCBvbmx5CisgICAgICAgIC8vIGFs
bG93cyBhIHByb3RvdHlwZSB0byBpbnRlcmNlcHQgYSBwdXQgaWYgKGEpIHRoZSBwcm90b3R5cGUg
ZGVjbGFyZXMgdGhlIHByb3BlcnR5CisgICAgICAgIC8vIHdlJ3JlIGFmdGVyIHJhdGhlciB0aGFu
IGludGVyY2VwdGluZyBpdCB2aWEgYW4gb3ZlcnJpZGUgb2YgSlNPYmplY3Q6OnB1dCgpLCBhbmQK
KyAgICAgICAgLy8gKGIpIHRoYXQgcHJvcGVydHkgaXMgZGVjbGFyZWQgYXMgUmVhZE9ubHkgb3Ig
QWNjZXNzb3IuCisgICAgICAgIAorICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBwcm90
b3R5cGUtPmFycmF5U3RvcmFnZU9yTnVsbCgpOworICAgICAgICBpZiAoc3RvcmFnZSAmJiBzdG9y
YWdlLT5tX3NwYXJzZU1hcCkgeworICAgICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6aXRl
cmF0b3IgaXRlciA9IHN0b3JhZ2UtPm1fc3BhcnNlTWFwLT5maW5kKGkpOworICAgICAgICAgICAg
aWYgKGl0ZXIgIT0gc3RvcmFnZS0+bV9zcGFyc2VNYXAtPm5vdEZvdW5kKCkgJiYgKGl0ZXItPnNl
Y29uZC5hdHRyaWJ1dGVzICYgKEFjY2Vzc29yIHwgUmVhZE9ubHkpKSkgeworICAgICAgICAgICAg
ICAgIGl0ZXItPnNlY29uZC5wdXQoZXhlYywgdGhpcywgc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0
KCksIHZhbHVlLCBzaG91bGRUaHJvdyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBwcm90
b3R5cGUtPnN0cnVjdHVyZSgpOworICAgIH0KK30KKwogdm9pZCBKU09iamVjdDo6cHV0QnlJbmRl
eEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoRXhlY1N0YXRlKiBleGVjLCB1bnNp
Z25lZCBpLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93LCBBcnJheVN0b3JhZ2UqIHN0
b3JhZ2UpCiB7CiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZXhlYy0+Z2xvYmFsRGF0
YSgpOwpAQCAtMTE4OCw4ICsxMzM5LDcgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9u
ZFZlY3RvckxlbgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJBWV9JTkRFWCk7CiAgICAgCiAgICAg
c3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5
OgotICAgIGNhc2UgQXJyYXlDbGFzczogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOiB7CiAgICAgICAgIGlmIChpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkpIHsKICAgICAgICAg
ICAgIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGks
IHZhbHVlLCBzaG91bGRUaHJvdywgZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0
aW9uYXJ5SW5kZXhpbmdNb2RlKGdsb2JhbERhdGEpKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
MTIwNCw2ICsxMzU0LDEyIEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JM
ZW4KICAgICAgICAgc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvciA9IDE7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KKyAgICAgICAgCisgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlT
dG9yYWdlOgorICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAg
aWYgKGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoZXhlYywgaSwgdmFsdWUsIHNo
b3VsZFRocm93KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgLy8gT3RoZXJ3aXNlLCBm
YWxsIHRob3VnaC4KIAogICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgIGNh
c2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgpAQCAtMTI5Niw5ICsxNDUyLDExIEBAIGJvb2wgSlNP
YmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG8KICAgICAvLyBpIHNob3VsZCBiZSBhIHZh
bGlkIGFycmF5IGluZGV4IHRoYXQgaXMgb3V0c2lkZSBvZiB0aGUgY3VycmVudCB2ZWN0b3IuCiAg
ICAgQVNTRVJUKGkgPD0gTUFYX0FSUkFZX0lOREVYKTsKICAgICAKKyAgICBpZiAoYXR0cmlidXRl
cyAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkKKyAgICAgICAgbm90aWZ5UHJlc2VuY2VPZkluZGV4
ZWRBY2Nlc3NvcnMoZ2xvYmFsRGF0YSk7CisgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFz
czogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGlmIChp
bmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwgYXR0cmlidXRlcykKICAgICAgICAgICAgIHJldHVy
biBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywg
aSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVu
dGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShnbG9iYWxEYXRhKSk7CiAgICAgICAgIGlmICghaXNE
ZW5zZUVub3VnaEZvclZlY3RvcihpLCAwKSB8fCBpID49IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5H
VEgpCkBAIC0xMzEwLDggKzE0NjgsNyBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJl
eW9uZFZlY3RvCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGNhc2UgTm9uQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAg
IGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBw
dXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwg
dmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGFycmF5U3RvcmFnZSgpKTsKICAgICAgICAgCiAgICAg
ZGVmYXVsdDoKQEAgLTEzNTMsMTMgKzE1MTAsMTEgQEAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCBK
U09iamVjdDo6Z2V0TmV3VgogICAgIHVuc2lnbmVkIGxlbmd0aDsKICAgICAKICAgICBzd2l0Y2gg
KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAg
Y2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAg
ICAgICB2ZWN0b3JMZW5ndGggPSAwOwogICAgICAgICBsZW5ndGggPSAwOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0
aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICB2ZWN0b3JMZW5ndGggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZl
Y3Rvckxlbmd0aCgpOwogICAgICAgICBsZW5ndGggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCktPmxlbmd0aCgpOwogICAgICAgICBicmVhazsKQEAgLTE0NzcsMTIgKzE2MzIsMTAgQEAgYm9v
bCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKAogICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgCiAgICAgc3dpdGNoIChvYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg
IAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBF
UzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgaWYgKGkgPj0gc3RvcmFnZS0+bGVuZ3RoKCkpCiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExOCw3ICsxMTgsMTggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgc2V0UHJvdG90eXBlV2l0aEN5Y2xlQ2hlY2so
SlNHbG9iYWxEYXRhJiwgSlNWYWx1ZSBwcm90b3R5cGUpOwogICAgICAgICAKICAgICAgICAgU3Ry
dWN0dXJlKiBpbmhlcml0b3JJRChKU0dsb2JhbERhdGEmKTsKLQorICAgICAgICB2b2lkIG5vdGlm
eVVzZWRBc1Byb3RvdHlwZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wg
bWF5QmVVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQorICAgICAgICB7
CisgICAgICAgICAgICByZXR1cm4gaXNWYWxpZE9mZnNldChzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2Jh
bERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBib29sIG1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCk7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0
ZSosIFByb3BlcnR5TmFtZSkgY29uc3Q7CiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSos
IHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29uc3Q7CiAKQEAgLTEzNSwxMSArMTQ2LDkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGdldEFycmF5TGVuZ3RoKCkgY29uc3QKICAg
ICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkp
IHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xh
c3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAg
ICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAg
IHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmxlbmd0aCgpOwogICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE1
MCwxMSArMTU5LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2lnbmVkIGdldFZlY3Rv
ckxlbmd0aCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAg
Y2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQ
RVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5
V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JM
ZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CkBAIC0xODksMTEgKzE5Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBib29sIGNhbkdldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAg
Y2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAg
IGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAg
ICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9B
UlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBpIDwg
bV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKSAmJiBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yW2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAg
ICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIwNCw4ICsyMDksNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXRJbmRleFF1aWNrbHkodW5zaWduZWQg
aSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAg
ICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFM
TF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBt
X2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yW2ldLmdldCgpOwogICAgICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIx
NiwxMiArMjIwLDE1IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGNhblNldEluZGV4
UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAg
ICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg
IGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgY2FzZSBBcnJheVdp
dGhBcnJheVN0b3JhZ2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPCBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpOworICAgICAgICAgICAgY2FzZSBOb25BcnJh
eVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHkt
PmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKQorICAgICAgICAgICAgICAgICAgICAmJiAh
IW1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3JbaV07CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIzMSw4ICsyMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdm9pZCBzZXRJbmRleFF1aWNrbHkoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1
bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3Ry
dWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7
CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAg
ICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+JiB4ID0gbV9idXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsKICAgICAgICAgICAgICAgICBpZiAoIXgpIHsKICAg
ICAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpOwpAQCAtMjUxLDggKzI1Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2b2lkIGluaXRpYWxpemVJbmRleChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIHVuc2lnbmVk
IGksIEpTVmFsdWUgdikKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAg
ICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAg
ICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCk7CiAjaWYgQ0hFQ0tfQVJSQVlfQ09OU0lTVEVOQ1kKICAgICAgICAgICAgICAgICBBU1NFUlQo
c3RvcmFnZS0+bV9pbkNvbXBhY3RJbml0aWFsaXphdGlvbik7CkBAIC0yNzYsOCArMjgxLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgY29tcGxldGVJbml0aWFsaXphdGlvbih1bnNp
Z25lZCBuZXdMZW5ndGgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5
U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAg
ICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAg
ICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpOwogICAgICAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UgaGF2ZSBpbml0aWFsaXplZCBh
cyBtZW55IHByb3BlcnRpZXMgYXMgd2UgdGhpbmsgd2UgaGF2ZS4KICAgICAgICAgICAgICAgICBV
TlVTRURfUEFSQU0oc3RvcmFnZSk7CkBAIC0yOTgsMTEgKzMwMiw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBib29sIGluU3BhcnNlSW5kZXhpbmdNb2RlKCkKICAgICAgICAgewogICAgICAg
ICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAg
IGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAg
ICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExf
QVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9i
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5pblNwYXJzZU1vZGUoKTsKICAgICAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00ODcsNiAr
NDg5LDggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCkt
Pmdsb2JhbE9iamVjdCgpOwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICB2b2lkIHN3aXRj
aFRvU2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCiAgICAgICAg
IHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAg
ICBzdGF0aWMgcHRyZGlmZl90IGJ1dHRlcmZseU9mZnNldCgpCkBAIC01MjIsMTAgKzUyNiw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBUbyBjcmVhdGUgZGVyaXZlZCB0eXBlcyB5b3Ug
bGlrZWx5IHdhbnQgSlNOb25GaW5hbE9iamVjdCwgYmVsb3cuCiAgICAgICAgIEpTT2JqZWN0KEpT
R2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEJ1dHRlcmZseSogPSAwKTsKICAgICAgICAgCi0gICAg
ICAgIHZvaWQgcmVzZXRJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJlbW92ZURpcmVjdChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1f
aW5oZXJpdG9ySURLZXkpOwotICAgICAgICB9CisgICAgICAgIHZvaWQgcmVzZXRJbmhlcml0b3JJ
RChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpOwogICAgICAgICAKICAgICAgICAgdm9pZCB2aXNp
dEJ1dHRlcmZseShTbG90VmlzaXRvciYsIEJ1dHRlcmZseSosIHNpemVfdCBzdG9yYWdlU2l6ZSk7
CiAKQEAgLTUzMyw3ICs1MzQsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8gc3RvcmFn
ZS4gVGhpcyB3aWxsIGFzc2VydCBvdGhlcndpc2UuCiAgICAgICAgIEFycmF5U3RvcmFnZSogYXJy
YXlTdG9yYWdlKCkKICAgICAgICAgewotICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSB8IEhhc0FycmF5U3RvcmFnZSk7CisgICAgICAgICAgICBBU1NFUlQoaGFz
QXJyYXlTdG9yYWdlKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgICAgICAgICAg
cmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgfQogICAgICAgICAK
QEAgLTU0Miw4ICs1NDMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQXJyYXlTdG9yYWdl
KiBhcnJheVN0b3JhZ2VPck51bGwoKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhB
cnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToK
KyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC01NTgsMTIgKzU1OCwxMCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBlbnN1cmVBcnJheVN0b3JhZ2UoSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0
cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhB
cnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToK
KyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEFycmF5U3RvcmFnZShnbG9iYWxEYXRh
KTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC01OTIsNiArNTkw
LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGRlYWxsb2NhdGVTcGFyc2VJbmRl
eE1hcCgpOwogICAgICAgICBib29sIGRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUq
LCB1bnNpZ25lZCwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCB0aHJvd0V4Y2VwdGlvbik7CiAg
ICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIGFsbG9jYXRlU3BhcnNlSW5kZXhNYXAoSlNHbG9i
YWxEYXRhJik7CisgICAgICAgIAorICAgICAgICB2b2lkIG5vdGlmeVByZXNlbmNlT2ZJbmRleGVk
QWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYpOworICAgICAgICAKKyAgICAgICAgYm9vbCBhdHRlbXB0
VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIGluZGV4LCBK
U1ZhbHVlLCBib29sIHNob3VsZFRocm93KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVu
ZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkBAIC04MjQsMjIgKzgyNiw2IEBAIGlubGlu
ZSBKU1ZhbHVlIEpTT2JqZWN0Ojpwcm90b3R5cGUoKSBjb24KICAgICByZXR1cm4gc3RydWN0dXJl
KCktPnN0b3JlZFByb3RvdHlwZSgpOwogfQogCi1pbmxpbmUgdm9pZCBKU09iamVjdDo6c2V0UHJv
dG90eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCi17Ci0g
ICAgQVNTRVJUKHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIFN0cnVj
dHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwg
cHJvdG90eXBlKSk7Ci19Ci0KLWlubGluZSBTdHJ1Y3R1cmUqIEpTT2JqZWN0Ojppbmhlcml0b3JJ
RChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCi17Ci0gICAgaWYgKFdyaXRlQmFycmllckJhc2U8
VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KSkgewotICAgICAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklE
ID0ganNDYXN0PFN0cnVjdHVyZSo+KGxvY2F0aW9uLT5nZXQoKSk7Ci0gICAgICAgIEFTU0VSVChp
bmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKLSAgICAgICAgcmV0dXJuIGluaGVyaXRvcklEOwotICAg
IH0KLSAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFsRGF0YSk7Ci19Ci0KIGlubGlu
ZSBib29sIEpTQ2VsbDo6aW5oZXJpdHMoY29uc3QgQ2xhc3NJbmZvKiBpbmZvKSBjb25zdAogewog
ICAgIHJldHVybiBjbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKGluZm8pOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90
b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIHZvaWQgT2JqZWN0UHJv
dG90eXBlOjpmaW5pc2hDcmVhdGlvbihKU0cKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihn
bG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOworICAgIG5vdGlmeVVz
ZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0KIAogYm9vbCBPYmplY3RQcm90b3R5cGU6Omdl
dE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFy
cmF5VmFsdWVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSwzMyArOTksOCBAQCB2b2lkIFNw
YXJzZUFycmF5VmFsdWVNYXA6OnB1dEVudHJ5KEV4ZWNTCiAgICAgICAgICAgICB0aHJvd1R5cGVF
cnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQotCi0gICAgaWYgKCEoZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29y
KSkgewotICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAg
ICAgICBpZiAoc2hvdWxkVGhyb3cpCi0gICAgICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhl
YywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGVudHJ5LnNldChleGVjLT5nbG9iYWxEYXRhKCks
IHRoaXMsIHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEpTVmFsdWUgYWNj
ZXNzb3IgPSBlbnRyeS5TcGFyc2VBcnJheUVudHJ5OjpCYXNlOjpnZXQoKTsKLSAgICBBU1NFUlQo
YWNjZXNzb3IuaXNHZXR0ZXJTZXR0ZXIoKSk7Ci0gICAgSlNPYmplY3QqIHNldHRlciA9IGFzR2V0
dGVyU2V0dGVyKGFjY2Vzc29yKS0+c2V0dGVyKCk7CiAgICAgCi0gICAgaWYgKCFzZXR0ZXIpIHsK
LSAgICAgICAgaWYgKHNob3VsZFRocm93KQotICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhl
YywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIENhbGxEYXRhIGNhbGxEYXRhOwotICAgIENhbGxUeXBlIGNhbGxUeXBl
ID0gc2V0dGVyLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShzZXR0ZXIsIGNhbGxEYXRhKTsK
LSAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3MuYXBwZW5kKHZhbHVlKTsK
LSAgICBjYWxsKGV4ZWMsIHNldHRlciwgY2FsbFR5cGUsIGNhbGxEYXRhLCBhcnJheSwgYXJncyk7
CisgICAgZW50cnkucHV0KGV4ZWMsIGFycmF5LCB0aGlzLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwog
fQogCiBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0
cmlidXRlcywgUHV0RGlyZWN0SW5kZXhNb2RlIG1vZGUpCkBAIC0xODcsNiArMTYyLDM2IEBAIEpT
VmFsdWUgU3BhcnNlQXJyYXlFbnRyeTo6Z2V0KEV4ZWNTdGF0ZSoKICAgICByZXR1cm4gY2FsbChl
eGVjLCBnZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJyYXksIGV4ZWMtPmVtcHR5TGlzdCgp
KTsKIH0KIAordm9pZCBTcGFyc2VBcnJheUVudHJ5OjpwdXQoRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogYXJyYXksIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCwgSlNWYWx1ZSB2YWx1ZSwgYm9v
bCBzaG91bGRUaHJvdykKK3sKKyAgICBpZiAoIShhdHRyaWJ1dGVzICYgQWNjZXNzb3IpKSB7Cisg
ICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKKyAgICAgICAgICAgIGlmIChzaG91
bGRUaHJvdykKKyAgICAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2Rl
UmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgbWFwLCB2YWx1ZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU1ZhbHVlIGFjY2Vzc29yID0gQmFzZTo6Z2V0KCk7
CisgICAgQVNTRVJUKGFjY2Vzc29yLmlzR2V0dGVyU2V0dGVyKCkpOworICAgIEpTT2JqZWN0KiBz
ZXR0ZXIgPSBhc0dldHRlclNldHRlcihhY2Nlc3NvciktPnNldHRlcigpOworICAgIAorICAgIGlm
ICghc2V0dGVyKSB7CisgICAgICAgIGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgIHRocm93
VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxs
VHlwZSBjYWxsVHlwZSA9IHNldHRlci0+bWV0aG9kVGFibGUoKS0+Z2V0Q2FsbERhdGEoc2V0dGVy
LCBjYWxsRGF0YSk7CisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFw
cGVuZCh2YWx1ZSk7CisgICAgY2FsbChleGVjLCBzZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwg
YXJyYXksIGFyZ3MpOworfQorCiBKU1ZhbHVlIFNwYXJzZUFycmF5RW50cnk6OmdldE5vblNwYXJz
ZU1vZGUoKSBjb25zdAogewogICAgIEFTU0VSVCghYXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5oCShy
ZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VB
cnJheVZhbHVlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDggQEAKIAogbmFtZXNw
YWNlIEpTQyB7CiAKK2NsYXNzIFNwYXJzZUFycmF5VmFsdWVNYXA7CisKIHN0cnVjdCBTcGFyc2VB
cnJheUVudHJ5IDogcHVibGljIFdyaXRlQmFycmllcjxVbmtub3duPiB7CiAgICAgdHlwZWRlZiBX
cml0ZUJhcnJpZXI8VW5rbm93bj4gQmFzZTsKIApAQCAtNDQsNiArNDYsNyBAQCBzdHJ1Y3QgU3Bh
cnNlQXJyYXlFbnRyeSA6IHB1YmxpYyBXcml0ZUJhCiAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRl
KiwgSlNPYmplY3QqKSBjb25zdDsKICAgICB2b2lkIGdldChQcm9wZXJ0eVNsb3QmKSBjb25zdDsK
ICAgICB2b2lkIGdldChQcm9wZXJ0eURlc2NyaXB0b3ImKSBjb25zdDsKKyAgICB2b2lkIHB1dChF
eGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBhcnJheSwgU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFw
LCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KTsKICAgICBKU1ZhbHVlIGdldE5vblNw
YXJzZU1vZGUoKSBjb25zdDsKIAogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwOSw2ICszMDksMzAgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFBy
b3BlcnR5VHJhbnNpdAogICAgIHJldHVybiAwOwogfQogCitib29sIFN0cnVjdHVyZTo6YW55T2Jq
ZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgZm9y
IChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJy
ZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9y
ZWRQcm90b3R5cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChw
cm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKKyAgICB9Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlv
biBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAg
QVNTRVJUKCFoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUoKSkpOworICAgIAorICAg
IGlmIChhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgZ2xv
YmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgcmV0dXJuIEFsbG9jYXRl
U2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gQWxsb2NhdGVBcnJheVN0b3Jh
Z2U7Cit9CisKIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1l
IHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgSlNDZWxsKiBzcGVjaWZpY1ZhbHVl
LCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIC8vIElmIHdlIGhhdmUgYSBzcGVjaWZp
YyBmdW5jdGlvbiwgd2UgbWF5IGhhdmUgZ290IHRvIHRoaXMgcG9pbnQgaWYgdGhlcmUgaXMKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAx
Mjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCwxNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAg
ICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGluZ1R5
cGUgJiBBbGxBcnJheVR5cGVzOyB9CiAgICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGVJ
bmNsdWRpbmdIaXN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGluZ1R5cGU7IH0KLQorICAg
ICAgICAKKyAgICAgICAgYm9vbCBtYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gdHlwZUluZm8oKS5pbnRlcmNlcHRzR2V0T3du
UHJvcGVydHlTbG90QnlJbmRleEV2ZW5XaGVuTGVuZ3RoSXNOb3RaZXJvKCkKKyAgICAgICAgICAg
ICAgICB8fCAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhl
ZEFjY2Vzc29ycyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJvb2wgYW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgICAgICAKKyAg
ICAgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigp
IGNvbnN0OworICAgICAgICAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgp
IGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAgICAgICAgIHZvaWQgc2V0
R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5zZXQoZ2xvYmFsRGF0YSwgdGhpcywgZ2xvYmFs
T2JqZWN0KTsgfQogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCShyZXZpc2lvbiAxMjg2
OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9u
VGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsMTAgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIEZpcnN0SW50ZXJuYWxBdHRyaQogLy8gU3VwcG9ydCBmb3IgYXR0cmlidXRlcyB1c2Vk
IHRvIGluZGljYXRlIHRyYW5zaXRpb25zIG5vdCByZWxhdGVkIHRvIHByb3BlcnRpZXMuCiAvLyBJ
ZiBhbnkgb2YgdGhlc2UgYXJlIHVzZWQsIHRoZSBzdHJpbmcgcG9ydGlvbiBvZiB0aGUga2V5IHNo
b3VsZCBiZSAwLgogZW51bSBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gewotICAgIEFsbG9jYXRlQXJy
YXlTdG9yYWdlCisgICAgQWxsb2NhdGVBcnJheVN0b3JhZ2UsCisgICAgQWxsb2NhdGVTbG93UHV0
QXJyYXlTdG9yYWdlLAorICAgIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZSwKKyAgICBBZGRJ
bmRleGVkQWNjZXNzb3JzCiB9OwogCiBpbmxpbmUgdW5zaWduZWQgdG9BdHRyaWJ1dGVzKE5vblBy
b3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtNTYsNiArNTksMTMgQEAgaW5saW5lIElu
ZGV4aW5nVHlwZSBuZXdJbmRleGluZ1R5cGUoSW5kZQogICAgIHN3aXRjaCAodHJhbnNpdGlvbikg
ewogICAgIGNhc2UgQWxsb2NhdGVBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiBvbGRUeXBl
IHwgSGFzQXJyYXlTdG9yYWdlOworICAgIGNhc2UgQWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdl
OgorICAgICAgICByZXR1cm4gb2xkVHlwZSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAg
Y2FzZSBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIEFTU0VSVChvbGRUeXBl
ICYgSGFzQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgcmV0dXJuIChvbGRUeXBlICYgfkhhc0FycmF5
U3RvcmFnZSkgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIGNhc2UgQWRkSW5kZXhlZEFj
Y2Vzc29yczoKKyAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBNYXlIYXZlSW5kZXhlZEFjY2Vzc29y
czsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
cmV0dXJuIG9sZFR5cGU7Cg==
</data>
<flag name="review"
          id="176030"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164309</attachid>
            <date>2012-09-15 23:24:28 -0700</date>
            <delta_ts>2012-09-16 00:35:21 -0700</delta_ts>
            <desc>almost ready to land</desc>
            <filename>haveabadtime_patch_4.diff</filename>
            <type>text/plain</type>
            <size>84461</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4Njk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3OSBA
QAorMjAxMi0wOS0xNSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgorCisgICAgICAgIEFkZGVk
IGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5kZXhl
ZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMgZG9u
ZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhhdAor
ICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJhdGVn
eSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZhdm9y
IG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJyYXlz
IG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAgICAg
ICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5IG9i
amVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkKKyAg
ICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBhY2Nl
c3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ugb2Jq
ZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUpIGlz
IGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFk
LW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAgICAg
YWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJhZCB0
aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5pdGlv
biBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVyIHdh
eSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVk
IHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5kZXhl
ZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2JqZWN0
IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdpbGwg
c2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAgICAg
ICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAgICAg
IC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJlZm9y
ZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQgaW5z
dGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJvdG90
eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBzdG9y
ZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xvdyBk
b3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhhdmUg
bm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1c2Vz
IG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0cy4g
QnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBtb3Jl
IGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRpbWUu
CisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1heSBi
ZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAgIGFk
ZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2JqZWN0
cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSBw
cm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAgICAg
ICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8gc2xv
dy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4gaGFk
IGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMgdGhh
dCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4gdGhl
aXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxvY2F0
aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdlLCBh
bmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2UgZm9y
IG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAgICAg
ICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGltZTog
KGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmluZyBv
ZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkpIGlz
CisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0IGFu
IG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBoYWQg
YW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNlcnRl
ZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vmb3J0
aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHByb3Rv
dHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQgYnkg
ZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBiZWNh
dXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QKKyAg
ICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZsaXAg
dGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0IG9t
aXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2VlcCBh
IGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZpbmQg
dGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBhbG9u
ZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50bHkg
YWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3JzLCB0
aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAgICAg
b25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3NvcnMg
dG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFwIHNj
YW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUgYWxz
bworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxvbmdp
bmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGluZGV4
ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVhcCBh
Z2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwgb2Jq
ZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9kdWxl
OyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVyIGFw
cHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAgKiBi
eXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OmFy
cmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRlLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAgICAg
KiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2ZWQp
OgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChKU0M6
OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6CisgICAg
ICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAg
ICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAg
KiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxvY2F0
ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6
SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9JbmRl
eGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQcm9w
ZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAoSlND
OjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToKKyAg
ICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpwb3Ap
OgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6
ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpjcmVh
dGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAg
ICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlND
OjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAgIChK
U0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRleCk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMp
OgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5U3Rv
cmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlzdHNB
bmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnNl
dFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklEKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6SlNP
YmplY3Q6OmRlbGV0ZVByb3BlcnR5QnlJbmRleCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpn
ZXRPd25Qcm9wZXJ0eU5hbWVzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRB
c1Byb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRCk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZSk6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3Ro
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE5ld1ZlY3Rvckxlbmd0aCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IpOgorICAgICAgICAqIHJ1
bnRpbWUvSlNPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1heUJlVXNlZEFzUHJv
dG90eXBlKToKKyAgICAgICAgKEpTT2JqZWN0KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRB
cnJheUxlbmd0aCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpnZXRWZWN0b3JMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6Y2FuR2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpT
Qzo6SlNPYmplY3Q6OmdldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojpj
YW5TZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6c2V0SW5kZXhRdWlj
a2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaXRpYWxpemVJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0Ojpjb21wbGV0ZUluaXRpYWxpemF0aW9uKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmluU3BhcnNlSW5kZXhpbmdNb2RlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OmFycmF5U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjphcnJheVN0b3JhZ2VPck51
bGwpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlKToKKyAgICAg
ICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAg
ICAoSlNDOjpPYmplY3RQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBydW50
aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwOgorICAgICAgICAoSlNDOjpTcGFyc2VBcnJheVZh
bHVlTWFwOjpwdXRFbnRyeSk6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5RW50cnk6OnB1dCk6
CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5o
OgorICAgICAgICAoSlNDKToKKyAgICAgICAgKFNwYXJzZUFycmF5RW50cnkpOgorICAgICAgICAq
IHJ1bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjphbnlPYmpl
Y3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQyk6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6c3VnZ2VzdGVkSW5kZXhpbmdUcmFuc2l0aW9uKToKKyAg
ICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAgICAoU3RydWN0dXJlKToKKyAgICAg
ICAgKEpTQzo6U3RydWN0dXJlOjptYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMpOgorICAgICAg
ICAqIHJ1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmg6CisgICAgICAgIChKU0M6Om5l
d0luZGV4aW5nVHlwZSk6CisKIDIwMTItMDktMTQgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxl
LmNvbT4KIAogICAgICAgICBBbGwgb2YgdGhlIHRoaW5ncyBpbiBTcGFyc2VBcnJheVZhbHVlTWFw
IHNob3VsZCBiZSBvdXQtb2YtbGluZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0FycmF5UHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9BcnJheVByb2ZpbGUuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3
ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwog
CiAvLyBUaGlzIGlzIGEgYml0ZmllbGQgd2hlcmUgZWFjaCBiaXQgcmVwcmVzZW50cyBhbiBJbmRl
eGluZ1R5cGUgdGhhdCB3ZSBoYXZlIHNlZW4uCi0vLyBUaGVyZSBhcmUgMTcgaW5kZXhpbmcgdHlw
ZXMgKDAgdG8gMTYsIGluY2x1c2l2ZSksIHNvIDMyIGJpdHMgaXMgbW9yZSB0aGFuIGVub3VnaC4K
Ky8vIFRoZXJlIGFyZSAzMiBpbmRleGluZyB0eXBlcywgc28gYW4gdW5zaWduZWQgaXMgZW5vdWdo
LgogdHlwZWRlZiB1bnNpZ25lZCBBcnJheU1vZGVzOwogCiAjZGVmaW5lIGFzQXJyYXlNb2Rlcyh0
eXBlKSBcCkBAIC00NCw3ICs0NCw3IEBAIHR5cGVkZWYgdW5zaWduZWQgQXJyYXlNb2RlczsKIAog
aW5saW5lIEFycmF5TW9kZXMgYXJyYXlNb2RlRnJvbVN0cnVjdHVyZShTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKIHsKLSAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBl
SW5jbHVkaW5nSGlzdG9yeSgpKTsKKyAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVjdHVyZS0+
aW5kZXhpbmdUeXBlKCkpOwogfQogCiBjbGFzcyBBcnJheVByb2ZpbGUgewpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3BwCShyZXZpc2lvbiAx
Mjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3RhdGUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDkzLDE0ICsxMDkzLDIxIEBAIGJvb2wgQWJzdHJhY3RTdGF0
ZTo6ZXhlY3V0ZSh1bnNpZ25lZCBpbmQKICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAg
ICBjYXNlIE5ld0FycmF5OgotICAgIGNhc2UgTmV3QXJyYXlCdWZmZXI6Ci0gICAgICAgIG5vZGUu
c2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKICAgICAg
ICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLmNv
ZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9
IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKKyAgICBjYXNlIE5ld0FycmF5QnVmZmVy
OgorICAgICAgICAvLyBVbmxlc3Mgd2UncmUgaGF2aW5nIGEgYmFkIHRpbWUsIHRoaXMgbm9kZSBj
YW4gY2hhbmdlIGl0cyBtaW5kIGFib3V0IHdoYXQgc3RydWN0dXJlCisgICAgICAgIC8vIGl0IHVz
ZXMuCisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIGZvck5vZGUobm9k
ZUluZGV4KS5zZXQoU3BlY0FycmF5KTsKKyAgICAgICAgYnJlYWs7CisKICAgICBjYXNlIE5ld0Fy
cmF5V2l0aFNpemU6Ci0gICAgICAgIHNwZWN1bGF0ZUludDMyVW5hcnkobm9kZSk7CisgICAgICAg
IG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKKyAgICAgICAgZm9yTm9kZShub2RlLmNoaWxkMSgpKS5m
aWx0ZXIoU3BlY0ludDMyKTsKICAgICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dyYXBo
Lmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKICAg
ICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmNwcAkocmV2aXNpb24gMTI4Njkx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MiwxMCArNDIsMTYgQEAgQXJyYXk6Ok1vZGUgZnJvbU9ic2VydmVkKEFycmF5
TW9kZXMgbW9kZQogICAgICAgICByZXR1cm4gQXJyYXk6OlVuZGVjaWRlZDsKICAgICBjYXNlIGFz
QXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpOgogICAgICAgICByZXR1cm4gbWFr
ZVNhZmUgPyBBcnJheTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMgOiBBcnJheTo6QXJyYXlTdG9y
YWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3Jh
Z2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U7CiAgICAgY2Fz
ZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToKICAgICAgICAgcmV0dXJuIG1h
a2VTYWZlID8gQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIDogQXJyYXk6
OkFycmF5V2l0aEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJyYXlNb2RlcyhBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFycmF5OjpBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0aEFycmF5
U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToKICAgICAgICAg
cmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0
T2ZCb3VuZHMgOiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2U7CisgICAgY2Fz
ZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSkgfCBhc0FycmF5
TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAgICAgIHJldHVybiBBcnJh
eTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGlzIGlzIHBvc3NpYmx5IGEga2luZCBvZiBhcnJheSBm
b3Igd2hpY2gsIHRob3VnaCB0aGVyZSBpcyBubwogICAgICAgICAvLyB1c2VmdWwgZGF0YSBpbiB0
aGUgYXJyYXkgcHJvZmlsZSwgd2UgbWF5IGJlIGFibGUgdG8gZXh0cmFjdCB1c2VmdWwgZGF0YSBm
cm9tCkBAIC0xMjQsMTUgKzEzMCwyOSBAQCBib29sIG1vZGVBbHJlYWR5Q2hlY2tlZChBYnN0cmFj
dFZhbHVlJiB2CiAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgogICAgICAgICByZXR1cm4gaXNTdHJp
bmdTcGVjdWxhdGlvbih2YWx1ZS5tX3R5cGUpOwogICAgICAgICAKLSAgICBjYXNlIE5PTl9BUlJB
WV9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZToKKyAg
ICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoKKyAgICBjYXNlIEFycmF5OjpQ
b3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFy
cmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gdmFsdWUubV9j
dXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAgICAgICAgICYmICh2YWx1
ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBI
YXNBcnJheVN0b3JhZ2UpOwotCi0gICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfTU9E
RVM6CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAg
Y2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAg
ICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKKyAg
ICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+
aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdlKTsKKyAgICAgICAgCisgICAg
Y2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXk6OkFycmF5
V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gdmFsdWUubV9jdXJy
ZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAgICAgICAgICYmICh2YWx1ZS5t
X2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNB
cnJheVN0b3JhZ2UpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1
cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSXNBcnJheSk7CiAgICAgICAgIAorICAg
IGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIHJldHVy
biB2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5oYXNTaW5nbGV0b24oKQorICAgICAgICAg
ICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNpbmdsZXRvbigpLT5pbmRleGlu
Z1R5cGUoKSAmIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpCisgICAgICAgICAgICAmJiAodmFsdWUu
bV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSXNB
cnJheSk7CisgICAgICAgIAogICAgIGNhc2UgQXJyYXk6OkFyZ3VtZW50czoKICAgICAgICAgcmV0
dXJuIGlzQXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUubV90eXBlKTsKICAgICAgICAgCkBAIC0x
ODQsMTQgKzIwNCwyMCBAQCBjb25zdCBjaGFyKiBtb2RlVG9TdHJpbmcoQXJyYXk6Ok1vZGUgbW9k
CiAgICAgICAgIHJldHVybiAiU3RyaW5nIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2U6
CiAgICAgICAgIHJldHVybiAiQXJyYXlTdG9yYWdlIjsKKyAgICBjYXNlIEFycmF5OjpTbG93UHV0
QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAg
IGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gIkFy
cmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0
b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlXaXRoQXJyYXlTdG9yYWdlIjsKKyAgICBjYXNl
IEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIkFy
cmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFy
cmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4gIkFycmF5V2l0aEFycmF5U3Rv
cmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5
U3RvcmFnZToKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZSI7
CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgor
ICAgICAgICByZXR1cm4gIlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSI7CiAg
ICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoK
ICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRz
IjsKICAgICBjYXNlIEFycmF5OjpBcmd1bWVudHM6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0FycmF5TW9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDEwICs0Nywx
MyBAQCBlbnVtIE1vZGUgewogICAgIEdlbmVyaWMsCiAgICAgU3RyaW5nLAogICAgIEFycmF5U3Rv
cmFnZSwKKyAgICBTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFycmF5U3RvcmFnZU91dE9mQm91
bmRzLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZSwKKyAgICBBcnJheVdpdGhTbG93UHV0QXJy
YXlTdG9yYWdlLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAgIFBv
c3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlLAorICAgIFBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZSwKICAgICBQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91
bmRzLAogICAgIEFyZ3VtZW50cywKICAgICBJbnQ4QXJyYXksCkBAIC03MCwxMSArNzMsMTQgQEAg
ZW51bSBNb2RlIHsKIC8vIGhhdmUgdGhlIHdvcmQgIkFycmF5U3RvcmFnZSIgaW4gdGhlbS4KICNk
ZWZpbmUgTk9OX0FSUkFZX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAg
ICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczogICAg
ICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoQXJyYXlT
dG9yYWdlOiAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlOiAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5
V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzCiAjZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RP
UkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBBcnJheTo6QXJyYXlXaXRoQXJy
YXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OkFy
cmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMKICNkZWZpbmUgQUxMX0FSUkFZX1NU
T1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIE5PTl9BUlJBWV9B
UlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC04Myw4ICs4
OSwxMyBAQCBlbnVtIE1vZGUgewogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlT
dG9yYWdlOiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFy
cmF5V2l0aEFycmF5U3RvcmFnZQorI2RlZmluZSBTTE9XX1BVVF9BUlJBWV9TVE9SQUdFX01PREVT
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQXJyYXk6OlNsb3dQdXRBcnJheVN0b3JhZ2U6
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhT
bG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OlBvc3Np
Ymx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZQogI2RlZmluZSBPVVRfT0ZfQk9VTkRTX0FS
UkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICBcCi0gICAgQXJyYXk6OkFycmF5U3Rv
cmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBTTE9XX1BVVF9B
UlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2Ug
QXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICBcCiAgICAg
Y2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAgIFwK
ICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRz
CiAKQEAgLTEyOCw2ICsxMzksMTYgQEAgaW5saW5lIGJvb2wgaXNJbkJvdW5kc0FjY2VzcyhBcnJh
eTo6TW9kZQogICAgIH0KIH0KIAoraW5saW5lIGJvb2wgaXNTbG93UHV0QWNjZXNzKEFycmF5OjpN
b2RlIGFycmF5TW9kZSkKK3sKKyAgICBzd2l0Y2ggKGFycmF5TW9kZSkgeworICAgIGNhc2UgU0xP
V19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogaW5saW5lIGJvb2wgY2Fu
Q1NFU3RvcmFnZShBcnJheTo6TW9kZSBhcnJheU1vZGUpCiB7CiAgICAgc3dpdGNoIChhcnJheU1v
ZGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjc0MSwyNSArMjc0MSwzNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5v
ZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlJ3JlIHdyaXRpbmcg
dG8gYSBob2xlOyBpZiBzbyBpbmNyZW1lbnQgbV9udW1WYWx1ZXNJblZlY3Rvci4KICAgICAgICAg
ICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdEhvbGVWYWx1ZSA9IG1faml0LmJyYW5jaDMyKE1h
Y3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdl
UmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZT
RVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVl
LCB1LmFzQml0cy50YWcpKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6OkVtcHR5VmFsdWVUYWcpKTsK
LSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV9udW1W
YWx1ZXNJblZlY3RvcikpKTsKLQotICAgICAgICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBh
IGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAotICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihN
YWNyb0Fzc2VtYmxlcjo6QmVsb3csIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVz
cyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7Ci0gICAgICAgICAg
ICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKLSAgICAgICAgICAg
IG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3Jh
Z2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0
LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOwotCi0gICAgICAgICAgICBsZW5n
dGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBpc0hvbGVWYWx1ZTsKKyAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3Mo
YXJyYXlNb2RlKSkgeworICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgc29ydCBvZiBzdHJhbmdl
LiBJZiB3ZSB3YW50ZWQgdG8gb3B0aW1pemUgdGhpcyBjb2RlIHBhdGgsIHdlIHdvdWxkIGludmVy
dAorICAgICAgICAgICAgICAgIC8vIHRoZSBhYm92ZSBicmFuY2guIEJ1dCBpdCdzIHNpbXBseSBu
b3Qgd29ydGggaXQgc2luY2UgdGhpcyBvbmx5IGhhcHBlbnMgaWYgd2UncmUKKyAgICAgICAgICAg
ICAgICAvLyBhbHJlYWR5IGhhdmluZyBhIGJhZCB0aW1lLgorICAgICAgICAgICAgICAgIGlzSG9s
ZVZhbHVlID0gbV9qaXQuanVtcCgpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNz
KHN0b3JhZ2VSZWcsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5W
ZWN0b3IpKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUg
d3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAorICAgICAg
ICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlID0g
bV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBwcm9wZXJ0eVJlZywgTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQo
KSkpOworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVy
dHlSZWcpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0
KCkpKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHByb3Bl
cnR5UmVnKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBsZW5ndGhEb2VzTm90
TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBub3RI
b2xlVmFsdWUubGluaygmbV9qaXQpOwogCiAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgdmFsdWUg
dG8gdGhlIGFycmF5LgogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMih2YWx1ZVRhZ1JlZywgTWFj
cm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3Nl
bWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9y
WzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSk7CiAgICAgICAg
ICAgICBtX2ppdC5zdG9yZTMyKHZhbHVlUGF5bG9hZFJlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJ
bmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQs
IE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVDVF9PRkZT
RVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSkpOwogICAgICAgICAKLSAgICAgICAgICAg
IGlmICghaXNJbkJvdW5kc0FjY2Vzcyhub2RlLmFycmF5TW9kZSgpKSkgeworICAgICAgICAgICAg
aWYgKCFpc0luQm91bmRzQWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOworICAgICAgICAgICAgICAgIHNsb3dDYXNl
cy5hcHBlbmQoYmV5b25kQXJyYXlCb3VuZHMpOworICAgICAgICAgICAgICAgIGlmIChpc1Nsb3dQ
dXRBY2Nlc3MoYXJyYXlNb2RlKSkKKyAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLmFwcGVu
ZChpc0hvbGVWYWx1ZSk7CiAgICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAg
ICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgICAg
IGJleW9uZEFycmF5Qm91bmRzLCB0aGlzLAorICAgICAgICAgICAgICAgICAgICAgICAgc2xvd0Nh
c2VzLCB0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlz
U3RyaWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6
IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCiAgICAgICAgICAg
ICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZhbHVlVGFnUmVn
LCB2YWx1ZVBheWxvYWRSZWcpKTsKICAgICAgICAgICAgIH0KQEAgLTMxMjgsMTMgKzMxNDAsMTcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KIAogICAg
IGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbik7CisgICAgICAg
IGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAgICAgICAgICBnbG9i
YWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5hZGQoc3BlY3VsYXRpb25XYXRj
aHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgaWYgKCFub2RlLm51bUNoaWxkcmVuKCkpIHsK
ICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICBHUFJSZXN1bHQgcmVz
dWx0KHRoaXMpOwogICAgICAgICAgICAgR1BSUmVzdWx0MiByZXN1bHRUYWdJZ25vcmVkKHRoaXMp
OwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAgICAgICAgICAgICBvcGVyYXRpb25O
ZXdFbXB0eUFycmF5LCByZXN1bHRUYWdJZ25vcmVkLmdwcigpLCByZXN1bHQuZ3ByKCksCi0gICAg
ICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2lu
KS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5hcnJh
eVN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBtX2Nv
bXBpbGVJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzE2Nyw4ICsz
MTgzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAg
ICBHUFJSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKICAgICAgICAgCiAgICAgICAgIGNhbGxPcGVy
YXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0VGFnLmdwcigpLCBy
ZXN1bHRQYXlsb2FkLmdwcigpLAotICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmpl
Y3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwKKyAgICAgICAgICAgIG9w
ZXJhdGlvbk5ld0FycmF5LCByZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIGds
b2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwKICAgICAgICAgICAgIHN0YXRpY19jYXN0PHZv
aWQgKj4oYnVmZmVyKSwgbm9kZS5udW1DaGlsZHJlbigpKTsKIAogICAgICAgICBpZiAoc2NyYXRj
aFNpemUpIHsKQEAgLTMxODQsNiArMzE5OSwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUmIG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOiB7Cisg
ICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2ppdC5ncmFwaCgpLmdsb2Jh
bE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+
aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5oYXZpbmdBQmFk
VGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hwb2ludCgpKTsKKyAgICAgICAg
CiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBzaXplKHRoaXMsIG5vZGUuY2hp
bGQxKCkpOwogICAgICAgICBHUFJSZWcgc2l6ZUdQUiA9IHNpemUuZ3ByKCk7CiAgICAgICAgIGZs
dXNoUmVnaXN0ZXJzKCk7CkBAIC0zMTkxLDcgKzMyMTAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIEdQUlJlc3VsdDIgcmVzdWx0VGFnSWdub3Jl
ZCh0aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAgICAgICAgIG9wZXJhdGlvbk5l
d0FycmF5V2l0aFNpemUsIHJlc3VsdFRhZ0lnbm9yZWQuZ3ByKCksIHJlc3VsdC5ncHIoKSwKLSAg
ICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbikt
PmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOworICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5h
cnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3By
KCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYwLDI0ICsyNzYwLDM2IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgCiAgICAgICAgICAgICAv
LyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZTsgaWYgc28gaW5jcmVtZW50IG1fbnVt
VmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RIb2xl
VmFsdWUgPSBtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBNYWNy
b0Fzc2VtYmxlcjo6QmFzZUluZGV4KHN0b3JhZ2VSZWcsIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2Vt
Ymxlcjo6U2NhbGVQdHIsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBd
KSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBNYWNyb0Fzc2Vt
Ymxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBt
X251bVZhbHVlc0luVmVjdG9yKSkpOwotCi0gICAgICAgICAgICAvLyBJZiB3ZSdyZSB3cml0aW5n
IHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93aW5nIHRoZSBhcnJheTsgCi0gICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZSA9IG1faml0LmJyYW5j
aDMyKE1hY3JvQXNzZW1ibGVyOjpCZWxvdywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpB
ZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKLSAgICAg
ICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOwotICAgICAg
ICAgICAgbV9qaXQuc3RvcmUzMihwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Mo
c3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOwotICAgICAgICAgICAg
bV9qaXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7Ci0KLSAgICAgICAgICAg
IGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAgICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGlzSG9sZVZhbHVlOworICAgICAgICAgICAgaWYgKGlzU2xvd1B1dEFj
Y2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBzb3J0IG9mIHN0
cmFuZ2UuIElmIHdlIHdhbnRlZCB0byBvcHRpbWl6ZSB0aGlzIGNvZGUgcGF0aCwgd2Ugd291bGQg
aW52ZXJ0CisgICAgICAgICAgICAgICAgLy8gdGhlIGFib3ZlIGJyYW5jaC4gQnV0IGl0J3Mgc2lt
cGx5IG5vdCB3b3J0aCBpdCBzaW5jZSB0aGlzIG9ubHkgaGFwcGVucyBpZiB3ZSdyZQorICAgICAg
ICAgICAgICAgIC8vIGFscmVhZHkgaGF2aW5nIGEgYmFkIHRpbWUuCisgICAgICAgICAgICAgICAg
aXNIb2xlVmFsdWUgPSBtX2ppdC5qdW1wKCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV9udW1WYWx1
ZXNJblZlY3RvcikpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAvLyBJZiB3
ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93aW5nIHRoZSBhcnJheTsgCisg
ICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVuZ3RoRG9lc05vdE5lZWRVcGRh
dGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVsb3csIHByb3BlcnR5UmVnLCBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9m
ZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMyKDEpLCBw
cm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihwcm9wZXJ0eVJlZywg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhP
ZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwg
cHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGxlbmd0aERv
ZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAg
IG5vdEhvbGVWYWx1ZS5saW5rKCZtX2ppdCk7CiAKICAgICAgICAgICAgIC8vIFN0b3JlIHRoZSB2
YWx1ZSB0byB0aGUgYXJyYXkuCiAgICAgICAgICAgICBtX2ppdC5zdG9yZVB0cih2YWx1ZVJlZywg
TWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9B
c3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3Rv
clswXSkpKTsKIAogICAgICAgICAgICAgaWYgKCFpc0luQm91bmRzQWNjZXNzKGFycmF5TW9kZSkp
IHsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOwor
ICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYmV5b25kQXJyYXlCb3VuZHMpOworICAg
ICAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkKKyAgICAgICAgICAg
ICAgICAgICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVWYWx1ZSk7CiAgICAgICAgICAgICAgICAg
YWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgK
LSAgICAgICAgICAgICAgICAgICAgICAgIGJleW9uZEFycmF5Qm91bmRzLCB0aGlzLAorICAgICAg
ICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxC
ZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3Vu
ZHNOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywg
cHJvcGVydHlSZWcsIHZhbHVlUmVnKSk7CiAgICAgICAgICAgICB9CkBAIC0zMTIwLDEyICszMTMy
LDE0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAg
ICAgICAgIAogICAgIGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdp
bik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAg
ICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5hZGQoc3Bl
Y3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgaWYgKCFub2RlLm51bUNo
aWxkcmVuKCkpIHsKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICBH
UFJSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAg
ICAgICAgICAgICBvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1bHQuZ3ByKCksCi0gICAgICAg
ICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+
YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5l
d0VtcHR5QXJyYXksIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgp
KTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzE1NSw4ICszMTY5LDcgQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICBHUFJSZXN1bHQg
cmVzdWx0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAg
ICAgIG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHQuZ3ByKCksCi0gICAgICAgICAgICBtX2ppdC5n
cmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgp
LAorICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2Jq
ZWN0LT5hcnJheVN0cnVjdHVyZSgpLAogICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dm9pZCo+KGJ1
ZmZlciksIG5vZGUubnVtQ2hpbGRyZW4oKSk7CiAKICAgICAgICAgaWYgKHNjcmF0Y2hTaXplKSB7
CkBAIC0zMTcxLDExICszMTg0LDE1IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSYgbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTmV3QXJyYXlXaXRoU2l6ZTogewor
ICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9i
YWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKTsKKyAgICAgICAgaWYgKCFnbG9iYWxPYmplY3Qt
PmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+aGF2aW5nQUJh
ZFRpbWVXYXRjaHBvaW50KCktPmFkZChzcGVjdWxhdGlvbldhdGNocG9pbnQoKSk7CisgICAgICAg
IAogICAgICAgICBTcGVjdWxhdGVTdHJpY3RJbnQzMk9wZXJhbmQgc2l6ZSh0aGlzLCBub2RlLmNo
aWxkMSgpKTsKICAgICAgICAgR1BSUmVnIHNpemVHUFIgPSBzaXplLmdwcigpOwogICAgICAgICBm
bHVzaFJlZ2lzdGVycygpOwogICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIHJlc3VsdC5ncHIoKSwg
bV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1
Y3R1cmUoKSwgc2l6ZUdQUik7CisgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJy
YXlXaXRoU2l6ZSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlKCks
IHNpemVHUFIpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5k
ZXgpOwogICAgICAgICBicmVhazsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMyNCw3ICszMjQsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjaGVja0FycmF5KE5v
ZGUmIG5vCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgKICAgICAgICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6WmVybywKICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyh0ZW1wLmdwcigpLCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlwZU9mZnNldCgpKSwKLSAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKEhhc0FycmF5U3RvcmFnZSkp
KTsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKAorICAgICAg
ICAgICAgICAgICAgICBpc1Nsb3dQdXRBY2Nlc3Mobm9kZS5hcnJheU1vZGUoKSkgPyBIYXNTbG93
UHV0QXJyYXlTdG9yYWdlIDogSGFzQXJyYXlTdG9yYWdlKSkpOwogICAgICAgICAKICAgICAgICAg
bm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAgICAgICByZXR1cm47CkBAIC0zNDUsNyArMzQ2
LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheShOb2RlJiBubwogICAgICAgICBz
cGVjdWxhdGlvbkNoZWNrKAogICAgICAgICAgICAgVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCks
IE5vTm9kZSwKICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3QzMigKLSAgICAgICAgICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6WmVybywgdGVtcEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW0zMihIYXNBcnJheVN0b3JhZ2UpKSk7CisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
Olplcm8sIHRlbXBHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoCisgICAgICAgICAg
ICAgICAgICAgIGlzU2xvd1B1dEFjY2Vzcyhub2RlLmFycmF5TW9kZSgpKSA/IEhhc1Nsb3dQdXRB
cnJheVN0b3JhZ2UgOiBIYXNBcnJheVN0b3JhZ2UpKSk7CiAgICAgICAgIAogICAgICAgICBub1Jl
c3VsdChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVQuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDM3LDcgKzQzNyw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDbGFzc1R5cGUsIGJvb2wgZGVzdHJ1Y3Rvciwg
dHlwZW5hbWUgU3RydWN0dXJlVHlwZT4gdm9pZCBlbWl0QWxsb2NhdGVCYXNpY0pTT2JqZWN0KFN0
cnVjdHVyZVR5cGUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOwog
ICAgICAgICB2b2lkIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShzaXplX3QsIHB0cmRpZmZfdCBv
ZmZzZXRGcm9tQmFzZSwgUmVnaXN0ZXJJRCByZXN1bHQpOwogICAgICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiB2b2lkIGVtaXRBbGxvY2F0ZUpTRmluYWxPYmplY3QoVCBzdHJ1Y3R1cmUsIFJlZ2lz
dGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOwotICAgICAgICB2b2lkIGVtaXRB
bGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVkIGxlbmd0aCwg
UmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQsIFJlZ2lzdGVy
SUQgc3RvcmFnZVB0cik7CisgICAgICAgIHZvaWQgZW1pdEFsbG9jYXRlSlNBcnJheSh1bnNpZ25l
ZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNlbGxSZXN1bHQs
IFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRyLCBSZWdpc3Rl
cklEIHNjcmF0Y2gpOwogICAgICAgICAKICNpZiBFTkFCTEUoVkFMVUVfUFJPRklMRVIpCiAgICAg
ICAgIC8vIFRoaXMgYXNzdW1lcyB0aGF0IHRoZSB2YWx1ZSB0byBwcm9maWxlIGlzIGluIHJlZ1Qw
IGFuZCB0aGF0IHJlZ1QzIGlzIGF2YWlsYWJsZSBmb3IKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMuaAkod29ya2luZyBjb3B5KQpA
QCAtNDQzLDcgKzQ0Myw3IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlQmFzaWNTdG9y
YWcKICAgICBzdWJQdHIoVHJ1c3RlZEltbTMyKHNpemUgLSBvZmZzZXRGcm9tQmFzZSksIHJlc3Vs
dCk7CiB9CiAKLWlubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlSlNBcnJheSh1bnNpZ25lZCB2
YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNlbGxSZXN1bHQsIFJl
Z2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRyKQoraW5saW5lIHZv
aWQgSklUOjplbWl0QWxsb2NhdGVKU0FycmF5KHVuc2lnbmVkIHZhbHVlc1JlZ2lzdGVyLCB1bnNp
Z25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2VsbFJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUmVz
dWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIsIFJlZ2lzdGVySUQgc2NyYXRjaCkKIHsKICAgICB1
bnNpZ25lZCBpbml0aWFsTGVuZ3RoID0gc3RkOjptYXgobGVuZ3RoLCA0VSk7CiAgICAgc2l6ZV90
IGluaXRpYWxTdG9yYWdlID0gQnV0dGVyZmx5Ojp0b3RhbFNpemUoMCwgMCwgdHJ1ZSwgQXJyYXlT
dG9yYWdlOjpzaXplRm9yKGluaXRpYWxMZW5ndGgpKTsKQEAgLTQ1Myw3ICs0NTMsOCBAQCBpbmxp
bmUgdm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zCiAgICAgZW1pdEFsbG9jYXRlQmFz
aWNTdG9yYWdlKGluaXRpYWxTdG9yYWdlLCBzaXplb2YoSW5kZXhpbmdIZWFkZXIpLCBzdG9yYWdl
UmVzdWx0KTsKIAogICAgIC8vIEFsbG9jYXRlIHRoZSBjZWxsIGZvciB0aGUgYXJyYXkuCi0gICAg
ZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdDxKU0FycmF5LCBmYWxzZT4oVHJ1c3RlZEltbVB0ciht
X2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0dXJlKCkpLCBjZWxsUmVzdWx0
LCBzdG9yYWdlUHRyKTsKKyAgICBsb2FkUHRyKG1fY29kZUJsb2NrLT5nbG9iYWxPYmplY3QoKS0+
YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSwgc2NyYXRjaCk7CisgICAgZW1pdEFsbG9jYXRlQmFz
aWNKU09iamVjdDxKU0FycmF5LCBmYWxzZT4oc2NyYXRjaCwgY2VsbFJlc3VsdCwgc3RvcmFnZVB0
cik7CiAKICAgICAvLyBTdG9yZSBhbGwgdGhlIG5lY2Vzc2FyeSBpbmZvIGluIHRoZSBBcnJheVN0
b3JhZ2UuCiAgICAgc3RvcmUzMihJbW0zMihsZW5ndGgpLCBBZGRyZXNzKHN0b3JhZ2VSZXN1bHQs
IEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3Niw3ICsx
Njc2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KEluc3RydWN0aW9uKgogICAgIGlu
dCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kOwogICAgIGludCB2YWx1ZXMg
PSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogCi0gICAgZW1pdEFsbG9jYXRlSlNB
cnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1QxLCByZWdUMik7CisgICAgZW1pdEFsbG9j
YXRlSlNBcnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1QxLCByZWdUMiwgcmVnVDMpOwog
ICAgIGVtaXRTdG9yZUNlbGwoZHN0LCByZWdUMCk7IAogfQogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjg2
OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEzMiw4ICsxMzIsMTAgQEAgQXJyYXlQcm90b3R5cGU6OkFycmF5
UHJvdG90eXBlKEpTR2xvYmFsTwogCiB2b2lkIEFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlv
bihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKKyAgICBKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEgPSBnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKTsKKyAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbihnbG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOworICAgIG5v
dGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0KIAogYm9vbCBBcnJheVByb3RvdHlw
ZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9w
ZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCkBAIC02MzgsNyArNjQw
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgIENhbGxE
YXRhIGNhbGxEYXRhOwogICAgIENhbGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rp
b24sIGNhbGxEYXRhKTsKIAotICAgIGlmICh0aGlzT2JqLT5jbGFzc0luZm8oKSA9PSAmSlNBcnJh
eTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5pblNwYXJzZUluZGV4aW5nTW9kZSgpKSB7
CisgICAgaWYgKHRoaXNPYmotPmNsYXNzSW5mbygpID09ICZKU0FycmF5OjpzX2luZm8gJiYgIWFz
QXJyYXkodGhpc09iaiktPmluU3BhcnNlSW5kZXhpbmdNb2RlKCkgJiYgIXNob3VsZFVzZVNsb3dQ
dXQodGhpc09iai0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkgewogICAgICAgICBpZiAo
aXNOdW1lcmljQ29tcGFyZUZ1bmN0aW9uKGV4ZWMsIGNhbGxUeXBlLCBjYWxsRGF0YSkpCiAgICAg
ICAgICAgICBhc0FycmF5KHRoaXNPYmopLT5zb3J0TnVtZXJpYyhleGVjLCBmdW5jdGlvbiwgY2Fs
bFR5cGUsIGNhbGxEYXRhKTsKICAgICAgICAgZWxzZSBpZiAoY2FsbFR5cGUgIT0gQ2FsbFR5cGVO
b25lKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5kZXhpbmdUeXBlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5kZXhpbmdUeXBl
LmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
ZGV4aW5nVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywyOCArMzMsNjUgQEAgdHlwZWRlZiB1
aW50OF90IEluZGV4aW5nVHlwZTsKIC8vIEZsYWdzIGZvciB0ZXN0aW5nIHRoZSBwcmVzZW5jZSBv
ZiBjYXBhYmlsaXRpZXMuCiBzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIElzQXJyYXkgICAgICAg
ICAgICAgICAgICA9IDE7CiBzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEhhc0FycmF5U3RvcmFn
ZSAgICAgICAgICA9IDg7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEhhc1Nsb3dQdXRBcnJh
eVN0b3JhZ2UgICA9IDE2OwogCiAvLyBBZGRpdGlvbmFsIGZsYWdzIGZvciB0cmFja2luZyB0aGUg
aGlzdG9yeSBvZiB0aGUgdHlwZS4gVGhlc2UgYXJlIHVzdWFsbHkKIC8vIG1hc2tlZCBvZmYgdW5s
ZXNzIHlvdSBhc2sgZm9yIHRoZW0gZGlyZWN0bHkuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBl
IEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDE2OyAvLyBNZWFucyB0aGF0IHRoaXMgb2JqZWN0
IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBhc3QuCitzdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDMyOyAvLyBNZWFucyB0aGF0IHRoaXMg
b2JqZWN0IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBhc3QuCitzdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzICA9IDY0OwogCiAvLyBMaXN0IG9m
IGFjY2VwdGFibGUgYXJyYXkgdHlwZXMuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFy
cmF5ICAgICAgICAgICAgICAgICA9IDA7Ci1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFy
cmF5V2l0aEFycmF5U3RvcmFnZSA9IEhhc0FycmF5U3RvcmFnZTsKLXN0YXRpYyBjb25zdCBJbmRl
eGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgID0gSXNBcnJheTsgLy8gSSdkIHdhbnQg
dG8gY2FsbCB0aGlzICJBcnJheSIgYnV0IHRoaXMgd291bGQgbGVhZCB0byBkaXNhc3Ryb3VzIG5h
bWVzcGFjZSBwb2xsdXRpb24uCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZSAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5ICAgICAgICAgICAgICAgICAgICAgICAgPSAwOworc3RhdGlj
IGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgID0gSGFz
QXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlID0gSGFzU2xvd1B1dEFycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25zdCBJ
bmRleGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgICAgICAgICA9IElzQXJyYXk7IC8v
IEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0aGlzIHdvdWxkIGxlYWQgdG8gZGlz
YXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgICAgID0gSXNBcnJheSB8IEhhc0FycmF5U3RvcmFn
ZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFn
ZSAgICA9IElzQXJyYXkgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdlOworCisjZGVmaW5lIEFMTF9C
TEFOS19JTkRFWElOR19UWVBFUyBcCisgICAgTm9uQXJyYXk6ICAgICAgICAgICAgICAgICAgICBc
CisgICAgY2FzZSBBcnJheUNsYXNzCisKKyNkZWZpbmUgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTIFwKKyAgICBBcnJheVdpdGhBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UKKyAgICAK
KyNkZWZpbmUgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMgICAgICAgICAgICAgICAg
XAorICAgIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAg
ICAgIFwKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUwog
Ci0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcy4KLXN0YXRpYyBjb25zdCBJbmRleGluZ1R5
cGUgQWxsQXJyYXlUeXBlcyAgICAgICAgICAgID0gMTU7CitzdGF0aWMgaW5saW5lIGJvb2wgaGFz
SW5kZXhlZFByb3BlcnRpZXMoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKK3sKKyAgICBzd2l0
Y2ggKGluZGV4aW5nVHlwZSkgeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorfQogCi0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcyBpbmNsdWRpbmcgdGhl
IGhpc3RvcnkuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXNBbmRIaXN0
b3J5ICA9IDMxOworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4aW5nSGVhZGVyKEluZGV4aW5n
VHlwZSB0eXBlKQoreworICAgIHJldHVybiBoYXNJbmRleGVkUHJvcGVydGllcyh0eXBlKTsKK30K
IAotaW5saW5lIGJvb2wgaGFzSW5kZXhpbmdIZWFkZXIoSW5kZXhpbmdUeXBlIHR5cGUpCitzdGF0
aWMgaW5saW5lIGJvb2wgaGFzQXJyYXlTdG9yYWdlKEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUp
CiB7Ci0gICAgcmV0dXJuICEhKHR5cGUgJiBIYXNBcnJheVN0b3JhZ2UpOworICAgIHJldHVybiAh
IShpbmRleGluZ1R5cGUgJiAoSGFzQXJyYXlTdG9yYWdlIHwgSGFzU2xvd1B1dEFycmF5U3RvcmFn
ZSkpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkVXNlU2xvd1B1dChJbmRleGluZ1R5
cGUgaW5kZXhpbmdUeXBlKQoreworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUgJiBIYXNTbG93
UHV0QXJyYXlTdG9yYWdlKTsKK30KKworLy8gTWFzayBvZiBhbGwgcG9zc2libGUgdHlwZXMuCitz
dGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMgICAgICAgICAgICA9IDMxOwor
CisvLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcyBpbmNsdWRpbmcgdGhlIGhpc3RvcnkuCitz
dGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXNBbmRIaXN0b3J5ICA9IDEyNzsK
KwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBJbmRleGluZ1R5cGVfaApJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MDQsNyArNDA0LDcgQEAgSlNWYWx1ZSBKU0FycmF5Ojpwb3AoRXhlY1N0YXRl
KiBleGVjKQogICAgIGNhc2UgQXJyYXlDbGFzczoKICAgICAgICAgcmV0dXJuIGpzVW5kZWZpbmVk
KCk7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2Fz
ZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJy
YXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgIAog
ICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdG9yYWdlLT5sZW5ndGgoKTsKQEAgLTQ2NCw2ICs0
NjQsMTYgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNTdGF0ZSogZXhlYywgSlNWYQogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5
U3RvcmFnZTogeworICAgICAgICB1bnNpZ25lZCBvbGRMZW5ndGggPSBsZW5ndGgoKTsKKyAgICAg
ICAgaWYgKGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoZXhlYywgb2xkTGVuZ3Ro
LCB2YWx1ZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgIGlmICghZXhlYy0+aGFkRXhjZXB0aW9uKCkg
JiYgb2xkTGVuZ3RoIDwgMHhGRkZGRkZGRnUpCisgICAgICAgICAgICAgICAgc2V0TGVuZ3RoKGV4
ZWMsIG9sZExlbmd0aCArIDEsIHRydWUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICB9CisgICAgICAgIAogICAgIGNhc2UgQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1f
YnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKIApAQCAtOTE3LDcgKzkyNyw3IEBAIHZvaWQgSlNB
cnJheTo6ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBleGUKICAgICBjYXNlIEFycmF5Q2xhc3M6CiAg
ICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogewor
ICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAg
ICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsK
ICAgICAgICAgCiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogdmVjdG9yID0gc3RvcmFn
ZS0+bV92ZWN0b3I7CkBAIC05NDcsNyArOTU3LDcgQEAgdm9pZCBKU0FycmF5Ojpjb3B5VG9Bcmd1
bWVudHMoRXhlY1N0YXRlKgogICAgIGNhc2UgQXJyYXlDbGFzczoKICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJS
QVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3Rv
cmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgdW5z
aWduZWQgaSA9IDA7CiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogdmVjdG9yID0gc3Rv
cmFnZS0+bV92ZWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDkgKzc4LDkgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIHZvaWQgZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiwgTWFya2VkQXJndW1lbnRCdWZm
ZXImKTsKICAgICAgICAgdm9pZCBjb3B5VG9Bcmd1bWVudHMoRXhlY1N0YXRlKiwgQ2FsbEZyYW1l
KiwgdWludDMyX3QgbGVuZ3RoKTsKIAotICAgICAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVhdGVT
dHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3Jl
YXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUsIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxE
YXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3RydWN0
dXJlRmxhZ3MpLCAmc19pbmZvLCBBcnJheVdpdGhBcnJheVN0b3JhZ2UpOworICAgICAgICAgICAg
cmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8sIGluZGV4
aW5nVHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgcHJvdGVjdGVkOgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkocmV2
aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTExLDcgQEAgc3RhdGljIGNvbnN0
IGludCBwcmVmZXJyZWRTY3JpcHRDaGVja1RpbQogSlNHbG9iYWxPYmplY3Q6OkpTR2xvYmFsT2Jq
ZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0
IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKICAgICA6
IEJhc2UoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCAwKQogICAgICwgbV9tYXNxdWVyYWRlc0FzVW5k
ZWZpbmVkV2F0Y2hwb2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2ludFNldChJbml0aWFsaXplZFdh
dGNoaW5nKSkpCisgICAgLCBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludChhZG9wdFJlZihuZXcg
V2F0Y2hwb2ludFNldChJbml0aWFsaXplZFdhdGNoaW5nKSkpCiAgICAgLCBtX3dlYWtSYW5kb20o
T3B0aW9uczo6Zm9yY2VXZWFrUmFuZG9tU2VlZCgpID8gT3B0aW9uczo6Zm9yY2VkV2Vha1JhbmRv
bVNlZWQoKSA6IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21OdW1iZXIoKSAqIChzdGQ6Om51
bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkKICAgICAsIG1fZXZhbEVuYWJs
ZWQodHJ1ZSkKICAgICAsIG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoZ2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgPyBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSA6ICZzX2dsb2JhbE9iamVjdE1ldGhv
ZFRhYmxlKQpAQCAtMjMwLDcgKzIzMSw4IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnJlc2V0KEpT
VmFsdWUgcHJvdG8KICAgICBtX2NhbGxiYWNrT2JqZWN0U3RydWN0dXJlLnNldChleGVjLT5nbG9i
YWxEYXRhKCksIHRoaXMsIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25GaW5hbE9iamVjdD46OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdl
dCgpKSk7CiAKICAgICBtX2FycmF5UHJvdG90eXBlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRo
aXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgQXJyYXlQcm90b3R5cGU6OmNy
ZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBl
LmdldCgpKSkpOwotICAgIG1fYXJyYXlTdHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwg
dGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywg
bV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fYXJyYXlTdHJ1Y3R1cmUuc2V0KGV4ZWMt
Pmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2Jh
bERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRoQXJyYXlTdG9y
YWdlKSk7CisgICAgbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQuc2V0KGV4ZWMtPmdsb2JhbERh
dGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
dGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFn
ZSkpOwogICAgIG1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlLnNldChleGVjLT5nbG9iYWxE
YXRhKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmds
b2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOwogCiAgICAgbV9zdHJp
bmdQcm90b3R5cGUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgU3RyaW5nUHJvdG90eXBl
OjpjcmVhdGUoZXhlYywgdGhpcywgU3RyaW5nUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhl
Yy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKQEAgLTMy
OSw2ICszMzEsODIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVzZXQoSlNWYWx1ZSBwcm90bwog
ICAgIHJlc2V0UHJvdG90eXBlKGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvdG90eXBlKTsKIH0KIAor
Ly8gUHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2JqZWN0OjpoYXZl
QUJhZFRpbWUoKQorbmFtZXNwYWNlIHsKKworY2xhc3MgT2JqZWN0c1dpdGhCcm9rZW5JbmRleGlu
Z0ZpbmRlciA6IHB1YmxpYyBNYXJrZWRCbG9jazo6Vm9pZEZ1bmN0b3IgeworcHVibGljOgorICAg
IE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIoTWFya2VkQXJndW1lbnRCdWZmZXImLCBK
U0dsb2JhbE9iamVjdCopOworICAgIHZvaWQgb3BlcmF0b3IoKShKU0NlbGwqKTsKKworcHJpdmF0
ZToKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgbV9mb3VuZE9iamVjdHM7CisgICAgSlNHbG9i
YWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OworfTsKKworT2JqZWN0c1dpdGhCcm9rZW5JbmRleGlu
Z0ZpbmRlcjo6T2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcigKKyAgICBNYXJrZWRBcmd1
bWVudEJ1ZmZlciYgZm91bmRPYmplY3RzLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQor
ICAgIDogbV9mb3VuZE9iamVjdHMoZm91bmRPYmplY3RzKQorICAgICwgbV9nbG9iYWxPYmplY3Qo
Z2xvYmFsT2JqZWN0KQoreworfQorCitpbmxpbmUgYm9vbCBoYXNCcm9rZW5JbmRleGluZyhKU09i
amVjdCogb2JqZWN0KQoreworICAgIC8vIFRoaXMgd2lsbCBjaGFuZ2UgaWYgd2UgaGF2ZSBtb3Jl
IGluZGV4aW5nIHR5cGVzLgorICAgIHJldHVybiAhIShvYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSAmIEhhc0FycmF5U3RvcmFnZSk7Cit9CisKK3ZvaWQgT2JqZWN0c1dpdGhCcm9r
ZW5JbmRleGluZ0ZpbmRlcjo6b3BlcmF0b3IoKShKU0NlbGwqIGNlbGwpCit7CisgICAgaWYgKCFj
ZWxsLT5pc09iamVjdCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgSlNPYmplY3QqIG9i
amVjdCA9IGFzT2JqZWN0KGNlbGwpOworICAgIAorICAgIC8vIFdlIG9ubHkgd2FudCB0byBoYXZl
IGEgYmFkIHRpbWUgaW4gdGhlIGFmZmVjdGVkIGdsb2JhbCBvYmplY3QsIG5vdCBpbiB0aGUgZW50
aXJlCisgICAgLy8gVk0uCisgICAgaWYgKG9iamVjdC0+dW53cmFwcGVkR2xvYmFsT2JqZWN0KCkg
IT0gbV9nbG9iYWxPYmplY3QpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoIWhhc0Jy
b2tlbkluZGV4aW5nKG9iamVjdCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBtX2ZvdW5k
T2JqZWN0cy5hcHBlbmQob2JqZWN0KTsKK30KKworfSAvLyBlbmQgcHJpdmF0ZSBuYW1lc3BhY2Ug
Zm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoKQorCit2b2lkIEpT
R2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQorewor
ICAgIEFTU0VSVCgmZ2xvYmFsRGF0YSA9PSAmdGhpcy0+Z2xvYmFsRGF0YSgpKTsKKyAgICAKKyAg
ICBpZiAoaXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgLy8g
TWFrZSBzdXJlIHRoYXQgYWxsIGFsbG9jYXRpb25zIG9yIGluZGV4ZWQgc3RvcmFnZSB0cmFuc2l0
aW9ucyB0aGF0IGFyZSBpbmxpbmluZworICAgIC8vIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQncyBz
YWZlIHRvIHRyYW5zaXRpb24gdG8gYSBub24tU2xvd1B1dCBhcnJheSBzdG9yYWdlIGRvbid0Cisg
ICAgLy8gZG8gc28gYW55bW9yZS4KKyAgICBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludC0+bm90
aWZ5V3JpdGUoKTsKKyAgICBBU1NFUlQoaXNIYXZpbmdBQmFkVGltZSgpKTsgLy8gVGhlIHdhdGNo
cG9pbnQgaXMgd2hhdCB0ZWxscyB1cyB0aGF0IHdlJ3JlIGhhdmluZyBhIGJhZCB0aW1lLgorICAg
IAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBKU0FycmF5IGFsbG9jYXRpb25zIHRoYXQgbG9h
ZCB0aGUgYXBwcm9wcmlhdGUgc3RydWN0dXJlIGZyb20KKyAgICAvLyB0aGlzIG9iamVjdCBub3cg
bG9hZCBhIHN0cnVjdHVyZSB0aGF0IHVzZXMgU2xvd1B1dC4KKyAgICBtX2FycmF5U3RydWN0dXJl
LnNldChnbG9iYWxEYXRhLCB0aGlzLCBtX2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dC5nZXQoKSk7
CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIG9iamVjdHMgdGhhdCBoYXZlIGluZGV4
ZWQgc3RvcmFnZSBzd2l0Y2ggdG8gdGhlIHNsb3cga2luZCBvZgorICAgIC8vIGluZGV4ZWQgc3Rv
cmFnZS4KKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBmb3VuZE9iamVjdHM7IC8vIFVzZSBNYXJr
ZWRBcmd1bWVudEJ1ZmZlciBiZWNhdXNlIHN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZSgpIG1h
eSBHQy4KKyAgICBPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5nRmluZGVyIGZpbmRlcihmb3VuZE9i
amVjdHMsIHRoaXMpOworICAgIGdsb2JhbERhdGEuaGVhcC5vYmplY3RTcGFjZSgpLmZvckVhY2hM
aXZlQ2VsbChmaW5kZXIpOworICAgIHdoaWxlICghZm91bmRPYmplY3RzLmlzRW1wdHkoKSkgewor
ICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoZm91bmRPYmplY3RzLmxhc3QoKSk7
CisgICAgICAgIGZvdW5kT2JqZWN0cy5yZW1vdmVMYXN0KCk7CisgICAgICAgIEFTU0VSVChoYXNC
cm9rZW5JbmRleGluZyhvYmplY3QpKTsKKyAgICAgICAgb2JqZWN0LT5zd2l0Y2hUb1Nsb3dQdXRB
cnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSk7CisgICAgfQorfQorCiB2b2lkIEpTR2xvYmFsT2JqZWN0
OjpjcmVhdGVUaHJvd1R5cGVFcnJvcihFeGVjU3RhdGUqIGV4ZWMpCiB7CiAgICAgSlNGdW5jdGlv
biogdGhyb3dlciA9IEpTRnVuY3Rpb246OmNyZWF0ZShleGVjLCB0aGlzLCAwLCBTdHJpbmcoKSwg
Z2xvYmFsRnVuY1Rocm93VHlwZUVycm9yKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMTI2LDcgKzEyNiw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBXcml0ZUJhcnJpZXI8
U3RydWN0dXJlPiBtX2FjdGl2YXRpb25TdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxT
dHJ1Y3R1cmU+IG1fbmFtZVNjb3BlU3RydWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3Ry
dWN0dXJlPiBtX2FyZ3VtZW50c1N0cnVjdHVyZTsKLSAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVj
dHVyZT4gbV9hcnJheVN0cnVjdHVyZTsKKyAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9hcnJheVN0cnVjdHVyZTsgLy8gVGhpcyBnZXRzIHNldCB0byBtX2FycmF5U3RydWN0dXJlRm9y
U2xvd1B1dCBhcyBzb29uIGFzIHdlIGRlY2lkZSB0byBoYXZlIGEgYmFkIHRpbWUuCisgICAgICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmVGb3JTbG93UHV0OwogICAg
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmU7CiAg
ICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJhY2tDb25zdHJ1Y3RvclN0cnVj
dHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9jYWxsYmFja0Z1bmN0aW9u
U3RydWN0dXJlOwpAQCAtMTQ5LDYgKzE1MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBE
ZWJ1Z2dlciogbV9kZWJ1Z2dlcjsKIAogICAgICAgICBSZWZQdHI8V2F0Y2hwb2ludFNldD4gbV9t
YXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludDsKKyAgICAgICAgUmVmUHRyPFdhdGNocG9p
bnRTZXQ+IG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50OwogCiAgICAgICAgIE93blB0cjxKU0ds
b2JhbE9iamVjdFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogCkBAIC0yNjAsNiArMjYyLDcgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0cnVjdHVyZSogbmFtZVNjb3BlU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9uYW1lU2NvcGVTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3RydWN0
dXJlKiBhcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2FyZ3VtZW50c1N0cnVj
dHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGFycmF5U3RydWN0dXJlKCkgY29uc3Qg
eyByZXR1cm4gbV9hcnJheVN0cnVjdHVyZS5nZXQoKTsgfQorICAgICAgICB2b2lkKiBhZGRyZXNz
T2ZBcnJheVN0cnVjdHVyZSgpIHsgcmV0dXJuICZtX2FycmF5U3RydWN0dXJlOyB9CiAgICAgICAg
IFN0cnVjdHVyZSogYm9vbGVhbk9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYm9v
bGVhbk9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGNhbGxiYWNr
Q29uc3RydWN0b3JTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxiYWNrQ29uc3RydWN0
b3JTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3RydWN0dXJlKiBjYWxsYmFja0Z1bmN0aW9u
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlLmdl
dCgpOyB9CkBAIC0yODAsNiArMjgzLDE0IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJ1
Y3R1cmUqIHN0cmluZ09iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RyaW5nT2Jq
ZWN0U3RydWN0dXJlLmdldCgpOyB9CiAKICAgICAgICAgV2F0Y2hwb2ludFNldCogbWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoKSB7IHJldHVybiBtX21hc3F1ZXJhZGVzQXNVbmRlZmlu
ZWRXYXRjaHBvaW50LmdldCgpOyB9CisgICAgICAgIFdhdGNocG9pbnRTZXQqIGhhdmluZ0FCYWRU
aW1lV2F0Y2hwb2ludCgpIHsgcmV0dXJuIG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50LmdldCgp
OyB9CisgICAgICAgIAorICAgICAgICBib29sIGlzSGF2aW5nQUJhZFRpbWUoKSBjb25zdAorICAg
ICAgICB7CisgICAgICAgICAgICByZXR1cm4gbV9oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQtPmhh
c0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB2b2lkIGhh
dmVBQmFkVGltZShKU0dsb2JhbERhdGEmKTsKIAogICAgICAgICB2b2lkIHNldFByb2ZpbGVHcm91
cCh1bnNpZ25lZCB2YWx1ZSkgeyBjcmVhdGVSYXJlRGF0YUlmTmVlZGVkKCk7IG1fcmFyZURhdGEt
PnByb2ZpbGVHcm91cCA9IHZhbHVlOyB9CiAgICAgICAgIHVuc2lnbmVkIHByb2ZpbGVHcm91cCgp
IGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3Bw
CShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09i
amVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw4ICsxMzIsNyBAQCBBTFdBWVNfSU5MSU5F
IHZvaWQgSlNPYmplY3Q6OnZpc2l0QnV0dGVyCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8v
IE1hcmsgYW5kIGNvcHkgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRlLgogICAgICAgICAgICAgc3dp
dGNoIChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIEFycmF5
V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OiB7CiAgICAgICAgICAgICAgICAgbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+Y29weUhl
YWRlckZyb21EdXJpbmdHQygqYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKSk7CiAgICAgICAgICAg
ICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBjdXJyZW50VGFyZ2V0ID0gbmV3QnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3I7CiAgICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVy
PFVua25vd24+KiBjdXJyZW50U291cmNlID0gYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92
ZWN0b3I7CkBAIC0xNTksOCArMTU4LDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0Ojp2
aXNpdEJ1dHRlcgogICAgICAgICAKICAgICAgICAgLy8gTWFyayB0aGUgYXJyYXkgaWYgYXBwcm9w
cmlhdGUuCiAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSkgewotICAg
ICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgY2FzZSBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6CisgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVlcyhidXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpLT5tX3ZlY3RvciwgYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVu
Z3RoKCkpOwogICAgICAgICAgICAgaWYgKGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fc3Bh
cnNlTWFwKQogICAgICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5kKCZidXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCk7CkBAIC0yMzMsMTIgKzIzMSwxMCBAQCBib29sIEpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4CiAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0
LT5tZXRob2RUYWJsZSgpLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgZXhlYywgSWRl
bnRpZmllcjo6ZnJvbShleGVjLCBpKSwgc2xvdCk7CiAgICAgCiAgICAgc3dpdGNoICh0aGlzT2Jq
ZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5Ogot
ICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoK
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJS
QVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3Jh
Z2UgPSB0aGlzT2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlm
IChpID49IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAt
MzAwLDcgKzI5Niw3IEBAIHZvaWQgSlNPYmplY3Q6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGEK
ICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKICAgICAgICAgSlNDZWxsKiBzcGVjaWZpY1Zh
bHVlOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBvYmotPnN0cnVjdHVyZSgpLT5n
ZXQoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVzLCBzcGVjaWZpY1ZhbHVlKTsK
LSAgICAgICAgaWYgKG9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7CisgICAgICAgIGlmIChpc1Zh
bGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9u
bHkpIHsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1N0cmljdE1vZGUoKSkKICAgICAgICAg
ICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgQVNDSUlM
aXRlcmFsKFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcikpKTsKQEAgLTM1Myw4
ICszNDksNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgCiAgICAg
fQogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlw
ZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTM4MCw2ICszNzUsMzQgQEAgdm9p
ZCBKU09iamVjdDo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgICAgICAKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6
CisgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiB7CisgICAgICAgIEFycmF5
U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0gc3RvcmFnZS0+dmVjdG9y
TGVuZ3RoKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgCisgICAgICAgIFdyaXRlQmFy
cmllcjxVbmtub3duPiYgdmFsdWVTbG90ID0gc3RvcmFnZS0+bV92ZWN0b3JbcHJvcGVydHlOYW1l
XTsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+bGVuZ3RoKCk7CisgICAgICAg
IAorICAgICAgICAvLyBVcGRhdGUgbGVuZ3RoICYgbV9udW1WYWx1ZXNJblZlY3RvciBhcyBuZWNl
c3NhcnkuCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0gbGVuZ3RoKSB7CisgICAgICAgICAg
ICBpZiAodGhpc09iamVjdC0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVj
LCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgbGVuZ3RoID0gcHJvcGVydHlOYW1lICsgMTsKKyAgICAgICAgICAg
IHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOworICAgICAgICAgICAgKytzdG9yYWdlLT5tX251
bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZVNsb3QpIHsKKyAgICAg
ICAgICAgIGlmICh0aGlzT2JqZWN0LT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xl
KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KSkKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICArK3N0b3JhZ2UtPm1fbnVtVmFsdWVzSW5WZWN0b3I7Cisg
ICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhbHVlU2xvdC5zZXQoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgIHRoaXNPYmplY3QtPmNoZWNrSW5kZXhp
bmdDb25zaXN0ZW5jeSgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgICAgICAKICAgICBk
ZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICB9CkBAIC00MjQsOCAr
NDQ3LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SQogdm9pZCBK
U09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAg
IGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJheVN0b3JhZ2VBbHJlYWR5RXhp
c3RzKGdsb2JhbERhdGEsIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKSk7CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKQEAgLTQzNCwxMCArNDU2LDIzIEBAIHZvaWQgSlNPYmplY3Q6OmVudGVy
RGljdGlvbmFyeUluZGV4aW5nTW8KICAgICB9CiB9CiAKK3ZvaWQgSlNPYmplY3Q6Om5vdGlmeVBy
ZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAg
ICBpZiAobWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRy
YW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFkZEluZGV4ZWRBY2Nlc3NvcnMpKTsK
KyAgICAKKyAgICBpZiAoIW1heUJlVXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpKQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgZ2xvYmFsT2JqZWN0KCktPmhhdmVBQmFkVGltZShnbG9iYWxE
YXRhKTsKK30KKwogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYWdlKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgbGVuZ3RoLCB1bnNpZ25lZCB2ZWN0b3JM
ZW5ndGgpCiB7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBzdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCk7Ci0gICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCBvbGRUeXBlID09IE5vbkFycmF5
IHx8IG9sZFR5cGUgPT0gQXJyYXlDbGFzcyk7CisgICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCAh
aGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwogICAgIEJ1dHRlcmZseSogbmV3QnV0dGVy
Zmx5ID0gbV9idXR0ZXJmbHktPmdyb3dBcnJheVJpZ2h0KAogICAgICAgICBnbG9iYWxEYXRhLCBz
dHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFjaXR5KCksIGZhbHNlLCAwLAog
ICAgICAgICBBcnJheVN0b3JhZ2U6OnNpemVGb3IodmVjdG9yTGVuZ3RoKSk7CkBAIC00NTMsNyAr
NDg4LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlQXJyYXlTdG9yYQogICAgIHJl
c3VsdC0+bV9pbml0aWFsaXphdGlvbkluZGV4ID0gMDsKICAgICByZXN1bHQtPm1faW5Db21wYWN0
SW5pdGlhbGl6YXRpb24gPSAwOwogI2VuZGlmCi0gICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUo
KSwgQWxsb2NhdGVBcnJheVN0b3JhZ2UpOworICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0g
U3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCks
IHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24oKSk7CiAgICAgc2V0QnV0
dGVyZmx5KGdsb2JhbERhdGEsIG5ld0J1dHRlcmZseSwgbmV3U3RydWN0dXJlKTsKICAgICByZXR1
cm4gcmVzdWx0OwogfQpAQCAtNDY2LDEyICs1MDEsMTAgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVj
dDo6Y3JlYXRlSW5pdGlhbEFycgogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW5zdXJlQXJyYXlT
dG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkg
ewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgTm9uQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgIHJldHVybiBlbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGVXaGVuQXJyYXlTdG9y
YWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkp
OwogICAgICAgICAKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAgY2FzZSBOb25BcnJheTogewor
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGNyZWF0ZUFycmF5
U3RvcmFnZShnbG9iYWxEYXRhLCAwLCAwKTsKICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcCog
bWFwID0gYWxsb2NhdGVTcGFyc2VJbmRleE1hcChnbG9iYWxEYXRhKTsKICAgICAgICAgbWFwLT5z
ZXRTcGFyc2VNb2RlKCk7CkBAIC00ODQsNiArNTE3LDIyIEBAIEFycmF5U3RvcmFnZSogSlNPYmpl
Y3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICB9CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnN3aXRjaFRv
U2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgc3dp
dGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKKyAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAg
ICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0
aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2Up
OworICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorICAgICAgICAKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCiB2b2lkIEpTT2JqZWN0
OjpwdXREaXJlY3RWaXJ0dWFsKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRl
cykKIHsKICAgICBBU1NFUlQoIXZhbHVlLmlzR2V0dGVyU2V0dGVyKCkgJiYgIShhdHRyaWJ1dGVz
ICYgQWNjZXNzb3IpKTsKQEAgLTQ5MSw2ICs1NDAsMzMgQEAgdm9pZCBKU09iamVjdDo6cHV0RGly
ZWN0VmlydHVhbChKU09iamVjdAogICAgIG9iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9k
ZURlZmluZU93blByb3BlcnR5PihleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgdmFs
dWUsIGF0dHJpYnV0ZXMsIHNsb3QsIGdldENhbGxhYmxlT2JqZWN0KHZhbHVlKSk7CiB9CiAKK3Zv
aWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFs
dWUgcHJvdG90eXBlKQoreworICAgIEFTU0VSVChwcm90b3R5cGUpOworICAgIGlmIChwcm90b3R5
cGUuaXNPYmplY3QoKSkKKyAgICAgICAgYXNPYmplY3QocHJvdG90eXBlKS0+bm90aWZ5VXNlZEFz
UHJvdG90eXBlKGdsb2JhbERhdGEpOworICAgIAorICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJl
ID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVj
dHVyZSgpLCBwcm90b3R5cGUpOworICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBuZXdTdHJ1
Y3R1cmUpOworICAgIAorICAgIGlmICghbmV3U3RydWN0dXJlLT5hbnlPYmplY3RJbkNoYWluTWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBp
ZiAobWF5QmVVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpIHsKKyAgICAgICAgbmV3U3RydWN0
dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKGdsb2JhbERhdGEpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIAorICAgIGlmICghaGFzSW5kZXhpbmdIZWFkZXIoc3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmIChzaG91
bGRVc2VTbG93UHV0KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpCisgICAgICAgIHJldHVy
bjsKKyAgICAKKyAgICBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNp
dGlvbihnbG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUsIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFn
ZSk7CisgICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIG5ld1N0cnVjdHVyZSk7Cit9CisKIGJv
b2wgSlNPYmplY3Q6OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWNrKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CiAgICAgSlNWYWx1ZSBjaGVja0ZvciA9IHRo
aXM7CkBAIC01MDcsOSArNTgzLDMyIEBAIGJvb2wgSlNPYmplY3Q6OnNldFByb3RvdHlwZVdpdGhD
eWNsZUNoZWMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBKU09iamVjdDo6cmVzZXRJbmhl
cml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgUHJvcGVydHlPZmZzZXQg
b2Zmc2V0ID0gc3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJp
dG9ySURLZXkpOworICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERhdGEsIG9mZnNldCwganNVbmRl
ZmluZWQoKSk7Cit9CisKK1N0cnVjdHVyZSogSlNPYmplY3Q6OmluaGVyaXRvcklEKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBpZiAoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiog
bG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5o
ZXJpdG9ySURLZXkpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSBsb2NhdGlvbi0+Z2V0KCk7
CisgICAgICAgIGlmICh2YWx1ZS5pc0NlbGwoKSkgeworICAgICAgICAgICAgU3RydWN0dXJlKiBp
bmhlcml0b3JJRCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPih2YWx1ZSk7CisgICAgICAgICAgICBBU1NF
UlQoaW5oZXJpdG9ySUQtPmlzRW1wdHkoKSk7CisgICAgICAgICAgICByZXR1cm4gaW5oZXJpdG9y
SUQ7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUKHZhbHVlLmlzVW5kZWZpbmVkKCkpOworICAg
IH0KKyAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFsRGF0YSk7Cit9CisKIGJvb2wg
SlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20oRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBpc0dsb2JhbFRoaXMoKSA/IGpzQ2FzdDxKU0dsb2Jh
bFRoaXMqPih0aGlzKS0+dW53cmFwcGVkT2JqZWN0KCkgOiB0aGlzLT5nbG9iYWxPYmplY3QoKTsK
KyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdW53cmFwcGVkR2xvYmFsT2JqZWN0
KCk7CiAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+
YWxsb3dzQWNjZXNzRnJvbShnbG9iYWxPYmplY3QsIGV4ZWMpOwogfQogCkBAIC01OTYsMTIgKzY5
NSwxMCBAQCBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDCiAgICAgICAg
IHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eSh0aGlzT2Jq
ZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIGkpKTsKICAgICAKICAgICBzd2l0Y2gg
KHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJy
YXlDbGFzczoKLSAgICBjYXNlIE5vbkFycmF5OgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5H
X1RZUEVTOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgCi0gICAgY2FzZSBBcnJheVdp
dGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAg
ICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5
U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KTsKICAgICAgICAgCiAgICAgICAgIGlmIChpIDwgc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpIHsK
QEAgLTc2MSwxMiArODU4LDEwIEBAIHZvaWQgSlNPYmplY3Q6OmdldE93blByb3BlcnR5TmFtZXMo
SlNPYmoKICAgICAvLyBpcyBpbmNyZWRpYmx5IGluZWZmaWNpZW50IGZvciBsYXJnZSBhcnJheXMu
IFdlIG5lZWQgYSBkaWZmZXJlbnQgYXBwcm9hY2gsCiAgICAgLy8gd2hpY2ggYWxtb3N0IGNlcnRh
aW5seSBtZWFucyBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUgZm9yIFByb3BlcnR5TmFtZUFycmF5Lgog
ICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBj
YXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19J
TkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgTm9uQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7Cisg
ICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJh
eVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsK
ICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIHVzZWRWZWN0b3JMZW5ndGggPSBzdGQ6Om1pbihz
dG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpOwpAQCAtODU2LDYgKzk1
MSwxMyBAQCB2b2lkIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9ucyhKU0dsb2JhCiAgICAgICAg
IHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJh
bnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSkpOwogfQogCitKU0dsb2JhbE9iamVjdCog
SlNPYmplY3Q6OnVud3JhcHBlZEdsb2JhbE9iamVjdCgpCit7CisgICAgaWYgKGlzR2xvYmFsVGhp
cygpKQorICAgICAgICByZXR1cm4ganNDYXN0PEpTR2xvYmFsVGhpcyo+KHRoaXMpLT51bndyYXBw
ZWRPYmplY3QoKTsKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0KCk7Cit9CisKIC8vIFRoaXMgcHJl
c2VudGx5IHdpbGwgZmxhdHRlbiB0byBhbiB1bmNhY2hhYmxlIGRpY3Rpb25hcnk7IHRoaXMgaXMg
c3VpdGFibGUKIC8vIGZvciB1c2UgaW4gZGVsZXRlLCB3ZSBtYXkgd2FudCB0byBkbyBzb21ldGhp
bmcgZGlmZmVyZW50IGVsc2V3aGVyZS4KIHZvaWQgSlNPYmplY3Q6OnJlaWZ5U3RhdGljRnVuY3Rp
b25zRm9yRGVsZXRlKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTkxOSwxOCArMTAyMSwzNSBAQCBORVZF
Ul9JTkxJTkUgdm9pZCBKU09iamVjdDo6ZmlsbEdldHRlclByCiAgICAgICAgIHNsb3Quc2V0VW5k
ZWZpbmVkKCk7CiB9CiAKLVN0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklEKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3ZvaWQgSlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3Rv
dHlwZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7Ci0gICAgQVNTRVJUKCFnZXREaXJlY3RM
b2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKTsKLQotICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Q7Ci0gICAgaWYgKGlzR2xvYmFsVGhpcygpKQot
ICAgICAgICBnbG9iYWxPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0dsb2JhbFRoaXMqPih0aGlzKS0+
dW53cmFwcGVkT2JqZWN0KCk7Ci0gICAgZWxzZQotICAgICAgICBnbG9iYWxPYmplY3QgPSBzdHJ1
Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCk7Ci0gICAgQVNTRVJUKGdsb2JhbE9iamVjdCk7CisgICAg
UHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9i
YWxEYXRhLm1faW5oZXJpdG9ySURLZXkpOworICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkp
CisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKKyAgICBw
dXREaXJlY3RJbnRlcm5hbDxQdXRNb2RlRGVmaW5lT3duUHJvcGVydHk+KGdsb2JhbERhdGEsIGds
b2JhbERhdGEubV9pbmhlcml0b3JJREtleSwganNVbmRlZmluZWQoKSwgRG9udEVudW0sIHNsb3Qs
IDApOworICAgIAorICAgIC8vIE5vdGUgdGhhdCB0aGlzIG1ldGhvZCBtYWtlcyB0aGUgc29tZXdo
YXQgb2RkIGRlY2lzaW9uIHRvIG5vdCBjaGVjayBpZiB0aGlzCisgICAgLy8gb2JqZWN0IGN1cnJl
bnRseSBoYXMgaW5kZXhlZCBhY2Nlc3NvcnMuIFdlIGNvdWxkIGRvIHRoYXQgY2hlY2sgaGVyZSwg
YW5kIGlmCisgICAgLy8gaW5kZXhlZCBhY2Nlc3NvcnMgd2VyZSBmb3VuZCwgd2UgY291bGQgdGVs
bCB0aGUgZ2xvYmFsIG9iamVjdCB0byBoYXZlIGEgYmFkCisgICAgLy8gdGltZS4gQnV0IHdlIGF2
b2lkIHRoaXMsIHRvIGFsbG93IHRoZSBmb2xsb3dpbmcgdG8gYmUgYWx3YXlzIGZhc3Q6CisgICAg
Ly8KKyAgICAvLyAxKSBDcmVhdGUgYW4gb2JqZWN0LgorICAgIC8vIDIpIEdpdmUgaXQgYSBzZXR0
ZXIgb3IgcmVhZC1vbmx5IHByb3BlcnR5IHRoYXQgaGFwcGVucyB0byBoYXZlIGEgbnVtZXJpYyBu
YW1lLgorICAgIC8vIDMpIEFsbG9jYXRlIG9iamVjdHMgdGhhdCB1c2UgdGhpcyBvYmplY3QgYXMg
YSBwcm90b3R5cGUuCisgICAgLy8KKyAgICAvLyBUaGlzIGF2b2lkcyBhbnlvbmUgaGF2aW5nIGEg
YmFkIHRpbWUuIEV2ZW4gaWYgdGhlIGluc3RhbmNlIG9iamVjdHMgZW5kIHVwCisgICAgLy8gaGF2
aW5nIGluZGV4ZWQgc3RvcmFnZSwgdGhlIGNyZWF0aW9uIG9mIGluZGV4ZWQgc3RvcmFnZSBsZWFk
cyB0byBhIHByb3RvdHlwZQorICAgIC8vIGNoYWluIHdhbGsgdGhhdCBkZXRlY3RzIHRoZSBwcmVz
ZW5jZSBvZiBpbmRleGVkIHNldHRlcnMgYW5kIHRoZW4gZG9lcyB0aGUKKyAgICAvLyByaWdodCB0
aGluZy4gQXMgYSByZXN1bHQsIGhhdmluZyBhIGJhZCB0aW1lIG9ubHkgaGFwcGVucyBpZiB5b3Ug
YWRkIGFuCisgICAgLy8gaW5kZXhlZCBzZXR0ZXIgKG9yIGdldHRlciwgb3IgcmVhZC1vbmx5IGZp
ZWxkKSB0byBhbiBvYmplY3QgdGhhdCBpcyBhbHJlYWR5CisgICAgLy8gdXNlZCBhcyBhIHByb3Rv
dHlwZS4KK30KIAotICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBjcmVhdGVFbXB0eU9iamVj
dFN0cnVjdHVyZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHRoaXMpOworU3RydWN0dXJlKiBK
U09iamVjdDo6Y3JlYXRlSW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQorewor
ICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBjcmVhdGVFbXB0eU9iamVjdFN0cnVjdHVyZShn
bG9iYWxEYXRhLCB1bndyYXBwZWRHbG9iYWxPYmplY3QoKSwgdGhpcyk7CiAgICAgQVNTRVJUKGlu
aGVyaXRvcklELT5pc0VtcHR5KCkpOwogCiAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7CkBAIC05
ODAsNiArMTA5OSw5IEBAIHZvaWQgSlNPYmplY3Q6OnB1dEluZGV4ZWREZXNjcmlwdG9yKEV4ZWMK
IGJvb2wgSlNPYmplY3Q6OmRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIGluZGV4LCBQcm9wZXJ0eURlc2NyaXB0b3ImIGRlc2NyaXB0b3IsIGJvb2wgdGhy
b3dFeGNlcHRpb24pCiB7CiAgICAgQVNTRVJUKGluZGV4ICE9IDB4RkZGRkZGRkYpOworICAgIAor
ICAgIGlmIChkZXNjcmlwdG9yLmF0dHJpYnV0ZXMoKSAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkK
KyAgICAgICAgbm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMoZXhlYy0+Z2xvYmFsRGF0
YSgpKTsKIAogICAgIGlmICghaW5TcGFyc2VJbmRleGluZ01vZGUoKSkgewogICAgICAgICAvLyBG
YXN0IGNhc2U6IHdlJ3JlIHB1dHRpbmcgYSByZWd1bGFyIHByb3BlcnR5IHRvIGEgcmVndWxhciBh
cnJheQpAQCAtMTEwOCw2ICsxMjMwLDM1IEBAIHZvaWQgSlNPYmplY3Q6OmRlYWxsb2NhdGVTcGFy
c2VJbmRleE1hcCgKICAgICAgICAgYXJyYXlTdG9yYWdlLT5tX3NwYXJzZU1hcC5jbGVhcigpOwog
fQogCitib29sIEpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKEV4
ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJv
dykKK3sKKyAgICBBU1NFUlQoc2hvdWxkVXNlU2xvd1B1dChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpKTsKKyAgICAKKyAgICBmb3IgKFN0cnVjdHVyZSogY3VycmVudCA9IHN0cnVjdHVyZSgp
OyA7KSB7CisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlVmFsdWUgPSBjdXJyZW50LT5zdG9yZWRQ
cm90b3R5cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZVZhbHVlLmlzTnVsbCgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgSlNPYmplY3QqIHByb3RvdHlw
ZSA9IGFzT2JqZWN0KHByb3RvdHlwZVZhbHVlKTsKKyAgICAgICAgCisgICAgICAgIC8vIFRoaXMg
aGFzIHRoZSBzYW1lIGJlaGF2aW9yIHdpdGggcmVzcGVjdCB0byBwcm90b3R5cGVzIGFzIEpTT2Jq
ZWN0OjpwdXQoKS4gSXQgb25seQorICAgICAgICAvLyBhbGxvd3MgYSBwcm90b3R5cGUgdG8gaW50
ZXJjZXB0IGEgcHV0IGlmIChhKSB0aGUgcHJvdG90eXBlIGRlY2xhcmVzIHRoZSBwcm9wZXJ0eQor
ICAgICAgICAvLyB3ZSdyZSBhZnRlciByYXRoZXIgdGhhbiBpbnRlcmNlcHRpbmcgaXQgdmlhIGFu
IG92ZXJyaWRlIG9mIEpTT2JqZWN0OjpwdXQoKSwgYW5kCisgICAgICAgIC8vIChiKSB0aGF0IHBy
b3BlcnR5IGlzIGRlY2xhcmVkIGFzIFJlYWRPbmx5IG9yIEFjY2Vzc29yLgorICAgICAgICAKKyAg
ICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gcHJvdG90eXBlLT5hcnJheVN0b3JhZ2VPck51
bGwoKTsKKyAgICAgICAgaWYgKHN0b3JhZ2UgJiYgc3RvcmFnZS0+bV9zcGFyc2VNYXApIHsKKyAg
ICAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBzdG9yYWdlLT5t
X3NwYXJzZU1hcC0+ZmluZChpKTsKKyAgICAgICAgICAgIGlmIChpdGVyICE9IHN0b3JhZ2UtPm1f
c3BhcnNlTWFwLT5ub3RGb3VuZCgpICYmIChpdGVyLT5zZWNvbmQuYXR0cmlidXRlcyAmIChBY2Nl
c3NvciB8IFJlYWRPbmx5KSkpIHsKKyAgICAgICAgICAgICAgICBpdGVyLT5zZWNvbmQucHV0KGV4
ZWMsIHRoaXMsIHN0b3JhZ2UtPm1fc3BhcnNlTWFwLmdldCgpLCB2YWx1ZSwgc2hvdWxkVGhyb3cp
OworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9
CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gcHJvdG90eXBlLT5zdHJ1Y3R1cmUoKTsKKyAg
ICB9Cit9CisKIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwg
Ym9vbCBzaG91bGRUaHJvdywgQXJyYXlTdG9yYWdlKiBzdG9yYWdlKQogewogICAgIEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSA9IGV4ZWMtPmdsb2JhbERhdGEoKTsKQEAgLTExODgsOCArMTMzOSw3
IEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICBBU1NFUlQo
aSA8PSBNQVhfQVJSQVlfSU5ERVgpOwogICAgIAogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmlu
ZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6
IHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzogewogICAgICAgICBpZiAoaW5k
ZXhpbmdTaG91bGRCZVNwYXJzZSgpKSB7CiAgICAgICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVj
dG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGVu
c3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShnbG9i
YWxEYXRhKSk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTEyMDQsNiArMTM1NCwxMiBAQCB2b2lk
IEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgIHN0b3JhZ2UtPm1f
bnVtVmFsdWVzSW5WZWN0b3IgPSAxOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgICAgIAor
ICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5
V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIGlmIChhdHRlbXB0VG9JbnRlcmNlcHRQ
dXRCeUluZGV4T25Ib2xlKGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIC8vIE90aGVyd2lzZSwgZmFsbCB0aG91Z2guCiAKICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZToKQEAgLTEyOTYsOSArMTQ1MiwxMSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJl
eW9uZFZlY3RvCiAgICAgLy8gaSBzaG91bGQgYmUgYSB2YWxpZCBhcnJheSBpbmRleCB0aGF0IGlz
IG91dHNpZGUgb2YgdGhlIGN1cnJlbnQgdmVjdG9yLgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJB
WV9JTkRFWCk7CiAgICAgCisgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3Nv
cikpCisgICAgICAgIG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKGdsb2JhbERhdGEp
OworICAgIAogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAg
Y2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6IHsKKyAgICBjYXNlIEFMTF9CTEFO
S19JTkRFWElOR19UWVBFUzogewogICAgICAgICBpZiAoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgp
IHx8IGF0dHJpYnV0ZXMpCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRW
ZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBt
b2RlLCBlbnN1cmVBcnJheVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01v
ZGUoZ2xvYmFsRGF0YSkpOwogICAgICAgICBpZiAoIWlzRGVuc2VFbm91Z2hGb3JWZWN0b3IoaSwg
MCkgfHwgaSA+PSBNQVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKQpAQCAtMTMxMCw4ICsxNDY4LDcg
QEAgYm9vbCBKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0bwogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAg
ICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0
b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2Rl
LCBhcnJheVN0b3JhZ2UoKSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xMzUzLDEzICsx
NTEwLDExIEBAIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgSlNPYmplY3Q6OmdldE5ld1YKICAgICB1
bnNpZ25lZCBsZW5ndGg7CiAgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3RoID0gMDsK
ICAgICAgICAgbGVuZ3RoID0gMDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2Fz
ZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3Ro
ID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKICAgICAgICAg
bGVuZ3RoID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5sZW5ndGgoKTsKICAgICAgICAg
YnJlYWs7CkBAIC0xNDc3LDEyICsxNjMyLDEwIEBAIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3Bl
cnR5RGVzY3JpcHRvcigKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIHN3aXRjaCAo
b2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5
OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBF
UzoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNh
c2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9y
YWdlKiBzdG9yYWdlID0gb2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAg
ICAgIGlmIChpID49IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lv
biAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICBib29sIHNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWNrKEpTR2xvYmFsRGF0YSYsIEpTVmFsdWUg
cHJvdG90eXBlKTsKICAgICAgICAgCiAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQoSlNH
bG9iYWxEYXRhJik7Ci0KKyAgICAgICAgdm9pZCBub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9i
YWxEYXRhJik7CisgICAgICAgIAorICAgICAgICBib29sIG1heUJlVXNlZEFzUHJvdG90eXBlKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGlz
VmFsaWRPZmZzZXQoc3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5o
ZXJpdG9ySURLZXkpKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBtYXlJbnRl
cmNlcHRJbmRleGVkQWNjZXNzZXMoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc3Ry
dWN0dXJlKCktPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgICAgICB9CisgICAg
ICAgIAogICAgICAgICBKU1ZhbHVlIGdldChFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpIGNvbnN0
OwogICAgICAgICBKU1ZhbHVlIGdldChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUp
IGNvbnN0OwogCkBAIC0xMzUsMTEgKzE0Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB1
bnNpZ25lZCBnZXRBcnJheUxlbmd0aCgpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHN3
aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5v
bkFycmF5OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBB
TExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
ICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2Ug
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFy
cmF5U3RvcmFnZSgpLT5sZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xNTAsMTEgKzE1OSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICB1bnNpZ25lZCBnZXRWZWN0b3JMZW5ndGgoKQogICAgICAgICB7CiAg
ICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAg
ICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAg
ICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJl
dHVybiAwOwotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAg
ICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxM
X0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1f
YnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCk7CiAgICAgICAgICAgICBk
ZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTg5LDEx
ICsxOTYsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBjYW5HZXRJbmRleFF1aWNr
bHkodW5zaWduZWQgaSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUo
KS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAg
ICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19U
WVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKS0+dmVjdG9yTGVuZ3RoKCkgJiYgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3Zl
Y3RvcltpXTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CkBAIC0yMDQsOCArMjA5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAg
IEpTVmFsdWUgZ2V0SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBj
YXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElO
R19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpLT5tX3ZlY3RvcltpXS5nZXQoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yMTYsMTIgKzIyMCwxNSBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgYm9vbCBjYW5TZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkKICAg
ICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkp
IHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xh
c3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5
U3RvcmFnZToKICAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAg
ICAgICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JM
ZW5ndGgoKTsKKyAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFn
ZToKKyAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAg
ICAgICAgICAgICByZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9y
TGVuZ3RoKCkKKyAgICAgICAgICAgICAgICAgICAgJiYgISFtX2J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCktPm1fdmVjdG9yW2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0yMzEsOCArMjM4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgc2V0SW5kZXhR
dWlja2x5KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2KQog
ICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAg
ICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExf
QVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIFdyaXRlQmFy
cmllcjxVbmtub3duPiYgeCA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3Jb
aV07CiAgICAgICAgICAgICAgICAgaWYgKCF4KSB7CiAgICAgICAgICAgICAgICAgICAgIEFycmF5
U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKQEAgLTI1MSw4
ICsyNTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBpbml0aWFsaXplSW5kZXgo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgICAg
IHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0g
ICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNh
c2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9T
VE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBz
dG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogI2lmIENIRUNLX0FSUkFZX0NP
TlNJU1RFTkNZCiAgICAgICAgICAgICAgICAgQVNTRVJUKHN0b3JhZ2UtPm1faW5Db21wYWN0SW5p
dGlhbGl6YXRpb24pOwpAQCAtMjc2LDggKzI4MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2b2lkIGNvbXBsZXRlSW5pdGlhbGl6YXRpb24odW5zaWduZWQgbmV3TGVuZ3RoKQogICAgICAg
ICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewot
ICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBj
YXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlf
U1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIEFycmF5U3RvcmFnZSog
c3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAgICAgICAv
LyBDaGVjayB0aGF0IHdlIGhhdmUgaW5pdGlhbGl6ZWQgYXMgbWVueSBwcm9wZXJ0aWVzIGFzIHdl
IHRoaW5rIHdlIGhhdmUuCiAgICAgICAgICAgICAgICAgVU5VU0VEX1BBUkFNKHN0b3JhZ2UpOwpA
QCAtMjk4LDExICszMDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBpblNwYXJz
ZUluZGV4aW5nTW9kZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAg
ICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJ
TkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY2Fz
ZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdf
VFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KS0+aW5TcGFyc2VNb2RlKCk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNDg3LDYgKzQ4OSwxMCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAg
ICAgIH0KICAgICAgICAgCisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiB1bndyYXBwZWRHbG9iYWxP
YmplY3QoKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgc3dpdGNoVG9TbG93UHV0QXJyYXlTdG9y
YWdlKEpTR2xvYmFsRGF0YSYpOworICAgICAgICAKICAgICAgICAgc3RhdGljIHNpemVfdCBvZmZz
ZXRPZklubGluZVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIHN0YXRpYyBwdHJkaWZmX3Qg
YnV0dGVyZmx5T2Zmc2V0KCkKQEAgLTUyMiwxMCArNTI4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAg
ICAgICAgIC8vIFRvIGNyZWF0ZSBkZXJpdmVkIHR5cGVzIHlvdSBsaWtlbHkgd2FudCBKU05vbkZp
bmFsT2JqZWN0LCBiZWxvdy4KICAgICAgICAgSlNPYmplY3QoSlNHbG9iYWxEYXRhJiwgU3RydWN0
dXJlKiwgQnV0dGVyZmx5KiA9IDApOwogICAgICAgICAKLSAgICAgICAgdm9pZCByZXNldEluaGVy
aXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKLSAgICAgICAgewotICAgICAgICAgICAg
cmVtb3ZlRGlyZWN0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSk7Ci0g
ICAgICAgIH0KKyAgICAgICAgdm9pZCByZXNldEluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYpOwog
ICAgICAgICAKICAgICAgICAgdm9pZCB2aXNpdEJ1dHRlcmZseShTbG90VmlzaXRvciYsIEJ1dHRl
cmZseSosIHNpemVfdCBzdG9yYWdlU2l6ZSk7CiAKQEAgLTUzMyw3ICs1MzYsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgLy8gc3RvcmFnZS4gVGhpcyB3aWxsIGFzc2VydCBvdGhlcndpc2Uu
CiAgICAgICAgIEFycmF5U3RvcmFnZSogYXJyYXlTdG9yYWdlKCkKICAgICAgICAgewotICAgICAg
ICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSB8IEhhc0FycmF5U3RvcmFn
ZSk7CisgICAgICAgICAgICBBU1NFUlQoaGFzQXJyYXlTdG9yYWdlKHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkpOwogICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKTsKICAgICAgICAgfQogICAgICAgICAKQEAgLTU0Miw4ICs1NDUsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBhcnJheVN0b3JhZ2VPck51bGwoKQogICAgICAg
ICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewot
ICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NU
T1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6
CkBAIC01NTgsMTIgKzU2MCwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQXJyYXlTdG9y
YWdlKiBlbnN1cmVBcnJheVN0b3JhZ2UoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAg
ICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewot
ICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NU
T1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFM
TF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlSW5p
dGlhbEFycmF5U3RvcmFnZShnbG9iYWxEYXRhKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgIGRlZmF1bHQ6CkBAIC01OTIsNiArNTkyLDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAg
ICB2b2lkIGRlYWxsb2NhdGVTcGFyc2VJbmRleE1hcCgpOwogICAgICAgICBib29sIGRlZmluZU93
bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqLCB1bnNpZ25lZCwgUHJvcGVydHlEZXNjcmlwdG9y
JiwgYm9vbCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIGFs
bG9jYXRlU3BhcnNlSW5kZXhNYXAoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAgICB2
b2lkIG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYpOworICAg
ICAgICAKKyAgICAgICAgYm9vbCBhdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKEV4
ZWNTdGF0ZSosIHVuc2lnbmVkIGluZGV4LCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93KTsKIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7
CkBAIC04MjQsMjIgKzgyOCw2IEBAIGlubGluZSBKU1ZhbHVlIEpTT2JqZWN0Ojpwcm90b3R5cGUo
KSBjb24KICAgICByZXR1cm4gc3RydWN0dXJlKCktPnN0b3JlZFByb3RvdHlwZSgpOwogfQogCi1p
bmxpbmUgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSwgSlNWYWx1ZSBwcm90b3R5cGUpCi17Ci0gICAgQVNTRVJUKHByb3RvdHlwZSk7Ci0gICAgc2V0
U3RydWN0dXJlKGdsb2JhbERhdGEsIFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlv
bihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKSk7Ci19Ci0KLWlubGluZSBTdHJ1
Y3R1cmUqIEpTT2JqZWN0Ojppbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCi17
Ci0gICAgaWYgKFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0
TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KSkgewotICAg
ICAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklEID0ganNDYXN0PFN0cnVjdHVyZSo+KGxvY2F0aW9u
LT5nZXQoKSk7Ci0gICAgICAgIEFTU0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKLSAgICAg
ICAgcmV0dXJuIGluaGVyaXRvcklEOwotICAgIH0KLSAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9y
SUQoZ2xvYmFsRGF0YSk7Ci19Ci0KIGlubGluZSBib29sIEpTQ2VsbDo6aW5oZXJpdHMoY29uc3Qg
Q2xhc3NJbmZvKiBpbmZvKSBjb25zdAogewogICAgIHJldHVybiBjbGFzc0luZm8oKS0+aXNTdWJD
bGFzc09mKGluZm8pOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw2ICs3NCw3IEBAIHZvaWQgT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihKU0cKIHsK
ICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJp
dHMoJnNfaW5mbykpOworICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0K
IAogYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90
ICZzbG90KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlW
YWx1ZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05OSwzMyArOTksOCBAQCB2b2lkIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dEVudHJ5KEV4
ZWNTCiAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCi0gICAgaWYgKCEo
ZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29yKSkgewotICAgICAgICBpZiAoZW50cnkuYXR0cmli
dXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICBpZiAoc2hvdWxkVGhyb3cpCi0gICAgICAg
ICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGVu
dHJ5LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIHZhbHVlKTsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIEpTVmFsdWUgYWNjZXNzb3IgPSBlbnRyeS5TcGFyc2VBcnJheUVudHJ5
OjpCYXNlOjpnZXQoKTsKLSAgICBBU1NFUlQoYWNjZXNzb3IuaXNHZXR0ZXJTZXR0ZXIoKSk7Ci0g
ICAgSlNPYmplY3QqIHNldHRlciA9IGFzR2V0dGVyU2V0dGVyKGFjY2Vzc29yKS0+c2V0dGVyKCk7
CiAgICAgCi0gICAgaWYgKCFzZXR0ZXIpIHsKLSAgICAgICAgaWYgKHNob3VsZFRocm93KQotICAg
ICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENhbGxEYXRhIGNhbGxE
YXRhOwotICAgIENhbGxUeXBlIGNhbGxUeXBlID0gc2V0dGVyLT5tZXRob2RUYWJsZSgpLT5nZXRD
YWxsRGF0YShzZXR0ZXIsIGNhbGxEYXRhKTsKLSAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdz
OwotICAgIGFyZ3MuYXBwZW5kKHZhbHVlKTsKLSAgICBjYWxsKGV4ZWMsIHNldHRlciwgY2FsbFR5
cGUsIGNhbGxEYXRhLCBhcnJheSwgYXJncyk7CisgICAgZW50cnkucHV0KGV4ZWMsIGFycmF5LCB0
aGlzLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwogfQogCiBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6
OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaSwg
SlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHV0RGlyZWN0SW5kZXhNb2RlIG1v
ZGUpCkBAIC0xODcsNiArMTYyLDM2IEBAIEpTVmFsdWUgU3BhcnNlQXJyYXlFbnRyeTo6Z2V0KEV4
ZWNTdGF0ZSoKICAgICByZXR1cm4gY2FsbChleGVjLCBnZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0
YSwgYXJyYXksIGV4ZWMtPmVtcHR5TGlzdCgpKTsKIH0KIAordm9pZCBTcGFyc2VBcnJheUVudHJ5
OjpwdXQoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYXJyYXksIFNwYXJzZUFycmF5VmFsdWVN
YXAqIG1hcCwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKK3sKKyAgICBpZiAoIShh
dHRyaWJ1dGVzICYgQWNjZXNzb3IpKSB7CisgICAgICAgIGlmIChhdHRyaWJ1dGVzICYgUmVhZE9u
bHkpIHsKKyAgICAgICAgICAgIGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgICAgICB0aHJv
d1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgc2V0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgbWFwLCB2YWx1ZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBKU1Zh
bHVlIGFjY2Vzc29yID0gQmFzZTo6Z2V0KCk7CisgICAgQVNTRVJUKGFjY2Vzc29yLmlzR2V0dGVy
U2V0dGVyKCkpOworICAgIEpTT2JqZWN0KiBzZXR0ZXIgPSBhc0dldHRlclNldHRlcihhY2Nlc3Nv
ciktPnNldHRlcigpOworICAgIAorICAgIGlmICghc2V0dGVyKSB7CisgICAgICAgIGlmIChzaG91
bGRUaHJvdykKKyAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFk
b25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBD
YWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IHNldHRlci0+bWV0aG9k
VGFibGUoKS0+Z2V0Q2FsbERhdGEoc2V0dGVyLCBjYWxsRGF0YSk7CisgICAgTWFya2VkQXJndW1l
bnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVuZCh2YWx1ZSk7CisgICAgY2FsbChleGVjLCBz
ZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJyYXksIGFyZ3MpOworfQorCiBKU1ZhbHVlIFNw
YXJzZUFycmF5RW50cnk6OmdldE5vblNwYXJzZU1vZGUoKSBjb25zdAogewogICAgIEFTU0VSVCgh
YXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VB
cnJheVZhbHVlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM2LDYgKzM2LDggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIFNwYXJzZUFycmF5
VmFsdWVNYXA7CisKIHN0cnVjdCBTcGFyc2VBcnJheUVudHJ5IDogcHVibGljIFdyaXRlQmFycmll
cjxVbmtub3duPiB7CiAgICAgdHlwZWRlZiBXcml0ZUJhcnJpZXI8VW5rbm93bj4gQmFzZTsKIApA
QCAtNDQsNiArNDYsNyBAQCBzdHJ1Y3QgU3BhcnNlQXJyYXlFbnRyeSA6IHB1YmxpYyBXcml0ZUJh
CiAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqKSBjb25zdDsKICAgICB2b2lk
IGdldChQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAgICB2b2lkIGdldChQcm9wZXJ0eURlc2NyaXB0
b3ImKSBjb25zdDsKKyAgICB2b2lkIHB1dChFeGVjU3RhdGUqLCBKU09iamVjdCosIFNwYXJzZUFy
cmF5VmFsdWVNYXAqLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93KTsKICAgICBKU1ZhbHVlIGdl
dE5vblNwYXJzZU1vZGUoKSBjb25zdDsKIAogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9u
IDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwOSw2ICszMDksMzAgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6
OmFkZFByb3BlcnR5VHJhbnNpdAogICAgIHJldHVybiAwOwogfQogCitib29sIFN0cnVjdHVyZTo6
YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7Cisg
ICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUqIGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlm
IChjdXJyZW50LT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50
LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09i
amVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1cmUoKTsKKyAgICB9Cit9CisKK05vblByb3BlcnR5VHJh
bnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigpIGNvbnN0Cit7
CisgICAgQVNTRVJUKCFoYXNJbmRleGVkUHJvcGVydGllcyhpbmRleGluZ1R5cGUoKSkpOworICAg
IAorICAgIGlmIChhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkg
fHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgcmV0dXJuIEFs
bG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICAKKyAgICByZXR1cm4gQWxsb2NhdGVBcnJh
eVN0b3JhZ2U7Cit9CisKIFN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRp
b24oSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgSlNDZWxsKiBzcGVjaWZp
Y1ZhbHVlLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0KQogewogICAgIC8vIElmIHdlIGhhdmUgYSBz
cGVjaWZpYyBmdW5jdGlvbiwgd2UgbWF5IGhhdmUgZ290IHRvIHRoaXMgcG9pbnQgaWYgdGhlcmUg
aXMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTQ0LDcgKzE0NCwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAog
ICAgICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9pbmRl
eGluZ1R5cGUgJiBBbGxBcnJheVR5cGVzOyB9CiAgICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGluZ1R5cGU7IH0K
LQorICAgICAgICAKKyAgICAgICAgYm9vbCBtYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBj
b25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVk
aW5nSGlzdG9yeSgpICYgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnMpOworICAgICAgICB9CisgICAg
ICAgIAorICAgICAgICBib29sIGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNj
ZXNzZXMoKSBjb25zdDsKKyAgICAgICAgCisgICAgICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBz
dWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24oKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVj
dC5nZXQoKTsgfQogICAgICAgICB2b2lkIHNldEdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGds
b2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Qu
c2V0KGdsb2JhbERhdGEsIHRoaXMsIGdsb2JhbE9iamVjdCk7IH0KICAgICAgICAgCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFu
c2l0aW9uVGFibGUuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQz
LDcgKzQzLDEwIEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBGaXJzdEludGVybmFsQXR0cmkKIC8v
IFN1cHBvcnQgZm9yIGF0dHJpYnV0ZXMgdXNlZCB0byBpbmRpY2F0ZSB0cmFuc2l0aW9ucyBub3Qg
cmVsYXRlZCB0byBwcm9wZXJ0aWVzLgogLy8gSWYgYW55IG9mIHRoZXNlIGFyZSB1c2VkLCB0aGUg
c3RyaW5nIHBvcnRpb24gb2YgdGhlIGtleSBzaG91bGQgYmUgMC4KIGVudW0gTm9uUHJvcGVydHlU
cmFuc2l0aW9uIHsKLSAgICBBbGxvY2F0ZUFycmF5U3RvcmFnZQorICAgIEFsbG9jYXRlQXJyYXlT
dG9yYWdlLAorICAgIEFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZSwKKyAgICBTd2l0Y2hUb1Ns
b3dQdXRBcnJheVN0b3JhZ2UsCisgICAgQWRkSW5kZXhlZEFjY2Vzc29ycwogfTsKIAogaW5saW5l
IHVuc2lnbmVkIHRvQXR0cmlidXRlcyhOb25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikK
QEAgLTU2LDYgKzU5LDEzIEBAIGlubGluZSBJbmRleGluZ1R5cGUgbmV3SW5kZXhpbmdUeXBlKElu
ZGUKICAgICBzd2l0Y2ggKHRyYW5zaXRpb24pIHsKICAgICBjYXNlIEFsbG9jYXRlQXJyYXlTdG9y
YWdlOgogICAgICAgICByZXR1cm4gb2xkVHlwZSB8IEhhc0FycmF5U3RvcmFnZTsKKyAgICBjYXNl
IEFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBI
YXNTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIGNhc2UgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9y
YWdlOgorICAgICAgICBBU1NFUlQob2xkVHlwZSAmIEhhc0FycmF5U3RvcmFnZSk7CisgICAgICAg
IHJldHVybiAob2xkVHlwZSAmIH5IYXNBcnJheVN0b3JhZ2UpIHwgSGFzU2xvd1B1dEFycmF5U3Rv
cmFnZTsKKyAgICBjYXNlIEFkZEluZGV4ZWRBY2Nlc3NvcnM6CisgICAgICAgIHJldHVybiBvbGRU
eXBlIHwgTWF5SGF2ZUluZGV4ZWRBY2Nlc3NvcnM7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiBvbGRUeXBlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164311</attachid>
            <date>2012-09-16 00:35:21 -0700</date>
            <delta_ts>2012-09-16 16:19:03 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>haveabadtime_patch_5.diff</filename>
            <type>text/plain</type>
            <size>89760</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NzA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5MSBA
QAorMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5k
ZXhlZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMg
ZG9uZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhh
dAorICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJh
dGVneSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZh
dm9yIG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJy
YXlzIG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAg
ICAgICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBh
IGJhZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5
IG9iamVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkK
KyAgICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBh
Y2Nlc3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ug
b2JqZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUp
IGlzIGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciBy
ZWFkLW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAg
ICAgYWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5p
dGlvbiBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVy
IHdheSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRl
eGVkIHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5k
ZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2Jq
ZWN0IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdp
bGwgc2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAg
ICAgICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAg
ICAgIC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJl
Zm9yZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQg
aW5zdGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJv
dG90eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBz
dG9yZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xv
dyBkb3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhh
dmUgbm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1
c2VzIG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0
cy4gQnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBt
b3JlIGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRp
bWUuCisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1h
eSBiZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAg
IGFkZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2Jq
ZWN0cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRo
ZSBwcm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAg
ICAgICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8g
c2xvdy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4g
aGFkIGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMg
dGhhdCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4g
dGhlaXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxv
Y2F0aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdl
LCBhbmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2Ug
Zm9yIG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAg
ICAgICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGlt
ZTogKGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmlu
ZyBvZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkp
IGlzCisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0
IGFuIG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBo
YWQgYW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNl
cnRlZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vm
b3J0aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHBy
b3RvdHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQg
YnkgZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBi
ZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QK
KyAgICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZs
aXAgdGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0
IG9taXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2Vl
cCBhIGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZp
bmQgdGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBh
bG9uZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50
bHkgYWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3Jz
LCB0aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAg
ICAgb25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3Nv
cnMgdG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFw
IHNjYW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUg
YWxzbworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxv
bmdpbmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGlu
ZGV4ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVh
cCBhZ2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwg
b2JqZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9k
dWxlOyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVy
IGFwcHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
OmFycmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAg
ICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2
ZWQpOgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChK
U0M6OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6Cisg
ICAgICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxv
Y2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9J
bmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAo
SlNDOjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpw
b3ApOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRl
eCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlz
dHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklE
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20pOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dW53cmFwcGVkR2xvYmFsT2JqZWN0
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0TmV3VmVjdG9yTGVuZ3RoKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5QmVVc2VkQXNQcm90
b3R5cGUpOgorICAgICAgICAoSlNPYmplY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEFy
cmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldFZlY3Rvckxlbmd0aCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5HZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6Z2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNh
blNldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzZXRJbmRleFF1aWNr
bHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5pdGlhbGl6ZUluZGV4KToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmNvbXBsZXRlSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6aW5TcGFyc2VJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
YXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3RvcmFnZU9yTnVs
bCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0QnlJbmRleCk6CisgICAgICAgICog
cnVudGltZS9KU1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmUpOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZUJ5SW5kZXgpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL0pTVmFsdWUuaDoKKyAgICAgICAgKEpTVmFs
dWUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6
Y29uc3RydWN0TnVtYmVyKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6Ok9iamVjdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHA6CisgICAgICAgIChKU0M6OlNwYXJz
ZUFycmF5VmFsdWVNYXA6OnB1dEVudHJ5KToKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlFbnRy
eTo6cHV0KToKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9TcGFyc2VBcnJheVZh
bHVlTWFwLmg6CisgICAgICAgIChKU0MpOgorICAgICAgICAoU3BhcnNlQXJyYXlFbnRyeSk6Cisg
ICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6
OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMpOgorICAgICAgICAo
SlNDKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUp
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6
CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaDoKKyAgICAgICAg
KEpTQzo6bmV3SW5kZXhpbmdUeXBlKToKKwogMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTT2JqZWN0LmNwcCBhbmQgSlNBcnJheS5jcHAgaGF2
ZSBpbmNvbnNpc3RlbnQgdGVzdHMgZm9yIHRoZSBpbnZhbGlkIGFycmF5IGluZGV4IGNhc2UKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVBy
b2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAogLy8gVGhpcyBpcyBhIGJpdGZpZWxkIHdo
ZXJlIGVhY2ggYml0IHJlcHJlc2VudHMgYW4gSW5kZXhpbmdUeXBlIHRoYXQgd2UgaGF2ZSBzZWVu
LgotLy8gVGhlcmUgYXJlIDE3IGluZGV4aW5nIHR5cGVzICgwIHRvIDE2LCBpbmNsdXNpdmUpLCBz
byAzMiBiaXRzIGlzIG1vcmUgdGhhbiBlbm91Z2guCisvLyBUaGVyZSBhcmUgMzIgaW5kZXhpbmcg
dHlwZXMsIHNvIGFuIHVuc2lnbmVkIGlzIGVub3VnaC4KIHR5cGVkZWYgdW5zaWduZWQgQXJyYXlN
b2RlczsKIAogI2RlZmluZSBhc0FycmF5TW9kZXModHlwZSkgXApAQCAtNDQsNyArNDQsNyBAQCB0
eXBlZGVmIHVuc2lnbmVkIEFycmF5TW9kZXM7CiAKIGlubGluZSBBcnJheU1vZGVzIGFycmF5TW9k
ZUZyb21TdHJ1Y3R1cmUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGFzQXJy
YXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSk7CisgICAg
cmV0dXJuIGFzQXJyYXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKTsKIH0KIAogY2xh
c3MgQXJyYXlQcm9maWxlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdFN0YXRlLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5Mywx
NCArMTA5MywyMSBAQCBib29sIEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdBcnJheToKLSAgICBjYXNl
IE5ld0FycmF5QnVmZmVyOgotICAgICAgICBub2RlLnNldENhbkV4aXQoZmFsc2UpOworICAgICAg
ICBub2RlLnNldENhbkV4aXQodHJ1ZSk7CiAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5zZXQo
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUo
KSk7CiAgICAgICAgIG1faGF2ZVN0cnVjdHVyZXMgPSB0cnVlOwogICAgICAgICBicmVhazsKICAg
ICAgICAgCisgICAgY2FzZSBOZXdBcnJheUJ1ZmZlcjoKKyAgICAgICAgLy8gVW5sZXNzIHdlJ3Jl
IGhhdmluZyBhIGJhZCB0aW1lLCB0aGlzIG5vZGUgY2FuIGNoYW5nZSBpdHMgbWluZCBhYm91dCB3
aGF0IHN0cnVjdHVyZQorICAgICAgICAvLyBpdCB1c2VzLgorICAgICAgICBub2RlLnNldENhbkV4
aXQoZmFsc2UpOworICAgICAgICBmb3JOb2RlKG5vZGVJbmRleCkuc2V0KFNwZWNBcnJheSk7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOgotICAgICAgICBzcGVj
dWxhdGVJbnQzMlVuYXJ5KG5vZGUpOworICAgICAgICBub2RlLnNldENhbkV4aXQodHJ1ZSk7Cisg
ICAgICAgIGZvck5vZGUobm9kZS5jaGlsZDEoKSkuZmlsdGVyKFNwZWNJbnQzMik7CiAgICAgICAg
IGZvck5vZGUobm9kZUluZGV4KS5zZXQobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2Rl
T3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgIG1faGF2ZVN0cnVjdHVyZXMgPSB0
cnVlOwogICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QXJyYXlNb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0FycmF5TW9kZS5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTAgKzQyLDE2IEBA
IEFycmF5OjpNb2RlIGZyb21PYnNlcnZlZChBcnJheU1vZGVzIG1vZGUKICAgICAgICAgcmV0dXJu
IEFycmF5OjpVbmRlY2lkZWQ7CiAgICAgY2FzZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlKToKICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OkFycmF5U3RvcmFn
ZU91dE9mQm91bmRzIDogQXJyYXk6OkFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJyYXlNb2Rl
cyhOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFycmF5
OjpTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVzKEFycmF5V2l0aEFy
cmF5U3RvcmFnZSk6CiAgICAgICAgIHJldHVybiBtYWtlU2FmZSA/IEFycmF5OjpBcnJheVdpdGhB
cnJheVN0b3JhZ2VPdXRPZkJvdW5kcyA6IEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2U7Cisg
ICAgY2FzZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAg
ICAgIHJldHVybiBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICBjYXNl
IGFzQXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpIHwgYXNBcnJheU1vZGVzKEFy
cmF5V2l0aEFycmF5U3RvcmFnZSk6CiAgICAgICAgIHJldHVybiBtYWtlU2FmZSA/IEFycmF5OjpQ
b3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIDogQXJyYXk6OlBvc3NpYmx5
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0
aFNsb3dQdXRBcnJheVN0b3JhZ2UpIHwgYXNBcnJheU1vZGVzKEFycmF5V2l0aFNsb3dQdXRBcnJh
eVN0b3JhZ2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZTsKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBXZSBrbm93IHRoYXQgdGhp
cyBpcyBwb3NzaWJseSBhIGtpbmQgb2YgYXJyYXkgZm9yIHdoaWNoLCB0aG91Z2ggdGhlcmUgaXMg
bm8KICAgICAgICAgLy8gdXNlZnVsIGRhdGEgaW4gdGhlIGFycmF5IHByb2ZpbGUsIHdlIG1heSBi
ZSBhYmxlIHRvIGV4dHJhY3QgdXNlZnVsIGRhdGEgZnJvbQpAQCAtMTI0LDE1ICsxMzAsMjkgQEAg
Ym9vbCBtb2RlQWxyZWFkeUNoZWNrZWQoQWJzdHJhY3RWYWx1ZSYgdgogICAgIGNhc2UgQXJyYXk6
OlN0cmluZzoKICAgICAgICAgcmV0dXJuIGlzU3RyaW5nU3BlY3VsYXRpb24odmFsdWUubV90eXBl
KTsKICAgICAgICAgCi0gICAgY2FzZSBOT05fQVJSQVlfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAg
ICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdl
T3V0T2ZCb3VuZHM6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3Jh
Z2U6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJv
dW5kczoKICAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLmhhc1Np
bmdsZXRvbigpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUu
c2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzQXJyYXlTdG9yYWdlKTsKLQotICAgIGNh
c2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgICAgICAKKyAgICBjYXNlIEFy
cmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlX
aXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtu
b3duU3RydWN0dXJlLmhhc1NpbmdsZXRvbigpCisgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJy
ZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzU2xvd1B1
dEFycmF5U3RvcmFnZSk7CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5
U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5k
czoKICAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLmhhc1Npbmds
ZXRvbigpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2lu
Z2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzQXJyYXlTdG9yYWdlKQogICAgICAgICAgICAg
JiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNpbmdsZXRvbigpLT5pbmRleGluZ1R5
cGUoKSAmIElzQXJyYXkpOwogICAgICAgICAKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1
Y3R1cmUuaGFzU2luZ2xldG9uKCkKKyAgICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93
blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlT
dG9yYWdlKQorICAgICAgICAgICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNp
bmdsZXRvbigpLT5pbmRleGluZ1R5cGUoKSAmIElzQXJyYXkpOworICAgICAgICAKICAgICBjYXNl
IEFycmF5OjpBcmd1bWVudHM6CiAgICAgICAgIHJldHVybiBpc0FyZ3VtZW50c1NwZWN1bGF0aW9u
KHZhbHVlLm1fdHlwZSk7CiAgICAgICAgIApAQCAtMTg0LDE0ICsyMDQsMjAgQEAgY29uc3QgY2hh
ciogbW9kZVRvU3RyaW5nKEFycmF5OjpNb2RlIG1vZAogICAgICAgICByZXR1cm4gIlN0cmluZyI7
CiAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gIkFycmF5U3Rv
cmFnZSI7CisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0
dXJuICJTbG93UHV0QXJyYXlTdG9yYWdlIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VP
dXRPZkJvdW5kczoKICAgICAgICAgcmV0dXJuICJBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAg
ICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gIkFy
cmF5V2l0aEFycmF5U3RvcmFnZSI7CisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFy
cmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuICJBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
IjsKICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoKICAg
ICAgICAgcmV0dXJuICJBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAgICAgY2Fz
ZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAi
UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2UiOworICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5
QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuICJQb3NzaWJseUFy
cmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJy
YXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6CiAgICAgICAgIHJldHVybiAiUG9zc2libHlB
cnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAgICAgY2FzZSBBcnJheTo6QXJndW1l
bnRzOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NywxMCArNDcsMTMgQEAgZW51bSBNb2RlIHsKICAgICBHZW5l
cmljLAogICAgIFN0cmluZywKICAgICBBcnJheVN0b3JhZ2UsCisgICAgU2xvd1B1dEFycmF5U3Rv
cmFnZSwKICAgICBBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBBcnJheVdpdGhBcnJheVN0
b3JhZ2UsCisgICAgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSwKICAgICBBcnJheVdpdGhB
cnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFn
ZSwKKyAgICBQb3NzaWJseUFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UsCiAgICAgUG9zc2li
bHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBBcmd1bWVudHMsCiAgICAg
SW50OEFycmF5LApAQCAtNzAsMTEgKzczLDE0IEBAIGVudW0gTW9kZSB7CiAvLyBoYXZlIHRoZSB3
b3JkICJBcnJheVN0b3JhZ2UiIGluIHRoZW0uCiAjZGVmaW5lIE5PTl9BUlJBWV9BUlJBWV9TVE9S
QUdFX01PREVTICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBBcnJheTo6QXJyYXlTdG9yYWdl
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OlNs
b3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgXAorICAg
IGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICBc
CiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5k
cwogI2RlZmluZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OiAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzCiAjZGVmaW5lIEFMTF9BUlJBWV9TVE9SQUdFX01PREVTICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBOT05fQVJSQVlfQVJSQVlfU1RPUkFHRV9NT0RFUzogICAgICAg
ICAgICAgICAgICAgICAgICAgXApAQCAtODMsOCArODksMTMgQEAgZW51bSBNb2RlIHsKICAgICBB
cnJheTo6QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2UKKyNkZWZp
bmUgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAg
ICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aFNsb3dQdXRBcnJheVN0
b3JhZ2UKICNkZWZpbmUgT1VUX09GX0JPVU5EU19BUlJBWV9TVE9SQUdFX01PREVTICAgICAgICAg
ICAgICAgICAgXAotICAgIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczogICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzogICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJv
dW5kczogICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlB
cnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcwogCkBAIC0xMjgsNiArMTM5LDE2IEBAIGlu
bGluZSBib29sIGlzSW5Cb3VuZHNBY2Nlc3MoQXJyYXk6Ok1vZGUKICAgICB9CiB9CiAKK2lubGlu
ZSBib29sIGlzU2xvd1B1dEFjY2VzcyhBcnJheTo6TW9kZSBhcnJheU1vZGUpCit7CisgICAgc3dp
dGNoIChhcnJheU1vZGUpIHsKKyAgICBjYXNlIFNMT1dfUFVUX0FSUkFZX1NUT1JBR0VfTU9ERVM6
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9Cit9CisKIGlubGluZSBib29sIGNhbkNTRVN0b3JhZ2UoQXJyYXk6Ok1vZGUgYXJy
YXlNb2RlKQogewogICAgIHN3aXRjaCAoYXJyYXlNb2RlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlz
aW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NDEsMjUgKzI3NDEsMzcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAg
ICAgICAvLyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZTsgaWYgc28gaW5jcmVtZW50
IG1fbnVtVmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBu
b3RIb2xlVmFsdWUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIE1h
Y3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNz
ZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3Rv
clswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIFRydXN0ZWRJ
bW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihU
cnVzdGVkSW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVD
VF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7Ci0KLSAgICAg
ICAgICAgIC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0IGJlIGdyb3dpbmcg
dGhlIGFycmF5OyAKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERvZXNO
b3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBwcm9w
ZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdl
OjpsZW5ndGhPZmZzZXQoKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMy
KDEpLCBwcm9wZXJ0eVJlZyk7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHByb3BlcnR5UmVn
LCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0
aE9mZnNldCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHBy
b3BlcnR5UmVnKTsKLQotICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygm
bV9qaXQpOworICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNIb2xlVmFsdWU7Cisg
ICAgICAgICAgICBpZiAoaXNTbG93UHV0QWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAg
ICAgICAvLyBUaGlzIGlzIHNvcnQgb2Ygc3RyYW5nZS4gSWYgd2Ugd2FudGVkIHRvIG9wdGltaXpl
IHRoaXMgY29kZSBwYXRoLCB3ZSB3b3VsZCBpbnZlcnQKKyAgICAgICAgICAgICAgICAvLyB0aGUg
YWJvdmUgYnJhbmNoLiBCdXQgaXQncyBzaW1wbHkgbm90IHdvcnRoIGl0IHNpbmNlIHRoaXMgb25s
eSBoYXBwZW5zIGlmIHdlJ3JlCisgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBoYXZpbmcgYSBi
YWQgdGltZS4KKyAgICAgICAgICAgICAgICBpc0hvbGVWYWx1ZSA9IG1faml0Lmp1bXAoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZElt
bTMyKDEpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VU
T0YoQXJyYXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0
IGJlIGdyb3dpbmcgdGhlIGFycmF5OyAKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1i
bGVyOjpCZWxvdywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VS
ZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBtX2pp
dC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAgICAgICBt
X2ppdC5zdG9yZTMyKHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdl
UmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9q
aXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygmbV9qaXQpOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgbm90SG9sZVZhbHVlLmxpbmsoJm1faml0KTsKIAog
ICAgICAgICAgICAgLy8gU3RvcmUgdGhlIHZhbHVlIHRvIHRoZSBhcnJheS4KICAgICAgICAgICAg
IG1faml0LnN0b3JlMzIodmFsdWVUYWdSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3Rv
cmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1Rf
T0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3RvclswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNW
YWx1ZSwgdS5hc0JpdHMudGFnKSkpOwogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMih2YWx1ZVBh
eWxvYWRSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJvcGVydHlS
ZWcsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9y
YWdlLCBtX3ZlY3RvclswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5
bG9hZCkpKTsKICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWlzSW5Cb3VuZHNBY2Nlc3Mobm9k
ZS5hcnJheU1vZGUoKSkpIHsKKyAgICAgICAgICAgIGlmICghaXNJbkJvdW5kc0FjY2VzcyhhcnJh
eU1vZGUpKSB7CisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IHNsb3dD
YXNlczsKKyAgICAgICAgICAgICAgICBzbG93Q2FzZXMuYXBwZW5kKGJleW9uZEFycmF5Qm91bmRz
KTsKKyAgICAgICAgICAgICAgICBpZiAoaXNTbG93UHV0QWNjZXNzKGFycmF5TW9kZSkpCisgICAg
ICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoaXNIb2xlVmFsdWUpOwogICAgICAgICAg
ICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAgICAgICAgICAgICAgICAgICBzbG93UGF0
aENhbGwoCi0gICAgICAgICAgICAgICAgICAgICAgICBiZXlvbmRBcnJheUJvdW5kcywgdGhpcywK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNlcywgdGhpcywKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1
dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFy
cmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgTm9SZXN1bHQsIGJh
c2VSZWcsIHByb3BlcnR5UmVnLCB2YWx1ZVRhZ1JlZywgdmFsdWVQYXlsb2FkUmVnKSk7CiAgICAg
ICAgICAgICB9CkBAIC0zMTI4LDEzICszMTQwLDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAKICAgICBjYXNlIE5ld0FycmF5OiB7CisgICAgICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVj
dEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZp
bmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5oYXZpbmdBQmFkVGltZVdh
dGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hwb2ludCgpKTsKKyAgICAgICAgCiAgICAg
ICAgIGlmICghbm9kZS5udW1DaGlsZHJlbigpKSB7CiAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVy
cygpOwogICAgICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgIEdQ
UlJlc3VsdDIgcmVzdWx0VGFnSWdub3JlZCh0aGlzKTsKICAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24oCiAgICAgICAgICAgICAgICAgb3BlcmF0aW9uTmV3RW1wdHlBcnJheSwgcmVzdWx0VGFnSWdu
b3JlZC5ncHIoKSwgcmVzdWx0LmdwcigpLAotICAgICAgICAgICAgICAgIG1faml0LmdyYXBoKCku
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCkpOworICAg
ICAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAg
ICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KQEAgLTMxNjcsOCArMzE4Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgR1BSUmVzdWx0MiByZXN1bHRUYWcodGhp
cyk7CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgb3BlcmF0
aW9uTmV3QXJyYXksIHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwKLSAgICAg
ICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFy
cmF5U3RydWN0dXJlKCksCisgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0VGFn
LmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
KCksCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDx2b2lkICo+KGJ1ZmZlciksIG5vZGUubnVtQ2hp
bGRyZW4oKSk7CiAKICAgICAgICAgaWYgKHNjcmF0Y2hTaXplKSB7CkBAIC0zMTg0LDYgKzMxOTks
MTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KIAog
ICAgIGNhc2UgTmV3QXJyYXlXaXRoU2l6ZTogeworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2lu
KTsKKyAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAg
ICAgICAgIGdsb2JhbE9iamVjdC0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCktPmFkZChzcGVj
dWxhdGlvbldhdGNocG9pbnQoKSk7CisgICAgICAgIAogICAgICAgICBTcGVjdWxhdGVTdHJpY3RJ
bnQzMk9wZXJhbmQgc2l6ZSh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAgICAgR1BSUmVnIHNp
emVHUFIgPSBzaXplLmdwcigpOwogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwpAQCAtMzE5MSw3
ICszMjEwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAg
ICAgICBHUFJSZXN1bHQyIHJlc3VsdFRhZ0lnbm9yZWQodGhpcyk7CiAgICAgICAgIGNhbGxPcGVy
YXRpb24oCiAgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplLCByZXN1bHRUYWdJ
Z25vcmVkLmdwcigpLCByZXN1bHQuZ3ByKCksCi0gICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmds
b2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BS
KTsKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7
CiAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjc2MCwyNCArMjc2MCwzNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUm
IG5vZGUpCiAgICAgICAgIAogICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgd3JpdGluZyB0
byBhIGhvbGU7IGlmIHNvIGluY3JlbWVudCBtX251bVZhbHVlc0luVmVjdG9yLgogICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm90SG9sZVZhbHVlID0gbV9qaXQuYnJhbmNoVGVzdFB0
cihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9y
YWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZG
U0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3RvclswXSkpKTsKLSAgICAgICAgICAgIG1faml0LmFk
ZDMyKFRydXN0ZWRJbW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywg
T0JKRUNUX09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKLQot
ICAgICAgICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jv
d2luZyB0aGUgYXJyYXk7IAotICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVuZ3Ro
RG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVsb3cs
IHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0
b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVk
SW1tMzIoMSksIHByb3BlcnR5UmVnKTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlMzIocHJvcGVy
dHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6
bGVuZ3RoT2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigx
KSwgcHJvcGVydHlSZWcpOwotCi0gICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5s
aW5rKCZtX2ppdCk7CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0hvbGVWYWx1
ZTsKKyAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkgeworICAgICAg
ICAgICAgICAgIC8vIFRoaXMgaXMgc29ydCBvZiBzdHJhbmdlLiBJZiB3ZSB3YW50ZWQgdG8gb3B0
aW1pemUgdGhpcyBjb2RlIHBhdGgsIHdlIHdvdWxkIGludmVydAorICAgICAgICAgICAgICAgIC8v
IHRoZSBhYm92ZSBicmFuY2guIEJ1dCBpdCdzIHNpbXBseSBub3Qgd29ydGggaXQgc2luY2UgdGhp
cyBvbmx5IGhhcHBlbnMgaWYgd2UncmUKKyAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGhhdmlu
ZyBhIGJhZCB0aW1lLgorICAgICAgICAgICAgICAgIGlzSG9sZVZhbHVlID0gbV9qaXQuanVtcCgp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVz
dGVkSW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVDVF9P
RkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2Ug
bWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpKdW1wIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9B
c3NlbWJsZXI6OkJlbG93LCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3Rv
cmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAg
IG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAg
ICAgIG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0
b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAg
ICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2pp
dCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBub3RIb2xlVmFsdWUubGluaygmbV9qaXQp
OwogCiAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgdmFsdWUgdG8gdGhlIGFycmF5LgogICAgICAg
ICAgICAgbV9qaXQuc3RvcmVQdHIodmFsdWVSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgo
c3RvcmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpTY2FsZVB0ciwgT0JKRUNU
X09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV92ZWN0b3JbMF0pKSk7CiAKICAgICAgICAgICAgIGlm
ICghaXNJbkJvdW5kc0FjY2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXBMaXN0IHNsb3dDYXNlczsKKyAgICAgICAgICAgICAgICBzbG93Q2FzZXMu
YXBwZW5kKGJleW9uZEFycmF5Qm91bmRzKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNTbG93UHV0
QWNjZXNzKGFycmF5TW9kZSkpCisgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQo
aXNIb2xlVmFsdWUpOwogICAgICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAg
ICAgICAgICAgICAgICAgICBzbG93UGF0aENhbGwoCi0gICAgICAgICAgICAgICAgICAgICAgICBi
ZXlvbmRBcnJheUJvdW5kcywgdGhpcywKKyAgICAgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNl
cywgdGhpcywKICAgICAgICAgICAgICAgICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0
cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBv
cGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgTm9SZXN1bHQsIGJhc2VSZWcsIHByb3BlcnR5UmVnLCB2YWx1ZVJlZykpOwog
ICAgICAgICAgICAgfQpAQCAtMzEyMCwxMiArMzEzMiwxNCBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogICAgICAgICAKICAgICBjYXNlIE5ld0FycmF5
OiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2ppdC5ncmFwaCgp
Lmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBpZiAoIWdsb2JhbE9i
amVjdC0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5oYXZp
bmdBQmFkVGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hwb2ludCgpKTsKKyAg
ICAgICAgCiAgICAgICAgIGlmICghbm9kZS5udW1DaGlsZHJlbigpKSB7CiAgICAgICAgICAgICBm
bHVzaFJlZ2lzdGVycygpOwogICAgICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAg
ICAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgb3BlcmF0aW9uTmV3RW1w
dHlBcnJheSwgcmVzdWx0LmdwcigpLAotICAgICAgICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCkpOworICAgICAg
ICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1bHQuZ3ByKCks
IGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICBjZWxsUmVzdWx0
KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KQEAgLTMxNTUsOCArMzE2OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
Tm9kZSYgbm9kZSkKICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgCiAg
ICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVz
dWx0LmdwcigpLAotICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9k
ZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwKKyAgICAgICAgICAgIG9wZXJhdGlvbk5l
d0FycmF5LCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwKICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PHZvaWQqPihidWZmZXIpLCBub2RlLm51bUNoaWxkcmVuKCkp
OwogCiAgICAgICAgIGlmIChzY3JhdGNoU2l6ZSkgewpAQCAtMzE3MSwxMSArMzE4NCwxNSBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogICAgICAgICAK
ICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6IHsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdp
bik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAg
ICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5hZGQoc3Bl
Y3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgU3BlY3VsYXRlU3RyaWN0
SW50MzJPcGVyYW5kIHNpemUodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlJlZyBz
aXplR1BSID0gc2l6ZS5ncHIoKTsKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAg
R1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25O
ZXdBcnJheVdpdGhTaXplLCByZXN1bHQuZ3ByKCksIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOworICAgICAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIHJlc3VsdC5ncHIoKSwg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKICAgICAgICAgY2VsbFJl
c3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjQsNyArMzI0LDggQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheShOb2RlJiBubwogICAgICAgICAgICAgbV9qaXQu
YnJhbmNoVGVzdDgoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sCiAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3ModGVtcC5ncHIoKSwgU3RydWN0dXJl
OjppbmRleGluZ1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW0zMihIYXNBcnJheVN0b3JhZ2UpKSk7CisgICAgICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW0zMigKKyAgICAgICAgICAgICAgICAgICAgaXNTbG93UHV0QWNj
ZXNzKG5vZGUuYXJyYXlNb2RlKCkpID8gSGFzU2xvd1B1dEFycmF5U3RvcmFnZSA6IEhhc0FycmF5
U3RvcmFnZSkpKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG1fY29tcGlsZUluZGV4KTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtMzQ1LDcgKzM0Niw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNoZWNrQXJyYXkoTm9kZSYgbm8KICAgICAgICAgc3BlY3VsYXRpb25DaGVjaygKICAgICAgICAg
ICAgIFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCBOb05vZGUsCiAgICAgICAgICAgICBtX2pp
dC5icmFuY2hUZXN0MzIoCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHRl
bXBHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSGFzQXJyYXlTdG9yYWdlKSkpOwor
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpaZXJvLCB0ZW1wR1BSLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgICAgICAgICBpc1Nsb3dQdXRBY2Nlc3Mo
bm9kZS5hcnJheU1vZGUoKSkgPyBIYXNTbG93UHV0QXJyYXlTdG9yYWdlIDogSGFzQXJyYXlTdG9y
YWdlKSkpOwogICAgICAgICAKICAgICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAg
ICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTQzNyw3ICs0MzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2xhc3NUeXBlLCBib29sIGRlc3RydWN0b3IsIHR5cGVuYW1lIFN0cnVjdHVyZVR5cGU+IHZv
aWQgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdChTdHJ1Y3R1cmVUeXBlLCBSZWdpc3RlcklEIHJl
c3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRyKTsKICAgICAgICAgdm9pZCBlbWl0QWxsb2NhdGVC
YXNpY1N0b3JhZ2Uoc2l6ZV90LCBwdHJkaWZmX3Qgb2Zmc2V0RnJvbUJhc2UsIFJlZ2lzdGVySUQg
cmVzdWx0KTsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBlbWl0QWxsb2NhdGVK
U0ZpbmFsT2JqZWN0KFQgc3RydWN0dXJlLCBSZWdpc3RlcklEIHJlc3VsdCwgUmVnaXN0ZXJJRCBz
dG9yYWdlUHRyKTsKLSAgICAgICAgdm9pZCBlbWl0QWxsb2NhdGVKU0FycmF5KHVuc2lnbmVkIHZh
bHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2VsbFJlc3VsdCwgUmVn
aXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOworICAgICAgICB2
b2lkIGVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVk
IGxlbmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQs
IFJlZ2lzdGVySUQgc3RvcmFnZVB0ciwgUmVnaXN0ZXJJRCBzY3JhdGNoKTsKICAgICAgICAgCiAj
aWYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQogICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0
aGUgdmFsdWUgdG8gcHJvZmlsZSBpcyBpbiByZWdUMCBhbmQgdGhhdCByZWdUMyBpcyBhdmFpbGFi
bGUgZm9yCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhv
ZHMuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0Myw3ICs0NDMsNyBAQCBpbmxpbmUg
dm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnCiAgICAgc3ViUHRyKFRydXN0ZWRJbW0z
MihzaXplIC0gb2Zmc2V0RnJvbUJhc2UpLCByZXN1bHQpOwogfQogCi1pbmxpbmUgdm9pZCBKSVQ6
OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVkIGxl
bmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQsIFJl
Z2lzdGVySUQgc3RvcmFnZVB0cikKK2lubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlSlNBcnJh
eSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNl
bGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRy
LCBSZWdpc3RlcklEIHNjcmF0Y2gpCiB7CiAgICAgdW5zaWduZWQgaW5pdGlhbExlbmd0aCA9IHN0
ZDo6bWF4KGxlbmd0aCwgNFUpOwogICAgIHNpemVfdCBpbml0aWFsU3RvcmFnZSA9IEJ1dHRlcmZs
eTo6dG90YWxTaXplKDAsIDAsIHRydWUsIEFycmF5U3RvcmFnZTo6c2l6ZUZvcihpbml0aWFsTGVu
Z3RoKSk7CkBAIC00NTMsNyArNDUzLDggQEAgaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVK
U0FycmF5KHVucwogICAgIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShpbml0aWFsU3RvcmFnZSwg
c2l6ZW9mKEluZGV4aW5nSGVhZGVyKSwgc3RvcmFnZVJlc3VsdCk7CiAKICAgICAvLyBBbGxvY2F0
ZSB0aGUgY2VsbCBmb3IgdGhlIGFycmF5LgotICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8
SlNBcnJheSwgZmFsc2U+KFRydXN0ZWRJbW1QdHIobV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
LT5hcnJheVN0cnVjdHVyZSgpKSwgY2VsbFJlc3VsdCwgc3RvcmFnZVB0cik7CisgICAgbG9hZFB0
cihtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFkZHJlc3NPZkFycmF5U3RydWN0dXJlKCks
IHNjcmF0Y2gpOworICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8SlNBcnJheSwgZmFsc2U+
KHNjcmF0Y2gsIGNlbGxSZXN1bHQsIHN0b3JhZ2VQdHIpOwogCiAgICAgLy8gU3RvcmUgYWxsIHRo
ZSBuZWNlc3NhcnkgaW5mbyBpbiB0aGUgQXJyYXlTdG9yYWdlLgogICAgIHN0b3JlMzIoSW1tMzIo
bGVuZ3RoKSwgQWRkcmVzcyhzdG9yYWdlUmVzdWx0LCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNl
dCgpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NzYsNyArMTY3Niw3IEBAIHZvaWQgSklUOjplbWl0X29w
X25ld19hcnJheShJbnN0cnVjdGlvbioKICAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9u
WzFdLnUub3BlcmFuZDsKICAgICBpbnQgdmFsdWVzID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUu
b3BlcmFuZDsKIAotICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVzLCBsZW5ndGgsIHJlZ1Qw
LCByZWdUMSwgcmVnVDIpOworICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVzLCBsZW5ndGgs
IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzKTsKICAgICBlbWl0U3RvcmVDZWxsKGRzdCwgcmVn
VDApOyAKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90
b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsOCAr
MTMyLDEwIEBAIEFycmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZShKU0dsb2JhbE8KIAogdm9p
ZCBBcnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERh
dGEoKSk7CisgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZ2xvYmFsT2JqZWN0LT5nbG9i
YWxEYXRhKCk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBub3RpZnlVc2VkQXNQcm90b3R5cGUoZ2xvYmFs
RGF0YSk7CiB9CiAKIGJvb2wgQXJyYXlQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90JiBzbG90KQpAQCAtNjM4LDcgKzY0MCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlw
ZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAKLSAgICBpZiAo
dGhpc09iai0+Y2xhc3NJbmZvKCkgPT0gJkpTQXJyYXk6OnNfaW5mbyAmJiAhYXNBcnJheSh0aGlz
T2JqKS0+aW5TcGFyc2VJbmRleGluZ01vZGUoKSkgeworICAgIGlmICh0aGlzT2JqLT5jbGFzc0lu
Zm8oKSA9PSAmSlNBcnJheTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5pblNwYXJzZUlu
ZGV4aW5nTW9kZSgpICYmICFzaG91bGRVc2VTbG93UHV0KHRoaXNPYmotPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgaWYgKGlzTnVtZXJpY0NvbXBhcmVGdW5jdGlvbihl
eGVjLCBjYWxsVHlwZSwgY2FsbERhdGEpKQogICAgICAgICAgICAgYXNBcnJheSh0aGlzT2JqKS0+
c29ydE51bWVyaWMoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7CiAgICAgICAg
IGVsc2UgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRleGluZ1R5cGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMzMsMjggKzMzLDY1IEBAIHR5cGVkZWYgdWludDhfdCBJbmRleGluZ1R5cGU7CiAvLyBG
bGFncyBmb3IgdGVzdGluZyB0aGUgcHJlc2VuY2Ugb2YgY2FwYWJpbGl0aWVzLgogc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBJc0FycmF5ICAgICAgICAgICAgICAgICAgPSAxOwogc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBIYXNBcnJheVN0b3JhZ2UgICAgICAgICAgPSA4Oworc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBIYXNTbG93UHV0QXJyYXlTdG9yYWdlICAgPSAxNjsKIAogLy8gQWRk
aXRpb25hbCBmbGFncyBmb3IgdHJhY2tpbmcgdGhlIGhpc3Rvcnkgb2YgdGhlIHR5cGUuIFRoZXNl
IGFyZSB1c3VhbGx5CiAvLyBtYXNrZWQgb2ZmIHVubGVzcyB5b3UgYXNrIGZvciB0aGVtIGRpcmVj
dGx5Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAgICAgICAg
PSAxNjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9yYWdlIGlu
IHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAg
ICAgICAgPSAzMjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9y
YWdlIGluIHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBNYXlIYXZlSW5kZXhl
ZEFjY2Vzc29ycyAgPSA2NDsKIAogLy8gTGlzdCBvZiBhY2NlcHRhYmxlIGFycmF5IHR5cGVzLgot
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAgICAgICAgICAgICAgPSAwOwot
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UgPSBIYXNB
cnJheVN0b3JhZ2U7Ci1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAgICAg
ICAgICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0
aGlzIHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgotc3RhdGlj
IGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwg
SGFzQXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAg
ICAgICAgICAgICAgICAgICAgID0gMDsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJy
YXlXaXRoQXJyYXlTdG9yYWdlICAgICAgICA9IEhhc0FycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25z
dCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSA9IEhhc1Nsb3dQ
dXRBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAg
ICAgICAgICAgICAgICAgICAgPSBJc0FycmF5OyAvLyBJJ2Qgd2FudCB0byBjYWxsIHRoaXMgIkFy
cmF5IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRpc2FzdHJvdXMgbmFtZXNwYWNlIHBvbGx1dGlv
bi4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgICAg
ICAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwgSGFzU2xvd1B1
dEFycmF5U3RvcmFnZTsKKworI2RlZmluZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVMgXAorICAg
IE5vbkFycmF5OiAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXlDbGFzcworCisj
ZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyBcCisgICAgQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJh
eVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlCisgICAgCisjZGVmaW5lIEFMTF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTICAgICAgICAgICAgICAgIFwKKyAgICBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgTm9uQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICBcCisgICAgY2FzZSBBUlJBWV9XSVRI
X0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMKIAotLy8gTWFzayBvZiBhbGwgcG9zc2libGUg
dHlwZXMuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMgICAgICAgICAg
ICA9IDE1Oworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCit7CisgICAgc3dpdGNoIChpbmRleGluZ1R5cGUpIHsKKyAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK30KIAotLy8gTWFzayBvZiBh
bGwgcG9zc2libGUgdHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgotc3RhdGljIGNvbnN0IElu
ZGV4aW5nVHlwZSBBbGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAzMTsKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBoYXNJbmRleGluZ0hlYWRlcihJbmRleGluZ1R5cGUgdHlwZSkKK3sKKyAgICByZXR1cm4g
aGFzSW5kZXhlZFByb3BlcnRpZXModHlwZSk7Cit9CiAKLWlubGluZSBib29sIGhhc0luZGV4aW5n
SGVhZGVyKEluZGV4aW5nVHlwZSB0eXBlKQorc3RhdGljIGlubGluZSBib29sIGhhc0FycmF5U3Rv
cmFnZShJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQogewotICAgIHJldHVybiAhISh0eXBlICYg
SGFzQXJyYXlTdG9yYWdlKTsKKyAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlICYgKEhhc0FycmF5
U3RvcmFnZSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpKTsKIH0KIAorc3RhdGljIGlubGluZSBi
b29sIHNob3VsZFVzZVNsb3dQdXQoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKK3sKKyAgICBy
ZXR1cm4gISEoaW5kZXhpbmdUeXBlICYgSGFzU2xvd1B1dEFycmF5U3RvcmFnZSk7Cit9CisKKy8v
IE1hc2sgb2YgYWxsIHBvc3NpYmxlIHR5cGVzLgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzICAgICAgICAgICAgPSAzMTsKKworLy8gTWFzayBvZiBhbGwgcG9zc2libGUg
dHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAxMjc7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAj
ZW5kaWYgLy8gSW5kZXhpbmdUeXBlX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA0LDcgKzQwNCw3IEBA
IEpTVmFsdWUgSlNBcnJheTo6cG9wKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjYXNlIEFycmF5Q2xh
c3M6CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgICAgICAKLSAgICBjYXNlIEFy
cmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0
dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0g
c3RvcmFnZS0+bGVuZ3RoKCk7CkBAIC00NjQsNiArNDY0LDE2IEBAIHZvaWQgSlNBcnJheTo6cHVz
aChFeGVjU3RhdGUqIGV4ZWMsIEpTVmEKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAK
KyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgdW5zaWdu
ZWQgb2xkTGVuZ3RoID0gbGVuZ3RoKCk7CisgICAgICAgIGlmIChhdHRlbXB0VG9JbnRlcmNlcHRQ
dXRCeUluZGV4T25Ib2xlKGV4ZWMsIG9sZExlbmd0aCwgdmFsdWUsIHRydWUpKSB7CisgICAgICAg
ICAgICBpZiAoIWV4ZWMtPmhhZEV4Y2VwdGlvbigpICYmIG9sZExlbmd0aCA8IDB4RkZGRkZGRkZ1
KQorICAgICAgICAgICAgICAgIHNldExlbmd0aChleGVjLCBvbGRMZW5ndGggKyAxLCB0cnVlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBGYWxsIHRocm91Z2gu
CisgICAgfQorICAgICAgICAKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogewogICAg
ICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7
CiAKQEAgLTkxNyw3ICs5MjcsNyBAQCB2b2lkIEpTQXJyYXk6OmZpbGxBcmdMaXN0KEV4ZWNTdGF0
ZSogZXhlCiAgICAgY2FzZSBBcnJheUNsYXNzOgogICAgICAgICByZXR1cm47CiAgICAgCi0gICAg
Y2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlf
U1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2Ug
PSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBXcml0ZUJh
cnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1fdmVjdG9yOwpAQCAtOTQ3LDcgKzk1
Nyw3IEBAIHZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSoKICAgICBjYXNl
IEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgY2FzZSBBcnJheVdp
dGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIHVuc2lnbmVkIGkgPSAwOwogICAgICAgICBXcml0
ZUJhcnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1fdmVjdG9yOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAkocmV2aXNpb24gMTI4NjkxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03OCw5ICs3OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGZpbGxBcmdMaXN0
KEV4ZWNTdGF0ZSosIE1hcmtlZEFyZ3VtZW50QnVmZmVyJik7CiAgICAgICAgIHZvaWQgY29weVRv
QXJndW1lbnRzKEV4ZWNTdGF0ZSosIENhbGxGcmFtZSosIHVpbnQzMl90IGxlbmd0aCk7CiAKLSAg
ICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUp
CisgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90
eXBlLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbywgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBpbmRleGluZ1R5cGUpOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgIHByb3RlY3RlZDoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTExLDYgKzExMSw3IEBAIHN0YXRpYyBjb25zdCBpbnQgcHJlZmVycmVkU2NyaXB0Q2hlY2tU
aW0KIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSog
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSwgMCkKICAgICAsIG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoYWRvcHRSZWYo
bmV3IFdhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykpKQorICAgICwgbV9oYXZpbmdB
QmFkVGltZVdhdGNocG9pbnQoYWRvcHRSZWYobmV3IFdhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRX
YXRjaGluZykpKQogICAgICwgbV93ZWFrUmFuZG9tKE9wdGlvbnM6OmZvcmNlV2Vha1JhbmRvbVNl
ZWQoKSA/IE9wdGlvbnM6OmZvcmNlZFdlYWtSYW5kb21TZWVkKCkgOiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpICsgMS4wKSkpCiAgICAgLCBtX2V2YWxFbmFibGVkKHRydWUpCiAgICAgLCBtX2dsb2JhbE9i
amVjdE1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlID8gZ2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgOiAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTIzMCw3ICsyMzEsOCBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvCiAgICAgbV9jYWxsYmFj
a09iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOwogCiAgICAgbV9hcnJheVByb3Rv
dHlwZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBBcnJheVByb3RvdHlwZTo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFs
RGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX2FycmF5U3Ry
dWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0ZVN0cnVj
dHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsK
KyAgICBtX2FycmF5U3RydWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJy
YXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90
b3R5cGUuZ2V0KCksIEFycmF5V2l0aEFycmF5U3RvcmFnZSkpOworICAgIG1fYXJyYXlTdHJ1Y3R1
cmVGb3JTbG93UHV0LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCksIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UpKTsKICAgICBtX3JlZ0V4cE1hdGNoZXNB
cnJheVN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBSZWdFeHBNYXRjaGVz
QXJyYXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQ
cm90b3R5cGUuZ2V0KCkpKTsKIAogICAgIG1fc3RyaW5nUHJvdG90eXBlLnNldChleGVjLT5nbG9i
YWxEYXRhKCksIHRoaXMsIFN0cmluZ1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFN0cmlu
Z1Byb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9v
YmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CkBAIC0zMjksNiArMzMxLDgyIEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG8KICAgICByZXNldFByb3RvdHlwZShleGVjLT5n
bG9iYWxEYXRhKCksIHByb3RvdHlwZSk7CiB9CiAKKy8vIFByaXZhdGUgbmFtZXNwYWNlIGZvciBo
ZWxwZXJzIGZvciBKU0dsb2JhbE9iamVjdDo6aGF2ZUFCYWRUaW1lKCkKK25hbWVzcGFjZSB7CisK
K2NsYXNzIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIgOiBwdWJsaWMgTWFya2VkQmxv
Y2s6OlZvaWRGdW5jdG9yIHsKK3B1YmxpYzoKKyAgICBPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5n
RmluZGVyKE1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgSlNHbG9iYWxPYmplY3QqKTsKKyAgICB2b2lk
IG9wZXJhdG9yKCkoSlNDZWxsKik7CisKK3ByaXZhdGU6CisgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXImIG1fZm91bmRPYmplY3RzOworICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsK
K307CisKK09iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXI6Ok9iamVjdHNXaXRoQnJva2Vu
SW5kZXhpbmdGaW5kZXIoCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXImIGZvdW5kT2JqZWN0cywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICA6IG1fZm91bmRPYmplY3RzKGZvdW5k
T2JqZWN0cykKKyAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKK3sKK30KKworaW5s
aW5lIGJvb2wgaGFzQnJva2VuSW5kZXhpbmcoSlNPYmplY3QqIG9iamVjdCkKK3sKKyAgICAvLyBU
aGlzIHdpbGwgY2hhbmdlIGlmIHdlIGhhdmUgbW9yZSBpbmRleGluZyB0eXBlcy4KKyAgICByZXR1
cm4gISEob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3Jh
Z2UpOworfQorCit2b2lkIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXI6Om9wZXJhdG9y
KCkoSlNDZWxsKiBjZWxsKQoreworICAgIGlmICghY2VsbC0+aXNPYmplY3QoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIAorICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChjZWxsKTsKKyAg
ICAKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGF2ZSBhIGJhZCB0aW1lIGluIHRoZSBhZmZlY3Rl
ZCBnbG9iYWwgb2JqZWN0LCBub3QgaW4gdGhlIGVudGlyZQorICAgIC8vIFZNLgorICAgIGlmIChv
YmplY3QtPnVud3JhcHBlZEdsb2JhbE9iamVjdCgpICE9IG1fZ2xvYmFsT2JqZWN0KQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaWYgKCFoYXNCcm9rZW5JbmRleGluZyhvYmplY3QpKQorICAg
ICAgICByZXR1cm47CisgICAgCisgICAgbV9mb3VuZE9iamVjdHMuYXBwZW5kKG9iamVjdCk7Cit9
CisKK30gLy8gZW5kIHByaXZhdGUgbmFtZXNwYWNlIGZvciBoZWxwZXJzIGZvciBKU0dsb2JhbE9i
amVjdDo6aGF2ZUFCYWRUaW1lKCkKKwordm9pZCBKU0dsb2JhbE9iamVjdDo6aGF2ZUFCYWRUaW1l
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBBU1NFUlQoJmdsb2JhbERhdGEgPT0g
JnRoaXMtPmdsb2JhbERhdGEoKSk7CisgICAgCisgICAgaWYgKGlzSGF2aW5nQUJhZFRpbWUoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBhbGxvY2F0
aW9ucyBvciBpbmRleGVkIHN0b3JhZ2UgdHJhbnNpdGlvbnMgdGhhdCBhcmUgaW5saW5pbmcKKyAg
ICAvLyB0aGUgYXNzdW1wdGlvbiB0aGF0IGl0J3Mgc2FmZSB0byB0cmFuc2l0aW9uIHRvIGEgbm9u
LVNsb3dQdXQgYXJyYXkgc3RvcmFnZSBkb24ndAorICAgIC8vIGRvIHNvIGFueW1vcmUuCisgICAg
bV9oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQtPm5vdGlmeVdyaXRlKCk7CisgICAgQVNTRVJUKGlz
SGF2aW5nQUJhZFRpbWUoKSk7IC8vIFRoZSB3YXRjaHBvaW50IGlzIHdoYXQgdGVsbHMgdXMgdGhh
dCB3ZSdyZSBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCBh
bGwgSlNBcnJheSBhbGxvY2F0aW9ucyB0aGF0IGxvYWQgdGhlIGFwcHJvcHJpYXRlIHN0cnVjdHVy
ZSBmcm9tCisgICAgLy8gdGhpcyBvYmplY3Qgbm93IGxvYWQgYSBzdHJ1Y3R1cmUgdGhhdCB1c2Vz
IFNsb3dQdXQuCisgICAgbV9hcnJheVN0cnVjdHVyZS5zZXQoZ2xvYmFsRGF0YSwgdGhpcywgbV9h
cnJheVN0cnVjdHVyZUZvclNsb3dQdXQuZ2V0KCkpOworICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0
aGF0IGFsbCBvYmplY3RzIHRoYXQgaGF2ZSBpbmRleGVkIHN0b3JhZ2Ugc3dpdGNoIHRvIHRoZSBz
bG93IGtpbmQgb2YKKyAgICAvLyBpbmRleGVkIHN0b3JhZ2UuCisgICAgTWFya2VkQXJndW1lbnRC
dWZmZXIgZm91bmRPYmplY3RzOyAvLyBVc2UgTWFya2VkQXJndW1lbnRCdWZmZXIgYmVjYXVzZSBz
d2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoKSBtYXkgR0MuCisgICAgT2JqZWN0c1dpdGhCcm9r
ZW5JbmRleGluZ0ZpbmRlciBmaW5kZXIoZm91bmRPYmplY3RzLCB0aGlzKTsKKyAgICBnbG9iYWxE
YXRhLmhlYXAub2JqZWN0U3BhY2UoKS5mb3JFYWNoTGl2ZUNlbGwoZmluZGVyKTsKKyAgICB3aGls
ZSAoIWZvdW5kT2JqZWN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9
IGFzT2JqZWN0KGZvdW5kT2JqZWN0cy5sYXN0KCkpOworICAgICAgICBmb3VuZE9iamVjdHMucmVt
b3ZlTGFzdCgpOworICAgICAgICBBU1NFUlQoaGFzQnJva2VuSW5kZXhpbmcob2JqZWN0KSk7Cisg
ICAgICAgIG9iamVjdC0+c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKGdsb2JhbERhdGEpOwor
ICAgIH0KK30KKwogdm9pZCBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlVGhyb3dUeXBlRXJyb3IoRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIEpTRnVuY3Rpb24qIHRocm93ZXIgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUoZXhlYywgdGhpcywgMCwgU3RyaW5nKCksIGdsb2JhbEZ1bmNUaHJvd1R5cGVFcnJvcik7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hY3RpdmF0aW9uU3Ry
dWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVTY29wZVN0cnVj
dHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcmd1bWVudHNTdHJ1Y3R1
cmU7Ci0gICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7Cisg
ICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7IC8vIFRoaXMg
Z2V0cyBzZXQgdG8gbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQgYXMgc29vbiBhcyB3ZSBkZWNp
ZGUgdG8gaGF2ZSBhIGJhZCB0aW1lLgorICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dDsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9ib29sZWFuT2JqZWN0U3RydWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX2NhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsKQEAgLTE0OSw2ICsxNTAs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRGVidWdnZXIqIG1fZGVidWdnZXI7CiAKICAg
ICAgICAgUmVmUHRyPFdhdGNocG9pbnRTZXQ+IG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNo
cG9pbnQ7CisgICAgICAgIFJlZlB0cjxXYXRjaHBvaW50U2V0PiBtX2hhdmluZ0FCYWRUaW1lV2F0
Y2hwb2ludDsKIAogICAgICAgICBPd25QdHI8SlNHbG9iYWxPYmplY3RSYXJlRGF0YT4gbV9yYXJl
RGF0YTsKIApAQCAtMjYwLDYgKzI2Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJ1
Y3R1cmUqIG5hbWVTY29wZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZVNjb3BlU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgICAgIFN0cnVjdHVyZSogYXJndW1lbnRzU3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9hcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3Ry
dWN0dXJlKiBhcnJheVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTdHJ1Y3R1cmUu
Z2V0KCk7IH0KKyAgICAgICAgdm9pZCogYWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSB7IHJldHVy
biAmbV9hcnJheVN0cnVjdHVyZTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGJvb2xlYW5PYmplY3RT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICAgICAgU3RydWN0dXJlKiBjYWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9jYWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlLmdldCgpOyB9CiAgICAg
ICAgIFN0cnVjdHVyZSogY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQpAQCAtMjgwLDYgKzI4MywxNCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogCiAg
ICAgICAgIFdhdGNocG9pbnRTZXQqIG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50KCkg
eyByZXR1cm4gbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludC5nZXQoKTsgfQorICAg
ICAgICBXYXRjaHBvaW50U2V0KiBoYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKSB7IHJldHVybiBt
X2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludC5nZXQoKTsgfQorICAgICAgICAKKyAgICAgICAgYm9v
bCBpc0hhdmluZ0FCYWRUaW1lKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50LT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRhJik7
CiAKICAgICAgICAgdm9pZCBzZXRQcm9maWxlR3JvdXAodW5zaWduZWQgdmFsdWUpIHsgY3JlYXRl
UmFyZURhdGFJZk5lZWRlZCgpOyBtX3JhcmVEYXRhLT5wcm9maWxlR3JvdXAgPSB2YWx1ZTsgfQog
ICAgICAgICB1bnNpZ25lZCBwcm9maWxlR3JvdXAoKSBjb25zdApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzIsOCArMTMyLDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRl
cgogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBNYXJrIGFuZCBjb3B5IHRoZSBhcnJheSBp
ZiBhcHByb3ByaWF0ZS4KICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRleGluZ1R5
cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAg
ICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIG5ld0J1
dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmNvcHlIZWFkZXJGcm9tRHVyaW5nR0MoKmJ1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiogY3VycmVudFRhcmdldCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9y
OwogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogY3VycmVudFNvdXJjZSA9
IGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yOwpAQCAtMTU5LDggKzE1OCw3IEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBKU09iamVjdDo6dmlzaXRCdXR0ZXIKICAgICAgICAgCiAgICAg
ICAgIC8vIE1hcmsgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRlLgogICAgICAgICBzd2l0Y2ggKHN0
cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6Ci0gICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICBj
YXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgdmlzaXRv
ci5hcHBlbmRWYWx1ZXMoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3IsIGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpKTsKICAgICAgICAgICAgIGlmIChi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCkKICAgICAgICAgICAgICAgICB2
aXNpdG9yLmFwcGVuZCgmYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXApOwpA
QCAtMjMzLDEyICsyMzEsMTAgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleAogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0T3duUHJv
cGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaSksIHNs
b3QpOwogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAg
Y2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAK
LSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6
IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAoaSA+PSBzdG9yYWdlLT5sZW5ndGgoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMCw3ICsyOTYsNyBAQCB2b2lkIEpTT2Jq
ZWN0OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0
ZXM7CiAgICAgICAgIEpTQ2VsbCogc3BlY2lmaWNWYWx1ZTsKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIHByb3BlcnR5TmFt
ZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7Ci0gICAgICAgIGlmIChvZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgeworICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAg
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7CiAgICAgICAgICAgICAgICAgaWYg
KHNsb3QuaXNTdHJpY3RNb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXhl
YywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbChTdHJpY3RNb2RlUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpKSk7CkBAIC0zNTMsOCArMzQ5LDcgQEAgdm9pZCBKU09iamVjdDo6
cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHRoaXNP
YmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6
Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6CkBAIC0zODAsNiArMzc1LDM0IEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXgoSlND
ZWxsKiBjZWxsLCAKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAgICAgCisgICAgY2FzZSBO
b25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZTogeworICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2Jq
ZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CisgICAgICAgIAorICAgICAgICBpZiAo
cHJvcGVydHlOYW1lID49IHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKQorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIAorICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4mIHZhbHVlU2xvdCA9
IHN0b3JhZ2UtPm1fdmVjdG9yW3Byb3BlcnR5TmFtZV07CisgICAgICAgIHVuc2lnbmVkIGxlbmd0
aCA9IHN0b3JhZ2UtPmxlbmd0aCgpOworICAgICAgICAKKyAgICAgICAgLy8gVXBkYXRlIGxlbmd0
aCAmIG1fbnVtVmFsdWVzSW5WZWN0b3IgYXMgbmVjZXNzYXJ5LgorICAgICAgICBpZiAocHJvcGVy
dHlOYW1lID49IGxlbmd0aCkgeworICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPmF0dGVtcHRU
b0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hv
dWxkVGhyb3cpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGxlbmd0aCA9
IHByb3BlcnR5TmFtZSArIDE7CisgICAgICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVuZ3Ro
KTsKKyAgICAgICAgICAgICsrc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcjsKKyAgICAgICAg
fSBlbHNlIGlmICghdmFsdWVTbG90KSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0
ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBzaG91bGRUaHJvdykpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgKytz
dG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICB2YWx1ZVNsb3Quc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc09iamVjdCwgdmFsdWUpOwor
ICAgICAgICB0aGlzT2JqZWN0LT5jaGVja0luZGV4aW5nQ29uc2lzdGVuY3koKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtNDI0LDggKzQ0Nyw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmVudGVyRGljdGlvbmFyeUkKIHZvaWQgSlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUlu
ZGV4aW5nTW9kZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiAgICAgc3dpdGNoIChzdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZToKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJB
WV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBlbnRlckRpY3Rpb25hcnlJbmRleGlu
Z01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICBicmVhazsKICAgICAgICAgCkBAIC00MzQsMTAg
KzQ1NiwyMyBAQCB2b2lkIEpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vCiAgICAg
fQogfQogCit2b2lkIEpTT2JqZWN0Ojpub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyhK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgaWYgKG1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgc2V0U3RydWN0dXJlKGdsb2Jh
bERhdGEsIFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVj
dHVyZSgpLCBBZGRJbmRleGVkQWNjZXNzb3JzKSk7CisgICAgCisgICAgaWYgKCFtYXlCZVVzZWRB
c1Byb3RvdHlwZShnbG9iYWxEYXRhKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGdsb2Jh
bE9iamVjdCgpLT5oYXZlQUJhZFRpbWUoZ2xvYmFsRGF0YSk7Cit9CisKIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIHVu
c2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgdmVjdG9yTGVuZ3RoKQogewogICAgIEluZGV4aW5nVHlw
ZSBvbGRUeXBlID0gc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpOwotICAgIEFTU0VSVF9VTlVT
RUQob2xkVHlwZSwgb2xkVHlwZSA9PSBOb25BcnJheSB8fCBvbGRUeXBlID09IEFycmF5Q2xhc3Mp
OworICAgIEFTU0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5
cGUpKTsKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IG1fYnV0dGVyZmx5LT5ncm93QXJy
YXlSaWdodCgKICAgICAgICAgZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5v
dXRPZkxpbmVDYXBhY2l0eSgpLCBmYWxzZSwgMCwKICAgICAgICAgQXJyYXlTdG9yYWdlOjpzaXpl
Rm9yKHZlY3Rvckxlbmd0aCkpOwpAQCAtNDUzLDcgKzQ4OCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKICAgICByZXN1bHQtPm1faW5pdGlhbGl6YXRpb25JbmRl
eCA9IDA7CiAgICAgcmVzdWx0LT5tX2luQ29tcGFjdEluaXRpYWxpemF0aW9uID0gMDsKICNlbmRp
ZgotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRy
YW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFsbG9jYXRlQXJyYXlTdG9yYWdlKTsK
KyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBzdHJ1Y3R1cmUoKS0+c3VnZ2VzdGVkSW5k
ZXhpbmdUcmFuc2l0aW9uKCkpOwogICAgIHNldEJ1dHRlcmZseShnbG9iYWxEYXRhLCBuZXdCdXR0
ZXJmbHksIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTQ2NiwxMiAr
NTAxLDEwIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxBcnIKIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlv
bmFyeUluZGV4aW5nTW9kZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiAgICAgc3dpdGNo
IChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5
U3RvcmFnZToKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFM
TF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gZW50ZXJEaWN0
aW9uYXJ5SW5kZXhpbmdNb2RlV2hlbkFycmF5U3RvcmFnZUFscmVhZHlFeGlzdHMoZ2xvYmFsRGF0
YSwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpKTsKICAgICAgICAgCi0gICAgY2FzZSBBcnJh
eUNsYXNzOgotICAgIGNhc2UgTm9uQXJyYXk6IHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzogewogICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSwgMCwgMCk7
CiAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCA9IGFsbG9jYXRlU3BhcnNlSW5kZXhN
YXAoZ2xvYmFsRGF0YSk7CiAgICAgICAgIG1hcC0+c2V0U3BhcnNlTW9kZSgpOwpAQCAtNDg0LDYg
KzUxNywyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAg
fQogfQogCit2b2lkIEpTT2JqZWN0Ojpzd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQoreworICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7CisgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUo
KSwgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKGds
b2JhbERhdGEsIG5ld1N0cnVjdHVyZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAgICAg
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KK30KKwogdm9pZCBKU09iamVjdDo6cHV0RGlyZWN0VmlydHVhbChKU09iamVj
dCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCiB7CiAgICAgQVNTRVJUKCF2YWx1ZS5p
c0dldHRlclNldHRlcigpICYmICEoYXR0cmlidXRlcyAmIEFjY2Vzc29yKSk7CkBAIC00OTEsNiAr
NTQwLDMzIEBAIHZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdFZpcnR1YWwoSlNPYmplY3QKICAgICBv
YmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVEZWZpbmVPd25Qcm9wZXJ0eT4oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyaWJ1dGVzLCBzbG90LCBnZXRD
YWxsYWJsZU9iamVjdCh2YWx1ZSkpOwogfQogCit2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGUo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKK3sKKyAgICBBU1NF
UlQocHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIGFz
T2JqZWN0KHByb3RvdHlwZSktPm5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKKyAg
ICAKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKTsKKyAgICBz
ZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlKTsKKyAgICAKKyAgICBpZiAoIW5l
d1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKG1heUJlVXNlZEFzUHJvdG90eXBlKGds
b2JhbERhdGEpKSB7CisgICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVB
QmFkVGltZShnbG9iYWxEYXRhKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBp
ZiAoIWhhc0luZGV4aW5nSGVhZGVyKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoc2hvdWxkVXNlU2xvd1B1dChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbmV3U3RydWN0dXJl
ID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgbmV3U3RydWN0
dXJlLCBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UpOworICAgIHNldFN0cnVjdHVyZShnbG9i
YWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworfQorCiBib29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVX
aXRoQ3ljbGVDaGVjayhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBl
KQogewogICAgIEpTVmFsdWUgY2hlY2tGb3IgPSB0aGlzOwpAQCAtNTA3LDkgKzU4MywzMiBAQCBi
b29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVXaXRoQ3ljbGVDaGVjCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnJlc2V0SW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQoreworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZSgpLT5nZXQo
Z2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsKKyAgICBpZiAoIWlzVmFs
aWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHB1dERpcmVjdE9m
ZnNldChnbG9iYWxEYXRhLCBvZmZzZXQsIGpzVW5kZWZpbmVkKCkpOworfQorCitTdHJ1Y3R1cmUq
IEpTT2JqZWN0Ojppbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAg
aWYgKFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRp
b24oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KSkgeworICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gbG9jYXRpb24tPmdldCgpOworICAgICAgICBpZiAodmFsdWUuaXNDZWxs
KCkpIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0
dXJlKj4odmFsdWUpOworICAgICAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkp
OworICAgICAgICAgICAgcmV0dXJuIGluaGVyaXRvcklEOworICAgICAgICB9CisgICAgICAgIEFT
U0VSVCh2YWx1ZS5pc1VuZGVmaW5lZCgpKTsKKyAgICB9CisgICAgcmV0dXJuIGNyZWF0ZUluaGVy
aXRvcklEKGdsb2JhbERhdGEpOworfQorCiBib29sIEpTT2JqZWN0OjphbGxvd3NBY2Nlc3NGcm9t
KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
aXNHbG9iYWxUaGlzKCkgPyBqc0Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9i
amVjdCgpIDogdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHVud3JhcHBlZEdsb2JhbE9iamVjdCgpOwogICAgIHJldHVybiBnbG9iYWxPYmpl
Y3QtPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPmFsbG93c0FjY2Vzc0Zyb20oZ2xvYmFsT2Jq
ZWN0LCBleGVjKTsKIH0KIApAQCAtNTk2LDEyICs2OTUsMTAgQEAgYm9vbCBKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KEpTQwogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9k
VGFibGUoKS0+ZGVsZXRlUHJvcGVydHkodGhpc09iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJv
bShleGVjLCBpKSk7CiAgICAgCiAgICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAgY2FzZSBOb25BcnJh
eToKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9J
TkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2Jq
ZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBpZiAo
aSA8IHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKSB7CkBAIC03NjEsMTIgKzg1OCwxMCBAQCB2b2lk
IEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqCiAgICAgLy8gaXMgaW5jcmVkaWJs
eSBpbmVmZmljaWVudCBmb3IgbGFyZ2UgYXJyYXlzLiBXZSBuZWVkIGEgZGlmZmVyZW50IGFwcHJv
YWNoLAogICAgIC8vIHdoaWNoIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnMgYSBkaWZmZXJlbnQgc3Ry
dWN0dXJlIGZvciBQcm9wZXJ0eU5hbWVBcnJheS4KICAgICBzd2l0Y2ggKG9iamVjdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBj
YXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0Vf
SU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gb2JqZWN0
LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25l
ZCB1c2VkVmVjdG9yTGVuZ3RoID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3JhZ2Ut
PnZlY3Rvckxlbmd0aCgpKTsKQEAgLTg1Niw2ICs5NTEsMTMgQEAgdm9pZCBKU09iamVjdDo6cHJl
dmVudEV4dGVuc2lvbnMoSlNHbG9iYQogICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwg
U3RydWN0dXJlOjpwcmV2ZW50RXh0ZW5zaW9uc1RyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKCkpKTsKIH0KIAorSlNHbG9iYWxPYmplY3QqIEpTT2JqZWN0Ojp1bndyYXBwZWRHbG9iYWxP
YmplY3QoKQoreworICAgIGlmIChpc0dsb2JhbFRoaXMoKSkKKyAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0dsb2JhbFRoaXMqPih0aGlzKS0+dW53cmFwcGVkT2JqZWN0KCk7CisgICAgcmV0dXJuIGds
b2JhbE9iamVjdCgpOworfQorCiAvLyBUaGlzIHByZXNlbnRseSB3aWxsIGZsYXR0ZW4gdG8gYW4g
dW5jYWNoYWJsZSBkaWN0aW9uYXJ5OyB0aGlzIGlzIHN1aXRhYmxlCiAvLyBmb3IgdXNlIGluIGRl
bGV0ZSwgd2UgbWF5IHdhbnQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudCBlbHNld2hlcmUuCiB2
b2lkIEpTT2JqZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShFeGVjU3RhdGUqIGV4
ZWMpCkBAIC05MTksMTggKzEwMjEsMzUgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OmZp
bGxHZXR0ZXJQcgogICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgpOwogfQogCi1TdHJ1Y3R1cmUq
IEpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit2
b2lkIEpTT2JqZWN0Ojpub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhKQogewotICAgIEFTU0VSVCghZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KSk7Ci0KLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0OwotICAgIGlmIChpc0dsb2JhbFRoaXMoKSkKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9iamVjdCgpOwotICAgIGVs
c2UKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpOwot
ICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0
cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsK
KyAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7CisgICAgcHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZURl
ZmluZU93blByb3BlcnR5PihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXks
IGpzVW5kZWZpbmVkKCksIERvbnRFbnVtLCBzbG90LCAwKTsKKyAgICAKKyAgICAvLyBOb3RlIHRo
YXQgdGhpcyBtZXRob2QgbWFrZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hl
Y2sgaWYgdGhpcworICAgIC8vIG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3Jz
LiBXZSBjb3VsZCBkbyB0aGF0IGNoZWNrIGhlcmUsIGFuZCBpZgorICAgIC8vIGluZGV4ZWQgYWNj
ZXNzb3JzIHdlcmUgZm91bmQsIHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2
ZSBhIGJhZAorICAgIC8vIHRpbWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9s
bG93aW5nIHRvIGJlIGFsd2F5cyBmYXN0OgorICAgIC8vCisgICAgLy8gMSkgQ3JlYXRlIGFuIG9i
amVjdC4KKyAgICAvLyAyKSBHaXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0
aGF0IGhhcHBlbnMgdG8gaGF2ZSBhIG51bWVyaWMgbmFtZS4KKyAgICAvLyAzKSBBbGxvY2F0ZSBv
YmplY3RzIHRoYXQgdXNlIHRoaXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgorICAgIC8vCisgICAg
Ly8gVGhpcyBhdm9pZHMgYW55b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0
YW5jZSBvYmplY3RzIGVuZCB1cAorICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBj
cmVhdGlvbiBvZiBpbmRleGVkIHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKKyAgICAvLyBj
aGFpbiB3YWxrIHRoYXQgZGV0ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFu
ZCB0aGVuIGRvZXMgdGhlCisgICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcg
YSBiYWQgdGltZSBvbmx5IGhhcHBlbnMgaWYgeW91IGFkZCBhbgorICAgIC8vIGluZGV4ZWQgc2V0
dGVyIChvciBnZXR0ZXIsIG9yIHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMg
YWxyZWFkeQorICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCit9CiAKLSAgICBTdHJ1Y3R1cmUq
IGluaGVyaXRvcklEID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgZ2xv
YmFsT2JqZWN0LCB0aGlzKTsKK1N0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklE
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklE
ID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdW53cmFwcGVkR2xvYmFs
T2JqZWN0KCksIHRoaXMpOwogICAgIEFTU0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKIAog
ICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwpAQCAtOTgwLDYgKzEwOTksOSBAQCB2b2lkIEpTT2Jq
ZWN0OjpwdXRJbmRleGVkRGVzY3JpcHRvcihFeGVjCiBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25J
bmRleGVkUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHRocm93RXhjZXB0aW9uKQogewogICAgIEFTU0VS
VChpbmRleCAhPSAweEZGRkZGRkZGKTsKKyAgICAKKyAgICBpZiAoZGVzY3JpcHRvci5hdHRyaWJ1
dGVzKCkgJiAoUmVhZE9ubHkgfCBBY2Nlc3NvcikpCisgICAgICAgIG5vdGlmeVByZXNlbmNlT2ZJ
bmRleGVkQWNjZXNzb3JzKGV4ZWMtPmdsb2JhbERhdGEoKSk7CiAKICAgICBpZiAoIWluU3BhcnNl
SW5kZXhpbmdNb2RlKCkpIHsKICAgICAgICAgLy8gRmFzdCBjYXNlOiB3ZSdyZSBwdXR0aW5nIGEg
cmVndWxhciBwcm9wZXJ0eSB0byBhIHJlZ3VsYXIgYXJyYXkKQEAgLTExMDgsNiArMTIzMCw0MCBA
QCB2b2lkIEpTT2JqZWN0OjpkZWFsbG9jYXRlU3BhcnNlSW5kZXhNYXAoCiAgICAgICAgIGFycmF5
U3RvcmFnZS0+bV9zcGFyc2VNYXAuY2xlYXIoKTsKIH0KIAorYm9vbCBKU09iamVjdDo6YXR0ZW1w
dFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMs
IHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpCit7CisgICAgZm9y
IChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgLy8gVGhpcyBoYXMgdGhl
IHNhbWUgYmVoYXZpb3Igd2l0aCByZXNwZWN0IHRvIHByb3RvdHlwZXMgYXMgSlNPYmplY3Q6OnB1
dCgpLiBJdCBvbmx5CisgICAgICAgIC8vIGFsbG93cyBhIHByb3RvdHlwZSB0byBpbnRlcmNlcHQg
YSBwdXQgaWYgKGEpIHRoZSBwcm90b3R5cGUgZGVjbGFyZXMgdGhlIHByb3BlcnR5CisgICAgICAg
IC8vIHdlJ3JlIGFmdGVyIHJhdGhlciB0aGFuIGludGVyY2VwdGluZyBpdCB2aWEgYW4gb3ZlcnJp
ZGUgb2YgSlNPYmplY3Q6OnB1dCgpLCBhbmQKKyAgICAgICAgLy8gKGIpIHRoYXQgcHJvcGVydHkg
aXMgZGVjbGFyZWQgYXMgUmVhZE9ubHkgb3IgQWNjZXNzb3IuCisgICAgICAgIAorICAgICAgICBB
cnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjdXJyZW50LT5hcnJheVN0b3JhZ2VPck51bGwoKTsKKyAg
ICAgICAgaWYgKHN0b3JhZ2UgJiYgc3RvcmFnZS0+bV9zcGFyc2VNYXApIHsKKyAgICAgICAgICAg
IFNwYXJzZUFycmF5VmFsdWVNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBzdG9yYWdlLT5tX3NwYXJzZU1h
cC0+ZmluZChpKTsKKyAgICAgICAgICAgIGlmIChpdGVyICE9IHN0b3JhZ2UtPm1fc3BhcnNlTWFw
LT5ub3RGb3VuZCgpICYmIChpdGVyLT5zZWNvbmQuYXR0cmlidXRlcyAmIChBY2Nlc3NvciB8IFJl
YWRPbmx5KSkpIHsKKyAgICAgICAgICAgICAgICBpdGVyLT5zZWNvbmQucHV0KGV4ZWMsIHRoaXMs
IHN0b3JhZ2UtPm1fc3BhcnNlTWFwLmdldCgpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOworICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlID0gY3VycmVudC0+cHJvdG90eXBlKCk7
CisgICAgICAgIGlmIChwcm90b3R5cGVWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGVW
YWx1ZSk7CisgICAgfQorfQorCitib29sIEpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRC
eUluZGV4T25Ib2xlKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwg
Ym9vbCBzaG91bGRUaHJvdykKK3sKKyAgICBKU1ZhbHVlIHByb3RvdHlwZVZhbHVlID0gcHJvdG90
eXBlKCk7CisgICAgaWYgKHByb3RvdHlwZVZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgCisgICAgcmV0dXJuIGFzT2JqZWN0KHByb3RvdHlwZVZhbHVlKS0+YXR0ZW1w
dFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZShleGVjLCBpLCB2YWx1ZSwg
c2hvdWxkVGhyb3cpOworfQorCiB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9y
TGVuZ3RoV2l0aEFycmF5U3RvcmFnZShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFs
dWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3csIEFycmF5U3RvcmFnZSogc3RvcmFnZSkKIHsKICAg
ICBKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEgPSBleGVjLT5nbG9iYWxEYXRhKCk7CkBAIC0xMTg4
LDggKzEzNDQsNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAg
ICAgQVNTRVJUKGkgPD0gTUFYX0FSUkFZX0lOREVYKTsKICAgICAKICAgICBzd2l0Y2ggKHN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBB
cnJheUNsYXNzOiB7CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAg
ICAgaWYgKGluZGV4aW5nU2hvdWxkQmVTcGFyc2UoKSkgewogICAgICAgICAgICAgcHV0QnlJbmRl
eEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIHNob3Vs
ZFRocm93LCBlbnN1cmVBcnJheVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGlu
Z01vZGUoZ2xvYmFsRGF0YSkpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xMjA0LDYgKzEzNTks
MTIgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgICAgICBz
dG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yID0gMTsKICAgICAgICAgYnJlYWs7CiAgICAgfQor
ICAgICAgICAKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAg
Y2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICBpZiAoYXR0ZW1wdFRv
SW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3cpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAvLyBPdGhlcndpc2UsIGZhbGwgdGhvdWdoLgog
CiAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgY2FzZSBBcnJheVdpdGhB
cnJheVN0b3JhZ2U6CkBAIC0xMjk2LDkgKzE0NTcsMTEgQEAgYm9vbCBKU09iamVjdDo6cHV0RGly
ZWN0SW5kZXhCZXlvbmRWZWN0bwogICAgIC8vIGkgc2hvdWxkIGJlIGEgdmFsaWQgYXJyYXkgaW5k
ZXggdGhhdCBpcyBvdXRzaWRlIG9mIHRoZSBjdXJyZW50IHZlY3Rvci4KICAgICBBU1NFUlQoaSA8
PSBNQVhfQVJSQVlfSU5ERVgpOwogICAgIAorICAgIGlmIChhdHRyaWJ1dGVzICYgKFJlYWRPbmx5
IHwgQWNjZXNzb3IpKQorICAgICAgICBub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyhn
bG9iYWxEYXRhKTsKKyAgICAKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOiB7CisgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgaWYgKGluZGV4aW5nU2hvdWxk
QmVTcGFyc2UoKSB8fCBhdHRyaWJ1dGVzKQogICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVjdElu
ZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1ZSwgYXR0
cmlidXRlcywgbW9kZSwgZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5
SW5kZXhpbmdNb2RlKGdsb2JhbERhdGEpKTsKICAgICAgICAgaWYgKCFpc0RlbnNlRW5vdWdoRm9y
VmVjdG9yKGksIDApIHx8IGkgPj0gTUFYX1NUT1JBR0VfVkVDVE9SX0xFTkdUSCkKQEAgLTEzMTAs
OCArMTQ3Myw3IEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG8KICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBTExfQVJS
QVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgcmV0dXJuIHB1dERpcmVjdEluZGV4
QmV5b25kVmVjdG9yTGVuZ3RoV2l0aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1ZSwgYXR0cmli
dXRlcywgbW9kZSwgYXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKICAgICBkZWZhdWx0OgpAQCAt
MTM1MywxMyArMTUxNSwxMSBAQCBBTFdBWVNfSU5MSU5FIHVuc2lnbmVkIEpTT2JqZWN0OjpnZXRO
ZXdWCiAgICAgdW5zaWduZWQgbGVuZ3RoOwogICAgIAogICAgIHN3aXRjaCAoc3RydWN0dXJlKCkt
PmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xh
c3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHZlY3Rvckxl
bmd0aCA9IDA7CiAgICAgICAgIGxlbmd0aCA9IDA7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHZl
Y3Rvckxlbmd0aCA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCk7
CiAgICAgICAgIGxlbmd0aCA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bGVuZ3RoKCk7
CiAgICAgICAgIGJyZWFrOwpAQCAtMTQ3NywxMiArMTYzNywxMCBAQCBib29sIEpTT2JqZWN0Ojpn
ZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAKICAg
ICBzd2l0Y2ggKG9iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2Fz
ZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgCi0gICAgY2FzZSBO
b25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6
IHsKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAg
IEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG9iamVjdC0+bV9idXR0ZXJmbHktPmFycmF5U3RvcmFn
ZSgpOwogICAgICAgICBpZiAoaSA+PSBzdG9yYWdlLT5sZW5ndGgoKSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3Qu
aAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNP
YmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtMTE4LDcgKzExOCwxOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgYm9vbCBzZXRQcm90b3R5cGVXaXRoQ3ljbGVDaGVjayhKU0dsb2JhbERhdGEm
LCBKU1ZhbHVlIHByb3RvdHlwZSk7CiAgICAgICAgIAogICAgICAgICBTdHJ1Y3R1cmUqIGluaGVy
aXRvcklEKEpTR2xvYmFsRGF0YSYpOwotCisgICAgICAgIHZvaWQgbm90aWZ5VXNlZEFzUHJvdG90
eXBlKEpTR2xvYmFsRGF0YSYpOworICAgICAgICAKKyAgICAgICAgYm9vbCBtYXlCZVVzZWRBc1By
b3RvdHlwZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCisgICAgICAgIHsKKyAgICAgICAgICAg
IHJldHVybiBpc1ZhbGlkT2Zmc2V0KHN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJv
b2wgbWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkKKyAgICAgICAgeworICAgICAgICAgICAg
cmV0dXJuIHN0cnVjdHVyZSgpLT5tYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKTsKKyAgICAg
ICAgfQorICAgICAgICAKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgUHJvcGVydHlO
YW1lKSBjb25zdDsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lKSBjb25zdDsKIApAQCAtMTM1LDExICsxNDYsOSBAQCBuYW1lc3BhY2UgSlNDIHsK
ICAgICAgICAgdW5zaWduZWQgZ2V0QXJyYXlMZW5ndGgoKSBjb25zdAogICAgICAgICB7CiAgICAg
ICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAg
ICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAg
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVy
biAwOwotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAg
ICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FS
UkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0
dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bGVuZ3RoKCk7CiAgICAgICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTUwLDExICsxNTksOSBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdW5zaWduZWQgZ2V0VmVjdG9yTGVuZ3RoKCkKICAg
ICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkp
IHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xh
c3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
ICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAg
ICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAg
IHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpOwogICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
QEAgLTE4OSwxMSArMTk2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgY2FuR2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAo
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5
OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxB
TktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0Vf
SU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPCBtX2J1dHRlcmZseS0+
YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpICYmIG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKS0+bV92ZWN0b3JbaV07CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjA0LDggKzIwOSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBKU1ZhbHVlIGdldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAgICB7
CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAg
ICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNl
IEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKS0+bV92ZWN0b3JbaV0uZ2V0KCk7CiAgICAgICAgICAgICBkZWZhdWx0Ogog
ICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjE2LDEyICsyMjAsMTUg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgY2FuU2V0SW5kZXhRdWlja2x5KHVuc2ln
bmVkIGkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4
aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2Fz
ZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6
CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgY2FzZSBOb25BcnJh
eVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZToKICAgICAgICAgICAgICAgICByZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KS0+dmVjdG9yTGVuZ3RoKCk7CisgICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aFNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3Jh
Z2U6CisgICAgICAgICAgICAgICAgcmV0dXJuIGkgPCBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdl
KCktPnZlY3Rvckxlbmd0aCgpCisgICAgICAgICAgICAgICAgICAgICYmICEhbV9idXR0ZXJmbHkt
PmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwpAQCAtMjMxLDggKzIzOCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lk
IHNldEluZGV4UXVpY2tseShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIHVuc2lnbmVkIGksIEpT
VmFsdWUgdikKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5k
ZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgICAg
IGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgICAgICAg
ICBXcml0ZUJhcnJpZXI8VW5rbm93bj4mIHggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
Pm1fdmVjdG9yW2ldOwogICAgICAgICAgICAgICAgIGlmICgheCkgewogICAgICAgICAgICAgICAg
ICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7
CkBAIC0yNTEsOCArMjU3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgaW5pdGlh
bGl6ZUluZGV4KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2
KQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5
cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAg
ICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIEFycmF5
U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICNpZiBDSEVD
S19BUlJBWV9DT05TSVNURU5DWQogICAgICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdlLT5tX2lu
Q29tcGFjdEluaXRpYWxpemF0aW9uKTsKQEAgLTI3Niw4ICsyODEsNyBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgdm9pZCBjb21wbGV0ZUluaXRpYWxpemF0aW9uKHVuc2lnbmVkIG5ld0xlbmd0
aCkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAg
ICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgICAgIGNhc2Ug
QUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgICAgICAgICBBcnJh
eVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAg
ICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSBoYXZlIGluaXRpYWxpemVkIGFzIG1lbnkgcHJvcGVy
dGllcyBhcyB3ZSB0aGluayB3ZSBoYXZlLgogICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJBTShz
dG9yYWdlKTsKQEAgLTI5OCwxMSArMzAyLDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJv
b2wgaW5TcGFyc2VJbmRleGluZ01vZGUoKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2gg
KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJh
eToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JM
QU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAg
ICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJy
YXlTdG9yYWdlKCktPmluU3BhcnNlTW9kZSgpOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTQ4Nyw2ICs0ODksMTkgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCktPmdsb2JhbE9iamVj
dCgpOwogICAgICAgICB9CiAgICAgICAgIAorICAgICAgICBKU0dsb2JhbE9iamVjdCogdW53cmFw
cGVkR2xvYmFsT2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICB2b2lkIHN3aXRjaFRvU2xvd1B1
dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCisgICAgICAgIC8vIFRoZSBy
ZWNlaXZlciBpcyB0aGUgcHJvdG90eXBlIGluIHRoaXMgY2FzZS4gVGhlIGZvbGxvd2luZzoKKyAg
ICAgICAgLy8KKyAgICAgICAgLy8gYXNPYmplY3QoZm9vLT5zdHJ1Y3R1cmUoKS0+c3RvcmVkUHJv
dG90eXBlKCkpLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlRm9yUHJvdG90eXBl
KC4uLikKKyAgICAgICAgLy8KKyAgICAgICAgLy8gaXMgZXF1aXZhbGVudCB0bzoKKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gZm9vLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKC4u
Lik7CisgICAgICAgIGJvb2wgYXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclBy
b3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFsdWUgdiwgYm9vbCBzaG91
bGRUaHJvdyk7CisgICAgICAgIAogICAgICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mSW5saW5l
U3RvcmFnZSgpOwogICAgICAgICAKICAgICAgICAgc3RhdGljIHB0cmRpZmZfdCBidXR0ZXJmbHlP
ZmZzZXQoKQpAQCAtNTIyLDEwICs1MzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8g
VG8gY3JlYXRlIGRlcml2ZWQgdHlwZXMgeW91IGxpa2VseSB3YW50IEpTTm9uRmluYWxPYmplY3Qs
IGJlbG93LgogICAgICAgICBKU09iamVjdChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqLCBCdXR0
ZXJmbHkqID0gMCk7CiAgICAgICAgIAotICAgICAgICB2b2lkIHJlc2V0SW5oZXJpdG9ySUQoSlNH
bG9iYWxEYXRhJiBnbG9iYWxEYXRhKQotICAgICAgICB7Ci0gICAgICAgICAgICByZW1vdmVEaXJl
Y3QoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsKLSAgICAgICAgfQor
ICAgICAgICB2b2lkIHJlc2V0SW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJik7CiAgICAgICAgIAog
ICAgICAgICB2b2lkIHZpc2l0QnV0dGVyZmx5KFNsb3RWaXNpdG9yJiwgQnV0dGVyZmx5Kiwgc2l6
ZV90IHN0b3JhZ2VTaXplKTsKIApAQCAtNTMzLDcgKzU0NSw3IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAvLyBzdG9yYWdlLiBUaGlzIHdpbGwgYXNzZXJ0IG90aGVyd2lzZS4KICAgICAgICAg
QXJyYXlTdG9yYWdlKiBhcnJheVN0b3JhZ2UoKQogICAgICAgICB7Ci0gICAgICAgICAgICBBU1NF
UlQoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpIHwgSGFzQXJyYXlTdG9yYWdlKTsKKyAgICAg
ICAgICAgIEFTU0VSVChoYXNBcnJheVN0b3JhZ2Uoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSk7CiAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAg
ICAgICB9CiAgICAgICAgIApAQCAtNTQyLDggKzU1NCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBBcnJheVN0b3JhZ2UqIGFycmF5U3RvcmFnZU9yTnVsbCgpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAg
ICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3Rv
cmFnZSgpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgZGVmYXVsdDoKQEAgLTU1OCwx
MiArNTY5LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBBcnJheVN0b3JhZ2UqIGVuc3Vy
ZUFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAg
ICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlX
aXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3Rv
cmFnZSgpOwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAg
ICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQXJyYXlT
dG9yYWdlKGdsb2JhbERhdGEpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgZGVmYXVs
dDoKQEAgLTU5Miw2ICs2MDEsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZGVh
bGxvY2F0ZVNwYXJzZUluZGV4TWFwKCk7CiAgICAgICAgIGJvb2wgZGVmaW5lT3duSW5kZXhlZFBy
b3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2lnbmVkLCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHRo
cm93RXhjZXB0aW9uKTsKICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcCogYWxsb2NhdGVTcGFy
c2VJbmRleE1hcChKU0dsb2JhbERhdGEmKTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgbm90aWZ5
UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAg
ICAgICBib29sIGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoRXhlY1N0YXRlKiwg
dW5zaWduZWQgaW5kZXgsIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpOwogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKQEAgLTgyNCwy
MiArODM3LDYgQEAgaW5saW5lIEpTVmFsdWUgSlNPYmplY3Q6OnByb3RvdHlwZSgpIGNvbgogICAg
IHJldHVybiBzdHJ1Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCk7CiB9CiAKLWlubGluZSB2b2lk
IEpTT2JqZWN0OjpzZXRQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVl
IHByb3RvdHlwZSkKLXsKLSAgICBBU1NFUlQocHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUo
Z2xvYmFsRGF0YSwgU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGdsb2JhbERh
dGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5cGUpKTsKLX0KLQotaW5saW5lIFN0cnVjdHVyZSogSlNP
YmplY3Q6OmluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKLXsKLSAgICBpZiAo
V3JpdGVCYXJyaWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihn
bG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKSB7Ci0gICAgICAgIFN0cnVj
dHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0dXJlKj4obG9jYXRpb24tPmdldCgpKTsK
LSAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkpOwotICAgICAgICByZXR1cm4g
aW5oZXJpdG9ySUQ7Ci0gICAgfQotICAgIHJldHVybiBjcmVhdGVJbmhlcml0b3JJRChnbG9iYWxE
YXRhKTsKLX0KLQogaW5saW5lIGJvb2wgSlNDZWxsOjppbmhlcml0cyhjb25zdCBDbGFzc0luZm8q
IGluZm8pIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoaW5m
byk7CkBAIC0xMTkwLDggKzExODcsNyBAQCBpbmxpbmUgdm9pZCBKU1ZhbHVlOjpwdXQoRXhlY1N0
YXRlKiBleGVjCiBpbmxpbmUgdm9pZCBKU1ZhbHVlOjpwdXRCeUluZGV4KEV4ZWNTdGF0ZSogZXhl
YywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93
KQogewogICAgIGlmIChVTkxJS0VMWSghaXNDZWxsKCkpKSB7Ci0gICAgICAgIFB1dFByb3BlcnR5
U2xvdCBzbG90KHNob3VsZFRocm93KTsKLSAgICAgICAgcHV0VG9QcmltaXRpdmUoZXhlYywgSWRl
bnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpLCB2YWx1ZSwgc2xvdCk7CisgICAgICAg
IHB1dFRvUHJpbWl0aXZlQnlJbmRleChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRU
aHJvdyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgYXNDZWxsKCktPm1ldGhvZFRhYmxl
KCktPnB1dEJ5SW5kZXgoYXNDZWxsKCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3Vs
ZFRocm93KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3Bw
CShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1Zh
bHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0
IChDKSAxOTk5LTIwMDEgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmln
aHQgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMp
IDIwMDMsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENv
cHlyaWdodCAoQykgMjAwMywgMjAwNywgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTEzLDYgKzExMywxMiBAQCB2b2lk
IEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZlKEV4ZWNTdGF0ZSogCiB7CiAgICAgSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhID0gZXhlYy0+Z2xvYmFsRGF0YSgpOwogCisgICAgdW5zaWduZWQgaW5kZXgg
PSBwcm9wZXJ0eU5hbWUuYXNJbmRleCgpOworICAgIGlmIChpbmRleCAhPSBQcm9wZXJ0eU5hbWU6
Ok5vdEFuSW5kZXgpIHsKKyAgICAgICAgcHV0VG9QcmltaXRpdmVCeUluZGV4KGV4ZWMsIGluZGV4
LCB2YWx1ZSwgc2xvdC5pc1N0cmljdE1vZGUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
ICAgICAvLyBDaGVjayBpZiB0aGVyZSBhcmUgYW55IHNldHRlcnMgb3IgZ2V0dGVycyBpbiB0aGUg
cHJvdG90eXBlIGNoYWluCiAgICAgSlNPYmplY3QqIG9iaiA9IHN5bnRoZXNpemVQcm90b3R5cGUo
ZXhlYyk7CiAgICAgSlNWYWx1ZSBwcm90b3R5cGU7CkBAIC0xNzIsNiArMTc4LDIxIEBAIHZvaWQg
SlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUoRXhlY1N0YXRlKiAKICAgICByZXR1cm47CiB9CiAKK3Zv
aWQgSlNWYWx1ZTo6cHV0VG9QcmltaXRpdmVCeUluZGV4KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWdu
ZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAg
IGlmIChwcm9wZXJ0eU5hbWUgPiBNQVhfQVJSQVlfSU5ERVgpIHsKKyAgICAgICAgUHV0UHJvcGVy
dHlTbG90IHNsb3Qoc2hvdWxkVGhyb3cpOworICAgICAgICBwdXRUb1ByaW1pdGl2ZShleGVjLCBJ
ZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHByb3BlcnR5TmFtZSksIHZhbHVlLCBzbG90KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBpZiAoc3ludGhlc2l6ZVByb3RvdHlwZShleGVj
KS0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZShleGVjLCBw
cm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAgICAgIHJldHVybjsKKyAgICAK
KyAgICBpZiAoc2hvdWxkVGhyb3cpCisgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmlj
dE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7Cit9CisKIGNoYXIqIEpTVmFsdWU6OmRl
c2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNpemUgPSAxMjg7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCShyZXZpc2lvbiAx
Mjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNyArMSw3IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAx
IEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAxIFBl
dGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAy
MDA1LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
ICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAg
LTI0MCw2ICsyNDAsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhl
Y1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAg
ICAgICAgdm9pZCBwdXQoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9w
ZXJ0eVNsb3QmKTsKICAgICAgICAgdm9pZCBwdXRUb1ByaW1pdGl2ZShFeGVjU3RhdGUqLCBQcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOworICAgICAgICB2b2lkIHB1dFRv
UHJpbWl0aXZlQnlJbmRleChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFs
dWUsIGJvb2wgc2hvdWxkVGhyb3cpOwogICAgICAgICB2b2lkIHB1dEJ5SW5kZXgoRXhlY1N0YXRl
KiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93KTsKIAog
ICAgICAgICBKU09iamVjdCogdG9UaGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0OwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHZvaWQgTnVtYmVyT2JqZWN0
OjpmaW5pc2hDcmVhdGlvbihKU0dsb2IKIAogTnVtYmVyT2JqZWN0KiBjb25zdHJ1Y3ROdW1iZXIo
RXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIG51
bWJlcikKIHsKKyAgICBkYXRhTG9nKCJDcmVhdGluZyBudW1iZXIgb2JqZWN0LlxuIik7CiAgICAg
TnVtYmVyT2JqZWN0KiBvYmplY3QgPSBOdW1iZXJPYmplY3Q6OmNyZWF0ZShleGVjLT5nbG9iYWxE
YXRhKCksIGdsb2JhbE9iamVjdC0+bnVtYmVyT2JqZWN0U3RydWN0dXJlKCkpOwogICAgIG9iamVj
dC0+c2V0SW50ZXJuYWxWYWx1ZShleGVjLT5nbG9iYWxEYXRhKCksIG51bWJlcik7CiAgICAgcmV0
dXJuIG9iamVjdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFBy
b3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T2JqZWN0UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQs
NiArNzQsNyBAQCB2b2lkIE9iamVjdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNHCiB7CiAg
ICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiAgICAgQVNTRVJUKGluaGVyaXRz
KCZzX2luZm8pKTsKKyAgICBub3RpZnlVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSk7CiB9CiAK
IGJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiBjZWxsLCBF
eGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCAm
c2xvdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFs
dWVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nw
YXJzZUFycmF5VmFsdWVNYXAuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTksMzMgKzk5LDggQEAgdm9pZCBTcGFyc2VBcnJheVZhbHVlTWFwOjpwdXRFbnRyeShFeGVj
UwogICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJv
cGVydHlXcml0ZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLQotICAgIGlmICghKGVu
dHJ5LmF0dHJpYnV0ZXMgJiBBY2Nlc3NvcikpIHsKLSAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0
ZXMgJiBSZWFkT25seSkgewotICAgICAgICAgICAgaWYgKHNob3VsZFRocm93KQotICAgICAgICAg
ICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBlbnRy
eS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCB2YWx1ZSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0KLSAgICBKU1ZhbHVlIGFjY2Vzc29yID0gZW50cnkuU3BhcnNlQXJyYXlFbnRyeTo6
QmFzZTo6Z2V0KCk7Ci0gICAgQVNTRVJUKGFjY2Vzc29yLmlzR2V0dGVyU2V0dGVyKCkpOwotICAg
IEpTT2JqZWN0KiBzZXR0ZXIgPSBhc0dldHRlclNldHRlcihhY2Nlc3NvciktPnNldHRlcigpOwog
ICAgIAotICAgIGlmICghc2V0dGVyKSB7Ci0gICAgICAgIGlmIChzaG91bGRUaHJvdykKLSAgICAg
ICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3Jp
dGVFcnJvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBDYWxsRGF0YSBjYWxsRGF0
YTsKLSAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IHNldHRlci0+bWV0aG9kVGFibGUoKS0+Z2V0Q2Fs
bERhdGEoc2V0dGVyLCBjYWxsRGF0YSk7Ci0gICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsK
LSAgICBhcmdzLmFwcGVuZCh2YWx1ZSk7Ci0gICAgY2FsbChleGVjLCBzZXR0ZXIsIGNhbGxUeXBl
LCBjYWxsRGF0YSwgYXJyYXksIGFyZ3MpOworICAgIGVudHJ5LnB1dChleGVjLCBhcnJheSwgdGhp
cywgdmFsdWUsIHNob3VsZFRocm93KTsKIH0KIAogYm9vbCBTcGFyc2VBcnJheVZhbHVlTWFwOjpw
dXREaXJlY3QoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogYXJyYXksIHVuc2lnbmVkIGksIEpT
VmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFB1dERpcmVjdEluZGV4TW9kZSBtb2Rl
KQpAQCAtMTg3LDYgKzE2MiwzNiBAQCBKU1ZhbHVlIFNwYXJzZUFycmF5RW50cnk6OmdldChFeGVj
U3RhdGUqCiAgICAgcmV0dXJuIGNhbGwoZXhlYywgZ2V0dGVyLCBjYWxsVHlwZSwgY2FsbERhdGEs
IGFycmF5LCBleGVjLT5lbXB0eUxpc3QoKSk7CiB9CiAKK3ZvaWQgU3BhcnNlQXJyYXlFbnRyeTo6
cHV0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIGFycmF5LCBTcGFyc2VBcnJheVZhbHVlTWFw
KiBtYXAsIEpTVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpCit7CisgICAgaWYgKCEoYXR0
cmlidXRlcyAmIEFjY2Vzc29yKSkgeworICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5
KSB7CisgICAgICAgICAgICBpZiAoc2hvdWxkVGhyb3cpCisgICAgICAgICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHNldChleGVjLT5nbG9iYWxE
YXRhKCksIG1hcCwgdmFsdWUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNWYWx1
ZSBhY2Nlc3NvciA9IEJhc2U6OmdldCgpOworICAgIEFTU0VSVChhY2Nlc3Nvci5pc0dldHRlclNl
dHRlcigpKTsKKyAgICBKU09iamVjdCogc2V0dGVyID0gYXNHZXR0ZXJTZXR0ZXIoYWNjZXNzb3Ip
LT5zZXR0ZXIoKTsKKyAgICAKKyAgICBpZiAoIXNldHRlcikgeworICAgICAgICBpZiAoc2hvdWxk
VGhyb3cpCisgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9u
bHlQcm9wZXJ0eVdyaXRlRXJyb3IpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQ2Fs
bERhdGEgY2FsbERhdGE7CisgICAgQ2FsbFR5cGUgY2FsbFR5cGUgPSBzZXR0ZXItPm1ldGhvZFRh
YmxlKCktPmdldENhbGxEYXRhKHNldHRlciwgY2FsbERhdGEpOworICAgIE1hcmtlZEFyZ3VtZW50
QnVmZmVyIGFyZ3M7CisgICAgYXJncy5hcHBlbmQodmFsdWUpOworICAgIGNhbGwoZXhlYywgc2V0
dGVyLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycmF5LCBhcmdzKTsKK30KKwogSlNWYWx1ZSBTcGFy
c2VBcnJheUVudHJ5OjpnZXROb25TcGFyc2VNb2RlKCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWF0
dHJpYnV0ZXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJy
YXlWYWx1ZU1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1NwYXJzZUFycmF5VmFsdWVNYXAuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNiw2ICszNiw4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitjbGFzcyBTcGFyc2VBcnJheVZh
bHVlTWFwOworCiBzdHJ1Y3QgU3BhcnNlQXJyYXlFbnRyeSA6IHB1YmxpYyBXcml0ZUJhcnJpZXI8
VW5rbm93bj4gewogICAgIHR5cGVkZWYgV3JpdGVCYXJyaWVyPFVua25vd24+IEJhc2U7CiAKQEAg
LTQ0LDYgKzQ2LDcgQEAgc3RydWN0IFNwYXJzZUFycmF5RW50cnkgOiBwdWJsaWMgV3JpdGVCYQog
ICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KikgY29uc3Q7CiAgICAgdm9pZCBn
ZXQoUHJvcGVydHlTbG90JikgY29uc3Q7CiAgICAgdm9pZCBnZXQoUHJvcGVydHlEZXNjcmlwdG9y
JikgY29uc3Q7CisgICAgdm9pZCBwdXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBTcGFyc2VBcnJh
eVZhbHVlTWFwKiwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CiAgICAgSlNWYWx1ZSBnZXRO
b25TcGFyc2VNb2RlKCkgY29uc3Q7CiAKICAgICB1bnNpZ25lZCBhdHRyaWJ1dGVzOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAx
Mjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDksNiArMzA5LDMwIEBAIFN0cnVjdHVyZSogU3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXQKICAgICByZXR1cm4gMDsKIH0KIAorYm9vbCBTdHJ1Y3R1cmU6OmFu
eU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAoreworICAg
IGZvciAoY29uc3QgU3RydWN0dXJlKiBjdXJyZW50ID0gdGhpczsgOykgeworICAgICAgICBpZiAo
Y3VycmVudC0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBlID0gY3VycmVudC0+
c3RvcmVkUHJvdG90eXBlKCk7CisgICAgICAgIGlmIChwcm90b3R5cGUuaXNOdWxsKCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBjdXJyZW50ID0gYXNPYmpl
Y3QocHJvdG90eXBlKS0+c3RydWN0dXJlKCk7CisgICAgfQorfQorCitOb25Qcm9wZXJ0eVRyYW5z
aXRpb24gU3RydWN0dXJlOjpzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRpb24oKSBjb25zdAorewor
ICAgIEFTU0VSVCghaGFzSW5kZXhlZFByb3BlcnRpZXMoaW5kZXhpbmdUeXBlKCkpKTsKKyAgICAK
KyAgICBpZiAoYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIHx8
IGdsb2JhbE9iamVjdCgpLT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAgICAgIHJldHVybiBBbGxv
Y2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgCisgICAgcmV0dXJuIEFsbG9jYXRlQXJyYXlT
dG9yYWdlOworfQorCiBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9u
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIEpTQ2VsbCogc3BlY2lmaWNW
YWx1ZSwgUHJvcGVydHlPZmZzZXQmIG9mZnNldCkKIHsKICAgICAvLyBJZiB3ZSBoYXZlIGEgc3Bl
Y2lmaWMgZnVuY3Rpb24sIHdlIG1heSBoYXZlIGdvdCB0byB0aGlzIHBvaW50IGlmIHRoZXJlIGlz
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNp
b24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NCw3ICsxNDQsMTYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAg
ICAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXhp
bmdUeXBlICYgQWxsQXJyYXlUeXBlczsgfQogICAgICAgICBJbmRleGluZ1R5cGUgaW5kZXhpbmdU
eXBlSW5jbHVkaW5nSGlzdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXhpbmdUeXBlOyB9Ci0K
KyAgICAgICAgCisgICAgICAgIGJvb2wgbWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29u
c3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuICEhKGluZGV4aW5nVHlwZUluY2x1ZGlu
Z0hpc3RvcnkoKSAmIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzKTsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgYm9vbCBhbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vz
c2VzKCkgY29uc3Q7CisgICAgICAgIAorICAgICAgICBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gc3Vn
Z2VzdGVkSW5kZXhpbmdUcmFuc2l0aW9uKCkgY29uc3Q7CisgICAgICAgIAogICAgICAgICBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxPYmplY3Qu
Z2V0KCk7IH0KICAgICAgICAgdm9pZCBzZXRHbG9iYWxPYmplY3QoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSB7IG1fZ2xvYmFsT2JqZWN0LnNl
dChnbG9iYWxEYXRhLCB0aGlzLCBnbG9iYWxPYmplY3QpOyB9CiAgICAgICAgIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNpdGlvblRhYmxlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3
ICs0MywxMCBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgRmlyc3RJbnRlcm5hbEF0dHJpCiAvLyBT
dXBwb3J0IGZvciBhdHRyaWJ1dGVzIHVzZWQgdG8gaW5kaWNhdGUgdHJhbnNpdGlvbnMgbm90IHJl
bGF0ZWQgdG8gcHJvcGVydGllcy4KIC8vIElmIGFueSBvZiB0aGVzZSBhcmUgdXNlZCwgdGhlIHN0
cmluZyBwb3J0aW9uIG9mIHRoZSBrZXkgc2hvdWxkIGJlIDAuCiBlbnVtIE5vblByb3BlcnR5VHJh
bnNpdGlvbiB7Ci0gICAgQWxsb2NhdGVBcnJheVN0b3JhZ2UKKyAgICBBbGxvY2F0ZUFycmF5U3Rv
cmFnZSwKKyAgICBBbGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2UsCisgICAgU3dpdGNoVG9TbG93
UHV0QXJyYXlTdG9yYWdlLAorICAgIEFkZEluZGV4ZWRBY2Nlc3NvcnMKIH07CiAKIGlubGluZSB1
bnNpZ25lZCB0b0F0dHJpYnV0ZXMoTm9uUHJvcGVydHlUcmFuc2l0aW9uIHRyYW5zaXRpb24pCkBA
IC01Niw2ICs1OSwxMyBAQCBpbmxpbmUgSW5kZXhpbmdUeXBlIG5ld0luZGV4aW5nVHlwZShJbmRl
CiAgICAgc3dpdGNoICh0cmFuc2l0aW9uKSB7CiAgICAgY2FzZSBBbGxvY2F0ZUFycmF5U3RvcmFn
ZToKICAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBIYXNBcnJheVN0b3JhZ2U7CisgICAgY2FzZSBB
bGxvY2F0ZVNsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIHJldHVybiBvbGRUeXBlIHwgSGFz
U2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFn
ZToKKyAgICAgICAgQVNTRVJUKG9sZFR5cGUgJiBIYXNBcnJheVN0b3JhZ2UpOworICAgICAgICBy
ZXR1cm4gKG9sZFR5cGUgJiB+SGFzQXJyYXlTdG9yYWdlKSB8IEhhc1Nsb3dQdXRBcnJheVN0b3Jh
Z2U7CisgICAgY2FzZSBBZGRJbmRleGVkQWNjZXNzb3JzOgorICAgICAgICByZXR1cm4gb2xkVHlw
ZSB8IE1heUhhdmVJbmRleGVkQWNjZXNzb3JzOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gb2xkVHlwZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164326</attachid>
            <date>2012-09-16 16:19:03 -0700</date>
            <delta_ts>2012-09-16 18:02:50 -0700</delta_ts>
            <desc>patch with new tests</desc>
            <filename>haveabadtime_patch_6.diff</filename>
            <type>text/plain</type>
            <size>178272</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NzEyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5MSBA
QAorMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5k
ZXhlZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMg
ZG9uZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhh
dAorICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJh
dGVneSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZh
dm9yIG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJy
YXlzIG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAg
ICAgICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBh
IGJhZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5
IG9iamVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkK
KyAgICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBh
Y2Nlc3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ug
b2JqZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUp
IGlzIGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciBy
ZWFkLW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAg
ICAgYWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5p
dGlvbiBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVy
IHdheSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRl
eGVkIHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5k
ZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2Jq
ZWN0IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdp
bGwgc2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAg
ICAgICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAg
ICAgIC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJl
Zm9yZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQg
aW5zdGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJv
dG90eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBz
dG9yZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xv
dyBkb3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhh
dmUgbm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1
c2VzIG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0
cy4gQnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBt
b3JlIGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRp
bWUuCisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1h
eSBiZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAg
IGFkZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2Jq
ZWN0cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRo
ZSBwcm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAg
ICAgICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8g
c2xvdy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4g
aGFkIGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMg
dGhhdCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4g
dGhlaXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxv
Y2F0aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdl
LCBhbmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2Ug
Zm9yIG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAg
ICAgICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGlt
ZTogKGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmlu
ZyBvZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkp
IGlzCisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0
IGFuIG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBo
YWQgYW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNl
cnRlZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vm
b3J0aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHBy
b3RvdHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQg
YnkgZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBi
ZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QK
KyAgICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZs
aXAgdGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0
IG9taXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2Vl
cCBhIGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZp
bmQgdGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBh
bG9uZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50
bHkgYWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3Jz
LCB0aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAg
ICAgb25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3Nv
cnMgdG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFw
IHNjYW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUg
YWxzbworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxv
bmdpbmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGlu
ZGV4ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVh
cCBhZ2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwg
b2JqZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9k
dWxlOyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVy
IGFwcHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
OmFycmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAg
ICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2
ZWQpOgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChK
U0M6OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6Cisg
ICAgICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxv
Y2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9J
bmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAo
SlNDOjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpw
b3ApOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRl
eCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlz
dHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklE
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20pOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dW53cmFwcGVkR2xvYmFsT2JqZWN0
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0TmV3VmVjdG9yTGVuZ3RoKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5QmVVc2VkQXNQcm90
b3R5cGUpOgorICAgICAgICAoSlNPYmplY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEFy
cmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldFZlY3Rvckxlbmd0aCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5HZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6Z2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNh
blNldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzZXRJbmRleFF1aWNr
bHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5pdGlhbGl6ZUluZGV4KToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmNvbXBsZXRlSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6aW5TcGFyc2VJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
YXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3RvcmFnZU9yTnVs
bCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0QnlJbmRleCk6CisgICAgICAgICog
cnVudGltZS9KU1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmUpOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZUJ5SW5kZXgpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL0pTVmFsdWUuaDoKKyAgICAgICAgKEpTVmFs
dWUpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6
Y29uc3RydWN0TnVtYmVyKToKKyAgICAgICAgKiBydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6Ok9iamVjdFByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAg
ICAqIHJ1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHA6CisgICAgICAgIChKU0M6OlNwYXJz
ZUFycmF5VmFsdWVNYXA6OnB1dEVudHJ5KToKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlFbnRy
eTo6cHV0KToKKyAgICAgICAgKEpTQyk6CisgICAgICAgICogcnVudGltZS9TcGFyc2VBcnJheVZh
bHVlTWFwLmg6CisgICAgICAgIChKU0MpOgorICAgICAgICAoU3BhcnNlQXJyYXlFbnRyeSk6Cisg
ICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6
OmFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMpOgorICAgICAgICAo
SlNDKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRp
b24pOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAgIChTdHJ1Y3R1cmUp
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6Om1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6
CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaDoKKyAgICAgICAg
KEpTQzo6bmV3SW5kZXhpbmdUeXBlKToKKwogMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6
bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTT2JqZWN0LmNwcCBhbmQgSlNBcnJheS5jcHAgaGF2
ZSBpbmNvbnNpc3RlbnQgdGVzdHMgZm9yIHRoZSBpbnZhbGlkIGFycmF5IGluZGV4IGNhc2UKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQXJyYXlQcm9maWxlLmgJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVBy
b2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2UgSlNDIHsK
IGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKIAogLy8gVGhpcyBpcyBhIGJpdGZpZWxkIHdo
ZXJlIGVhY2ggYml0IHJlcHJlc2VudHMgYW4gSW5kZXhpbmdUeXBlIHRoYXQgd2UgaGF2ZSBzZWVu
LgotLy8gVGhlcmUgYXJlIDE3IGluZGV4aW5nIHR5cGVzICgwIHRvIDE2LCBpbmNsdXNpdmUpLCBz
byAzMiBiaXRzIGlzIG1vcmUgdGhhbiBlbm91Z2guCisvLyBUaGVyZSBhcmUgMzIgaW5kZXhpbmcg
dHlwZXMsIHNvIGFuIHVuc2lnbmVkIGlzIGVub3VnaC4KIHR5cGVkZWYgdW5zaWduZWQgQXJyYXlN
b2RlczsKIAogI2RlZmluZSBhc0FycmF5TW9kZXModHlwZSkgXApAQCAtNDQsNyArNDQsNyBAQCB0
eXBlZGVmIHVuc2lnbmVkIEFycmF5TW9kZXM7CiAKIGlubGluZSBBcnJheU1vZGVzIGFycmF5TW9k
ZUZyb21TdHJ1Y3R1cmUoU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiB7Ci0gICAgcmV0dXJuIGFzQXJy
YXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSk7CisgICAg
cmV0dXJuIGFzQXJyYXlNb2RlcyhzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKTsKIH0KIAogY2xh
c3MgQXJyYXlQcm9maWxlIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJz
dHJhY3RTdGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdFN0YXRlLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5Mywx
NCArMTA5MywyMSBAQCBib29sIEFic3RyYWN0U3RhdGU6OmV4ZWN1dGUodW5zaWduZWQgaW5kCiAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCiAgICAgY2FzZSBOZXdBcnJheToKLSAgICBjYXNl
IE5ld0FycmF5QnVmZmVyOgotICAgICAgICBub2RlLnNldENhbkV4aXQoZmFsc2UpOworICAgICAg
ICBub2RlLnNldENhbkV4aXQodHJ1ZSk7CiAgICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5zZXQo
bV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUo
KSk7CiAgICAgICAgIG1faGF2ZVN0cnVjdHVyZXMgPSB0cnVlOwogICAgICAgICBicmVhazsKICAg
ICAgICAgCisgICAgY2FzZSBOZXdBcnJheUJ1ZmZlcjoKKyAgICAgICAgLy8gVW5sZXNzIHdlJ3Jl
IGhhdmluZyBhIGJhZCB0aW1lLCB0aGlzIG5vZGUgY2FuIGNoYW5nZSBpdHMgbWluZCBhYm91dCB3
aGF0IHN0cnVjdHVyZQorICAgICAgICAvLyBpdCB1c2VzLgorICAgICAgICBub2RlLnNldENhbkV4
aXQoZmFsc2UpOworICAgICAgICBmb3JOb2RlKG5vZGVJbmRleCkuc2V0KFNwZWNBcnJheSk7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOgotICAgICAgICBzcGVj
dWxhdGVJbnQzMlVuYXJ5KG5vZGUpOworICAgICAgICBub2RlLnNldENhbkV4aXQodHJ1ZSk7Cisg
ICAgICAgIGZvck5vZGUobm9kZS5jaGlsZDEoKSkuZmlsdGVyKFNwZWNJbnQzMik7CiAgICAgICAg
IGZvck5vZGUobm9kZUluZGV4KS5zZXQobV9ncmFwaC5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2Rl
T3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgIG1faGF2ZVN0cnVjdHVyZXMgPSB0
cnVlOwogICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
QXJyYXlNb2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0FycmF5TW9kZS5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQXJyYXlNb2RlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTAgKzQyLDE2IEBA
IEFycmF5OjpNb2RlIGZyb21PYnNlcnZlZChBcnJheU1vZGVzIG1vZGUKICAgICAgICAgcmV0dXJu
IEFycmF5OjpVbmRlY2lkZWQ7CiAgICAgY2FzZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlKToKICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OkFycmF5U3RvcmFn
ZU91dE9mQm91bmRzIDogQXJyYXk6OkFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJyYXlNb2Rl
cyhOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFycmF5
OjpTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVzKEFycmF5V2l0aEFy
cmF5U3RvcmFnZSk6CiAgICAgICAgIHJldHVybiBtYWtlU2FmZSA/IEFycmF5OjpBcnJheVdpdGhB
cnJheVN0b3JhZ2VPdXRPZkJvdW5kcyA6IEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2U7Cisg
ICAgY2FzZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6CisgICAg
ICAgIHJldHVybiBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTsKICAgICBjYXNl
IGFzQXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpIHwgYXNBcnJheU1vZGVzKEFy
cmF5V2l0aEFycmF5U3RvcmFnZSk6CiAgICAgICAgIHJldHVybiBtYWtlU2FmZSA/IEFycmF5OjpQ
b3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIDogQXJyYXk6OlBvc3NpYmx5
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0
aFNsb3dQdXRBcnJheVN0b3JhZ2UpIHwgYXNBcnJheU1vZGVzKEFycmF5V2l0aFNsb3dQdXRBcnJh
eVN0b3JhZ2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZTsKICAgICBkZWZhdWx0OgogICAgICAgICAvLyBXZSBrbm93IHRoYXQgdGhp
cyBpcyBwb3NzaWJseSBhIGtpbmQgb2YgYXJyYXkgZm9yIHdoaWNoLCB0aG91Z2ggdGhlcmUgaXMg
bm8KICAgICAgICAgLy8gdXNlZnVsIGRhdGEgaW4gdGhlIGFycmF5IHByb2ZpbGUsIHdlIG1heSBi
ZSBhYmxlIHRvIGV4dHJhY3QgdXNlZnVsIGRhdGEgZnJvbQpAQCAtMTI0LDE1ICsxMzAsMjkgQEAg
Ym9vbCBtb2RlQWxyZWFkeUNoZWNrZWQoQWJzdHJhY3RWYWx1ZSYgdgogICAgIGNhc2UgQXJyYXk6
OlN0cmluZzoKICAgICAgICAgcmV0dXJuIGlzU3RyaW5nU3BlY3VsYXRpb24odmFsdWUubV90eXBl
KTsKICAgICAgICAgCi0gICAgY2FzZSBOT05fQVJSQVlfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAg
ICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdl
T3V0T2ZCb3VuZHM6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3Jh
Z2U6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJv
dW5kczoKICAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLmhhc1Np
bmdsZXRvbigpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUu
c2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzQXJyYXlTdG9yYWdlKTsKLQotICAgIGNh
c2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgICAgICAKKyAgICBjYXNlIEFy
cmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlX
aXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtu
b3duU3RydWN0dXJlLmhhc1NpbmdsZXRvbigpCisgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJy
ZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzU2xvd1B1
dEFycmF5U3RvcmFnZSk7CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5
U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5k
czoKICAgICAgICAgcmV0dXJuIHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLmhhc1Npbmds
ZXRvbigpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2lu
Z2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSGFzQXJyYXlTdG9yYWdlKQogICAgICAgICAgICAg
JiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNpbmdsZXRvbigpLT5pbmRleGluZ1R5
cGUoKSAmIElzQXJyYXkpOwogICAgICAgICAKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1
Y3R1cmUuaGFzU2luZ2xldG9uKCkKKyAgICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93
blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlT
dG9yYWdlKQorICAgICAgICAgICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNp
bmdsZXRvbigpLT5pbmRleGluZ1R5cGUoKSAmIElzQXJyYXkpOworICAgICAgICAKICAgICBjYXNl
IEFycmF5OjpBcmd1bWVudHM6CiAgICAgICAgIHJldHVybiBpc0FyZ3VtZW50c1NwZWN1bGF0aW9u
KHZhbHVlLm1fdHlwZSk7CiAgICAgICAgIApAQCAtMTg0LDE0ICsyMDQsMjAgQEAgY29uc3QgY2hh
ciogbW9kZVRvU3RyaW5nKEFycmF5OjpNb2RlIG1vZAogICAgICAgICByZXR1cm4gIlN0cmluZyI7
CiAgICAgY2FzZSBBcnJheTo6QXJyYXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gIkFycmF5U3Rv
cmFnZSI7CisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0
dXJuICJTbG93UHV0QXJyYXlTdG9yYWdlIjsKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VP
dXRPZkJvdW5kczoKICAgICAgICAgcmV0dXJuICJBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAg
ICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gIkFy
cmF5V2l0aEFycmF5U3RvcmFnZSI7CisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFy
cmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuICJBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
IjsKICAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoKICAg
ICAgICAgcmV0dXJuICJBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAgICAgY2Fz
ZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAi
UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2UiOworICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5
QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgcmV0dXJuICJQb3NzaWJseUFy
cmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJy
YXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6CiAgICAgICAgIHJldHVybiAiUG9zc2libHlB
cnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcyI7CiAgICAgY2FzZSBBcnJheTo6QXJndW1l
bnRzOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCShyZXZp
c2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC00NywxMCArNDcsMTMgQEAgZW51bSBNb2RlIHsKICAgICBHZW5l
cmljLAogICAgIFN0cmluZywKICAgICBBcnJheVN0b3JhZ2UsCisgICAgU2xvd1B1dEFycmF5U3Rv
cmFnZSwKICAgICBBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBBcnJheVdpdGhBcnJheVN0
b3JhZ2UsCisgICAgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSwKICAgICBBcnJheVdpdGhB
cnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFn
ZSwKKyAgICBQb3NzaWJseUFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UsCiAgICAgUG9zc2li
bHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcywKICAgICBBcmd1bWVudHMsCiAgICAg
SW50OEFycmF5LApAQCAtNzAsMTEgKzczLDE0IEBAIGVudW0gTW9kZSB7CiAvLyBoYXZlIHRoZSB3
b3JkICJBcnJheVN0b3JhZ2UiIGluIHRoZW0uCiAjZGVmaW5lIE5PTl9BUlJBWV9BUlJBWV9TVE9S
QUdFX01PREVTICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBBcnJheTo6QXJyYXlTdG9yYWdl
OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXk6OlNs
b3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHM6ICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgXAorICAg
IGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICBc
CiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5k
cwogI2RlZmluZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAg
ICAgICBcCiAgICAgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OiAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzCiAjZGVmaW5lIEFMTF9BUlJBWV9TVE9SQUdFX01PREVTICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFwKICAgICBOT05fQVJSQVlfQVJSQVlfU1RPUkFHRV9NT0RFUzogICAgICAg
ICAgICAgICAgICAgICAgICAgXApAQCAtODMsOCArODksMTMgQEAgZW51bSBNb2RlIHsKICAgICBB
cnJheTo6QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog
ICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICAgICAg
ICBcCiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0b3JhZ2UKKyNkZWZp
bmUgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAg
ICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aFNsb3dQdXRBcnJheVN0
b3JhZ2UKICNkZWZpbmUgT1VUX09GX0JPVU5EU19BUlJBWV9TVE9SQUdFX01PREVTICAgICAgICAg
ICAgICAgICAgXAotICAgIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczogICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzogICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJv
dW5kczogICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlB
cnJheVdpdGhBcnJheVN0b3JhZ2VPdXRPZkJvdW5kcwogCkBAIC0xMjgsNiArMTM5LDE2IEBAIGlu
bGluZSBib29sIGlzSW5Cb3VuZHNBY2Nlc3MoQXJyYXk6Ok1vZGUKICAgICB9CiB9CiAKK2lubGlu
ZSBib29sIGlzU2xvd1B1dEFjY2VzcyhBcnJheTo6TW9kZSBhcnJheU1vZGUpCit7CisgICAgc3dp
dGNoIChhcnJheU1vZGUpIHsKKyAgICBjYXNlIFNMT1dfUFVUX0FSUkFZX1NUT1JBR0VfTU9ERVM6
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9Cit9CisKIGlubGluZSBib29sIGNhbkNTRVN0b3JhZ2UoQXJyYXk6Ok1vZGUgYXJy
YXlNb2RlKQogewogICAgIHN3aXRjaCAoYXJyYXlNb2RlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlz
aW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NDEsMjUgKzI3NDEsMzcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgICAgICAgICAgCiAgICAgICAg
ICAgICAvLyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZTsgaWYgc28gaW5jcmVtZW50
IG1fbnVtVmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBu
b3RIb2xlVmFsdWUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIE1h
Y3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNz
ZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3Rv
clswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIFRydXN0ZWRJ
bW0zMihKU1ZhbHVlOjpFbXB0eVZhbHVlVGFnKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihU
cnVzdGVkSW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVD
VF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7Ci0KLSAgICAg
ICAgICAgIC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0IGJlIGdyb3dpbmcg
dGhlIGFycmF5OyAKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERvZXNO
b3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBwcm9w
ZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdl
OjpsZW5ndGhPZmZzZXQoKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZEltbTMy
KDEpLCBwcm9wZXJ0eVJlZyk7Ci0gICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHByb3BlcnR5UmVn
LCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0
aE9mZnNldCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHBy
b3BlcnR5UmVnKTsKLQotICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygm
bV9qaXQpOworICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaXNIb2xlVmFsdWU7Cisg
ICAgICAgICAgICBpZiAoaXNTbG93UHV0QWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAg
ICAgICAvLyBUaGlzIGlzIHNvcnQgb2Ygc3RyYW5nZS4gSWYgd2Ugd2FudGVkIHRvIG9wdGltaXpl
IHRoaXMgY29kZSBwYXRoLCB3ZSB3b3VsZCBpbnZlcnQKKyAgICAgICAgICAgICAgICAvLyB0aGUg
YWJvdmUgYnJhbmNoLiBCdXQgaXQncyBzaW1wbHkgbm90IHdvcnRoIGl0IHNpbmNlIHRoaXMgb25s
eSBoYXBwZW5zIGlmIHdlJ3JlCisgICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBoYXZpbmcgYSBi
YWQgdGltZS4KKyAgICAgICAgICAgICAgICBpc0hvbGVWYWx1ZSA9IG1faml0Lmp1bXAoKTsKKyAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZElt
bTMyKDEpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VU
T0YoQXJyYXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlIHdlIG1pZ2h0
IGJlIGdyb3dpbmcgdGhlIGFycmF5OyAKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6
SnVtcCBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1i
bGVyOjpCZWxvdywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VS
ZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBtX2pp
dC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAgICAgICBt
X2ppdC5zdG9yZTMyKHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdl
UmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9q
aXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUubGluaygmbV9qaXQpOwor
ICAgICAgICAgICAgfQogICAgICAgICAgICAgbm90SG9sZVZhbHVlLmxpbmsoJm1faml0KTsKIAog
ICAgICAgICAgICAgLy8gU3RvcmUgdGhlIHZhbHVlIHRvIHRoZSBhcnJheS4KICAgICAgICAgICAg
IG1faml0LnN0b3JlMzIodmFsdWVUYWdSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3Rv
cmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1Rf
T0ZGU0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3RvclswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNW
YWx1ZSwgdS5hc0JpdHMudGFnKSkpOwogICAgICAgICAgICAgbV9qaXQuc3RvcmUzMih2YWx1ZVBh
eWxvYWRSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgoc3RvcmFnZVJlZywgcHJvcGVydHlS
ZWcsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBPQkpFQ1RfT0ZGU0VUT0YoQXJyYXlTdG9y
YWdlLCBtX3ZlY3RvclswXSkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5
bG9hZCkpKTsKICAgICAgICAgCi0gICAgICAgICAgICBpZiAoIWlzSW5Cb3VuZHNBY2Nlc3Mobm9k
ZS5hcnJheU1vZGUoKSkpIHsKKyAgICAgICAgICAgIGlmICghaXNJbkJvdW5kc0FjY2VzcyhhcnJh
eU1vZGUpKSB7CisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IHNsb3dD
YXNlczsKKyAgICAgICAgICAgICAgICBzbG93Q2FzZXMuYXBwZW5kKGJleW9uZEFycmF5Qm91bmRz
KTsKKyAgICAgICAgICAgICAgICBpZiAoaXNTbG93UHV0QWNjZXNzKGFycmF5TW9kZSkpCisgICAg
ICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoaXNIb2xlVmFsdWUpOwogICAgICAgICAg
ICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAgICAgICAgICAgICAgICAgICBzbG93UGF0
aENhbGwoCi0gICAgICAgICAgICAgICAgICAgICAgICBiZXlvbmRBcnJheUJvdW5kcywgdGhpcywK
KyAgICAgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNlcywgdGhpcywKICAgICAgICAgICAgICAg
ICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1
dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFy
cmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgTm9SZXN1bHQsIGJh
c2VSZWcsIHByb3BlcnR5UmVnLCB2YWx1ZVRhZ1JlZywgdmFsdWVQYXlsb2FkUmVnKSk7CiAgICAg
ICAgICAgICB9CkBAIC0zMTI4LDEzICszMTQwLDE3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAKICAgICBjYXNlIE5ld0FycmF5OiB7CisgICAgICAg
IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVj
dEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZp
bmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5oYXZpbmdBQmFkVGltZVdh
dGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hwb2ludCgpKTsKKyAgICAgICAgCiAgICAg
ICAgIGlmICghbm9kZS5udW1DaGlsZHJlbigpKSB7CiAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVy
cygpOwogICAgICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgIEdQ
UlJlc3VsdDIgcmVzdWx0VGFnSWdub3JlZCh0aGlzKTsKICAgICAgICAgICAgIGNhbGxPcGVyYXRp
b24oCiAgICAgICAgICAgICAgICAgb3BlcmF0aW9uTmV3RW1wdHlBcnJheSwgcmVzdWx0VGFnSWdu
b3JlZC5ncHIoKSwgcmVzdWx0LmdwcigpLAotICAgICAgICAgICAgICAgIG1faml0LmdyYXBoKCku
Z2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCkpOworICAg
ICAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAg
ICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgIH0KQEAgLTMxNjcsOCArMzE4Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgR1BSUmVzdWx0MiByZXN1bHRUYWcodGhp
cyk7CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgb3BlcmF0
aW9uTmV3QXJyYXksIHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwKLSAgICAg
ICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFy
cmF5U3RydWN0dXJlKCksCisgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0VGFn
LmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
KCksCiAgICAgICAgICAgICBzdGF0aWNfY2FzdDx2b2lkICo+KGJ1ZmZlciksIG5vZGUubnVtQ2hp
bGRyZW4oKSk7CiAKICAgICAgICAgaWYgKHNjcmF0Y2hTaXplKSB7CkBAIC0zMTg0LDYgKzMxOTks
MTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIH0KIAog
ICAgIGNhc2UgTmV3QXJyYXlXaXRoU2l6ZTogeworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0ID0gbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2lu
KTsKKyAgICAgICAgaWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAg
ICAgICAgIGdsb2JhbE9iamVjdC0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCktPmFkZChzcGVj
dWxhdGlvbldhdGNocG9pbnQoKSk7CisgICAgICAgIAogICAgICAgICBTcGVjdWxhdGVTdHJpY3RJ
bnQzMk9wZXJhbmQgc2l6ZSh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAgICAgR1BSUmVnIHNp
emVHUFIgPSBzaXplLmdwcigpOwogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwpAQCAtMzE5MSw3
ICszMjEwLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAg
ICAgICBHUFJSZXN1bHQyIHJlc3VsdFRhZ0lnbm9yZWQodGhpcyk7CiAgICAgICAgIGNhbGxPcGVy
YXRpb24oCiAgICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplLCByZXN1bHRUYWdJ
Z25vcmVkLmdwcigpLCByZXN1bHQuZ3ByKCksCi0gICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmds
b2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BS
KTsKKyAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7
CiAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjc2MCwyNCArMjc2MCwzNiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUm
IG5vZGUpCiAgICAgICAgIAogICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UncmUgd3JpdGluZyB0
byBhIGhvbGU7IGlmIHNvIGluY3JlbWVudCBtX251bVZhbHVlc0luVmVjdG9yLgogICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbm90SG9sZVZhbHVlID0gbV9qaXQuYnJhbmNoVGVzdFB0
cihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9y
YWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZG
U0VUT0YoQXJyYXlTdG9yYWdlLCBtX3ZlY3RvclswXSkpKTsKLSAgICAgICAgICAgIG1faml0LmFk
ZDMyKFRydXN0ZWRJbW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywg
T0JKRUNUX09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKLQot
ICAgICAgICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jv
d2luZyB0aGUgYXJyYXk7IAotICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVuZ3Ro
RG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVsb3cs
IHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0
b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVk
SW1tMzIoMSksIHByb3BlcnR5UmVnKTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlMzIocHJvcGVy
dHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6
bGVuZ3RoT2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigx
KSwgcHJvcGVydHlSZWcpOwotCi0gICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5s
aW5rKCZtX2ppdCk7CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0hvbGVWYWx1
ZTsKKyAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkgeworICAgICAg
ICAgICAgICAgIC8vIFRoaXMgaXMgc29ydCBvZiBzdHJhbmdlLiBJZiB3ZSB3YW50ZWQgdG8gb3B0
aW1pemUgdGhpcyBjb2RlIHBhdGgsIHdlIHdvdWxkIGludmVydAorICAgICAgICAgICAgICAgIC8v
IHRoZSBhYm92ZSBicmFuY2guIEJ1dCBpdCdzIHNpbXBseSBub3Qgd29ydGggaXQgc2luY2UgdGhp
cyBvbmx5IGhhcHBlbnMgaWYgd2UncmUKKyAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGhhdmlu
ZyBhIGJhZCB0aW1lLgorICAgICAgICAgICAgICAgIGlzSG9sZVZhbHVlID0gbV9qaXQuanVtcCgp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVz
dGVkSW1tMzIoMSksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVDVF9P
RkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7CisgICAgICAgICAg
ICAgICAgCisgICAgICAgICAgICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2Ug
bWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpKdW1wIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9B
c3NlbWJsZXI6OkJlbG93LCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3Rv
cmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAg
IG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAg
ICAgIG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0
b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAg
ICBtX2ppdC5zdWIzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2pp
dCk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBub3RIb2xlVmFsdWUubGluaygmbV9qaXQp
OwogCiAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgdmFsdWUgdG8gdGhlIGFycmF5LgogICAgICAg
ICAgICAgbV9qaXQuc3RvcmVQdHIodmFsdWVSZWcsIE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgo
c3RvcmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpTY2FsZVB0ciwgT0JKRUNU
X09GRlNFVE9GKEFycmF5U3RvcmFnZSwgbV92ZWN0b3JbMF0pKSk7CiAKICAgICAgICAgICAgIGlm
ICghaXNJbkJvdW5kc0FjY2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXBMaXN0IHNsb3dDYXNlczsKKyAgICAgICAgICAgICAgICBzbG93Q2FzZXMu
YXBwZW5kKGJleW9uZEFycmF5Qm91bmRzKTsKKyAgICAgICAgICAgICAgICBpZiAoaXNTbG93UHV0
QWNjZXNzKGFycmF5TW9kZSkpCisgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQo
aXNIb2xlVmFsdWUpOwogICAgICAgICAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAg
ICAgICAgICAgICAgICAgICBzbG93UGF0aENhbGwoCi0gICAgICAgICAgICAgICAgICAgICAgICBi
ZXlvbmRBcnJheUJvdW5kcywgdGhpcywKKyAgICAgICAgICAgICAgICAgICAgICAgIHNsb3dDYXNl
cywgdGhpcywKICAgICAgICAgICAgICAgICAgICAgICAgIG1faml0LmNvZGVCbG9jaygpLT5pc1N0
cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNTdHJpY3QgOiBv
cGVyYXRpb25QdXRCeVZhbEJleW9uZEFycmF5Qm91bmRzTm9uU3RyaWN0LAogICAgICAgICAgICAg
ICAgICAgICAgICAgTm9SZXN1bHQsIGJhc2VSZWcsIHByb3BlcnR5UmVnLCB2YWx1ZVJlZykpOwog
ICAgICAgICAgICAgfQpAQCAtMzEyMCwxMiArMzEzMiwxNCBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogICAgICAgICAKICAgICBjYXNlIE5ld0FycmF5
OiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBtX2ppdC5ncmFwaCgp
Lmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBpZiAoIWdsb2JhbE9i
amVjdC0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5oYXZp
bmdBQmFkVGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hwb2ludCgpKTsKKyAg
ICAgICAgCiAgICAgICAgIGlmICghbm9kZS5udW1DaGlsZHJlbigpKSB7CiAgICAgICAgICAgICBm
bHVzaFJlZ2lzdGVycygpOwogICAgICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAg
ICAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgb3BlcmF0aW9uTmV3RW1w
dHlBcnJheSwgcmVzdWx0LmdwcigpLAotICAgICAgICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xv
YmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCkpOworICAgICAg
ICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1bHQuZ3ByKCks
IGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICBjZWxsUmVzdWx0
KHJlc3VsdC5ncHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0KQEAgLTMxNTUsOCArMzE2OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUo
Tm9kZSYgbm9kZSkKICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgCiAg
ICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwgcmVz
dWx0LmdwcigpLAotICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9k
ZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwKKyAgICAgICAgICAgIG9wZXJhdGlvbk5l
d0FycmF5LCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwKICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PHZvaWQqPihidWZmZXIpLCBub2RlLm51bUNoaWxkcmVuKCkp
OwogCiAgICAgICAgIGlmIChzY3JhdGNoU2l6ZSkgewpAQCAtMzE3MSwxMSArMzE4NCwxNSBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogICAgICAgICAK
ICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6IHsKKyAgICAgICAgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29kZU9yaWdp
bik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkpCisgICAg
ICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5hZGQoc3Bl
Y3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgU3BlY3VsYXRlU3RyaWN0
SW50MzJPcGVyYW5kIHNpemUodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgICAgIEdQUlJlZyBz
aXplR1BSID0gc2l6ZS5ncHIoKTsKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAg
R1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25O
ZXdBcnJheVdpdGhTaXplLCByZXN1bHQuZ3ByKCksIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOworICAgICAg
ICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIHJlc3VsdC5ncHIoKSwg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKICAgICAgICAgY2VsbFJl
c3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjQsNyArMzI0LDggQEAgdm9p
ZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheShOb2RlJiBubwogICAgICAgICAgICAgbV9qaXQu
YnJhbmNoVGVzdDgoCiAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sCiAgICAg
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3ModGVtcC5ncHIoKSwgU3RydWN0dXJl
OjppbmRleGluZ1R5cGVPZmZzZXQoKSksCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
OlRydXN0ZWRJbW0zMihIYXNBcnJheVN0b3JhZ2UpKSk7CisgICAgICAgICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW0zMigKKyAgICAgICAgICAgICAgICAgICAgaXNTbG93UHV0QWNj
ZXNzKG5vZGUuYXJyYXlNb2RlKCkpID8gSGFzU2xvd1B1dEFycmF5U3RvcmFnZSA6IEhhc0FycmF5
U3RvcmFnZSkpKTsKICAgICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG1fY29tcGlsZUluZGV4KTsK
ICAgICAgICAgcmV0dXJuOwpAQCAtMzQ1LDcgKzM0Niw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNoZWNrQXJyYXkoTm9kZSYgbm8KICAgICAgICAgc3BlY3VsYXRpb25DaGVjaygKICAgICAgICAg
ICAgIFVuY291bnRhYmxlLCBKU1ZhbHVlUmVncygpLCBOb05vZGUsCiAgICAgICAgICAgICBtX2pp
dC5icmFuY2hUZXN0MzIoCi0gICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHRl
bXBHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSGFzQXJyYXlTdG9yYWdlKSkpOwor
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpaZXJvLCB0ZW1wR1BSLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbTMyKAorICAgICAgICAgICAgICAgICAgICBpc1Nsb3dQdXRBY2Nlc3Mo
bm9kZS5hcnJheU1vZGUoKSkgPyBIYXNTbG93UHV0QXJyYXlTdG9yYWdlIDogSGFzQXJyYXlTdG9y
YWdlKSkpOwogICAgICAgICAKICAgICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAg
ICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlzaW9uIDEyODY5
MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHdvcmtpbmcgY29weSkKQEAg
LTQzNyw3ICs0MzcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgQ2xhc3NUeXBlLCBib29sIGRlc3RydWN0b3IsIHR5cGVuYW1lIFN0cnVjdHVyZVR5cGU+IHZv
aWQgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdChTdHJ1Y3R1cmVUeXBlLCBSZWdpc3RlcklEIHJl
c3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRyKTsKICAgICAgICAgdm9pZCBlbWl0QWxsb2NhdGVC
YXNpY1N0b3JhZ2Uoc2l6ZV90LCBwdHJkaWZmX3Qgb2Zmc2V0RnJvbUJhc2UsIFJlZ2lzdGVySUQg
cmVzdWx0KTsKICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBlbWl0QWxsb2NhdGVK
U0ZpbmFsT2JqZWN0KFQgc3RydWN0dXJlLCBSZWdpc3RlcklEIHJlc3VsdCwgUmVnaXN0ZXJJRCBz
dG9yYWdlUHRyKTsKLSAgICAgICAgdm9pZCBlbWl0QWxsb2NhdGVKU0FycmF5KHVuc2lnbmVkIHZh
bHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2VsbFJlc3VsdCwgUmVn
aXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOworICAgICAgICB2
b2lkIGVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVk
IGxlbmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQs
IFJlZ2lzdGVySUQgc3RvcmFnZVB0ciwgUmVnaXN0ZXJJRCBzY3JhdGNoKTsKICAgICAgICAgCiAj
aWYgRU5BQkxFKFZBTFVFX1BST0ZJTEVSKQogICAgICAgICAvLyBUaGlzIGFzc3VtZXMgdGhhdCB0
aGUgdmFsdWUgdG8gcHJvZmlsZSBpcyBpbiByZWdUMCBhbmQgdGhhdCByZWdUMyBpcyBhdmFpbGFi
bGUgZm9yCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhv
ZHMuaAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRJ
bmxpbmVNZXRob2RzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0Myw3ICs0NDMsNyBAQCBpbmxpbmUg
dm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnCiAgICAgc3ViUHRyKFRydXN0ZWRJbW0z
MihzaXplIC0gb2Zmc2V0RnJvbUJhc2UpLCByZXN1bHQpOwogfQogCi1pbmxpbmUgdm9pZCBKSVQ6
OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIsIHVuc2lnbmVkIGxl
bmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VSZXN1bHQsIFJl
Z2lzdGVySUQgc3RvcmFnZVB0cikKK2lubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRlSlNBcnJh
eSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3RlcklEIGNl
bGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9yYWdlUHRy
LCBSZWdpc3RlcklEIHNjcmF0Y2gpCiB7CiAgICAgdW5zaWduZWQgaW5pdGlhbExlbmd0aCA9IHN0
ZDo6bWF4KGxlbmd0aCwgNFUpOwogICAgIHNpemVfdCBpbml0aWFsU3RvcmFnZSA9IEJ1dHRlcmZs
eTo6dG90YWxTaXplKDAsIDAsIHRydWUsIEFycmF5U3RvcmFnZTo6c2l6ZUZvcihpbml0aWFsTGVu
Z3RoKSk7CkBAIC00NTMsNyArNDUzLDggQEAgaW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVK
U0FycmF5KHVucwogICAgIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShpbml0aWFsU3RvcmFnZSwg
c2l6ZW9mKEluZGV4aW5nSGVhZGVyKSwgc3RvcmFnZVJlc3VsdCk7CiAKICAgICAvLyBBbGxvY2F0
ZSB0aGUgY2VsbCBmb3IgdGhlIGFycmF5LgotICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8
SlNBcnJheSwgZmFsc2U+KFRydXN0ZWRJbW1QdHIobV9jb2RlQmxvY2stPmdsb2JhbE9iamVjdCgp
LT5hcnJheVN0cnVjdHVyZSgpKSwgY2VsbFJlc3VsdCwgc3RvcmFnZVB0cik7CisgICAgbG9hZFB0
cihtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFkZHJlc3NPZkFycmF5U3RydWN0dXJlKCks
IHNjcmF0Y2gpOworICAgIGVtaXRBbGxvY2F0ZUJhc2ljSlNPYmplY3Q8SlNBcnJheSwgZmFsc2U+
KHNjcmF0Y2gsIGNlbGxSZXN1bHQsIHN0b3JhZ2VQdHIpOwogCiAgICAgLy8gU3RvcmUgYWxsIHRo
ZSBuZWNlc3NhcnkgaW5mbyBpbiB0aGUgQXJyYXlTdG9yYWdlLgogICAgIHN0b3JlMzIoSW1tMzIo
bGVuZ3RoKSwgQWRkcmVzcyhzdG9yYWdlUmVzdWx0LCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNl
dCgpKSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJl
dmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NzYsNyArMTY3Niw3IEBAIHZvaWQgSklUOjplbWl0X29w
X25ld19hcnJheShJbnN0cnVjdGlvbioKICAgICBpbnQgZHN0ID0gY3VycmVudEluc3RydWN0aW9u
WzFdLnUub3BlcmFuZDsKICAgICBpbnQgdmFsdWVzID0gY3VycmVudEluc3RydWN0aW9uWzJdLnUu
b3BlcmFuZDsKIAotICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVzLCBsZW5ndGgsIHJlZ1Qw
LCByZWdUMSwgcmVnVDIpOworICAgIGVtaXRBbGxvY2F0ZUpTQXJyYXkodmFsdWVzLCBsZW5ndGgs
IHJlZ1QwLCByZWdUMSwgcmVnVDIsIHJlZ1QzKTsKICAgICBlbWl0U3RvcmVDZWxsKGRzdCwgcmVn
VDApOyAKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90
b3R5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Fy
cmF5UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsOCAr
MTMyLDEwIEBAIEFycmF5UHJvdG90eXBlOjpBcnJheVByb3RvdHlwZShKU0dsb2JhbE8KIAogdm9p
ZCBBcnJheVByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCkKIHsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPmdsb2JhbERh
dGEoKSk7CisgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZ2xvYmFsT2JqZWN0LT5nbG9i
YWxEYXRhKCk7CisgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7CiAgICAgQVNT
RVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBub3RpZnlVc2VkQXNQcm90b3R5cGUoZ2xvYmFs
RGF0YSk7CiB9CiAKIGJvb2wgQXJyYXlQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90JiBzbG90KQpAQCAtNjM4LDcgKzY0MCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlw
ZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CiAKLSAgICBpZiAo
dGhpc09iai0+Y2xhc3NJbmZvKCkgPT0gJkpTQXJyYXk6OnNfaW5mbyAmJiAhYXNBcnJheSh0aGlz
T2JqKS0+aW5TcGFyc2VJbmRleGluZ01vZGUoKSkgeworICAgIGlmICh0aGlzT2JqLT5jbGFzc0lu
Zm8oKSA9PSAmSlNBcnJheTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5pblNwYXJzZUlu
ZGV4aW5nTW9kZSgpICYmICFzaG91bGRVc2VTbG93UHV0KHRoaXNPYmotPnN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkpIHsKICAgICAgICAgaWYgKGlzTnVtZXJpY0NvbXBhcmVGdW5jdGlvbihl
eGVjLCBjYWxsVHlwZSwgY2FsbERhdGEpKQogICAgICAgICAgICAgYXNBcnJheSh0aGlzT2JqKS0+
c29ydE51bWVyaWMoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7CiAgICAgICAg
IGVsc2UgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRleGluZ1R5cGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMzMsMjggKzMzLDY1IEBAIHR5cGVkZWYgdWludDhfdCBJbmRleGluZ1R5cGU7CiAvLyBG
bGFncyBmb3IgdGVzdGluZyB0aGUgcHJlc2VuY2Ugb2YgY2FwYWJpbGl0aWVzLgogc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBJc0FycmF5ICAgICAgICAgICAgICAgICAgPSAxOwogc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBIYXNBcnJheVN0b3JhZ2UgICAgICAgICAgPSA4Oworc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBIYXNTbG93UHV0QXJyYXlTdG9yYWdlICAgPSAxNjsKIAogLy8gQWRk
aXRpb25hbCBmbGFncyBmb3IgdHJhY2tpbmcgdGhlIGhpc3Rvcnkgb2YgdGhlIHR5cGUuIFRoZXNl
IGFyZSB1c3VhbGx5CiAvLyBtYXNrZWQgb2ZmIHVubGVzcyB5b3UgYXNrIGZvciB0aGVtIGRpcmVj
dGx5Lgotc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAgICAgICAg
PSAxNjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9yYWdlIGlu
IHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBIYWRBcnJheVN0b3JhZ2UgICAg
ICAgICAgPSAzMjsgLy8gTWVhbnMgdGhhdCB0aGlzIG9iamVjdCBkaWQgaGF2ZSBhcnJheSBzdG9y
YWdlIGluIHRoZSBwYXN0Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBNYXlIYXZlSW5kZXhl
ZEFjY2Vzc29ycyAgPSA2NDsKIAogLy8gTGlzdCBvZiBhY2NlcHRhYmxlIGFycmF5IHR5cGVzLgot
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAgICAgICAgICAgICAgPSAwOwot
c3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UgPSBIYXNB
cnJheVN0b3JhZ2U7Ci1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAgICAg
ICAgICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0
aGlzIHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgotc3RhdGlj
IGNvbnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwg
SGFzQXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheSAgICAg
ICAgICAgICAgICAgICAgICAgID0gMDsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgTm9uQXJy
YXlXaXRoQXJyYXlTdG9yYWdlICAgICAgICA9IEhhc0FycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25z
dCBJbmRleGluZ1R5cGUgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSA9IEhhc1Nsb3dQ
dXRBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFycmF5Q2xhc3MgICAg
ICAgICAgICAgICAgICAgICAgPSBJc0FycmF5OyAvLyBJJ2Qgd2FudCB0byBjYWxsIHRoaXMgIkFy
cmF5IiBidXQgdGhpcyB3b3VsZCBsZWFkIHRvIGRpc2FzdHJvdXMgbmFtZXNwYWNlIHBvbGx1dGlv
bi4KK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRoQXJyYXlTdG9yYWdlICAgICAg
ICAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3JhZ2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UgICAgPSBJc0FycmF5IHwgSGFzU2xvd1B1
dEFycmF5U3RvcmFnZTsKKworI2RlZmluZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVMgXAorICAg
IE5vbkFycmF5OiAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgQXJyYXlDbGFzcworCisj
ZGVmaW5lIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUyBcCisgICAgQXJy
YXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJh
eVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlCisgICAgCisjZGVmaW5lIEFMTF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTICAgICAgICAgICAgICAgIFwKKyAgICBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGNhc2UgTm9uQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZTogICAgICAgICAgICAgICBcCisgICAgY2FzZSBBUlJBWV9XSVRI
X0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVMKIAotLy8gTWFzayBvZiBhbGwgcG9zc2libGUg
dHlwZXMuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMgICAgICAgICAg
ICA9IDE1Oworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4ZWRQcm9wZXJ0aWVzKEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCit7CisgICAgc3dpdGNoIChpbmRleGluZ1R5cGUpIHsKKyAgICBj
YXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGRlZmF1bHQ6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK30KIAotLy8gTWFzayBvZiBh
bGwgcG9zc2libGUgdHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgotc3RhdGljIGNvbnN0IElu
ZGV4aW5nVHlwZSBBbGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAzMTsKK3N0YXRpYyBpbmxpbmUg
Ym9vbCBoYXNJbmRleGluZ0hlYWRlcihJbmRleGluZ1R5cGUgdHlwZSkKK3sKKyAgICByZXR1cm4g
aGFzSW5kZXhlZFByb3BlcnRpZXModHlwZSk7Cit9CiAKLWlubGluZSBib29sIGhhc0luZGV4aW5n
SGVhZGVyKEluZGV4aW5nVHlwZSB0eXBlKQorc3RhdGljIGlubGluZSBib29sIGhhc0FycmF5U3Rv
cmFnZShJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQogewotICAgIHJldHVybiAhISh0eXBlICYg
SGFzQXJyYXlTdG9yYWdlKTsKKyAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlICYgKEhhc0FycmF5
U3RvcmFnZSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpKTsKIH0KIAorc3RhdGljIGlubGluZSBi
b29sIHNob3VsZFVzZVNsb3dQdXQoSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZSkKK3sKKyAgICBy
ZXR1cm4gISEoaW5kZXhpbmdUeXBlICYgSGFzU2xvd1B1dEFycmF5U3RvcmFnZSk7Cit9CisKKy8v
IE1hc2sgb2YgYWxsIHBvc3NpYmxlIHR5cGVzLgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzICAgICAgICAgICAgPSAzMTsKKworLy8gTWFzayBvZiBhbGwgcG9zc2libGUg
dHlwZXMgaW5jbHVkaW5nIHRoZSBoaXN0b3J5Lgorc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBB
bGxBcnJheVR5cGVzQW5kSGlzdG9yeSAgPSAxMjc7CisKIH0gLy8gbmFtZXNwYWNlIEpTQwogCiAj
ZW5kaWYgLy8gSW5kZXhpbmdUeXBlX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA0LDcgKzQwNCw3IEBA
IEpTVmFsdWUgSlNBcnJheTo6cG9wKEV4ZWNTdGF0ZSogZXhlYykKICAgICBjYXNlIEFycmF5Q2xh
c3M6CiAgICAgICAgIHJldHVybiBqc1VuZGVmaW5lZCgpOwogICAgICAgICAKLSAgICBjYXNlIEFy
cmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdF
X0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0
dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0g
c3RvcmFnZS0+bGVuZ3RoKCk7CkBAIC00NjQsNiArNDY0LDE2IEBAIHZvaWQgSlNBcnJheTo6cHVz
aChFeGVjU3RhdGUqIGV4ZWMsIEpTVmEKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAK
KyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgdW5zaWdu
ZWQgb2xkTGVuZ3RoID0gbGVuZ3RoKCk7CisgICAgICAgIGlmIChhdHRlbXB0VG9JbnRlcmNlcHRQ
dXRCeUluZGV4T25Ib2xlKGV4ZWMsIG9sZExlbmd0aCwgdmFsdWUsIHRydWUpKSB7CisgICAgICAg
ICAgICBpZiAoIWV4ZWMtPmhhZEV4Y2VwdGlvbigpICYmIG9sZExlbmd0aCA8IDB4RkZGRkZGRkZ1
KQorICAgICAgICAgICAgICAgIHNldExlbmd0aChleGVjLCBvbGRMZW5ndGggKyAxLCB0cnVlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICAvLyBGYWxsIHRocm91Z2gu
CisgICAgfQorICAgICAgICAKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogewogICAg
ICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7
CiAKQEAgLTkxNyw3ICs5MjcsNyBAQCB2b2lkIEpTQXJyYXk6OmZpbGxBcmdMaXN0KEV4ZWNTdGF0
ZSogZXhlCiAgICAgY2FzZSBBcnJheUNsYXNzOgogICAgICAgICByZXR1cm47CiAgICAgCi0gICAg
Y2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlf
U1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2Ug
PSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBXcml0ZUJh
cnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1fdmVjdG9yOwpAQCAtOTQ3LDcgKzk1
Nyw3IEBAIHZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSoKICAgICBjYXNl
IEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCi0gICAgY2FzZSBBcnJheVdp
dGhBcnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIHVuc2lnbmVkIGkgPSAwOwogICAgICAgICBXcml0
ZUJhcnJpZXI8VW5rbm93bj4qIHZlY3RvciA9IHN0b3JhZ2UtPm1fdmVjdG9yOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAkocmV2aXNpb24gMTI4NjkxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBA
IC03OCw5ICs3OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGZpbGxBcmdMaXN0
KEV4ZWNTdGF0ZSosIE1hcmtlZEFyZ3VtZW50QnVmZmVyJik7CiAgICAgICAgIHZvaWQgY29weVRv
QXJndW1lbnRzKEV4ZWNTdGF0ZSosIENhbGxGcmFtZSosIHVpbnQzMl90IGxlbmd0aCk7CiAKLSAg
ICAgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUp
CisgICAgICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgcHJvdG90
eXBlLCBJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQogICAgICAgICB7Ci0gICAgICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUoZ2xvYmFsRGF0YSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5
cGUsIFR5cGVJbmZvKE9iamVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgJnNfaW5mbywgQXJyYXlX
aXRoQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZShn
bG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwg
U3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBpbmRleGluZ1R5cGUpOwogICAgICAgICB9CiAgICAg
ICAgIAogICAgIHByb3RlY3RlZDoKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTExLDYgKzExMSw3IEBAIHN0YXRpYyBjb25zdCBpbnQgcHJlZmVycmVkU2NyaXB0Q2hlY2tU
aW0KIEpTR2xvYmFsT2JqZWN0OjpKU0dsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERh
dGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSog
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCiAgICAgOiBCYXNlKGdsb2JhbERhdGEsIHN0cnVjdHVy
ZSwgMCkKICAgICAsIG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoYWRvcHRSZWYo
bmV3IFdhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRXYXRjaGluZykpKQorICAgICwgbV9oYXZpbmdB
QmFkVGltZVdhdGNocG9pbnQoYWRvcHRSZWYobmV3IFdhdGNocG9pbnRTZXQoSW5pdGlhbGl6ZWRX
YXRjaGluZykpKQogICAgICwgbV93ZWFrUmFuZG9tKE9wdGlvbnM6OmZvcmNlV2Vha1JhbmRvbVNl
ZWQoKSA/IE9wdGlvbnM6OmZvcmNlZFdlYWtSYW5kb21TZWVkKCkgOiBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4ocmFuZG9tTnVtYmVyKCkgKiAoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpICsgMS4wKSkpCiAgICAgLCBtX2V2YWxFbmFibGVkKHRydWUpCiAgICAgLCBtX2dsb2JhbE9i
amVjdE1ldGhvZFRhYmxlKGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlID8gZ2xvYmFsT2JqZWN0TWV0
aG9kVGFibGUgOiAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKQEAgLTIzMCw3ICsyMzEsOCBA
QCB2b2lkIEpTR2xvYmFsT2JqZWN0OjpyZXNldChKU1ZhbHVlIHByb3RvCiAgICAgbV9jYWxsYmFj
a09iamVjdFN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBKU0NhbGxiYWNr
T2JqZWN0PEpTTm9uRmluYWxPYmplY3Q+OjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0
YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpOwogCiAgICAgbV9hcnJheVByb3Rv
dHlwZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBBcnJheVByb3RvdHlwZTo6Y3JlYXRl
KGV4ZWMsIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFs
RGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlwZS5nZXQoKSkpKTsKLSAgICBtX2FycmF5U3Ry
dWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0ZVN0cnVj
dHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0KCkpKTsK
KyAgICBtX2FycmF5U3RydWN0dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJy
YXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90
b3R5cGUuZ2V0KCksIEFycmF5V2l0aEFycmF5U3RvcmFnZSkpOworICAgIG1fYXJyYXlTdHJ1Y3R1
cmVGb3JTbG93UHV0LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQXJyYXk6OmNyZWF0
ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQcm90b3R5cGUuZ2V0
KCksIEFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UpKTsKICAgICBtX3JlZ0V4cE1hdGNoZXNB
cnJheVN0cnVjdHVyZS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBSZWdFeHBNYXRjaGVz
QXJyYXk6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1fYXJyYXlQ
cm90b3R5cGUuZ2V0KCkpKTsKIAogICAgIG1fc3RyaW5nUHJvdG90eXBlLnNldChleGVjLT5nbG9i
YWxEYXRhKCksIHRoaXMsIFN0cmluZ1Byb3RvdHlwZTo6Y3JlYXRlKGV4ZWMsIHRoaXMsIFN0cmlu
Z1Byb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9v
YmplY3RQcm90b3R5cGUuZ2V0KCkpKSk7CkBAIC0zMjksNiArMzMxLDgyIEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG8KICAgICByZXNldFByb3RvdHlwZShleGVjLT5n
bG9iYWxEYXRhKCksIHByb3RvdHlwZSk7CiB9CiAKKy8vIFByaXZhdGUgbmFtZXNwYWNlIGZvciBo
ZWxwZXJzIGZvciBKU0dsb2JhbE9iamVjdDo6aGF2ZUFCYWRUaW1lKCkKK25hbWVzcGFjZSB7CisK
K2NsYXNzIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIgOiBwdWJsaWMgTWFya2VkQmxv
Y2s6OlZvaWRGdW5jdG9yIHsKK3B1YmxpYzoKKyAgICBPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5n
RmluZGVyKE1hcmtlZEFyZ3VtZW50QnVmZmVyJiwgSlNHbG9iYWxPYmplY3QqKTsKKyAgICB2b2lk
IG9wZXJhdG9yKCkoSlNDZWxsKik7CisKK3ByaXZhdGU6CisgICAgTWFya2VkQXJndW1lbnRCdWZm
ZXImIG1fZm91bmRPYmplY3RzOworICAgIEpTR2xvYmFsT2JqZWN0KiBtX2dsb2JhbE9iamVjdDsK
K307CisKK09iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXI6Ok9iamVjdHNXaXRoQnJva2Vu
SW5kZXhpbmdGaW5kZXIoCisgICAgTWFya2VkQXJndW1lbnRCdWZmZXImIGZvdW5kT2JqZWN0cywg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKKyAgICA6IG1fZm91bmRPYmplY3RzKGZvdW5k
T2JqZWN0cykKKyAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVjdCkKK3sKK30KKworaW5s
aW5lIGJvb2wgaGFzQnJva2VuSW5kZXhpbmcoSlNPYmplY3QqIG9iamVjdCkKK3sKKyAgICAvLyBU
aGlzIHdpbGwgY2hhbmdlIGlmIHdlIGhhdmUgbW9yZSBpbmRleGluZyB0eXBlcy4KKyAgICByZXR1
cm4gISEob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3Jh
Z2UpOworfQorCit2b2lkIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXI6Om9wZXJhdG9y
KCkoSlNDZWxsKiBjZWxsKQoreworICAgIGlmICghY2VsbC0+aXNPYmplY3QoKSkKKyAgICAgICAg
cmV0dXJuOworICAgIAorICAgIEpTT2JqZWN0KiBvYmplY3QgPSBhc09iamVjdChjZWxsKTsKKyAg
ICAKKyAgICAvLyBXZSBvbmx5IHdhbnQgdG8gaGF2ZSBhIGJhZCB0aW1lIGluIHRoZSBhZmZlY3Rl
ZCBnbG9iYWwgb2JqZWN0LCBub3QgaW4gdGhlIGVudGlyZQorICAgIC8vIFZNLgorICAgIGlmIChv
YmplY3QtPnVud3JhcHBlZEdsb2JhbE9iamVjdCgpICE9IG1fZ2xvYmFsT2JqZWN0KQorICAgICAg
ICByZXR1cm47CisgICAgCisgICAgaWYgKCFoYXNCcm9rZW5JbmRleGluZyhvYmplY3QpKQorICAg
ICAgICByZXR1cm47CisgICAgCisgICAgbV9mb3VuZE9iamVjdHMuYXBwZW5kKG9iamVjdCk7Cit9
CisKK30gLy8gZW5kIHByaXZhdGUgbmFtZXNwYWNlIGZvciBoZWxwZXJzIGZvciBKU0dsb2JhbE9i
amVjdDo6aGF2ZUFCYWRUaW1lKCkKKwordm9pZCBKU0dsb2JhbE9iamVjdDo6aGF2ZUFCYWRUaW1l
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBBU1NFUlQoJmdsb2JhbERhdGEgPT0g
JnRoaXMtPmdsb2JhbERhdGEoKSk7CisgICAgCisgICAgaWYgKGlzSGF2aW5nQUJhZFRpbWUoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBhbGxvY2F0
aW9ucyBvciBpbmRleGVkIHN0b3JhZ2UgdHJhbnNpdGlvbnMgdGhhdCBhcmUgaW5saW5pbmcKKyAg
ICAvLyB0aGUgYXNzdW1wdGlvbiB0aGF0IGl0J3Mgc2FmZSB0byB0cmFuc2l0aW9uIHRvIGEgbm9u
LVNsb3dQdXQgYXJyYXkgc3RvcmFnZSBkb24ndAorICAgIC8vIGRvIHNvIGFueW1vcmUuCisgICAg
bV9oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQtPm5vdGlmeVdyaXRlKCk7CisgICAgQVNTRVJUKGlz
SGF2aW5nQUJhZFRpbWUoKSk7IC8vIFRoZSB3YXRjaHBvaW50IGlzIHdoYXQgdGVsbHMgdXMgdGhh
dCB3ZSdyZSBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAKKyAgICAvLyBNYWtlIHN1cmUgdGhhdCBh
bGwgSlNBcnJheSBhbGxvY2F0aW9ucyB0aGF0IGxvYWQgdGhlIGFwcHJvcHJpYXRlIHN0cnVjdHVy
ZSBmcm9tCisgICAgLy8gdGhpcyBvYmplY3Qgbm93IGxvYWQgYSBzdHJ1Y3R1cmUgdGhhdCB1c2Vz
IFNsb3dQdXQuCisgICAgbV9hcnJheVN0cnVjdHVyZS5zZXQoZ2xvYmFsRGF0YSwgdGhpcywgbV9h
cnJheVN0cnVjdHVyZUZvclNsb3dQdXQuZ2V0KCkpOworICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0
aGF0IGFsbCBvYmplY3RzIHRoYXQgaGF2ZSBpbmRleGVkIHN0b3JhZ2Ugc3dpdGNoIHRvIHRoZSBz
bG93IGtpbmQgb2YKKyAgICAvLyBpbmRleGVkIHN0b3JhZ2UuCisgICAgTWFya2VkQXJndW1lbnRC
dWZmZXIgZm91bmRPYmplY3RzOyAvLyBVc2UgTWFya2VkQXJndW1lbnRCdWZmZXIgYmVjYXVzZSBz
d2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoKSBtYXkgR0MuCisgICAgT2JqZWN0c1dpdGhCcm9r
ZW5JbmRleGluZ0ZpbmRlciBmaW5kZXIoZm91bmRPYmplY3RzLCB0aGlzKTsKKyAgICBnbG9iYWxE
YXRhLmhlYXAub2JqZWN0U3BhY2UoKS5mb3JFYWNoTGl2ZUNlbGwoZmluZGVyKTsKKyAgICB3aGls
ZSAoIWZvdW5kT2JqZWN0cy5pc0VtcHR5KCkpIHsKKyAgICAgICAgSlNPYmplY3QqIG9iamVjdCA9
IGFzT2JqZWN0KGZvdW5kT2JqZWN0cy5sYXN0KCkpOworICAgICAgICBmb3VuZE9iamVjdHMucmVt
b3ZlTGFzdCgpOworICAgICAgICBBU1NFUlQoaGFzQnJva2VuSW5kZXhpbmcob2JqZWN0KSk7Cisg
ICAgICAgIG9iamVjdC0+c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKGdsb2JhbERhdGEpOwor
ICAgIH0KK30KKwogdm9pZCBKU0dsb2JhbE9iamVjdDo6Y3JlYXRlVGhyb3dUeXBlRXJyb3IoRXhl
Y1N0YXRlKiBleGVjKQogewogICAgIEpTRnVuY3Rpb24qIHRocm93ZXIgPSBKU0Z1bmN0aW9uOjpj
cmVhdGUoZXhlYywgdGhpcywgMCwgU3RyaW5nKCksIGdsb2JhbEZ1bmNUaHJvd1R5cGVFcnJvcik7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsOCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hY3RpdmF0aW9uU3Ry
dWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX25hbWVTY29wZVN0cnVj
dHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcmd1bWVudHNTdHJ1Y3R1
cmU7Ci0gICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7Cisg
ICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1cmU7IC8vIFRoaXMg
Z2V0cyBzZXQgdG8gbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQgYXMgc29vbiBhcyB3ZSBkZWNp
ZGUgdG8gaGF2ZSBhIGJhZCB0aW1lLgorICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dDsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVy
ZT4gbV9ib29sZWFuT2JqZWN0U3RydWN0dXJlOwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0
dXJlPiBtX2NhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmll
cjxTdHJ1Y3R1cmU+IG1fY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZTsKQEAgLTE0OSw2ICsxNTAs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgRGVidWdnZXIqIG1fZGVidWdnZXI7CiAKICAg
ICAgICAgUmVmUHRyPFdhdGNocG9pbnRTZXQ+IG1fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNo
cG9pbnQ7CisgICAgICAgIFJlZlB0cjxXYXRjaHBvaW50U2V0PiBtX2hhdmluZ0FCYWRUaW1lV2F0
Y2hwb2ludDsKIAogICAgICAgICBPd25QdHI8SlNHbG9iYWxPYmplY3RSYXJlRGF0YT4gbV9yYXJl
RGF0YTsKIApAQCAtMjYwLDYgKzI2Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJ1
Y3R1cmUqIG5hbWVTY29wZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZVNjb3BlU3Ry
dWN0dXJlLmdldCgpOyB9CiAgICAgICAgIFN0cnVjdHVyZSogYXJndW1lbnRzU3RydWN0dXJlKCkg
Y29uc3QgeyByZXR1cm4gbV9hcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3Ry
dWN0dXJlKiBhcnJheVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJyYXlTdHJ1Y3R1cmUu
Z2V0KCk7IH0KKyAgICAgICAgdm9pZCogYWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSB7IHJldHVy
biAmbV9hcnJheVN0cnVjdHVyZTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGJvb2xlYW5PYmplY3RT
dHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2Jvb2xlYW5PYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICAgICAgU3RydWN0dXJlKiBjYWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9jYWxsYmFja0NvbnN0cnVjdG9yU3RydWN0dXJlLmdldCgpOyB9CiAgICAg
ICAgIFN0cnVjdHVyZSogY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fY2FsbGJhY2tGdW5jdGlvblN0cnVjdHVyZS5nZXQoKTsgfQpAQCAtMjgwLDYgKzI4MywxNCBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU3RydWN0dXJlKiBzdHJpbmdPYmplY3RTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX3N0cmluZ09iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogCiAg
ICAgICAgIFdhdGNocG9pbnRTZXQqIG1hc3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50KCkg
eyByZXR1cm4gbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludC5nZXQoKTsgfQorICAg
ICAgICBXYXRjaHBvaW50U2V0KiBoYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKSB7IHJldHVybiBt
X2hhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludC5nZXQoKTsgfQorICAgICAgICAKKyAgICAgICAgYm9v
bCBpc0hhdmluZ0FCYWRUaW1lKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJu
IG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50LT5oYXNCZWVuSW52YWxpZGF0ZWQoKTsKKyAgICAg
ICAgfQorICAgICAgICAKKyAgICAgICAgdm9pZCBoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRhJik7
CiAKICAgICAgICAgdm9pZCBzZXRQcm9maWxlR3JvdXAodW5zaWduZWQgdmFsdWUpIHsgY3JlYXRl
UmFyZURhdGFJZk5lZWRlZCgpOyBtX3JhcmVEYXRhLT5wcm9maWxlR3JvdXAgPSB2YWx1ZTsgfQog
ICAgICAgICB1bnNpZ25lZCBwcm9maWxlR3JvdXAoKSBjb25zdApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NjkxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzIsOCArMTMyLDcgQEAgQUxXQVlTX0lOTElORSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRl
cgogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBNYXJrIGFuZCBjb3B5IHRoZSBhcnJheSBp
ZiBhcHByb3ByaWF0ZS4KICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRleGluZ1R5
cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAg
ICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIG5ld0J1
dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmNvcHlIZWFkZXJGcm9tRHVyaW5nR0MoKmJ1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiogY3VycmVudFRhcmdldCA9IG5ld0J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9y
OwogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiogY3VycmVudFNvdXJjZSA9
IGJ1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9yOwpAQCAtMTU5LDggKzE1OCw3IEBA
IEFMV0FZU19JTkxJTkUgdm9pZCBKU09iamVjdDo6dmlzaXRCdXR0ZXIKICAgICAgICAgCiAgICAg
ICAgIC8vIE1hcmsgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRlLgogICAgICAgICBzd2l0Y2ggKHN0
cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6Ci0gICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICBj
YXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgdmlzaXRv
ci5hcHBlbmRWYWx1ZXMoYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3IsIGJ1dHRl
cmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpKTsKICAgICAgICAgICAgIGlmIChi
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCkKICAgICAgICAgICAgICAgICB2
aXNpdG9yLmFwcGVuZCgmYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV9zcGFyc2VNYXApOwpA
QCAtMjMzLDEyICsyMzEsMTAgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJ
bmRleAogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+Z2V0T3duUHJv
cGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaSksIHNs
b3QpOwogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAg
Y2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJyZWFrOwogICAgICAgICAK
LSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFy
cmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6
IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gdGhpc09iamVjdC0+bV9idXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICBpZiAoaSA+PSBzdG9yYWdlLT5sZW5ndGgoKSkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMCw3ICsyOTYsNyBAQCB2b2lkIEpTT2Jq
ZWN0OjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhCiAgICAgICAgIHVuc2lnbmVkIGF0dHJpYnV0
ZXM7CiAgICAgICAgIEpTQ2VsbCogc3BlY2lmaWNWYWx1ZTsKICAgICAgICAgUHJvcGVydHlPZmZz
ZXQgb2Zmc2V0ID0gb2JqLT5zdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIHByb3BlcnR5TmFt
ZSwgYXR0cmlidXRlcywgc3BlY2lmaWNWYWx1ZSk7Ci0gICAgICAgIGlmIChvZmZzZXQgIT0gaW52
YWxpZE9mZnNldCkgeworICAgICAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKSB7CiAgICAg
ICAgICAgICBpZiAoYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7CiAgICAgICAgICAgICAgICAgaWYg
KHNsb3QuaXNTdHJpY3RNb2RlKCkpCiAgICAgICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXhl
YywgY3JlYXRlVHlwZUVycm9yKGV4ZWMsIEFTQ0lJTGl0ZXJhbChTdHJpY3RNb2RlUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpKSk7CkBAIC0zNTMsOCArMzQ5LDcgQEAgdm9pZCBKU09iamVjdDo6
cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAogICAgIH0KICAgICAKICAgICBzd2l0Y2ggKHRoaXNP
YmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6
Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2U6CkBAIC0zODAsNiArMzc1LDM0IEBAIHZvaWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXgoSlND
ZWxsKiBjZWxsLCAKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAgICAgCisgICAgY2FzZSBO
b25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZTogeworICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2Jq
ZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CisgICAgICAgIAorICAgICAgICBpZiAo
cHJvcGVydHlOYW1lID49IHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKQorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIAorICAgICAgICBXcml0ZUJhcnJpZXI8VW5rbm93bj4mIHZhbHVlU2xvdCA9
IHN0b3JhZ2UtPm1fdmVjdG9yW3Byb3BlcnR5TmFtZV07CisgICAgICAgIHVuc2lnbmVkIGxlbmd0
aCA9IHN0b3JhZ2UtPmxlbmd0aCgpOworICAgICAgICAKKyAgICAgICAgLy8gVXBkYXRlIGxlbmd0
aCAmIG1fbnVtVmFsdWVzSW5WZWN0b3IgYXMgbmVjZXNzYXJ5LgorICAgICAgICBpZiAocHJvcGVy
dHlOYW1lID49IGxlbmd0aCkgeworICAgICAgICAgICAgaWYgKHRoaXNPYmplY3QtPmF0dGVtcHRU
b0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hv
dWxkVGhyb3cpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGxlbmd0aCA9
IHByb3BlcnR5TmFtZSArIDE7CisgICAgICAgICAgICBzdG9yYWdlLT5zZXRMZW5ndGgobGVuZ3Ro
KTsKKyAgICAgICAgICAgICsrc3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvcjsKKyAgICAgICAg
fSBlbHNlIGlmICghdmFsdWVTbG90KSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0
ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVl
LCBzaG91bGRUaHJvdykpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgKytz
dG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICB2YWx1ZVNsb3Quc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpc09iamVjdCwgdmFsdWUpOwor
ICAgICAgICB0aGlzT2JqZWN0LT5jaGVja0luZGV4aW5nQ29uc2lzdGVuY3koKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgfQpAQCAtNDI0LDggKzQ0Nyw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmVudGVyRGljdGlvbmFyeUkKIHZvaWQgSlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUlu
ZGV4aW5nTW9kZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiAgICAgc3dpdGNoIChzdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZToKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJB
WV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICBlbnRlckRpY3Rpb25hcnlJbmRleGlu
Z01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICBicmVhazsKICAgICAgICAgCkBAIC00MzQsMTAg
KzQ1NiwyMyBAQCB2b2lkIEpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vCiAgICAg
fQogfQogCit2b2lkIEpTT2JqZWN0Ojpub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyhK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgaWYgKG1heUludGVyY2VwdEluZGV4ZWRB
Y2Nlc3NlcygpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgc2V0U3RydWN0dXJlKGdsb2Jh
bERhdGEsIFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVj
dHVyZSgpLCBBZGRJbmRleGVkQWNjZXNzb3JzKSk7CisgICAgCisgICAgaWYgKCFtYXlCZVVzZWRB
c1Byb3RvdHlwZShnbG9iYWxEYXRhKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGdsb2Jh
bE9iamVjdCgpLT5oYXZlQUJhZFRpbWUoZ2xvYmFsRGF0YSk7Cit9CisKIEFycmF5U3RvcmFnZSog
SlNPYmplY3Q6OmNyZWF0ZUFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIHVu
c2lnbmVkIGxlbmd0aCwgdW5zaWduZWQgdmVjdG9yTGVuZ3RoKQogewogICAgIEluZGV4aW5nVHlw
ZSBvbGRUeXBlID0gc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpOwotICAgIEFTU0VSVF9VTlVT
RUQob2xkVHlwZSwgb2xkVHlwZSA9PSBOb25BcnJheSB8fCBvbGRUeXBlID09IEFycmF5Q2xhc3Mp
OworICAgIEFTU0VSVF9VTlVTRUQob2xkVHlwZSwgIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKG9sZFR5
cGUpKTsKICAgICBCdXR0ZXJmbHkqIG5ld0J1dHRlcmZseSA9IG1fYnV0dGVyZmx5LT5ncm93QXJy
YXlSaWdodCgKICAgICAgICAgZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5v
dXRPZkxpbmVDYXBhY2l0eSgpLCBmYWxzZSwgMCwKICAgICAgICAgQXJyYXlTdG9yYWdlOjpzaXpl
Rm9yKHZlY3Rvckxlbmd0aCkpOwpAQCAtNDUzLDcgKzQ4OCw3IEBAIEFycmF5U3RvcmFnZSogSlNP
YmplY3Q6OmNyZWF0ZUFycmF5U3RvcmEKICAgICByZXN1bHQtPm1faW5pdGlhbGl6YXRpb25JbmRl
eCA9IDA7CiAgICAgcmVzdWx0LT5tX2luQ29tcGFjdEluaXRpYWxpemF0aW9uID0gMDsKICNlbmRp
ZgotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRy
YW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFsbG9jYXRlQXJyYXlTdG9yYWdlKTsK
KyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6bm9uUHJvcGVydHlUcmFu
c2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBzdHJ1Y3R1cmUoKS0+c3VnZ2VzdGVkSW5k
ZXhpbmdUcmFuc2l0aW9uKCkpOwogICAgIHNldEJ1dHRlcmZseShnbG9iYWxEYXRhLCBuZXdCdXR0
ZXJmbHksIG5ld1N0cnVjdHVyZSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTQ2NiwxMiAr
NTAxLDEwIEBAIEFycmF5U3RvcmFnZSogSlNPYmplY3Q6OmNyZWF0ZUluaXRpYWxBcnIKIEFycmF5
U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlv
bmFyeUluZGV4aW5nTW9kZShKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCiB7CiAgICAgc3dpdGNo
IChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5
U3RvcmFnZToKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFM
TF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gZW50ZXJEaWN0
aW9uYXJ5SW5kZXhpbmdNb2RlV2hlbkFycmF5U3RvcmFnZUFscmVhZHlFeGlzdHMoZ2xvYmFsRGF0
YSwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpKTsKICAgICAgICAgCi0gICAgY2FzZSBBcnJh
eUNsYXNzOgotICAgIGNhc2UgTm9uQXJyYXk6IHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElO
R19UWVBFUzogewogICAgICAgICBjcmVhdGVBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSwgMCwgMCk7
CiAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCA9IGFsbG9jYXRlU3BhcnNlSW5kZXhN
YXAoZ2xvYmFsRGF0YSk7CiAgICAgICAgIG1hcC0+c2V0U3BhcnNlTW9kZSgpOwpAQCAtNDg0LDYg
KzUxNywyMiBAQCBBcnJheVN0b3JhZ2UqIEpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhCiAgICAg
fQogfQogCit2b2lkIEpTT2JqZWN0Ojpzd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQoreworICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7CisgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgU3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUg
PSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUo
KSwgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKTsKKyAgICAgICAgc2V0U3RydWN0dXJlKGds
b2JhbERhdGEsIG5ld1N0cnVjdHVyZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAgICAg
CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KK30KKwogdm9pZCBKU09iamVjdDo6cHV0RGlyZWN0VmlydHVhbChKU09iamVj
dCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCiB7CiAgICAgQVNTRVJUKCF2YWx1ZS5p
c0dldHRlclNldHRlcigpICYmICEoYXR0cmlidXRlcyAmIEFjY2Vzc29yKSk7CkBAIC00OTEsNiAr
NTQwLDMzIEBAIHZvaWQgSlNPYmplY3Q6OnB1dERpcmVjdFZpcnR1YWwoSlNPYmplY3QKICAgICBv
YmplY3QtPnB1dERpcmVjdEludGVybmFsPFB1dE1vZGVEZWZpbmVPd25Qcm9wZXJ0eT4oZXhlYy0+
Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyaWJ1dGVzLCBzbG90LCBnZXRD
YWxsYWJsZU9iamVjdCh2YWx1ZSkpOwogfQogCit2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGUo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKK3sKKyAgICBBU1NF
UlQocHJvdG90eXBlKTsKKyAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0KCkpCisgICAgICAgIGFz
T2JqZWN0KHByb3RvdHlwZSktPm5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKKyAg
ICAKKyAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6Y2hhbmdlUHJvdG90
eXBlVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgcHJvdG90eXBlKTsKKyAgICBz
ZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3U3RydWN0dXJlKTsKKyAgICAKKyAgICBpZiAoIW5l
d1N0cnVjdHVyZS0+YW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcygp
KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKG1heUJlVXNlZEFzUHJvdG90eXBlKGds
b2JhbERhdGEpKSB7CisgICAgICAgIG5ld1N0cnVjdHVyZS0+Z2xvYmFsT2JqZWN0KCktPmhhdmVB
QmFkVGltZShnbG9iYWxEYXRhKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICBp
ZiAoIWhhc0luZGV4aW5nSGVhZGVyKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoc2hvdWxkVXNlU2xvd1B1dChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbmV3U3RydWN0dXJl
ID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgbmV3U3RydWN0
dXJlLCBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UpOworICAgIHNldFN0cnVjdHVyZShnbG9i
YWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworfQorCiBib29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVX
aXRoQ3ljbGVDaGVjayhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBl
KQogewogICAgIEpTVmFsdWUgY2hlY2tGb3IgPSB0aGlzOwpAQCAtNTA3LDkgKzU4MywzMiBAQCBi
b29sIEpTT2JqZWN0OjpzZXRQcm90b3R5cGVXaXRoQ3ljbGVDaGVjCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnJlc2V0SW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9i
YWxEYXRhKQoreworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0cnVjdHVyZSgpLT5nZXQo
Z2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsKKyAgICBpZiAoIWlzVmFs
aWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIHB1dERpcmVjdE9m
ZnNldChnbG9iYWxEYXRhLCBvZmZzZXQsIGpzVW5kZWZpbmVkKCkpOworfQorCitTdHJ1Y3R1cmUq
IEpTT2JqZWN0Ojppbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAg
aWYgKFdyaXRlQmFycmllckJhc2U8VW5rbm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRp
b24oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KSkgeworICAgICAgICBK
U1ZhbHVlIHZhbHVlID0gbG9jYXRpb24tPmdldCgpOworICAgICAgICBpZiAodmFsdWUuaXNDZWxs
KCkpIHsKKyAgICAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nhc3Q8U3RydWN0
dXJlKj4odmFsdWUpOworICAgICAgICAgICAgQVNTRVJUKGluaGVyaXRvcklELT5pc0VtcHR5KCkp
OworICAgICAgICAgICAgcmV0dXJuIGluaGVyaXRvcklEOworICAgICAgICB9CisgICAgICAgIEFT
U0VSVCh2YWx1ZS5pc1VuZGVmaW5lZCgpKTsKKyAgICB9CisgICAgcmV0dXJuIGNyZWF0ZUluaGVy
aXRvcklEKGdsb2JhbERhdGEpOworfQorCiBib29sIEpTT2JqZWN0OjphbGxvd3NBY2Nlc3NGcm9t
KEV4ZWNTdGF0ZSogZXhlYykKIHsKLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
aXNHbG9iYWxUaGlzKCkgPyBqc0Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9i
amVjdCgpIDogdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNHbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHVud3JhcHBlZEdsb2JhbE9iamVjdCgpOwogICAgIHJldHVybiBnbG9iYWxPYmpl
Y3QtPmdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPmFsbG93c0FjY2Vzc0Zyb20oZ2xvYmFsT2Jq
ZWN0LCBleGVjKTsKIH0KIApAQCAtNTk2LDEyICs2OTUsMTAgQEAgYm9vbCBKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KEpTQwogICAgICAgICByZXR1cm4gdGhpc09iamVjdC0+bWV0aG9k
VGFibGUoKS0+ZGVsZXRlUHJvcGVydHkodGhpc09iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJv
bShleGVjLCBpKSk7CiAgICAgCiAgICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAgY2FzZSBOb25BcnJh
eToKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9J
TkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2Jq
ZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICBpZiAo
aSA8IHN0b3JhZ2UtPnZlY3Rvckxlbmd0aCgpKSB7CkBAIC03NjEsMTIgKzg1OCwxMCBAQCB2b2lk
IEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqCiAgICAgLy8gaXMgaW5jcmVkaWJs
eSBpbmVmZmljaWVudCBmb3IgbGFyZ2UgYXJyYXlzLiBXZSBuZWVkIGEgZGlmZmVyZW50IGFwcHJv
YWNoLAogICAgIC8vIHdoaWNoIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnMgYSBkaWZmZXJlbnQgc3Ry
dWN0dXJlIGZvciBQcm9wZXJ0eU5hbWVBcnJheS4KICAgICBzd2l0Y2ggKG9iamVjdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBj
YXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0Vf
SU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gb2JqZWN0
LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAgICB1bnNpZ25l
ZCB1c2VkVmVjdG9yTGVuZ3RoID0gc3RkOjptaW4oc3RvcmFnZS0+bGVuZ3RoKCksIHN0b3JhZ2Ut
PnZlY3Rvckxlbmd0aCgpKTsKQEAgLTg1Niw2ICs5NTEsMTMgQEAgdm9pZCBKU09iamVjdDo6cHJl
dmVudEV4dGVuc2lvbnMoSlNHbG9iYQogICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwg
U3RydWN0dXJlOjpwcmV2ZW50RXh0ZW5zaW9uc1RyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0
dXJlKCkpKTsKIH0KIAorSlNHbG9iYWxPYmplY3QqIEpTT2JqZWN0Ojp1bndyYXBwZWRHbG9iYWxP
YmplY3QoKQoreworICAgIGlmIChpc0dsb2JhbFRoaXMoKSkKKyAgICAgICAgcmV0dXJuIGpzQ2Fz
dDxKU0dsb2JhbFRoaXMqPih0aGlzKS0+dW53cmFwcGVkT2JqZWN0KCk7CisgICAgcmV0dXJuIHN0
cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKTsKK30KKwogLy8gVGhpcyBwcmVzZW50bHkgd2lsbCBm
bGF0dGVuIHRvIGFuIHVuY2FjaGFibGUgZGljdGlvbmFyeTsgdGhpcyBpcyBzdWl0YWJsZQogLy8g
Zm9yIHVzZSBpbiBkZWxldGUsIHdlIG1heSB3YW50IHRvIGRvIHNvbWV0aGluZyBkaWZmZXJlbnQg
ZWxzZXdoZXJlLgogdm9pZCBKU09iamVjdDo6cmVpZnlTdGF0aWNGdW5jdGlvbnNGb3JEZWxldGUo
RXhlY1N0YXRlKiBleGVjKQpAQCAtOTE5LDE4ICsxMDIxLDM1IEBAIE5FVkVSX0lOTElORSB2b2lk
IEpTT2JqZWN0OjpmaWxsR2V0dGVyUHIKICAgICAgICAgc2xvdC5zZXRVbmRlZmluZWQoKTsKIH0K
IAotU3RydWN0dXJlKiBKU09iamVjdDo6Y3JlYXRlSW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBn
bG9iYWxEYXRhKQordm9pZCBKU09iamVjdDo6bm90aWZ5VXNlZEFzUHJvdG90eXBlKEpTR2xvYmFs
RGF0YSYgZ2xvYmFsRGF0YSkKIHsKLSAgICBBU1NFUlQoIWdldERpcmVjdExvY2F0aW9uKGdsb2Jh
bERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0b3JJREtleSkpOwotCi0gICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdDsKLSAgICBpZiAoaXNHbG9iYWxUaGlzKCkpCi0gICAgICAgIGdsb2Jh
bE9iamVjdCA9IHN0YXRpY19jYXN0PEpTR2xvYmFsVGhpcyo+KHRoaXMpLT51bndyYXBwZWRPYmpl
Y3QoKTsKLSAgICBlbHNlCi0gICAgICAgIGdsb2JhbE9iamVjdCA9IHN0cnVjdHVyZSgpLT5nbG9i
YWxPYmplY3QoKTsKLSAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KTsKKyAgICBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQgPSBzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhl
cml0b3JJREtleSk7CisgICAgaWYgKGlzVmFsaWRPZmZzZXQob2Zmc2V0KSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OworICAgIHB1dERpcmVjdEludGVy
bmFsPFB1dE1vZGVEZWZpbmVPd25Qcm9wZXJ0eT4oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2lu
aGVyaXRvcklES2V5LCBqc1VuZGVmaW5lZCgpLCBEb250RW51bSwgc2xvdCwgMCk7CisgICAgCisg
ICAgLy8gTm90ZSB0aGF0IHRoaXMgbWV0aG9kIG1ha2VzIHRoZSBzb21ld2hhdCBvZGQgZGVjaXNp
b24gdG8gbm90IGNoZWNrIGlmIHRoaXMKKyAgICAvLyBvYmplY3QgY3VycmVudGx5IGhhcyBpbmRl
eGVkIGFjY2Vzc29ycy4gV2UgY291bGQgZG8gdGhhdCBjaGVjayBoZXJlLCBhbmQgaWYKKyAgICAv
LyBpbmRleGVkIGFjY2Vzc29ycyB3ZXJlIGZvdW5kLCB3ZSBjb3VsZCB0ZWxsIHRoZSBnbG9iYWwg
b2JqZWN0IHRvIGhhdmUgYSBiYWQKKyAgICAvLyB0aW1lLiBCdXQgd2UgYXZvaWQgdGhpcywgdG8g
YWxsb3cgdGhlIGZvbGxvd2luZyB0byBiZSBhbHdheXMgZmFzdDoKKyAgICAvLworICAgIC8vIDEp
IENyZWF0ZSBhbiBvYmplY3QuCisgICAgLy8gMikgR2l2ZSBpdCBhIHNldHRlciBvciByZWFkLW9u
bHkgcHJvcGVydHkgdGhhdCBoYXBwZW5zIHRvIGhhdmUgYSBudW1lcmljIG5hbWUuCisgICAgLy8g
MykgQWxsb2NhdGUgb2JqZWN0cyB0aGF0IHVzZSB0aGlzIG9iamVjdCBhcyBhIHByb3RvdHlwZS4K
KyAgICAvLworICAgIC8vIFRoaXMgYXZvaWRzIGFueW9uZSBoYXZpbmcgYSBiYWQgdGltZS4gRXZl
biBpZiB0aGUgaW5zdGFuY2Ugb2JqZWN0cyBlbmQgdXAKKyAgICAvLyBoYXZpbmcgaW5kZXhlZCBz
dG9yYWdlLCB0aGUgY3JlYXRpb24gb2YgaW5kZXhlZCBzdG9yYWdlIGxlYWRzIHRvIGEgcHJvdG90
eXBlCisgICAgLy8gY2hhaW4gd2FsayB0aGF0IGRldGVjdHMgdGhlIHByZXNlbmNlIG9mIGluZGV4
ZWQgc2V0dGVycyBhbmQgdGhlbiBkb2VzIHRoZQorICAgIC8vIHJpZ2h0IHRoaW5nLiBBcyBhIHJl
c3VsdCwgaGF2aW5nIGEgYmFkIHRpbWUgb25seSBoYXBwZW5zIGlmIHlvdSBhZGQgYW4KKyAgICAv
LyBpbmRleGVkIHNldHRlciAob3IgZ2V0dGVyLCBvciByZWFkLW9ubHkgZmllbGQpIHRvIGFuIG9i
amVjdCB0aGF0IGlzIGFscmVhZHkKKyAgICAvLyB1c2VkIGFzIGEgcHJvdG90eXBlLgorfQogCi0g
ICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRCA9IGNyZWF0ZUVtcHR5T2JqZWN0U3RydWN0dXJlKGds
b2JhbERhdGEsIGdsb2JhbE9iamVjdCwgdGhpcyk7CitTdHJ1Y3R1cmUqIEpTT2JqZWN0OjpjcmVh
dGVJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7CisgICAgU3RydWN0dXJl
KiBpbmhlcml0b3JJRCA9IGNyZWF0ZUVtcHR5T2JqZWN0U3RydWN0dXJlKGdsb2JhbERhdGEsIHVu
d3JhcHBlZEdsb2JhbE9iamVjdCgpLCB0aGlzKTsKICAgICBBU1NFUlQoaW5oZXJpdG9ySUQtPmlz
RW1wdHkoKSk7CiAKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKQEAgLTk4MCw2ICsxMDk5LDkg
QEAgdm9pZCBKU09iamVjdDo6cHV0SW5kZXhlZERlc2NyaXB0b3IoRXhlYwogYm9vbCBKU09iamVj
dDo6ZGVmaW5lT3duSW5kZXhlZFByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaW5k
ZXgsIFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCB0aHJvd0V4Y2VwdGlvbikK
IHsKICAgICBBU1NFUlQoaW5kZXggIT0gMHhGRkZGRkZGRik7CisgICAgCisgICAgaWYgKGRlc2Ny
aXB0b3IuYXR0cmlidXRlcygpICYgKFJlYWRPbmx5IHwgQWNjZXNzb3IpKQorICAgICAgICBub3Rp
ZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyhleGVjLT5nbG9iYWxEYXRhKCkpOwogCiAgICAg
aWYgKCFpblNwYXJzZUluZGV4aW5nTW9kZSgpKSB7CiAgICAgICAgIC8vIEZhc3QgY2FzZTogd2Un
cmUgcHV0dGluZyBhIHJlZ3VsYXIgcHJvcGVydHkgdG8gYSByZWd1bGFyIGFycmF5CkBAIC0xMTA4
LDYgKzEyMzAsNDAgQEAgdm9pZCBKU09iamVjdDo6ZGVhbGxvY2F0ZVNwYXJzZUluZGV4TWFwKAog
ICAgICAgICBhcnJheVN0b3JhZ2UtPm1fc3BhcnNlTWFwLmNsZWFyKCk7CiB9CiAKK2Jvb2wgSlNP
YmplY3Q6OmF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGVGb3JQcm90b3R5cGUoRXhl
Y1N0YXRlKiBleGVjLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1
ZSwgYm9vbCBzaG91bGRUaHJvdykKK3sKKyAgICBmb3IgKEpTT2JqZWN0KiBjdXJyZW50ID0gdGhp
czsgOykgeworICAgICAgICAvLyBUaGlzIGhhcyB0aGUgc2FtZSBiZWhhdmlvciB3aXRoIHJlc3Bl
Y3QgdG8gcHJvdG90eXBlcyBhcyBKU09iamVjdDo6cHV0KCkuIEl0IG9ubHkKKyAgICAgICAgLy8g
YWxsb3dzIGEgcHJvdG90eXBlIHRvIGludGVyY2VwdCBhIHB1dCBpZiAoYSkgdGhlIHByb3RvdHlw
ZSBkZWNsYXJlcyB0aGUgcHJvcGVydHkKKyAgICAgICAgLy8gd2UncmUgYWZ0ZXIgcmF0aGVyIHRo
YW4gaW50ZXJjZXB0aW5nIGl0IHZpYSBhbiBvdmVycmlkZSBvZiBKU09iamVjdDo6cHV0KCksIGFu
ZAorICAgICAgICAvLyAoYikgdGhhdCBwcm9wZXJ0eSBpcyBkZWNsYXJlZCBhcyBSZWFkT25seSBv
ciBBY2Nlc3Nvci4KKyAgICAgICAgCisgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IGN1
cnJlbnQtPmFycmF5U3RvcmFnZU9yTnVsbCgpOworICAgICAgICBpZiAoc3RvcmFnZSAmJiBzdG9y
YWdlLT5tX3NwYXJzZU1hcCkgeworICAgICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6aXRl
cmF0b3IgaXRlciA9IHN0b3JhZ2UtPm1fc3BhcnNlTWFwLT5maW5kKGkpOworICAgICAgICAgICAg
aWYgKGl0ZXIgIT0gc3RvcmFnZS0+bV9zcGFyc2VNYXAtPm5vdEZvdW5kKCkgJiYgKGl0ZXItPnNl
Y29uZC5hdHRyaWJ1dGVzICYgKEFjY2Vzc29yIHwgUmVhZE9ubHkpKSkgeworICAgICAgICAgICAg
ICAgIGl0ZXItPnNlY29uZC5wdXQoZXhlYywgdGhpc1ZhbHVlLCBzdG9yYWdlLT5tX3NwYXJzZU1h
cC5nZXQoKSwgdmFsdWUsIHNob3VsZFRocm93KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSBw
cm90b3R5cGVWYWx1ZSA9IGN1cnJlbnQtPnByb3RvdHlwZSgpOworICAgICAgICBpZiAocHJvdG90
eXBlVmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAor
ICAgICAgICBjdXJyZW50ID0gYXNPYmplY3QocHJvdG90eXBlVmFsdWUpOworICAgIH0KK30KKwor
Ym9vbCBKU09iamVjdDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZShFeGVjU3Rh
dGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpCit7
CisgICAgSlNWYWx1ZSBwcm90b3R5cGVWYWx1ZSA9IHByb3RvdHlwZSgpOworICAgIGlmIChwcm90
b3R5cGVWYWx1ZS5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIHJl
dHVybiBhc09iamVjdChwcm90b3R5cGVWYWx1ZSktPmF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5k
ZXhPbkhvbGVGb3JQcm90b3R5cGUoZXhlYywgdGhpcywgaSwgdmFsdWUsIHNob3VsZFRocm93KTsK
K30KKwogdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3Rvckxlbmd0aFdpdGhBcnJh
eVN0b3JhZ2UoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlLCBib29s
IHNob3VsZFRocm93LCBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UpCiB7CiAgICAgSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhID0gZXhlYy0+Z2xvYmFsRGF0YSgpOwpAQCAtMTE4OCw4ICsxMzQ0LDcgQEAg
dm9pZCBKU09iamVjdDo6cHV0QnlJbmRleEJleW9uZFZlY3RvckxlbgogICAgIEFTU0VSVChpIDw9
IE1BWF9BUlJBWV9JTkRFWCk7CiAgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczogewor
ICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGlmIChpbmRleGlu
Z1Nob3VsZEJlU3BhcnNlKCkpIHsKICAgICAgICAgICAgIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JM
ZW5ndGhXaXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdywgZW5zdXJl
QXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKGdsb2JhbERh
dGEpKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTIwNCw2ICsxMzU5LDEyIEBAIHZvaWQgSlNP
YmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICAgICAgc3RvcmFnZS0+bV9udW1W
YWx1ZXNJblZlY3RvciA9IDE7CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICAgICAgCisgICAg
Y2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgaWYgKGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5
SW5kZXhPbkhvbGUoZXhlYywgaSwgdmFsdWUsIHNob3VsZFRocm93KSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgLy8gT3RoZXJ3aXNlLCBmYWxsIHRob3VnaC4KIAogICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgpA
QCAtMTI5Niw5ICsxNDU3LDExIEBAIGJvb2wgSlNPYmplY3Q6OnB1dERpcmVjdEluZGV4QmV5b25k
VmVjdG8KICAgICAvLyBpIHNob3VsZCBiZSBhIHZhbGlkIGFycmF5IGluZGV4IHRoYXQgaXMgb3V0
c2lkZSBvZiB0aGUgY3VycmVudCB2ZWN0b3IuCiAgICAgQVNTRVJUKGkgPD0gTUFYX0FSUkFZX0lO
REVYKTsKICAgICAKKyAgICBpZiAoYXR0cmlidXRlcyAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkK
KyAgICAgICAgbm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3NvcnMoZ2xvYmFsRGF0YSk7Cisg
ICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNl
IE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczogeworICAgIGNhc2UgQUxMX0JMQU5LX0lO
REVYSU5HX1RZUEVTOiB7CiAgICAgICAgIGlmIChpbmRleGluZ1Nob3VsZEJlU3BhcnNlKCkgfHwg
YXR0cmlidXRlcykKICAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rv
ckxlbmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUs
IGVuc3VyZUFycmF5U3RvcmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShn
bG9iYWxEYXRhKSk7CiAgICAgICAgIGlmICghaXNEZW5zZUVub3VnaEZvclZlY3RvcihpLCAwKSB8
fCBpID49IE1BWF9TVE9SQUdFX1ZFQ1RPUl9MRU5HVEgpCkBAIC0xMzEwLDggKzE0NzMsNyBAQCBi
b29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3RvCiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNh
c2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleEJleW9uZFZlY3Rvckxl
bmd0aFdpdGhBcnJheVN0b3JhZ2UoZXhlYywgaSwgdmFsdWUsIGF0dHJpYnV0ZXMsIG1vZGUsIGFy
cmF5U3RvcmFnZSgpKTsKICAgICAgICAgCiAgICAgZGVmYXVsdDoKQEAgLTEzNTMsMTMgKzE1MTUs
MTEgQEAgQUxXQVlTX0lOTElORSB1bnNpZ25lZCBKU09iamVjdDo6Z2V0TmV3VgogICAgIHVuc2ln
bmVkIGxlbmd0aDsKICAgICAKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICB2ZWN0b3JMZW5ndGggPSAwOwogICAg
ICAgICBsZW5ndGggPSAwOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFy
cmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFM
TF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICB2ZWN0b3JMZW5ndGggPSBt
X2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0aCgpOwogICAgICAgICBsZW5n
dGggPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPmxlbmd0aCgpOwogICAgICAgICBicmVh
azsKQEAgLTE0NzcsMTIgKzE2MzcsMTAgQEAgYm9vbCBKU09iamVjdDo6Z2V0T3duUHJvcGVydHlE
ZXNjcmlwdG9yKAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgc3dpdGNoIChvYmpl
Y3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgTm9uQXJyYXk6Ci0g
ICAgY2FzZSBBcnJheUNsYXNzOgorICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBB
TExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBBcnJheVN0b3JhZ2Uq
IHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAg
aWYgKGkgPj0gc3RvcmFnZS0+bGVuZ3RoKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlzaW9uIDEy
ODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTExOCw3ICsxMTgsMTggQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJv
b2wgc2V0UHJvdG90eXBlV2l0aEN5Y2xlQ2hlY2soSlNHbG9iYWxEYXRhJiwgSlNWYWx1ZSBwcm90
b3R5cGUpOwogICAgICAgICAKICAgICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRChKU0dsb2Jh
bERhdGEmKTsKLQorICAgICAgICB2b2lkIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShKU0dsb2JhbERh
dGEmKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgbWF5QmVVc2VkQXNQcm90b3R5cGUoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gaXNWYWxp
ZE9mZnNldChzdHJ1Y3R1cmUoKS0+Z2V0KGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhlcml0
b3JJREtleSkpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBib29sIG1heUludGVyY2Vw
dEluZGV4ZWRBY2Nlc3NlcygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBzdHJ1Y3R1
cmUoKS0+bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCk7CisgICAgICAgIH0KKyAgICAgICAg
CiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSkgY29uc3Q7CiAg
ICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSkgY29u
c3Q7CiAKQEAgLTEzNSwxMSArMTQ2LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHVuc2ln
bmVkIGdldEFycmF5TGVuZ3RoKCkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNo
IChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJy
YXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9C
TEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAg
ICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJh
eVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lO
REVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlT
dG9yYWdlKCktPmxlbmd0aCgpOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTE1MCwxMSArMTU5LDkgQEAgbmFtZXNwYWNlIEpT
QyB7CiAgICAgICAgIHVuc2lnbmVkIGdldFZlY3Rvckxlbmd0aCgpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAg
ICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAg
ICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAg
ICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJS
QVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0
ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0xODksMTEgKzE5
Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGNhbkdldEluZGV4UXVpY2tseSh1
bnNpZ25lZCBpKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5p
bmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAg
IGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OgogICAgICAgICAgICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
LT52ZWN0b3JMZW5ndGgoKSAmJiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVjdG9y
W2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKQEAgLTIwNCw4ICsyMDksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNW
YWx1ZSBnZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkKICAgICAgICAgewogICAgICAgICAgICAg
c3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJh
eVN0b3JhZ2U6CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICAgICAgICAgIHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCkt
Pm1fdmVjdG9yW2ldLmdldCgpOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTIxNiwxMiArMjIwLDE1IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBib29sIGNhblNldEluZGV4UXVpY2tseSh1bnNpZ25lZCBpKQogICAgICAg
ICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewot
ICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoK
KyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9y
YWdlOgogICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIGkgPCBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPnZlY3Rvckxlbmd0
aCgpOworICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgor
ICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICAg
ICAgICAgIHJldHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5n
dGgoKQorICAgICAgICAgICAgICAgICAgICAmJiAhIW1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2Uo
KS0+bV92ZWN0b3JbaV07CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTIz
MSw4ICsyMzgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRJbmRleFF1aWNr
bHkoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7
Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAg
IGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJB
WV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVy
PFVua25vd24+JiB4ID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsK
ICAgICAgICAgICAgICAgICBpZiAoIXgpIHsKICAgICAgICAgICAgICAgICAgICAgQXJyYXlTdG9y
YWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwpAQCAtMjUxLDggKzI1
Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGluaXRpYWxpemVJbmRleChKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIHVuc2lnbmVkIGksIEpTVmFsdWUgdikKICAgICAgICAgewog
ICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAg
ICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgICAgICAgICAgY2FzZSBB
cnJheVdpdGhBcnJheVN0b3JhZ2U6IHsKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3Jh
Z2UgPSBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAjaWYgQ0hFQ0tfQVJSQVlfQ09OU0lT
VEVOQ1kKICAgICAgICAgICAgICAgICBBU1NFUlQoc3RvcmFnZS0+bV9pbkNvbXBhY3RJbml0aWFs
aXphdGlvbik7CkBAIC0yNzYsOCArMjgxLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZv
aWQgY29tcGxldGVJbml0aWFsaXphdGlvbih1bnNpZ25lZCBuZXdMZW5ndGgpCiAgICAgICAgIHsK
ICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAg
ICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2Ug
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9y
YWdlID0gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICAgICAgICAgIC8vIENo
ZWNrIHRoYXQgd2UgaGF2ZSBpbml0aWFsaXplZCBhcyBtZW55IHByb3BlcnRpZXMgYXMgd2UgdGhp
bmsgd2UgaGF2ZS4KICAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0oc3RvcmFnZSk7CkBAIC0y
OTgsMTEgKzMwMiw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIGluU3BhcnNlSW5k
ZXhpbmdNb2RlKCkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAg
ICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjYXNlIE5v
bkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBF
UzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5p
blNwYXJzZU1vZGUoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CkBAIC00ODcsNiArNDg5LDIyIEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICAgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5nbG9iYWxPYmplY3QoKTsKICAgICAgICAg
fQogICAgICAgICAKKyAgICAgICAgLy8gRG9lcyBldmVyeXRoaW5nIHBvc3NpYmxlIHRvIHJldHVy
biB0aGUgZ2xvYmFsIG9iamVjdC4gSWYgaXQgZW5jb3VudGVycyBhbiBvYmplY3QKKyAgICAgICAg
Ly8gdGhhdCBkb2VzIG5vdCBoYXZlIGEgZ2xvYmFsIG9iamVjdCwgaXQgcmV0dXJucyAwIGluc3Rl
YWQgKGZvciBleGFtcGxlCisgICAgICAgIC8vIEpTTm90QW5PYmplY3QpLgorICAgICAgICBKU0ds
b2JhbE9iamVjdCogdW53cmFwcGVkR2xvYmFsT2JqZWN0KCk7CisgICAgICAgIAorICAgICAgICB2
b2lkIHN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmKTsKKyAgICAgICAg
CisgICAgICAgIC8vIFRoZSByZWNlaXZlciBpcyB0aGUgcHJvdG90eXBlIGluIHRoaXMgY2FzZS4g
VGhlIGZvbGxvd2luZzoKKyAgICAgICAgLy8KKyAgICAgICAgLy8gYXNPYmplY3QoZm9vLT5zdHJ1
Y3R1cmUoKS0+c3RvcmVkUHJvdG90eXBlKCkpLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4
T25Ib2xlRm9yUHJvdG90eXBlKC4uLikKKyAgICAgICAgLy8KKyAgICAgICAgLy8gaXMgZXF1aXZh
bGVudCB0bzoKKyAgICAgICAgLy8KKyAgICAgICAgLy8gZm9vLT5hdHRlbXB0VG9JbnRlcmNlcHRQ
dXRCeUluZGV4T25Ib2xlKC4uLik7CisgICAgICAgIGJvb2wgYXR0ZW1wdFRvSW50ZXJjZXB0UHV0
QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdGhpc1Zh
bHVlLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYsIGJvb2wgc2hvdWxkVGhyb3cpOworICAgICAgICAK
ICAgICAgICAgc3RhdGljIHNpemVfdCBvZmZzZXRPZklubGluZVN0b3JhZ2UoKTsKICAgICAgICAg
CiAgICAgICAgIHN0YXRpYyBwdHJkaWZmX3QgYnV0dGVyZmx5T2Zmc2V0KCkKQEAgLTUyMiwxMCAr
NTQwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIFRvIGNyZWF0ZSBkZXJpdmVkIHR5
cGVzIHlvdSBsaWtlbHkgd2FudCBKU05vbkZpbmFsT2JqZWN0LCBiZWxvdy4KICAgICAgICAgSlNP
YmplY3QoSlNHbG9iYWxEYXRhJiwgU3RydWN0dXJlKiwgQnV0dGVyZmx5KiA9IDApOwogICAgICAg
ICAKLSAgICAgICAgdm9pZCByZXNldEluaGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0
YSkKLSAgICAgICAgewotICAgICAgICAgICAgcmVtb3ZlRGlyZWN0KGdsb2JhbERhdGEsIGdsb2Jh
bERhdGEubV9pbmhlcml0b3JJREtleSk7Ci0gICAgICAgIH0KKyAgICAgICAgdm9pZCByZXNldElu
aGVyaXRvcklEKEpTR2xvYmFsRGF0YSYpOwogICAgICAgICAKICAgICAgICAgdm9pZCB2aXNpdEJ1
dHRlcmZseShTbG90VmlzaXRvciYsIEJ1dHRlcmZseSosIHNpemVfdCBzdG9yYWdlU2l6ZSk7CiAK
QEAgLTUzMyw3ICs1NDgsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8gc3RvcmFnZS4g
VGhpcyB3aWxsIGFzc2VydCBvdGhlcndpc2UuCiAgICAgICAgIEFycmF5U3RvcmFnZSogYXJyYXlT
dG9yYWdlKCkKICAgICAgICAgewotICAgICAgICAgICAgQVNTRVJUKHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSB8IEhhc0FycmF5U3RvcmFnZSk7CisgICAgICAgICAgICBBU1NFUlQoaGFzQXJy
YXlTdG9yYWdlKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkpOwogICAgICAgICAgICAgcmV0
dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgfQogICAgICAgICAKQEAg
LTU0Miw4ICs1NTcsNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBh
cnJheVN0b3JhZ2VPck51bGwoKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJh
eVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAg
ICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC01NTgsMTIgKzU3MiwxMCBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBlbnN1cmVBcnJheVN0b3JhZ2UoSlNHbG9i
YWxEYXRhJiBnbG9iYWxEYXRhKQogICAgICAgICB7CiAgICAgICAgICAgICBzd2l0Y2ggKHN0cnVj
dHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBBcnJheVdpdGhBcnJh
eVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAg
ICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5
Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgICAgICAgICByZXR1cm4gY3JlYXRlSW5pdGlhbEFycmF5U3RvcmFnZShnbG9iYWxEYXRhKTsK
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CkBAIC01OTIsNiArNjA0LDEw
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGRlYWxsb2NhdGVTcGFyc2VJbmRleE1h
cCgpOwogICAgICAgICBib29sIGRlZmluZU93bkluZGV4ZWRQcm9wZXJ0eShFeGVjU3RhdGUqLCB1
bnNpZ25lZCwgUHJvcGVydHlEZXNjcmlwdG9yJiwgYm9vbCB0aHJvd0V4Y2VwdGlvbik7CiAgICAg
ICAgIFNwYXJzZUFycmF5VmFsdWVNYXAqIGFsbG9jYXRlU3BhcnNlSW5kZXhNYXAoSlNHbG9iYWxE
YXRhJik7CisgICAgICAgIAorICAgICAgICB2b2lkIG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNj
ZXNzb3JzKEpTR2xvYmFsRGF0YSYpOworICAgICAgICAKKyAgICAgICAgYm9vbCBhdHRlbXB0VG9J
bnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIGluZGV4LCBKU1Zh
bHVlLCBib29sIHNob3VsZFRocm93KTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBj
bGFzcyBMTEludE9mZnNldHNFeHRyYWN0b3I7CkBAIC04MjQsMjIgKzg0MCw2IEBAIGlubGluZSBK
U1ZhbHVlIEpTT2JqZWN0Ojpwcm90b3R5cGUoKSBjb24KICAgICByZXR1cm4gc3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZSgpOwogfQogCi1pbmxpbmUgdm9pZCBKU09iamVjdDo6c2V0UHJvdG90
eXBlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCi17Ci0gICAg
QVNTRVJUKHByb3RvdHlwZSk7Ci0gICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIFN0cnVjdHVy
ZTo6Y2hhbmdlUHJvdG90eXBlVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgcHJv
dG90eXBlKSk7Ci19Ci0KLWlubGluZSBTdHJ1Y3R1cmUqIEpTT2JqZWN0Ojppbmhlcml0b3JJRChK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCi17Ci0gICAgaWYgKFdyaXRlQmFycmllckJhc2U8VW5r
bm93bj4qIGxvY2F0aW9uID0gZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0
YS5tX2luaGVyaXRvcklES2V5KSkgewotICAgICAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklEID0g
anNDYXN0PFN0cnVjdHVyZSo+KGxvY2F0aW9uLT5nZXQoKSk7Ci0gICAgICAgIEFTU0VSVChpbmhl
cml0b3JJRC0+aXNFbXB0eSgpKTsKLSAgICAgICAgcmV0dXJuIGluaGVyaXRvcklEOwotICAgIH0K
LSAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFsRGF0YSk7Ci19Ci0KIGlubGluZSBi
b29sIEpTQ2VsbDo6aW5oZXJpdHMoY29uc3QgQ2xhc3NJbmZvKiBpbmZvKSBjb25zdAogewogICAg
IHJldHVybiBjbGFzc0luZm8oKS0+aXNTdWJDbGFzc09mKGluZm8pOwpAQCAtMTE5MCw4ICsxMTkw
LDcgQEAgaW5saW5lIHZvaWQgSlNWYWx1ZTo6cHV0KEV4ZWNTdGF0ZSogZXhlYwogaW5saW5lIHZv
aWQgSlNWYWx1ZTo6cHV0QnlJbmRleChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5
TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKIHsKICAgICBpZiAoVU5MSUtF
TFkoIWlzQ2VsbCgpKSkgewotICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChzaG91bGRUaHJv
dyk7Ci0gICAgICAgIHB1dFRvUHJpbWl0aXZlKGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywg
cHJvcGVydHlOYW1lKSwgdmFsdWUsIHNsb3QpOworICAgICAgICBwdXRUb1ByaW1pdGl2ZUJ5SW5k
ZXgoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogICAgIGFzQ2VsbCgpLT5tZXRob2RUYWJsZSgpLT5wdXRCeUluZGV4KGFzQ2Vs
bCgpLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmNwcAkocmV2aXNpb24gMTI4NjkxKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNyArMSw3IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAxIEhhcnJp
IFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAxIFBldGVyIEtl
bGx5IChwbWtAcG9zdC5jb20pCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA3LCAyMDA4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIw
MDcsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKQEAgLTExMyw2ICsxMTMsMTIgQEAgdm9pZCBKU1ZhbHVlOjpwdXRUb1ByaW1p
dGl2ZShFeGVjU3RhdGUqIAogewogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSA9IGV4ZWMt
Pmdsb2JhbERhdGEoKTsKIAorICAgIHVuc2lnbmVkIGluZGV4ID0gcHJvcGVydHlOYW1lLmFzSW5k
ZXgoKTsKKyAgICBpZiAoaW5kZXggIT0gUHJvcGVydHlOYW1lOjpOb3RBbkluZGV4KSB7CisgICAg
ICAgIHB1dFRvUHJpbWl0aXZlQnlJbmRleChleGVjLCBpbmRleCwgdmFsdWUsIHNsb3QuaXNTdHJp
Y3RNb2RlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgLy8gQ2hlY2sgaWYgdGhl
cmUgYXJlIGFueSBzZXR0ZXJzIG9yIGdldHRlcnMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogICAg
IEpTT2JqZWN0KiBvYmogPSBzeW50aGVzaXplUHJvdG90eXBlKGV4ZWMpOwogICAgIEpTVmFsdWUg
cHJvdG90eXBlOwpAQCAtMTcyLDYgKzE3OCwyMSBAQCB2b2lkIEpTVmFsdWU6OnB1dFRvUHJpbWl0
aXZlKEV4ZWNTdGF0ZSogCiAgICAgcmV0dXJuOwogfQogCit2b2lkIEpTVmFsdWU6OnB1dFRvUHJp
bWl0aXZlQnlJbmRleChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRUaHJvdykKK3sKKyAgICBpZiAocHJvcGVydHlOYW1lID4g
TUFYX0FSUkFZX0lOREVYKSB7CisgICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNob3VsZFRo
cm93KTsKKyAgICAgICAgcHV0VG9QcmltaXRpdmUoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVj
LCBwcm9wZXJ0eU5hbWUpLCB2YWx1ZSwgc2xvdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cisg
ICAgCisgICAgaWYgKHN5bnRoZXNpemVQcm90b3R5cGUoZXhlYyktPmF0dGVtcHRUb0ludGVyY2Vw
dFB1dEJ5SW5kZXhPbkhvbGVGb3JQcm90b3R5cGUoZXhlYywgKnRoaXMsIHByb3BlcnR5TmFtZSwg
dmFsdWUsIHNob3VsZFRocm93KSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGlmIChzaG91
bGRUaHJvdykKKyAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5
UHJvcGVydHlXcml0ZUVycm9yKTsKK30KKwogY2hhciogSlNWYWx1ZTo6ZGVzY3JpcHRpb24oKSBj
b25zdAogewogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qgc2l6ZSA9IDEyODsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHJldmlzaW9uIDEyODY5MSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw3ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEgSGFycmkgUG9ydGVu
IChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEgUGV0ZXIgS2VsbHkgKHBt
a0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIw
MDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAo
QykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQwLDYgKzI0MCw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBKU1ZhbHVlIGdldChFeGVjU3RhdGUqLCB1bnNp
Z25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYpIGNvbnN0OwogICAgICAgICB2b2lkIHB1
dChFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwog
ICAgICAgICB2b2lkIHB1dFRvUHJpbWl0aXZlKEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgSlNW
YWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CisgICAgICAgIHZvaWQgcHV0VG9QcmltaXRpdmVCeUlu
ZGV4KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgYm9vbCBzaG91
bGRUaHJvdyk7CiAgICAgICAgIHZvaWQgcHV0QnlJbmRleChFeGVjU3RhdGUqLCB1bnNpZ25lZCBw
cm9wZXJ0eU5hbWUsIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpOwogCiAgICAgICAgIEpTT2Jq
ZWN0KiB0b1RoaXNPYmplY3QoRXhlY1N0YXRlKikgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9OdW1iZXJPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAJKHJldmlzaW9uIDEyODY5MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlck9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDYgKzQ1LDcgQEAgdm9pZCBOdW1iZXJPYmplY3Q6OmZpbmlzaENyZWF0
aW9uKEpTR2xvYgogCiBOdW1iZXJPYmplY3QqIGNvbnN0cnVjdE51bWJlcihFeGVjU3RhdGUqIGV4
ZWMsIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgbnVtYmVyKQogeworICAg
IGRhdGFMb2coIkNyZWF0aW5nIG51bWJlciBvYmplY3QuXG4iKTsKICAgICBOdW1iZXJPYmplY3Qq
IG9iamVjdCA9IE51bWJlck9iamVjdDo6Y3JlYXRlKGV4ZWMtPmdsb2JhbERhdGEoKSwgZ2xvYmFs
T2JqZWN0LT5udW1iZXJPYmplY3RTdHJ1Y3R1cmUoKSk7CiAgICAgb2JqZWN0LT5zZXRJbnRlcm5h
bFZhbHVlKGV4ZWMtPmdsb2JhbERhdGEoKSwgbnVtYmVyKTsKICAgICByZXR1cm4gb2JqZWN0OwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5
cGUuY3BwCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIHZv
aWQgT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihKU0cKIHsKICAgICBCYXNlOjpmaW5p
c2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOwor
ICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0KIAogYm9vbCBPYmplY3RQ
cm90b3R5cGU6OmdldE93blByb3BlcnR5U2xvdChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90ICZzbG90KQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1
ZU1hcC5jcHAJKHJldmlzaW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OSwzMyArOTks
OCBAQCB2b2lkIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dEVudHJ5KEV4ZWNTCiAgICAgICAgICAg
ICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJy
b3IpOwogICAgICAgICByZXR1cm47CiAgICAgfQotCi0gICAgaWYgKCEoZW50cnkuYXR0cmlidXRl
cyAmIEFjY2Vzc29yKSkgewotICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5
KSB7Ci0gICAgICAgICAgICBpZiAoc2hvdWxkVGhyb3cpCi0gICAgICAgICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIGVudHJ5LnNldChleGVjLT5n
bG9iYWxEYXRhKCksIHRoaXMsIHZhbHVlKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IEpTVmFsdWUgYWNjZXNzb3IgPSBlbnRyeS5TcGFyc2VBcnJheUVudHJ5OjpCYXNlOjpnZXQoKTsK
LSAgICBBU1NFUlQoYWNjZXNzb3IuaXNHZXR0ZXJTZXR0ZXIoKSk7Ci0gICAgSlNPYmplY3QqIHNl
dHRlciA9IGFzR2V0dGVyU2V0dGVyKGFjY2Vzc29yKS0+c2V0dGVyKCk7CiAgICAgCi0gICAgaWYg
KCFzZXR0ZXIpIHsKLSAgICAgICAgaWYgKHNob3VsZFRocm93KQotICAgICAgICAgICAgdGhyb3dU
eXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENhbGxEYXRhIGNhbGxEYXRhOwotICAgIENhbGxU
eXBlIGNhbGxUeXBlID0gc2V0dGVyLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShzZXR0ZXIs
IGNhbGxEYXRhKTsKLSAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3MuYXBw
ZW5kKHZhbHVlKTsKLSAgICBjYWxsKGV4ZWMsIHNldHRlciwgY2FsbFR5cGUsIGNhbGxEYXRhLCBh
cnJheSwgYXJncyk7CisgICAgZW50cnkucHV0KGV4ZWMsIGFycmF5LCB0aGlzLCB2YWx1ZSwgc2hv
dWxkVGhyb3cpOwogfQogCiBib29sIFNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVj
U3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBhcnJheSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwg
dW5zaWduZWQgYXR0cmlidXRlcywgUHV0RGlyZWN0SW5kZXhNb2RlIG1vZGUpCkBAIC0xODcsNiAr
MTYyLDM2IEBAIEpTVmFsdWUgU3BhcnNlQXJyYXlFbnRyeTo6Z2V0KEV4ZWNTdGF0ZSoKICAgICBy
ZXR1cm4gY2FsbChleGVjLCBnZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJyYXksIGV4ZWMt
PmVtcHR5TGlzdCgpKTsKIH0KIAordm9pZCBTcGFyc2VBcnJheUVudHJ5OjpwdXQoRXhlY1N0YXRl
KiBleGVjLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwLCBKU1Zh
bHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAgIGlmICghKGF0dHJpYnV0ZXMgJiBB
Y2Nlc3NvcikpIHsKKyAgICAgICAgaWYgKGF0dHJpYnV0ZXMgJiBSZWFkT25seSkgeworICAgICAg
ICAgICAgaWYgKHNob3VsZFRocm93KQorICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4
ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBzZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCBtYXAs
IHZhbHVlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEpTVmFsdWUgYWNjZXNzb3Ig
PSBCYXNlOjpnZXQoKTsKKyAgICBBU1NFUlQoYWNjZXNzb3IuaXNHZXR0ZXJTZXR0ZXIoKSk7Cisg
ICAgSlNPYmplY3QqIHNldHRlciA9IGFzR2V0dGVyU2V0dGVyKGFjY2Vzc29yKS0+c2V0dGVyKCk7
CisgICAgCisgICAgaWYgKCFzZXR0ZXIpIHsKKyAgICAgICAgaWYgKHNob3VsZFRocm93KQorICAg
ICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlX
cml0ZUVycm9yKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENhbGxEYXRhIGNhbGxE
YXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBlID0gc2V0dGVyLT5tZXRob2RUYWJsZSgpLT5nZXRD
YWxsRGF0YShzZXR0ZXIsIGNhbGxEYXRhKTsKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdz
OworICAgIGFyZ3MuYXBwZW5kKHZhbHVlKTsKKyAgICBjYWxsKGV4ZWMsIHNldHRlciwgY2FsbFR5
cGUsIGNhbGxEYXRhLCB0aGlzVmFsdWUsIGFyZ3MpOworfQorCiBKU1ZhbHVlIFNwYXJzZUFycmF5
RW50cnk6OmdldE5vblNwYXJzZU1vZGUoKSBjb25zdAogewogICAgIEFTU0VSVCghYXR0cmlidXRl
cyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVl
TWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNl
QXJyYXlWYWx1ZU1hcC5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYg
KzM2LDggQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKK2NsYXNzIFNwYXJzZUFycmF5VmFsdWVNYXA7
CisKIHN0cnVjdCBTcGFyc2VBcnJheUVudHJ5IDogcHVibGljIFdyaXRlQmFycmllcjxVbmtub3du
PiB7CiAgICAgdHlwZWRlZiBXcml0ZUJhcnJpZXI8VW5rbm93bj4gQmFzZTsKIApAQCAtNDQsNiAr
NDYsNyBAQCBzdHJ1Y3QgU3BhcnNlQXJyYXlFbnRyeSA6IHB1YmxpYyBXcml0ZUJhCiAgICAgSlNW
YWx1ZSBnZXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqKSBjb25zdDsKICAgICB2b2lkIGdldChQcm9w
ZXJ0eVNsb3QmKSBjb25zdDsKICAgICB2b2lkIGdldChQcm9wZXJ0eURlc2NyaXB0b3ImKSBjb25z
dDsKKyAgICB2b2lkIHB1dChFeGVjU3RhdGUqLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgU3BhcnNlQXJy
YXlWYWx1ZU1hcCosIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpOwogICAgIEpTVmFsdWUgZ2V0
Tm9uU3BhcnNlTW9kZSgpIGNvbnN0OwogCiAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24g
MTI4NjkxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzA5LDYgKzMwOSwzMCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0dXJuIDA7CiB9CiAKK2Jvb2wgU3RydWN0dXJlOjph
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAg
ICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3VycmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYg
KGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIAorICAgICAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQt
PnN0b3JlZFByb3RvdHlwZSgpOworICAgICAgICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2Jq
ZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgpOworICAgIH0KK30KKworTm9uUHJvcGVydHlUcmFu
c2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVkSW5kZXhpbmdUcmFuc2l0aW9uKCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIWhhc0luZGV4ZWRQcm9wZXJ0aWVzKGluZGV4aW5nVHlwZSgpKSk7CisgICAg
CisgICAgaWYgKGFueU9iamVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8
fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICByZXR1cm4gQWxs
b2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIAorICAgIHJldHVybiBBbGxvY2F0ZUFycmF5
U3RvcmFnZTsKK30KKwogU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlv
bihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBKU0NlbGwqIHNwZWNpZmlj
VmFsdWUsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQpCiB7CiAgICAgLy8gSWYgd2UgaGF2ZSBhIHNw
ZWNpZmljIGZ1bmN0aW9uLCB3ZSBtYXkgaGF2ZSBnb3QgdG8gdGhpcyBwb2ludCBpZiB0aGVyZSBp
cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlz
aW9uIDEyODY5MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNyArMTQ0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2luZGV4
aW5nVHlwZSAmIEFsbEFycmF5VHlwZXM7IH0KICAgICAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZUluY2x1ZGluZ0hpc3RvcnkoKSBjb25zdCB7IHJldHVybiBtX2luZGV4aW5nVHlwZTsgfQot
CisgICAgICAgIAorICAgICAgICBib29sIG1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNv
bnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRp
bmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhlZEFjY2Vzc29ycyk7CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIGJvb2wgYW55T2JqZWN0SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nl
c3NlcygpIGNvbnN0OworICAgICAgICAKKyAgICAgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1
Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigpIGNvbnN0OworICAgICAgICAKICAgICAgICAgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0
LmdldCgpOyB9CiAgICAgICAgIHZvaWQgc2V0R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5z
ZXQoZ2xvYmFsRGF0YSwgdGhpcywgZ2xvYmFsT2JqZWN0KTsgfQogICAgICAgICAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5z
aXRpb25UYWJsZS5oCShyZXZpc2lvbiAxMjg2OTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMs
NyArNDMsMTAgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIEZpcnN0SW50ZXJuYWxBdHRyaQogLy8g
U3VwcG9ydCBmb3IgYXR0cmlidXRlcyB1c2VkIHRvIGluZGljYXRlIHRyYW5zaXRpb25zIG5vdCBy
ZWxhdGVkIHRvIHByb3BlcnRpZXMuCiAvLyBJZiBhbnkgb2YgdGhlc2UgYXJlIHVzZWQsIHRoZSBz
dHJpbmcgcG9ydGlvbiBvZiB0aGUga2V5IHNob3VsZCBiZSAwLgogZW51bSBOb25Qcm9wZXJ0eVRy
YW5zaXRpb24gewotICAgIEFsbG9jYXRlQXJyYXlTdG9yYWdlCisgICAgQWxsb2NhdGVBcnJheVN0
b3JhZ2UsCisgICAgQWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlLAorICAgIFN3aXRjaFRvU2xv
d1B1dEFycmF5U3RvcmFnZSwKKyAgICBBZGRJbmRleGVkQWNjZXNzb3JzCiB9OwogCiBpbmxpbmUg
dW5zaWduZWQgdG9BdHRyaWJ1dGVzKE5vblByb3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpA
QCAtNTYsNiArNTksMTMgQEAgaW5saW5lIEluZGV4aW5nVHlwZSBuZXdJbmRleGluZ1R5cGUoSW5k
ZQogICAgIHN3aXRjaCAodHJhbnNpdGlvbikgewogICAgIGNhc2UgQWxsb2NhdGVBcnJheVN0b3Jh
Z2U6CiAgICAgICAgIHJldHVybiBvbGRUeXBlIHwgSGFzQXJyYXlTdG9yYWdlOworICAgIGNhc2Ug
QWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gb2xkVHlwZSB8IEhh
c1Nsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAgY2FzZSBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3Jh
Z2U6CisgICAgICAgIEFTU0VSVChvbGRUeXBlICYgSGFzQXJyYXlTdG9yYWdlKTsKKyAgICAgICAg
cmV0dXJuIChvbGRUeXBlICYgfkhhc0FycmF5U3RvcmFnZSkgfCBIYXNTbG93UHV0QXJyYXlTdG9y
YWdlOworICAgIGNhc2UgQWRkSW5kZXhlZEFjY2Vzc29yczoKKyAgICAgICAgcmV0dXJuIG9sZFR5
cGUgfCBNYXlIYXZlSW5kZXhlZEFjY2Vzc29yczsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIG9sZFR5cGU7CkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMjg3MTIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzMiBAQAorMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgorCisgICAgICAgIElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBp
bnN0YW5jZXMgaGF2ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91
bGQgaGF2ZSBhIGJhZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJlbW92ZWQgZmFpbGluZyBleHBlY3RhdGlvbiBmb3IgcHJpbWl0aXZlLXByb3Bl
cnR5LWFjY2Vzcy1lZGdlLWNhc2VzLCBhbmQKKyAgICAgICAgYWRkZWQgbW9yZSB0ZXN0cyB0byBj
b3ZlciB0aGUgbnVtZXJpY2FsLXNldHRlci1vbi1wcm90b3R5cGUgY2FzZXMuCisKKyAgICAgICAg
KiBmYXN0L2pzL2FycmF5LWJhZC10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9qcy9hcnJheS1iYWQtdGltZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2Fy
cmF5LXNsb3ctcHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJh
eS1zbG93LXB1dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2pzYy10ZXN0LWxpc3Q6
CisgICAgICAgICogZmFzdC9qcy9vYmplY3QtYmFkLXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1iYWQtdGltZS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2pzL29iamVjdC1zbG93LXB1dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvanMvb2JqZWN0LXNsb3ctcHV0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMv
c2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1lLmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pz
L3NjcmlwdC10ZXN0cy9hcnJheS1zbG93LXB1dC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgor
ICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1iYWQtdGltZS5qczogQWRkZWQu
CisgICAgICAgIChDb25zKToKKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qt
c2xvdy1wdXQuanM6IEFkZGVkLgorICAgICAgICAoQ29ucyk6CisgICAgICAgIChmb28pOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pzL3ByaW1pdGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRn
ZS1jYXNlcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMTItMDktMTYgIENocmlzdG9waGUg
RHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBTa2lw
IGZhc3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4t
cmVsb2FkLWluLXBsYWNlLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFk
LXRpbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvYXJy
YXktYmFkLXRpbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9qcy9hcnJheS1iYWQtdGltZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTA2MSBAQAorVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBvbiB0aGUgQXJyYXkgcHJvdG90
eXBlIHdvcmtzIGV2ZW4gaWYgaXQgaXMgZG9uZSBhZnRlciBhcnJheXMgYXJlIGFsbG9jYXRlZC4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK0hlbmNlZm9ydGggSSB3aWxsIGhhdmUg
YSBiYWQgdGltZS4KK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitQQVNTIG91Y2hlcyBpcyA1MAorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2pzL2FycmF5LWJhZC10aW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL2FycmF5LWJhZC10aW1lLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcnJheS1i
YWQtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2pzL2FycmF5LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc2xvdy1wdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIxMCBAQAorVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBvbiB0aGUg
QXJyYXkgcHJvdG90eXBlIHdvcmtzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIs
LDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0Igor
T3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitQQVNTIG91Y2hlcyBpcyAxMDAK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zbG93LXB1dC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zbG93LXB1dC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
YXJyYXktc2xvdy1wdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9qc2MtdGVzdC1saXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
anMvanNjLXRlc3QtbGlzdAkocmV2aXNpb24gMTI4NjkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9qc2MtdGVzdC1saXN0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQCBmYXN0L2pzL2Fk
ZC1yZWNvdmVyeQogZmFzdC9qcy9hcHBseS12YXJhcmdzCiBmYXN0L2pzL2FyZ3VtZW50cy1iYWQt
aW5kZXgKIGZhc3QvanMvYXJndW1lbnRzCitmYXN0L2pzL2FycmF5LWJhZC10aW1lCiBmYXN0L2pz
L2FycmF5LWNvbnN0cnVjdG9yLWhvc3QtY2FsbAogZmFzdC9qcy9hcnJheS1kZWZpbmVPd25Qcm9w
ZXJ0eQogZmFzdC9qcy9hcnJheS1lbnVtZXJhdG9ycy1mdW5jdGlvbnMKQEAgLTE5LDYgKzIwLDcg
QEAgZmFzdC9qcy9hcnJheS1wcm90by1mdW5jLXByb3BlcnR5LWdldHRlcgogZmFzdC9qcy9hcnJh
eS1yZWR1Y2UKIGZhc3QvanMvYXJyYXktcmVkdWNlUmlnaHQKIGZhc3QvanMvYXJyYXktcmVzZXQt
bGFyZ2UtaW5kZXgKK2Zhc3QvanMvYXJyYXktc2xvdy1wdXQKIGZhc3QvanMvYXJyYXktc29ydC1u
dW1lcmljQ29tcGFyZQogZmFzdC9qcy9hcnJheS1zb3J0LXJlZW50cmFuY2UKIGZhc3QvanMvYXJy
YXktc3BsaWNlCkBAIC0yMjksOCArMjMxLDEwIEBAIGZhc3QvanMvT2JqZWN0LWRlZmluZVByb3Bl
cnRpZXMKIGZhc3QvanMvT2JqZWN0LWRlZmluZVByb3BlcnR5CiBmYXN0L2pzL09iamVjdC1nZXRP
d25Qcm9wZXJ0eU5hbWVzCiBmYXN0L2pzL09iamVjdC1rZXlzCitmYXN0L2pzL29iamVjdC1iYWQt
dGltZQogZmFzdC9qcy9vYmplY3QtbGl0ZXJhbC1kaXJlY3QtcHV0CiBmYXN0L2pzL29iamVjdC1s
aXRlcmFsLXN5bnRheAorZmFzdC9qcy9vYmplY3Qtc2xvdy1wdXQKIGZhc3QvanMvb3JkZXItb2Yt
b3BlcmF0aW9ucwogZmFzdC9qcy9wYXJzZS1iYWNrc2xhc2gtYmVmb3JlLW5ld2xpbmUKIGZhc3Qv
anMvcGFyc2UtbmFuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1iYWQtdGltZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtYmFk
LXRpbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9v
YmplY3QtYmFkLXRpbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNjEg
QEAKK1Rlc3RzIHRoYXQgZGVmaW5pbmcgYSBzZXR0ZXIgb24gdGhlIHByb3RvdHlwZSBvZiBhbiBv
YmplY3QgdXNlZCBmb3IgaW5kZXhlZCBzdG9yYWdlIHdvcmtzIGV2ZW4gaWYgaXQgaXMgZG9uZSBh
ZnRlciBvYmplY3RzIHdpdGggaW5kZXhlZCBzdG9yYWdlIGFyZSBhbGxvY2F0ZWQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitIZW5jZWZvcnRoIEkgd2lsbCBoYXZlIGEgYmFkIHRp
bWUuCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorUEFTUyBvdWNoZXMgaXMgNTAKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL29iamVjdC1iYWQtdGltZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvanMvb2JqZWN0LWJhZC10aW1lLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2pzL29iamVjdC1iYWQtdGltZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb2JqZWN0LWJhZC10
aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMv
b2JqZWN0LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2pzL29iamVjdC1zbG93LXB1dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMjEwIEBACitUZXN0cyB0aGF0IGRlZmluaW5nIGEgc2V0dGVyIG9uIHRoZSBw
cm90b3R5cGUgb2YgYW4gb2JqZWN0IHVzZWQgZm9yIGluZGV4ZWQgc3RvcmFnZSB3b3Jrcy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQor
UEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMg
IjAsMSwyLCw0IgorUEFTUyBvdWNoZXMgaXMgMTAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmpl
Y3Qtc2xvdy1wdXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVj
dC1zbG93LXB1dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmpl
Y3Qtc2xvdy1wdXQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL29iamVjdC1zbG93LXB1dC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0
cy9hcnJheS1iYWQtdGltZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3Nj
cmlwdC10ZXN0cy9hcnJheS1iYWQtdGltZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1lLmpzCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDMyIEBACitkZXNjcmlwdGlvbigKKyJUZXN0cyB0aGF0IGRlZmluaW5nIGEgc2V0dGVy
IG9uIHRoZSBBcnJheSBwcm90b3R5cGUgd29ya3MgZXZlbiBpZiBpdCBpcyBkb25lIGFmdGVyIGFy
cmF5cyBhcmUgYWxsb2NhdGVkLiIKKyk7CisKK3ZhciBvdWNoZXMgPSAwOworCitmdW5jdGlvbiBm
b28oaGF2ZUFCYWRUaW1lKSB7CisgICAgdmFyIHJlc3VsdCA9IFtdOworICAgIHJlc3VsdC5sZW5n
dGggPSA1OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKSB7Cisg
ICAgICAgIGlmIChpID09IGhhdmVBQmFkVGltZSkgeworICAgICAgICAgICAgZGVidWcoIkhlbmNl
Zm9ydGggSSB3aWxsIGhhdmUgYSBiYWQgdGltZS4iKTsKKyAgICAgICAgICAgIEFycmF5LnByb3Rv
dHlwZS5fX2RlZmluZVNldHRlcl9fKCIzIiwgZnVuY3Rpb24oKSB7IGRlYnVnKCJPdWNoISIpOyBv
dWNoZXMrKzsgfSk7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0W2ldID0gaTsKKyAgICB9Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKwordmFyIGV4cGVjdGVkID0gIlwiMCwxLDIsMyw0XCIiOwor
Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgIHZhciBoYXZlQUJhZFRpbWU7
CisgICAgaWYgKGkgPT0gOTUwKSB7CisgICAgICAgIGhhdmVBQmFkVGltZSA9IDI7CisgICAgICAg
IGV4cGVjdGVkID0gIlwiMCwxLDIsLDRcIiI7CisgICAgfSBlbHNlCisgICAgICAgIGhhdmVBQmFk
VGltZSA9IC0xOworICAgIHNob3VsZEJlKCJcIiIgKyBmb28oaGF2ZUFCYWRUaW1lKS5qb2luKCIs
IikgKyAiXCIiLCBleHBlY3RlZCk7Cit9CisKK3Nob3VsZEJlKCJvdWNoZXMiLCAiNTAiKTsKSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LXNsb3ctcHV0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LXNsb3ct
cHV0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMv
YXJyYXktc2xvdy1wdXQuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKK2Rlc2NyaXB0
aW9uKAorIlRlc3RzIHRoYXQgZGVmaW5pbmcgYSBzZXR0ZXIgb24gdGhlIEFycmF5IHByb3RvdHlw
ZSB3b3Jrcy4iCispOworCit2YXIgb3VjaGVzID0gMDsKK0FycmF5LnByb3RvdHlwZS5fX2RlZmlu
ZVNldHRlcl9fKCIzIiwgZnVuY3Rpb24oKSB7IGRlYnVnKCJPdWNoISIpOyBvdWNoZXMrKzsgfSk7
CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gW107CisgICAgcmVzdWx0Lmxl
bmd0aCA9IDU7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpCisg
ICAgICAgIHJlc3VsdFtpXSA9IGk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9yICh2YXIg
aSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICBzaG91bGRCZSgiXCIiICsgZm9vKCkuam9pbigiLCIp
ICsgIlwiIiwgIlwiMCwxLDIsLDRcIiIpOworCitzaG91bGRCZSgib3VjaGVzIiwgIjEwMCIpOwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LWJhZC10aW1lLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1i
YWQtdGltZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL29iamVjdC1iYWQtdGltZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNSBAQAorZGVz
Y3JpcHRpb24oCisiVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBvbiB0aGUgcHJvdG90eXBl
IG9mIGFuIG9iamVjdCB1c2VkIGZvciBpbmRleGVkIHN0b3JhZ2Ugd29ya3MgZXZlbiBpZiBpdCBp
cyBkb25lIGFmdGVyIG9iamVjdHMgd2l0aCBpbmRleGVkIHN0b3JhZ2UgYXJlIGFsbG9jYXRlZC4i
CispOworCitmdW5jdGlvbiBDb25zKCkgeworfQorCit2YXIgb3VjaGVzID0gMDsKKworZnVuY3Rp
b24gZm9vKGhhdmVBQmFkVGltZSkgeworICAgIHZhciByZXN1bHQgPSBuZXcgQ29ucygpOworICAg
IHJlc3VsdC5sZW5ndGggPSA1OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGlmIChpID09IGhhdmVBQmFkVGltZSkgeworICAgICAgICAgICAg
ZGVidWcoIkhlbmNlZm9ydGggSSB3aWxsIGhhdmUgYSBiYWQgdGltZS4iKTsKKyAgICAgICAgICAg
IENvbnMucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18oIjMiLCBmdW5jdGlvbigpIHsgZGVidWco
Ik91Y2ghIik7IG91Y2hlcysrOyB9KTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHRbaV0gPSBp
OworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2YXIgZXhwZWN0ZWQgPSAiXCIwLDEs
MiwzLDRcIiI7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7CisgICAgdmFyIGhh
dmVBQmFkVGltZTsKKyAgICBpZiAoaSA9PSA5NTApIHsKKyAgICAgICAgaGF2ZUFCYWRUaW1lID0g
MjsKKyAgICAgICAgZXhwZWN0ZWQgPSAiXCIwLDEsMiwsNFwiIjsKKyAgICB9IGVsc2UKKyAgICAg
ICAgaGF2ZUFCYWRUaW1lID0gLTE7CisgICAgc2hvdWxkQmUoIlwiIiArIEFycmF5LnByb3RvdHlw
ZS5qb2luLmFwcGx5KGZvbyhoYXZlQUJhZFRpbWUpLCBbIiwiXSkgKyAiXCIiLCBleHBlY3RlZCk7
Cit9CisKK3Nob3VsZEJlKCJvdWNoZXMiLCAiNTAiKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
anMvc2NyaXB0LXRlc3RzL29iamVjdC1zbG93LXB1dC5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qtc2xvdy1wdXQuanMJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qtc2xvdy1wdXQuanMJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKK2Rlc2NyaXB0aW9uKAorIlRlc3RzIHRoYXQg
ZGVmaW5pbmcgYSBzZXR0ZXIgb24gdGhlIHByb3RvdHlwZSBvZiBhbiBvYmplY3QgdXNlZCBmb3Ig
aW5kZXhlZCBzdG9yYWdlIHdvcmtzLiIKKyk7CisKK2Z1bmN0aW9uIENvbnMoKSB7Cit9CisKK3Zh
ciBvdWNoZXMgPSAwOworQ29ucy5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXygiMyIsIGZ1bmN0
aW9uKCkgeyBkZWJ1ZygiT3VjaCEiKTsgb3VjaGVzKys7IH0pOworCitmdW5jdGlvbiBmb28oKSB7
CisgICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zKCk7CisgICAgcmVzdWx0Lmxlbmd0aCA9IDU7Cisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpCisgICAgICAgIHJlc3Vs
dFtpXSA9IGk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAx
MDA7ICsraSkKKyAgICBzaG91bGRCZSgiXCIiICsgQXJyYXkucHJvdG90eXBlLmpvaW4uYXBwbHko
Zm9vKCksIFsiLCJdKSArICJcIiIsICJcIjAsMSwyLCw0XCIiKTsKKworc2hvdWxkQmUoIm91Y2hl
cyIsICIxMDAiKTsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2pzL3ByaW1p
dGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1jYXNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFj
Y2Vzcy1lZGdlLWNhc2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTI4NjkxKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdl
LWNhc2VzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1OCArMCwwIEBACi1UaGlz
IHBhZ2UgdGVzdHMgZm9yIGFzc2VydGlvbiBmYWlsdXJlcyBpbiBlZGdlIGNhc2VzIG9mIHByb3Bl
cnR5IGxvb2t1cCBvbiBwcmltaXRpdmUgdmFsdWVzLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCi0KLQotUEFTUyBjaGVja0dldCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tHZXQo
J2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrR2V0KHRydWUsIEJvb2xlYW4pIGlz
IHRydWUKLVBBU1MgY2hlY2tTZXQoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrU2V0KCdo
ZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja1NldCh0cnVlLCBCb29sZWFuKSBpcyB0
cnVlCi1QQVNTIGNoZWNrR2V0U3RyaWN0KDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja0dl
dFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tHZXRTdHJpY3QodHJ1
ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja1NldFN0cmljdCgxLCBOdW1iZXIpIGlzIHRy
dWUKLVBBU1MgY2hlY2tTZXRTdHJpY3QoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNo
ZWNrU2V0U3RyaWN0KHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hlY2tSZWFkKDEsIE51
bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja1JlYWQoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1Q
QVNTIGNoZWNrUmVhZCh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNTIGNoZWNrV3JpdGUoMSwg
TnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrV3JpdGUoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVl
Ci1QQVNTIGNoZWNrV3JpdGUodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja1JlYWRT
dHJpY3QoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrUmVhZFN0cmljdCgnaGVsbG8nLCBT
dHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tSZWFkU3RyaWN0KHRydWUsIEJvb2xlYW4pIGlzIHRy
dWUKLVBBU1MgY2hlY2tXcml0ZVN0cmljdCgxLCBOdW1iZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBl
RXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuLgotUEFTUyBj
aGVja1dyaXRlU3RyaWN0KCdoZWxsbycsIFN0cmluZykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNr
V3JpdGVTdHJpY3QodHJ1ZSwgQm9vbGVhbikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0
ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNrTnVtZXJp
Y0dldCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmljR2V0KCdoZWxsbycsIFN0
cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNHZXQodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1
ZQotRkFJTCBjaGVja051bWVyaWNTZXQoMSwgTnVtYmVyKSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZh
bHNlLgotRkFJTCBjaGVja051bWVyaWNTZXQoJ2hlbGxvJywgU3RyaW5nKSBzaG91bGQgYmUgdHJ1
ZS4gV2FzIGZhbHNlLgotRkFJTCBjaGVja051bWVyaWNTZXQodHJ1ZSwgQm9vbGVhbikgc2hvdWxk
IGJlIHRydWUuIFdhcyBmYWxzZS4KLVBBU1MgY2hlY2tOdW1lcmljR2V0U3RyaWN0KDEsIE51bWJl
cikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNHZXRTdHJpY3QoJ2hlbGxvJywgU3RyaW5nKSBp
cyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY0dldFN0cmljdCh0cnVlLCBCb29sZWFuKSBpcyB0cnVl
Ci1GQUlMIGNoZWNrTnVtZXJpY1NldFN0cmljdCgxLCBOdW1iZXIpIHNob3VsZCBiZSB0cnVlLiBX
YXMgZmFsc2UuCi1GQUlMIGNoZWNrTnVtZXJpY1NldFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIHNo
b3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1GQUlMIGNoZWNrTnVtZXJpY1NldFN0cmljdCh0cnVl
LCBCb29sZWFuKSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotUEFTUyBjaGVja051bWVyaWNS
ZWFkKDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNSZWFkKCdoZWxsbycsIFN0
cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNSZWFkKHRydWUsIEJvb2xlYW4pIGlzIHRy
dWUKLVBBU1MgY2hlY2tOdW1lcmljV3JpdGUoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNr
TnVtZXJpY1dyaXRlKCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNX
cml0ZSh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1JlYWRTdHJpY3Qo
MSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1JlYWRTdHJpY3QoJ2hlbGxvJywg
U3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1JlYWRTdHJpY3QodHJ1ZSwgQm9vbGVh
bikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNXcml0ZVN0cmljdCgxLCBOdW1iZXIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJv
cGVydHkuLgotUEFTUyBjaGVja051bWVyaWNXcml0ZVN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkg
cHJvcGVydHkuLgotUEFTUyBjaGVja051bWVyaWNXcml0ZVN0cmljdCh0cnVlLCBCb29sZWFuKSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5
IHByb3BlcnR5Li4KLVBBU1MgZGlkTm90Q3Jhc2ggaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164329</attachid>
            <date>2012-09-16 18:02:50 -0700</date>
            <delta_ts>2012-09-16 18:10:41 -0700</delta_ts>
            <desc>rebased patch</desc>
            <filename>haveabadtime_patch_7.diff</filename>
            <type>text/plain</type>
            <size>177551</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4OSBA
QAorMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5k
ZXhlZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMg
ZG9uZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhh
dAorICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJh
dGVneSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZh
dm9yIG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJy
YXlzIG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAg
ICAgICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBh
IGJhZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5
IG9iamVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkK
KyAgICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBh
Y2Nlc3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ug
b2JqZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUp
IGlzIGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciBy
ZWFkLW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAg
ICAgYWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5p
dGlvbiBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVy
IHdheSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRl
eGVkIHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5k
ZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2Jq
ZWN0IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdp
bGwgc2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAg
ICAgICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAg
ICAgIC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJl
Zm9yZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQg
aW5zdGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJv
dG90eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBz
dG9yZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xv
dyBkb3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhh
dmUgbm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1
c2VzIG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0
cy4gQnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBt
b3JlIGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRp
bWUuCisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1h
eSBiZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAg
IGFkZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2Jq
ZWN0cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRo
ZSBwcm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAg
ICAgICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8g
c2xvdy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4g
aGFkIGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMg
dGhhdCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4g
dGhlaXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxv
Y2F0aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdl
LCBhbmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2Ug
Zm9yIG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAg
ICAgICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGlt
ZTogKGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmlu
ZyBvZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkp
IGlzCisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0
IGFuIG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBo
YWQgYW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNl
cnRlZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vm
b3J0aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHBy
b3RvdHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQg
YnkgZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBi
ZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QK
KyAgICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZs
aXAgdGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0
IG9taXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2Vl
cCBhIGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZp
bmQgdGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBh
bG9uZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50
bHkgYWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3Jz
LCB0aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAg
ICAgb25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3Nv
cnMgdG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFw
IHNjYW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUg
YWxzbworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxv
bmdpbmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGlu
ZGV4ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVh
cCBhZ2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwg
b2JqZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9k
dWxlOyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVy
IGFwcHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
OmFycmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAg
ICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2
ZWQpOgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChK
U0M6OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6Cisg
ICAgICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxv
Y2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9J
bmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAo
SlNDOjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpw
b3ApOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRl
eCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlz
dHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklE
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20pOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dW53cmFwcGVkR2xvYmFsT2JqZWN0
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0TmV3VmVjdG9yTGVuZ3RoKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5QmVVc2VkQXNQcm90
b3R5cGUpOgorICAgICAgICAoSlNPYmplY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEFy
cmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldFZlY3Rvckxlbmd0aCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5HZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6Z2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNh
blNldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzZXRJbmRleFF1aWNr
bHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5pdGlhbGl6ZUluZGV4KToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmNvbXBsZXRlSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6aW5TcGFyc2VJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
YXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3RvcmFnZU9yTnVs
bCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0QnlJbmRleCk6CisgICAgICAgICog
cnVudGltZS9KU1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmUpOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZUJ5SW5kZXgpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL0pTVmFsdWUuaDoKKyAgICAgICAgKEpTVmFs
dWUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6T2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9T
cGFyc2VBcnJheVZhbHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlWYWx1ZU1h
cDo6cHV0RW50cnkpOgorICAgICAgICAoSlNDOjpTcGFyc2VBcnJheUVudHJ5OjpwdXQpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuaDoKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgIChTcGFyc2VBcnJheUVudHJ5KToKKyAgICAgICAgKiBydW50
aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6CisgICAgICAgIChKU0MpOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbik6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAgICAgKFN0cnVjdHVyZSk6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKiBy
dW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAoSlNDOjpuZXdJbmRl
eGluZ1R5cGUpOgorCiAyMDEyLTA5LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgSlNPYmplY3QuY3BwIGFuZCBKU0FycmF5LmNwcCBoYXZlIGluY29uc2lzdGVu
dCB0ZXN0cyBmb3IgdGhlIGludmFsaWQgYXJyYXkgaW5kZXggY2FzZQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAkocmV2aXNpb24gMTI4NzE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgTExJbnRP
ZmZzZXRzRXh0cmFjdG9yOwogCiAvLyBUaGlzIGlzIGEgYml0ZmllbGQgd2hlcmUgZWFjaCBiaXQg
cmVwcmVzZW50cyBhbiBJbmRleGluZ1R5cGUgdGhhdCB3ZSBoYXZlIHNlZW4uCi0vLyBUaGVyZSBh
cmUgMTcgaW5kZXhpbmcgdHlwZXMgKDAgdG8gMTYsIGluY2x1c2l2ZSksIHNvIDMyIGJpdHMgaXMg
bW9yZSB0aGFuIGVub3VnaC4KKy8vIFRoZXJlIGFyZSAzMiBpbmRleGluZyB0eXBlcywgc28gYW4g
dW5zaWduZWQgaXMgZW5vdWdoLgogdHlwZWRlZiB1bnNpZ25lZCBBcnJheU1vZGVzOwogCiAjZGVm
aW5lIGFzQXJyYXlNb2Rlcyh0eXBlKSBcCkBAIC00NCw3ICs0NCw3IEBAIHR5cGVkZWYgdW5zaWdu
ZWQgQXJyYXlNb2RlczsKIAogaW5saW5lIEFycmF5TW9kZXMgYXJyYXlNb2RlRnJvbVN0cnVjdHVy
ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVj
dHVyZS0+aW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpKTsKKyAgICByZXR1cm4gYXNBcnJh
eU1vZGVzKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpOwogfQogCiBjbGFzcyBBcnJheVByb2Zp
bGUgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3Rh
dGUuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDk5LDE0ICsxMDk5LDIxIEBA
IGJvb2wgQWJzdHJhY3RTdGF0ZTo6ZXhlY3V0ZSh1bnNpZ25lZCBpbmQKICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAKICAgICBjYXNlIE5ld0FycmF5OgotICAgIGNhc2UgTmV3QXJyYXlCdWZm
ZXI6Ci0gICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIG5vZGUuc2V0Q2Fu
RXhpdCh0cnVlKTsKICAgICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAg
bV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKKyAgICBj
YXNlIE5ld0FycmF5QnVmZmVyOgorICAgICAgICAvLyBVbmxlc3Mgd2UncmUgaGF2aW5nIGEgYmFk
IHRpbWUsIHRoaXMgbm9kZSBjYW4gY2hhbmdlIGl0cyBtaW5kIGFib3V0IHdoYXQgc3RydWN0dXJl
CisgICAgICAgIC8vIGl0IHVzZXMuCisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7Cisg
ICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5zZXQoU3BlY0FycmF5KTsKKyAgICAgICAgYnJlYWs7
CisKICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6Ci0gICAgICAgIHNwZWN1bGF0ZUludDMyVW5h
cnkobm9kZSk7CisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKKyAgICAgICAgZm9yTm9k
ZShub2RlLmNoaWxkMSgpKS5maWx0ZXIoU3BlY0ludDMyKTsKICAgICAgICAgZm9yTm9kZShub2Rl
SW5kZXgpLnNldChtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJh
eVN0cnVjdHVyZSgpKTsKICAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAg
IGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmNw
cAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJh
eU1vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxMCArNDIsMTYgQEAgQXJyYXk6Ok1vZGUg
ZnJvbU9ic2VydmVkKEFycmF5TW9kZXMgbW9kZQogICAgICAgICByZXR1cm4gQXJyYXk6OlVuZGVj
aWRlZDsKICAgICBjYXNlIGFzQXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpOgog
ICAgICAgICByZXR1cm4gbWFrZVNhZmUgPyBBcnJheTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMg
OiBBcnJheTo6QXJyYXlTdG9yYWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0
aFNsb3dQdXRBcnJheVN0b3JhZ2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlNsb3dQdXRBcnJh
eVN0b3JhZ2U7CiAgICAgY2FzZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToK
ICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzIDogQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJy
YXlNb2RlcyhBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFy
cmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVz
KE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlT
dG9yYWdlKToKICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OlBvc3NpYmx5QXJyYXlX
aXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMgOiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJh
eVN0b3JhZ2U7CisgICAgY2FzZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5
U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6Cisg
ICAgICAgIHJldHVybiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGlzIGlzIHBvc3NpYmx5
IGEga2luZCBvZiBhcnJheSBmb3Igd2hpY2gsIHRob3VnaCB0aGVyZSBpcyBubwogICAgICAgICAv
LyB1c2VmdWwgZGF0YSBpbiB0aGUgYXJyYXkgcHJvZmlsZSwgd2UgbWF5IGJlIGFibGUgdG8gZXh0
cmFjdCB1c2VmdWwgZGF0YSBmcm9tCkBAIC0xMjQsMTUgKzEzMCwyOSBAQCBib29sIG1vZGVBbHJl
YWR5Q2hlY2tlZChBYnN0cmFjdFZhbHVlJiB2CiAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgogICAg
ICAgICByZXR1cm4gaXNTdHJpbmdTcGVjdWxhdGlvbih2YWx1ZS5tX3R5cGUpOwogICAgICAgICAK
LSAgICBjYXNlIE5PTl9BUlJBWV9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgIGNhc2UgQXJyYXk6
OkFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoK
KyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAg
ICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAg
ICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+
aW5kZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3JhZ2UpOwotCi0gICAgY2FzZSBBUlJBWV9XSVRI
X0FSUkFZX1NUT1JBR0VfTU9ERVM6CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJy
YXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUu
aGFzU2luZ2xldG9uKCkKKyAgICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVj
dHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdl
KTsKKyAgICAgICAgCisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAg
IGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICBy
ZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAg
ICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5k
ZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3JhZ2UpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9j
dXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSXNBcnJh
eSk7CiAgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3Jh
Z2U6CisgICAgICAgIHJldHVybiB2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5oYXNTaW5n
bGV0b24oKQorICAgICAgICAgICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNp
bmdsZXRvbigpLT5pbmRleGluZ1R5cGUoKSAmIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpCisgICAg
ICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmlu
ZGV4aW5nVHlwZSgpICYgSXNBcnJheSk7CisgICAgICAgIAogICAgIGNhc2UgQXJyYXk6OkFyZ3Vt
ZW50czoKICAgICAgICAgcmV0dXJuIGlzQXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUubV90eXBl
KTsKICAgICAgICAgCkBAIC0xODQsMTQgKzIwNCwyMCBAQCBjb25zdCBjaGFyKiBtb2RlVG9TdHJp
bmcoQXJyYXk6Ok1vZGUgbW9kCiAgICAgICAgIHJldHVybiAiU3RyaW5nIjsKICAgICBjYXNlIEFy
cmF5OjpBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlTdG9yYWdlIjsKKyAgICBj
YXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlNsb3dQdXRB
cnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOgog
ICAgICAgICByZXR1cm4gIkFycmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5
OjpBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlXaXRoQXJyYXlT
dG9yYWdlIjsKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgor
ICAgICAgICByZXR1cm4gIkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2Ug
QXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4g
IkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpQb3Nz
aWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5
V2l0aEFycmF5U3RvcmFnZSI7CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZSI7CiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0
b3JhZ2VPdXRPZkJvdW5kczoKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpBcmd1bWVudHM6CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHJldmlzaW9uIDEyODcxNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDEwICs0NywxMyBAQCBlbnVtIE1vZGUgewogICAgIEdlbmVyaWMsCiAgICAgU3Ry
aW5nLAogICAgIEFycmF5U3RvcmFnZSwKKyAgICBTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFy
cmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZSwKKyAgICBB
cnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzLAogICAgIFBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlLAorICAgIFBvc3Np
Ymx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSwKICAgICBQb3NzaWJseUFycmF5V2l0aEFy
cmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAgIEFyZ3VtZW50cywKICAgICBJbnQ4QXJyYXksCkBA
IC03MCwxMSArNzMsMTQgQEAgZW51bSBNb2RlIHsKIC8vIGhhdmUgdGhlIHdvcmQgIkFycmF5U3Rv
cmFnZSIgaW4gdGhlbS4KICNkZWZpbmUgTk9OX0FSUkFZX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3Rv
cmFnZTogICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3Jh
Z2VPdXRPZkJvdW5kczogICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3Np
Ymx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6
UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgIFwKICAgICBjYXNlIEFy
cmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzCiAjZGVmaW5lIEFS
UkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBB
cnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMKICNk
ZWZpbmUgQUxMX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIE5PTl9BUlJBWV9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAg
ICAgICBcCkBAIC04Myw4ICs4OSwxMyBAQCBlbnVtIE1vZGUgewogICAgIEFycmF5OjpBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZQorI2RlZmluZSBTTE9XX1BVVF9B
UlJBWV9TVE9SQUdFX01PREVTICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQXJyYXk6OlNs
b3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNl
IEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgXAorICAg
IGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZQogI2RlZmlu
ZSBPVVRfT0ZfQk9VTkRTX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICBcCi0g
ICAgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBTTE9XX1BVVF9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAg
ICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZC
b3VuZHM6ICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzCiAKQEAgLTEyOCw2ICsxMzksMTYgQEAgaW5saW5lIGJvb2wgaXNJ
bkJvdW5kc0FjY2VzcyhBcnJheTo6TW9kZQogICAgIH0KIH0KIAoraW5saW5lIGJvb2wgaXNTbG93
UHV0QWNjZXNzKEFycmF5OjpNb2RlIGFycmF5TW9kZSkKK3sKKyAgICBzd2l0Y2ggKGFycmF5TW9k
ZSkgeworICAgIGNhc2UgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30K
KwogaW5saW5lIGJvb2wgY2FuQ1NFU3RvcmFnZShBcnJheTo6TW9kZSBhcnJheU1vZGUpCiB7CiAg
ICAgc3dpdGNoIChhcnJheU1vZGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTI4NzE0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjc0MSwyNSArMjc0MSwzNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIENoZWNr
IGlmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlOyBpZiBzbyBpbmNyZW1lbnQgbV9udW1WYWx1ZXNJ
blZlY3Rvci4KICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdEhvbGVWYWx1ZSA9
IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgTWFjcm9Bc3NlbWJsZXI6
OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVz
RWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVD
VF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkVtcHR5VmFsdWVUYWcpKTsKLSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigx
KSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFy
cmF5U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKLQotICAgICAgICAgICAgLy8gSWYg
d2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAot
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUg
PSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVsb3csIHByb3BlcnR5UmVnLCBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNl
dCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5
UmVnKTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsK
LSAgICAgICAgICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOwot
Ci0gICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0hvbGVWYWx1ZTsKKyAgICAgICAgICAgIGlm
IChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkgeworICAgICAgICAgICAgICAgIC8vIFRoaXMg
aXMgc29ydCBvZiBzdHJhbmdlLiBJZiB3ZSB3YW50ZWQgdG8gb3B0aW1pemUgdGhpcyBjb2RlIHBh
dGgsIHdlIHdvdWxkIGludmVydAorICAgICAgICAgICAgICAgIC8vIHRoZSBhYm92ZSBicmFuY2gu
IEJ1dCBpdCdzIHNpbXBseSBub3Qgd29ydGggaXQgc2luY2UgdGhpcyBvbmx5IGhhcHBlbnMgaWYg
d2UncmUKKyAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGhhdmluZyBhIGJhZCB0aW1lLgorICAg
ICAgICAgICAgICAgIGlzSG9sZVZhbHVlID0gbV9qaXQuanVtcCgpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3Jh
Z2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0
aGUgYXJyYXk7IAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERv
ZXNOb3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBw
cm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9y
YWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0
ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIo
cHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3Rv
cmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVz
dGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBub3RIb2xlVmFsdWUubGluaygmbV9qaXQpOwogCiAgICAgICAgICAgICAv
LyBTdG9yZSB0aGUgdmFsdWUgdG8gdGhlIGFycmF5LgogICAgICAgICAgICAgbV9qaXQuc3RvcmUz
Mih2YWx1ZVRhZ1JlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9w
ZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJh
eVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0
cy50YWcpKSk7CiAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHZhbHVlUGF5bG9hZFJlZywgTWFj
cm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3Nl
bWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9y
WzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSkpOwogICAg
ICAgICAKLSAgICAgICAgICAgIGlmICghaXNJbkJvdW5kc0FjY2Vzcyhub2RlLmFycmF5TW9kZSgp
KSkgeworICAgICAgICAgICAgaWYgKCFpc0luQm91bmRzQWNjZXNzKGFycmF5TW9kZSkpIHsKKyAg
ICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOworICAgICAg
ICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYmV5b25kQXJyYXlCb3VuZHMpOworICAgICAgICAg
ICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkKKyAgICAgICAgICAgICAgICAg
ICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVWYWx1ZSk7CiAgICAgICAgICAgICAgICAgYWRkU2xv
d1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGJleW9uZEFycmF5Qm91bmRzLCB0aGlzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgbV9q
aXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRB
cnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25T
dHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVy
dHlSZWcsIHZhbHVlVGFnUmVnLCB2YWx1ZVBheWxvYWRSZWcpKTsKICAgICAgICAgICAgIH0KQEAg
LTMxMjgsMTMgKzMxNDAsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBu
b2RlKQogICAgIH0KIAogICAgIGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29k
ZU9yaWdpbik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkp
CisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5h
ZGQoc3BlY3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgaWYgKCFub2Rl
Lm51bUNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAg
ICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICAgICAgR1BSUmVzdWx0MiByZXN1
bHRUYWdJZ25vcmVkKHRoaXMpOwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAgICAg
ICAgICAgICBvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1bHRUYWdJZ25vcmVkLmdwcigpLCBy
ZXN1bHQuZ3ByKCksCi0gICAgICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RG
b3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICAgICAg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQo
cmVzdWx0LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQpAQCAtMzE2Nyw4ICszMTgzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlJiBub2RlKQogICAgICAgICBHUFJSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKICAgICAgICAg
CiAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwg
cmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLAotICAgICAgICAgICAgbV9qaXQu
Z3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUo
KSwKKyAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHRUYWcuZ3ByKCksIHJlc3Vs
dFBheWxvYWQuZ3ByKCksIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwKICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PHZvaWQgKj4oYnVmZmVyKSwgbm9kZS5udW1DaGlsZHJlbigpKTsKIAog
ICAgICAgICBpZiAoc2NyYXRjaFNpemUpIHsKQEAgLTMxODQsNiArMzE5OSwxMCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBOZXdB
cnJheVdpdGhTaXplOiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBt
X2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBp
ZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFs
T2JqZWN0LT5oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hw
b2ludCgpKTsKKyAgICAgICAgCiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBz
aXplKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgICAgICBHUFJSZWcgc2l6ZUdQUiA9IHNpemUu
Z3ByKCk7CiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CkBAIC0zMTkxLDcgKzMyMTAsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIEdQUlJlc3Vs
dDIgcmVzdWx0VGFnSWdub3JlZCh0aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAg
ICAgICAgIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIHJlc3VsdFRhZ0lnbm9yZWQuZ3ByKCks
IHJlc3VsdC5ncHIoKSwKLSAgICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOworICAgICAgICAg
ICAgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKICAgICAgICAgY2Vs
bFJlc3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYwLDI0ICsy
NzYwLDM2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAg
ICAgCiAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZTsgaWYg
c28gaW5jcmVtZW50IG1fbnVtVmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBub3RIb2xlVmFsdWUgPSBtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1i
bGVyOjpOb25aZXJvLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHN0b3JhZ2VSZWcsIHByb3Bl
cnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6U2NhbGVQdHIsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0
b3JhZ2UsIG1fdmVjdG9yWzBdKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZElt
bTMyKDEpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VU
T0YoQXJyYXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOwotCi0gICAgICAgICAgICAv
LyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93aW5nIHRoZSBhcnJh
eTsgCi0gICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBsZW5ndGhEb2VzTm90TmVlZFVw
ZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpCZWxvdywgcHJvcGVydHlSZWcs
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3Ro
T2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJv
cGVydHlSZWcpOwotICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihwcm9wZXJ0eVJlZywgTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQo
KSkpOwotICAgICAgICAgICAgbV9qaXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJl
Zyk7Ci0KLSAgICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsK
KyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSG9sZVZhbHVlOworICAgICAgICAg
ICAgaWYgKGlzU2xvd1B1dEFjY2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAgICAgLy8g
VGhpcyBpcyBzb3J0IG9mIHN0cmFuZ2UuIElmIHdlIHdhbnRlZCB0byBvcHRpbWl6ZSB0aGlzIGNv
ZGUgcGF0aCwgd2Ugd291bGQgaW52ZXJ0CisgICAgICAgICAgICAgICAgLy8gdGhlIGFib3ZlIGJy
YW5jaC4gQnV0IGl0J3Mgc2ltcGx5IG5vdCB3b3J0aCBpdCBzaW5jZSB0aGlzIG9ubHkgaGFwcGVu
cyBpZiB3ZSdyZQorICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgaGF2aW5nIGEgYmFkIHRpbWUu
CisgICAgICAgICAgICAgICAgaXNIb2xlVmFsdWUgPSBtX2ppdC5qdW1wKCk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFycmF5
U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICAvLyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93
aW5nIHRoZSBhcnJheTsgCisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVu
Z3RoRG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVs
b3csIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJh
eVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIo
VHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAgbV9qaXQuc3Rv
cmUzMihwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJy
YXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0LnN1YjMy
KFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIG5vdEhvbGVWYWx1ZS5saW5rKCZtX2ppdCk7CiAKICAgICAgICAg
ICAgIC8vIFN0b3JlIHRoZSB2YWx1ZSB0byB0aGUgYXJyYXkuCiAgICAgICAgICAgICBtX2ppdC5z
dG9yZVB0cih2YWx1ZVJlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBw
cm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZGU0VUT0YoQXJy
YXlTdG9yYWdlLCBtX3ZlY3RvclswXSkpKTsKIAogICAgICAgICAgICAgaWYgKCFpc0luQm91bmRz
QWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cExpc3Qgc2xvd0Nhc2VzOworICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYmV5b25k
QXJyYXlCb3VuZHMpOworICAgICAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlN
b2RlKSkKKyAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVWYWx1ZSk7
CiAgICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAg
ICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGJleW9uZEFycmF5Qm91
bmRzLCB0aGlzLAorICAgICAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8g
b3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5
VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBO
b1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZhbHVlUmVnKSk7CiAgICAgICAgICAgICB9
CkBAIC0zMTIwLDEyICszMTMyLDE0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSYgbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUuY29kZU9yaWdpbik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmlu
Z0FCYWRUaW1lKCkpCisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0
Y2hwb2ludCgpLT5hZGQoc3BlY3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAg
ICAgaWYgKCFub2RlLm51bUNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJz
KCk7CiAgICAgICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgY2Fs
bE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICBvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1
bHQuZ3ByKCksCi0gICAgICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Io
bm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbk5ld0VtcHR5QXJyYXksIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0
LT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0Lmdwcigp
LCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzE1
NSw4ICszMTY5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQog
ICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgY2FsbE9w
ZXJhdGlvbigKLSAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHQuZ3ByKCksCi0g
ICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4p
LT5hcnJheVN0cnVjdHVyZSgpLAorICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3Vs
dC5ncHIoKSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLAogICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8dm9pZCo+KGJ1ZmZlciksIG5vZGUubnVtQ2hpbGRyZW4oKSk7CiAKICAgICAgICAg
aWYgKHNjcmF0Y2hTaXplKSB7CkBAIC0zMTcxLDExICszMTg0LDE1IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTmV3
QXJyYXlXaXRoU2l6ZTogeworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKTsKKyAgICAgICAg
aWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgICAgIGdsb2Jh
bE9iamVjdC0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCktPmFkZChzcGVjdWxhdGlvbldhdGNo
cG9pbnQoKSk7CisgICAgICAgIAogICAgICAgICBTcGVjdWxhdGVTdHJpY3RJbnQzMk9wZXJhbmQg
c2l6ZSh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAgICAgR1BSUmVnIHNpemVHUFIgPSBzaXpl
LmdwcigpOwogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBHUFJSZXN1bHQgcmVz
dWx0KHRoaXMpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5V2l0aFNp
emUsIHJlc3VsdC5ncHIoKSwgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2Rl
T3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7CisgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3Qt
PmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdC5n
cHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICBicmVhazsKICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNp
b24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNCw3ICszMjQsOCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjaGVja0FycmF5KE5vZGUmIG5vCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgK
ICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6WmVybywKICAgICAgICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyh0ZW1wLmdwcigpLCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlw
ZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KEhhc0FycmF5U3RvcmFnZSkpKTsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKAorICAgICAgICAgICAgICAgICAgICBpc1Nsb3dQdXRBY2Nlc3Mobm9kZS5hcnJh
eU1vZGUoKSkgPyBIYXNTbG93UHV0QXJyYXlTdG9yYWdlIDogSGFzQXJyYXlTdG9yYWdlKSkpOwog
ICAgICAgICAKICAgICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAgICAgICByZXR1
cm47CkBAIC0zNDUsNyArMzQ2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheShO
b2RlJiBubwogICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKAogICAgICAgICAgICAgVW5jb3VudGFi
bGUsIEpTVmFsdWVSZWdzKCksIE5vTm9kZSwKICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Qz
MigKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6WmVybywgdGVtcEdQUiwgTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW0zMihIYXNBcnJheVN0b3JhZ2UpKSk7CisgICAgICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHRlbXBHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoCisgICAgICAgICAgICAgICAgICAgIGlzU2xvd1B1dEFjY2Vzcyhub2RlLmFycmF5TW9k
ZSgpKSA/IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UgOiBIYXNBcnJheVN0b3JhZ2UpKSk7CiAgICAg
ICAgIAogICAgICAgICBub1Jlc3VsdChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIHJldHVybjsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDM3LDcgKzQzNyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDbGFzc1R5cGUs
IGJvb2wgZGVzdHJ1Y3RvciwgdHlwZW5hbWUgU3RydWN0dXJlVHlwZT4gdm9pZCBlbWl0QWxsb2Nh
dGVCYXNpY0pTT2JqZWN0KFN0cnVjdHVyZVR5cGUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3Rl
cklEIHN0b3JhZ2VQdHIpOwogICAgICAgICB2b2lkIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShz
aXplX3QsIHB0cmRpZmZfdCBvZmZzZXRGcm9tQmFzZSwgUmVnaXN0ZXJJRCByZXN1bHQpOwogICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGVtaXRBbGxvY2F0ZUpTRmluYWxPYmplY3Qo
VCBzdHJ1Y3R1cmUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOwot
ICAgICAgICB2b2lkIGVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIs
IHVuc2lnbmVkIGxlbmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3Jh
Z2VSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVB0cik7CisgICAgICAgIHZvaWQgZW1pdEFsbG9j
YXRlSlNBcnJheSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdp
c3RlcklEIGNlbGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBz
dG9yYWdlUHRyLCBSZWdpc3RlcklEIHNjcmF0Y2gpOwogICAgICAgICAKICNpZiBFTkFCTEUoVkFM
VUVfUFJPRklMRVIpCiAgICAgICAgIC8vIFRoaXMgYXNzdW1lcyB0aGF0IHRoZSB2YWx1ZSB0byBw
cm9maWxlIGlzIGluIHJlZ1QwIGFuZCB0aGF0IHJlZ1QzIGlzIGF2YWlsYWJsZSBmb3IKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCShyZXZpc2lv
biAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQzLDcgKzQ0Myw3IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1p
dEFsbG9jYXRlQmFzaWNTdG9yYWcKICAgICBzdWJQdHIoVHJ1c3RlZEltbTMyKHNpemUgLSBvZmZz
ZXRGcm9tQmFzZSksIHJlc3VsdCk7CiB9CiAKLWlubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRl
SlNBcnJheSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3Rl
cklEIGNlbGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9y
YWdlUHRyKQoraW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVKU0FycmF5KHVuc2lnbmVkIHZh
bHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2VsbFJlc3VsdCwgUmVn
aXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIsIFJlZ2lzdGVySUQg
c2NyYXRjaCkKIHsKICAgICB1bnNpZ25lZCBpbml0aWFsTGVuZ3RoID0gc3RkOjptYXgobGVuZ3Ro
LCA0VSk7CiAgICAgc2l6ZV90IGluaXRpYWxTdG9yYWdlID0gQnV0dGVyZmx5Ojp0b3RhbFNpemUo
MCwgMCwgdHJ1ZSwgQXJyYXlTdG9yYWdlOjpzaXplRm9yKGluaXRpYWxMZW5ndGgpKTsKQEAgLTQ1
Myw3ICs0NTMsOCBAQCBpbmxpbmUgdm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zCiAg
ICAgZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKGluaXRpYWxTdG9yYWdlLCBzaXplb2YoSW5kZXhp
bmdIZWFkZXIpLCBzdG9yYWdlUmVzdWx0KTsKIAogICAgIC8vIEFsbG9jYXRlIHRoZSBjZWxsIGZv
ciB0aGUgYXJyYXkuCi0gICAgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdDxKU0FycmF5LCBmYWxz
ZT4oVHJ1c3RlZEltbVB0cihtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0
dXJlKCkpLCBjZWxsUmVzdWx0LCBzdG9yYWdlUHRyKTsKKyAgICBsb2FkUHRyKG1fY29kZUJsb2Nr
LT5nbG9iYWxPYmplY3QoKS0+YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSwgc2NyYXRjaCk7Cisg
ICAgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdDxKU0FycmF5LCBmYWxzZT4oc2NyYXRjaCwgY2Vs
bFJlc3VsdCwgc3RvcmFnZVB0cik7CiAKICAgICAvLyBTdG9yZSBhbGwgdGhlIG5lY2Vzc2FyeSBp
bmZvIGluIHRoZSBBcnJheVN0b3JhZ2UuCiAgICAgc3RvcmUzMihJbW0zMihsZW5ndGgpLCBBZGRy
ZXNzKHN0b3JhZ2VSZXN1bHQsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMTI4NzE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTY3Niw3ICsxNjc2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KElu
c3RydWN0aW9uKgogICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
OwogICAgIGludCB2YWx1ZXMgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogCi0g
ICAgZW1pdEFsbG9jYXRlSlNBcnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1QxLCByZWdU
Mik7CisgICAgZW1pdEFsbG9jYXRlSlNBcnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1Qx
LCByZWdUMiwgcmVnVDMpOwogICAgIGVtaXRTdG9yZUNlbGwoZHN0LCByZWdUMCk7IAogfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw4ICsxMzIsMTAgQEAgQXJy
YXlQcm90b3R5cGU6OkFycmF5UHJvdG90eXBlKEpTR2xvYmFsTwogCiB2b2lkIEFycmF5UHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKKyAgICBK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEgPSBnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKTsKKyAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOworICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0KIAog
Ym9vbCBBcnJheVByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCkBAIC02MzgsNyArNjQwLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAgIENhbGxUeXBlIGNhbGxUeXBlID0g
Z2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKIAotICAgIGlmICh0aGlzT2JqLT5jbGFz
c0luZm8oKSA9PSAmSlNBcnJheTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5pblNwYXJz
ZUluZGV4aW5nTW9kZSgpKSB7CisgICAgaWYgKHRoaXNPYmotPmNsYXNzSW5mbygpID09ICZKU0Fy
cmF5OjpzX2luZm8gJiYgIWFzQXJyYXkodGhpc09iaiktPmluU3BhcnNlSW5kZXhpbmdNb2RlKCkg
JiYgIXNob3VsZFVzZVNsb3dQdXQodGhpc09iai0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSkgewogICAgICAgICBpZiAoaXNOdW1lcmljQ29tcGFyZUZ1bmN0aW9uKGV4ZWMsIGNhbGxUeXBl
LCBjYWxsRGF0YSkpCiAgICAgICAgICAgICBhc0FycmF5KHRoaXNPYmopLT5zb3J0TnVtZXJpYyhl
eGVjLCBmdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhKTsKICAgICAgICAgZWxzZSBpZiAoY2Fs
bFR5cGUgIT0gQ2FsbFR5cGVOb25lKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW5kZXhpbmdUeXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW5kZXhpbmdUeXBlLmgJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywyOCAr
MzMsNjUgQEAgdHlwZWRlZiB1aW50OF90IEluZGV4aW5nVHlwZTsKIC8vIEZsYWdzIGZvciB0ZXN0
aW5nIHRoZSBwcmVzZW5jZSBvZiBjYXBhYmlsaXRpZXMuCiBzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIElzQXJyYXkgICAgICAgICAgICAgICAgICA9IDE7CiBzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEhhc0FycmF5U3RvcmFnZSAgICAgICAgICA9IDg7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UgICA9IDE2OwogCiAvLyBBZGRpdGlvbmFsIGZsYWdz
IGZvciB0cmFja2luZyB0aGUgaGlzdG9yeSBvZiB0aGUgdHlwZS4gVGhlc2UgYXJlIHVzdWFsbHkK
IC8vIG1hc2tlZCBvZmYgdW5sZXNzIHlvdSBhc2sgZm9yIHRoZW0gZGlyZWN0bHkuCi1zdGF0aWMg
Y29uc3QgSW5kZXhpbmdUeXBlIEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDE2OyAvLyBNZWFu
cyB0aGF0IHRoaXMgb2JqZWN0IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBhc3QuCitz
dGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDMyOyAv
LyBNZWFucyB0aGF0IHRoaXMgb2JqZWN0IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBh
c3QuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzICA9
IDY0OwogCiAvLyBMaXN0IG9mIGFjY2VwdGFibGUgYXJyYXkgdHlwZXMuCi1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5ICAgICAgICAgICAgICAgICA9IDA7Ci1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZSA9IEhhc0FycmF5U3RvcmFnZTsK
LXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgID0gSXNB
cnJheTsgLy8gSSdkIHdhbnQgdG8gY2FsbCB0aGlzICJBcnJheSIgYnV0IHRoaXMgd291bGQgbGVh
ZCB0byBkaXNhc3Ryb3VzIG5hbWVzcGFjZSBwb2xsdXRpb24uCi1zdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEFycmF5V2l0aEFycmF5U3RvcmFnZSAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3Jh
Z2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFycmF5ICAgICAgICAgICAgICAgICAg
ICAgICAgPSAwOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2UgICAgICAgID0gSGFzQXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlw
ZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlID0gSGFzU2xvd1B1dEFycmF5U3RvcmFn
ZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgICAg
ICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0aGlz
IHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgorc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgICAgID0gSXNBcnJh
eSB8IEhhc0FycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZSAgICA9IElzQXJyYXkgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdl
OworCisjZGVmaW5lIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUyBcCisgICAgTm9uQXJyYXk6ICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheUNsYXNzCisKKyNkZWZpbmUgQVJSQVlf
V0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTIFwKKyAgICBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRB
cnJheVN0b3JhZ2UKKyAgICAKKyNkZWZpbmUgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVMgICAgICAgICAgICAgICAgXAorICAgIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlT
dG9yYWdlOiAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUwogCi0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcy4KLXN0YXRp
YyBjb25zdCBJbmRleGluZ1R5cGUgQWxsQXJyYXlUeXBlcyAgICAgICAgICAgID0gMTU7CitzdGF0
aWMgaW5saW5lIGJvb2wgaGFzSW5kZXhlZFByb3BlcnRpZXMoSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSkKK3sKKyAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSkgeworICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfQogCi0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0
eXBlcyBpbmNsdWRpbmcgdGhlIGhpc3RvcnkuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFs
bEFycmF5VHlwZXNBbmRIaXN0b3J5ICA9IDMxOworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4
aW5nSGVhZGVyKEluZGV4aW5nVHlwZSB0eXBlKQoreworICAgIHJldHVybiBoYXNJbmRleGVkUHJv
cGVydGllcyh0eXBlKTsKK30KIAotaW5saW5lIGJvb2wgaGFzSW5kZXhpbmdIZWFkZXIoSW5kZXhp
bmdUeXBlIHR5cGUpCitzdGF0aWMgaW5saW5lIGJvb2wgaGFzQXJyYXlTdG9yYWdlKEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCiB7Ci0gICAgcmV0dXJuICEhKHR5cGUgJiBIYXNBcnJheVN0b3Jh
Z2UpOworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUgJiAoSGFzQXJyYXlTdG9yYWdlIHwgSGFz
U2xvd1B1dEFycmF5U3RvcmFnZSkpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkVXNl
U2xvd1B1dChJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQoreworICAgIHJldHVybiAhIShpbmRl
eGluZ1R5cGUgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdlKTsKK30KKworLy8gTWFzayBvZiBhbGwg
cG9zc2libGUgdHlwZXMuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMg
ICAgICAgICAgICA9IDMxOworCisvLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcyBpbmNsdWRp
bmcgdGhlIGhpc3RvcnkuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXNB
bmRIaXN0b3J5ICA9IDEyNzsKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBJbmRl
eGluZ1R5cGVfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDQsNyArNDA0LDcgQEAgSlNWYWx1ZSBKU0Fy
cmF5Ojpwb3AoRXhlY1N0YXRlKiBleGVjKQogICAgIGNhc2UgQXJyYXlDbGFzczoKICAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOiB7CisgICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpOwogICAgIAogICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdG9yYWdlLT5sZW5n
dGgoKTsKQEAgLTQ2NCw2ICs0NjQsMTYgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgQXJy
YXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogeworICAgICAgICB1bnNpZ25lZCBvbGRMZW5ndGgg
PSBsZW5ndGgoKTsKKyAgICAgICAgaWYgKGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhv
bGUoZXhlYywgb2xkTGVuZ3RoLCB2YWx1ZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgIGlmICghZXhl
Yy0+aGFkRXhjZXB0aW9uKCkgJiYgb2xkTGVuZ3RoIDwgMHhGRkZGRkZGRnUpCisgICAgICAgICAg
ICAgICAgc2V0TGVuZ3RoKGV4ZWMsIG9sZExlbmd0aCArIDEsIHRydWUpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICB9CisgICAg
ICAgIAogICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CiAgICAgICAgIEFycmF5U3Rv
cmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKIApAQCAtOTE3LDcg
KzkyNyw3IEBAIHZvaWQgSlNBcnJheTo6ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBleGUKICAgICBj
YXNlIEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYXNlIEFycmF5V2l0
aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiogdmVjdG9yID0gc3RvcmFnZS0+bV92ZWN0b3I7CkBAIC05NDcsNyArOTU3LDcgQEAgdm9pZCBK
U0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMoRXhlY1N0YXRlKgogICAgIGNhc2UgQXJyYXlDbGFzczoK
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7
CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKTsKICAgICAgICAgdW5zaWduZWQgaSA9IDA7CiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtu
b3duPiogdmVjdG9yID0gc3RvcmFnZS0+bV92ZWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5oCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDkgKzc4LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiwg
TWFya2VkQXJndW1lbnRCdWZmZXImKTsKICAgICAgICAgdm9pZCBjb3B5VG9Bcmd1bWVudHMoRXhl
Y1N0YXRlKiwgQ2FsbEZyYW1lKiwgdWludDMyX3QgbGVuZ3RoKTsKIAotICAgICAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICAgICAgc3Rh
dGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUsIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8o
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBBcnJheVdpdGhBcnJheVN0b3Jh
Z2UpOworICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksICZzX2luZm8sIGluZGV4aW5nVHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgcHJv
dGVjdGVkOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTEx
LDcgQEAgc3RhdGljIGNvbnN0IGludCBwcmVmZXJyZWRTY3JpcHRDaGVja1RpbQogSlNHbG9iYWxP
YmplY3Q6OkpTR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSkKICAgICA6IEJhc2UoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCAwKQogICAgICwg
bV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2lu
dFNldChJbml0aWFsaXplZFdhdGNoaW5nKSkpCisgICAgLCBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hw
b2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2ludFNldChJbml0aWFsaXplZFdhdGNoaW5nKSkpCiAg
ICAgLCBtX3dlYWtSYW5kb20oT3B0aW9uczo6Zm9yY2VXZWFrUmFuZG9tU2VlZCgpID8gT3B0aW9u
czo6Zm9yY2VkV2Vha1JhbmRvbVNlZWQoKSA6IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21O
dW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkK
ICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKICAgICAsIG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUoZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPyBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSA6ICZz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlKQpAQCAtMjMwLDcgKzIzMSw4IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG8KICAgICBtX2NhbGxiYWNrT2JqZWN0U3RydWN0
dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1f
b2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAKICAgICBtX2FycmF5UHJvdG90eXBlLnNldChleGVj
LT5nbG9iYWxEYXRhKCksIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywg
QXJyYXlQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMs
IG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSkpOwotICAgIG1fYXJyYXlTdHJ1Y3R1cmUuc2V0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmds
b2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fYXJyYXlT
dHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3Ry
dWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwg
QXJyYXlXaXRoQXJyYXlTdG9yYWdlKSk7CisgICAgbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQu
c2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZSkpOwogICAgIG1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJl
LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRl
U3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQo
KSkpOwogCiAgICAgbV9zdHJpbmdQcm90b3R5cGUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhp
cywgU3RyaW5nUHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgU3RyaW5nUHJvdG90eXBlOjpj
cmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlw
ZS5nZXQoKSkpKTsKQEAgLTMyOSw2ICszMzEsODIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVz
ZXQoSlNWYWx1ZSBwcm90bwogICAgIHJlc2V0UHJvdG90eXBlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
cHJvdG90eXBlKTsKIH0KIAorLy8gUHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpT
R2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoKQorbmFtZXNwYWNlIHsKKworY2xhc3MgT2JqZWN0
c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlciA6IHB1YmxpYyBNYXJrZWRCbG9jazo6Vm9pZEZ1bmN0
b3IgeworcHVibGljOgorICAgIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIoTWFya2Vk
QXJndW1lbnRCdWZmZXImLCBKU0dsb2JhbE9iamVjdCopOworICAgIHZvaWQgb3BlcmF0b3IoKShK
U0NlbGwqKTsKKworcHJpdmF0ZToKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgbV9mb3VuZE9i
amVjdHM7CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OworfTsKKworT2JqZWN0
c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcjo6T2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRl
cigKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgZm91bmRPYmplY3RzLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQorICAgIDogbV9mb3VuZE9iamVjdHMoZm91bmRPYmplY3RzKQorICAg
ICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQoreworfQorCitpbmxpbmUgYm9vbCBoYXNC
cm9rZW5JbmRleGluZyhKU09iamVjdCogb2JqZWN0KQoreworICAgIC8vIFRoaXMgd2lsbCBjaGFu
Z2UgaWYgd2UgaGF2ZSBtb3JlIGluZGV4aW5nIHR5cGVzLgorICAgIHJldHVybiAhIShvYmplY3Qt
PnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSAmIEhhc0FycmF5U3RvcmFnZSk7Cit9CisKK3Zv
aWQgT2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcjo6b3BlcmF0b3IoKShKU0NlbGwqIGNl
bGwpCit7CisgICAgaWYgKCFjZWxsLT5pc09iamVjdCgpKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGNlbGwpOworICAgIAorICAgIC8vIFdl
IG9ubHkgd2FudCB0byBoYXZlIGEgYmFkIHRpbWUgaW4gdGhlIGFmZmVjdGVkIGdsb2JhbCBvYmpl
Y3QsIG5vdCBpbiB0aGUgZW50aXJlCisgICAgLy8gVk0uCisgICAgaWYgKG9iamVjdC0+dW53cmFw
cGVkR2xvYmFsT2JqZWN0KCkgIT0gbV9nbG9iYWxPYmplY3QpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBpZiAoIWhhc0Jyb2tlbkluZGV4aW5nKG9iamVjdCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBtX2ZvdW5kT2JqZWN0cy5hcHBlbmQob2JqZWN0KTsKK30KKworfSAvLyBlbmQg
cHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJh
ZFRpbWUoKQorCit2b2lkIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQoreworICAgIEFTU0VSVCgmZ2xvYmFsRGF0YSA9PSAmdGhpcy0+Z2xvYmFs
RGF0YSgpKTsKKyAgICAKKyAgICBpZiAoaXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIGFsbG9jYXRpb25zIG9yIGluZGV4
ZWQgc3RvcmFnZSB0cmFuc2l0aW9ucyB0aGF0IGFyZSBpbmxpbmluZworICAgIC8vIHRoZSBhc3N1
bXB0aW9uIHRoYXQgaXQncyBzYWZlIHRvIHRyYW5zaXRpb24gdG8gYSBub24tU2xvd1B1dCBhcnJh
eSBzdG9yYWdlIGRvbid0CisgICAgLy8gZG8gc28gYW55bW9yZS4KKyAgICBtX2hhdmluZ0FCYWRU
aW1lV2F0Y2hwb2ludC0+bm90aWZ5V3JpdGUoKTsKKyAgICBBU1NFUlQoaXNIYXZpbmdBQmFkVGlt
ZSgpKTsgLy8gVGhlIHdhdGNocG9pbnQgaXMgd2hhdCB0ZWxscyB1cyB0aGF0IHdlJ3JlIGhhdmlu
ZyBhIGJhZCB0aW1lLgorICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBKU0FycmF5IGFs
bG9jYXRpb25zIHRoYXQgbG9hZCB0aGUgYXBwcm9wcmlhdGUgc3RydWN0dXJlIGZyb20KKyAgICAv
LyB0aGlzIG9iamVjdCBub3cgbG9hZCBhIHN0cnVjdHVyZSB0aGF0IHVzZXMgU2xvd1B1dC4KKyAg
ICBtX2FycmF5U3RydWN0dXJlLnNldChnbG9iYWxEYXRhLCB0aGlzLCBtX2FycmF5U3RydWN0dXJl
Rm9yU2xvd1B1dC5nZXQoKSk7CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIG9iamVj
dHMgdGhhdCBoYXZlIGluZGV4ZWQgc3RvcmFnZSBzd2l0Y2ggdG8gdGhlIHNsb3cga2luZCBvZgor
ICAgIC8vIGluZGV4ZWQgc3RvcmFnZS4KKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBmb3VuZE9i
amVjdHM7IC8vIFVzZSBNYXJrZWRBcmd1bWVudEJ1ZmZlciBiZWNhdXNlIHN3aXRjaFRvU2xvd1B1
dEFycmF5U3RvcmFnZSgpIG1heSBHQy4KKyAgICBPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5nRmlu
ZGVyIGZpbmRlcihmb3VuZE9iamVjdHMsIHRoaXMpOworICAgIGdsb2JhbERhdGEuaGVhcC5vYmpl
Y3RTcGFjZSgpLmZvckVhY2hMaXZlQ2VsbChmaW5kZXIpOworICAgIHdoaWxlICghZm91bmRPYmpl
Y3RzLmlzRW1wdHkoKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoZm91
bmRPYmplY3RzLmxhc3QoKSk7CisgICAgICAgIGZvdW5kT2JqZWN0cy5yZW1vdmVMYXN0KCk7Cisg
ICAgICAgIEFTU0VSVChoYXNCcm9rZW5JbmRleGluZyhvYmplY3QpKTsKKyAgICAgICAgb2JqZWN0
LT5zd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSk7CisgICAgfQorfQorCiB2
b2lkIEpTR2xvYmFsT2JqZWN0OjpjcmVhdGVUaHJvd1R5cGVFcnJvcihFeGVjU3RhdGUqIGV4ZWMp
CiB7CiAgICAgSlNGdW5jdGlvbiogdGhyb3dlciA9IEpTRnVuY3Rpb246OmNyZWF0ZShleGVjLCB0
aGlzLCAwLCBTdHJpbmcoKSwgZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkocmV2aXNpb24g
MTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDcgKzEyNiw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FjdGl2YXRpb25TdHJ1Y3R1cmU7CiAgICAg
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZVNjb3BlU3RydWN0dXJlOwogICAgICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FyZ3VtZW50c1N0cnVjdHVyZTsKLSAgICAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZTsKKyAgICAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZTsgLy8gVGhpcyBnZXRzIHNldCB0byBt
X2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dCBhcyBzb29uIGFzIHdlIGRlY2lkZSB0byBoYXZlIGEg
YmFkIHRpbWUuCisgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1
cmVGb3JTbG93UHV0OwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5P
YmplY3RTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJh
Y2tDb25zdHJ1Y3RvclN0cnVjdHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlOwpAQCAtMTQ5LDYgKzE1MCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBEZWJ1Z2dlciogbV9kZWJ1Z2dlcjsKIAogICAgICAgICBSZWZQdHI8
V2F0Y2hwb2ludFNldD4gbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludDsKKyAgICAg
ICAgUmVmUHRyPFdhdGNocG9pbnRTZXQ+IG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50OwogCiAg
ICAgICAgIE93blB0cjxKU0dsb2JhbE9iamVjdFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogCkBAIC0y
NjAsNiArMjYyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0cnVjdHVyZSogbmFtZVNj
b3BlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lU2NvcGVTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICAgICAgU3RydWN0dXJlKiBhcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX2FyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGFycmF5
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVN0cnVjdHVyZS5nZXQoKTsgfQorICAg
ICAgICB2b2lkKiBhZGRyZXNzT2ZBcnJheVN0cnVjdHVyZSgpIHsgcmV0dXJuICZtX2FycmF5U3Ry
dWN0dXJlOyB9CiAgICAgICAgIFN0cnVjdHVyZSogYm9vbGVhbk9iamVjdFN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYm9vbGVhbk9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBT
dHJ1Y3R1cmUqIGNhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2NhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3RydWN0dXJl
KiBjYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja0Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CkBAIC0yODAsNiArMjgzLDE0IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBTdHJ1Y3R1cmUqIHN0cmluZ09iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RyaW5nT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CiAKICAgICAgICAgV2F0Y2hw
b2ludFNldCogbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoKSB7IHJldHVybiBtX21h
c3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50LmdldCgpOyB9CisgICAgICAgIFdhdGNocG9p
bnRTZXQqIGhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpIHsgcmV0dXJuIG1faGF2aW5nQUJhZFRp
bWVXYXRjaHBvaW50LmdldCgpOyB9CisgICAgICAgIAorICAgICAgICBib29sIGlzSGF2aW5nQUJh
ZFRpbWUoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbV9oYXZpbmdBQmFk
VGltZVdhdGNocG9pbnQtPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICB2b2lkIGhhdmVBQmFkVGltZShKU0dsb2JhbERhdGEmKTsKIAogICAgICAgICB2
b2lkIHNldFByb2ZpbGVHcm91cCh1bnNpZ25lZCB2YWx1ZSkgeyBjcmVhdGVSYXJlRGF0YUlmTmVl
ZGVkKCk7IG1fcmFyZURhdGEtPnByb2ZpbGVHcm91cCA9IHZhbHVlOyB9CiAgICAgICAgIHVuc2ln
bmVkIHByb2ZpbGVHcm91cCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw4ICsxMzMs
NyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OnZpc2l0QnV0dGVyCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIE1hcmsgYW5kIGNvcHkgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRl
LgogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAg
ICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgbmV3QnV0dGVyZmx5LT5hcnJh
eVN0b3JhZ2UoKS0+Y29weUhlYWRlckZyb21EdXJpbmdHQygqYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBjdXJyZW50VGFy
Z2V0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3I7CiAgICAgICAgICAg
ICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBjdXJyZW50U291cmNlID0gYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKS0+bV92ZWN0b3I7CkBAIC0xNjAsOCArMTU5LDcgQEAgQUxXQVlTX0lOTElO
RSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRlcgogICAgICAgICAKICAgICAgICAgLy8gTWFyayB0
aGUgYXJyYXkgaWYgYXBwcm9wcmlhdGUuCiAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRl
eGluZ1R5cGUoKSkgewotICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAg
ICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgIGNhc2UgQUxMX0FSUkFZ
X1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVl
cyhidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvciwgYnV0dGVyZmx5LT5hcnJheVN0
b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCkpOwogICAgICAgICAgICAgaWYgKGJ1dHRlcmZseS0+YXJy
YXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwKQogICAgICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5k
KCZidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCk7CkBAIC0yMzQsMTIgKzIz
MiwxMCBAQCBib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4CiAgICAgICAg
IHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhp
c09iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSwgc2xvdCk7CiAgICAgCiAg
ICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFO
S19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7
CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBB
cnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7CiAgICAgICAgIGlmIChpID49IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMzAxLDcgKzI5Nyw3IEBAIHZvaWQgSlNPYmplY3Q6OnB1dChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGEKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKICAgICAgICAg
SlNDZWxsKiBzcGVjaWZpY1ZhbHVlOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBv
YmotPnN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
LCBzcGVjaWZpY1ZhbHVlKTsKLSAgICAgICAgaWYgKG9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7
CisgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChh
dHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1N0cmlj
dE1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBl
RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVF
cnJvcikpKTsKQEAgLTM1NCw4ICszNTAsNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpT
Q2VsbCogY2VsbCwgCiAgICAgfQogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTM4
MSw2ICszNzYsMzQgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgICAgICAKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNs
b3dQdXRBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OiB7CisgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUg
Pj0gc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
CisgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYgdmFsdWVTbG90ID0gc3RvcmFnZS0+bV92
ZWN0b3JbcHJvcGVydHlOYW1lXTsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+
bGVuZ3RoKCk7CisgICAgICAgIAorICAgICAgICAvLyBVcGRhdGUgbGVuZ3RoICYgbV9udW1WYWx1
ZXNJblZlY3RvciBhcyBuZWNlc3NhcnkuCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0gbGVu
Z3RoKSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0
QnlJbmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgbGVuZ3RoID0gcHJvcGVydHlOYW1l
ICsgMTsKKyAgICAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOworICAgICAgICAg
ICAgKytzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9IGVsc2UgaWYgKCF2
YWx1ZVNsb3QpIHsKKyAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5hdHRlbXB0VG9JbnRlcmNl
cHRQdXRCeUluZGV4T25Ib2xlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93
KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICArK3N0b3JhZ2UtPm1fbnVt
VmFsdWVzSW5WZWN0b3I7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhbHVlU2xvdC5z
ZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgIHRoaXNP
YmplY3QtPmNoZWNrSW5kZXhpbmdDb25zaXN0ZW5jeSgpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgICAgICAKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICB9CkBAIC00MjUsOCArNDQ4LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW50ZXJE
aWN0aW9uYXJ5SQogdm9pZCBKU09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJh
eVN0b3JhZ2VBbHJlYWR5RXhpc3RzKGdsb2JhbERhdGEsIG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKQEAgLTQzNSwxMCArNDU3LDIzIEBAIHZv
aWQgSlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUluZGV4aW5nTW8KICAgICB9CiB9CiAKK3ZvaWQg
SlNPYmplY3Q6Om5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKK3sKKyAgICBpZiAobWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0
dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFkZElu
ZGV4ZWRBY2Nlc3NvcnMpKTsKKyAgICAKKyAgICBpZiAoIW1heUJlVXNlZEFzUHJvdG90eXBlKGds
b2JhbERhdGEpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgZ2xvYmFsT2JqZWN0KCktPmhh
dmVBQmFkVGltZShnbG9iYWxEYXRhKTsKK30KKwogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3Jl
YXRlQXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgbGVuZ3Ro
LCB1bnNpZ25lZCB2ZWN0b3JMZW5ndGgpCiB7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBz
dHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCBv
bGRUeXBlID09IE5vbkFycmF5IHx8IG9sZFR5cGUgPT0gQXJyYXlDbGFzcyk7CisgICAgQVNTRVJU
X1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwogICAgIEJ1
dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gbV9idXR0ZXJmbHktPmdyb3dBcnJheVJpZ2h0KAogICAg
ICAgICBnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFj
aXR5KCksIGZhbHNlLCAwLAogICAgICAgICBBcnJheVN0b3JhZ2U6OnNpemVGb3IodmVjdG9yTGVu
Z3RoKSk7CkBAIC00NTQsNyArNDg5LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRl
QXJyYXlTdG9yYQogICAgIHJlc3VsdC0+bV9pbml0aWFsaXphdGlvbkluZGV4ID0gMDsKICAgICBy
ZXN1bHQtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24gPSAwOwogI2VuZGlmCi0gICAgU3RydWN0
dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9i
YWxEYXRhLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVBcnJheVN0b3JhZ2UpOworICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFs
RGF0YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRp
b24oKSk7CiAgICAgc2V0QnV0dGVyZmx5KGdsb2JhbERhdGEsIG5ld0J1dHRlcmZseSwgbmV3U3Ry
dWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDY3LDEyICs1MDIsMTAgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEFycgogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdN
b2RlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgp
LT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAg
IGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBlbnRlckRpY3Rpb25hcnlJbmRleGlu
Z01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAg
Y2FzZSBOb25BcnJheTogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAg
ICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZShnbG9iYWxEYXRhLCAwLCAwKTsKICAgICAgICAgU3Bh
cnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gYWxsb2NhdGVTcGFyc2VJbmRleE1hcChnbG9iYWxEYXRh
KTsKICAgICAgICAgbWFwLT5zZXRTcGFyc2VNb2RlKCk7CkBAIC00ODUsNiArNTE4LDIyIEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICB9CiB9CiAKK3ZvaWQg
SlNPYmplY3Q6OnN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEpCit7CisgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKKyAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aEFycmF5
U3RvcmFnZTogeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
bm9uUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBTd2l0Y2hUb1Ns
b3dQdXRBcnJheVN0b3JhZ2UpOworICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3
U3RydWN0dXJlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgICAgICAKKyAgICBkZWZhdWx0
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCiB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RWaXJ0dWFsKEpTT2JqZWN0KiBvYmplY3QsIEV4
ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwg
dW5zaWduZWQgYXR0cmlidXRlcykKIHsKICAgICBBU1NFUlQoIXZhbHVlLmlzR2V0dGVyU2V0dGVy
KCkgJiYgIShhdHRyaWJ1dGVzICYgQWNjZXNzb3IpKTsKQEAgLTQ5Miw2ICs1NDEsMzMgQEAgdm9p
ZCBKU09iamVjdDo6cHV0RGlyZWN0VmlydHVhbChKU09iamVjdAogICAgIG9iamVjdC0+cHV0RGly
ZWN0SW50ZXJuYWw8UHV0TW9kZURlZmluZU93blByb3BlcnR5PihleGVjLT5nbG9iYWxEYXRhKCks
IHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIHNsb3QsIGdldENhbGxhYmxlT2JqZWN0
KHZhbHVlKSk7CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQoreworICAgIEFTU0VSVChwcm90b3R5cGUp
OworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgYXNPYmplY3QocHJvdG90
eXBlKS0+bm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOworICAgIAorICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5cGUpOworICAgIHNldFN0cnVjdHVyZShn
bG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworICAgIAorICAgIGlmICghbmV3U3RydWN0dXJlLT5h
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBpZiAobWF5QmVVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpIHsK
KyAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKGdsb2Jh
bERhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmICghaGFzSW5kZXhp
bmdIZWFkZXIoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIGlmIChzaG91bGRVc2VTbG93UHV0KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUsIFN3aXRjaFRv
U2xvd1B1dEFycmF5U3RvcmFnZSk7CisgICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIG5ld1N0
cnVjdHVyZSk7Cit9CisKIGJvb2wgSlNPYmplY3Q6OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWNr
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CiAgICAgSlNW
YWx1ZSBjaGVja0ZvciA9IHRoaXM7CkBAIC01MDgsOSArNTg0LDMyIEBAIGJvb2wgSlNPYmplY3Q6
OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBK
U09iamVjdDo6cmVzZXRJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7Cisg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBn
bG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpOworICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZz
ZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERh
dGEsIG9mZnNldCwganNVbmRlZmluZWQoKSk7Cit9CisKK1N0cnVjdHVyZSogSlNPYmplY3Q6Omlu
aGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBpZiAoV3JpdGVCYXJy
aWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRh
LCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBsb2NhdGlvbi0+Z2V0KCk7CisgICAgICAgIGlmICh2YWx1ZS5pc0NlbGwoKSkgeworICAgICAg
ICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPih2YWx1ZSk7
CisgICAgICAgICAgICBBU1NFUlQoaW5oZXJpdG9ySUQtPmlzRW1wdHkoKSk7CisgICAgICAgICAg
ICByZXR1cm4gaW5oZXJpdG9ySUQ7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUKHZhbHVlLmlz
VW5kZWZpbmVkKCkpOworICAgIH0KKyAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFs
RGF0YSk7Cit9CisKIGJvb2wgSlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20oRXhlY1N0YXRlKiBl
eGVjKQogewotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBpc0dsb2JhbFRoaXMo
KSA/IGpzQ2FzdDxKU0dsb2JhbFRoaXMqPih0aGlzKS0+dW53cmFwcGVkT2JqZWN0KCkgOiB0aGlz
LT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdW53
cmFwcGVkR2xvYmFsT2JqZWN0KCk7CiAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Z2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUoKS0+YWxsb3dzQWNjZXNzRnJvbShnbG9iYWxPYmplY3QsIGV4ZWMpOwog
fQogCkBAIC01OTcsMTIgKzY5NiwxMCBAQCBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eUJ5
SW5kZXgoSlNDCiAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWxl
dGVQcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIGkpKTsK
ICAgICAKICAgICBzd2l0Y2ggKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgQXJyYXlDbGFzczoKLSAgICBjYXNlIE5vbkFycmF5OgorICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25BcnJheVdpdGhB
cnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIGlmIChpIDwgc3RvcmFnZS0+
dmVjdG9yTGVuZ3RoKCkpIHsKQEAgLTc2MiwxMiArODU5LDEwIEBAIHZvaWQgSlNPYmplY3Q6Omdl
dE93blByb3BlcnR5TmFtZXMoSlNPYmoKICAgICAvLyBpcyBpbmNyZWRpYmx5IGluZWZmaWNpZW50
IGZvciBsYXJnZSBhcnJheXMuIFdlIG5lZWQgYSBkaWZmZXJlbnQgYXBwcm9hY2gsCiAgICAgLy8g
d2hpY2ggYWxtb3N0IGNlcnRhaW5seSBtZWFucyBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUgZm9yIFBy
b3BlcnR5TmFtZUFycmF5LgogICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAg
IAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBF
UzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIHVzZWRWZWN0b3JM
ZW5ndGggPSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3Ro
KCkpOwpAQCAtODU3LDYgKzk1MiwxMyBAQCB2b2lkIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9u
cyhKU0dsb2JhCiAgICAgICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBTdHJ1Y3R1cmU6OnBy
ZXZlbnRFeHRlbnNpb25zVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSkpOwogfQog
CitKU0dsb2JhbE9iamVjdCogSlNPYmplY3Q6OnVud3JhcHBlZEdsb2JhbE9iamVjdCgpCit7Cisg
ICAgaWYgKGlzR2xvYmFsVGhpcygpKQorICAgICAgICByZXR1cm4ganNDYXN0PEpTR2xvYmFsVGhp
cyo+KHRoaXMpLT51bndyYXBwZWRPYmplY3QoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPmds
b2JhbE9iamVjdCgpOworfQorCiAvLyBUaGlzIHByZXNlbnRseSB3aWxsIGZsYXR0ZW4gdG8gYW4g
dW5jYWNoYWJsZSBkaWN0aW9uYXJ5OyB0aGlzIGlzIHN1aXRhYmxlCiAvLyBmb3IgdXNlIGluIGRl
bGV0ZSwgd2UgbWF5IHdhbnQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudCBlbHNld2hlcmUuCiB2
b2lkIEpTT2JqZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShFeGVjU3RhdGUqIGV4
ZWMpCkBAIC05MjAsMTggKzEwMjIsMzUgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OmZp
bGxHZXR0ZXJQcgogICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgpOwogfQogCi1TdHJ1Y3R1cmUq
IEpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit2
b2lkIEpTT2JqZWN0Ojpub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhKQogewotICAgIEFTU0VSVCghZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KSk7Ci0KLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0OwotICAgIGlmIChpc0dsb2JhbFRoaXMoKSkKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9iamVjdCgpOwotICAgIGVs
c2UKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpOwot
ICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0
cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsK
KyAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7CisgICAgcHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZURl
ZmluZU93blByb3BlcnR5PihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXks
IGpzVW5kZWZpbmVkKCksIERvbnRFbnVtLCBzbG90LCAwKTsKKyAgICAKKyAgICAvLyBOb3RlIHRo
YXQgdGhpcyBtZXRob2QgbWFrZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hl
Y2sgaWYgdGhpcworICAgIC8vIG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3Jz
LiBXZSBjb3VsZCBkbyB0aGF0IGNoZWNrIGhlcmUsIGFuZCBpZgorICAgIC8vIGluZGV4ZWQgYWNj
ZXNzb3JzIHdlcmUgZm91bmQsIHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2
ZSBhIGJhZAorICAgIC8vIHRpbWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9s
bG93aW5nIHRvIGJlIGFsd2F5cyBmYXN0OgorICAgIC8vCisgICAgLy8gMSkgQ3JlYXRlIGFuIG9i
amVjdC4KKyAgICAvLyAyKSBHaXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0
aGF0IGhhcHBlbnMgdG8gaGF2ZSBhIG51bWVyaWMgbmFtZS4KKyAgICAvLyAzKSBBbGxvY2F0ZSBv
YmplY3RzIHRoYXQgdXNlIHRoaXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgorICAgIC8vCisgICAg
Ly8gVGhpcyBhdm9pZHMgYW55b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0
YW5jZSBvYmplY3RzIGVuZCB1cAorICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBj
cmVhdGlvbiBvZiBpbmRleGVkIHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKKyAgICAvLyBj
aGFpbiB3YWxrIHRoYXQgZGV0ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFu
ZCB0aGVuIGRvZXMgdGhlCisgICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcg
YSBiYWQgdGltZSBvbmx5IGhhcHBlbnMgaWYgeW91IGFkZCBhbgorICAgIC8vIGluZGV4ZWQgc2V0
dGVyIChvciBnZXR0ZXIsIG9yIHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMg
YWxyZWFkeQorICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCit9CiAKLSAgICBTdHJ1Y3R1cmUq
IGluaGVyaXRvcklEID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgZ2xv
YmFsT2JqZWN0LCB0aGlzKTsKK1N0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklE
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklE
ID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdW53cmFwcGVkR2xvYmFs
T2JqZWN0KCksIHRoaXMpOwogICAgIEFTU0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKIAog
ICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwpAQCAtOTgxLDYgKzExMDAsOSBAQCB2b2lkIEpTT2Jq
ZWN0OjpwdXRJbmRleGVkRGVzY3JpcHRvcihFeGVjCiBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25J
bmRleGVkUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHRocm93RXhjZXB0aW9uKQogewogICAgIEFTU0VS
VChpbmRleCA8PSBNQVhfQVJSQVlfSU5ERVgpOworICAgIAorICAgIGlmIChkZXNjcmlwdG9yLmF0
dHJpYnV0ZXMoKSAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkKKyAgICAgICAgbm90aWZ5UHJlc2Vu
Y2VPZkluZGV4ZWRBY2Nlc3NvcnMoZXhlYy0+Z2xvYmFsRGF0YSgpKTsKIAogICAgIGlmICghaW5T
cGFyc2VJbmRleGluZ01vZGUoKSkgewogICAgICAgICAvLyBGYXN0IGNhc2U6IHdlJ3JlIHB1dHRp
bmcgYSByZWd1bGFyIHByb3BlcnR5IHRvIGEgcmVndWxhciBhcnJheQpAQCAtMTEwOSw2ICsxMjMx
LDQwIEBAIHZvaWQgSlNPYmplY3Q6OmRlYWxsb2NhdGVTcGFyc2VJbmRleE1hcCgKICAgICAgICAg
YXJyYXlTdG9yYWdlLT5tX3NwYXJzZU1hcC5jbGVhcigpOwogfQogCitib29sIEpTT2JqZWN0Ojph
dHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlRm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUsIGJvb2wg
c2hvdWxkVGhyb3cpCit7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsK
KyAgICAgICAgLy8gVGhpcyBoYXMgdGhlIHNhbWUgYmVoYXZpb3Igd2l0aCByZXNwZWN0IHRvIHBy
b3RvdHlwZXMgYXMgSlNPYmplY3Q6OnB1dCgpLiBJdCBvbmx5CisgICAgICAgIC8vIGFsbG93cyBh
IHByb3RvdHlwZSB0byBpbnRlcmNlcHQgYSBwdXQgaWYgKGEpIHRoZSBwcm90b3R5cGUgZGVjbGFy
ZXMgdGhlIHByb3BlcnR5CisgICAgICAgIC8vIHdlJ3JlIGFmdGVyIHJhdGhlciB0aGFuIGludGVy
Y2VwdGluZyBpdCB2aWEgYW4gb3ZlcnJpZGUgb2YgSlNPYmplY3Q6OnB1dCgpLCBhbmQKKyAgICAg
ICAgLy8gKGIpIHRoYXQgcHJvcGVydHkgaXMgZGVjbGFyZWQgYXMgUmVhZE9ubHkgb3IgQWNjZXNz
b3IuCisgICAgICAgIAorICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjdXJyZW50LT5h
cnJheVN0b3JhZ2VPck51bGwoKTsKKyAgICAgICAgaWYgKHN0b3JhZ2UgJiYgc3RvcmFnZS0+bV9z
cGFyc2VNYXApIHsKKyAgICAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXA6Oml0ZXJhdG9yIGl0
ZXIgPSBzdG9yYWdlLT5tX3NwYXJzZU1hcC0+ZmluZChpKTsKKyAgICAgICAgICAgIGlmIChpdGVy
ICE9IHN0b3JhZ2UtPm1fc3BhcnNlTWFwLT5ub3RGb3VuZCgpICYmIChpdGVyLT5zZWNvbmQuYXR0
cmlidXRlcyAmIChBY2Nlc3NvciB8IFJlYWRPbmx5KSkpIHsKKyAgICAgICAgICAgICAgICBpdGVy
LT5zZWNvbmQucHV0KGV4ZWMsIHRoaXNWYWx1ZSwgc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0KCks
IHZhbHVlLCBzaG91bGRUaHJvdyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
VmFsdWUgPSBjdXJyZW50LT5wcm90b3R5cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZVZhbHVl
LmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAg
Y3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZVZhbHVlKTsKKyAgICB9Cit9CisKK2Jvb2wgSlNP
YmplY3Q6OmF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoRXhlY1N0YXRlKiBleGVj
LCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAgIEpT
VmFsdWUgcHJvdG90eXBlVmFsdWUgPSBwcm90b3R5cGUoKTsKKyAgICBpZiAocHJvdG90eXBlVmFs
dWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gYXNP
YmplY3QocHJvdG90eXBlVmFsdWUpLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xl
Rm9yUHJvdG90eXBlKGV4ZWMsIHRoaXMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7Cit9CisKIHZv
aWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdl
KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRU
aHJvdywgQXJyYXlTdG9yYWdlKiBzdG9yYWdlKQogewogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSA9IGV4ZWMtPmdsb2JhbERhdGEoKTsKQEAgLTExODksOCArMTM0NSw3IEBAIHZvaWQgSlNP
YmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICBBU1NFUlQoaSA8PSBNQVhfQVJS
QVlfSU5ERVgpOwogICAgIAogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6IHsKKyAgICBjYXNl
IEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzogewogICAgICAgICBpZiAoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKSB7CiAgICAgICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0
aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGVuc3VyZUFycmF5U3Rv
cmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShnbG9iYWxEYXRhKSk7CiAg
ICAgICAgICAgICBicmVhazsKQEAgLTEyMDUsNiArMTM2MCwxMiBAQCB2b2lkIEpTT2JqZWN0Ojpw
dXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5W
ZWN0b3IgPSAxOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgICAgIAorICAgIGNhc2UgTm9u
QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgICAgIGlmIChhdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25I
b2xlKGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIC8vIE90aGVyd2lzZSwgZmFsbCB0aG91Z2guCiAKICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTEyOTcs
OSArMTQ1OCwxMSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3RvCiAg
ICAgLy8gaSBzaG91bGQgYmUgYSB2YWxpZCBhcnJheSBpbmRleCB0aGF0IGlzIG91dHNpZGUgb2Yg
dGhlIGN1cnJlbnQgdmVjdG9yLgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJBWV9JTkRFWCk7CiAg
ICAgCisgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3NvcikpCisgICAgICAg
IG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKGdsb2JhbERhdGEpOworICAgIAogICAg
IHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJh
eToKLSAgICBjYXNlIEFycmF5Q2xhc3M6IHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzogewogICAgICAgICBpZiAoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IGF0dHJpYnV0
ZXMpCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhX
aXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBlbnN1cmVB
cnJheVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoZ2xvYmFsRGF0
YSkpOwogICAgICAgICBpZiAoIWlzRGVuc2VFbm91Z2hGb3JWZWN0b3IoaSwgMCkgfHwgaSA+PSBN
QVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKQpAQCAtMTMxMSw4ICsxNDc0LDcgQEAgYm9vbCBKU09i
amVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0bwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5
V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBhcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xMzU0LDEzICsxNTE2LDExIEBAIEFM
V0FZU19JTkxJTkUgdW5zaWduZWQgSlNPYmplY3Q6OmdldE5ld1YKICAgICB1bnNpZ25lZCBsZW5n
dGg7CiAgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFO
S19JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3RoID0gMDsKICAgICAgICAgbGVu
Z3RoID0gMDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBTExfQVJSQVlf
U1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3RoID0gbV9idXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKICAgICAgICAgbGVuZ3RoID0gbV9i
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5sZW5ndGgoKTsKICAgICAgICAgYnJlYWs7CkBAIC0x
NDc4LDEyICsxNjM4LDEwIEBAIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRv
cigKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2Ug
QXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFn
ZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZ
X1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdl
ID0gb2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChpID49
IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAxMjg3MTQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTgsNyArMTE4LDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIHNldFBy
b3RvdHlwZVdpdGhDeWNsZUNoZWNrKEpTR2xvYmFsRGF0YSYsIEpTVmFsdWUgcHJvdG90eXBlKTsK
ICAgICAgICAgCiAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJik7
Ci0KKyAgICAgICAgdm9pZCBub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJik7Cisg
ICAgICAgIAorICAgICAgICBib29sIG1heUJlVXNlZEFzUHJvdG90eXBlKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGlzVmFsaWRPZmZzZXQo
c3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkp
KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBtYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCktPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgICAgICB9CisgICAgICAgIAogICAgICAg
ICBKU1ZhbHVlIGdldChFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgICAgICBK
U1ZhbHVlIGdldChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpIGNvbnN0OwogCkBA
IC0xMzUsMTEgKzE0Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB1bnNpZ25lZCBnZXRB
cnJheUxlbmd0aCgpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAg
ICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19U
WVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
LT5sZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0xNTAsMTEgKzE1OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB1bnNpZ25lZCBnZXRWZWN0b3JMZW5ndGgoKQogICAgICAgICB7CiAgICAgICAgICAgICBz
d2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBO
b25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAg
ICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNl
IEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTg5LDExICsxOTYsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBjYW5HZXRJbmRleFF1aWNrbHkodW5zaWduZWQg
aSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgor
ICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgICAgICAgICByZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9y
TGVuZ3RoKCkgJiYgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsKICAg
ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CkBAIC0yMDQsOCArMjA5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAo
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5
V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3Rv
cltpXS5nZXQoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0yMTYsMTIgKzIyMCwxNSBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgYm9vbCBjYW5TZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkKICAgICAgICAgewogICAg
ICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAg
ICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAg
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKICAg
ICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgICAgIHJl
dHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKKyAg
ICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAg
ICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCkKKyAg
ICAgICAgICAgICAgICAgICAgJiYgISFtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVj
dG9yW2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMzEsOCArMjM4
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5KEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2KQogICAgICAgICB7CiAg
ICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAg
ICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiYgeCA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3JbaV07CiAgICAgICAg
ICAgICAgICAgaWYgKCF4KSB7CiAgICAgICAgICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3Rv
cmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKQEAgLTI1MSw4ICsyNTcsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBpbml0aWFsaXplSW5kZXgoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBj
YXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9i
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogI2lmIENIRUNLX0FSUkFZX0NPTlNJU1RFTkNZCiAg
ICAgICAgICAgICAgICAgQVNTRVJUKHN0b3JhZ2UtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24p
OwpAQCAtMjc2LDggKzI4MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGNvbXBs
ZXRlSW5pdGlhbGl6YXRpb24odW5zaWduZWQgbmV3TGVuZ3RoKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAg
Y2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0
aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1f
YnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0
IHdlIGhhdmUgaW5pdGlhbGl6ZWQgYXMgbWVueSBwcm9wZXJ0aWVzIGFzIHdlIHRoaW5rIHdlIGhh
dmUuCiAgICAgICAgICAgICAgICAgVU5VU0VEX1BBUkFNKHN0b3JhZ2UpOwpAQCAtMjk4LDExICsz
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBpblNwYXJzZUluZGV4aW5nTW9k
ZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2FzZSBB
cnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToK
KyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+aW5TcGFyc2VN
b2RlKCk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpAQCAtNDg3LDYgKzQ4OSwyMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgICAgIH0KICAgICAg
ICAgCisgICAgICAgIC8vIERvZXMgZXZlcnl0aGluZyBwb3NzaWJsZSB0byByZXR1cm4gdGhlIGds
b2JhbCBvYmplY3QuIElmIGl0IGVuY291bnRlcnMgYW4gb2JqZWN0CisgICAgICAgIC8vIHRoYXQg
ZG9lcyBub3QgaGF2ZSBhIGdsb2JhbCBvYmplY3QsIGl0IHJldHVybnMgMCBpbnN0ZWFkIChmb3Ig
ZXhhbXBsZQorICAgICAgICAvLyBKU05vdEFuT2JqZWN0KS4KKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIHVud3JhcHBlZEdsb2JhbE9iamVjdCgpOworICAgICAgICAKKyAgICAgICAgdm9pZCBzd2l0
Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAg
ICAvLyBUaGUgcmVjZWl2ZXIgaXMgdGhlIHByb3RvdHlwZSBpbiB0aGlzIGNhc2UuIFRoZSBmb2xs
b3dpbmc6CisgICAgICAgIC8vCisgICAgICAgIC8vIGFzT2JqZWN0KGZvby0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZSgpKS0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZv
clByb3RvdHlwZSguLi4pCisgICAgICAgIC8vCisgICAgICAgIC8vIGlzIGVxdWl2YWxlbnQgdG86
CisgICAgICAgIC8vCisgICAgICAgIC8vIGZvby0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRl
eE9uSG9sZSguLi4pOworICAgICAgICBib29sIGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhP
bkhvbGVGb3JQcm90b3R5cGUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHRoaXNWYWx1ZSwgdW5z
aWduZWQgaSwgSlNWYWx1ZSB2LCBib29sIHNob3VsZFRocm93KTsKKyAgICAgICAgCiAgICAgICAg
IHN0YXRpYyBzaXplX3Qgb2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCk7CiAgICAgICAgIAogICAgICAg
ICBzdGF0aWMgcHRyZGlmZl90IGJ1dHRlcmZseU9mZnNldCgpCkBAIC01MjIsMTAgKzU0MCw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBUbyBjcmVhdGUgZGVyaXZlZCB0eXBlcyB5b3Ug
bGlrZWx5IHdhbnQgSlNOb25GaW5hbE9iamVjdCwgYmVsb3cuCiAgICAgICAgIEpTT2JqZWN0KEpT
R2xvYmFsRGF0YSYsIFN0cnVjdHVyZSosIEJ1dHRlcmZseSogPSAwKTsKICAgICAgICAgCi0gICAg
ICAgIHZvaWQgcmVzZXRJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCi0gICAg
ICAgIHsKLSAgICAgICAgICAgIHJlbW92ZURpcmVjdChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1f
aW5oZXJpdG9ySURLZXkpOwotICAgICAgICB9CisgICAgICAgIHZvaWQgcmVzZXRJbmhlcml0b3JJ
RChKU0dsb2JhbERhdGEmKTsKICAgICAgICAgCiAgICAgICAgIHZvaWQgdmlzaXRCdXR0ZXJmbHko
U2xvdFZpc2l0b3ImLCBCdXR0ZXJmbHkqLCBzaXplX3Qgc3RvcmFnZVNpemUpOwogCkBAIC01MzMs
NyArNTQ4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIC8vIHN0b3JhZ2UuIFRoaXMgd2ls
bCBhc3NlcnQgb3RoZXJ3aXNlLgogICAgICAgICBBcnJheVN0b3JhZ2UqIGFycmF5U3RvcmFnZSgp
CiAgICAgICAgIHsKLSAgICAgICAgICAgIEFTU0VSVChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBl
KCkgfCBIYXNBcnJheVN0b3JhZ2UpOworICAgICAgICAgICAgQVNTRVJUKGhhc0FycmF5U3RvcmFn
ZShzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpKTsKICAgICAgICAgICAgIHJldHVybiBtX2J1
dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC01NDIsOCAr
NTU3LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogYXJyYXlTdG9y
YWdlT3JOdWxsKCkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAg
ICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAg
IHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICBkZWZhdWx0OgpAQCAtNTU4LDEyICs1NzIsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIEFycmF5U3RvcmFnZSogZW5zdXJlQXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+
aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgICAg
ICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAg
IHJldHVybiBtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgICAgICAgICAgCi0g
ICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgor
ICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGNyZWF0ZUluaXRpYWxBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSk7CiAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0OgpAQCAtNTkyLDYgKzYwNCwxMCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBkZWFsbG9jYXRlU3BhcnNlSW5kZXhNYXAoKTsKICAg
ICAgICAgYm9vbCBkZWZpbmVPd25JbmRleGVkUHJvcGVydHkoRXhlY1N0YXRlKiwgdW5zaWduZWQs
IFByb3BlcnR5RGVzY3JpcHRvciYsIGJvb2wgdGhyb3dFeGNlcHRpb24pOwogICAgICAgICBTcGFy
c2VBcnJheVZhbHVlTWFwKiBhbGxvY2F0ZVNwYXJzZUluZGV4TWFwKEpTR2xvYmFsRGF0YSYpOwor
ICAgICAgICAKKyAgICAgICAgdm9pZCBub3RpZnlQcmVzZW5jZU9mSW5kZXhlZEFjY2Vzc29ycyhK
U0dsb2JhbERhdGEmKTsKKyAgICAgICAgCisgICAgICAgIGJvb2wgYXR0ZW1wdFRvSW50ZXJjZXB0
UHV0QnlJbmRleE9uSG9sZShFeGVjU3RhdGUqLCB1bnNpZ25lZCBpbmRleCwgSlNWYWx1ZSwgYm9v
bCBzaG91bGRUaHJvdyk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgTExJ
bnRPZmZzZXRzRXh0cmFjdG9yOwpAQCAtODI0LDIyICs4NDAsNiBAQCBpbmxpbmUgSlNWYWx1ZSBK
U09iamVjdDo6cHJvdG90eXBlKCkgY29uCiAgICAgcmV0dXJuIHN0cnVjdHVyZSgpLT5zdG9yZWRQ
cm90b3R5cGUoKTsKIH0KIAotaW5saW5lIHZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0ds
b2JhbERhdGEmIGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQotewotICAgIEFTU0VSVChw
cm90b3R5cGUpOwotICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBTdHJ1Y3R1cmU6OmNoYW5n
ZVByb3RvdHlwZVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIHByb3RvdHlwZSkp
OwotfQotCi1pbmxpbmUgU3RydWN0dXJlKiBKU09iamVjdDo6aW5oZXJpdG9ySUQoSlNHbG9iYWxE
YXRhJiBnbG9iYWxEYXRhKQotewotICAgIGlmIChXcml0ZUJhcnJpZXJCYXNlPFVua25vd24+KiBs
b2NhdGlvbiA9IGdldERpcmVjdExvY2F0aW9uKGdsb2JhbERhdGEsIGdsb2JhbERhdGEubV9pbmhl
cml0b3JJREtleSkpIHsKLSAgICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRCA9IGpzQ2FzdDxT
dHJ1Y3R1cmUqPihsb2NhdGlvbi0+Z2V0KCkpOwotICAgICAgICBBU1NFUlQoaW5oZXJpdG9ySUQt
PmlzRW1wdHkoKSk7Ci0gICAgICAgIHJldHVybiBpbmhlcml0b3JJRDsKLSAgICB9Ci0gICAgcmV0
dXJuIGNyZWF0ZUluaGVyaXRvcklEKGdsb2JhbERhdGEpOwotfQotCiBpbmxpbmUgYm9vbCBKU0Nl
bGw6OmluaGVyaXRzKGNvbnN0IENsYXNzSW5mbyogaW5mbykgY29uc3QKIHsKICAgICByZXR1cm4g
Y2xhc3NJbmZvKCktPmlzU3ViQ2xhc3NPZihpbmZvKTsKQEAgLTExOTAsOCArMTE5MCw3IEBAIGlu
bGluZSB2b2lkIEpTVmFsdWU6OnB1dChFeGVjU3RhdGUqIGV4ZWMKIGlubGluZSB2b2lkIEpTVmFs
dWU6OnB1dEJ5SW5kZXgoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpT
VmFsdWUgdmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cpCiB7CiAgICAgaWYgKFVOTElLRUxZKCFpc0Nl
bGwoKSkpIHsKLSAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qoc2hvdWxkVGhyb3cpOwotICAg
ICAgICBwdXRUb1ByaW1pdGl2ZShleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHByb3BlcnR5
TmFtZSksIHZhbHVlLCBzbG90KTsKKyAgICAgICAgcHV0VG9QcmltaXRpdmVCeUluZGV4KGV4ZWMs
IHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICBhc0NlbGwoKS0+bWV0aG9kVGFibGUoKS0+cHV0QnlJbmRleChhc0NlbGwoKSwgZXhl
YywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5jcHAJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDcgKzEsNyBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMSBIYXJyaSBQb3J0ZW4g
KHBvcnRlbkBrZGUub3JnKQogICogIENvcHlyaWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1r
QHBvc3QuY29tKQotICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA3LCAyMDA4
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC0xMTMsNiArMTEzLDEyIEBAIHZvaWQgSlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUoRXhl
Y1N0YXRlKiAKIHsKICAgICBKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEgPSBleGVjLT5nbG9iYWxE
YXRhKCk7CiAKKyAgICB1bnNpZ25lZCBpbmRleCA9IHByb3BlcnR5TmFtZS5hc0luZGV4KCk7Cisg
ICAgaWYgKGluZGV4ICE9IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRleCkgeworICAgICAgICBwdXRU
b1ByaW1pdGl2ZUJ5SW5kZXgoZXhlYywgaW5kZXgsIHZhbHVlLCBzbG90LmlzU3RyaWN0TW9kZSgp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIENoZWNrIGlmIHRoZXJlIGFyZSBh
bnkgc2V0dGVycyBvciBnZXR0ZXJzIGluIHRoZSBwcm90b3R5cGUgY2hhaW4KICAgICBKU09iamVj
dCogb2JqID0gc3ludGhlc2l6ZVByb3RvdHlwZShleGVjKTsKICAgICBKU1ZhbHVlIHByb3RvdHlw
ZTsKQEAgLTE3Miw2ICsxNzgsMjEgQEAgdm9pZCBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZShFeGVj
U3RhdGUqIAogICAgIHJldHVybjsKIH0KIAordm9pZCBKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZUJ5
SW5kZXgoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFs
dWUsIGJvb2wgc2hvdWxkVGhyb3cpCit7CisgICAgaWYgKHByb3BlcnR5TmFtZSA+IE1BWF9BUlJB
WV9JTkRFWCkgeworICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChzaG91bGRUaHJvdyk7Cisg
ICAgICAgIHB1dFRvUHJpbWl0aXZlKGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgcHJvcGVy
dHlOYW1lKSwgdmFsdWUsIHNsb3QpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAg
IGlmIChzeW50aGVzaXplUHJvdG90eXBlKGV4ZWMpLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUlu
ZGV4T25Ib2xlRm9yUHJvdG90eXBlKGV4ZWMsICp0aGlzLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBz
aG91bGRUaHJvdykpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBpZiAoc2hvdWxkVGhyb3cp
CisgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5
V3JpdGVFcnJvcik7Cit9CisKIGNoYXIqIEpTVmFsdWU6OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsK
ICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IHNpemUgPSAxMjg7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3
IEBACiAvKgogICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAxIEhhcnJpIFBvcnRlbiAocG9ydGVu
QGtkZS5vcmcpCiAgKiAgQ29weXJpZ2h0IChDKSAyMDAxIFBldGVyIEtlbGx5IChwbWtAcG9zdC5j
b20pCi0gKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI0MCw2ICsyNDAsNyBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAgICAgICAgdm9pZCBwdXQoRXhlY1N0
YXRlKiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmKTsKICAgICAgICAg
dm9pZCBwdXRUb1ByaW1pdGl2ZShFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1
dFByb3BlcnR5U2xvdCYpOworICAgICAgICB2b2lkIHB1dFRvUHJpbWl0aXZlQnlJbmRleChFeGVj
U3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIGJvb2wgc2hvdWxkVGhyb3cp
OwogICAgICAgICB2b2lkIHB1dEJ5SW5kZXgoRXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93KTsKIAogICAgICAgICBKU09iamVjdCogdG9U
aGlzT2JqZWN0KEV4ZWNTdGF0ZSopIGNvbnN0OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIHZvaWQgT2JqZWN0UHJvdG90eXBlOjpmaW5pc2hD
cmVhdGlvbihKU0cKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAg
ICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpOworICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShn
bG9iYWxEYXRhKTsKIH0KIAogYm9vbCBPYmplY3RQcm90b3R5cGU6OmdldE93blByb3BlcnR5U2xv
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSwgUHJvcGVydHlTbG90ICZzbG90KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5jcHAJKHJldmlzaW9uIDEyODcxNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05OSwzMyArOTksOCBAQCB2b2lkIFNwYXJzZUFycmF5VmFsdWVN
YXA6OnB1dEVudHJ5KEV4ZWNTCiAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJp
Y3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJyb3IpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotCi0gICAgaWYgKCEoZW50cnkuYXR0cmlidXRlcyAmIEFjY2Vzc29yKSkgewotICAgICAgICBp
ZiAoZW50cnkuYXR0cmlidXRlcyAmIFJlYWRPbmx5KSB7Ci0gICAgICAgICAgICBpZiAoc2hvdWxk
VGhyb3cpCi0gICAgICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJl
YWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotCi0gICAgICAgIGVudHJ5LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIHZhbHVlKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEpTVmFsdWUgYWNjZXNzb3IgPSBlbnRyeS5T
cGFyc2VBcnJheUVudHJ5OjpCYXNlOjpnZXQoKTsKLSAgICBBU1NFUlQoYWNjZXNzb3IuaXNHZXR0
ZXJTZXR0ZXIoKSk7Ci0gICAgSlNPYmplY3QqIHNldHRlciA9IGFzR2V0dGVyU2V0dGVyKGFjY2Vz
c29yKS0+c2V0dGVyKCk7CiAgICAgCi0gICAgaWYgKCFzZXR0ZXIpIHsKLSAgICAgICAgaWYgKHNo
b3VsZFRocm93KQotICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywgU3RyaWN0TW9kZVJl
YWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAg
IENhbGxEYXRhIGNhbGxEYXRhOwotICAgIENhbGxUeXBlIGNhbGxUeXBlID0gc2V0dGVyLT5tZXRo
b2RUYWJsZSgpLT5nZXRDYWxsRGF0YShzZXR0ZXIsIGNhbGxEYXRhKTsKLSAgICBNYXJrZWRBcmd1
bWVudEJ1ZmZlciBhcmdzOwotICAgIGFyZ3MuYXBwZW5kKHZhbHVlKTsKLSAgICBjYWxsKGV4ZWMs
IHNldHRlciwgY2FsbFR5cGUsIGNhbGxEYXRhLCBhcnJheSwgYXJncyk7CisgICAgZW50cnkucHV0
KGV4ZWMsIGFycmF5LCB0aGlzLCB2YWx1ZSwgc2hvdWxkVGhyb3cpOwogfQogCiBib29sIFNwYXJz
ZUFycmF5VmFsdWVNYXA6OnB1dERpcmVjdChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBhcnJh
eSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHV0RGly
ZWN0SW5kZXhNb2RlIG1vZGUpCkBAIC0xODcsNiArMTYyLDM2IEBAIEpTVmFsdWUgU3BhcnNlQXJy
YXlFbnRyeTo6Z2V0KEV4ZWNTdGF0ZSoKICAgICByZXR1cm4gY2FsbChleGVjLCBnZXR0ZXIsIGNh
bGxUeXBlLCBjYWxsRGF0YSwgYXJyYXksIGV4ZWMtPmVtcHR5TGlzdCgpKTsKIH0KIAordm9pZCBT
cGFyc2VBcnJheUVudHJ5OjpwdXQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHRoaXNWYWx1ZSwg
U3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93
KQoreworICAgIGlmICghKGF0dHJpYnV0ZXMgJiBBY2Nlc3NvcikpIHsKKyAgICAgICAgaWYgKGF0
dHJpYnV0ZXMgJiBSZWFkT25seSkgeworICAgICAgICAgICAgaWYgKHNob3VsZFRocm93KQorICAg
ICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3Bl
cnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBzZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCBtYXAsIHZhbHVlKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgIEpTVmFsdWUgYWNjZXNzb3IgPSBCYXNlOjpnZXQoKTsKKyAgICBBU1NFUlQo
YWNjZXNzb3IuaXNHZXR0ZXJTZXR0ZXIoKSk7CisgICAgSlNPYmplY3QqIHNldHRlciA9IGFzR2V0
dGVyU2V0dGVyKGFjY2Vzc29yKS0+c2V0dGVyKCk7CisgICAgCisgICAgaWYgKCFzZXR0ZXIpIHsK
KyAgICAgICAgaWYgKHNob3VsZFRocm93KQorICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhl
YywgU3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIENhbGxEYXRhIGNhbGxEYXRhOworICAgIENhbGxUeXBlIGNhbGxUeXBl
ID0gc2V0dGVyLT5tZXRob2RUYWJsZSgpLT5nZXRDYWxsRGF0YShzZXR0ZXIsIGNhbGxEYXRhKTsK
KyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmdzOworICAgIGFyZ3MuYXBwZW5kKHZhbHVlKTsK
KyAgICBjYWxsKGV4ZWMsIHNldHRlciwgY2FsbFR5cGUsIGNhbGxEYXRhLCB0aGlzVmFsdWUsIGFy
Z3MpOworfQorCiBKU1ZhbHVlIFNwYXJzZUFycmF5RW50cnk6OmdldE5vblNwYXJzZU1vZGUoKSBj
b25zdAogewogICAgIEFTU0VSVCghYXR0cmlidXRlcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5oCShyZXZpc2lvbiAx
Mjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVl
TWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDggQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKK2NsYXNzIFNwYXJzZUFycmF5VmFsdWVNYXA7CisKIHN0cnVjdCBTcGFyc2VBcnJheUVudHJ5
IDogcHVibGljIFdyaXRlQmFycmllcjxVbmtub3duPiB7CiAgICAgdHlwZWRlZiBXcml0ZUJhcnJp
ZXI8VW5rbm93bj4gQmFzZTsKIApAQCAtNDQsNiArNDYsNyBAQCBzdHJ1Y3QgU3BhcnNlQXJyYXlF
bnRyeSA6IHB1YmxpYyBXcml0ZUJhCiAgICAgSlNWYWx1ZSBnZXQoRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqKSBjb25zdDsKICAgICB2b2lkIGdldChQcm9wZXJ0eVNsb3QmKSBjb25zdDsKICAgICB2b2lk
IGdldChQcm9wZXJ0eURlc2NyaXB0b3ImKSBjb25zdDsKKyAgICB2b2lkIHB1dChFeGVjU3RhdGUq
LCBKU1ZhbHVlIHRoaXNWYWx1ZSwgU3BhcnNlQXJyYXlWYWx1ZU1hcCosIEpTVmFsdWUsIGJvb2wg
c2hvdWxkVGhyb3cpOwogICAgIEpTVmFsdWUgZ2V0Tm9uU3BhcnNlTW9kZSgpIGNvbnN0OwogCiAg
ICAgdW5zaWduZWQgYXR0cmlidXRlczsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RydWN0dXJlLmNwcAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA5LDYgKzMw
OSwzMCBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgcmV0
dXJuIDA7CiB9CiAKK2Jvb2wgU3RydWN0dXJlOjphbnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0
SW5kZXhlZEFjY2Vzc2VzKCkgY29uc3QKK3sKKyAgICBmb3IgKGNvbnN0IFN0cnVjdHVyZSogY3Vy
cmVudCA9IHRoaXM7IDspIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPm1heUludGVyY2VwdEluZGV4
ZWRBY2Nlc3NlcygpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgICAg
ICBKU1ZhbHVlIHByb3RvdHlwZSA9IGN1cnJlbnQtPnN0b3JlZFByb3RvdHlwZSgpOworICAgICAg
ICBpZiAocHJvdG90eXBlLmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAKKyAgICAgICAgY3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZSktPnN0cnVjdHVyZSgp
OworICAgIH0KK30KKworTm9uUHJvcGVydHlUcmFuc2l0aW9uIFN0cnVjdHVyZTo6c3VnZ2VzdGVk
SW5kZXhpbmdUcmFuc2l0aW9uKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoIWhhc0luZGV4ZWRQcm9w
ZXJ0aWVzKGluZGV4aW5nVHlwZSgpKSk7CisgICAgCisgICAgaWYgKGFueU9iamVjdEluQ2hhaW5N
YXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSB8fCBnbG9iYWxPYmplY3QoKS0+aXNIYXZpbmdB
QmFkVGltZSgpKQorICAgICAgICByZXR1cm4gQWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdlOwor
ICAgIAorICAgIHJldHVybiBBbGxvY2F0ZUFycmF5U3RvcmFnZTsKK30KKwogU3RydWN0dXJlKiBT
dHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbihKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEs
IFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCB1bnNpZ25l
ZCBhdHRyaWJ1dGVzLCBKU0NlbGwqIHNwZWNpZmljVmFsdWUsIFByb3BlcnR5T2Zmc2V0JiBvZmZz
ZXQpCiB7CiAgICAgLy8gSWYgd2UgaGF2ZSBhIHNwZWNpZmljIGZ1bmN0aW9uLCB3ZSBtYXkgaGF2
ZSBnb3QgdG8gdGhpcyBwb2ludCBpZiB0aGVyZSBpcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsNyAr
MTQ0LDE2IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGlu
Z1R5cGUoKSBjb25zdCB7IHJldHVybiBtX2luZGV4aW5nVHlwZSAmIEFsbEFycmF5VHlwZXM7IH0K
ICAgICAgICAgSW5kZXhpbmdUeXBlIGluZGV4aW5nVHlwZUluY2x1ZGluZ0hpc3RvcnkoKSBjb25z
dCB7IHJldHVybiBtX2luZGV4aW5nVHlwZTsgfQotCisgICAgICAgIAorICAgICAgICBib29sIG1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAg
IHJldHVybiAhIShpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkgJiBNYXlIYXZlSW5kZXhl
ZEFjY2Vzc29ycyk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJvb2wgYW55T2JqZWN0
SW5DaGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0OworICAgICAgICAKKyAg
ICAgICAgTm9uUHJvcGVydHlUcmFuc2l0aW9uIHN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbigp
IGNvbnN0OworICAgICAgICAKICAgICAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgp
IGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9CiAgICAgICAgIHZvaWQgc2V0
R2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNHbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCkgeyBtX2dsb2JhbE9iamVjdC5zZXQoZ2xvYmFsRGF0YSwgdGhpcywgZ2xvYmFs
T2JqZWN0KTsgfQogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oCShyZXZpc2lvbiAxMjg3
MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9u
VGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsMTAgQEAgc3RhdGljIGNvbnN0IHVu
c2lnbmVkIEZpcnN0SW50ZXJuYWxBdHRyaQogLy8gU3VwcG9ydCBmb3IgYXR0cmlidXRlcyB1c2Vk
IHRvIGluZGljYXRlIHRyYW5zaXRpb25zIG5vdCByZWxhdGVkIHRvIHByb3BlcnRpZXMuCiAvLyBJ
ZiBhbnkgb2YgdGhlc2UgYXJlIHVzZWQsIHRoZSBzdHJpbmcgcG9ydGlvbiBvZiB0aGUga2V5IHNo
b3VsZCBiZSAwLgogZW51bSBOb25Qcm9wZXJ0eVRyYW5zaXRpb24gewotICAgIEFsbG9jYXRlQXJy
YXlTdG9yYWdlCisgICAgQWxsb2NhdGVBcnJheVN0b3JhZ2UsCisgICAgQWxsb2NhdGVTbG93UHV0
QXJyYXlTdG9yYWdlLAorICAgIFN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZSwKKyAgICBBZGRJ
bmRleGVkQWNjZXNzb3JzCiB9OwogCiBpbmxpbmUgdW5zaWduZWQgdG9BdHRyaWJ1dGVzKE5vblBy
b3BlcnR5VHJhbnNpdGlvbiB0cmFuc2l0aW9uKQpAQCAtNTYsNiArNTksMTMgQEAgaW5saW5lIElu
ZGV4aW5nVHlwZSBuZXdJbmRleGluZ1R5cGUoSW5kZQogICAgIHN3aXRjaCAodHJhbnNpdGlvbikg
ewogICAgIGNhc2UgQWxsb2NhdGVBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiBvbGRUeXBl
IHwgSGFzQXJyYXlTdG9yYWdlOworICAgIGNhc2UgQWxsb2NhdGVTbG93UHV0QXJyYXlTdG9yYWdl
OgorICAgICAgICByZXR1cm4gb2xkVHlwZSB8IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2U7CisgICAg
Y2FzZSBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2U6CisgICAgICAgIEFTU0VSVChvbGRUeXBl
ICYgSGFzQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgcmV0dXJuIChvbGRUeXBlICYgfkhhc0FycmF5
U3RvcmFnZSkgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdlOworICAgIGNhc2UgQWRkSW5kZXhlZEFj
Y2Vzc29yczoKKyAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBNYXlIYXZlSW5kZXhlZEFjY2Vzc29y
czsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
cmV0dXJuIG9sZFR5cGU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjg3MTQpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMiBAQAorMjAxMi0wOS0xNiAg
RmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAgIElmIGEgcHJvdG90eXBl
IGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2ZSBpbmRleGVkIHN0b3Jh
Z2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJhZCB0aW1lCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjU5NgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgZmFpbGluZyBl
eHBlY3RhdGlvbiBmb3IgcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLCBhbmQK
KyAgICAgICAgYWRkZWQgbW9yZSB0ZXN0cyB0byBjb3ZlciB0aGUgbnVtZXJpY2FsLXNldHRlci1v
bi1wcm90b3R5cGUgY2FzZXMuCisKKyAgICAgICAgKiBmYXN0L2pzL2FycmF5LWJhZC10aW1lLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJheS1iYWQtdGltZS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2FycmF5LXNsb3ctcHV0LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJheS1zbG93LXB1dC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2pzL2pzYy10ZXN0LWxpc3Q6CisgICAgICAgICogZmFzdC9qcy9vYmplY3Qt
YmFkLXRpbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1i
YWQtdGltZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1zbG93LXB1dC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvb2JqZWN0LXNsb3ctcHV0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1l
LmpzOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1zbG93LXB1
dC5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRl
c3RzL29iamVjdC1iYWQtdGltZS5qczogQWRkZWQuCisgICAgICAgIChDb25zKToKKyAgICAgICAg
KiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qtc2xvdy1wdXQuanM6IEFkZGVkLgorICAgICAg
ICAoQ29ucyk6CisgICAgICAgIChmb28pOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2pz
L3ByaW1pdGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1jYXNlcy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisKIDIwMTItMDktMTYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OIChyMTI2NzYzKTogY3NzMS9wc2V1ZG8vZmlyc3RsaW5lLmh0bWwgZmFp
bHMgd2hlbiB1c2luZyB0aGUgY29tcGxleCB0ZXh0IGNvZGUgcGF0aApJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9qcy9hcnJheS1iYWQtdGltZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1iYWQtdGltZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LWJhZC10aW1lLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMDYxIEBACitUZXN0cyB0aGF0IGRlZmluaW5nIGEgc2V0dGVy
IG9uIHRoZSBBcnJheSBwcm90b3R5cGUgd29ya3MgZXZlbiBpZiBpdCBpcyBkb25lIGFmdGVyIGFy
cmF5cyBhcmUgYWxsb2NhdGVkLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFT
UyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIs
Myw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBp
cyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwx
LDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0Igor
UEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwx
LDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0
IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAi
MCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0
IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAi
MCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIs
Myw0IiBpcyAiMCwxLDIsMyw0IgorUEFTUyAiMCwxLDIsMyw0IiBpcyAiMCwxLDIsMyw0IgorSGVu
Y2Vmb3J0aCBJIHdpbGwgaGF2ZSBhIGJhZCB0aW1lLgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2gh
CitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBp
cyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK1BBU1Mg
b3VjaGVzIGlzIDUwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1iYWQtdGltZS5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc2xvdy1wdXQtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc2xvdy1wdXQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zbG93LXB1dC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEwIEBACitUZXN0cyB0aGF0IGRlZmlu
aW5nIGEgc2V0dGVyIG9uIHRoZSBBcnJheSBwcm90b3R5cGUgd29ya3MuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwy
LCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIK
K1BBU1Mgb3VjaGVzIGlzIDEwMAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc2xvdy1wdXQu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0Lmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0Lmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlw
dCBzcmM9InNjcmlwdC10ZXN0cy9hcnJheS1zbG93LXB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2pzYy10ZXN0LWxpc3QKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9qc2MtdGVzdC1saXN0CShyZXZpc2lvbiAxMjg3MTQpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2pzL2pzYy10ZXN0LWxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTIs
NiArMiw3IEBAIGZhc3QvanMvYWRkLXJlY292ZXJ5CiBmYXN0L2pzL2FwcGx5LXZhcmFyZ3MKIGZh
c3QvanMvYXJndW1lbnRzLWJhZC1pbmRleAogZmFzdC9qcy9hcmd1bWVudHMKK2Zhc3QvanMvYXJy
YXktYmFkLXRpbWUKIGZhc3QvanMvYXJyYXktY29uc3RydWN0b3ItaG9zdC1jYWxsCiBmYXN0L2pz
L2FycmF5LWRlZmluZU93blByb3BlcnR5CiBmYXN0L2pzL2FycmF5LWVudW1lcmF0b3JzLWZ1bmN0
aW9ucwpAQCAtMTksNiArMjAsNyBAQCBmYXN0L2pzL2FycmF5LXByb3RvLWZ1bmMtcHJvcGVydHkt
Z2V0dGVyCiBmYXN0L2pzL2FycmF5LXJlZHVjZQogZmFzdC9qcy9hcnJheS1yZWR1Y2VSaWdodAog
ZmFzdC9qcy9hcnJheS1yZXNldC1sYXJnZS1pbmRleAorZmFzdC9qcy9hcnJheS1zbG93LXB1dAog
ZmFzdC9qcy9hcnJheS1zb3J0LW51bWVyaWNDb21wYXJlCiBmYXN0L2pzL2FycmF5LXNvcnQtcmVl
bnRyYW5jZQogZmFzdC9qcy9hcnJheS1zcGxpY2UKQEAgLTIyOSw4ICsyMzEsMTAgQEAgZmFzdC9q
cy9PYmplY3QtZGVmaW5lUHJvcGVydGllcwogZmFzdC9qcy9PYmplY3QtZGVmaW5lUHJvcGVydHkK
IGZhc3QvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMKIGZhc3QvanMvT2JqZWN0LWtleXMK
K2Zhc3QvanMvb2JqZWN0LWJhZC10aW1lCiBmYXN0L2pzL29iamVjdC1saXRlcmFsLWRpcmVjdC1w
dXQKIGZhc3QvanMvb2JqZWN0LWxpdGVyYWwtc3ludGF4CitmYXN0L2pzL29iamVjdC1zbG93LXB1
dAogZmFzdC9qcy9vcmRlci1vZi1vcGVyYXRpb25zCiBmYXN0L2pzL3BhcnNlLWJhY2tzbGFzaC1i
ZWZvcmUtbmV3bGluZQogZmFzdC9qcy9wYXJzZS1uYW4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
anMvb2JqZWN0LWJhZC10aW1lLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2pzL29iamVjdC1iYWQtdGltZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1iYWQtdGltZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTA2MSBAQAorVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBvbiB0
aGUgcHJvdG90eXBlIG9mIGFuIG9iamVjdCB1c2VkIGZvciBpbmRleGVkIHN0b3JhZ2Ugd29ya3Mg
ZXZlbiBpZiBpdCBpcyBkb25lIGFmdGVyIG9iamVjdHMgd2l0aCBpbmRleGVkIHN0b3JhZ2UgYXJl
IGFsbG9jYXRlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK0hlbmNlZm9ydGgg
SSB3aWxsIGhhdmUgYSBiYWQgdGltZS4KK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAi
MCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwy
LCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitQQVNTIG91Y2hlcyBp
cyA1MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LWJhZC10aW1lLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtYmFkLXRpbWUuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LWJhZC10aW1lLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFRE
IEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9vYmplY3QtYmFkLXRpbWUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3Qtc2xvdy1wdXQtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXNsb3ctcHV0LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMTAgQEAKK1Rlc3RzIHRoYXQgZGVmaW5p
bmcgYSBzZXR0ZXIgb24gdGhlIHByb3RvdHlwZSBvZiBhbiBvYmplY3QgdXNlZCBmb3IgaW5kZXhl
ZCBzdG9yYWdlIHdvcmtzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlz
ICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEK
K1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitQQVNTIG91Y2hlcyBpcyAxMDAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXNsb3ctcHV0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvb2Jq
ZWN0LXNsb3ctcHV0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1lLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWJhZC10aW1lLmpzCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktYmFkLXRpbWUu
anMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzIgQEAKK2Rlc2NyaXB0aW9uKAorIlRlc3RzIHRo
YXQgZGVmaW5pbmcgYSBzZXR0ZXIgb24gdGhlIEFycmF5IHByb3RvdHlwZSB3b3JrcyBldmVuIGlm
IGl0IGlzIGRvbmUgYWZ0ZXIgYXJyYXlzIGFyZSBhbGxvY2F0ZWQuIgorKTsKKwordmFyIG91Y2hl
cyA9IDA7CisKK2Z1bmN0aW9uIGZvbyhoYXZlQUJhZFRpbWUpIHsKKyAgICB2YXIgcmVzdWx0ID0g
W107CisgICAgcmVzdWx0Lmxlbmd0aCA9IDU7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1
bHQubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGkgPT0gaGF2ZUFCYWRUaW1lKSB7CisgICAg
ICAgICAgICBkZWJ1ZygiSGVuY2Vmb3J0aCBJIHdpbGwgaGF2ZSBhIGJhZCB0aW1lLiIpOworICAg
ICAgICAgICAgQXJyYXkucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18oIjMiLCBmdW5jdGlvbigp
IHsgZGVidWcoIk91Y2ghIik7IG91Y2hlcysrOyB9KTsKKyAgICAgICAgfQorICAgICAgICByZXN1
bHRbaV0gPSBpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2YXIgZXhwZWN0ZWQg
PSAiXCIwLDEsMiwzLDRcIiI7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7Cisg
ICAgdmFyIGhhdmVBQmFkVGltZTsKKyAgICBpZiAoaSA9PSA5NTApIHsKKyAgICAgICAgaGF2ZUFC
YWRUaW1lID0gMjsKKyAgICAgICAgZXhwZWN0ZWQgPSAiXCIwLDEsMiwsNFwiIjsKKyAgICB9IGVs
c2UKKyAgICAgICAgaGF2ZUFCYWRUaW1lID0gLTE7CisgICAgc2hvdWxkQmUoIlwiIiArIGZvbyho
YXZlQUJhZFRpbWUpLmpvaW4oIiwiKSArICJcIiIsIGV4cGVjdGVkKTsKK30KKworc2hvdWxkQmUo
Im91Y2hlcyIsICI1MCIpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMv
YXJyYXktc2xvdy1wdXQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3Jp
cHQtdGVzdHMvYXJyYXktc2xvdy1wdXQuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1zbG93LXB1dC5qcwkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxOSBAQAorZGVzY3JpcHRpb24oCisiVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBv
biB0aGUgQXJyYXkgcHJvdG90eXBlIHdvcmtzLiIKKyk7CisKK3ZhciBvdWNoZXMgPSAwOworQXJy
YXkucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18oIjMiLCBmdW5jdGlvbigpIHsgZGVidWcoIk91
Y2ghIik7IG91Y2hlcysrOyB9KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAgIHZhciByZXN1bHQg
PSBbXTsKKyAgICByZXN1bHQubGVuZ3RoID0gNTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJl
c3VsdC5sZW5ndGg7ICsraSkKKyAgICAgICAgcmVzdWx0W2ldID0gaTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgIHNob3VsZEJlKCJc
IiIgKyBmb28oKS5qb2luKCIsIikgKyAiXCIiLCAiXCIwLDEsMiwsNFwiIik7CisKK3Nob3VsZEJl
KCJvdWNoZXMiLCAiMTAwIik7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0
cy9vYmplY3QtYmFkLXRpbWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9z
Y3JpcHQtdGVzdHMvb2JqZWN0LWJhZC10aW1lLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LWJhZC10aW1lLmpzCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDM1IEBACitkZXNjcmlwdGlvbigKKyJUZXN0cyB0aGF0IGRlZmluaW5nIGEgc2V0
dGVyIG9uIHRoZSBwcm90b3R5cGUgb2YgYW4gb2JqZWN0IHVzZWQgZm9yIGluZGV4ZWQgc3RvcmFn
ZSB3b3JrcyBldmVuIGlmIGl0IGlzIGRvbmUgYWZ0ZXIgb2JqZWN0cyB3aXRoIGluZGV4ZWQgc3Rv
cmFnZSBhcmUgYWxsb2NhdGVkLiIKKyk7CisKK2Z1bmN0aW9uIENvbnMoKSB7Cit9CisKK3ZhciBv
dWNoZXMgPSAwOworCitmdW5jdGlvbiBmb28oaGF2ZUFCYWRUaW1lKSB7CisgICAgdmFyIHJlc3Vs
dCA9IG5ldyBDb25zKCk7CisgICAgcmVzdWx0Lmxlbmd0aCA9IDU7CisgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCByZXN1bHQubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKGkgPT0gaGF2ZUFCYWRU
aW1lKSB7CisgICAgICAgICAgICBkZWJ1ZygiSGVuY2Vmb3J0aCBJIHdpbGwgaGF2ZSBhIGJhZCB0
aW1lLiIpOworICAgICAgICAgICAgQ29ucy5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfXygiMyIs
IGZ1bmN0aW9uKCkgeyBkZWJ1ZygiT3VjaCEiKTsgb3VjaGVzKys7IH0pOworICAgICAgICB9Cisg
ICAgICAgIHJlc3VsdFtpXSA9IGk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3Zh
ciBleHBlY3RlZCA9ICJcIjAsMSwyLDMsNFwiIjsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsKKyAgICB2YXIgaGF2ZUFCYWRUaW1lOworICAgIGlmIChpID09IDk1MCkgeworICAg
ICAgICBoYXZlQUJhZFRpbWUgPSAyOworICAgICAgICBleHBlY3RlZCA9ICJcIjAsMSwyLCw0XCIi
OworICAgIH0gZWxzZQorICAgICAgICBoYXZlQUJhZFRpbWUgPSAtMTsKKyAgICBzaG91bGRCZSgi
XCIiICsgQXJyYXkucHJvdG90eXBlLmpvaW4uYXBwbHkoZm9vKGhhdmVBQmFkVGltZSksIFsiLCJd
KSArICJcIiIsIGV4cGVjdGVkKTsKK30KKworc2hvdWxkQmUoIm91Y2hlcyIsICI1MCIpOwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXNsb3ctcHV0LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1zbG93
LXB1dC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3Rz
L29iamVjdC1zbG93LXB1dC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMiBAQAorZGVzY3Jp
cHRpb24oCisiVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNldHRlciBvbiB0aGUgcHJvdG90eXBlIG9m
IGFuIG9iamVjdCB1c2VkIGZvciBpbmRleGVkIHN0b3JhZ2Ugd29ya3MuIgorKTsKKworZnVuY3Rp
b24gQ29ucygpIHsKK30KKwordmFyIG91Y2hlcyA9IDA7CitDb25zLnByb3RvdHlwZS5fX2RlZmlu
ZVNldHRlcl9fKCIzIiwgZnVuY3Rpb24oKSB7IGRlYnVnKCJPdWNoISIpOyBvdWNoZXMrKzsgfSk7
CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVzdWx0ID0gbmV3IENvbnMoKTsKKyAgICBy
ZXN1bHQubGVuZ3RoID0gNTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7
ICsraSkKKyAgICAgICAgcmVzdWx0W2ldID0gaTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitm
b3IgKHZhciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgIHNob3VsZEJlKCJcIiIgKyBBcnJheS5w
cm90b3R5cGUuam9pbi5hcHBseShmb28oKSwgWyIsIl0pICsgIlwiIiwgIlwiMCwxLDIsLDRcIiIp
OworCitzaG91bGRCZSgib3VjaGVzIiwgIjEwMCIpOwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvanMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9w
cmltaXRpdmUtcHJvcGVydHktYWNjZXNzLWVkZ2UtY2FzZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAxMjg3MTQpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9qcy9wcmltaXRpdmUt
cHJvcGVydHktYWNjZXNzLWVkZ2UtY2FzZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDU4ICswLDAgQEAKLVRoaXMgcGFnZSB0ZXN0cyBmb3IgYXNzZXJ0aW9uIGZhaWx1cmVzIGlu
IGVkZ2UgY2FzZXMgb2YgcHJvcGVydHkgbG9va3VwIG9uIHByaW1pdGl2ZSB2YWx1ZXMuCi0KLU9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGNoZWNrR2V0KDEsIE51bWJlcikgaXMg
dHJ1ZQotUEFTUyBjaGVja0dldCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tH
ZXQodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja1NldCgxLCBOdW1iZXIpIGlzIHRy
dWUKLVBBU1MgY2hlY2tTZXQoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrU2V0
KHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hlY2tHZXRTdHJpY3QoMSwgTnVtYmVyKSBp
cyB0cnVlCi1QQVNTIGNoZWNrR2V0U3RyaWN0KCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFT
UyBjaGVja0dldFN0cmljdCh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNTIGNoZWNrU2V0U3Ry
aWN0KDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja1NldFN0cmljdCgnaGVsbG8nLCBTdHJp
bmcpIGlzIHRydWUKLVBBU1MgY2hlY2tTZXRTdHJpY3QodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQot
UEFTUyBjaGVja1JlYWQoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrUmVhZCgnaGVsbG8n
LCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tSZWFkKHRydWUsIEJvb2xlYW4pIGlzIHRydWUK
LVBBU1MgY2hlY2tXcml0ZSgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tXcml0ZSgnaGVs
bG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tXcml0ZSh0cnVlLCBCb29sZWFuKSBpcyB0
cnVlCi1QQVNTIGNoZWNrUmVhZFN0cmljdCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tS
ZWFkU3RyaWN0KCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja1JlYWRTdHJpY3Qo
dHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja1dyaXRlU3RyaWN0KDEsIE51bWJlcikg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25s
eSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNrV3JpdGVTdHJpY3QoJ2hlbGxvJywgU3RyaW5nKSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHBy
b3BlcnR5Li4KLVBBU1MgY2hlY2tXcml0ZVN0cmljdCh0cnVlLCBCb29sZWFuKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBBdHRlbXB0ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5
Li4KLVBBU1MgY2hlY2tOdW1lcmljR2V0KDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja051
bWVyaWNHZXQoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY0dldCh0
cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1GQUlMIGNoZWNrTnVtZXJpY1NldCgxLCBOdW1iZXIpIHNo
b3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1GQUlMIGNoZWNrTnVtZXJpY1NldCgnaGVsbG8nLCBT
dHJpbmcpIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1GQUlMIGNoZWNrTnVtZXJpY1NldCh0
cnVlLCBCb29sZWFuKSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotUEFTUyBjaGVja051bWVy
aWNHZXRTdHJpY3QoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY0dldFN0cmlj
dCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmljR2V0U3RyaWN0KHRy
dWUsIEJvb2xlYW4pIGlzIHRydWUKLUZBSUwgY2hlY2tOdW1lcmljU2V0U3RyaWN0KDEsIE51bWJl
cikgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLUZBSUwgY2hlY2tOdW1lcmljU2V0U3RyaWN0
KCdoZWxsbycsIFN0cmluZykgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLUZBSUwgY2hlY2tO
dW1lcmljU2V0U3RyaWN0KHRydWUsIEJvb2xlYW4pIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2Uu
Ci1QQVNTIGNoZWNrTnVtZXJpY1JlYWQoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVt
ZXJpY1JlYWQoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1JlYWQo
dHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNXcml0ZSgxLCBOdW1iZXIp
IGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmljV3JpdGUoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVl
Ci1QQVNTIGNoZWNrTnVtZXJpY1dyaXRlKHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hl
Y2tOdW1lcmljUmVhZFN0cmljdCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmlj
UmVhZFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmljUmVh
ZFN0cmljdCh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1dyaXRlU3Ry
aWN0KDEsIE51bWJlcikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFz
c2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNrTnVtZXJpY1dyaXRlU3RyaWN0
KCdoZWxsbycsIFN0cmluZykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRv
IGFzc2lnbiB0byByZWFkb25seSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNrTnVtZXJpY1dyaXRlU3Ry
aWN0KHRydWUsIEJvb2xlYW4pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0
byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuLgotUEFTUyBkaWROb3RDcmFzaCBpcyB0cnVl
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164331</attachid>
            <date>2012-09-16 18:10:41 -0700</date>
            <delta_ts>2012-09-17 00:33:36 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>haveabadtime_patch_7.diff</filename>
            <type>text/plain</type>
            <size>177555</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4OSBA
QAorMjAxMi0wOS0xNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgorCisgICAgICAg
IElmIGEgcHJvdG90eXBlIGhhcyBpbmRleGVkIHNldHRlcnMgYW5kIGl0cyBpbnN0YW5jZXMgaGF2
ZSBpbmRleGVkIHN0b3JhZ2UsIHRoZW4gYWxsIHB1dF9ieV92YWwncyBzaG91bGQgaGF2ZSBhIGJh
ZCB0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
NjU5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIGNvbXByZWhlbnNpdmUgc3VwcG9ydCBmb3IgYWNjZXNzb3JzIGFuZCByZWFkLW9ubHkgaW5k
ZXhlZCBwcm9wZXJ0aWVzIG9uIHRoZQorICAgICAgICBwcm90b3R5cGUgY2hhaW4uIFRoaXMgaXMg
ZG9uZSB3aXRob3V0IGFueSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGJlbmNobWFya3MgdGhh
dAorICAgICAgICB3ZSdyZSBhd2FyZSBvZiwgYnkgaGF2aW5nIHRoZSBlbnRpcmUgVk0ncyBzdHJh
dGVneSB3aXRoIHJlc3BlY3QgdG8gYXJyYXlzIHRpbHRlZAorICAgICAgICBoZWF2aWx5IGluIGZh
dm9yIG9mOgorICAgICAgICAKKyAgICAgICAgLSBUaGUgcHJvdG90eXBlIGNoYWluIG9mIEpTQXJy
YXlzIG5ldmVyIGhhdmluZyBhbnkgYWNjZXNzb3JzIG9yIHJlYWQtb25seSBpbmRleGVkCisgICAg
ICAgICAgcHJvcGVydGllcy4gSWYgdGhhdCBjaGFuZ2VzLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBh
IGJhZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgLSBQcm90b3R5cGVzIG9mIG5vbi1KU0FycmF5
IG9iamVjdHMgZWl0aGVyIGhhdmluZyBubyBpbmRleGVkIGFjY2Vzc29ycyBvciByZWFkLW9ubHkK
KyAgICAgICAgICBpbmRleGVkIHByb3BlcnRpZXMsIG9yLCBoYXZpbmcgdGhvc2UgaW5kZXhlZCBh
Y2Nlc3NvciB0aGluZ2llcyBpbnNlcnRlZCBiZWZvcmUKKyAgICAgICAgICBhbnkgaW5zdGFuY2Ug
b2JqZWN0IChpLmUuIG9iamVjdCB3aXRoIHRoYXQgcHJvdG90eXBlIGFzIGl0cyBwcm90b3R5cGUp
IGlzIGNyZWF0ZWQuCisgICAgICAgICAgSWYgeW91IGFkZCBpbmRleGVkIGFjY2Vzc29ycyBvciBy
ZWFkLW9ubHkgaW5kZXhlZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB0aGF0IGlzCisgICAgICAg
ICAgYWxyZWFkeSB1c2VkIGFzIGEgcHJvdG90eXBlLCB5b3UncmUgZ29pbmcgdG8gaGF2ZSBhIGJh
ZCB0aW1lLgorICAgICAgICAKKyAgICAgICAgU2VlIGJlbG93IGZvciB0aGUgZXhhY3QgZGVmaW5p
dGlvbiBvZiBoYXZpbmcgYSBiYWQgdGltZS4KKyAgICAgICAgCisgICAgICAgIFB1dCBhbm90aGVy
IHdheSwgImZhaXIiIHVzZXMgb2YgaW5kZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRl
eGVkIHByb3BlcnRpZXMKKyAgICAgICAgYXJlOgorICAgICAgICAKKyAgICAgICAgLSBQdXQgaW5k
ZXhlZCBhY2Nlc3NvcnMgYW5kIHJlYWQtb25seSBpbmRleGVkIHByb3BlcnRpZXMgb24gYW4gb2Jq
ZWN0IHRoYXQgaXMgbmV2ZXIKKyAgICAgICAgICB1c2VkIGFzIGEgcHJvdG90eXBlLiBUaGlzIHdp
bGwgc2xvdyBkb3duIGFjY2Vzc2VzIHRvIHRoYXQgb2JqZWN0LCBidXQgd2lsbCBub3QKKyAgICAg
ICAgICBoYXZlIGFueSBlZmZlY3Qgb24gYW55IG90aGVyIG9iamVjdC4KKyAgICAgICAgCisgICAg
ICAgIC0gUHV0IHRob3NlIGluZGV4ZWQgYWNjZXNzb3IgdGhpbmdpZXMgb24gYW4gb2JqZWN0IGJl
Zm9yZSBpdCBpcyB1c2VkIGFzIGEgcHJvdG90eXBlCisgICAgICAgICAgYW5kIHRoZW4gc3RhcnQg
aW5zdGFudGlhdGluZyBvYmplY3RzIHRoYXQgY2xhaW0gdGhhdCBvYmplY3QgYXMgdGhlaXIgcHJv
dG90eXBlLgorICAgICAgICAgIFRoaXMgd2lsbCBzbGlnaHRseSBzbG93IGRvd24gaW5kZXhlZCBz
dG9yZXMgdG8gdGhlIGluc3RhbmNlIG9iamVjdHMsIGFuZCBncmVhdGx5CisgICAgICAgICAgc2xv
dyBkb3duIGFsbCBpbmRleGVkIGFjY2Vzc2VzIHRvIHRoZSBwcm90b3R5cGUsIGJ1dCB3aWxsIGhh
dmUgbm8gb3RoZXIgZWZmZWN0LgorICAgICAgICAKKyAgICAgICAgSW4gc2hvcnQsICJmYWlyIiB1
c2VzIG9ubHkgYWZmZWN0IHRoZSBvYmplY3QgaXRzZWxmIGFuZCBhbnkgaW5zdGFuY2Ugb2JqZWN0
cy4gQnV0CisgICAgICAgIGlmIHlvdSBzdGFydCB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBpbiBt
b3JlIGVjbGVjdGljIHdheXMsIHlvdSdyZSBnb2luZyB0byBoYXZlCisgICAgICAgIGEgYmFkIHRp
bWUuCisgICAgICAgIAorICAgICAgICBTcGVjaWZpY2FsbHksIGlmIGFuIG9iamVjdCB0aGF0IG1h
eSBiZSB1c2VkIGFzIGEgcHJvdG90eXBlIGhhcyBhbiBpbmRleGVkIGFjY2Vzc29yCisgICAgICAg
IGFkZGVkLCB0aGUgVk0gcGVyZm9ybXMgYSB3aG9sZS1oZWFwIHNjYW4gdG8gZmluZCBhbGwgb2Jq
ZWN0cyB0aGF0IGJlbG9uZyB0byB0aGUKKyAgICAgICAgc2FtZSBnbG9iYWwgb2JqZWN0IGFzIHRo
ZSBwcm90b3R5cGUgeW91IG1vZGlmaWVkLiBJZiBhbnkgb2YgdGhvc2Ugb2JqZWN0cyBoYXMKKyAg
ICAgICAgaW5kZXhlZCBzdG9yYWdlLCB0aGVpciBpbmRleGVkIHN0b3JhZ2UgaXMgcHV0IGludG8g
c2xvdy1wdXQgbW9kZSwganVzdCBhcyBpZiB0aGVpcgorICAgICAgICBwcm90b3R5cGUgY2hhaW4g
aGFkIGluZGV4ZWQgYWNjZXNzb3JzLiBUaGlzIHdpbGwgaGFwcGVuIGV2ZW4gZm9yIG9iamVjdHMg
dGhhdCBkbworICAgICAgICBub3QgY3VycmVudGx5IGhhdmUgaW5kZXhlZCBhY2Nlc3NvcnMgaW4g
dGhlaXIgcHJvdG90eXBlIGNoYWluLiBBcyB3ZWxsLCBhbGwgSlNBcnJheQorICAgICAgICBhbGxv
Y2F0aW9ucyBhcmUgY2F1c2VkIHRvIGNyZWF0ZSBhcnJheXMgd2l0aCBzbG93LXB1dCBzdG9yYWdl
LCBhbmQgYWxsIGZ1dHVyZQorICAgICAgICBhbGxvY2F0aW9ucyBvZiBpbmRleGVkIHN0b3JhZ2Ug
Zm9yIG5vbi1KU0FycmF5IG9iamVjdHMgYXJlIGFsc28gZmxpcHBlZCB0byBzbG93LXB1dAorICAg
ICAgICBtb2RlLiBOb3RlIHRoZXJlIGFyZSB0d28gYXNwZWN0cyB0byBoYXZpbmcgYSBiYWQgdGlt
ZTogKGkpIHRoZSB3aG9sZS1oZWFwIHNjYW4gYW5kCisgICAgICAgIChpaSkgdGhlIHBvaXNvbmlu
ZyBvZiBhbGwgaW5kZXhlZCBzdG9yYWdlIGluIHRoZSBlbnRpcmUgZ2xvYmFsIG9iamVjdC4gKGkp
IGlzCisgICAgICAgIG5lY2Vzc2FyeSBmb3IgY29ycmVjdG5lc3MuIElmIHdlIGRldGVjdCB0aGF0
IGFuIG9iamVjdCB0aGF0IG1heSBiZSB1c2VkIGFzIGEKKyAgICAgICAgcHJvdG90eXBlIGhhcyBo
YWQgYW4gaW5kZXhlZCBhY2Nlc3NvciBvciBpbmRleGVkIHJlYWQtb25seSBwcm9wZXJ0eSBpbnNl
cnRlZCBpbnRvCisgICAgICAgIGl0LCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaGVuY2Vm
b3J0aCBhbGwgaW5zdGFuY2VzIG9mIHRoYXQgb2JqZWN0IGluc3BlY3QKKyAgICAgICAgdGhlIHBy
b3RvdHlwZSBjaGFpbiB3aGVuZXZlciBhbiBpbmRleGVkIGhvbGUgaXMgc3RvcmVkIHRvLiBCdXQg
YnkgZGVmYXVsdCwgaW5kZXhlZAorICAgICAgICBzdG9yZXMgZG8gbm8gc3VjaCBjaGVja2luZyBi
ZWNhdXNlIGRvaW5nIHNvIHdvdWxkIGJlIHVubmVjZXNzYXJpbHkgc2xvdy4gU28sIHdlIG11c3QK
KyAgICAgICAgZmluZCBhbGwgaW5zdGFuY2VzIG9mIHRoZSBhZmZlY3RlZCBvYmplY3QgYW5kIGZs
aXAgdGhlbSBpbnRvIGEgZGlmZmVyZW50IGFycmF5CisgICAgICAgIHN0b3JhZ2UgbW9kZSB0aGF0
IG9taXRzIGFsbCBob2xlIG9wdGltaXphdGlvbnMuIFNpbmNlIHByb3RvdHlwZXMgbmV2ZXIga2Vl
cCBhIGxpc3QKKyAgICAgICAgb2YgaW5zdGFuY2Ugb2JqZWN0cywgdGhlIG9ubHkgd2F5IHRvIGZp
bmQgdGhvc2Ugb2JqZWN0cyBpcyBhIHdob2xlLWhlYXAgc2Nhbi4gQnV0CisgICAgICAgIChpKSBh
bG9uZSB3b3VsZCBiZSBhIHBvdGVudGlhbCBkaXNhc3RlciwgaWYgYSBwcm9ncmFtIGZyZXF1ZW50
bHkgYWxsb2NhdGVkIGFuCisgICAgICAgIG9iamVjdCB3aXRob3V0IGluZGV4ZWQgYWNjZXNzb3Jz
LCB0aGVuIGFsbG9jYXRlZCBhIGJ1bmNoIG9mIG9iamVjdHMgdGhhdCB1c2VkIHRoYXQKKyAgICAg
ICAgb25lIGFzIHRoZWlyIHByb3RvdHlwZSwgYW5kIHRoZW4gYWRkZWQgaW5kZXhlZCBhY2Nlc3Nv
cnMgdG8gdGhlIHByb3RvdHlwZS4gU28sIHRvCisgICAgICAgIHByZXZlbnQgbWFzc2l2ZSBoZWFw
IHNjYW4gc3Rvcm1zIGluIHN1Y2ggYXdrd2FyZCBwcm9ncmFtcywgaGF2aW5nIGEgYmFkIHRpbWUg
YWxzbworICAgICAgICBpbXBsaWVzIChpaSk6IGhlbmNlZm9ydGggKmFsbCogb2JqZWN0cyBiZWxv
bmdpbmcgdG8gdGhhdCBnbG9iYWwgb2JqZWN0IHdpbGwgdXNlCisgICAgICAgIHNsb3cgcHV0IGlu
ZGV4ZWQgc3RvcmFnZSwgc28gdGhhdCB3ZSBkb24ndCBldmVyIGhhdmUgdG8gc2NhbiB0aGUgaGVh
cCBhZ2Fpbi4gTm90ZQorICAgICAgICB0aGF0IGhlcmUgd2UgYXJlIHVzaW5nIHRoZSBnbG9iYWwg
b2JqZWN0IGFzIGp1c3QgYW4gYXBwcm94aW1hdGlvbiBvZiBhIHByb2dyYW0KKyAgICAgICAgbW9k
dWxlOyBpdCBtYXkgYmUgd29ydGggaW52ZXN0aWdhdGluZyBpbiB0aGUgZnV0dXJlIGlmIG90aGVy
IGFwcHJveGltYXRpb25zIGNhbiBiZQorICAgICAgICB1c2VkIGluc3RlYWQuCisKKyAgICAgICAg
KiBieXRlY29kZS9BcnJheVByb2ZpbGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6
OmFycmF5TW9kZUZyb21TdHJ1Y3R1cmUpOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFjdFN0YXRl
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFN0YXRlOjpleGVjdXRlKToKKyAgICAg
ICAgKiBkZmcvREZHQXJyYXlNb2RlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpmcm9tT2JzZXJ2
ZWQpOgorICAgICAgICAoSlNDOjpERkc6Om1vZGVBbHJlYWR5Q2hlY2tlZCk6CisgICAgICAgIChK
U0M6OkRGRzo6bW9kZVRvU3RyaW5nKToKKyAgICAgICAgKiBkZmcvREZHQXJyYXlNb2RlLmg6Cisg
ICAgICAgIChERkcpOgorICAgICAgICAoSlNDOjpERkc6OmlzU2xvd1B1dEFjY2Vzcyk6CisgICAg
ICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6Y2hlY2tBcnJheSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklU
MzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAg
ICAgKiBqaXQvSklUSW5saW5lTWV0aG9kcy5oOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRBbGxv
Y2F0ZUpTQXJyYXkpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX25ld19hcnJheSk6CisgICAgICAgICogcnVudGltZS9BcnJheVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OkFycmF5UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6
CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU29ydCk6CisgICAgICAgICogcnVudGltZS9J
bmRleGluZ1R5cGUuaDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6Omhhc0luZGV4ZWRQ
cm9wZXJ0aWVzKToKKyAgICAgICAgKEpTQzo6aGFzSW5kZXhpbmdIZWFkZXIpOgorICAgICAgICAo
SlNDOjpoYXNBcnJheVN0b3JhZ2UpOgorICAgICAgICAoSlNDOjpzaG91bGRVc2VTbG93UHV0KToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpw
b3ApOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXNoKToKKyAgICAgICAgKEpTQzo6SlNBcnJh
eTo6ZmlsbEFyZ0xpc3QpOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMp
OgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5oOgorICAgICAgICAoSlNDOjpKU0FycmF5Ojpj
cmVhdGVTdHJ1Y3R1cmUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgor
ICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6SlNHbG9iYWxPYmplY3QpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6cmVzZXQpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6OmhhdmVBQmFkVGltZSk6CisgICAgICAgICogcnVudGltZS9KU0ds
b2JhbE9iamVjdC5oOgorICAgICAgICAoSlNHbG9iYWxPYmplY3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KToKKyAgICAgICAgKEpTQzo6
SlNHbG9iYWxPYmplY3Q6OmlzSGF2aW5nQUJhZFRpbWUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNP
YmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dmlzaXRCdXR0ZXJmbHkpOgorICAg
ICAgICAoSlNDOjpKU09iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90QnlJbmRleCk6CisgICAgICAg
IChKU0M6OkpTT2JqZWN0OjpwdXQpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0QnlJbmRl
eCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMpOgorICAgICAgICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNyZWF0ZUFycmF5
U3RvcmFnZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2VFeGlz
dHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6c3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6
OnNldFByb3RvdHlwZSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpyZXNldEluaGVyaXRvcklE
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmluaGVyaXRvcklEKToKKyAgICAgICAgKEpTQzo6
SlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20pOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6ZGVs
ZXRlUHJvcGVydHlCeUluZGV4KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldE93blByb3Bl
cnR5TmFtZXMpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6dW53cmFwcGVkR2xvYmFsT2JqZWN0
KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6Om5vdGlmeVVzZWRBc1Byb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRCk6CisgICAgICAgIChKU0M6OkpT
T2JqZWN0OjpkZWZpbmVPd25JbmRleGVkUHJvcGVydHkpOgorICAgICAgICAoSlNDOjpKU09iamVj
dDo6YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZSk6CisgICAg
ICAgIChKU0M6OkpTT2JqZWN0OjphdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlKToK
KyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgpOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgp
OgorICAgICAgICAoSlNDOjpKU09iamVjdDo6Z2V0TmV3VmVjdG9yTGVuZ3RoKToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRvcik6CisgICAgICAgICogcnVu
dGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5QmVVc2VkQXNQcm90
b3R5cGUpOgorICAgICAgICAoSlNPYmplY3QpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6bWF5
SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldEFy
cmF5TGVuZ3RoKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmdldFZlY3Rvckxlbmd0aCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0OjpjYW5HZXRJbmRleFF1aWNrbHkpOgorICAgICAgICAoSlND
OjpKU09iamVjdDo6Z2V0SW5kZXhRdWlja2x5KToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmNh
blNldEluZGV4UXVpY2tseSk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpzZXRJbmRleFF1aWNr
bHkpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6aW5pdGlhbGl6ZUluZGV4KToKKyAgICAgICAg
KEpTQzo6SlNPYmplY3Q6OmNvbXBsZXRlSW5pdGlhbGl6YXRpb24pOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6aW5TcGFyc2VJbmRleGluZ01vZGUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6
YXJyYXlTdG9yYWdlKToKKyAgICAgICAgKEpTQzo6SlNPYmplY3Q6OmFycmF5U3RvcmFnZU9yTnVs
bCk6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjplbnN1cmVBcnJheVN0b3JhZ2UpOgorICAgICAg
ICAoSlNDKToKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0QnlJbmRleCk6CisgICAgICAgICog
cnVudGltZS9KU1ZhbHVlLmNwcDoKKyAgICAgICAgKEpTQzo6SlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmUpOgorICAgICAgICAoSlNDOjpKU1ZhbHVlOjpwdXRUb1ByaW1pdGl2ZUJ5SW5kZXgpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL0pTVmFsdWUuaDoKKyAgICAgICAgKEpTVmFs
dWUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpT
Qzo6T2JqZWN0UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9T
cGFyc2VBcnJheVZhbHVlTWFwLmNwcDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlWYWx1ZU1h
cDo6cHV0RW50cnkpOgorICAgICAgICAoSlNDOjpTcGFyc2VBcnJheUVudHJ5OjpwdXQpOgorICAg
ICAgICAoSlNDKToKKyAgICAgICAgKiBydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuaDoKKyAg
ICAgICAgKEpTQyk6CisgICAgICAgIChTcGFyc2VBcnJheUVudHJ5KToKKyAgICAgICAgKiBydW50
aW1lL1N0cnVjdHVyZS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6YW55T2JqZWN0SW5D
aGFpbk1heUludGVyY2VwdEluZGV4ZWRBY2Nlc3Nlcyk6CisgICAgICAgIChKU0MpOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEluZGV4aW5nVHJhbnNpdGlvbik6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAgICAgKFN0cnVjdHVyZSk6CisgICAgICAgIChK
U0M6OlN0cnVjdHVyZTo6bWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKToKKyAgICAgICAgKiBy
dW50aW1lL1N0cnVjdHVyZVRyYW5zaXRpb25UYWJsZS5oOgorICAgICAgICAoSlNDOjpuZXdJbmRl
eGluZ1R5cGUpOgorCiAyMDEyLTA5LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgSlNPYmplY3QuY3BwIGFuZCBKU0FycmF5LmNwcCBoYXZlIGluY29uc2lzdGVu
dCB0ZXN0cyBmb3IgdGhlIGludmFsaWQgYXJyYXkgaW5kZXggY2FzZQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9BcnJheVByb2ZpbGUuaAkocmV2aXNpb24gMTI4NzE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0FycmF5UHJvZmlsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNiw3ICszNiw3IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgTExJbnRP
ZmZzZXRzRXh0cmFjdG9yOwogCiAvLyBUaGlzIGlzIGEgYml0ZmllbGQgd2hlcmUgZWFjaCBiaXQg
cmVwcmVzZW50cyBhbiBJbmRleGluZ1R5cGUgdGhhdCB3ZSBoYXZlIHNlZW4uCi0vLyBUaGVyZSBh
cmUgMTcgaW5kZXhpbmcgdHlwZXMgKDAgdG8gMTYsIGluY2x1c2l2ZSksIHNvIDMyIGJpdHMgaXMg
bW9yZSB0aGFuIGVub3VnaC4KKy8vIFRoZXJlIGFyZSAzMiBpbmRleGluZyB0eXBlcywgc28gYW4g
dW5zaWduZWQgaXMgZW5vdWdoLgogdHlwZWRlZiB1bnNpZ25lZCBBcnJheU1vZGVzOwogCiAjZGVm
aW5lIGFzQXJyYXlNb2Rlcyh0eXBlKSBcCkBAIC00NCw3ICs0NCw3IEBAIHR5cGVkZWYgdW5zaWdu
ZWQgQXJyYXlNb2RlczsKIAogaW5saW5lIEFycmF5TW9kZXMgYXJyYXlNb2RlRnJvbVN0cnVjdHVy
ZShTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKIHsKLSAgICByZXR1cm4gYXNBcnJheU1vZGVzKHN0cnVj
dHVyZS0+aW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpKTsKKyAgICByZXR1cm4gYXNBcnJh
eU1vZGVzKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpOwogfQogCiBjbGFzcyBBcnJheVByb2Zp
bGUgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdFN0YXRlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0U3Rh
dGUuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Fic3RyYWN0U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDk5LDE0ICsxMDk5LDIxIEBA
IGJvb2wgQWJzdHJhY3RTdGF0ZTo6ZXhlY3V0ZSh1bnNpZ25lZCBpbmQKICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAKICAgICBjYXNlIE5ld0FycmF5OgotICAgIGNhc2UgTmV3QXJyYXlCdWZm
ZXI6Ci0gICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7CisgICAgICAgIG5vZGUuc2V0Q2Fu
RXhpdCh0cnVlKTsKICAgICAgICAgZm9yTm9kZShub2RlSW5kZXgpLnNldChtX2dyYXBoLmdsb2Jh
bE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAg
bV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKKyAgICBj
YXNlIE5ld0FycmF5QnVmZmVyOgorICAgICAgICAvLyBVbmxlc3Mgd2UncmUgaGF2aW5nIGEgYmFk
IHRpbWUsIHRoaXMgbm9kZSBjYW4gY2hhbmdlIGl0cyBtaW5kIGFib3V0IHdoYXQgc3RydWN0dXJl
CisgICAgICAgIC8vIGl0IHVzZXMuCisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdChmYWxzZSk7Cisg
ICAgICAgIGZvck5vZGUobm9kZUluZGV4KS5zZXQoU3BlY0FycmF5KTsKKyAgICAgICAgYnJlYWs7
CisKICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6Ci0gICAgICAgIHNwZWN1bGF0ZUludDMyVW5h
cnkobm9kZSk7CisgICAgICAgIG5vZGUuc2V0Q2FuRXhpdCh0cnVlKTsKKyAgICAgICAgZm9yTm9k
ZShub2RlLmNoaWxkMSgpKS5maWx0ZXIoU3BlY0ludDMyKTsKICAgICAgICAgZm9yTm9kZShub2Rl
SW5kZXgpLnNldChtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pLT5hcnJh
eVN0cnVjdHVyZSgpKTsKICAgICAgICAgbV9oYXZlU3RydWN0dXJlcyA9IHRydWU7CiAgICAgICAg
IGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheU1vZGUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmNw
cAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJh
eU1vZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwxMCArNDIsMTYgQEAgQXJyYXk6Ok1vZGUg
ZnJvbU9ic2VydmVkKEFycmF5TW9kZXMgbW9kZQogICAgICAgICByZXR1cm4gQXJyYXk6OlVuZGVj
aWRlZDsKICAgICBjYXNlIGFzQXJyYXlNb2RlcyhOb25BcnJheVdpdGhBcnJheVN0b3JhZ2UpOgog
ICAgICAgICByZXR1cm4gbWFrZVNhZmUgPyBBcnJheTo6QXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMg
OiBBcnJheTo6QXJyYXlTdG9yYWdlOworICAgIGNhc2UgYXNBcnJheU1vZGVzKE5vbkFycmF5V2l0
aFNsb3dQdXRBcnJheVN0b3JhZ2UpOgorICAgICAgICByZXR1cm4gQXJyYXk6OlNsb3dQdXRBcnJh
eVN0b3JhZ2U7CiAgICAgY2FzZSBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlTdG9yYWdlKToK
ICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzIDogQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIGFzQXJy
YXlNb2RlcyhBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlKToKKyAgICAgICAgcmV0dXJuIEFy
cmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOwogICAgIGNhc2UgYXNBcnJheU1vZGVz
KE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoQXJyYXlT
dG9yYWdlKToKICAgICAgICAgcmV0dXJuIG1ha2VTYWZlID8gQXJyYXk6OlBvc3NpYmx5QXJyYXlX
aXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMgOiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJh
eVN0b3JhZ2U7CisgICAgY2FzZSBhc0FycmF5TW9kZXMoTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5
U3RvcmFnZSkgfCBhc0FycmF5TW9kZXMoQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSk6Cisg
ICAgICAgIHJldHVybiBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGlzIGlzIHBvc3NpYmx5
IGEga2luZCBvZiBhcnJheSBmb3Igd2hpY2gsIHRob3VnaCB0aGVyZSBpcyBubwogICAgICAgICAv
LyB1c2VmdWwgZGF0YSBpbiB0aGUgYXJyYXkgcHJvZmlsZSwgd2UgbWF5IGJlIGFibGUgdG8gZXh0
cmFjdCB1c2VmdWwgZGF0YSBmcm9tCkBAIC0xMjQsMTUgKzEzMCwyOSBAQCBib29sIG1vZGVBbHJl
YWR5Q2hlY2tlZChBYnN0cmFjdFZhbHVlJiB2CiAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgogICAg
ICAgICByZXR1cm4gaXNTdHJpbmdTcGVjdWxhdGlvbih2YWx1ZS5tX3R5cGUpOwogICAgICAgICAK
LSAgICBjYXNlIE5PTl9BUlJBWV9BUlJBWV9TVE9SQUdFX01PREVTOgorICAgIGNhc2UgQXJyYXk6
OkFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5OjpBcnJheVN0b3JhZ2VPdXRPZkJvdW5kczoK
KyAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAg
ICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAg
ICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+
aW5kZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3JhZ2UpOwotCi0gICAgY2FzZSBBUlJBWV9XSVRI
X0FSUkFZX1NUT1JBR0VfTU9ERVM6CisgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OlNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJy
YXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUu
aGFzU2luZ2xldG9uKCkKKyAgICAgICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVj
dHVyZS5zaW5nbGV0b24oKS0+aW5kZXhpbmdUeXBlKCkgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdl
KTsKKyAgICAgICAgCisgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAg
IGNhc2UgQXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICBy
ZXR1cm4gdmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuaGFzU2luZ2xldG9uKCkKICAgICAg
ICAgICAgICYmICh2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5zaW5nbGV0b24oKS0+aW5k
ZXhpbmdUeXBlKCkgJiBIYXNBcnJheVN0b3JhZ2UpCiAgICAgICAgICAgICAmJiAodmFsdWUubV9j
dXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmluZGV4aW5nVHlwZSgpICYgSXNBcnJh
eSk7CiAgICAgICAgIAorICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3Jh
Z2U6CisgICAgICAgIHJldHVybiB2YWx1ZS5tX2N1cnJlbnRLbm93blN0cnVjdHVyZS5oYXNTaW5n
bGV0b24oKQorICAgICAgICAgICAgJiYgKHZhbHVlLm1fY3VycmVudEtub3duU3RydWN0dXJlLnNp
bmdsZXRvbigpLT5pbmRleGluZ1R5cGUoKSAmIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UpCisgICAg
ICAgICAgICAmJiAodmFsdWUubV9jdXJyZW50S25vd25TdHJ1Y3R1cmUuc2luZ2xldG9uKCktPmlu
ZGV4aW5nVHlwZSgpICYgSXNBcnJheSk7CisgICAgICAgIAogICAgIGNhc2UgQXJyYXk6OkFyZ3Vt
ZW50czoKICAgICAgICAgcmV0dXJuIGlzQXJndW1lbnRzU3BlY3VsYXRpb24odmFsdWUubV90eXBl
KTsKICAgICAgICAgCkBAIC0xODQsMTQgKzIwNCwyMCBAQCBjb25zdCBjaGFyKiBtb2RlVG9TdHJp
bmcoQXJyYXk6Ok1vZGUgbW9kCiAgICAgICAgIHJldHVybiAiU3RyaW5nIjsKICAgICBjYXNlIEFy
cmF5OjpBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlTdG9yYWdlIjsKKyAgICBj
YXNlIEFycmF5OjpTbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlNsb3dQdXRB
cnJheVN0b3JhZ2UiOwogICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOgog
ICAgICAgICByZXR1cm4gIkFycmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5
OjpBcnJheVdpdGhBcnJheVN0b3JhZ2U6CiAgICAgICAgIHJldHVybiAiQXJyYXlXaXRoQXJyYXlT
dG9yYWdlIjsKKyAgICBjYXNlIEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOgor
ICAgICAgICByZXR1cm4gIkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2UiOwogICAgIGNhc2Ug
QXJyYXk6OkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzOgogICAgICAgICByZXR1cm4g
IkFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpQb3Nz
aWJseUFycmF5V2l0aEFycmF5U3RvcmFnZToKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5
V2l0aEFycmF5U3RvcmFnZSI7CisgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhTbG93
UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICByZXR1cm4gIlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1
dEFycmF5U3RvcmFnZSI7CiAgICAgY2FzZSBBcnJheTo6UG9zc2libHlBcnJheVdpdGhBcnJheVN0
b3JhZ2VPdXRPZkJvdW5kczoKICAgICAgICAgcmV0dXJuICJQb3NzaWJseUFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzIjsKICAgICBjYXNlIEFycmF5OjpBcmd1bWVudHM6CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0FycmF5TW9kZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHJldmlzaW9uIDEyODcxNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlNb2RlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDEwICs0NywxMyBAQCBlbnVtIE1vZGUgewogICAgIEdlbmVyaWMsCiAgICAgU3Ry
aW5nLAogICAgIEFycmF5U3RvcmFnZSwKKyAgICBTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFy
cmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZSwKKyAgICBB
cnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlLAogICAgIEFycmF5V2l0aEFycmF5U3RvcmFnZU91
dE9mQm91bmRzLAogICAgIFBvc3NpYmx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlLAorICAgIFBvc3Np
Ymx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZSwKICAgICBQb3NzaWJseUFycmF5V2l0aEFy
cmF5U3RvcmFnZU91dE9mQm91bmRzLAogICAgIEFyZ3VtZW50cywKICAgICBJbnQ4QXJyYXksCkBA
IC03MCwxMSArNzMsMTQgQEAgZW51bSBNb2RlIHsKIC8vIGhhdmUgdGhlIHdvcmQgIkFycmF5U3Rv
cmFnZSIgaW4gdGhlbS4KICNkZWZpbmUgTk9OX0FSUkFZX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAg
ICAgICAgICAgICAgICAgICAgXAogICAgIEFycmF5OjpBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6U2xvd1B1dEFycmF5U3Rv
cmFnZTogICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpBcnJheVN0b3Jh
Z2VPdXRPZkJvdW5kczogICAgICAgICAgICAgICAgICAgXAogICAgIGNhc2UgQXJyYXk6OlBvc3Np
Ymx5QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheTo6
UG9zc2libHlBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgIFwKICAgICBjYXNlIEFy
cmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZU91dE9mQm91bmRzCiAjZGVmaW5lIEFS
UkFZX1dJVEhfQVJSQVlfU1RPUkFHRV9NT0RFUyAgICAgICAgICAgICAgICAgICAgIFwKICAgICBB
cnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgIGNhc2UgQXJyYXk6OkFycmF5V2l0aFNsb3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAg
ICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZCb3VuZHMKICNk
ZWZpbmUgQUxMX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAogICAgIE5PTl9BUlJBWV9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAg
ICAgICBcCkBAIC04Myw4ICs4OSwxMyBAQCBlbnVtIE1vZGUgewogICAgIEFycmF5OjpBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJh
eTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgICAgICAgIFwKICAgICBjYXNl
IEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5U3RvcmFnZQorI2RlZmluZSBTTE9XX1BVVF9B
UlJBWV9TVE9SQUdFX01PREVTICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQXJyYXk6OlNs
b3dQdXRBcnJheVN0b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNl
IEFycmF5OjpBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlOiAgICAgICAgICAgICAgXAorICAg
IGNhc2UgQXJyYXk6OlBvc3NpYmx5QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZQogI2RlZmlu
ZSBPVVRfT0ZfQk9VTkRTX0FSUkFZX1NUT1JBR0VfTU9ERVMgICAgICAgICAgICAgICAgICBcCi0g
ICAgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICBTTE9XX1BVVF9BUlJBWV9TVE9SQUdFX01PREVTOiAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgIGNhc2UgQXJyYXk6OkFycmF5U3RvcmFnZU91dE9mQm91bmRzOiAgICAgICAg
ICAgICAgICAgICBcCiAgICAgY2FzZSBBcnJheTo6QXJyYXlXaXRoQXJyYXlTdG9yYWdlT3V0T2ZC
b3VuZHM6ICAgICAgICAgIFwKICAgICBjYXNlIEFycmF5OjpQb3NzaWJseUFycmF5V2l0aEFycmF5
U3RvcmFnZU91dE9mQm91bmRzCiAKQEAgLTEyOCw2ICsxMzksMTYgQEAgaW5saW5lIGJvb2wgaXNJ
bkJvdW5kc0FjY2VzcyhBcnJheTo6TW9kZQogICAgIH0KIH0KIAoraW5saW5lIGJvb2wgaXNTbG93
UHV0QWNjZXNzKEFycmF5OjpNb2RlIGFycmF5TW9kZSkKK3sKKyAgICBzd2l0Y2ggKGFycmF5TW9k
ZSkgeworICAgIGNhc2UgU0xPV19QVVRfQVJSQVlfU1RPUkFHRV9NT0RFUzoKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30K
KwogaW5saW5lIGJvb2wgY2FuQ1NFU3RvcmFnZShBcnJheTo6TW9kZSBhcnJheU1vZGUpCiB7CiAg
ICAgc3dpdGNoIChhcnJheU1vZGUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTI4NzE0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjc0MSwyNSArMjc0MSwzNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIENoZWNr
IGlmIHdlJ3JlIHdyaXRpbmcgdG8gYSBob2xlOyBpZiBzbyBpbmNyZW1lbnQgbV9udW1WYWx1ZXNJ
blZlY3Rvci4KICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdEhvbGVWYWx1ZSA9
IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgTWFjcm9Bc3NlbWJsZXI6
OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVz
RWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVD
VF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy50YWcpKSwgVHJ1c3RlZEltbTMyKEpTVmFsdWU6
OkVtcHR5VmFsdWVUYWcpKTsKLSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigx
KSwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFy
cmF5U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKLQotICAgICAgICAgICAgLy8gSWYg
d2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0aGUgYXJyYXk7IAot
ICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVuZ3RoRG9lc05vdE5lZWRVcGRhdGUg
PSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVsb3csIHByb3BlcnR5UmVnLCBNYWNy
b0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJheVN0b3JhZ2U6Omxlbmd0aE9mZnNl
dCgpKSk7Ci0gICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIHByb3BlcnR5
UmVnKTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlMzIocHJvcGVydHlSZWcsIE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsK
LSAgICAgICAgICAgIG1faml0LnN1YjMyKFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOwot
Ci0gICAgICAgICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAg
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBpc0hvbGVWYWx1ZTsKKyAgICAgICAgICAgIGlm
IChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkgeworICAgICAgICAgICAgICAgIC8vIFRoaXMg
aXMgc29ydCBvZiBzdHJhbmdlLiBJZiB3ZSB3YW50ZWQgdG8gb3B0aW1pemUgdGhpcyBjb2RlIHBh
dGgsIHdlIHdvdWxkIGludmVydAorICAgICAgICAgICAgICAgIC8vIHRoZSBhYm92ZSBicmFuY2gu
IEJ1dCBpdCdzIHNpbXBseSBub3Qgd29ydGggaXQgc2luY2UgdGhpcyBvbmx5IGhhcHBlbnMgaWYg
d2UncmUKKyAgICAgICAgICAgICAgICAvLyBhbHJlYWR5IGhhdmluZyBhIGJhZCB0aW1lLgorICAg
ICAgICAgICAgICAgIGlzSG9sZVZhbHVlID0gbV9qaXQuanVtcCgpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICBtX2ppdC5hZGQzMihUcnVzdGVkSW1tMzIoMSksIE1hY3Jv
QXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3Jh
Z2UsIG1fbnVtVmFsdWVzSW5WZWN0b3IpKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgLy8gSWYgd2UncmUgd3JpdGluZyB0byBhIGhvbGUgd2UgbWlnaHQgYmUgZ3Jvd2luZyB0
aGUgYXJyYXk7IAorICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGxlbmd0aERv
ZXNOb3ROZWVkVXBkYXRlID0gbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkJlbG93LCBw
cm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9y
YWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0
ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIG1faml0LnN0b3JlMzIo
cHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3Rv
cmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKKyAgICAgICAgICAgICAgICBtX2ppdC5zdWIzMihUcnVz
dGVkSW1tMzIoMSksIHByb3BlcnR5UmVnKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBsZW5ndGhEb2VzTm90TmVlZFVwZGF0ZS5saW5rKCZtX2ppdCk7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBub3RIb2xlVmFsdWUubGluaygmbV9qaXQpOwogCiAgICAgICAgICAgICAv
LyBTdG9yZSB0aGUgdmFsdWUgdG8gdGhlIGFycmF5LgogICAgICAgICAgICAgbV9qaXQuc3RvcmUz
Mih2YWx1ZVRhZ1JlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9w
ZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJh
eVN0b3JhZ2UsIG1fdmVjdG9yWzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0
cy50YWcpKSk7CiAgICAgICAgICAgICBtX2ppdC5zdG9yZTMyKHZhbHVlUGF5bG9hZFJlZywgTWFj
cm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3Nl
bWJsZXI6OlRpbWVzRWlnaHQsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0b3JhZ2UsIG1fdmVjdG9y
WzBdKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSkpOwogICAg
ICAgICAKLSAgICAgICAgICAgIGlmICghaXNJbkJvdW5kc0FjY2Vzcyhub2RlLmFycmF5TW9kZSgp
KSkgeworICAgICAgICAgICAgaWYgKCFpc0luQm91bmRzQWNjZXNzKGFycmF5TW9kZSkpIHsKKyAg
ICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3Qgc2xvd0Nhc2VzOworICAgICAg
ICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYmV5b25kQXJyYXlCb3VuZHMpOworICAgICAgICAg
ICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlNb2RlKSkKKyAgICAgICAgICAgICAgICAg
ICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVWYWx1ZSk7CiAgICAgICAgICAgICAgICAgYWRkU2xv
d1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAgICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGJleW9uZEFycmF5Qm91bmRzLCB0aGlzLAorICAgICAgICAgICAg
ICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAogICAgICAgICAgICAgICAgICAgICAgICAgbV9q
aXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRB
cnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHNOb25T
dHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBOb1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVy
dHlSZWcsIHZhbHVlVGFnUmVnLCB2YWx1ZVBheWxvYWRSZWcpKTsKICAgICAgICAgICAgIH0KQEAg
LTMxMjgsMTMgKzMxNDAsMTcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBu
b2RlKQogICAgIH0KIAogICAgIGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9yKG5vZGUuY29k
ZU9yaWdpbik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FCYWRUaW1lKCkp
CisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpLT5h
ZGQoc3BlY3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAgICAgaWYgKCFub2Rl
Lm51bUNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAg
ICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICAgICAgR1BSUmVzdWx0MiByZXN1
bHRUYWdJZ25vcmVkKHRoaXMpOwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAgICAg
ICAgICAgICBvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1bHRUYWdJZ25vcmVkLmdwcigpLCBy
ZXN1bHQuZ3ByKCksCi0gICAgICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RG
b3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICAgICAg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQo
cmVzdWx0LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgfQpAQCAtMzE2Nyw4ICszMTgzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShO
b2RlJiBub2RlKQogICAgICAgICBHUFJSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKICAgICAgICAg
CiAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25OZXdBcnJheSwg
cmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLAotICAgICAgICAgICAgbV9qaXQu
Z3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUo
KSwKKyAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHRUYWcuZ3ByKCksIHJlc3Vs
dFBheWxvYWQuZ3ByKCksIGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmUoKSwKICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PHZvaWQgKj4oYnVmZmVyKSwgbm9kZS5udW1DaGlsZHJlbigpKTsKIAog
ICAgICAgICBpZiAoc2NyYXRjaFNpemUpIHsKQEAgLTMxODQsNiArMzE5OSwxMCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBOZXdB
cnJheVdpdGhTaXplOiB7CisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBt
X2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4pOworICAgICAgICBp
ZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICAgICAgZ2xvYmFs
T2JqZWN0LT5oYXZpbmdBQmFkVGltZVdhdGNocG9pbnQoKS0+YWRkKHNwZWN1bGF0aW9uV2F0Y2hw
b2ludCgpKTsKKyAgICAgICAgCiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBz
aXplKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwogICAgICAgICBHUFJSZWcgc2l6ZUdQUiA9IHNpemUu
Z3ByKCk7CiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CkBAIC0zMTkxLDcgKzMyMTAsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIEdQUlJlc3Vs
dDIgcmVzdWx0VGFnSWdub3JlZCh0aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbigKICAgICAg
ICAgICAgIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUsIHJlc3VsdFRhZ0lnbm9yZWQuZ3ByKCks
IHJlc3VsdC5ncHIoKSwKLSAgICAgICAgICAgIG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0Rm9y
KG5vZGUuY29kZU9yaWdpbiktPmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOworICAgICAgICAg
ICAgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLCBzaXplR1BSKTsKICAgICAgICAgY2Vs
bFJlc3VsdChyZXN1bHQuZ3ByKCksIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYwLDI0ICsy
NzYwLDM2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAg
ICAgCiAgICAgICAgICAgICAvLyBDaGVjayBpZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZTsgaWYg
c28gaW5jcmVtZW50IG1fbnVtVmFsdWVzSW5WZWN0b3IuCiAgICAgICAgICAgICBNYWNyb0Fzc2Vt
Ymxlcjo6SnVtcCBub3RIb2xlVmFsdWUgPSBtX2ppdC5icmFuY2hUZXN0UHRyKE1hY3JvQXNzZW1i
bGVyOjpOb25aZXJvLCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHN0b3JhZ2VSZWcsIHByb3Bl
cnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6U2NhbGVQdHIsIE9CSkVDVF9PRkZTRVRPRihBcnJheVN0
b3JhZ2UsIG1fdmVjdG9yWzBdKSkpOwotICAgICAgICAgICAgbV9qaXQuYWRkMzIoVHJ1c3RlZElt
bTMyKDEpLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBPQkpFQ1RfT0ZGU0VU
T0YoQXJyYXlTdG9yYWdlLCBtX251bVZhbHVlc0luVmVjdG9yKSkpOwotCi0gICAgICAgICAgICAv
LyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93aW5nIHRoZSBhcnJh
eTsgCi0gICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBsZW5ndGhEb2VzTm90TmVlZFVw
ZGF0ZSA9IG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpCZWxvdywgcHJvcGVydHlSZWcs
IE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHN0b3JhZ2VSZWcsIEFycmF5U3RvcmFnZTo6bGVuZ3Ro
T2Zmc2V0KCkpKTsKLSAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwgcHJv
cGVydHlSZWcpOwotICAgICAgICAgICAgbV9qaXQuc3RvcmUzMihwcm9wZXJ0eVJlZywgTWFjcm9B
c3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJyYXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQo
KSkpOwotICAgICAgICAgICAgbV9qaXQuc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJl
Zyk7Ci0KLSAgICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsK
KyAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGlzSG9sZVZhbHVlOworICAgICAgICAg
ICAgaWYgKGlzU2xvd1B1dEFjY2VzcyhhcnJheU1vZGUpKSB7CisgICAgICAgICAgICAgICAgLy8g
VGhpcyBpcyBzb3J0IG9mIHN0cmFuZ2UuIElmIHdlIHdhbnRlZCB0byBvcHRpbWl6ZSB0aGlzIGNv
ZGUgcGF0aCwgd2Ugd291bGQgaW52ZXJ0CisgICAgICAgICAgICAgICAgLy8gdGhlIGFib3ZlIGJy
YW5jaC4gQnV0IGl0J3Mgc2ltcGx5IG5vdCB3b3J0aCBpdCBzaW5jZSB0aGlzIG9ubHkgaGFwcGVu
cyBpZiB3ZSdyZQorICAgICAgICAgICAgICAgIC8vIGFscmVhZHkgaGF2aW5nIGEgYmFkIHRpbWUu
CisgICAgICAgICAgICAgICAgaXNIb2xlVmFsdWUgPSBtX2ppdC5qdW1wKCk7CisgICAgICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1faml0LmFkZDMyKFRydXN0ZWRJbW0zMigxKSwg
TWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgT0JKRUNUX09GRlNFVE9GKEFycmF5
U3RvcmFnZSwgbV9udW1WYWx1ZXNJblZlY3RvcikpKTsKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICAvLyBJZiB3ZSdyZSB3cml0aW5nIHRvIGEgaG9sZSB3ZSBtaWdodCBiZSBncm93
aW5nIHRoZSBhcnJheTsgCisgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbGVu
Z3RoRG9lc05vdE5lZWRVcGRhdGUgPSBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QmVs
b3csIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdG9yYWdlUmVnLCBBcnJh
eVN0b3JhZ2U6Omxlbmd0aE9mZnNldCgpKSk7CisgICAgICAgICAgICAgICAgbV9qaXQuYWRkMzIo
VHJ1c3RlZEltbTMyKDEpLCBwcm9wZXJ0eVJlZyk7CisgICAgICAgICAgICAgICAgbV9qaXQuc3Rv
cmUzMihwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3RvcmFnZVJlZywgQXJy
YXlTdG9yYWdlOjpsZW5ndGhPZmZzZXQoKSkpOworICAgICAgICAgICAgICAgIG1faml0LnN1YjMy
KFRydXN0ZWRJbW0zMigxKSwgcHJvcGVydHlSZWcpOworICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIGxlbmd0aERvZXNOb3ROZWVkVXBkYXRlLmxpbmsoJm1faml0KTsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIG5vdEhvbGVWYWx1ZS5saW5rKCZtX2ppdCk7CiAKICAgICAgICAg
ICAgIC8vIFN0b3JlIHRoZSB2YWx1ZSB0byB0aGUgYXJyYXkuCiAgICAgICAgICAgICBtX2ppdC5z
dG9yZVB0cih2YWx1ZVJlZywgTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChzdG9yYWdlUmVnLCBw
cm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlNjYWxlUHRyLCBPQkpFQ1RfT0ZGU0VUT0YoQXJy
YXlTdG9yYWdlLCBtX3ZlY3RvclswXSkpKTsKIAogICAgICAgICAgICAgaWYgKCFpc0luQm91bmRz
QWNjZXNzKGFycmF5TW9kZSkpIHsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVt
cExpc3Qgc2xvd0Nhc2VzOworICAgICAgICAgICAgICAgIHNsb3dDYXNlcy5hcHBlbmQoYmV5b25k
QXJyYXlCb3VuZHMpOworICAgICAgICAgICAgICAgIGlmIChpc1Nsb3dQdXRBY2Nlc3MoYXJyYXlN
b2RlKSkKKyAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLmFwcGVuZChpc0hvbGVWYWx1ZSk7
CiAgICAgICAgICAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgICAgICAgICAg
ICAgIHNsb3dQYXRoQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgICAgIGJleW9uZEFycmF5Qm91
bmRzLCB0aGlzLAorICAgICAgICAgICAgICAgICAgICAgICAgc2xvd0Nhc2VzLCB0aGlzLAogICAg
ICAgICAgICAgICAgICAgICAgICAgbV9qaXQuY29kZUJsb2NrKCktPmlzU3RyaWN0TW9kZSgpID8g
b3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kc1N0cmljdCA6IG9wZXJhdGlvblB1dEJ5
VmFsQmV5b25kQXJyYXlCb3VuZHNOb25TdHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgICBO
b1Jlc3VsdCwgYmFzZVJlZywgcHJvcGVydHlSZWcsIHZhbHVlUmVnKSk7CiAgICAgICAgICAgICB9
CkBAIC0zMTIwLDEyICszMTMyLDE0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSYgbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTmV3QXJyYXk6IHsKKyAgICAgICAg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1faml0LmdyYXBoKCkuZ2xvYmFsT2JqZWN0
Rm9yKG5vZGUuY29kZU9yaWdpbik7CisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmlu
Z0FCYWRUaW1lKCkpCisgICAgICAgICAgICBnbG9iYWxPYmplY3QtPmhhdmluZ0FCYWRUaW1lV2F0
Y2hwb2ludCgpLT5hZGQoc3BlY3VsYXRpb25XYXRjaHBvaW50KCkpOworICAgICAgICAKICAgICAg
ICAgaWYgKCFub2RlLm51bUNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJz
KCk7CiAgICAgICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgY2Fs
bE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICBvcGVyYXRpb25OZXdFbXB0eUFycmF5LCByZXN1
bHQuZ3ByKCksCi0gICAgICAgICAgICAgICAgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Io
bm9kZS5jb2RlT3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbk5ld0VtcHR5QXJyYXksIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0
LT5hcnJheVN0cnVjdHVyZSgpKTsKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0Lmdwcigp
LCBtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzE1
NSw4ICszMTY5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQog
ICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICAKICAgICAgICAgY2FsbE9w
ZXJhdGlvbigKLSAgICAgICAgICAgIG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHQuZ3ByKCksCi0g
ICAgICAgICAgICBtX2ppdC5ncmFwaCgpLmdsb2JhbE9iamVjdEZvcihub2RlLmNvZGVPcmlnaW4p
LT5hcnJheVN0cnVjdHVyZSgpLAorICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3Vs
dC5ncHIoKSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZSgpLAogICAgICAgICAgICAgc3Rh
dGljX2Nhc3Q8dm9pZCo+KGJ1ZmZlciksIG5vZGUubnVtQ2hpbGRyZW4oKSk7CiAKICAgICAgICAg
aWYgKHNjcmF0Y2hTaXplKSB7CkBAIC0zMTcxLDExICszMTg0LDE1IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTmV3
QXJyYXlXaXRoU2l6ZTogeworICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0g
bV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2RlT3JpZ2luKTsKKyAgICAgICAg
aWYgKCFnbG9iYWxPYmplY3QtPmlzSGF2aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgICAgIGdsb2Jh
bE9iamVjdC0+aGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50KCktPmFkZChzcGVjdWxhdGlvbldhdGNo
cG9pbnQoKSk7CisgICAgICAgIAogICAgICAgICBTcGVjdWxhdGVTdHJpY3RJbnQzMk9wZXJhbmQg
c2l6ZSh0aGlzLCBub2RlLmNoaWxkMSgpKTsKICAgICAgICAgR1BSUmVnIHNpemVHUFIgPSBzaXpl
LmdwcigpOwogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBHUFJSZXN1bHQgcmVz
dWx0KHRoaXMpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5V2l0aFNp
emUsIHJlc3VsdC5ncHIoKSwgbV9qaXQuZ3JhcGgoKS5nbG9iYWxPYmplY3RGb3Iobm9kZS5jb2Rl
T3JpZ2luKS0+YXJyYXlTdHJ1Y3R1cmUoKSwgc2l6ZUdQUik7CisgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3Qt
PmFycmF5U3RydWN0dXJlKCksIHNpemVHUFIpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdC5n
cHIoKSwgbV9jb21waWxlSW5kZXgpOwogICAgICAgICBicmVhazsKICAgICB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2aXNp
b24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyNCw3ICszMjQsOCBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjaGVja0FycmF5KE5vZGUmIG5vCiAgICAgICAgICAgICBtX2ppdC5icmFuY2hUZXN0OCgK
ICAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6WmVybywKICAgICAgICAgICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyh0ZW1wLmdwcigpLCBTdHJ1Y3R1cmU6OmluZGV4aW5nVHlw
ZU9mZnNldCgpKSwKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMy
KEhhc0FycmF5U3RvcmFnZSkpKTsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1
c3RlZEltbTMyKAorICAgICAgICAgICAgICAgICAgICBpc1Nsb3dQdXRBY2Nlc3Mobm9kZS5hcnJh
eU1vZGUoKSkgPyBIYXNTbG93UHV0QXJyYXlTdG9yYWdlIDogSGFzQXJyYXlTdG9yYWdlKSkpOwog
ICAgICAgICAKICAgICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAgICAgICByZXR1
cm47CkBAIC0zNDUsNyArMzQ2LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2hlY2tBcnJheShO
b2RlJiBubwogICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKAogICAgICAgICAgICAgVW5jb3VudGFi
bGUsIEpTVmFsdWVSZWdzKCksIE5vTm9kZSwKICAgICAgICAgICAgIG1faml0LmJyYW5jaFRlc3Qz
MigKLSAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6WmVybywgdGVtcEdQUiwgTWFjcm9B
c3NlbWJsZXI6OlRydXN0ZWRJbW0zMihIYXNBcnJheVN0b3JhZ2UpKSk7CisgICAgICAgICAgICAg
ICAgTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHRlbXBHUFIsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoCisgICAgICAgICAgICAgICAgICAgIGlzU2xvd1B1dEFjY2Vzcyhub2RlLmFycmF5TW9k
ZSgpKSA/IEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UgOiBIYXNBcnJheVN0b3JhZ2UpKSk7CiAgICAg
ICAgIAogICAgICAgICBub1Jlc3VsdChtX2NvbXBpbGVJbmRleCk7CiAgICAgICAgIHJldHVybjsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtNDM3LDcgKzQzNyw3
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDbGFzc1R5cGUs
IGJvb2wgZGVzdHJ1Y3RvciwgdHlwZW5hbWUgU3RydWN0dXJlVHlwZT4gdm9pZCBlbWl0QWxsb2Nh
dGVCYXNpY0pTT2JqZWN0KFN0cnVjdHVyZVR5cGUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3Rl
cklEIHN0b3JhZ2VQdHIpOwogICAgICAgICB2b2lkIGVtaXRBbGxvY2F0ZUJhc2ljU3RvcmFnZShz
aXplX3QsIHB0cmRpZmZfdCBvZmZzZXRGcm9tQmFzZSwgUmVnaXN0ZXJJRCByZXN1bHQpOwogICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB2b2lkIGVtaXRBbGxvY2F0ZUpTRmluYWxPYmplY3Qo
VCBzdHJ1Y3R1cmUsIFJlZ2lzdGVySUQgcmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIpOwot
ICAgICAgICB2b2lkIGVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zaWduZWQgdmFsdWVzUmVnaXN0ZXIs
IHVuc2lnbmVkIGxlbmd0aCwgUmVnaXN0ZXJJRCBjZWxsUmVzdWx0LCBSZWdpc3RlcklEIHN0b3Jh
Z2VSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVB0cik7CisgICAgICAgIHZvaWQgZW1pdEFsbG9j
YXRlSlNBcnJheSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdp
c3RlcklEIGNlbGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBz
dG9yYWdlUHRyLCBSZWdpc3RlcklEIHNjcmF0Y2gpOwogICAgICAgICAKICNpZiBFTkFCTEUoVkFM
VUVfUFJPRklMRVIpCiAgICAgICAgIC8vIFRoaXMgYXNzdW1lcyB0aGF0IHRoZSB2YWx1ZSB0byBw
cm9maWxlIGlzIGluIHJlZ1QwIGFuZCB0aGF0IHJlZ1QzIGlzIGF2YWlsYWJsZSBmb3IKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lTWV0aG9kcy5oCShyZXZpc2lv
biAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1ldGhvZHMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQzLDcgKzQ0Myw3IEBAIGlubGluZSB2b2lkIEpJVDo6ZW1p
dEFsbG9jYXRlQmFzaWNTdG9yYWcKICAgICBzdWJQdHIoVHJ1c3RlZEltbTMyKHNpemUgLSBvZmZz
ZXRGcm9tQmFzZSksIHJlc3VsdCk7CiB9CiAKLWlubGluZSB2b2lkIEpJVDo6ZW1pdEFsbG9jYXRl
SlNBcnJheSh1bnNpZ25lZCB2YWx1ZXNSZWdpc3RlciwgdW5zaWduZWQgbGVuZ3RoLCBSZWdpc3Rl
cklEIGNlbGxSZXN1bHQsIFJlZ2lzdGVySUQgc3RvcmFnZVJlc3VsdCwgUmVnaXN0ZXJJRCBzdG9y
YWdlUHRyKQoraW5saW5lIHZvaWQgSklUOjplbWl0QWxsb2NhdGVKU0FycmF5KHVuc2lnbmVkIHZh
bHVlc1JlZ2lzdGVyLCB1bnNpZ25lZCBsZW5ndGgsIFJlZ2lzdGVySUQgY2VsbFJlc3VsdCwgUmVn
aXN0ZXJJRCBzdG9yYWdlUmVzdWx0LCBSZWdpc3RlcklEIHN0b3JhZ2VQdHIsIFJlZ2lzdGVySUQg
c2NyYXRjaCkKIHsKICAgICB1bnNpZ25lZCBpbml0aWFsTGVuZ3RoID0gc3RkOjptYXgobGVuZ3Ro
LCA0VSk7CiAgICAgc2l6ZV90IGluaXRpYWxTdG9yYWdlID0gQnV0dGVyZmx5Ojp0b3RhbFNpemUo
MCwgMCwgdHJ1ZSwgQXJyYXlTdG9yYWdlOjpzaXplRm9yKGluaXRpYWxMZW5ndGgpKTsKQEAgLTQ1
Myw3ICs0NTMsOCBAQCBpbmxpbmUgdm9pZCBKSVQ6OmVtaXRBbGxvY2F0ZUpTQXJyYXkodW5zCiAg
ICAgZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKGluaXRpYWxTdG9yYWdlLCBzaXplb2YoSW5kZXhp
bmdIZWFkZXIpLCBzdG9yYWdlUmVzdWx0KTsKIAogICAgIC8vIEFsbG9jYXRlIHRoZSBjZWxsIGZv
ciB0aGUgYXJyYXkuCi0gICAgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdDxKU0FycmF5LCBmYWxz
ZT4oVHJ1c3RlZEltbVB0cihtX2NvZGVCbG9jay0+Z2xvYmFsT2JqZWN0KCktPmFycmF5U3RydWN0
dXJlKCkpLCBjZWxsUmVzdWx0LCBzdG9yYWdlUHRyKTsKKyAgICBsb2FkUHRyKG1fY29kZUJsb2Nr
LT5nbG9iYWxPYmplY3QoKS0+YWRkcmVzc09mQXJyYXlTdHJ1Y3R1cmUoKSwgc2NyYXRjaCk7Cisg
ICAgZW1pdEFsbG9jYXRlQmFzaWNKU09iamVjdDxKU0FycmF5LCBmYWxzZT4oc2NyYXRjaCwgY2Vs
bFJlc3VsdCwgc3RvcmFnZVB0cik7CiAKICAgICAvLyBTdG9yZSBhbGwgdGhlIG5lY2Vzc2FyeSBp
bmZvIGluIHRoZSBBcnJheVN0b3JhZ2UuCiAgICAgc3RvcmUzMihJbW0zMihsZW5ndGgpLCBBZGRy
ZXNzKHN0b3JhZ2VSZXN1bHQsIEFycmF5U3RvcmFnZTo6bGVuZ3RoT2Zmc2V0KCkpKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMTI4NzE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTY3Niw3ICsxNjc2LDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfbmV3X2FycmF5KElu
c3RydWN0aW9uKgogICAgIGludCBkc3QgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5k
OwogICAgIGludCB2YWx1ZXMgPSBjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kOwogCi0g
ICAgZW1pdEFsbG9jYXRlSlNBcnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1QxLCByZWdU
Mik7CisgICAgZW1pdEFsbG9jYXRlSlNBcnJheSh2YWx1ZXMsIGxlbmd0aCwgcmVnVDAsIHJlZ1Qx
LCByZWdUMiwgcmVnVDMpOwogICAgIGVtaXRTdG9yZUNlbGwoZHN0LCByZWdUMCk7IAogfQogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9B
cnJheVByb3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw4ICsxMzIsMTAgQEAgQXJy
YXlQcm90b3R5cGU6OkFycmF5UHJvdG90eXBlKEpTR2xvYmFsTwogCiB2b2lkIEFycmF5UHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogewotICAg
IEJhc2U6OmZpbmlzaENyZWF0aW9uKGdsb2JhbE9iamVjdC0+Z2xvYmFsRGF0YSgpKTsKKyAgICBK
U0dsb2JhbERhdGEmIGdsb2JhbERhdGEgPSBnbG9iYWxPYmplY3QtPmdsb2JhbERhdGEoKTsKKyAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbihnbG9iYWxEYXRhKTsKICAgICBBU1NFUlQoaW5oZXJpdHMo
JnNfaW5mbykpOworICAgIG5vdGlmeVVzZWRBc1Byb3RvdHlwZShnbG9iYWxEYXRhKTsKIH0KIAog
Ym9vbCBBcnJheVByb3RvdHlwZTo6Z2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCogY2VsbCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNs
b3QpCkBAIC02MzgsNyArNjQwLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJh
eVByb3RvRgogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAgIENhbGxUeXBlIGNhbGxUeXBlID0g
Z2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKIAotICAgIGlmICh0aGlzT2JqLT5jbGFz
c0luZm8oKSA9PSAmSlNBcnJheTo6c19pbmZvICYmICFhc0FycmF5KHRoaXNPYmopLT5pblNwYXJz
ZUluZGV4aW5nTW9kZSgpKSB7CisgICAgaWYgKHRoaXNPYmotPmNsYXNzSW5mbygpID09ICZKU0Fy
cmF5OjpzX2luZm8gJiYgIWFzQXJyYXkodGhpc09iaiktPmluU3BhcnNlSW5kZXhpbmdNb2RlKCkg
JiYgIXNob3VsZFVzZVNsb3dQdXQodGhpc09iai0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSkgewogICAgICAgICBpZiAoaXNOdW1lcmljQ29tcGFyZUZ1bmN0aW9uKGV4ZWMsIGNhbGxUeXBl
LCBjYWxsRGF0YSkpCiAgICAgICAgICAgICBhc0FycmF5KHRoaXNPYmopLT5zb3J0TnVtZXJpYyhl
eGVjLCBmdW5jdGlvbiwgY2FsbFR5cGUsIGNhbGxEYXRhKTsKICAgICAgICAgZWxzZSBpZiAoY2Fs
bFR5cGUgIT0gQ2FsbFR5cGVOb25lKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSW5kZXhpbmdUeXBlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSW5kZXhpbmdUeXBlLmgJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0luZGV4aW5nVHlwZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMywyOCAr
MzMsNjUgQEAgdHlwZWRlZiB1aW50OF90IEluZGV4aW5nVHlwZTsKIC8vIEZsYWdzIGZvciB0ZXN0
aW5nIHRoZSBwcmVzZW5jZSBvZiBjYXBhYmlsaXRpZXMuCiBzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIElzQXJyYXkgICAgICAgICAgICAgICAgICA9IDE7CiBzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEhhc0FycmF5U3RvcmFnZSAgICAgICAgICA9IDg7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdU
eXBlIEhhc1Nsb3dQdXRBcnJheVN0b3JhZ2UgICA9IDE2OwogCiAvLyBBZGRpdGlvbmFsIGZsYWdz
IGZvciB0cmFja2luZyB0aGUgaGlzdG9yeSBvZiB0aGUgdHlwZS4gVGhlc2UgYXJlIHVzdWFsbHkK
IC8vIG1hc2tlZCBvZmYgdW5sZXNzIHlvdSBhc2sgZm9yIHRoZW0gZGlyZWN0bHkuCi1zdGF0aWMg
Y29uc3QgSW5kZXhpbmdUeXBlIEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDE2OyAvLyBNZWFu
cyB0aGF0IHRoaXMgb2JqZWN0IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBhc3QuCitz
dGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEhhZEFycmF5U3RvcmFnZSAgICAgICAgICA9IDMyOyAv
LyBNZWFucyB0aGF0IHRoaXMgb2JqZWN0IGRpZCBoYXZlIGFycmF5IHN0b3JhZ2UgaW4gdGhlIHBh
c3QuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE1heUhhdmVJbmRleGVkQWNjZXNzb3JzICA9
IDY0OwogCiAvLyBMaXN0IG9mIGFjY2VwdGFibGUgYXJyYXkgdHlwZXMuCi1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5ICAgICAgICAgICAgICAgICA9IDA7Ci1zdGF0aWMgY29uc3Qg
SW5kZXhpbmdUeXBlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZSA9IEhhc0FycmF5U3RvcmFnZTsK
LXN0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgID0gSXNB
cnJheTsgLy8gSSdkIHdhbnQgdG8gY2FsbCB0aGlzICJBcnJheSIgYnV0IHRoaXMgd291bGQgbGVh
ZCB0byBkaXNhc3Ryb3VzIG5hbWVzcGFjZSBwb2xsdXRpb24uCi1zdGF0aWMgY29uc3QgSW5kZXhp
bmdUeXBlIEFycmF5V2l0aEFycmF5U3RvcmFnZSAgICA9IElzQXJyYXkgfCBIYXNBcnJheVN0b3Jh
Z2U7CitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIE5vbkFycmF5ICAgICAgICAgICAgICAgICAg
ICAgICAgPSAwOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlwZSBOb25BcnJheVdpdGhBcnJheVN0
b3JhZ2UgICAgICAgID0gSGFzQXJyYXlTdG9yYWdlOworc3RhdGljIGNvbnN0IEluZGV4aW5nVHlw
ZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdlID0gSGFzU2xvd1B1dEFycmF5U3RvcmFn
ZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlDbGFzcyAgICAgICAgICAgICAgICAg
ICAgICA9IElzQXJyYXk7IC8vIEknZCB3YW50IHRvIGNhbGwgdGhpcyAiQXJyYXkiIGJ1dCB0aGlz
IHdvdWxkIGxlYWQgdG8gZGlzYXN0cm91cyBuYW1lc3BhY2UgcG9sbHV0aW9uLgorc3RhdGljIGNv
bnN0IEluZGV4aW5nVHlwZSBBcnJheVdpdGhBcnJheVN0b3JhZ2UgICAgICAgICAgID0gSXNBcnJh
eSB8IEhhc0FycmF5U3RvcmFnZTsKK3N0YXRpYyBjb25zdCBJbmRleGluZ1R5cGUgQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZSAgICA9IElzQXJyYXkgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdl
OworCisjZGVmaW5lIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUyBcCisgICAgTm9uQXJyYXk6ICAg
ICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBBcnJheUNsYXNzCisKKyNkZWZpbmUgQVJSQVlf
V0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTIFwKKyAgICBBcnJheVdpdGhBcnJheVN0
b3JhZ2U6ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRB
cnJheVN0b3JhZ2UKKyAgICAKKyNkZWZpbmUgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVMgICAgICAgICAgICAgICAgXAorICAgIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZTogICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgY2FzZSBOb25BcnJheVdpdGhTbG93UHV0QXJyYXlT
dG9yYWdlOiAgICAgICAgICAgICAgIFwKKyAgICBjYXNlIEFSUkFZX1dJVEhfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUwogCi0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcy4KLXN0YXRp
YyBjb25zdCBJbmRleGluZ1R5cGUgQWxsQXJyYXlUeXBlcyAgICAgICAgICAgID0gMTU7CitzdGF0
aWMgaW5saW5lIGJvb2wgaGFzSW5kZXhlZFByb3BlcnRpZXMoSW5kZXhpbmdUeXBlIGluZGV4aW5n
VHlwZSkKK3sKKyAgICBzd2l0Y2ggKGluZGV4aW5nVHlwZSkgeworICAgIGNhc2UgQUxMX0JMQU5L
X0lOREVYSU5HX1RZUEVTOgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZGVmYXVsdDoKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfQogCi0vLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0
eXBlcyBpbmNsdWRpbmcgdGhlIGhpc3RvcnkuCi1zdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFs
bEFycmF5VHlwZXNBbmRIaXN0b3J5ICA9IDMxOworc3RhdGljIGlubGluZSBib29sIGhhc0luZGV4
aW5nSGVhZGVyKEluZGV4aW5nVHlwZSB0eXBlKQoreworICAgIHJldHVybiBoYXNJbmRleGVkUHJv
cGVydGllcyh0eXBlKTsKK30KIAotaW5saW5lIGJvb2wgaGFzSW5kZXhpbmdIZWFkZXIoSW5kZXhp
bmdUeXBlIHR5cGUpCitzdGF0aWMgaW5saW5lIGJvb2wgaGFzQXJyYXlTdG9yYWdlKEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCiB7Ci0gICAgcmV0dXJuICEhKHR5cGUgJiBIYXNBcnJheVN0b3Jh
Z2UpOworICAgIHJldHVybiAhIShpbmRleGluZ1R5cGUgJiAoSGFzQXJyYXlTdG9yYWdlIHwgSGFz
U2xvd1B1dEFycmF5U3RvcmFnZSkpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkVXNl
U2xvd1B1dChJbmRleGluZ1R5cGUgaW5kZXhpbmdUeXBlKQoreworICAgIHJldHVybiAhIShpbmRl
eGluZ1R5cGUgJiBIYXNTbG93UHV0QXJyYXlTdG9yYWdlKTsKK30KKworLy8gTWFzayBvZiBhbGwg
cG9zc2libGUgdHlwZXMuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXMg
ICAgICAgICAgICA9IDMxOworCisvLyBNYXNrIG9mIGFsbCBwb3NzaWJsZSB0eXBlcyBpbmNsdWRp
bmcgdGhlIGhpc3RvcnkuCitzdGF0aWMgY29uc3QgSW5kZXhpbmdUeXBlIEFsbEFycmF5VHlwZXNB
bmRIaXN0b3J5ICA9IDEyNzsKKwogfSAvLyBuYW1lc3BhY2UgSlNDCiAKICNlbmRpZiAvLyBJbmRl
eGluZ1R5cGVfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5j
cHAJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDQsNyArNDA0LDcgQEAgSlNWYWx1ZSBKU0Fy
cmF5Ojpwb3AoRXhlY1N0YXRlKiBleGVjKQogICAgIGNhc2UgQXJyYXlDbGFzczoKICAgICAgICAg
cmV0dXJuIGpzVW5kZWZpbmVkKCk7CiAgICAgICAgIAotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlT
dG9yYWdlOiB7CisgICAgY2FzZSBBUlJBWV9XSVRIX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQ
RVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9idXR0ZXJmbHktPmFycmF5
U3RvcmFnZSgpOwogICAgIAogICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdG9yYWdlLT5sZW5n
dGgoKTsKQEAgLTQ2NCw2ICs0NjQsMTYgQEAgdm9pZCBKU0FycmF5OjpwdXNoKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYQogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgQXJy
YXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZTogeworICAgICAgICB1bnNpZ25lZCBvbGRMZW5ndGgg
PSBsZW5ndGgoKTsKKyAgICAgICAgaWYgKGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhv
bGUoZXhlYywgb2xkTGVuZ3RoLCB2YWx1ZSwgdHJ1ZSkpIHsKKyAgICAgICAgICAgIGlmICghZXhl
Yy0+aGFkRXhjZXB0aW9uKCkgJiYgb2xkTGVuZ3RoIDwgMHhGRkZGRkZGRnUpCisgICAgICAgICAg
ICAgICAgc2V0TGVuZ3RoKGV4ZWMsIG9sZExlbmd0aCArIDEsIHRydWUpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaC4KKyAgICB9CisgICAg
ICAgIAogICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CiAgICAgICAgIEFycmF5U3Rv
cmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKIApAQCAtOTE3LDcg
KzkyNyw3IEBAIHZvaWQgSlNBcnJheTo6ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBleGUKICAgICBj
YXNlIEFycmF5Q2xhc3M6CiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBjYXNlIEFycmF5V2l0
aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiogdmVjdG9yID0gc3RvcmFnZS0+bV92ZWN0b3I7CkBAIC05NDcsNyArOTU3LDcgQEAgdm9pZCBK
U0FycmF5Ojpjb3B5VG9Bcmd1bWVudHMoRXhlY1N0YXRlKgogICAgIGNhc2UgQXJyYXlDbGFzczoK
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFn
ZTogeworICAgIGNhc2UgQVJSQVlfV0lUSF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVTOiB7
CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKTsKICAgICAgICAgdW5zaWduZWQgaSA9IDA7CiAgICAgICAgIFdyaXRlQmFycmllcjxVbmtu
b3duPiogdmVjdG9yID0gc3RvcmFnZS0+bV92ZWN0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0FycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5oCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDkgKzc4LDkg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiwg
TWFya2VkQXJndW1lbnRCdWZmZXImKTsKICAgICAgICAgdm9pZCBjb3B5VG9Bcmd1bWVudHMoRXhl
Y1N0YXRlKiwgQ2FsbEZyYW1lKiwgdWludDMyX3QgbGVuZ3RoKTsKIAotICAgICAgICBzdGF0aWMg
U3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICAgICAgc3Rh
dGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUsIEluZGV4aW5n
VHlwZSBpbmRleGluZ1R5cGUpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBTdHJ1Y3R1
cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8o
T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBBcnJheVdpdGhBcnJheVN0b3Jh
Z2UpOworICAgICAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3JlYXRlKGdsb2JhbERhdGEsIGds
b2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFn
cyksICZzX2luZm8sIGluZGV4aW5nVHlwZSk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgcHJv
dGVjdGVkOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNiArMTEx
LDcgQEAgc3RhdGljIGNvbnN0IGludCBwcmVmZXJyZWRTY3JpcHRDaGVja1RpbQogSlNHbG9iYWxP
YmplY3Q6OkpTR2xvYmFsT2JqZWN0KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIGNvbnN0IEdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKiBnbG9iYWxPYmplY3RN
ZXRob2RUYWJsZSkKICAgICA6IEJhc2UoZ2xvYmFsRGF0YSwgc3RydWN0dXJlLCAwKQogICAgICwg
bV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2lu
dFNldChJbml0aWFsaXplZFdhdGNoaW5nKSkpCisgICAgLCBtX2hhdmluZ0FCYWRUaW1lV2F0Y2hw
b2ludChhZG9wdFJlZihuZXcgV2F0Y2hwb2ludFNldChJbml0aWFsaXplZFdhdGNoaW5nKSkpCiAg
ICAgLCBtX3dlYWtSYW5kb20oT3B0aW9uczo6Zm9yY2VXZWFrUmFuZG9tU2VlZCgpID8gT3B0aW9u
czo6Zm9yY2VkV2Vha1JhbmRvbVNlZWQoKSA6IHN0YXRpY19jYXN0PHVuc2lnbmVkPihyYW5kb21O
dW1iZXIoKSAqIChzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkgKyAxLjApKSkK
ICAgICAsIG1fZXZhbEVuYWJsZWQodHJ1ZSkKICAgICAsIG1fZ2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUoZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPyBnbG9iYWxPYmplY3RNZXRob2RUYWJsZSA6ICZz
X2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlKQpAQCAtMjMwLDcgKzIzMSw4IEBAIHZvaWQgSlNHbG9i
YWxPYmplY3Q6OnJlc2V0KEpTVmFsdWUgcHJvdG8KICAgICBtX2NhbGxiYWNrT2JqZWN0U3RydWN0
dXJlLnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIEpTQ2FsbGJhY2tPYmplY3Q8SlNOb25G
aW5hbE9iamVjdD46OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIG1f
b2JqZWN0UHJvdG90eXBlLmdldCgpKSk7CiAKICAgICBtX2FycmF5UHJvdG90eXBlLnNldChleGVj
LT5nbG9iYWxEYXRhKCksIHRoaXMsIEFycmF5UHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywg
QXJyYXlQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZShleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMs
IG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSkpOwotICAgIG1fYXJyYXlTdHJ1Y3R1cmUuc2V0KGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4ZWMtPmds
b2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fYXJyYXlT
dHJ1Y3R1cmUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3Ry
dWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwg
QXJyYXlXaXRoQXJyYXlTdG9yYWdlKSk7CisgICAgbV9hcnJheVN0cnVjdHVyZUZvclNsb3dQdXQu
c2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgSlNBcnJheTo6Y3JlYXRlU3RydWN0dXJlKGV4
ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQoKSwgQXJyYXlXaXRo
U2xvd1B1dEFycmF5U3RvcmFnZSkpOwogICAgIG1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJl
LnNldChleGVjLT5nbG9iYWxEYXRhKCksIHRoaXMsIFJlZ0V4cE1hdGNoZXNBcnJheTo6Y3JlYXRl
U3RydWN0dXJlKGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhpcywgbV9hcnJheVByb3RvdHlwZS5nZXQo
KSkpOwogCiAgICAgbV9zdHJpbmdQcm90b3R5cGUuc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgdGhp
cywgU3RyaW5nUHJvdG90eXBlOjpjcmVhdGUoZXhlYywgdGhpcywgU3RyaW5nUHJvdG90eXBlOjpj
cmVhdGVTdHJ1Y3R1cmUoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBtX29iamVjdFByb3RvdHlw
ZS5nZXQoKSkpKTsKQEAgLTMyOSw2ICszMzEsODIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cmVz
ZXQoSlNWYWx1ZSBwcm90bwogICAgIHJlc2V0UHJvdG90eXBlKGV4ZWMtPmdsb2JhbERhdGEoKSwg
cHJvdG90eXBlKTsKIH0KIAorLy8gUHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpT
R2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoKQorbmFtZXNwYWNlIHsKKworY2xhc3MgT2JqZWN0
c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlciA6IHB1YmxpYyBNYXJrZWRCbG9jazo6Vm9pZEZ1bmN0
b3IgeworcHVibGljOgorICAgIE9iamVjdHNXaXRoQnJva2VuSW5kZXhpbmdGaW5kZXIoTWFya2Vk
QXJndW1lbnRCdWZmZXImLCBKU0dsb2JhbE9iamVjdCopOworICAgIHZvaWQgb3BlcmF0b3IoKShK
U0NlbGwqKTsKKworcHJpdmF0ZToKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgbV9mb3VuZE9i
amVjdHM7CisgICAgSlNHbG9iYWxPYmplY3QqIG1fZ2xvYmFsT2JqZWN0OworfTsKKworT2JqZWN0
c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcjo6T2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRl
cigKKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciYgZm91bmRPYmplY3RzLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0KQorICAgIDogbV9mb3VuZE9iamVjdHMoZm91bmRPYmplY3RzKQorICAg
ICwgbV9nbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0KQoreworfQorCitpbmxpbmUgYm9vbCBoYXNC
cm9rZW5JbmRleGluZyhKU09iamVjdCogb2JqZWN0KQoreworICAgIC8vIFRoaXMgd2lsbCBjaGFu
Z2UgaWYgd2UgaGF2ZSBtb3JlIGluZGV4aW5nIHR5cGVzLgorICAgIHJldHVybiAhIShvYmplY3Qt
PnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSAmIEhhc0FycmF5U3RvcmFnZSk7Cit9CisKK3Zv
aWQgT2JqZWN0c1dpdGhCcm9rZW5JbmRleGluZ0ZpbmRlcjo6b3BlcmF0b3IoKShKU0NlbGwqIGNl
bGwpCit7CisgICAgaWYgKCFjZWxsLT5pc09iamVjdCgpKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0KGNlbGwpOworICAgIAorICAgIC8vIFdl
IG9ubHkgd2FudCB0byBoYXZlIGEgYmFkIHRpbWUgaW4gdGhlIGFmZmVjdGVkIGdsb2JhbCBvYmpl
Y3QsIG5vdCBpbiB0aGUgZW50aXJlCisgICAgLy8gVk0uCisgICAgaWYgKG9iamVjdC0+dW53cmFw
cGVkR2xvYmFsT2JqZWN0KCkgIT0gbV9nbG9iYWxPYmplY3QpCisgICAgICAgIHJldHVybjsKKyAg
ICAKKyAgICBpZiAoIWhhc0Jyb2tlbkluZGV4aW5nKG9iamVjdCkpCisgICAgICAgIHJldHVybjsK
KyAgICAKKyAgICBtX2ZvdW5kT2JqZWN0cy5hcHBlbmQob2JqZWN0KTsKK30KKworfSAvLyBlbmQg
cHJpdmF0ZSBuYW1lc3BhY2UgZm9yIGhlbHBlcnMgZm9yIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJh
ZFRpbWUoKQorCit2b2lkIEpTR2xvYmFsT2JqZWN0OjpoYXZlQUJhZFRpbWUoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhKQoreworICAgIEFTU0VSVCgmZ2xvYmFsRGF0YSA9PSAmdGhpcy0+Z2xvYmFs
RGF0YSgpKTsKKyAgICAKKyAgICBpZiAoaXNIYXZpbmdBQmFkVGltZSgpKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIGFsbG9jYXRpb25zIG9yIGluZGV4
ZWQgc3RvcmFnZSB0cmFuc2l0aW9ucyB0aGF0IGFyZSBpbmxpbmluZworICAgIC8vIHRoZSBhc3N1
bXB0aW9uIHRoYXQgaXQncyBzYWZlIHRvIHRyYW5zaXRpb24gdG8gYSBub24tU2xvd1B1dCBhcnJh
eSBzdG9yYWdlIGRvbid0CisgICAgLy8gZG8gc28gYW55bW9yZS4KKyAgICBtX2hhdmluZ0FCYWRU
aW1lV2F0Y2hwb2ludC0+bm90aWZ5V3JpdGUoKTsKKyAgICBBU1NFUlQoaXNIYXZpbmdBQmFkVGlt
ZSgpKTsgLy8gVGhlIHdhdGNocG9pbnQgaXMgd2hhdCB0ZWxscyB1cyB0aGF0IHdlJ3JlIGhhdmlu
ZyBhIGJhZCB0aW1lLgorICAgIAorICAgIC8vIE1ha2Ugc3VyZSB0aGF0IGFsbCBKU0FycmF5IGFs
bG9jYXRpb25zIHRoYXQgbG9hZCB0aGUgYXBwcm9wcmlhdGUgc3RydWN0dXJlIGZyb20KKyAgICAv
LyB0aGlzIG9iamVjdCBub3cgbG9hZCBhIHN0cnVjdHVyZSB0aGF0IHVzZXMgU2xvd1B1dC4KKyAg
ICBtX2FycmF5U3RydWN0dXJlLnNldChnbG9iYWxEYXRhLCB0aGlzLCBtX2FycmF5U3RydWN0dXJl
Rm9yU2xvd1B1dC5nZXQoKSk7CisgICAgCisgICAgLy8gTWFrZSBzdXJlIHRoYXQgYWxsIG9iamVj
dHMgdGhhdCBoYXZlIGluZGV4ZWQgc3RvcmFnZSBzd2l0Y2ggdG8gdGhlIHNsb3cga2luZCBvZgor
ICAgIC8vIGluZGV4ZWQgc3RvcmFnZS4KKyAgICBNYXJrZWRBcmd1bWVudEJ1ZmZlciBmb3VuZE9i
amVjdHM7IC8vIFVzZSBNYXJrZWRBcmd1bWVudEJ1ZmZlciBiZWNhdXNlIHN3aXRjaFRvU2xvd1B1
dEFycmF5U3RvcmFnZSgpIG1heSBHQy4KKyAgICBPYmplY3RzV2l0aEJyb2tlbkluZGV4aW5nRmlu
ZGVyIGZpbmRlcihmb3VuZE9iamVjdHMsIHRoaXMpOworICAgIGdsb2JhbERhdGEuaGVhcC5vYmpl
Y3RTcGFjZSgpLmZvckVhY2hMaXZlQ2VsbChmaW5kZXIpOworICAgIHdoaWxlICghZm91bmRPYmpl
Y3RzLmlzRW1wdHkoKSkgeworICAgICAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QoZm91
bmRPYmplY3RzLmxhc3QoKSk7CisgICAgICAgIGZvdW5kT2JqZWN0cy5yZW1vdmVMYXN0KCk7Cisg
ICAgICAgIEFTU0VSVChoYXNCcm9rZW5JbmRleGluZyhvYmplY3QpKTsKKyAgICAgICAgb2JqZWN0
LT5zd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoZ2xvYmFsRGF0YSk7CisgICAgfQorfQorCiB2
b2lkIEpTR2xvYmFsT2JqZWN0OjpjcmVhdGVUaHJvd1R5cGVFcnJvcihFeGVjU3RhdGUqIGV4ZWMp
CiB7CiAgICAgSlNGdW5jdGlvbiogdGhyb3dlciA9IEpTRnVuY3Rpb246OmNyZWF0ZShleGVjLCB0
aGlzLCAwLCBTdHJpbmcoKSwgZ2xvYmFsRnVuY1Rocm93VHlwZUVycm9yKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAkocmV2aXNpb24g
MTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDcgKzEyNiw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FjdGl2YXRpb25TdHJ1Y3R1cmU7CiAgICAg
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbmFtZVNjb3BlU3RydWN0dXJlOwogICAgICAg
ICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FyZ3VtZW50c1N0cnVjdHVyZTsKLSAgICAgICAg
V3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZTsKKyAgICAgICAgV3JpdGVC
YXJyaWVyPFN0cnVjdHVyZT4gbV9hcnJheVN0cnVjdHVyZTsgLy8gVGhpcyBnZXRzIHNldCB0byBt
X2FycmF5U3RydWN0dXJlRm9yU2xvd1B1dCBhcyBzb29uIGFzIHdlIGRlY2lkZSB0byBoYXZlIGEg
YmFkIHRpbWUuCisgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlTdHJ1Y3R1
cmVGb3JTbG93UHV0OwogICAgICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2Jvb2xlYW5P
YmplY3RTdHJ1Y3R1cmU7CiAgICAgICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGJh
Y2tDb25zdHJ1Y3RvclN0cnVjdHVyZTsKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4g
bV9jYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlOwpAQCAtMTQ5LDYgKzE1MCw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBEZWJ1Z2dlciogbV9kZWJ1Z2dlcjsKIAogICAgICAgICBSZWZQdHI8
V2F0Y2hwb2ludFNldD4gbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkV2F0Y2hwb2ludDsKKyAgICAg
ICAgUmVmUHRyPFdhdGNocG9pbnRTZXQ+IG1faGF2aW5nQUJhZFRpbWVXYXRjaHBvaW50OwogCiAg
ICAgICAgIE93blB0cjxKU0dsb2JhbE9iamVjdFJhcmVEYXRhPiBtX3JhcmVEYXRhOwogCkBAIC0y
NjAsNiArMjYyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFN0cnVjdHVyZSogbmFtZVNj
b3BlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lU2NvcGVTdHJ1Y3R1cmUuZ2V0KCk7
IH0KICAgICAgICAgU3RydWN0dXJlKiBhcmd1bWVudHNTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVy
biBtX2FyZ3VtZW50c1N0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmUqIGFycmF5
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9hcnJheVN0cnVjdHVyZS5nZXQoKTsgfQorICAg
ICAgICB2b2lkKiBhZGRyZXNzT2ZBcnJheVN0cnVjdHVyZSgpIHsgcmV0dXJuICZtX2FycmF5U3Ry
dWN0dXJlOyB9CiAgICAgICAgIFN0cnVjdHVyZSogYm9vbGVhbk9iamVjdFN0cnVjdHVyZSgpIGNv
bnN0IHsgcmV0dXJuIG1fYm9vbGVhbk9iamVjdFN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBT
dHJ1Y3R1cmUqIGNhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X2NhbGxiYWNrQ29uc3RydWN0b3JTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICAgICAgU3RydWN0dXJl
KiBjYWxsYmFja0Z1bmN0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja0Z1
bmN0aW9uU3RydWN0dXJlLmdldCgpOyB9CkBAIC0yODAsNiArMjgzLDE0IEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBTdHJ1Y3R1cmUqIHN0cmluZ09iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RyaW5nT2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CiAKICAgICAgICAgV2F0Y2hw
b2ludFNldCogbWFzcXVlcmFkZXNBc1VuZGVmaW5lZFdhdGNocG9pbnQoKSB7IHJldHVybiBtX21h
c3F1ZXJhZGVzQXNVbmRlZmluZWRXYXRjaHBvaW50LmdldCgpOyB9CisgICAgICAgIFdhdGNocG9p
bnRTZXQqIGhhdmluZ0FCYWRUaW1lV2F0Y2hwb2ludCgpIHsgcmV0dXJuIG1faGF2aW5nQUJhZFRp
bWVXYXRjaHBvaW50LmdldCgpOyB9CisgICAgICAgIAorICAgICAgICBib29sIGlzSGF2aW5nQUJh
ZFRpbWUoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gbV9oYXZpbmdBQmFk
VGltZVdhdGNocG9pbnQtPmhhc0JlZW5JbnZhbGlkYXRlZCgpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICB2b2lkIGhhdmVBQmFkVGltZShKU0dsb2JhbERhdGEmKTsKIAogICAgICAgICB2
b2lkIHNldFByb2ZpbGVHcm91cCh1bnNpZ25lZCB2YWx1ZSkgeyBjcmVhdGVSYXJlRGF0YUlmTmVl
ZGVkKCk7IG1fcmFyZURhdGEtPnByb2ZpbGVHcm91cCA9IHZhbHVlOyB9CiAgICAgICAgIHVuc2ln
bmVkIHByb2ZpbGVHcm91cCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw4ICsxMzMs
NyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OnZpc2l0QnV0dGVyCiAgICAgICAgICAg
ICAKICAgICAgICAgICAgIC8vIE1hcmsgYW5kIGNvcHkgdGhlIGFycmF5IGlmIGFwcHJvcHJpYXRl
LgogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAg
ICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9S
QUdFX0lOREVYSU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgbmV3QnV0dGVyZmx5LT5hcnJh
eVN0b3JhZ2UoKS0+Y29weUhlYWRlckZyb21EdXJpbmdHQygqYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgICAgICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBjdXJyZW50VGFy
Z2V0ID0gbmV3QnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3I7CiAgICAgICAgICAg
ICAgICAgV3JpdGVCYXJyaWVyPFVua25vd24+KiBjdXJyZW50U291cmNlID0gYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKS0+bV92ZWN0b3I7CkBAIC0xNjAsOCArMTU5LDcgQEAgQUxXQVlTX0lOTElO
RSB2b2lkIEpTT2JqZWN0Ojp2aXNpdEJ1dHRlcgogICAgICAgICAKICAgICAgICAgLy8gTWFyayB0
aGUgYXJyYXkgaWYgYXBwcm9wcmlhdGUuCiAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlLT5pbmRl
eGluZ1R5cGUoKSkgewotICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAg
ICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgICAgIGNhc2UgQUxMX0FSUkFZ
X1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICB2aXNpdG9yLmFwcGVuZFZhbHVl
cyhidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvciwgYnV0dGVyZmx5LT5hcnJheVN0
b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCkpOwogICAgICAgICAgICAgaWYgKGJ1dHRlcmZseS0+YXJy
YXlTdG9yYWdlKCktPm1fc3BhcnNlTWFwKQogICAgICAgICAgICAgICAgIHZpc2l0b3IuYXBwZW5k
KCZidXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3NwYXJzZU1hcCk7CkBAIC0yMzQsMTIgKzIz
MiwxMCBAQCBib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4CiAgICAgICAg
IHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5nZXRPd25Qcm9wZXJ0eVNsb3QodGhp
c09iamVjdCwgZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpKSwgc2xvdCk7CiAgICAgCiAg
ICAgc3dpdGNoICh0aGlzT2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFO
S19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAotICAgIGNhc2UgTm9u
QXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOiB7
CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzogewogICAgICAgICBB
cnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSB0aGlzT2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9y
YWdlKCk7CiAgICAgICAgIGlmIChpID49IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtMzAxLDcgKzI5Nyw3IEBAIHZvaWQgSlNPYmplY3Q6OnB1dChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGEKICAgICAgICAgdW5zaWduZWQgYXR0cmlidXRlczsKICAgICAgICAg
SlNDZWxsKiBzcGVjaWZpY1ZhbHVlOwogICAgICAgICBQcm9wZXJ0eU9mZnNldCBvZmZzZXQgPSBv
YmotPnN0cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgcHJvcGVydHlOYW1lLCBhdHRyaWJ1dGVz
LCBzcGVjaWZpY1ZhbHVlKTsKLSAgICAgICAgaWYgKG9mZnNldCAhPSBpbnZhbGlkT2Zmc2V0KSB7
CisgICAgICAgIGlmIChpc1ZhbGlkT2Zmc2V0KG9mZnNldCkpIHsKICAgICAgICAgICAgIGlmIChh
dHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKICAgICAgICAgICAgICAgICBpZiAoc2xvdC5pc1N0cmlj
dE1vZGUoKSkKICAgICAgICAgICAgICAgICAgICAgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVUeXBl
RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVF
cnJvcikpKTsKQEAgLTM1NCw4ICszNTAsNyBAQCB2b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpT
Q2VsbCogY2VsbCwgCiAgICAgfQogICAgIAogICAgIHN3aXRjaCAodGhpc09iamVjdC0+c3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIGJy
ZWFrOwogICAgICAgICAKICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTM4
MSw2ICszNzYsMzQgQEAgdm9pZCBKU09iamVjdDo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIAog
ICAgICAgICByZXR1cm47CiAgICAgfQogICAgICAgICAKKyAgICBjYXNlIE5vbkFycmF5V2l0aFNs
b3dQdXRBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBcnJheVdpdGhTbG93UHV0QXJyYXlTdG9yYWdl
OiB7CisgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKKyAgICAgICAgCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUg
Pj0gc3RvcmFnZS0+dmVjdG9yTGVuZ3RoKCkpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
CisgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3duPiYgdmFsdWVTbG90ID0gc3RvcmFnZS0+bV92
ZWN0b3JbcHJvcGVydHlOYW1lXTsKKyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+
bGVuZ3RoKCk7CisgICAgICAgIAorICAgICAgICAvLyBVcGRhdGUgbGVuZ3RoICYgbV9udW1WYWx1
ZXNJblZlY3RvciBhcyBuZWNlc3NhcnkuCisgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPj0gbGVu
Z3RoKSB7CisgICAgICAgICAgICBpZiAodGhpc09iamVjdC0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0
QnlJbmRleE9uSG9sZShleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdykpCisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgbGVuZ3RoID0gcHJvcGVydHlOYW1l
ICsgMTsKKyAgICAgICAgICAgIHN0b3JhZ2UtPnNldExlbmd0aChsZW5ndGgpOworICAgICAgICAg
ICAgKytzdG9yYWdlLT5tX251bVZhbHVlc0luVmVjdG9yOworICAgICAgICB9IGVsc2UgaWYgKCF2
YWx1ZVNsb3QpIHsKKyAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5hdHRlbXB0VG9JbnRlcmNl
cHRQdXRCeUluZGV4T25Ib2xlKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93
KSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICArK3N0b3JhZ2UtPm1fbnVt
VmFsdWVzSW5WZWN0b3I7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhbHVlU2xvdC5z
ZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzT2JqZWN0LCB2YWx1ZSk7CisgICAgICAgIHRoaXNP
YmplY3QtPmNoZWNrSW5kZXhpbmdDb25zaXN0ZW5jeSgpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgICAgICAKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICB9CkBAIC00MjUsOCArNDQ4LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6ZW50ZXJE
aWN0aW9uYXJ5SQogdm9pZCBKU09iamVjdDo6ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKEpT
R2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRl
eGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2Ug
Tm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZVdoZW5BcnJh
eVN0b3JhZ2VBbHJlYWR5RXhpc3RzKGdsb2JhbERhdGEsIG1fYnV0dGVyZmx5LT5hcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKQEAgLTQzNSwxMCArNDU3LDIzIEBAIHZv
aWQgSlNPYmplY3Q6OmVudGVyRGljdGlvbmFyeUluZGV4aW5nTW8KICAgICB9CiB9CiAKK3ZvaWQg
SlNPYmplY3Q6Om5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKK3sKKyAgICBpZiAobWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0
dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFsRGF0YSwgc3RydWN0dXJlKCksIEFkZElu
ZGV4ZWRBY2Nlc3NvcnMpKTsKKyAgICAKKyAgICBpZiAoIW1heUJlVXNlZEFzUHJvdG90eXBlKGds
b2JhbERhdGEpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgZ2xvYmFsT2JqZWN0KCktPmhh
dmVBQmFkVGltZShnbG9iYWxEYXRhKTsKK30KKwogQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3Jl
YXRlQXJyYXlTdG9yYWdlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgbGVuZ3Ro
LCB1bnNpZ25lZCB2ZWN0b3JMZW5ndGgpCiB7CiAgICAgSW5kZXhpbmdUeXBlIG9sZFR5cGUgPSBz
dHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCk7Ci0gICAgQVNTRVJUX1VOVVNFRChvbGRUeXBlLCBv
bGRUeXBlID09IE5vbkFycmF5IHx8IG9sZFR5cGUgPT0gQXJyYXlDbGFzcyk7CisgICAgQVNTRVJU
X1VOVVNFRChvbGRUeXBlLCAhaGFzSW5kZXhlZFByb3BlcnRpZXMob2xkVHlwZSkpOwogICAgIEJ1
dHRlcmZseSogbmV3QnV0dGVyZmx5ID0gbV9idXR0ZXJmbHktPmdyb3dBcnJheVJpZ2h0KAogICAg
ICAgICBnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSwgc3RydWN0dXJlKCktPm91dE9mTGluZUNhcGFj
aXR5KCksIGZhbHNlLCAwLAogICAgICAgICBBcnJheVN0b3JhZ2U6OnNpemVGb3IodmVjdG9yTGVu
Z3RoKSk7CkBAIC00NTQsNyArNDg5LDcgQEAgQXJyYXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRl
QXJyYXlTdG9yYQogICAgIHJlc3VsdC0+bV9pbml0aWFsaXphdGlvbkluZGV4ID0gMDsKICAgICBy
ZXN1bHQtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24gPSAwOwogI2VuZGlmCi0gICAgU3RydWN0
dXJlKiBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9i
YWxEYXRhLCBzdHJ1Y3R1cmUoKSwgQWxsb2NhdGVBcnJheVN0b3JhZ2UpOworICAgIFN0cnVjdHVy
ZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpub25Qcm9wZXJ0eVRyYW5zaXRpb24oZ2xvYmFs
RGF0YSwgc3RydWN0dXJlKCksIHN0cnVjdHVyZSgpLT5zdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRp
b24oKSk7CiAgICAgc2V0QnV0dGVyZmx5KGdsb2JhbERhdGEsIG5ld0J1dHRlcmZseSwgbmV3U3Ry
dWN0dXJlKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpAQCAtNDY3LDEyICs1MDIsMTAgQEAgQXJy
YXlTdG9yYWdlKiBKU09iamVjdDo6Y3JlYXRlSW5pdGlhbEFycgogQXJyYXlTdG9yYWdlKiBKU09i
amVjdDo6ZW5zdXJlQXJyYXlTdG9yYWdlRXhpc3RzQW5kRW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdN
b2RlKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKIHsKICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgp
LT5pbmRleGluZ1R5cGUoKSkgewotICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAg
IGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgIHJldHVybiBlbnRlckRpY3Rpb25hcnlJbmRleGlu
Z01vZGVXaGVuQXJyYXlTdG9yYWdlQWxyZWFkeUV4aXN0cyhnbG9iYWxEYXRhLCBtX2J1dHRlcmZs
eS0+YXJyYXlTdG9yYWdlKCkpOwogICAgICAgICAKLSAgICBjYXNlIEFycmF5Q2xhc3M6Ci0gICAg
Y2FzZSBOb25BcnJheTogeworICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOiB7CiAg
ICAgICAgIGNyZWF0ZUFycmF5U3RvcmFnZShnbG9iYWxEYXRhLCAwLCAwKTsKICAgICAgICAgU3Bh
cnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gYWxsb2NhdGVTcGFyc2VJbmRleE1hcChnbG9iYWxEYXRh
KTsKICAgICAgICAgbWFwLT5zZXRTcGFyc2VNb2RlKCk7CkBAIC00ODUsNiArNTE4LDIyIEBAIEFy
cmF5U3RvcmFnZSogSlNPYmplY3Q6OmVuc3VyZUFycmF5U3RvcmEKICAgICB9CiB9CiAKK3ZvaWQg
SlNPYmplY3Q6OnN3aXRjaFRvU2xvd1B1dEFycmF5U3RvcmFnZShKU0dsb2JhbERhdGEmIGdsb2Jh
bERhdGEpCit7CisgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKKyAg
ICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aEFycmF5
U3RvcmFnZTogeworICAgICAgICBTdHJ1Y3R1cmUqIG5ld1N0cnVjdHVyZSA9IFN0cnVjdHVyZTo6
bm9uUHJvcGVydHlUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBTd2l0Y2hUb1Ns
b3dQdXRBcnJheVN0b3JhZ2UpOworICAgICAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgbmV3
U3RydWN0dXJlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgICAgICAKKyAgICBkZWZhdWx0
OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCiB2b2lkIEpTT2JqZWN0OjpwdXREaXJlY3RWaXJ0dWFsKEpTT2JqZWN0KiBvYmplY3QsIEV4
ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwg
dW5zaWduZWQgYXR0cmlidXRlcykKIHsKICAgICBBU1NFUlQoIXZhbHVlLmlzR2V0dGVyU2V0dGVy
KCkgJiYgIShhdHRyaWJ1dGVzICYgQWNjZXNzb3IpKTsKQEAgLTQ5Miw2ICs1NDEsMzMgQEAgdm9p
ZCBKU09iamVjdDo6cHV0RGlyZWN0VmlydHVhbChKU09iamVjdAogICAgIG9iamVjdC0+cHV0RGly
ZWN0SW50ZXJuYWw8UHV0TW9kZURlZmluZU93blByb3BlcnR5PihleGVjLT5nbG9iYWxEYXRhKCks
IHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMsIHNsb3QsIGdldENhbGxhYmxlT2JqZWN0
KHZhbHVlKSk7CiB9CiAKK3ZvaWQgSlNPYmplY3Q6OnNldFByb3RvdHlwZShKU0dsb2JhbERhdGEm
IGdsb2JhbERhdGEsIEpTVmFsdWUgcHJvdG90eXBlKQoreworICAgIEFTU0VSVChwcm90b3R5cGUp
OworICAgIGlmIChwcm90b3R5cGUuaXNPYmplY3QoKSkKKyAgICAgICAgYXNPYmplY3QocHJvdG90
eXBlKS0+bm90aWZ5VXNlZEFzUHJvdG90eXBlKGdsb2JhbERhdGEpOworICAgIAorICAgIFN0cnVj
dHVyZSogbmV3U3RydWN0dXJlID0gU3RydWN0dXJlOjpjaGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9u
KGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5cGUpOworICAgIHNldFN0cnVjdHVyZShn
bG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUpOworICAgIAorICAgIGlmICghbmV3U3RydWN0dXJlLT5h
bnlPYmplY3RJbkNoYWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkpCisgICAgICAgIHJl
dHVybjsKKyAgICAKKyAgICBpZiAobWF5QmVVc2VkQXNQcm90b3R5cGUoZ2xvYmFsRGF0YSkpIHsK
KyAgICAgICAgbmV3U3RydWN0dXJlLT5nbG9iYWxPYmplY3QoKS0+aGF2ZUFCYWRUaW1lKGdsb2Jh
bERhdGEpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIGlmICghaGFzSW5kZXhp
bmdIZWFkZXIoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIGlmIChzaG91bGRVc2VTbG93UHV0KHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBuZXdTdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
Om5vblByb3BlcnR5VHJhbnNpdGlvbihnbG9iYWxEYXRhLCBuZXdTdHJ1Y3R1cmUsIFN3aXRjaFRv
U2xvd1B1dEFycmF5U3RvcmFnZSk7CisgICAgc2V0U3RydWN0dXJlKGdsb2JhbERhdGEsIG5ld1N0
cnVjdHVyZSk7Cit9CisKIGJvb2wgSlNPYmplY3Q6OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWNr
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSwgSlNWYWx1ZSBwcm90b3R5cGUpCiB7CiAgICAgSlNW
YWx1ZSBjaGVja0ZvciA9IHRoaXM7CkBAIC01MDgsOSArNTg0LDMyIEBAIGJvb2wgSlNPYmplY3Q6
OnNldFByb3RvdHlwZVdpdGhDeWNsZUNoZWMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBK
U09iamVjdDo6cmVzZXRJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit7Cisg
ICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBn
bG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpOworICAgIGlmICghaXNWYWxpZE9mZnNldChvZmZz
ZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgcHV0RGlyZWN0T2Zmc2V0KGdsb2JhbERh
dGEsIG9mZnNldCwganNVbmRlZmluZWQoKSk7Cit9CisKK1N0cnVjdHVyZSogSlNPYmplY3Q6Omlu
aGVyaXRvcklEKEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBpZiAoV3JpdGVCYXJy
aWVyQmFzZTxVbmtub3duPiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRh
LCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkpKSB7CisgICAgICAgIEpTVmFsdWUgdmFsdWUg
PSBsb2NhdGlvbi0+Z2V0KCk7CisgICAgICAgIGlmICh2YWx1ZS5pc0NlbGwoKSkgeworICAgICAg
ICAgICAgU3RydWN0dXJlKiBpbmhlcml0b3JJRCA9IGpzQ2FzdDxTdHJ1Y3R1cmUqPih2YWx1ZSk7
CisgICAgICAgICAgICBBU1NFUlQoaW5oZXJpdG9ySUQtPmlzRW1wdHkoKSk7CisgICAgICAgICAg
ICByZXR1cm4gaW5oZXJpdG9ySUQ7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUKHZhbHVlLmlz
VW5kZWZpbmVkKCkpOworICAgIH0KKyAgICByZXR1cm4gY3JlYXRlSW5oZXJpdG9ySUQoZ2xvYmFs
RGF0YSk7Cit9CisKIGJvb2wgSlNPYmplY3Q6OmFsbG93c0FjY2Vzc0Zyb20oRXhlY1N0YXRlKiBl
eGVjKQogewotICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBpc0dsb2JhbFRoaXMo
KSA/IGpzQ2FzdDxKU0dsb2JhbFRoaXMqPih0aGlzKS0+dW53cmFwcGVkT2JqZWN0KCkgOiB0aGlz
LT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdW53
cmFwcGVkR2xvYmFsT2JqZWN0KCk7CiAgICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+Z2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUoKS0+YWxsb3dzQWNjZXNzRnJvbShnbG9iYWxPYmplY3QsIGV4ZWMpOwog
fQogCkBAIC01OTcsMTIgKzY5NiwxMCBAQCBib29sIEpTT2JqZWN0OjpkZWxldGVQcm9wZXJ0eUJ5
SW5kZXgoSlNDCiAgICAgICAgIHJldHVybiB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZSgpLT5kZWxl
dGVQcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIGkpKTsK
ICAgICAKICAgICBzd2l0Y2ggKHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUo
KSkgewotICAgIGNhc2UgQXJyYXlDbGFzczoKLSAgICBjYXNlIE5vbkFycmF5OgorICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgY2FzZSBOb25BcnJheVdpdGhB
cnJheVN0b3JhZ2U6IHsKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZUEVT
OiB7CiAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IHRoaXNPYmplY3QtPm1fYnV0dGVy
Zmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIGlmIChpIDwgc3RvcmFnZS0+
dmVjdG9yTGVuZ3RoKCkpIHsKQEAgLTc2MiwxMiArODU5LDEwIEBAIHZvaWQgSlNPYmplY3Q6Omdl
dE93blByb3BlcnR5TmFtZXMoSlNPYmoKICAgICAvLyBpcyBpbmNyZWRpYmx5IGluZWZmaWNpZW50
IGZvciBsYXJnZSBhcnJheXMuIFdlIG5lZWQgYSBkaWZmZXJlbnQgYXBwcm9hY2gsCiAgICAgLy8g
d2hpY2ggYWxtb3N0IGNlcnRhaW5seSBtZWFucyBhIGRpZmZlcmVudCBzdHJ1Y3R1cmUgZm9yIFBy
b3BlcnR5TmFtZUFycmF5LgogICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1Y3R1cmUoKS0+aW5kZXhp
bmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAg
ICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgYnJlYWs7CiAgICAgICAg
IAotICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgotICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiB7CisgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBF
UzogewogICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBvYmplY3QtPm1fYnV0dGVyZmx5
LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgCiAgICAgICAgIHVuc2lnbmVkIHVzZWRWZWN0b3JM
ZW5ndGggPSBzdGQ6Om1pbihzdG9yYWdlLT5sZW5ndGgoKSwgc3RvcmFnZS0+dmVjdG9yTGVuZ3Ro
KCkpOwpAQCAtODU3LDYgKzk1MiwxMyBAQCB2b2lkIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9u
cyhKU0dsb2JhCiAgICAgICAgIHNldFN0cnVjdHVyZShnbG9iYWxEYXRhLCBTdHJ1Y3R1cmU6OnBy
ZXZlbnRFeHRlbnNpb25zVHJhbnNpdGlvbihnbG9iYWxEYXRhLCBzdHJ1Y3R1cmUoKSkpOwogfQog
CitKU0dsb2JhbE9iamVjdCogSlNPYmplY3Q6OnVud3JhcHBlZEdsb2JhbE9iamVjdCgpCit7Cisg
ICAgaWYgKGlzR2xvYmFsVGhpcygpKQorICAgICAgICByZXR1cm4ganNDYXN0PEpTR2xvYmFsVGhp
cyo+KHRoaXMpLT51bndyYXBwZWRPYmplY3QoKTsKKyAgICByZXR1cm4gc3RydWN0dXJlKCktPmds
b2JhbE9iamVjdCgpOworfQorCiAvLyBUaGlzIHByZXNlbnRseSB3aWxsIGZsYXR0ZW4gdG8gYW4g
dW5jYWNoYWJsZSBkaWN0aW9uYXJ5OyB0aGlzIGlzIHN1aXRhYmxlCiAvLyBmb3IgdXNlIGluIGRl
bGV0ZSwgd2UgbWF5IHdhbnQgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudCBlbHNld2hlcmUuCiB2
b2lkIEpTT2JqZWN0OjpyZWlmeVN0YXRpY0Z1bmN0aW9uc0ZvckRlbGV0ZShFeGVjU3RhdGUqIGV4
ZWMpCkBAIC05MjAsMTggKzEwMjIsMzUgQEAgTkVWRVJfSU5MSU5FIHZvaWQgSlNPYmplY3Q6OmZp
bGxHZXR0ZXJQcgogICAgICAgICBzbG90LnNldFVuZGVmaW5lZCgpOwogfQogCi1TdHJ1Y3R1cmUq
IEpTT2JqZWN0OjpjcmVhdGVJbmhlcml0b3JJRChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEpCit2
b2lkIEpTT2JqZWN0Ojpub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhKQogewotICAgIEFTU0VSVCghZ2V0RGlyZWN0TG9jYXRpb24oZ2xvYmFsRGF0YSwgZ2xvYmFs
RGF0YS5tX2luaGVyaXRvcklES2V5KSk7Ci0KLSAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0OwotICAgIGlmIChpc0dsb2JhbFRoaXMoKSkKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3Rh
dGljX2Nhc3Q8SlNHbG9iYWxUaGlzKj4odGhpcyktPnVud3JhcHBlZE9iamVjdCgpOwotICAgIGVs
c2UKLSAgICAgICAgZ2xvYmFsT2JqZWN0ID0gc3RydWN0dXJlKCktPmdsb2JhbE9iamVjdCgpOwot
ICAgIEFTU0VSVChnbG9iYWxPYmplY3QpOworICAgIFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHN0
cnVjdHVyZSgpLT5nZXQoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0YS5tX2luaGVyaXRvcklES2V5KTsK
KyAgICBpZiAoaXNWYWxpZE9mZnNldChvZmZzZXQpKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgUHV0UHJvcGVydHlTbG90IHNsb3Q7CisgICAgcHV0RGlyZWN0SW50ZXJuYWw8UHV0TW9kZURl
ZmluZU93blByb3BlcnR5PihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXks
IGpzVW5kZWZpbmVkKCksIERvbnRFbnVtLCBzbG90LCAwKTsKKyAgICAKKyAgICAvLyBOb3RlIHRo
YXQgdGhpcyBtZXRob2QgbWFrZXMgdGhlIHNvbWV3aGF0IG9kZCBkZWNpc2lvbiB0byBub3QgY2hl
Y2sgaWYgdGhpcworICAgIC8vIG9iamVjdCBjdXJyZW50bHkgaGFzIGluZGV4ZWQgYWNjZXNzb3Jz
LiBXZSBjb3VsZCBkbyB0aGF0IGNoZWNrIGhlcmUsIGFuZCBpZgorICAgIC8vIGluZGV4ZWQgYWNj
ZXNzb3JzIHdlcmUgZm91bmQsIHdlIGNvdWxkIHRlbGwgdGhlIGdsb2JhbCBvYmplY3QgdG8gaGF2
ZSBhIGJhZAorICAgIC8vIHRpbWUuIEJ1dCB3ZSBhdm9pZCB0aGlzLCB0byBhbGxvdyB0aGUgZm9s
bG93aW5nIHRvIGJlIGFsd2F5cyBmYXN0OgorICAgIC8vCisgICAgLy8gMSkgQ3JlYXRlIGFuIG9i
amVjdC4KKyAgICAvLyAyKSBHaXZlIGl0IGEgc2V0dGVyIG9yIHJlYWQtb25seSBwcm9wZXJ0eSB0
aGF0IGhhcHBlbnMgdG8gaGF2ZSBhIG51bWVyaWMgbmFtZS4KKyAgICAvLyAzKSBBbGxvY2F0ZSBv
YmplY3RzIHRoYXQgdXNlIHRoaXMgb2JqZWN0IGFzIGEgcHJvdG90eXBlLgorICAgIC8vCisgICAg
Ly8gVGhpcyBhdm9pZHMgYW55b25lIGhhdmluZyBhIGJhZCB0aW1lLiBFdmVuIGlmIHRoZSBpbnN0
YW5jZSBvYmplY3RzIGVuZCB1cAorICAgIC8vIGhhdmluZyBpbmRleGVkIHN0b3JhZ2UsIHRoZSBj
cmVhdGlvbiBvZiBpbmRleGVkIHN0b3JhZ2UgbGVhZHMgdG8gYSBwcm90b3R5cGUKKyAgICAvLyBj
aGFpbiB3YWxrIHRoYXQgZGV0ZWN0cyB0aGUgcHJlc2VuY2Ugb2YgaW5kZXhlZCBzZXR0ZXJzIGFu
ZCB0aGVuIGRvZXMgdGhlCisgICAgLy8gcmlnaHQgdGhpbmcuIEFzIGEgcmVzdWx0LCBoYXZpbmcg
YSBiYWQgdGltZSBvbmx5IGhhcHBlbnMgaWYgeW91IGFkZCBhbgorICAgIC8vIGluZGV4ZWQgc2V0
dGVyIChvciBnZXR0ZXIsIG9yIHJlYWQtb25seSBmaWVsZCkgdG8gYW4gb2JqZWN0IHRoYXQgaXMg
YWxyZWFkeQorICAgIC8vIHVzZWQgYXMgYSBwcm90b3R5cGUuCit9CiAKLSAgICBTdHJ1Y3R1cmUq
IGluaGVyaXRvcklEID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgZ2xv
YmFsT2JqZWN0LCB0aGlzKTsKK1N0cnVjdHVyZSogSlNPYmplY3Q6OmNyZWF0ZUluaGVyaXRvcklE
KEpTR2xvYmFsRGF0YSYgZ2xvYmFsRGF0YSkKK3sKKyAgICBTdHJ1Y3R1cmUqIGluaGVyaXRvcklE
ID0gY3JlYXRlRW1wdHlPYmplY3RTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgdW53cmFwcGVkR2xvYmFs
T2JqZWN0KCksIHRoaXMpOwogICAgIEFTU0VSVChpbmhlcml0b3JJRC0+aXNFbXB0eSgpKTsKIAog
ICAgIFB1dFByb3BlcnR5U2xvdCBzbG90OwpAQCAtOTgxLDYgKzExMDAsOSBAQCB2b2lkIEpTT2Jq
ZWN0OjpwdXRJbmRleGVkRGVzY3JpcHRvcihFeGVjCiBib29sIEpTT2JqZWN0OjpkZWZpbmVPd25J
bmRleGVkUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpbmRleCwgUHJvcGVydHlE
ZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHRocm93RXhjZXB0aW9uKQogewogICAgIEFTU0VS
VChpbmRleCA8PSBNQVhfQVJSQVlfSU5ERVgpOworICAgIAorICAgIGlmIChkZXNjcmlwdG9yLmF0
dHJpYnV0ZXMoKSAmIChSZWFkT25seSB8IEFjY2Vzc29yKSkKKyAgICAgICAgbm90aWZ5UHJlc2Vu
Y2VPZkluZGV4ZWRBY2Nlc3NvcnMoZXhlYy0+Z2xvYmFsRGF0YSgpKTsKIAogICAgIGlmICghaW5T
cGFyc2VJbmRleGluZ01vZGUoKSkgewogICAgICAgICAvLyBGYXN0IGNhc2U6IHdlJ3JlIHB1dHRp
bmcgYSByZWd1bGFyIHByb3BlcnR5IHRvIGEgcmVndWxhciBhcnJheQpAQCAtMTEwOSw2ICsxMjMx
LDQwIEBAIHZvaWQgSlNPYmplY3Q6OmRlYWxsb2NhdGVTcGFyc2VJbmRleE1hcCgKICAgICAgICAg
YXJyYXlTdG9yYWdlLT5tX3NwYXJzZU1hcC5jbGVhcigpOwogfQogCitib29sIEpTT2JqZWN0Ojph
dHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xlRm9yUHJvdG90eXBlKEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUsIGJvb2wg
c2hvdWxkVGhyb3cpCit7CisgICAgZm9yIChKU09iamVjdCogY3VycmVudCA9IHRoaXM7IDspIHsK
KyAgICAgICAgLy8gVGhpcyBoYXMgdGhlIHNhbWUgYmVoYXZpb3Igd2l0aCByZXNwZWN0IHRvIHBy
b3RvdHlwZXMgYXMgSlNPYmplY3Q6OnB1dCgpLiBJdCBvbmx5CisgICAgICAgIC8vIGFsbG93cyBh
IHByb3RvdHlwZSB0byBpbnRlcmNlcHQgYSBwdXQgaWYgKGEpIHRoZSBwcm90b3R5cGUgZGVjbGFy
ZXMgdGhlIHByb3BlcnR5CisgICAgICAgIC8vIHdlJ3JlIGFmdGVyIHJhdGhlciB0aGFuIGludGVy
Y2VwdGluZyBpdCB2aWEgYW4gb3ZlcnJpZGUgb2YgSlNPYmplY3Q6OnB1dCgpLCBhbmQKKyAgICAg
ICAgLy8gKGIpIHRoYXQgcHJvcGVydHkgaXMgZGVjbGFyZWQgYXMgUmVhZE9ubHkgb3IgQWNjZXNz
b3IuCisgICAgICAgIAorICAgICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBjdXJyZW50LT5h
cnJheVN0b3JhZ2VPck51bGwoKTsKKyAgICAgICAgaWYgKHN0b3JhZ2UgJiYgc3RvcmFnZS0+bV9z
cGFyc2VNYXApIHsKKyAgICAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXA6Oml0ZXJhdG9yIGl0
ZXIgPSBzdG9yYWdlLT5tX3NwYXJzZU1hcC0+ZmluZChpKTsKKyAgICAgICAgICAgIGlmIChpdGVy
ICE9IHN0b3JhZ2UtPm1fc3BhcnNlTWFwLT5ub3RGb3VuZCgpICYmIChpdGVyLT5zZWNvbmQuYXR0
cmlidXRlcyAmIChBY2Nlc3NvciB8IFJlYWRPbmx5KSkpIHsKKyAgICAgICAgICAgICAgICBpdGVy
LT5zZWNvbmQucHV0KGV4ZWMsIHRoaXNWYWx1ZSwgc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0KCks
IHZhbHVlLCBzaG91bGRUaHJvdyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEpTVmFsdWUgcHJvdG90eXBl
VmFsdWUgPSBjdXJyZW50LT5wcm90b3R5cGUoKTsKKyAgICAgICAgaWYgKHByb3RvdHlwZVZhbHVl
LmlzTnVsbCgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAg
Y3VycmVudCA9IGFzT2JqZWN0KHByb3RvdHlwZVZhbHVlKTsKKyAgICB9Cit9CisKK2Jvb2wgSlNP
YmplY3Q6OmF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhPbkhvbGUoRXhlY1N0YXRlKiBleGVj
LCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAgIEpT
VmFsdWUgcHJvdG90eXBlVmFsdWUgPSBwcm90b3R5cGUoKTsKKyAgICBpZiAocHJvdG90eXBlVmFs
dWUuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gYXNP
YmplY3QocHJvdG90eXBlVmFsdWUpLT5hdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25Ib2xl
Rm9yUHJvdG90eXBlKGV4ZWMsIHRoaXMsIGksIHZhbHVlLCBzaG91bGRUaHJvdyk7Cit9CisKIHZv
aWQgSlNPYmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRoQXJyYXlTdG9yYWdl
KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgaSwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRU
aHJvdywgQXJyYXlTdG9yYWdlKiBzdG9yYWdlKQogewogICAgIEpTR2xvYmFsRGF0YSYgZ2xvYmFs
RGF0YSA9IGV4ZWMtPmdsb2JhbERhdGEoKTsKQEAgLTExODksOCArMTM0NSw3IEBAIHZvaWQgSlNP
YmplY3Q6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW4KICAgICBBU1NFUlQoaSA8PSBNQVhfQVJS
QVlfSU5ERVgpOwogICAgIAogICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgp
KSB7Ci0gICAgY2FzZSBOb25BcnJheToKLSAgICBjYXNlIEFycmF5Q2xhc3M6IHsKKyAgICBjYXNl
IEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzogewogICAgICAgICBpZiAoaW5kZXhpbmdTaG91bGRC
ZVNwYXJzZSgpKSB7CiAgICAgICAgICAgICBwdXRCeUluZGV4QmV5b25kVmVjdG9yTGVuZ3RoV2l0
aEFycmF5U3RvcmFnZShleGVjLCBpLCB2YWx1ZSwgc2hvdWxkVGhyb3csIGVuc3VyZUFycmF5U3Rv
cmFnZUV4aXN0c0FuZEVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZShnbG9iYWxEYXRhKSk7CiAg
ICAgICAgICAgICBicmVhazsKQEAgLTEyMDUsNiArMTM2MCwxMiBAQCB2b2lkIEpTT2JqZWN0Ojpw
dXRCeUluZGV4QmV5b25kVmVjdG9yTGVuCiAgICAgICAgIHN0b3JhZ2UtPm1fbnVtVmFsdWVzSW5W
ZWN0b3IgPSAxOwogICAgICAgICBicmVhazsKICAgICB9CisgICAgICAgIAorICAgIGNhc2UgTm9u
QXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFycmF5V2l0aFNsb3dQdXRB
cnJheVN0b3JhZ2U6CisgICAgICAgIGlmIChhdHRlbXB0VG9JbnRlcmNlcHRQdXRCeUluZGV4T25I
b2xlKGV4ZWMsIGksIHZhbHVlLCBzaG91bGRUaHJvdykpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIC8vIE90aGVyd2lzZSwgZmFsbCB0aG91Z2guCiAKICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToKQEAgLTEyOTcs
OSArMTQ1OCwxMSBAQCBib29sIEpTT2JqZWN0OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3RvCiAg
ICAgLy8gaSBzaG91bGQgYmUgYSB2YWxpZCBhcnJheSBpbmRleCB0aGF0IGlzIG91dHNpZGUgb2Yg
dGhlIGN1cnJlbnQgdmVjdG9yLgogICAgIEFTU0VSVChpIDw9IE1BWF9BUlJBWV9JTkRFWCk7CiAg
ICAgCisgICAgaWYgKGF0dHJpYnV0ZXMgJiAoUmVhZE9ubHkgfCBBY2Nlc3NvcikpCisgICAgICAg
IG5vdGlmeVByZXNlbmNlT2ZJbmRleGVkQWNjZXNzb3JzKGdsb2JhbERhdGEpOworICAgIAogICAg
IHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgY2FzZSBOb25BcnJh
eToKLSAgICBjYXNlIEFycmF5Q2xhc3M6IHsKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19U
WVBFUzogewogICAgICAgICBpZiAoaW5kZXhpbmdTaG91bGRCZVNwYXJzZSgpIHx8IGF0dHJpYnV0
ZXMpCiAgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhX
aXRoQXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBlbnN1cmVB
cnJheVN0b3JhZ2VFeGlzdHNBbmRFbnRlckRpY3Rpb25hcnlJbmRleGluZ01vZGUoZ2xvYmFsRGF0
YSkpOwogICAgICAgICBpZiAoIWlzRGVuc2VFbm91Z2hGb3JWZWN0b3IoaSwgMCkgfHwgaSA+PSBN
QVhfU1RPUkFHRV9WRUNUT1JfTEVOR1RIKQpAQCAtMTMxMSw4ICsxNDc0LDcgQEAgYm9vbCBKU09i
amVjdDo6cHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0bwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9CiAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICBjYXNlIEFycmF5
V2l0aEFycmF5U3RvcmFnZToKKyAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVYSU5HX1RZ
UEVTOgogICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGhXaXRo
QXJyYXlTdG9yYWdlKGV4ZWMsIGksIHZhbHVlLCBhdHRyaWJ1dGVzLCBtb2RlLCBhcnJheVN0b3Jh
Z2UoKSk7CiAgICAgICAgIAogICAgIGRlZmF1bHQ6CkBAIC0xMzU0LDEzICsxNTE2LDExIEBAIEFM
V0FZU19JTkxJTkUgdW5zaWduZWQgSlNPYmplY3Q6OmdldE5ld1YKICAgICB1bnNpZ25lZCBsZW5n
dGg7CiAgICAgCiAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAg
ICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFO
S19JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3RoID0gMDsKICAgICAgICAgbGVu
Z3RoID0gMDsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3Jh
Z2U6Ci0gICAgY2FzZSBBcnJheVdpdGhBcnJheVN0b3JhZ2U6CisgICAgY2FzZSBBTExfQVJSQVlf
U1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgdmVjdG9yTGVuZ3RoID0gbV9idXR0ZXJm
bHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKICAgICAgICAgbGVuZ3RoID0gbV9i
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5sZW5ndGgoKTsKICAgICAgICAgYnJlYWs7CkBAIC0x
NDc4LDEyICsxNjM4LDEwIEBAIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5RGVzY3JpcHRv
cigKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIHN3aXRjaCAob2JqZWN0LT5zdHJ1
Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICBjYXNlIE5vbkFycmF5OgotICAgIGNhc2Ug
QXJyYXlDbGFzczoKKyAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICAKLSAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFn
ZToKLSAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgIGNhc2UgQUxMX0FSUkFZ
X1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6IHsKICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdl
ID0gb2JqZWN0LT5tX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCk7CiAgICAgICAgIGlmIChpID49
IHN0b3JhZ2UtPmxlbmd0aCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAxMjg3MTQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTgsNyArMTE4LDE4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBib29sIHNldFBy
b3RvdHlwZVdpdGhDeWNsZUNoZWNrKEpTR2xvYmFsRGF0YSYsIEpTVmFsdWUgcHJvdG90eXBlKTsK
ICAgICAgICAgCiAgICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJik7
Ci0KKyAgICAgICAgdm9pZCBub3RpZnlVc2VkQXNQcm90b3R5cGUoSlNHbG9iYWxEYXRhJik7Cisg
ICAgICAgIAorICAgICAgICBib29sIG1heUJlVXNlZEFzUHJvdG90eXBlKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGlzVmFsaWRPZmZzZXQo
c3RydWN0dXJlKCktPmdldChnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1faW5oZXJpdG9ySURLZXkp
KTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBtYXlJbnRlcmNlcHRJbmRleGVk
QWNjZXNzZXMoKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gc3RydWN0dXJlKCktPm1h
eUludGVyY2VwdEluZGV4ZWRBY2Nlc3NlcygpOworICAgICAgICB9CisgICAgICAgIAogICAgICAg
ICBKU1ZhbHVlIGdldChFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgICAgICBK
U1ZhbHVlIGdldChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUpIGNvbnN0OwogCkBA
IC0xMzUsMTEgKzE0Niw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB1bnNpZ25lZCBnZXRB
cnJheUxlbmd0aCgpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0
dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAg
ICAgICAgICAgY2FzZSBBcnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5E
RVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBjYXNl
IE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJy
YXlTdG9yYWdlOgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19U
WVBFUzoKICAgICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgp
LT5sZW5ndGgoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0xNTAsMTEgKzE1OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICB1bnNpZ25lZCBnZXRWZWN0b3JMZW5ndGgoKQogICAgICAgICB7CiAgICAgICAgICAgICBz
d2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAgY2FzZSBO
b25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFzczoKKyAgICAgICAgICAgIGNhc2Ug
QUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAgICAgICAgIHJldHVybiAwOwotICAg
ICAgICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNl
IEFycmF5V2l0aEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JB
R0VfSU5ERVhJTkdfVFlQRVM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5h
cnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMTg5LDExICsxOTYsOSBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBjYW5HZXRJbmRleFF1aWNrbHkodW5zaWduZWQg
aSkKICAgICAgICAgewogICAgICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdU
eXBlKCkpIHsKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5Q2xhc3M6CisgICAgICAgICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0
aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgor
ICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAg
ICAgICAgICAgICByZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9y
TGVuZ3RoKCkgJiYgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3RvcltpXTsKICAg
ICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CkBAIC0yMDQsOCArMjA5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0
SW5kZXhRdWlja2x5KHVuc2lnbmVkIGkpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAo
c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5
V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdl
OgorICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAg
ICAgICAgICAgICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT5tX3ZlY3Rv
cltpXS5nZXQoKTsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0yMTYsMTIgKzIyMCwxNSBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgYm9vbCBjYW5TZXRJbmRleFF1aWNrbHkodW5zaWduZWQgaSkKICAgICAgICAgewogICAg
ICAgICAgICAgc3dpdGNoIChzdHJ1Y3R1cmUoKS0+aW5kZXhpbmdUeXBlKCkpIHsKLSAgICAgICAg
ICAgIGNhc2UgTm9uQXJyYXk6Ci0gICAgICAgICAgICBjYXNlIEFycmF5Q2xhc3M6CisgICAgICAg
ICAgICBjYXNlIEFMTF9CTEFOS19JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgICAgICBjYXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKICAg
ICAgICAgICAgIGNhc2UgQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgogICAgICAgICAgICAgICAgIHJl
dHVybiBpIDwgbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpLT52ZWN0b3JMZW5ndGgoKTsKKyAg
ICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAg
ICAgIGNhc2UgQXJyYXlXaXRoU2xvd1B1dEFycmF5U3RvcmFnZToKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gaSA8IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+dmVjdG9yTGVuZ3RoKCkKKyAg
ICAgICAgICAgICAgICAgICAgJiYgISFtX2J1dHRlcmZseS0+YXJyYXlTdG9yYWdlKCktPm1fdmVj
dG9yW2ldOwogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0yMzEsOCArMjM4
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgc2V0SW5kZXhRdWlja2x5KEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSwgdW5zaWduZWQgaSwgSlNWYWx1ZSB2KQogICAgICAgICB7CiAg
ICAgICAgICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAg
ICAgICAgY2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFy
cmF5V2l0aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFH
RV9JTkRFWElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtub3du
PiYgeCA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+bV92ZWN0b3JbaV07CiAgICAgICAg
ICAgICAgICAgaWYgKCF4KSB7CiAgICAgICAgICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3Rv
cmFnZSA9IG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKQEAgLTI1MSw4ICsyNTcsNyBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBpbml0aWFsaXplSW5kZXgoSlNHbG9iYWxEYXRh
JiBnbG9iYWxEYXRhLCB1bnNpZ25lZCBpLCBKU1ZhbHVlIHYpCiAgICAgICAgIHsKICAgICAgICAg
ICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBj
YXNlIE5vbkFycmF5V2l0aEFycmF5U3RvcmFnZToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlXaXRo
QXJyYXlTdG9yYWdlOiB7CisgICAgICAgICAgICBjYXNlIEFMTF9BUlJBWV9TVE9SQUdFX0lOREVY
SU5HX1RZUEVTOiB7CiAgICAgICAgICAgICAgICAgQXJyYXlTdG9yYWdlKiBzdG9yYWdlID0gbV9i
dXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogI2lmIENIRUNLX0FSUkFZX0NPTlNJU1RFTkNZCiAg
ICAgICAgICAgICAgICAgQVNTRVJUKHN0b3JhZ2UtPm1faW5Db21wYWN0SW5pdGlhbGl6YXRpb24p
OwpAQCAtMjc2LDggKzI4MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGNvbXBs
ZXRlSW5pdGlhbGl6YXRpb24odW5zaWduZWQgbmV3TGVuZ3RoKQogICAgICAgICB7CiAgICAgICAg
ICAgICBzd2l0Y2ggKHN0cnVjdHVyZSgpLT5pbmRleGluZ1R5cGUoKSkgewotICAgICAgICAgICAg
Y2FzZSBOb25BcnJheVdpdGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0
aEFycmF5U3RvcmFnZTogeworICAgICAgICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRF
WElOR19UWVBFUzogewogICAgICAgICAgICAgICAgIEFycmF5U3RvcmFnZSogc3RvcmFnZSA9IG1f
YnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKTsKICAgICAgICAgICAgICAgICAvLyBDaGVjayB0aGF0
IHdlIGhhdmUgaW5pdGlhbGl6ZWQgYXMgbWVueSBwcm9wZXJ0aWVzIGFzIHdlIHRoaW5rIHdlIGhh
dmUuCiAgICAgICAgICAgICAgICAgVU5VU0VEX1BBUkFNKHN0b3JhZ2UpOwpAQCAtMjk4LDExICsz
MDIsOSBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgYm9vbCBpblNwYXJzZUluZGV4aW5nTW9k
ZSgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIE5vbkFycmF5OgotICAgICAgICAgICAgY2FzZSBB
cnJheUNsYXNzOgorICAgICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY2FzZSBOb25BcnJheVdp
dGhBcnJheVN0b3JhZ2U6Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3RvcmFnZToK
KyAgICAgICAgICAgIGNhc2UgQUxMX0FSUkFZX1NUT1JBR0VfSU5ERVhJTkdfVFlQRVM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIG1fYnV0dGVyZmx5LT5hcnJheVN0b3JhZ2UoKS0+aW5TcGFyc2VN
b2RlKCk7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpAQCAtNDg3LDYgKzQ4OSwyMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAg
ICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+Z2xvYmFsT2JqZWN0KCk7CiAgICAgICAgIH0KICAgICAg
ICAgCisgICAgICAgIC8vIERvZXMgZXZlcnl0aGluZyBwb3NzaWJsZSB0byByZXR1cm4gdGhlIGds
b2JhbCBvYmplY3QuIElmIGl0IGVuY291bnRlcnMgYW4gb2JqZWN0CisgICAgICAgIC8vIHRoYXQg
ZG9lcyBub3QgaGF2ZSBhIGdsb2JhbCBvYmplY3QsIGl0IHJldHVybnMgMCBpbnN0ZWFkIChmb3Ig
ZXhhbXBsZQorICAgICAgICAvLyBKU05vdEFuT2JqZWN0KS4KKyAgICAgICAgSlNHbG9iYWxPYmpl
Y3QqIHVud3JhcHBlZEdsb2JhbE9iamVjdCgpOworICAgICAgICAKKyAgICAgICAgdm9pZCBzd2l0
Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAg
ICAvLyBUaGUgcmVjZWl2ZXIgaXMgdGhlIHByb3RvdHlwZSBpbiB0aGlzIGNhc2UuIFRoZSBmb2xs
b3dpbmc6CisgICAgICAgIC8vCisgICAgICAgIC8vIGFzT2JqZWN0KGZvby0+c3RydWN0dXJlKCkt
PnN0b3JlZFByb3RvdHlwZSgpKS0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRleE9uSG9sZUZv
clByb3RvdHlwZSguLi4pCisgICAgICAgIC8vCisgICAgICAgIC8vIGlzIGVxdWl2YWxlbnQgdG86
CisgICAgICAgIC8vCisgICAgICAgIC8vIGZvby0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0QnlJbmRl
eE9uSG9sZSguLi4pOworICAgICAgICBib29sIGF0dGVtcHRUb0ludGVyY2VwdFB1dEJ5SW5kZXhP
bkhvbGVGb3JQcm90b3R5cGUoRXhlY1N0YXRlKiwgSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CisgICAgICAgIAogICAg
ICAgICBzdGF0aWMgc2l6ZV90IG9mZnNldE9mSW5saW5lU3RvcmFnZSgpOwogICAgICAgICAKICAg
ICAgICAgc3RhdGljIHB0cmRpZmZfdCBidXR0ZXJmbHlPZmZzZXQoKQpAQCAtNTIyLDEwICs1NDAs
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgLy8gVG8gY3JlYXRlIGRlcml2ZWQgdHlwZXMg
eW91IGxpa2VseSB3YW50IEpTTm9uRmluYWxPYmplY3QsIGJlbG93LgogICAgICAgICBKU09iamVj
dChKU0dsb2JhbERhdGEmLCBTdHJ1Y3R1cmUqLCBCdXR0ZXJmbHkqID0gMCk7CiAgICAgICAgIAot
ICAgICAgICB2b2lkIHJlc2V0SW5oZXJpdG9ySUQoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhKQot
ICAgICAgICB7Ci0gICAgICAgICAgICByZW1vdmVEaXJlY3QoZ2xvYmFsRGF0YSwgZ2xvYmFsRGF0
YS5tX2luaGVyaXRvcklES2V5KTsKLSAgICAgICAgfQorICAgICAgICB2b2lkIHJlc2V0SW5oZXJp
dG9ySUQoSlNHbG9iYWxEYXRhJik7CiAgICAgICAgIAogICAgICAgICB2b2lkIHZpc2l0QnV0dGVy
Zmx5KFNsb3RWaXNpdG9yJiwgQnV0dGVyZmx5Kiwgc2l6ZV90IHN0b3JhZ2VTaXplKTsKIApAQCAt
NTMzLDcgKzU0OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAvLyBzdG9yYWdlLiBUaGlz
IHdpbGwgYXNzZXJ0IG90aGVyd2lzZS4KICAgICAgICAgQXJyYXlTdG9yYWdlKiBhcnJheVN0b3Jh
Z2UoKQogICAgICAgICB7Ci0gICAgICAgICAgICBBU1NFUlQoc3RydWN0dXJlKCktPmluZGV4aW5n
VHlwZSgpIHwgSGFzQXJyYXlTdG9yYWdlKTsKKyAgICAgICAgICAgIEFTU0VSVChoYXNBcnJheVN0
b3JhZ2Uoc3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSk7CiAgICAgICAgICAgICByZXR1cm4g
bV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICB9CiAgICAgICAgIApAQCAtNTQy
LDggKzU1Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBBcnJheVN0b3JhZ2UqIGFycmF5
U3RvcmFnZU9yTnVsbCgpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3Rv
cmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAg
ICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAg
ICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgZGVmYXVsdDoKQEAgLTU1OCwxMiArNTcyLDEwIEBAIG5hbWVzcGFjZSBK
U0MgewogICAgICAgICBBcnJheVN0b3JhZ2UqIGVuc3VyZUFycmF5U3RvcmFnZShKU0dsb2JhbERh
dGEmIGdsb2JhbERhdGEpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN3aXRjaCAoc3RydWN0dXJl
KCktPmluZGV4aW5nVHlwZSgpKSB7Ci0gICAgICAgICAgICBjYXNlIEFycmF5V2l0aEFycmF5U3Rv
cmFnZToKLSAgICAgICAgICAgIGNhc2UgTm9uQXJyYXlXaXRoQXJyYXlTdG9yYWdlOgorICAgICAg
ICAgICAgY2FzZSBBTExfQVJSQVlfU1RPUkFHRV9JTkRFWElOR19UWVBFUzoKICAgICAgICAgICAg
ICAgICByZXR1cm4gbV9idXR0ZXJmbHktPmFycmF5U3RvcmFnZSgpOwogICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgY2FzZSBOb25BcnJheToKLSAgICAgICAgICAgIGNhc2UgQXJyYXlDbGFz
czoKKyAgICAgICAgICAgIGNhc2UgQUxMX0JMQU5LX0lOREVYSU5HX1RZUEVTOgogICAgICAgICAg
ICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsQXJyYXlTdG9yYWdlKGdsb2JhbERhdGEpOwogICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgZGVmYXVsdDoKQEAgLTU5Miw2ICs2MDQsMTAgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZvaWQgZGVhbGxvY2F0ZVNwYXJzZUluZGV4TWFwKCk7
CiAgICAgICAgIGJvb2wgZGVmaW5lT3duSW5kZXhlZFByb3BlcnR5KEV4ZWNTdGF0ZSosIHVuc2ln
bmVkLCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHRocm93RXhjZXB0aW9uKTsKICAgICAgICAg
U3BhcnNlQXJyYXlWYWx1ZU1hcCogYWxsb2NhdGVTcGFyc2VJbmRleE1hcChKU0dsb2JhbERhdGEm
KTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgbm90aWZ5UHJlc2VuY2VPZkluZGV4ZWRBY2Nlc3Nv
cnMoSlNHbG9iYWxEYXRhJik7CisgICAgICAgIAorICAgICAgICBib29sIGF0dGVtcHRUb0ludGVy
Y2VwdFB1dEJ5SW5kZXhPbkhvbGUoRXhlY1N0YXRlKiwgdW5zaWduZWQgaW5kZXgsIEpTVmFsdWUs
IGJvb2wgc2hvdWxkVGhyb3cpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNz
IExMSW50T2Zmc2V0c0V4dHJhY3RvcjsKQEAgLTgyNCwyMiArODQwLDYgQEAgaW5saW5lIEpTVmFs
dWUgSlNPYmplY3Q6OnByb3RvdHlwZSgpIGNvbgogICAgIHJldHVybiBzdHJ1Y3R1cmUoKS0+c3Rv
cmVkUHJvdG90eXBlKCk7CiB9CiAKLWlubGluZSB2b2lkIEpTT2JqZWN0OjpzZXRQcm90b3R5cGUo
SlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhLCBKU1ZhbHVlIHByb3RvdHlwZSkKLXsKLSAgICBBU1NF
UlQocHJvdG90eXBlKTsKLSAgICBzZXRTdHJ1Y3R1cmUoZ2xvYmFsRGF0YSwgU3RydWN0dXJlOjpj
aGFuZ2VQcm90b3R5cGVUcmFuc2l0aW9uKGdsb2JhbERhdGEsIHN0cnVjdHVyZSgpLCBwcm90b3R5
cGUpKTsKLX0KLQotaW5saW5lIFN0cnVjdHVyZSogSlNPYmplY3Q6OmluaGVyaXRvcklEKEpTR2xv
YmFsRGF0YSYgZ2xvYmFsRGF0YSkKLXsKLSAgICBpZiAoV3JpdGVCYXJyaWVyQmFzZTxVbmtub3du
PiogbG9jYXRpb24gPSBnZXREaXJlY3RMb2NhdGlvbihnbG9iYWxEYXRhLCBnbG9iYWxEYXRhLm1f
aW5oZXJpdG9ySURLZXkpKSB7Ci0gICAgICAgIFN0cnVjdHVyZSogaW5oZXJpdG9ySUQgPSBqc0Nh
c3Q8U3RydWN0dXJlKj4obG9jYXRpb24tPmdldCgpKTsKLSAgICAgICAgQVNTRVJUKGluaGVyaXRv
cklELT5pc0VtcHR5KCkpOwotICAgICAgICByZXR1cm4gaW5oZXJpdG9ySUQ7Ci0gICAgfQotICAg
IHJldHVybiBjcmVhdGVJbmhlcml0b3JJRChnbG9iYWxEYXRhKTsKLX0KLQogaW5saW5lIGJvb2wg
SlNDZWxsOjppbmhlcml0cyhjb25zdCBDbGFzc0luZm8qIGluZm8pIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGNsYXNzSW5mbygpLT5pc1N1YkNsYXNzT2YoaW5mbyk7CkBAIC0xMTkwLDggKzExOTAsNyBA
QCBpbmxpbmUgdm9pZCBKU1ZhbHVlOjpwdXQoRXhlY1N0YXRlKiBleGVjCiBpbmxpbmUgdm9pZCBK
U1ZhbHVlOjpwdXRCeUluZGV4KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1l
LCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQogewogICAgIGlmIChVTkxJS0VMWSgh
aXNDZWxsKCkpKSB7Ci0gICAgICAgIFB1dFByb3BlcnR5U2xvdCBzbG90KHNob3VsZFRocm93KTsK
LSAgICAgICAgcHV0VG9QcmltaXRpdmUoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9w
ZXJ0eU5hbWUpLCB2YWx1ZSwgc2xvdCk7CisgICAgICAgIHB1dFRvUHJpbWl0aXZlQnlJbmRleChl
eGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91bGRUaHJvdyk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgYXNDZWxsKCktPm1ldGhvZFRhYmxlKCktPnB1dEJ5SW5kZXgoYXNDZWxsKCks
IGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNob3VsZFRocm93KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuY3BwCShyZXZpc2lvbiAxMjg3MTQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMSw3ICsxLDcgQEAKIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDEgSGFycmkgUG9y
dGVuIChwb3J0ZW5Aa2RlLm9yZykKICAqICBDb3B5cmlnaHQgKEMpIDIwMDEgUGV0ZXIgS2VsbHkg
KHBta0Bwb3N0LmNvbSkKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDcsIDIwMDggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNywg
MjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
ICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwpAQCAtMTEzLDYgKzExMywxMiBAQCB2b2lkIEpTVmFsdWU6OnB1dFRvUHJpbWl0aXZl
KEV4ZWNTdGF0ZSogCiB7CiAgICAgSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRhID0gZXhlYy0+Z2xv
YmFsRGF0YSgpOwogCisgICAgdW5zaWduZWQgaW5kZXggPSBwcm9wZXJ0eU5hbWUuYXNJbmRleCgp
OworICAgIGlmIChpbmRleCAhPSBQcm9wZXJ0eU5hbWU6Ok5vdEFuSW5kZXgpIHsKKyAgICAgICAg
cHV0VG9QcmltaXRpdmVCeUluZGV4KGV4ZWMsIGluZGV4LCB2YWx1ZSwgc2xvdC5pc1N0cmljdE1v
ZGUoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBDaGVjayBpZiB0aGVyZSBh
cmUgYW55IHNldHRlcnMgb3IgZ2V0dGVycyBpbiB0aGUgcHJvdG90eXBlIGNoYWluCiAgICAgSlNP
YmplY3QqIG9iaiA9IHN5bnRoZXNpemVQcm90b3R5cGUoZXhlYyk7CiAgICAgSlNWYWx1ZSBwcm90
b3R5cGU7CkBAIC0xNzIsNiArMTc4LDIxIEBAIHZvaWQgSlNWYWx1ZTo6cHV0VG9QcmltaXRpdmUo
RXhlY1N0YXRlKiAKICAgICByZXR1cm47CiB9CiAKK3ZvaWQgSlNWYWx1ZTo6cHV0VG9QcmltaXRp
dmVCeUluZGV4KEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
IHZhbHVlLCBib29sIHNob3VsZFRocm93KQoreworICAgIGlmIChwcm9wZXJ0eU5hbWUgPiBNQVhf
QVJSQVlfSU5ERVgpIHsKKyAgICAgICAgUHV0UHJvcGVydHlTbG90IHNsb3Qoc2hvdWxkVGhyb3cp
OworICAgICAgICBwdXRUb1ByaW1pdGl2ZShleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHBy
b3BlcnR5TmFtZSksIHZhbHVlLCBzbG90KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAK
KyAgICBpZiAoc3ludGhlc2l6ZVByb3RvdHlwZShleGVjKS0+YXR0ZW1wdFRvSW50ZXJjZXB0UHV0
QnlJbmRleE9uSG9sZUZvclByb3RvdHlwZShleGVjLCAqdGhpcywgcHJvcGVydHlOYW1lLCB2YWx1
ZSwgc2hvdWxkVGhyb3cpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKHNob3VsZFRo
cm93KQorICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9w
ZXJ0eVdyaXRlRXJyb3IpOworfQorCiBjaGFyKiBKU1ZhbHVlOjpkZXNjcmlwdGlvbigpIGNvbnN0
CiB7CiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzaXplID0gMTI4OwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAkocmV2aXNpb24gMTI4NzE0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcg
KzEsNyBAQAogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMSBIYXJyaSBQb3J0ZW4gKHBv
cnRlbkBrZGUub3JnKQogICogIENvcHlyaWdodCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBv
c3QuY29tKQotICogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNywgMjAwOCwg
MjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNDAsNiArMjQwLDcgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIHVuc2lnbmVk
IHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90JikgY29uc3Q7CiAgICAgICAgIHZvaWQgcHV0KEV4
ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7CiAgICAg
ICAgIHZvaWQgcHV0VG9QcmltaXRpdmUoRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVl
LCBQdXRQcm9wZXJ0eVNsb3QmKTsKKyAgICAgICAgdm9pZCBwdXRUb1ByaW1pdGl2ZUJ5SW5kZXgo
RXhlY1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBib29sIHNob3VsZFRo
cm93KTsKICAgICAgICAgdm9pZCBwdXRCeUluZGV4KEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CiAKICAgICAgICAgSlNPYmplY3Qq
IHRvVGhpc09iamVjdChFeGVjU3RhdGUqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAkocmV2aXNpb24gMTI4NzE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsNyBAQCB2b2lkIE9iamVjdFByb3RvdHlwZTo6Zmlu
aXNoQ3JlYXRpb24oSlNHCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24oZ2xvYmFsRGF0YSk7
CiAgICAgQVNTRVJUKGluaGVyaXRzKCZzX2luZm8pKTsKKyAgICBub3RpZnlVc2VkQXNQcm90b3R5
cGUoZ2xvYmFsRGF0YSk7CiB9CiAKIGJvb2wgT2JqZWN0UHJvdG90eXBlOjpnZXRPd25Qcm9wZXJ0
eVNsb3QoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0
eU5hbWUsIFByb3BlcnR5U2xvdCAmc2xvdCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCShyZXZpc2lvbiAxMjg3
MTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFw
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTksMzMgKzk5LDggQEAgdm9pZCBTcGFyc2VBcnJheVZh
bHVlTWFwOjpwdXRFbnRyeShFeGVjUwogICAgICAgICAgICAgdGhyb3dUeXBlRXJyb3IoZXhlYywg
U3RyaWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KLQotICAgIGlmICghKGVudHJ5LmF0dHJpYnV0ZXMgJiBBY2Nlc3NvcikpIHsKLSAgICAg
ICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMgJiBSZWFkT25seSkgewotICAgICAgICAgICAgaWYgKHNo
b3VsZFRocm93KQotICAgICAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1v
ZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLQotICAgICAgICBlbnRyeS5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCB2YWx1
ZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBKU1ZhbHVlIGFjY2Vzc29yID0gZW50
cnkuU3BhcnNlQXJyYXlFbnRyeTo6QmFzZTo6Z2V0KCk7Ci0gICAgQVNTRVJUKGFjY2Vzc29yLmlz
R2V0dGVyU2V0dGVyKCkpOwotICAgIEpTT2JqZWN0KiBzZXR0ZXIgPSBhc0dldHRlclNldHRlcihh
Y2Nlc3NvciktPnNldHRlcigpOwogICAgIAotICAgIGlmICghc2V0dGVyKSB7Ci0gICAgICAgIGlm
IChzaG91bGRUaHJvdykKLSAgICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMsIFN0cmljdE1v
ZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBDYWxsRGF0YSBjYWxsRGF0YTsKLSAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IHNldHRlci0+
bWV0aG9kVGFibGUoKS0+Z2V0Q2FsbERhdGEoc2V0dGVyLCBjYWxsRGF0YSk7Ci0gICAgTWFya2Vk
QXJndW1lbnRCdWZmZXIgYXJnczsKLSAgICBhcmdzLmFwcGVuZCh2YWx1ZSk7Ci0gICAgY2FsbChl
eGVjLCBzZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwgYXJyYXksIGFyZ3MpOworICAgIGVudHJ5
LnB1dChleGVjLCBhcnJheSwgdGhpcywgdmFsdWUsIHNob3VsZFRocm93KTsKIH0KIAogYm9vbCBT
cGFyc2VBcnJheVZhbHVlTWFwOjpwdXREaXJlY3QoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
YXJyYXksIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFB1
dERpcmVjdEluZGV4TW9kZSBtb2RlKQpAQCAtMTg3LDYgKzE2MiwzNiBAQCBKU1ZhbHVlIFNwYXJz
ZUFycmF5RW50cnk6OmdldChFeGVjU3RhdGUqCiAgICAgcmV0dXJuIGNhbGwoZXhlYywgZ2V0dGVy
LCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycmF5LCBleGVjLT5lbXB0eUxpc3QoKSk7CiB9CiAKK3Zv
aWQgU3BhcnNlQXJyYXlFbnRyeTo6cHV0KEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlzVmFs
dWUsIFNwYXJzZUFycmF5VmFsdWVNYXAqIG1hcCwgSlNWYWx1ZSB2YWx1ZSwgYm9vbCBzaG91bGRU
aHJvdykKK3sKKyAgICBpZiAoIShhdHRyaWJ1dGVzICYgQWNjZXNzb3IpKSB7CisgICAgICAgIGlm
IChhdHRyaWJ1dGVzICYgUmVhZE9ubHkpIHsKKyAgICAgICAgICAgIGlmIChzaG91bGRUaHJvdykK
KyAgICAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCBTdHJpY3RNb2RlUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgc2V0KGV4ZWMtPmdsb2JhbERhdGEoKSwgbWFwLCB2YWx1ZSk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBKU1ZhbHVlIGFjY2Vzc29yID0gQmFzZTo6Z2V0KCk7CisgICAgQVNT
RVJUKGFjY2Vzc29yLmlzR2V0dGVyU2V0dGVyKCkpOworICAgIEpTT2JqZWN0KiBzZXR0ZXIgPSBh
c0dldHRlclNldHRlcihhY2Nlc3NvciktPnNldHRlcigpOworICAgIAorICAgIGlmICghc2V0dGVy
KSB7CisgICAgICAgIGlmIChzaG91bGRUaHJvdykKKyAgICAgICAgICAgIHRocm93VHlwZUVycm9y
KGV4ZWMsIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBDYWxsRGF0YSBjYWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxs
VHlwZSA9IHNldHRlci0+bWV0aG9kVGFibGUoKS0+Z2V0Q2FsbERhdGEoc2V0dGVyLCBjYWxsRGF0
YSk7CisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgYXJnczsKKyAgICBhcmdzLmFwcGVuZCh2YWx1
ZSk7CisgICAgY2FsbChleGVjLCBzZXR0ZXIsIGNhbGxUeXBlLCBjYWxsRGF0YSwgdGhpc1ZhbHVl
LCBhcmdzKTsKK30KKwogSlNWYWx1ZSBTcGFyc2VBcnJheUVudHJ5OjpnZXROb25TcGFyc2VNb2Rl
KCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWF0dHJpYnV0ZXMpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1ZU1hcC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuaAkocmV2aXNp
b24gMTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlW
YWx1ZU1hcC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw4IEBACiAKIG5hbWVzcGFjZSBK
U0MgewogCitjbGFzcyBTcGFyc2VBcnJheVZhbHVlTWFwOworCiBzdHJ1Y3QgU3BhcnNlQXJyYXlF
bnRyeSA6IHB1YmxpYyBXcml0ZUJhcnJpZXI8VW5rbm93bj4gewogICAgIHR5cGVkZWYgV3JpdGVC
YXJyaWVyPFVua25vd24+IEJhc2U7CiAKQEAgLTQ0LDYgKzQ2LDcgQEAgc3RydWN0IFNwYXJzZUFy
cmF5RW50cnkgOiBwdWJsaWMgV3JpdGVCYQogICAgIEpTVmFsdWUgZ2V0KEV4ZWNTdGF0ZSosIEpT
T2JqZWN0KikgY29uc3Q7CiAgICAgdm9pZCBnZXQoUHJvcGVydHlTbG90JikgY29uc3Q7CiAgICAg
dm9pZCBnZXQoUHJvcGVydHlEZXNjcmlwdG9yJikgY29uc3Q7CisgICAgdm9pZCBwdXQoRXhlY1N0
YXRlKiwgSlNWYWx1ZSB0aGlzVmFsdWUsIFNwYXJzZUFycmF5VmFsdWVNYXAqLCBKU1ZhbHVlLCBi
b29sIHNob3VsZFRocm93KTsKICAgICBKU1ZhbHVlIGdldE5vblNwYXJzZU1vZGUoKSBjb25zdDsK
IAogICAgIHVuc2lnbmVkIGF0dHJpYnV0ZXM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDEyODcxNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwOSw2
ICszMDksMzAgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAg
IHJldHVybiAwOwogfQogCitib29sIFN0cnVjdHVyZTo6YW55T2JqZWN0SW5DaGFpbk1heUludGVy
Y2VwdEluZGV4ZWRBY2Nlc3NlcygpIGNvbnN0Cit7CisgICAgZm9yIChjb25zdCBTdHJ1Y3R1cmUq
IGN1cnJlbnQgPSB0aGlzOyA7KSB7CisgICAgICAgIGlmIChjdXJyZW50LT5tYXlJbnRlcmNlcHRJ
bmRleGVkQWNjZXNzZXMoKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAKKyAg
ICAgICAgSlNWYWx1ZSBwcm90b3R5cGUgPSBjdXJyZW50LT5zdG9yZWRQcm90b3R5cGUoKTsKKyAg
ICAgICAgaWYgKHByb3RvdHlwZS5pc051bGwoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgCisgICAgICAgIGN1cnJlbnQgPSBhc09iamVjdChwcm90b3R5cGUpLT5zdHJ1Y3R1
cmUoKTsKKyAgICB9Cit9CisKK05vblByb3BlcnR5VHJhbnNpdGlvbiBTdHJ1Y3R1cmU6OnN1Z2dl
c3RlZEluZGV4aW5nVHJhbnNpdGlvbigpIGNvbnN0Cit7CisgICAgQVNTRVJUKCFoYXNJbmRleGVk
UHJvcGVydGllcyhpbmRleGluZ1R5cGUoKSkpOworICAgIAorICAgIGlmIChhbnlPYmplY3RJbkNo
YWluTWF5SW50ZXJjZXB0SW5kZXhlZEFjY2Vzc2VzKCkgfHwgZ2xvYmFsT2JqZWN0KCktPmlzSGF2
aW5nQUJhZFRpbWUoKSkKKyAgICAgICAgcmV0dXJuIEFsbG9jYXRlU2xvd1B1dEFycmF5U3RvcmFn
ZTsKKyAgICAKKyAgICByZXR1cm4gQWxsb2NhdGVBcnJheVN0b3JhZ2U7Cit9CisKIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oSlNHbG9iYWxEYXRhJiBnbG9iYWxE
YXRhLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5z
aWduZWQgYXR0cmlidXRlcywgSlNDZWxsKiBzcGVjaWZpY1ZhbHVlLCBQcm9wZXJ0eU9mZnNldCYg
b2Zmc2V0KQogewogICAgIC8vIElmIHdlIGhhdmUgYSBzcGVjaWZpYyBmdW5jdGlvbiwgd2UgbWF5
IGhhdmUgZ290IHRvIHRoaXMgcG9pbnQgaWYgdGhlcmUgaXMKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAxMjg3MTQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTQ0
LDcgKzE0NCwxNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICBJbmRleGluZ1R5cGUgaW5k
ZXhpbmdUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9pbmRleGluZ1R5cGUgJiBBbGxBcnJheVR5cGVz
OyB9CiAgICAgICAgIEluZGV4aW5nVHlwZSBpbmRleGluZ1R5cGVJbmNsdWRpbmdIaXN0b3J5KCkg
Y29uc3QgeyByZXR1cm4gbV9pbmRleGluZ1R5cGU7IH0KLQorICAgICAgICAKKyAgICAgICAgYm9v
bCBtYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdAorICAgICAgICB7CisgICAgICAg
ICAgICByZXR1cm4gISEoaW5kZXhpbmdUeXBlSW5jbHVkaW5nSGlzdG9yeSgpICYgTWF5SGF2ZUlu
ZGV4ZWRBY2Nlc3NvcnMpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBib29sIGFueU9i
amVjdEluQ2hhaW5NYXlJbnRlcmNlcHRJbmRleGVkQWNjZXNzZXMoKSBjb25zdDsKKyAgICAgICAg
CisgICAgICAgIE5vblByb3BlcnR5VHJhbnNpdGlvbiBzdWdnZXN0ZWRJbmRleGluZ1RyYW5zaXRp
b24oKSBjb25zdDsKKyAgICAgICAgCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QoKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQoKTsgfQogICAgICAgICB2b2lk
IHNldEdsb2JhbE9iamVjdChKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QpIHsgbV9nbG9iYWxPYmplY3Quc2V0KGdsb2JhbERhdGEsIHRoaXMsIGds
b2JhbE9iamVjdCk7IH0KICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGUuaAkocmV2aXNpb24g
MTI4NzE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlVHJhbnNp
dGlvblRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDEwIEBAIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBGaXJzdEludGVybmFsQXR0cmkKIC8vIFN1cHBvcnQgZm9yIGF0dHJpYnV0ZXMg
dXNlZCB0byBpbmRpY2F0ZSB0cmFuc2l0aW9ucyBub3QgcmVsYXRlZCB0byBwcm9wZXJ0aWVzLgog
Ly8gSWYgYW55IG9mIHRoZXNlIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHBvcnRpb24gb2YgdGhlIGtl
eSBzaG91bGQgYmUgMC4KIGVudW0gTm9uUHJvcGVydHlUcmFuc2l0aW9uIHsKLSAgICBBbGxvY2F0
ZUFycmF5U3RvcmFnZQorICAgIEFsbG9jYXRlQXJyYXlTdG9yYWdlLAorICAgIEFsbG9jYXRlU2xv
d1B1dEFycmF5U3RvcmFnZSwKKyAgICBTd2l0Y2hUb1Nsb3dQdXRBcnJheVN0b3JhZ2UsCisgICAg
QWRkSW5kZXhlZEFjY2Vzc29ycwogfTsKIAogaW5saW5lIHVuc2lnbmVkIHRvQXR0cmlidXRlcyhO
b25Qcm9wZXJ0eVRyYW5zaXRpb24gdHJhbnNpdGlvbikKQEAgLTU2LDYgKzU5LDEzIEBAIGlubGlu
ZSBJbmRleGluZ1R5cGUgbmV3SW5kZXhpbmdUeXBlKEluZGUKICAgICBzd2l0Y2ggKHRyYW5zaXRp
b24pIHsKICAgICBjYXNlIEFsbG9jYXRlQXJyYXlTdG9yYWdlOgogICAgICAgICByZXR1cm4gb2xk
VHlwZSB8IEhhc0FycmF5U3RvcmFnZTsKKyAgICBjYXNlIEFsbG9jYXRlU2xvd1B1dEFycmF5U3Rv
cmFnZToKKyAgICAgICAgcmV0dXJuIG9sZFR5cGUgfCBIYXNTbG93UHV0QXJyYXlTdG9yYWdlOwor
ICAgIGNhc2UgU3dpdGNoVG9TbG93UHV0QXJyYXlTdG9yYWdlOgorICAgICAgICBBU1NFUlQob2xk
VHlwZSAmIEhhc0FycmF5U3RvcmFnZSk7CisgICAgICAgIHJldHVybiAob2xkVHlwZSAmIH5IYXNB
cnJheVN0b3JhZ2UpIHwgSGFzU2xvd1B1dEFycmF5U3RvcmFnZTsKKyAgICBjYXNlIEFkZEluZGV4
ZWRBY2Nlc3NvcnM6CisgICAgICAgIHJldHVybiBvbGRUeXBlIHwgTWF5SGF2ZUluZGV4ZWRBY2Nl
c3NvcnM7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIHJldHVybiBvbGRUeXBlOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTI4NzE0KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMDkt
MTYgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBJZiBhIHByb3Rv
dHlwZSBoYXMgaW5kZXhlZCBzZXR0ZXJzIGFuZCBpdHMgaW5zdGFuY2VzIGhhdmUgaW5kZXhlZCBz
dG9yYWdlLCB0aGVuIGFsbCBwdXRfYnlfdmFsJ3Mgc2hvdWxkIGhhdmUgYSBiYWQgdGltZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY1OTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGZhaWxp
bmcgZXhwZWN0YXRpb24gZm9yIHByaW1pdGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1jYXNlcywg
YW5kCisgICAgICAgIGFkZGVkIG1vcmUgdGVzdHMgdG8gY292ZXIgdGhlIG51bWVyaWNhbC1zZXR0
ZXItb24tcHJvdG90eXBlIGNhc2VzLgorCisgICAgICAgICogZmFzdC9qcy9hcnJheS1iYWQtdGlt
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvYXJyYXktYmFkLXRpbWUu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJheS1zbG93LXB1dC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvYXJyYXktc2xvdy1wdXQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9qcy9qc2MtdGVzdC1saXN0OgorICAgICAgICAqIGZhc3QvanMvb2Jq
ZWN0LWJhZC10aW1lLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9vYmpl
Y3QtYmFkLXRpbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9vYmplY3Qtc2xvdy1w
dXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL29iamVjdC1zbG93LXB1
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1iYWQt
dGltZS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktc2xv
dy1wdXQuanM6IEFkZGVkLgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBmYXN0L2pzL3Njcmlw
dC10ZXN0cy9vYmplY3QtYmFkLXRpbWUuanM6IEFkZGVkLgorICAgICAgICAoQ29ucyk6CisgICAg
ICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LXNsb3ctcHV0LmpzOiBBZGRlZC4KKyAg
ICAgICAgKENvbnMpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9qcy9wcmltaXRpdmUtcHJvcGVydHktYWNjZXNzLWVkZ2UtY2FzZXMtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorCiAyMDEyLTA5LTE2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTiAocjEyNjc2Myk6IGNzczEvcHNldWRvL2ZpcnN0bGluZS5odG1s
IGZhaWxzIHdoZW4gdXNpbmcgdGhlIGNvbXBsZXggdGV4dCBjb2RlIHBhdGgKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1iYWQtdGltZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA2MSBAQAorVGVzdHMgdGhhdCBkZWZpbmluZyBhIHNl
dHRlciBvbiB0aGUgQXJyYXkgcHJvdG90eXBlIHdvcmtzIGV2ZW4gaWYgaXQgaXMgZG9uZSBhZnRl
ciBhcnJheXMgYXJlIGFsbG9jYXRlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAs
MSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMs
NCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1Mg
IjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMs
NCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMg
IjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwy
LDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BB
U1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwy
LDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIg
aXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAs
MSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIKK1BBU1MgIjAsMSwyLDMsNCIgaXMgIjAsMSwyLDMsNCIK
K0hlbmNlZm9ydGggSSB3aWxsIGhhdmUgYSBiYWQgdGltZS4KK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitP
dWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiws
NCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitQ
QVNTIG91Y2hlcyBpcyA1MAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktYmFkLXRpbWUuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LWJhZC10aW1lLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LWJhZC10aW1lLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9hcnJheS1iYWQtdGltZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ctcHV0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc2xvdy1wdXQt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxMCBAQAorVGVzdHMgdGhhdCBk
ZWZpbmluZyBhIHNldHRlciBvbiB0aGUgQXJyYXkgcHJvdG90eXBlIHdvcmtzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091Y2ghCitQQVNTICIw
LDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIs
LDQiCitQQVNTIG91Y2hlcyBpcyAxMDAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNsb3ct
cHV0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zbG93LXB1
dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zbG93LXB1
dC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktc2xvdy1wdXQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9qc2MtdGVzdC1saXN0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvanNjLXRlc3QtbGlzdAkocmV2aXNpb24gMTI4NzE0
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9qc2MtdGVzdC1saXN0CSh3b3JraW5nIGNvcHkpCkBA
IC0yLDYgKzIsNyBAQCBmYXN0L2pzL2FkZC1yZWNvdmVyeQogZmFzdC9qcy9hcHBseS12YXJhcmdz
CiBmYXN0L2pzL2FyZ3VtZW50cy1iYWQtaW5kZXgKIGZhc3QvanMvYXJndW1lbnRzCitmYXN0L2pz
L2FycmF5LWJhZC10aW1lCiBmYXN0L2pzL2FycmF5LWNvbnN0cnVjdG9yLWhvc3QtY2FsbAogZmFz
dC9qcy9hcnJheS1kZWZpbmVPd25Qcm9wZXJ0eQogZmFzdC9qcy9hcnJheS1lbnVtZXJhdG9ycy1m
dW5jdGlvbnMKQEAgLTE5LDYgKzIwLDcgQEAgZmFzdC9qcy9hcnJheS1wcm90by1mdW5jLXByb3Bl
cnR5LWdldHRlcgogZmFzdC9qcy9hcnJheS1yZWR1Y2UKIGZhc3QvanMvYXJyYXktcmVkdWNlUmln
aHQKIGZhc3QvanMvYXJyYXktcmVzZXQtbGFyZ2UtaW5kZXgKK2Zhc3QvanMvYXJyYXktc2xvdy1w
dXQKIGZhc3QvanMvYXJyYXktc29ydC1udW1lcmljQ29tcGFyZQogZmFzdC9qcy9hcnJheS1zb3J0
LXJlZW50cmFuY2UKIGZhc3QvanMvYXJyYXktc3BsaWNlCkBAIC0yMjksOCArMjMxLDEwIEBAIGZh
c3QvanMvT2JqZWN0LWRlZmluZVByb3BlcnRpZXMKIGZhc3QvanMvT2JqZWN0LWRlZmluZVByb3Bl
cnR5CiBmYXN0L2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzCiBmYXN0L2pzL09iamVjdC1r
ZXlzCitmYXN0L2pzL29iamVjdC1iYWQtdGltZQogZmFzdC9qcy9vYmplY3QtbGl0ZXJhbC1kaXJl
Y3QtcHV0CiBmYXN0L2pzL29iamVjdC1saXRlcmFsLXN5bnRheAorZmFzdC9qcy9vYmplY3Qtc2xv
dy1wdXQKIGZhc3QvanMvb3JkZXItb2Ytb3BlcmF0aW9ucwogZmFzdC9qcy9wYXJzZS1iYWNrc2xh
c2gtYmVmb3JlLW5ld2xpbmUKIGZhc3QvanMvcGFyc2UtbmFuCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2pzL29iamVjdC1iYWQtdGltZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9vYmplY3QtYmFkLXRpbWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3QtYmFkLXRpbWUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEwNjEgQEAKK1Rlc3RzIHRoYXQgZGVmaW5pbmcgYSBzZXR0ZXIg
b24gdGhlIHByb3RvdHlwZSBvZiBhbiBvYmplY3QgdXNlZCBmb3IgaW5kZXhlZCBzdG9yYWdlIHdv
cmtzIGV2ZW4gaWYgaXQgaXMgZG9uZSBhZnRlciBvYmplY3RzIHdpdGggaW5kZXhlZCBzdG9yYWdl
IGFyZSBhbGxvY2F0ZWQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIw
LDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQi
CitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIw
LDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwz
LDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNT
ICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwz
LDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlz
ICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEs
MiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQ
QVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEs
MiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQi
IGlzICIwLDEsMiwzLDQiCitQQVNTICIwLDEsMiwzLDQiIGlzICIwLDEsMiwzLDQiCitIZW5jZWZv
cnRoIEkgd2lsbCBoYXZlIGEgYmFkIHRpbWUuCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BB
U1MgIjAsMSwyLCw0IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIw
LDEsMiwsNCIKK091Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorUEFTUyBvdWNo
ZXMgaXMgNTAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1iYWQtdGltZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LWJhZC10aW1lLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1iYWQtdGltZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvb2JqZWN0LWJhZC10aW1lLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvanMvb2JqZWN0LXNsb3ctcHV0LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEwIEBACitUZXN0cyB0aGF0IGRl
ZmluaW5nIGEgc2V0dGVyIG9uIHRoZSBwcm90b3R5cGUgb2YgYW4gb2JqZWN0IHVzZWQgZm9yIGlu
ZGV4ZWQgc3RvcmFnZSB3b3Jrcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorT3VjaCEKK1BBU1MgIjAsMSwyLCw0
IiBpcyAiMCwxLDIsLDQiCitPdWNoIQorUEFTUyAiMCwxLDIsLDQiIGlzICIwLDEsMiwsNCIKK091
Y2ghCitQQVNTICIwLDEsMiwsNCIgaXMgIjAsMSwyLCw0IgorUEFTUyBvdWNoZXMgaXMgMTAwCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3Qtc2xvdy1wdXQuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2pzL29iamVjdC1zbG93LXB1dC5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9qcy9vYmplY3Qtc2xvdy1wdXQuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3Rz
L29iamVjdC1zbG93LXB1dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1iYWQtdGltZS5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1iYWQtdGltZS5qcwkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LWJhZC10
aW1lLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMyIEBACitkZXNjcmlwdGlvbigKKyJUZXN0
cyB0aGF0IGRlZmluaW5nIGEgc2V0dGVyIG9uIHRoZSBBcnJheSBwcm90b3R5cGUgd29ya3MgZXZl
biBpZiBpdCBpcyBkb25lIGFmdGVyIGFycmF5cyBhcmUgYWxsb2NhdGVkLiIKKyk7CisKK3ZhciBv
dWNoZXMgPSAwOworCitmdW5jdGlvbiBmb28oaGF2ZUFCYWRUaW1lKSB7CisgICAgdmFyIHJlc3Vs
dCA9IFtdOworICAgIHJlc3VsdC5sZW5ndGggPSA1OworICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
cmVzdWx0Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpID09IGhhdmVBQmFkVGltZSkgewor
ICAgICAgICAgICAgZGVidWcoIkhlbmNlZm9ydGggSSB3aWxsIGhhdmUgYSBiYWQgdGltZS4iKTsK
KyAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fKCIzIiwgZnVuY3Rp
b24oKSB7IGRlYnVnKCJPdWNoISIpOyBvdWNoZXMrKzsgfSk7CisgICAgICAgIH0KKyAgICAgICAg
cmVzdWx0W2ldID0gaTsKKyAgICB9CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordmFyIGV4cGVj
dGVkID0gIlwiMCwxLDIsMyw0XCIiOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7ICsraSkg
eworICAgIHZhciBoYXZlQUJhZFRpbWU7CisgICAgaWYgKGkgPT0gOTUwKSB7CisgICAgICAgIGhh
dmVBQmFkVGltZSA9IDI7CisgICAgICAgIGV4cGVjdGVkID0gIlwiMCwxLDIsLDRcIiI7CisgICAg
fSBlbHNlCisgICAgICAgIGhhdmVBQmFkVGltZSA9IC0xOworICAgIHNob3VsZEJlKCJcIiIgKyBm
b28oaGF2ZUFCYWRUaW1lKS5qb2luKCIsIikgKyAiXCIiLCBleHBlY3RlZCk7Cit9CisKK3Nob3Vs
ZEJlKCJvdWNoZXMiLCAiNTAiKTsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRl
c3RzL2FycmF5LXNsb3ctcHV0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMv
c2NyaXB0LXRlc3RzL2FycmF5LXNsb3ctcHV0LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktc2xvdy1wdXQuanMJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTkgQEAKK2Rlc2NyaXB0aW9uKAorIlRlc3RzIHRoYXQgZGVmaW5pbmcgYSBzZXR0
ZXIgb24gdGhlIEFycmF5IHByb3RvdHlwZSB3b3Jrcy4iCispOworCit2YXIgb3VjaGVzID0gMDsK
K0FycmF5LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fKCIzIiwgZnVuY3Rpb24oKSB7IGRlYnVn
KCJPdWNoISIpOyBvdWNoZXMrKzsgfSk7CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICB2YXIgcmVz
dWx0ID0gW107CisgICAgcmVzdWx0Lmxlbmd0aCA9IDU7CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZXN1bHQubGVuZ3RoOyArK2kpCisgICAgICAgIHJlc3VsdFtpXSA9IGk7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICBzaG91bGRC
ZSgiXCIiICsgZm9vKCkuam9pbigiLCIpICsgIlwiIiwgIlwiMCwxLDIsLDRcIiIpOworCitzaG91
bGRCZSgib3VjaGVzIiwgIjEwMCIpOwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQt
dGVzdHMvb2JqZWN0LWJhZC10aW1lLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
anMvc2NyaXB0LXRlc3RzL29iamVjdC1iYWQtdGltZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1iYWQtdGltZS5qcwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzNSBAQAorZGVzY3JpcHRpb24oCisiVGVzdHMgdGhhdCBkZWZpbmluZyBh
IHNldHRlciBvbiB0aGUgcHJvdG90eXBlIG9mIGFuIG9iamVjdCB1c2VkIGZvciBpbmRleGVkIHN0
b3JhZ2Ugd29ya3MgZXZlbiBpZiBpdCBpcyBkb25lIGFmdGVyIG9iamVjdHMgd2l0aCBpbmRleGVk
IHN0b3JhZ2UgYXJlIGFsbG9jYXRlZC4iCispOworCitmdW5jdGlvbiBDb25zKCkgeworfQorCit2
YXIgb3VjaGVzID0gMDsKKworZnVuY3Rpb24gZm9vKGhhdmVBQmFkVGltZSkgeworICAgIHZhciBy
ZXN1bHQgPSBuZXcgQ29ucygpOworICAgIHJlc3VsdC5sZW5ndGggPSA1OworICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmIChpID09IGhhdmVB
QmFkVGltZSkgeworICAgICAgICAgICAgZGVidWcoIkhlbmNlZm9ydGggSSB3aWxsIGhhdmUgYSBi
YWQgdGltZS4iKTsKKyAgICAgICAgICAgIENvbnMucHJvdG90eXBlLl9fZGVmaW5lU2V0dGVyX18o
IjMiLCBmdW5jdGlvbigpIHsgZGVidWcoIk91Y2ghIik7IG91Y2hlcysrOyB9KTsKKyAgICAgICAg
fQorICAgICAgICByZXN1bHRbaV0gPSBpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworfQor
Cit2YXIgZXhwZWN0ZWQgPSAiXCIwLDEsMiwzLDRcIiI7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDsgKytpKSB7CisgICAgdmFyIGhhdmVBQmFkVGltZTsKKyAgICBpZiAoaSA9PSA5NTApIHsK
KyAgICAgICAgaGF2ZUFCYWRUaW1lID0gMjsKKyAgICAgICAgZXhwZWN0ZWQgPSAiXCIwLDEsMiws
NFwiIjsKKyAgICB9IGVsc2UKKyAgICAgICAgaGF2ZUFCYWRUaW1lID0gLTE7CisgICAgc2hvdWxk
QmUoIlwiIiArIEFycmF5LnByb3RvdHlwZS5qb2luLmFwcGx5KGZvbyhoYXZlQUJhZFRpbWUpLCBb
IiwiXSkgKyAiXCIiLCBleHBlY3RlZCk7Cit9CisKK3Nob3VsZEJlKCJvdWNoZXMiLCAiNTAiKTsK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL29iamVjdC1zbG93LXB1dC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9vYmplY3Qt
c2xvdy1wdXQuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10
ZXN0cy9vYmplY3Qtc2xvdy1wdXQuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIgQEAKK2Rl
c2NyaXB0aW9uKAorIlRlc3RzIHRoYXQgZGVmaW5pbmcgYSBzZXR0ZXIgb24gdGhlIHByb3RvdHlw
ZSBvZiBhbiBvYmplY3QgdXNlZCBmb3IgaW5kZXhlZCBzdG9yYWdlIHdvcmtzLiIKKyk7CisKK2Z1
bmN0aW9uIENvbnMoKSB7Cit9CisKK3ZhciBvdWNoZXMgPSAwOworQ29ucy5wcm90b3R5cGUuX19k
ZWZpbmVTZXR0ZXJfXygiMyIsIGZ1bmN0aW9uKCkgeyBkZWJ1ZygiT3VjaCEiKTsgb3VjaGVzKys7
IH0pOworCitmdW5jdGlvbiBmb28oKSB7CisgICAgdmFyIHJlc3VsdCA9IG5ldyBDb25zKCk7Cisg
ICAgcmVzdWx0Lmxlbmd0aCA9IDU7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVu
Z3RoOyArK2kpCisgICAgICAgIHJlc3VsdFtpXSA9IGk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30K
KworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDA7ICsraSkKKyAgICBzaG91bGRCZSgiXCIiICsgQXJy
YXkucHJvdG90eXBlLmpvaW4uYXBwbHkoZm9vKCksIFsiLCJdKSArICJcIiIsICJcIjAsMSwyLCw0
XCIiKTsKKworc2hvdWxkQmUoIm91Y2hlcyIsICIxMDAiKTsKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2pzL3ByaW1pdGl2ZS1wcm9wZXJ0eS1hY2Nlc3MtZWRnZS1jYXNlcy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
anMvcHJpbWl0aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMTI4NzE0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvanMvcHJpbWl0
aXZlLXByb3BlcnR5LWFjY2Vzcy1lZGdlLWNhc2VzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw1OCArMCwwIEBACi1UaGlzIHBhZ2UgdGVzdHMgZm9yIGFzc2VydGlvbiBmYWlsdXJl
cyBpbiBlZGdlIGNhc2VzIG9mIHByb3BlcnR5IGxvb2t1cCBvbiBwcmltaXRpdmUgdmFsdWVzLgot
Ci1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjaGVja0dldCgxLCBOdW1iZXIp
IGlzIHRydWUKLVBBU1MgY2hlY2tHZXQoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNo
ZWNrR2V0KHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hlY2tTZXQoMSwgTnVtYmVyKSBp
cyB0cnVlCi1QQVNTIGNoZWNrU2V0KCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVj
a1NldCh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNTIGNoZWNrR2V0U3RyaWN0KDEsIE51bWJl
cikgaXMgdHJ1ZQotUEFTUyBjaGVja0dldFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUK
LVBBU1MgY2hlY2tHZXRTdHJpY3QodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja1Nl
dFN0cmljdCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hlY2tTZXRTdHJpY3QoJ2hlbGxvJywg
U3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrU2V0U3RyaWN0KHRydWUsIEJvb2xlYW4pIGlzIHRy
dWUKLVBBU1MgY2hlY2tSZWFkKDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja1JlYWQoJ2hl
bGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrUmVhZCh0cnVlLCBCb29sZWFuKSBpcyB0
cnVlCi1QQVNTIGNoZWNrV3JpdGUoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrV3JpdGUo
J2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrV3JpdGUodHJ1ZSwgQm9vbGVhbikg
aXMgdHJ1ZQotUEFTUyBjaGVja1JlYWRTdHJpY3QoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNo
ZWNrUmVhZFN0cmljdCgnaGVsbG8nLCBTdHJpbmcpIGlzIHRydWUKLVBBU1MgY2hlY2tSZWFkU3Ry
aWN0KHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hlY2tXcml0ZVN0cmljdCgxLCBOdW1i
ZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0byBhc3NpZ24gdG8gcmVh
ZG9ubHkgcHJvcGVydHkuLgotUEFTUyBjaGVja1dyaXRlU3RyaWN0KCdoZWxsbycsIFN0cmluZykg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25s
eSBwcm9wZXJ0eS4uCi1QQVNTIGNoZWNrV3JpdGVTdHJpY3QodHJ1ZSwgQm9vbGVhbikgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGVkIHRvIGFzc2lnbiB0byByZWFkb25seSBwcm9w
ZXJ0eS4uCi1QQVNTIGNoZWNrTnVtZXJpY0dldCgxLCBOdW1iZXIpIGlzIHRydWUKLVBBU1MgY2hl
Y2tOdW1lcmljR2V0KCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNH
ZXQodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotRkFJTCBjaGVja051bWVyaWNTZXQoMSwgTnVtYmVy
KSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotRkFJTCBjaGVja051bWVyaWNTZXQoJ2hlbGxv
JywgU3RyaW5nKSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZhbHNlLgotRkFJTCBjaGVja051bWVyaWNT
ZXQodHJ1ZSwgQm9vbGVhbikgc2hvdWxkIGJlIHRydWUuIFdhcyBmYWxzZS4KLVBBU1MgY2hlY2tO
dW1lcmljR2V0U3RyaWN0KDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNHZXRT
dHJpY3QoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY0dldFN0cmlj
dCh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1GQUlMIGNoZWNrTnVtZXJpY1NldFN0cmljdCgxLCBO
dW1iZXIpIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1GQUlMIGNoZWNrTnVtZXJpY1NldFN0
cmljdCgnaGVsbG8nLCBTdHJpbmcpIHNob3VsZCBiZSB0cnVlLiBXYXMgZmFsc2UuCi1GQUlMIGNo
ZWNrTnVtZXJpY1NldFN0cmljdCh0cnVlLCBCb29sZWFuKSBzaG91bGQgYmUgdHJ1ZS4gV2FzIGZh
bHNlLgotUEFTUyBjaGVja051bWVyaWNSZWFkKDEsIE51bWJlcikgaXMgdHJ1ZQotUEFTUyBjaGVj
a051bWVyaWNSZWFkKCdoZWxsbycsIFN0cmluZykgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNS
ZWFkKHRydWUsIEJvb2xlYW4pIGlzIHRydWUKLVBBU1MgY2hlY2tOdW1lcmljV3JpdGUoMSwgTnVt
YmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJpY1dyaXRlKCdoZWxsbycsIFN0cmluZykgaXMg
dHJ1ZQotUEFTUyBjaGVja051bWVyaWNXcml0ZSh0cnVlLCBCb29sZWFuKSBpcyB0cnVlCi1QQVNT
IGNoZWNrTnVtZXJpY1JlYWRTdHJpY3QoMSwgTnVtYmVyKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVt
ZXJpY1JlYWRTdHJpY3QoJ2hlbGxvJywgU3RyaW5nKSBpcyB0cnVlCi1QQVNTIGNoZWNrTnVtZXJp
Y1JlYWRTdHJpY3QodHJ1ZSwgQm9vbGVhbikgaXMgdHJ1ZQotUEFTUyBjaGVja051bWVyaWNXcml0
ZVN0cmljdCgxLCBOdW1iZXIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRlZCB0
byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuLgotUEFTUyBjaGVja051bWVyaWNXcml0ZVN0
cmljdCgnaGVsbG8nLCBTdHJpbmcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRl
ZCB0byBhc3NpZ24gdG8gcmVhZG9ubHkgcHJvcGVydHkuLgotUEFTUyBjaGVja051bWVyaWNXcml0
ZVN0cmljdCh0cnVlLCBCb29sZWFuKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0
ZWQgdG8gYXNzaWduIHRvIHJlYWRvbmx5IHByb3BlcnR5Li4KLVBBU1MgZGlkTm90Q3Jhc2ggaXMg
dHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0K
</data>
<flag name="review"
          id="176066"
          type_id="1"
          status="+"
          setter="barraclough"
    />
    <flag name="commit-queue"
          id="176069"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>