<?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>94580</bug_id>
          
          <creation_ts>2012-08-21 03:09:37 -0700</creation_ts>
          <short_desc>Web Inspector: NMI: rename addMember for strings and KURL to addInstrumentedMember</short_desc>
          <delta_ts>2012-08-21 06:47:42 -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>Web Inspector (Deprecated)</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>
          
          <blocked>87262</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>700565</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 03:09:37 -0700</bug_when>
    <thetext>EOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700567</commentid>
    <comment_count>1</comment_count>
      <attachid>159639</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 03:13:22 -0700</bug_when>
    <thetext>Created attachment 159639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700621</commentid>
    <comment_count>2</comment_count>
      <attachid>159639</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-21 04:45:57 -0700</bug_when>
    <thetext>Comment on attachment 159639
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159639&amp;action=review

&gt; Source/WebCore/dom/MemoryInstrumentation.h:106
&gt; +    void addInstrumentedObject(const String&amp;, ObjectType);

We should merge these methods into corresponding addInstrumentedObjectImpl.

&gt; Source/WebCore/dom/MemoryInstrumentation.h:219
&gt; +    void addInstrumentedMember(const String&amp; string) { m_memoryInstrumentation-&gt;addInstrumentedObject(string, m_objectType); }

Having overloaded version of addInstrumentedObjectImpl should be enough for generic addInstrumentedMember method to work here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700653</commentid>
    <comment_count>3</comment_count>
      <attachid>159665</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 05:35:20 -0700</bug_when>
    <thetext>Created attachment 159665
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700677</commentid>
    <comment_count>4</comment_count>
      <attachid>159665</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-21 06:00:08 -0700</bug_when>
    <thetext>Comment on attachment 159665
Patch

Attachment 159665 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13554149</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700679</commentid>
    <comment_count>5</comment_count>
      <attachid>159665</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-21 06:02:37 -0700</bug_when>
    <thetext>Comment on attachment 159665
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159665&amp;action=review

&gt; Source/WebCore/dom/MemoryInstrumentation.cpp:64
&gt; +        addObject(url-&gt;innerURL(), objectType);

addObject -&gt; addInstrumentedObject, can you check why didn&apos;t the compilation failed on this call?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700684</commentid>
    <comment_count>6</comment_count>
      <attachid>159674</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 06:11:44 -0700</bug_when>
    <thetext>Created attachment 159674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700687</commentid>
    <comment_count>7</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 06:12:43 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 159665 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159665&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/MemoryInstrumentation.cpp:64
&gt; &gt; +        addObject(url-&gt;innerURL(), objectType);
&gt; 
&gt; addObject -&gt; addInstrumentedObject, can you check why didn&apos;t the compilation failed on this call?

fixed.

link time guards were moved to MemoryInstrumentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700707</commentid>
    <comment_count>8</comment_count>
      <attachid>159680</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-21 06:44:36 -0700</bug_when>
    <thetext>Created attachment 159680
actually landed

actually landed patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159639</attachid>
            <date>2012-08-21 03:13:22 -0700</date>
            <delta_ts>2012-08-21 05:35:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94580-20120821141241.patch</filename>
            <type>text/plain</type>
            <size>42943</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmM5MzZhMjQyM2E2ODFj
YjYwN2Q4ODVmYTgwN2U3MTIwYmY5Y2VmNi4uZDVkNDhhNWU2MGRiYTljOGY0ZGFhYjIxNzZjYTU0
NGQ0Y2E2MjUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMi0wOC0yMSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiByZW5hbWUgYWRkTWVtYmVyIGZvciBzdHJpbmdzIGFuZCBLVVJMIHRvIGFkZElu
c3RydW1lbnRlZE1lbWJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk0NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHJpdmUgYnkgZml4OiBpbW11dGFibGUgRWxlbWVudEF0dHJ5YnV0ZURhdGEgdXNl
cyB0aGUgc2FtZSB0cmljayB3aXRoIHBsYWNlbWVudCBuZXcgYXMgaW4gU3R5bGVQcm9wZXJ0eVNl
dC4KKworICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2hhcnNldFJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTcmNWYWx1ZTo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTRnVuY3Rpb25W
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDbG9uZUNTU1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVZhbHVlLmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NWYXJpYWJsZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGZWF0dXJlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogY3NzL01lZGlhUXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVw
b3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUlt
cG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRy
aWJ1dGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjpjcmVhdGVJbW11dGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJp
YnV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAg
ICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAgICAgIChNZW1vcnlDbGFzc0luZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRJbnN0cnVtZW50ZWRNZW1iZXIpOgor
ICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZp
ZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGxvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0
eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5bGVT
aGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorCiAyMDEy
LTA4LTIxICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI2MDI4LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YW52YXNWYWx1ZS5jcHAKaW5kZXggNDkyNWIzOTM4M2FhMTU4ZDlkM2I1Y2U0MzJhYjFkMzRlYjc1
OWU5Ni4uNjM3NzdiYjRkZGRkYTA5NzYxNmY4ZmEwYWJjMWJhNWM3N2ZiOTQ1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCkBAIC05Nyw3ICs5Nyw3IEBAIHZvaWQgQ1NTQ2Fu
dmFzVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIENTU0ltYWdlR2VuZXJh
dG9yVmFsdWU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9uYW1lKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VsZW1lbnQpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAppbmRleCBiN2QyMDFjODZkZGEz
YjE5ZWQ1ZWY1NTM1ODc0MTBjNDY0NjE3MDdkLi5hM2MzZTFiOWFhNTQwZDFlNjA0ZjhkNTZmNGYx
MmNjM2ViMDg3MGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKQEAgLTQw
LDcgKzQwLDcgQEAgdm9pZCBDU1NDaGFyc2V0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEkKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7CiAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9lbmNvZGluZyk7CisgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9lbmNvZGluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAppbmRleCBhMDAxMTVk
YjE0MDIxMzVkMWZhZDk2ZDYzMmE1YWRlOGM5MGQ4YTAxLi5kYjRlYjliMzY0N2RkNTYzYWNmMDdl
ZDkwOTU5ZWU2MjAxNDY4YTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3Jj
VmFsdWUuY3BwCkBAIC0xMDAsOCArMTAwLDggQEAgQ2FjaGVkRm9udCogQ1NTRm9udEZhY2VTcmNW
YWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCogZG9jdW1lbnQpCiB2b2lkIENTU0ZvbnRGYWNlU3Jj
VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX3Jlc291cmNlKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Zvcm1hdCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXNvdXJjZSk7CisgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9mb3JtYXQpOwogICAgIC8vIEZJWE1FOiBhZGQgbV9jYWNoZWRGb250
IHdoZW4gTWVtb3J5Q2FjaGUgaXMgaW5zdHJ1bWVudGVkLgogI2lmIEVOQUJMRShTVkdfRk9OVFMp
CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdmdGb250RmFjZUVsZW1lbnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCmluZGV4IDYyOGE5ODliYTc3OTY0
MmM0ODZiNDkxMGY3MDAyNDliOTlkODc5NzcuLjlmOGYyNGYzMDMwZTFjZmZkOGJmZTIzNjVmMjBl
OGUzNTFiN2NmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZh
bHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKQEAg
LTUzLDcgKzUzLDcgQEAgU3RyaW5nIENTU0Z1bmN0aW9uVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBj
b25zdAogdm9pZCBDU1NGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX25hbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
YXJncyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAppbmRleCBj
MzE2M2Y1NWM3MWE3OWZmM2U3YjFmZjQ0OWVkMmUyMjg4YzhjOTYxLi4yODQ1MWEyNTQ0NGIwZWU3
ZjlmZmQ4YTg1MmI2N2Y0YTQ0NmNhNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTSW1hZ2VTZXRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0
VmFsdWUuY3BwCkBAIC0xNzQsNyArMTc0LDcgQEAgdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWMKIHZv
aWQgQ1NTSW1hZ2VTZXRWYWx1ZTo6SW1hZ2VXaXRoU2NhbGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKGltYWdlVVJMKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihpbWFnZVVSTCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAppbmRleCA1NDIxOTJkNWQyZGQwNTVlNDZmOTM3
ZDkxNDI0Mzk3NzI4YmY5ZDBlLi5iN2Y0ZDczY2Q4NzFmZWM2YjBiYTg1NTE0OTcyOTU5ZTQwNDBh
NGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCkBAIC0xMjksNyArMTI5LDcg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTSW1hZ2VWYWx1ZTo6Y2xvbmVGb3JDU1NPTSgpIGNv
bnN0CiB2b2lkIENTU0ltYWdlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV91cmwpOwogICAgIC8vIE5vIG5lZWQgdG8gcmVwb3J0IG1faW1hZ2UgYXMgaXQg
aXMgY291bnRlZCBhcyBwYXJ0IG9mIFJlbmRlckFyZW5hLgogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTaGVldC5jcHAKaW5kZXggZjE2ZjhiYmIzM2MzZmFmOTExYjY5NzA0MTkyMGFiOWQ1NmRm
MjFjYy4uZWMwZWJlNmZhZmRiZTcwZTVlMmY0NWQ1MTZjZGU4ZDM2ZDBlM2JjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcApAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgQ1NTU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9jb250ZW50cyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV90aXRsZSk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90aXRsZSk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fb3duZXJOb2RlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX293
bmVyUnVsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRleCBkYTFhYzMzMTQzZmEyNTk0ODYx
OWE5OGY5NGNmZDYyYzIzZTk5OTY5Li5lZTBhMThjZjUwMjZmZjcwZjY0ZTM4OWIxNzkwNGFkZDZj
ZTAwMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKG1fY3NzVGV4dCk7CisgICAgICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fY3NzVGV4dCk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKaW5kZXggZTBiOTdkM2ZmODU0ODNlMTdkNGU1MjRkYTYx
NjMxNmU1NTJjOGIyMS4uMzAyMGUxZTFiNzhiYTNkYjY2ZTVlYzU1YjQ0OWNkN2UyYWVhNzIxYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oCkBAIC01MSw4ICs1MSw4IEBAIHB1
YmxpYzoKICAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpD
U1MpOwotICAgICAgICBpbmZvLmFkZE1lbWJlcihtX25hbWUpOwotICAgICAgICBpbmZvLmFkZE1l
bWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1l
KTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7CiAgICAgfQog
CiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCmluZGV4IDQ5
MWIxOTJlNjMxNDlkOGYxMDFhMTIyZjU1MDUwN2ZmMDk0ZGJiMDQuLjQxM2VhYTRhMjYwMDNmMzlk
YjdhNTJlYjkyNmZjYjVkYWI4ZDU3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9G
b250RmVhdHVyZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVW
YWx1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgU3RyaW5nIEZvbnRGZWF0dXJlVmFsdWU6OmN1c3Rv
bUNzc1RleHQoKSBjb25zdAogdm9pZCBGb250RmVhdHVyZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV90YWcpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFnKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnkuY3BwCmluZGV4IDFhYWJkNjlkNGU3NDcyMGNjNmQwZGNkM2Y1OTE5OWMyN2FlOTk0NmYu
LjQ0YzMyYzE0MjYxYjNkNWU0M2JiYjdkYmRmMGY0ZTE5MTJkNTgyMjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeS5jcHAKQEAgLTEzNyw5ICsxMzcsOSBAQCBTdHJpbmcgTWVkaWFRdWVyeTo6Y3Nz
VGV4dCgpIGNvbnN0CiB2b2lkIE1lZGlhUXVlcnk6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OwotICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFUeXBlKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX21lZGlhVHlwZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3JQ
dHIobV9leHByZXNzaW9ucyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2Fj
aGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hl
KTsKIH0KIAogfSAvL25hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFeHAuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwCmlu
ZGV4IDNjNzc4OTU2Y2U0YzhkMGM1ZTEyZDhlNTRhMjcxNDEzYTY2OGY0NWQuLjRiOTE5OTdkNzAz
YTJlOTgzNTY0NTMwMGY3MzRkMjlmNjkwODE3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUV4cC5jcHAKQEAgLTExMiw4ICsxMTIsOCBAQCBTdHJpbmcgTWVkaWFRdWVyeUV4cDo6c2VyaWFs
aXplKCkgY29uc3QKIHZvaWQgTWVkaWFRdWVyeUV4cDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUZlYXR1cmUpOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX21lZGlhRmVhdHVyZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZXJp
YWxpemF0aW9uQ2FjaGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCmluZGV4IDI0OTQyNTIx
ZDBjMDU0OTZjMTI4ZjI1Yzk0ZmQ5YjNkYzRkMDE2NWEuLjM4MjMxM2U2NzczMWU5MDk2NzM2MDhh
NDY5OWVkOGU0ZmE2N2EyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGVJbXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3Bw
CkBAIC0xMzQsNyArMTM0LDcgQEAgdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlcXVlc3RTdHlsZVNo
ZWV0KCkKIHZvaWQgU3R5bGVSdWxlSW1wb3J0OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zdHJIcmVmKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3N0ckhyZWYpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fbWVkaWFRdWVyaWVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0
eWxlU2hlZXQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRD
b250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApp
bmRleCA5NmI0ZTU0ZmFiOThjMTY4OGRlZTgzNjliNzhiMzc3OTNhNWM5ZmM4Li5jYzNjZWM1MmE2
YTFhMzc1OGEzYzFiNzlkOGY1MTA1YmRjMGFhMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcApAQCAtNDg2LDggKzQ4Niw4IEBAIHZvaWQgU3R5bGVTaGVldENv
bnRlbnRzOjpyZW1vdmVkRnJvbU1lbW9yeUNhY2hlKCkKIHZvaWQgU3R5bGVTaGVldENvbnRlbnRz
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX29yaWdp
bmFsVVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29kaW5nRnJvbUNoYXJzZXRSdWxlKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX29yaWdpbmFsVVJMKTsKKyAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29kaW5nRnJvbUNoYXJzZXRSdWxlKTsKICAgICBp
bmZvLmFkZFZlY3RvcihtX2ltcG9ydFJ1bGVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZl
Y3RvcihtX2NoaWxkUnVsZXMpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX25hbWVzcGFjZXMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAppbmRleCA1YzA5
MzAyMmMzNmQ2MzE2MmFlYjU2MmQyN2I2YmJiMGQxYmNiZmVjLi44MDA2OTMyNmZiZjMyZGI4NDI0
MDE5OThmZTcxNzMzMDgzZjU4MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlLmNwcApAQCAtOTAsNyArOTAsNyBAQCB2b2lkIFN0eWxlS2V5ZnJhbWU6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcHJvcGVydGllcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9rZXkpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5KTsKIH0KIAogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlmcmFtZSoga2V5ZnJhbWUsIFdlYktpdENTU0tl
eWZyYW1lc1J1bGUqIHBhcmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcAppbmRleCAzODMwNjhkYTYyNGYxYzhlOTM4ODEzMjc1MjlkNmRkMjhmMWQ0
ZjYzLi5jYTQ3Zjc5YmRkOWQ3ZDM4YzE1NDYwMTQ0NjJiNjgyYzg4MGQ2NmM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCkBAIC05MSw3ICs5MSw3
IEBAIHZvaWQgU3R5bGVSdWxlS2V5ZnJhbWVzOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fa2V5ZnJhbWVzKTsKLSAgICBpbmZvLmFkZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiB9
CiAKIFdlYktpdENTU0tleWZyYW1lc1J1bGU6OldlYktpdENTU0tleWZyYW1lc1J1bGUoU3R5bGVS
dWxlS2V5ZnJhbWVzKiBrZXlmcmFtZXNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5kZXgg
M2UxNmJiZDMyYjBjYWM4NzAyM2M3M2RkZmExNTM2NWZlYmVmNWM3MC4uZDJmYmRmMThjZTFjZTRm
MTE4NDdkNWJiYzM2N2RlYTgyMjk3YmNiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBTdHJpbmcgV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIFdlYktp
dENTU1NWR0RvY3VtZW50VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV91cmwpOwogICAgIC8vIEZJWE1FOiBhZGQgbV9kb2N1bWVudCB3aGVuIGNhY2hlZCBy
ZXNvdXJjZXMgYXJlIGluc3RydW1lbnRlZC4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJL
aXRDU1NTaGFkZXJWYWx1ZS5jcHAKaW5kZXggNDgyYTM2MDg5Njg5NWNkYTU1YmE5N2U3Mjc5NzRk
MzAxODE4YjAxNi4uYjg5YjE4MzRlZGFhNGJiODE0YjZiM2FlOTYzOWY5Nzk4ZjZjZjEwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCkBAIC04Myw3ICs4
Myw3IEBAIFN0cmluZyBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0
CiB2b2lkIFdlYktpdENTU1NoYWRlclZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdXJsKTsKIH0KICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9BdHRyaWJ1dGUuaAppbmRleCA3MTc0YmJhYWRiMzRlNDA4ODFhOTRlY2JhN2I4NGFlMTY0
MzkzMmFkLi44MWEwYmJkYTdmYTM4ZjQ5YzJjNGQzZjU2NzBiNDAzNzg3YzhmMjU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0F0dHJpYnV0ZS5oCkBAIC03MSw3ICs3MSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6RE9NKTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9u
YW1lKTsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZSk7CisgICAgICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAppbmRleCA5MWY1YWM3MGY4YzY5MWI4ZjNlZmI3NjM5MWM2
NDJiNDBiZTA2ZDBkLi5kYmM2Y2UxNWQ5MTk3NDZkYWE2NGY2ZGZlYWY1YzI4YmIwNmU1ODU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQg
Q2hhcmFjdGVyRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CiAgICAgTm9kZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9k
YXRhKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOwogfQogCiB2b2lk
IENoYXJhY3RlckRhdGE6OmFwcGVuZERhdGEoY29uc3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25D
b2RlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGIwZjM4N2EyNWMxODk3NDViYzViMmIx
ODVhNDhjY2VlMjA4MjIxNDMuLmQ5N2JkMzRhMjU2NDZiNmUyNmI1OTBjYmQ1N2I2YjY2N2NiMDRh
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjEwOSwxNCArNjEwOSwxNCBAQCB2b2lk
IERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVSZXNv
bHZlcik7CiAgICAgQ29udGFpbmVyTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9jdXN0b21Gb250cyk7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZVVSTCk7Ci0gICAgaW5mby5h
ZGRNZW1iZXIobV9iYXNlVVJMT3ZlcnJpZGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZUVs
ZW1lbnRVUkwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fY29va2llVVJMKTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Rv
Y3VtZW50VVJJKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Jhc2VUYXJnZXQpOworICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2Jhc2VVUkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZVVS
TE92ZXJyaWRlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VFbGVtZW50
VVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Nvb2tpZVVSTCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudFVSSSk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9iYXNlVGFyZ2V0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2ZyYW1lKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NhY2hl
ZFJlc291cmNlTG9hZGVyKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VsZW1T
aGVldCk7CkBAIC02MTI4LDEzICs2MTI4LDEzIEBAIHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5m
by5hZGRIYXNoU2V0KG1fbm9kZUl0ZXJhdG9ycyk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fcmFu
Z2VzKTsKICAgICBpbmZvLmFkZExpc3RIYXNoU2V0KG1fc3R5bGVTaGVldENhbmRpZGF0ZU5vZGVz
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKLSAgICBpbmZvLmFkZE1lbWJl
cihtX3RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jhd1RpdGxlLnN0cmlu
ZygpKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3htbEVuY29kaW5nKTsKLSAgICBpbmZvLmFkZE1l
bWJlcihtX3htbFZlcnNpb24pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fY29udGVudExhbmd1YWdl
KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRT
ZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0
U2V0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jhd1RpdGxlLnN0cmluZygpKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3htbEVuY29kaW5nKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3htbFZlcnNpb24pOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fY29udGVudExhbmd1YWdlKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1
bWVudE5hbWVkSXRlbUNvbGxlY3Rpb25zKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV93aW5kb3dO
YW1lZEl0ZW1Db2xsZWN0aW9ucyk7CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKaW5kZXggYjc0M2M1ZTNi
NGFjYjk1ZDViOTk1NzlmMjEzYTY3OGI2ODc4YjVkNi4uN2Q4OWM4ODQ4MGM5N2U5YmQ0MTQwYmUx
M2Q2N2Q3ZjdlMjNjMTM5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRB
dHRyaWJ1dGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0
ZURhdGEuY3BwCkBAIC0zMyw5ICszMywxNCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0
YXRpYyBzaXplX3QgaW1tdXRhYmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXplKHVuc2lnbmVkIGNv
dW50KQoreworICAgIHJldHVybiBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZURhdGEpIC0gc2l6ZW9m
KHZvaWQqKSArIHNpemVvZihBdHRyaWJ1dGUpICogY291bnQ7Cit9CisKIFBhc3NPd25QdHI8RWxl
bWVudEF0dHJpYnV0ZURhdGE+IEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpjcmVhdGVJbW11dGFibGUo
Y29uc3QgVmVjdG9yPEF0dHJpYnV0ZT4mIGF0dHJpYnV0ZXMpCiB7Ci0gICAgdm9pZCogc2xvdCA9
IFdURjo6ZmFzdE1hbGxvYyhzaXplb2YoRWxlbWVudEF0dHJpYnV0ZURhdGEpIC0gc2l6ZW9mKHZv
aWQqKSArIHNpemVvZihBdHRyaWJ1dGUpICogYXR0cmlidXRlcy5zaXplKCkpOworICAgIHZvaWQq
IHNsb3QgPSBXVEY6OmZhc3RNYWxsb2MoaW1tdXRhYmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXpl
KGF0dHJpYnV0ZXMuc2l6ZSgpKSk7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyAoc2xvdCkgRWxl
bWVudEF0dHJpYnV0ZURhdGEoYXR0cmlidXRlcykpOwogfQogCkBAIC0yODYsMTUgKzI5MSwxNCBA
QCB2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpkZXRhY2hBdHRyT2JqZWN0c0Zyb21FbGVtZW50
KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAKIHZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAgIHNpemVfdCBhY3R1YWxTaXplID0gbV9pc011
dGFibGUgPyBzaXplb2YoRWxlbWVudEF0dHJpYnV0ZURhdGEpIDogaW1tdXRhYmxlRWxlbWVudEF0
dHJpYnV0ZURhdGFTaXplKG1fYXJyYXlTaXplKTsKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSwgYWN0dWFs
U2l6ZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pbmxpbmVTdHlsZURlY2wp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYXR0cmlidXRlU3R5bGUpOwogICAg
IGluZm8uYWRkTWVtYmVyKG1fY2xhc3NOYW1lcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9pZEZv
clN0eWxlUmVzb2x1dGlvbik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pZEZv
clN0eWxlUmVzb2x1dGlvbik7CiAgICAgaWYgKG1faXNNdXRhYmxlKQogICAgICAgICBpbmZvLmFk
ZFZlY3RvclB0cihtX211dGFibGVBdHRyaWJ1dGVWZWN0b3IpOwotICAgIGVsc2UKLSAgICAgICAg
aW5mby5hZGRSYXdCdWZmZXIobV9hdHRyaWJ1dGVzLCBtX2FycmF5U2l6ZSAqIHNpemVvZihBdHRy
aWJ1dGUpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBsZW4gPSBsZW5ndGgoKTsgaSA8IGxl
bjsgaSsrKQogICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcigqYXR0cmlidXRlSXRl
bShpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRleCAwOGU2NDRmZjZlNmJhZTFmOGVkMjRmNzk4
M2UxNWM5NGZmOWY4OWY0Li5jODBkNDFmYmJkOWNhZTEwODUwYjRmOTc1ZjhhN2E5YWEzZTg2M2E1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIEV2ZW50OjpzdG9y
ZVJlc3VsdChjb25zdCBTdHJpbmcmKQogdm9pZCBFdmVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkRPTSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV90eXBlKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3R5cGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY3VycmVudFRhcmdldCk7
CiAgICAgaW5mby5hZGRNZW1iZXIobV90YXJnZXQpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUlu
c3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYTlmZWZjYWNhNjNmZjk5YWI4YmNmZWUyMWZmMjRhOTdh
OTA2MDRlMy4uM2FjN2Q1MjEwMTJkYTA4OGFhZjdmYzY3ZDlmNDg0ZWUyNGYwMmZkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTM3LDMwICsz
NywzMCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjphZGRPYmplY3QoY29uc3QgU3RyaW5nJiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlw
ZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3QoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSkKIHsKLSAgICBhZGRPYmpl
Y3Qoc3RyaW5nLmltcGwoKSwgb2JqZWN0VHlwZSk7CisgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0
KHN0cmluZy5pbXBsKCksIG9iamVjdFR5cGUpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6YWRkT2JqZWN0KGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsIE9iamVjdFR5cGUg
b2JqZWN0VHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRP
YmplY3QoY29uc3QgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCwgT2JqZWN0VHlwZSBvYmplY3RUeXBl
KQogewogICAgIGlmICghc3RyaW5nSW1wbCB8fCB2aXNpdGVkKHN0cmluZ0ltcGwpKQogICAgICAg
ICByZXR1cm47CiAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIHN0cmluZ0ltcGwtPnNp
emVJbkJ5dGVzKCkpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0
KGNvbnN0IEtVUkwmIHVybCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlKQordm9pZCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdChjb25zdCBLVVJMJiB1cmwsIE9iamVj
dFR5cGUgb2JqZWN0VHlwZSkKIHsKICAgICBpZiAodmlzaXRlZCgmdXJsKSkKICAgICAgICAgcmV0
dXJuOwotICAgIGFkZE9iamVjdCh1cmwuc3RyaW5nKCksIG9iamVjdFR5cGUpOworICAgIGFkZElu
c3RydW1lbnRlZE9iamVjdCh1cmwuc3RyaW5nKCksIG9iamVjdFR5cGUpOwogICAgIGlmICh1cmwu
aW5uZXJVUkwoKSkKICAgICAgICAgYWRkT2JqZWN0KHVybC5pbm5lclVSTCgpLCBvYmplY3RUeXBl
KTsKIH0KIAogdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVj
dEltcGwoY29uc3QgQXRvbWljU3RyaW5nKiBjb25zdCYgc3RyaW5nLCBPYmplY3RUeXBlIG9iamVj
dFR5cGUsIE93bmluZ1R5cGUpCiB7Ci0gICAgYWRkT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IFN0
cmluZyY+KCpzdHJpbmcpLCBvYmplY3RUeXBlKTsKKyAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3Qo
c3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5nJj4oKnN0cmluZyksIG9iamVjdFR5cGUpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgKaW5kZXggYzBjMmQzNzVhYThjZmFmZWEyMmUzZDkzZWYwM2U0ODI4OTE5NzMxMy4u
YzRhY2E5NDlhOTQ5MjQzNTNmMjZmYjIyODljZjRkNTZkNGEzYmMyZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtMTAyLDkgKzEwMiwxMCBAQCBwcml2
YXRlOgogICAgIHsKICAgICAgICAgT3duaW5nVHJhaXRzPFQ+OjphZGRPYmplY3QodGhpcywgdCwg
b3duZXJPYmplY3RUeXBlKTsKICAgICB9Ci0gICAgdm9pZCBhZGRPYmplY3QoY29uc3QgU3RyaW5n
JiwgT2JqZWN0VHlwZSk7Ci0gICAgdm9pZCBhZGRPYmplY3QoY29uc3QgU3RyaW5nSW1wbCosIE9i
amVjdFR5cGUpOwotICAgIHZvaWQgYWRkT2JqZWN0KGNvbnN0IEtVUkwmLCBPYmplY3RUeXBlKTsK
KworICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGNvbnN0IFN0cmluZyYsIE9iamVjdFR5
cGUpOworICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KGNvbnN0IFN0cmluZ0ltcGwqLCBP
YmplY3RUeXBlKTsKKyAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdChjb25zdCBLVVJMJiwg
T2JqZWN0VHlwZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVu
dGVkT2JqZWN0KGNvbnN0IFQmIHQsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IE93bmlu
Z1RyYWl0czxUPjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlw
ZSk7IH0KICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1h
cChjb25zdCBIYXNoTWFwVHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxz
ZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2b2lkIGFkZEhhc2hTZXQo
Y29uc3QgSGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2Up
OwpAQCAtMTM3LDkgKzEzOCw4IEBAIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyB2b2lkIGFkZE9i
amVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbiwgY29uc3QgVCogY29u
c3QmIHQsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IGluc3RydW1lbnRhdGlvbi0+YWRk
T2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRlcik7IH0KICAgICB9OwogCi0g
ICAgLy8gRklYTUU6IGdldCByaWQgb2YgYWRkT2JqZWN0KFN0cmluZykKLSAgICB2b2lkIGFkZElu
c3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25zdCYgc3RyaW5nLCBPYmplY3RU
eXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUpIHsgYWRkT2JqZWN0KCpzdHJpbmcsIG9iamVjdFR5
cGUpOyB9Ci0gICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFN0cmluZ0lt
cGwqIGNvbnN0JiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgT3duaW5nVHlwZSkgeyBh
ZGRPYmplY3Qoc3RyaW5nLCBvYmplY3RUeXBlKTsgfQorICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVk
T2JqZWN0SW1wbChjb25zdCBTdHJpbmcqIGNvbnN0JiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0
VHlwZSwgT3duaW5nVHlwZSkgeyBhZGRJbnN0cnVtZW50ZWRPYmplY3QoKnN0cmluZywgb2JqZWN0
VHlwZSk7IH0KKyAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5n
SW1wbCogY29uc3QmIHN0cmluZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlKSB7
IGFkZEluc3RydW1lbnRlZE9iamVjdChzdHJpbmcsIG9iamVjdFR5cGUpOyB9CiAgICAgdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmLCBPYmpl
Y3RUeXBlLCBPd25pbmdUeXBlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJ
bnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5n
VHlwZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0SW1wbChjb25zdCBEYXRhUmVmPFQ+KiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUp
OwpAQCAtMjEwLDEwICsyMTAsMTYgQEAgcHVibGljOgogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBW
ZWN0b3JUeXBlPiB2b2lkIGFkZFZlY3RvclB0cihjb25zdCBWZWN0b3JUeXBlKiBjb25zdCB2ZWN0
b3IpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZFZlY3RvcigqdmVjdG9yLCBtX29iamVj
dFR5cGUsIGZhbHNlKTsgfQogICAgIHZvaWQgYWRkUmF3QnVmZmVyKGNvbnN0IHZvaWQqIGNvbnN0
JiBidWZmZXIsIHNpemVfdCBzaXplKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRSYXdC
dWZmZXIoYnVmZmVyLCBtX29iamVjdFR5cGUsIHNpemUpOyB9CiAKLSAgICB2b2lkIGFkZE1lbWJl
cihjb25zdCBTdHJpbmcmIHN0cmluZykgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkT2Jq
ZWN0KHN0cmluZywgbV9vYmplY3RUeXBlKTsgfQotICAgIHZvaWQgYWRkTWVtYmVyKGNvbnN0IEF0
b21pY1N0cmluZyYgc3RyaW5nKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3Qo
KGNvbnN0IFN0cmluZyYpc3RyaW5nLCBtX29iamVjdFR5cGUpOyB9Ci0gICAgdm9pZCBhZGRNZW1i
ZXIoY29uc3QgU3RyaW5nSW1wbCogc3RyaW5nKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5h
ZGRPYmplY3Qoc3RyaW5nLCBtX29iamVjdFR5cGUpOyB9Ci0gICAgdm9pZCBhZGRNZW1iZXIoY29u
c3QgS1VSTCYgdXJsKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRPYmplY3QodXJsLCBt
X29iamVjdFR5cGUpOyB9CisgICAgLy8gTGluayB0aW1lIGd1YXJkcyBmb3Igc3BlY2lhbCBjYXNl
cy4KKyAgICB2b2lkIGFkZE1lbWJlcihjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGFkZE1lbWJl
cihjb25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICB2b2lkIGFkZE1lbWJlcihjb25zdCBTdHJpbmdJ
bXBsKik7CisgICAgdm9pZCBhZGRNZW1iZXIoY29uc3QgS1VSTCYpOworCisgICAgdm9pZCBhZGRJ
bnN0cnVtZW50ZWRNZW1iZXIoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24tPmFkZEluc3RydW1lbnRlZE9iamVjdChzdHJpbmcsIG1fb2JqZWN0VHlwZSk7IH0K
KyAgICB2b2lkIGFkZEluc3RydW1lbnRlZE1lbWJlcihjb25zdCBBdG9taWNTdHJpbmcmIHN0cmlu
ZykgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0KChjb25z
dCBTdHJpbmcmKXN0cmluZywgbV9vYmplY3RUeXBlKTsgfQorICAgIHZvaWQgYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZykgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0KHN0cmluZywgbV9vYmplY3RUeXBlKTsgfQorICAg
IHZvaWQgYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGNvbnN0IEtVUkwmIHVybCkgeyBtX21lbW9yeUlu
c3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkT2JqZWN0KHVybCwgbV9vYmplY3RUeXBlKTsg
fQogCiBwcml2YXRlOgogICAgIE1lbW9yeU9iamVjdEluZm8qIG1fbWVtb3J5T2JqZWN0SW5mbzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IGE2MmQ0YzJkYWE3NGFjZmRjMGQ0OGZj
YTJiMWFjYTZkODEyZjQ1YWQuLmQxZjUyNjk3ZjRhNGI3YWFlZDQ0YmI3ZmQ2Njk4MzE3MzI3M2Qw
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtNTMsMTAgKzUzLDEwIEBAIHB1
YmxpYzoKICAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkRPTSk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZpeCk7Ci0gICAgICAgICAg
ICBpbmZvLmFkZE1lbWJlcihtX2xvY2FsTmFtZSk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX25hbWVzcGFjZSk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2xvY2FsTmFtZVVw
cGVyKTsKKyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJlZml4KTsK
KyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxOYW1lKTsKKyAg
ICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZXNwYWNlKTsKKyAgICAg
ICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxOYW1lVXBwZXIpOwogICAg
ICAgICB9CiAgICAgcHJpdmF0ZToKICAgICAgICAgUXVhbGlmaWVkTmFtZUltcGwoY29uc3QgQXRv
bWljU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCmluZGV4IDNiZTliYjY1MzQ1MGI0MjMxZTc3YjBmNWM1ZWFkOWEzY2FkN2ZhNGIu
LmVhNjliZjUyZjg4MzM3NTlmYjk4ODJjYzY3OGMyMDI5NzRkOTkzNDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzY0LDggKzM2NCw4IEBAIHZvaWQgRG9j
dW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fbXVsdGlw
YXJ0U3VicmVzb3VyY2VMb2FkZXJzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQo
bV9wbHVnSW5TdHJlYW1Mb2FkZXJzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3N1YnN0aXR1dGVEYXRhKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmco
KSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKICAgICBpbmZvLmFkZFZlY3Rv
cihtX3Jlc3BvbnNlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5h
bFJlcXVlc3QpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3JpZ2luYWxSZXF1
ZXN0Q29weSk7CkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAg
ICBpbmZvLmFkZEhhc2hNYXAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291cmNlcyk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fcmVzb3VyY2VzQ2xpZW50S25vd3NBYm91dCk7CiAg
ICAgaW5mby5hZGRWZWN0b3IobV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVtb3J5Q2FjaGVGb3JDbGll
bnROb3RpZmljYXRpb24pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fY2xpZW50UmVkaXJlY3RTb3Vy
Y2VGb3JIaXN0b3J5KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NsaWVudFJl
ZGlyZWN0U291cmNlRm9ySGlzdG9yeSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9tYWluUmVzb3VyY2VEYXRhKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggMjNlOWI2Y2M5MjZjMTQxNmRkYWU4OTMwZDMzMTAxOTk0NTI0ZjZhZS4uY2E5ZmYw
OTQ3YTQxNzM2YWFhNzg2NzA1NzY0ZGQ4ZTkyZTllMWRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCkBAIC0zMjM2LDEwICszMjM2LDEwIEBAIE5ldHdvcmtpbmdDb250ZXh0
KiBGcmFtZUxvYWRlcjo6bmV0d29ya2luZ0NvbnRleHQoKSBjb25zdAogdm9pZCBGcmFtZUxvYWRl
cjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9kb2N1bWVudExvYWRlci5nZXQoKSk7Ci0gICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3BvbGljeURvY3VtZW50TG9hZGVyLmdldCgpKTsKLSAgICBp
bmZvLmFkZE1lbWJlcihtX291dGdvaW5nUmVmZXJyZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wb2xpY3lEb2N1bWVudExvYWRlcik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhh
c2hTZXQobV9vcGVuZWRGcmFtZXMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1
dGVEYXRhLmNwcAppbmRleCA4MDZiZDFkOGVmNmIxNmE2OTU2MGExNGZmMjNjMzVlMTE4ZDYxM2Qw
Li5hMjY5YzM0OTgxZWY3ODQ5ZDMzMTVjYzc2ZTlkOTY1MzlhZjlkMDg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAKQEAgLTM5LDEwICszOSwxMCBAQCB2b2lkIFN1
YnN0aXR1dGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2NvbnRlbnQpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fbWlt
ZVR5cGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdGV4dEVuY29kaW5nKTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX2ZhaWxpbmdVUkwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzcG9uc2VVUkwp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWltZVR5cGUpOworICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGV4dEVuY29kaW5nKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2ZhaWxpbmdVUkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcmVzcG9uc2VVUkwpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggN2U0NGViYzI4YWVhNDY3MzI1
OTM1MWY5M2Q2NjhkMzM2YTM4N2VhOC4uNDk4ZDJmYTU3ZDhlMjI3MGE2MmNkMzY0MjQwOTI0MjUy
ZTU2NDYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENT
U1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRD
U1NTdHlsZVNoZWV0LmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQgQ2FjaGVkQ1NTU3R5bGVT
aGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9kZWNvZGVkU2hlZXRUZXh0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Rl
Y29kZWRTaGVldFRleHQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBjNjE5ZGRhZDY2MzI4YTU4NDliY2ZlYTRlNDlkOTJh
OGE0OThjMDRkLi5kN2FiY2FlODQwYzc5NmQ2MWFiNjM2MDQ1ZmQ1YWY1ZGQ3MmM3OTE2IDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTgw
NiwxMSArODA2LDExIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpD
YWNoZWRSZXNvdXJjZSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9yZXNvdXJjZVJlcXVlc3QpOwog
ICAgIGluZm8uYWRkSGFzaFNldChtX2NsaWVudHMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fYWNj
ZXB0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2FjY2VwdCk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sb2FkZXIpOwotICAgIGluZm8uYWRkTWVtYmVyKG1f
cmVzcG9uc2UpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzcG9uc2UpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZGF0YSk7Ci0gICAgaW5mby5hZGRNZW1i
ZXIobV9jYWNoZWRNZXRhZGF0YS5nZXQoKSk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jYWNoZWRN
ZXRhZGF0YSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uZXh0SW5BbGxSZXNv
dXJjZXNMaXN0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZXZJbkFsbFJl
c291cmNlc0xpc3QpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dEluTGl2
ZVJlc291cmNlc0xpc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggN2I1NjQ2NTM4NjY2YzNmZTQxYTM1YmZiMDA2
MzgyYTk4YWIzMzk4Ni4uYjI1OGMwNTdmZjNhZjExMTk1ODBkZTFhZjYwODQwNTMyZjZhMGE3NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC04ODMsNyArODgzLDcgQEAgdm9pZCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkxvYWRlcik7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fZG9jdW1lbnRSZXNv
dXJjZXMpOwogICAgIGZvciAoRG9jdW1lbnRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9
IG1fZG9jdW1lbnRSZXNvdXJjZXMuYmVnaW4oKTsgaSAhPSBtX2RvY3VtZW50UmVzb3VyY2VzLmVu
ZCgpOyArK2kpIHsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIoaS0+Zmlyc3QpOworICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpLT5maXJzdCk7CiAgICAgICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKGktPnNlY29uZCk7CiAgICAgfQogICAgIGluZm8uYWRkSGFzaFNldCht
X3ZhbGlkYXRlZFVSTHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L0NhY2hlZFNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2Ny
aXB0LmNwcAppbmRleCA3ZTdmMjY5MDVhMWJhMjM2ODMwMDAwMWU5ZmJjYWY2OGI1MTZmMzYzLi4x
MmM5ZmU1NzMyZjAxZmVkMWM5MjhiNGU5ZTkwN2ExMGE3MWZjYTk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcApAQCAtMTMxLDcgKzEzMSw3IEBAIHZv
aWQgQ2FjaGVkU2NyaXB0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VTY3Jp
cHQpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3NjcmlwdCk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9zY3JpcHQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7CiAj
aWYgVVNFKEpTQykKICAgICBpbmZvLmFkZE1lbWJlcihtX3NvdXJjZVByb3ZpZGVyQ2FjaGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcAppbmRleCA3MmVi
NWMwNTNhYTJlMWNhZDJiNTc5ODE2ZTcyNTljMzE5N2M2N2Y2Li5hMzFhYmQwNTAzMmRlMDViMjdk
NGM2ZGQ1MzUwOGE1ZGZjYmNmMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkU2hhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkU2hhZGVyLmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lkIENhY2hlZFNoYWRlcjo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlU2hhZGVyKTsKICAgICBDYWNoZWRSZXNvdXJj
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1i
ZXIobV9kZWNvZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3NoYWRlclN0cmluZyk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zaGFkZXJTdHJpbmcpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkWFNMU3R5bGVTaGVldC5jcHAKaW5kZXggZDE0ZDVmMmEzNzk0MDliYTgyMDc3MTBhOGE0Mjll
ZGEyMjc3NGUyYi4uMGU3NzE2MThiYzU4OTFiMzg2NjE3YzcxOTdiOTc1YjNkZWNmMzY1MSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0
LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5bGVTaGVldDo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykKIHsKICAgICBN
ZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVt
ZW50YXRpb246OkNhY2hlZFJlc291cmNlWFNMVCk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9y
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc2hl
ZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hlZXQpOwogICAgIGluZm8u
YWRkTWVtYmVyKG1fZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
TWVtb3J5Q2FjaGUuY3BwCmluZGV4IDUwZjQ1Y2QxMjJkZjZlNjljNWI3NjFlMDMwYTFlODhkOGM4
YjFhNWQuLjY2MTExZDczZjdkMWZiMDEyMTk1NmFlYWZkMTAzN2FkYmQyOGIwMTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtNzIxLDcgKzcyMSw3
IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoTWFwKG1fcmVzb3VyY2Vz
KTsKICAgICBDYWNoZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgZSA9IG1fcmVzb3VyY2Vz
LmVuZCgpOwogICAgIGZvciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBt
X3Jlc291cmNlcy5iZWdpbigpOyBpICE9IGU7ICsraSkgewotICAgICAgICBpbmZvLmFkZE1lbWJl
cihpLT5maXJzdCk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPmZpcnN0
KTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+c2Vjb25kKTsKICAgICB9
CiAgICAgaW5mby5hZGRWZWN0b3IobV9hbGxSZXNvdXJjZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKaW5kZXgg
YTgyOTA3OGFlYTA2MDU3MDE3NGE2YTNhN2YwYjFlMzM2NTY5ZmJhZi4uNjRlYmMxOGM4YTc0NTBk
ZjY0YTYyMGE2NmQzZTM2ODMxN2UxYzk2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCkBAIC00NDcsOCArNDQ3
LDggQEAgYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc0NvbmRpdGlvbmFsKCkgY29uc3QKIHZv
aWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7Ci0g
ICAgaW5mby5hZGRNZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZmlyc3RQYXJ0
eUZvckNvb2tpZXMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVzKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2h0dHBNZXRob2QpOwogICAgIGluZm8uYWRk
SGFzaE1hcChtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWFw
RW50cmllcyhtX2h0dHBIZWFkZXJGaWVsZHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAppbmRleCBmYTA1Mzgx
Y2Q1ZDcwMzRmMmU5NjY5ZTRkZDRhNTY1YTlkNGI3MmQ3Li5lOGQ3Y2E0MzM2OWU2OTE5Njk4Mjhk
MjRlMzQxMzgwZWYzMjA3ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAtNTcxLDcgKzU3MSw3IEBA
IHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmxhenlJbml0KEluaXRMZXZlbCBpbml0TGV2ZWwp
IGNvbnN0CiB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
TG9hZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV91cmwpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWlt
ZVR5cGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGV4dEVuY29kaW5nTmFt
ZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWdnZXN0ZWRGaWxlbmFtZSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
SW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggMTRjYjY3ZDg4Y2U2YzUxNzk5NWIxZWIwZDFmMzg4Zjgz
YWVlNjQwMS4uNjJmZTViODlmMjZmY2U5MmE2MjMwYWI2Yzg0NWVjYmVkZTMwOGNiZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERh
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcApAQCAtMjY2LDEzICsyNjYsMTMgQEAgdm9pZCBTdHlsZVJhcmVJbmhlcml0
ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
bmYKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CiAgICAgaW5mby5hZGRNZW1iZXIodGV4dFNoYWRv
dyk7Ci0gICAgaW5mby5hZGRNZW1iZXIoaGlnaGxpZ2h0KTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihoaWdobGlnaHQpOwogICAgIGluZm8uYWRkTWVtYmVyKGN1cnNvckRhdGEpOwot
ICAgIGluZm8uYWRkTWVtYmVyKGh5cGhlbmF0aW9uU3RyaW5nKTsKLSAgICBpbmZvLmFkZE1lbWJl
cihsb2NhbGUpOwotICAgIGluZm8uYWRkTWVtYmVyKHRleHRFbXBoYXNpc0N1c3RvbU1hcmspOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGh5cGhlbmF0aW9uU3RyaW5nKTsKKyAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihsb2NhbGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKHRleHRFbXBoYXNpc0N1c3RvbU1hcmspOwogICAgIGluZm8uYWRkTWVtYmVyKHF1
b3Rlcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9saW5lR3JpZCk7CisgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9saW5lR3JpZCk7CiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAg
ICAgaW5mby5hZGRNZW1iZXIobV92YXJpYWJsZXMpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggMWUyZjQ0ODhkYjRkYjE0MmYzZmVmZjEyOWVkMWQxNDBmZGQxZTJiMi4uNWI4
MDBkMGFjYmFhNjQ5NmU1NjQyMGY5MGRiMjgwNDNjODJjNTFlYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcApAQCAtMzIzLDggKzMyMyw4IEBAIHZvaWQgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0CiAgICAg
aW5mby5hZGRNZW1iZXIobV90cmFuc2l0aW9ucyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV93cmFw
U2hhcGVJbnNpZGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcFNoYXBlT3V0c2lkZSk7Ci0g
ICAgaW5mby5hZGRNZW1iZXIobV9mbG93VGhyZWFkKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jl
Z2lvblRocmVhZCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9mbG93VGhyZWFk
KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlZ2lvblRocmVhZCk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdQYWludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCmluZGV4IDRkODRm
NTIyMThiMWJjODFkYzI2ZDc2ODZlOGFkMTRmZmNlNzhiYmUuLmJhNzQ0MzU4M2JjMTVkNDdlOWM0
ZjE3YTMwNTRiNzk5ZjI0NjExMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQ
YWludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcApAQCAtMTE1LDcg
KzExNSw3IEBAIFBhc3NSZWZQdHI8U1ZHUGFpbnQ+IFNWR1BhaW50OjpjbG9uZUZvckNTU09NKCkg
Y29uc3QKIHZvaWQgU1ZHUGFpbnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VyaSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV91cmkpOwogfQogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159665</attachid>
            <date>2012-08-21 05:35:20 -0700</date>
            <delta_ts>2012-08-21 06:11:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94580-20120821163439.patch</filename>
            <type>text/plain</type>
            <size>42941</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg1MGFkOWI3YTE0NDUx
ZDU0NDE5NzBlMTBkNmJlOGQwNTQ1OTkyNS4uZjI0NGNhNGNhZWM5MDYzMzdlOTdmYjBkNTczMGI1
OGVlZDQ2NjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMi0wOC0yMSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiByZW5hbWUgYWRkTWVtYmVyIGZvciBzdHJpbmdzIGFuZCBLVVJMIHRvIGFkZElu
c3RydW1lbnRlZE1lbWJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk0NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHJpdmUgYnkgZml4OiBpbW11dGFibGUgRWxlbWVudEF0dHJ5YnV0ZURhdGEgdXNl
cyB0aGUgc2FtZSB0cmljayB3aXRoIHBsYWNlbWVudCBuZXcgYXMgaW4gU3R5bGVQcm9wZXJ0eVNl
dC4KKworICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2hhcnNldFJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTcmNWYWx1ZTo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTRnVuY3Rpb25W
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDbG9uZUNTU1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVZhbHVlLmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NWYXJpYWJsZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGZWF0dXJlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogY3NzL01lZGlhUXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVw
b3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUlt
cG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRy
aWJ1dGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjpjcmVhdGVJbW11dGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJp
YnV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAg
ICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAgICAgIChNZW1vcnlDbGFzc0luZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRJbnN0cnVtZW50ZWRNZW1iZXIpOgor
ICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZp
ZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGxvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0
eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5bGVT
aGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorCiAyMDEy
LTA4LTIwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
VjhdIE1vdmUgU3RyaW5nIHJlbGF0ZWQgY29kZSBpbiBWOEJpbmRpbmcgdG8gYSBzZXBhcmF0ZSBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAppbmRleCA0OTI1YjM5MzgzYWEx
NThkOWQzYjVjZTQzMmFiMWQzNGViNzU5ZTk2Li42Mzc3N2JiNGRkZGRhMDk3NjE2ZjhmYTBhYmMx
YmE1Yzc3ZmI5NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKQEAgLTk3
LDcgKzk3LDcgQEAgdm9pZCBDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEkKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7CiAgICAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZWxlbWVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDaGFyc2V0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUu
Y3BwCmluZGV4IGI3ZDIwMWM4NmRkYTNiMTllZDVlZjU1MzU4NzQxMGM0NjQ2MTcwN2QuLmEzYzNl
MWI5YWE1NDBkMWU2MDRmOGQ1NmY0ZjEyY2MzZWIwODcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NoYXJzZXRSdWxlLmNwcApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIENTU0NoYXJzZXRSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29k
aW5nKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29kaW5nKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU3JjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3Jj
VmFsdWUuY3BwCmluZGV4IGEwMDExNWRiMTQwMjEzNWQxZmFkOTZkNjMyYTVhZGU4YzkwZDhhMDEu
LmRiNGViOWIzNjQ3ZGQ1NjNhY2YwN2VkOTA5NTllZTYyMDE0NjhhNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTEwMCw4ICsxMDAsOCBAQCBDYWNo
ZWRGb250KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVu
dCkKIHZvaWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2UpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fZm9ybWF0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291
cmNlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zvcm1hdCk7CiAgICAgLy8g
RklYTUU6IGFkZCBtX2NhY2hlZEZvbnQgd2hlbiBNZW1vcnlDYWNoZSBpcyBpbnN0cnVtZW50ZWQu
CiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3N2Z0ZvbnRGYWNlRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
RnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5j
cHAKaW5kZXggNjI4YTk4OWJhNzc5NjQyYzQ4NmI0OTEwZjcwMDI0OWI5OWQ4Nzk3Ny4uOWY4ZjI0
ZjMwMzBlMWNmZmQ4YmZlMjM2NWYyMGU4ZTM1MWI3Y2YzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcApAQCAtNTMsNyArNTMsNyBAQCBTdHJpbmcgQ1NTRnVuY3Rpb25W
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0Z1bmN0aW9uVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX25h
bWUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hcmdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlU2V0VmFsdWUuY3BwCmluZGV4IGMzMTYzZjU1YzcxYTc5ZmYzZTdiMWZmNDQ5ZWQyZTIyODhj
OGM5NjEuLjI4NDUxYTI1NDQ0YjBlZTdmOWZmZDhhODUyYjY3ZjRhNDQ2Y2E1ODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lk
IENTU0ltYWdlU2V0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplYwogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2Fs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIoaW1hZ2VV
UkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGltYWdlVVJMKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmluZGV4
IDU0MjE5MmQ1ZDJkZDA1NWU0NmY5MzdkOTE0MjQzOTc3MjhiZjlkMGUuLmI3ZjRkNzNjZDg3MWZl
YzZiMGJhODU1MTQ5NzI5NTllNDA0MGE0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1
ZS5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NJbWFnZVZh
bHVlOjpjbG9uZUZvckNTU09NKCkgY29uc3QKIHZvaWQgQ1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiAgICAgLy8gTm8gbmVlZCB0
byByZXBvcnQgbV9pbWFnZSBhcyBpdCBpcyBjb3VudGVkIGFzIHBhcnQgb2YgUmVuZGVyQXJlbmEu
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAppbmRleCBmMTZmOGJiYjMzYzNm
YWY5MTFiNjk3MDQxOTIwYWI5ZDU2ZGYyMWNjLi5lYzBlYmU2ZmFmZGJlNzBlNWUyZjQ1ZDUxNmNk
ZThkMzZkMGUzYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCkBAIC0xODEs
NyArMTgxLDcgQEAgdm9pZCBDU1NTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NvbnRlbnRzKTsKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3RpdGxlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Rp
dGxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vd25lck5vZGUpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fb3duZXJSdWxlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCmlu
ZGV4IGRhMWFjMzMxNDNmYTI1OTQ4NjE5YTk4Zjk0Y2ZkNjJjMjNlOTk5NjkuLmVlMGExOGNmNTAy
NmZmNzBmNjRlMzg5YjE3OTA0YWRkNmNlMDAwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcApA
QCAtODIsNyArODIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAg
ICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIobV9jc3NUZXh0
KTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jc3NUZXh0KTsKICAgICB9
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaAppbmRleCBlMGI5
N2QzZmY4NTQ4M2UxN2Q0ZTUyNGRhNjE2MzE2ZTU1MmM4YjIxLi4zMDIwZTFlMWI3OGJhM2RiNjZl
NWVjNTViNDQ5Y2Q3ZTJhZWE3MjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
VmFyaWFibGVWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVl
LmgKQEAgLTUxLDggKzUxLDggQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAg
ewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFt
ZSk7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOworICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX25hbWUpOworICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ZhbHVlKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZl
YXR1cmVWYWx1ZS5jcHAKaW5kZXggNDkxYjE5MmU2MzE0OWQ4ZjEwMWExMjJmNTUwNTA3ZmYwOTRk
YmIwNC4uNDEzZWFhNGEyNjAwM2YzOWRiN2E1MmViOTI2ZmNiNWRhYjhkNTdlYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcApAQCAtNTMsNyArNTMsNyBAQCBTdHJpbmcg
Rm9udEZlYXR1cmVWYWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIEZvbnRGZWF0dXJl
VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFk
ZE1lbWJlcihtX3RhZyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90YWcpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5jcHAKaW5kZXggMWFhYmQ2OWQ0ZTc0NzIwY2M2
ZDBkY2QzZjU5MTk5YzI3YWU5OTQ2Zi4uNDRjMzJjMTQyNjFiM2Q1ZTQzYmJiN2RiZGYwZjRlMTkx
MmQ1ODIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcApAQCAtMTM3LDkgKzEzNyw5IEBA
IFN0cmluZyBNZWRpYVF1ZXJ5Ojpjc3NUZXh0KCkgY29uc3QKIHZvaWQgTWVkaWFRdWVyeTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
IHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVR5cGUp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFUeXBlKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZFZlY3RvclB0cihtX2V4cHJlc3Npb25zKTsKLSAgICBpbmZvLmFkZE1l
bWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwogfQogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUV4cC5jcHAKaW5kZXggM2M3Nzg5NTZjZTRjOGQwYzVlMTJkOGU1NGEyNzE0
MTNhNjY4ZjQ1ZC4uNGI5MTk5N2Q3MDNhMmU5ODM1NjQ1MzAwZjczNGQyOWY2OTA4MTc3NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcApAQCAtMTEyLDggKzExMiw4IEBAIFN0cmlu
ZyBNZWRpYVF1ZXJ5RXhwOjpzZXJpYWxpemUoKSBjb25zdAogdm9pZCBNZWRpYVF1ZXJ5RXhwOjpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX21lZGlhRmVh
dHVyZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFGZWF0dXJlKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUlt
cG9ydC5jcHAKaW5kZXggMjQ5NDI1MjFkMGMwNTQ5NmMxMjhmMjVjOTRmZDliM2RjNGQwMTY1YS4u
MzgyMzEzZTY3NzMxZTkwOTY3MzYwOGE0Njk5ZWQ4ZTRmYTY3YTI3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZUltcG9ydC5jcHAKQEAgLTEzNCw3ICsxMzQsNyBAQCB2b2lkIFN0eWxlUnVs
ZUltcG9ydDo6cmVxdWVzdFN0eWxlU2hlZXQoKQogdm9pZCBTdHlsZVJ1bGVJbXBvcnQ6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3N0
ckhyZWYpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3RySHJlZik7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVTaGVldCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDk2YjRlNTRmYWI5OGMxNjg4ZGVlODM2OWI3OGIz
Nzc5M2E1YzlmYzguLmNjM2NlYzUyYTZhMWEzNzU4YTNjMWI3OWQ4ZjUxMDViZGMwYWEyY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00ODYsOCArNDg2
LDggQEAgdm9pZCBTdHlsZVNoZWV0Q29udGVudHM6OnJlbW92ZWRGcm9tTWVtb3J5Q2FjaGUoKQog
dm9pZCBTdHlsZVNoZWV0Q29udGVudHM6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fb3JpZ2luYWxVUkwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZW5j
b2RpbmdGcm9tQ2hhcnNldFJ1bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
b3JpZ2luYWxVUkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZW5jb2RpbmdG
cm9tQ2hhcnNldFJ1bGUpOwogICAgIGluZm8uYWRkVmVjdG9yKG1faW1wb3J0UnVsZXMpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlcyk7CiAgICAgaW5mby5hZGRI
YXNoTWFwKG1fbmFtZXNwYWNlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZVJ1bGUuY3BwCmluZGV4IDVjMDkzMDIyYzM2ZDYzMTYyYWViNTYyZDI3YjZiYmIwZDFiY2Jm
ZWMuLjgwMDY5MzI2ZmJmMzJkYjg0MjQwMTk5OGZlNzE3MzMwODNmNTgxNDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwCkBAIC05MCw3ICs5MCw3IEBA
IHZvaWQgU3R5bGVLZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzKTsKLSAgICBpbmZvLmFkZE1lbWJl
cihtX2tleSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXkpOwogfQogCiBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OldlYktpdENTU0tleWZyYW1lUnVsZShTdHlsZUtleWZyYW1l
KiBrZXlmcmFtZSwgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSogcGFyZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCmluZGV4IDM4MzA2OGRhNjI0ZjFj
OGU5Mzg4MTMyNzUyOWQ2ZGQyOGYxZDRmNjMuLmNhNDdmNzliZGQ5ZDdkMzhjMTU0NjAxNDQ2MmI2
ODJjODgwZDY2YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZS5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBTdHlsZVJ1bGVLZXlmcmFtZXM6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmoKIHsKICAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9rZXlm
cmFtZXMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9uYW1lKTsKIH0KIAogV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6V2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZShTdHlsZVJ1bGVLZXlmcmFtZXMqIGtleWZyYW1lc1J1bGUsIENTU1N0
eWxlU2hlZXQqIHBhcmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NTVkdEb2N1bWVudFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdE
b2N1bWVudFZhbHVlLmNwcAppbmRleCAzZTE2YmJkMzJiMGNhYzg3MDIzYzczZGRmYTE1MzY1ZmVi
ZWY1YzcwLi5kMmZiZGYxOGNlMWNlNGYxMTg0N2Q1YmJjMzY3ZGVhODIyOTdiY2I0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3BwCkBAIC02
Nyw3ICs2Nyw3IEBAIFN0cmluZyBXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpjdXN0b21Dc3NU
ZXh0KCkgY29uc3QKIHZvaWQgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiAgICAgLy8gRklYTUU6IGFkZCBt
X2RvY3VtZW50IHdoZW4gY2FjaGVkIHJlc291cmNlcyBhcmUgaW5zdHJ1bWVudGVkLgogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcAppbmRleCA0ODJhMzYw
ODk2ODk1Y2RhNTViYTk3ZTcyNzk3NGQzMDE4MThiMDE2Li5iODliMTgzNGVkYWE0YmI4MTRiNmIz
YWU5NjM5Zjk3OThmNmNmMTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTU2hhZGVyVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFk
ZXJWYWx1ZS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgU3RyaW5nIFdlYktpdENTU1NoYWRlclZhbHVl
OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgV2ViS2l0Q1NTU2hhZGVyVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Vy
bCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwogfQogICAgIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJp
YnV0ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oCmluZGV4IDcxNzRiYmFhZGIz
NGU0MDg4MWE5NGVjYmE3Yjg0YWUxNjQzOTMyYWQuLjgxYTBiYmRhN2ZhMzhmNDljMmM0ZDNmNTY3
MGI0MDM3ODdjOGYyNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmgKQEAgLTcxLDcgKzcxLDcgQEAg
cHVibGljOgogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwogICAgICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwotICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3Zh
bHVlKTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV92YWx1ZSk7CiAgICAg
fQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRh
dGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCmluZGV4IDkxZjVh
YzcwZjhjNjkxYjhmM2VmYjc2MzkxYzY0MmI0MGJlMDZkMGQuLmRiYzZjZTE1ZDkxOTc0NmRhYTY0
ZjZkZmVhZjVjMjhiYjA2ZTU4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFy
YWN0ZXJEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAK
QEAgLTk2LDcgKzk2LDcgQEAgdm9pZCBDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6RE9NKTsKICAgICBOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
LSAgICBpbmZvLmFkZE1lbWJlcihtX2RhdGEpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZGF0YSk7CiB9CiAKIHZvaWQgQ2hhcmFjdGVyRGF0YTo6YXBwZW5kRGF0YShjb25zdCBT
dHJpbmcmIGRhdGEsIEV4Y2VwdGlvbkNvZGUmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXgg
YjBmMzg3YTI1YzE4OTc0NWJjNWIyYjE4NWE0OGNjZWUyMDgyMjE0My4uZDk3YmQzNGEyNTY0NmI2
ZTI2YjU5MGNiZDU3YjZiNjY3Y2IwNGExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC02
MTA5LDE0ICs2MTA5LDE0IEBAIHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9zdHlsZVJlc29sdmVyKTsKICAgICBDb250YWluZXJOb2RlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2N1c3Rv
bUZvbnRzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9iYXNlVVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Jhc2VVUkxPdmVycmlkZSk7Ci0gICAg
aW5mby5hZGRNZW1iZXIobV9iYXNlRWxlbWVudFVSTCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9j
b29raWVVUkwpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMpOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fZG9jdW1lbnRVUkkpOwotICAgIGluZm8uYWRkTWVtYmVyKG1f
YmFzZVRhcmdldCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOworICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZVVSTCk7CisgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9iYXNlVVJMT3ZlcnJpZGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fYmFzZUVsZW1lbnRVUkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fY29va2llVVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0
UGFydHlGb3JDb29raWVzKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3Vt
ZW50VVJJKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VUYXJnZXQpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZnJhbWUpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fY2FjaGVkUmVzb3VyY2VMb2FkZXIpOwogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fZWxlbVNoZWV0KTsKQEAgLTYxMjgsMTMgKzYxMjgsMTMgQEAgdm9p
ZCBEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEhhc2hTZXQobV9ub2RlSXRlcmF0b3JzKTsKICAg
ICBpbmZvLmFkZEhhc2hTZXQobV9yYW5nZXMpOwogICAgIGluZm8uYWRkTGlzdEhhc2hTZXQobV9z
dHlsZVNoZWV0Q2FuZGlkYXRlTm9kZXMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcHJlZmVycmVk
U3R5bGVzaGVldFNldCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zZWxlY3RlZFN0eWxlc2hlZXRT
ZXQpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdGl0bGUuc3RyaW5nKCkpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fcmF3VGl0bGUuc3RyaW5nKCkpOwotICAgIGluZm8uYWRkTWVtYmVyKG1feG1sRW5j
b2RpbmcpOwotICAgIGluZm8uYWRkTWVtYmVyKG1feG1sVmVyc2lvbik7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV9jb250ZW50TGFuZ3VhZ2UpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcHJlZmVycmVkU3R5bGVzaGVldFNldCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zZWxlY3RlZFN0eWxlc2hlZXRTZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fdGl0bGUuc3RyaW5nKCkpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cmF3VGl0bGUuc3RyaW5nKCkpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1feG1s
RW5jb2RpbmcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1feG1sVmVyc2lvbik7
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50TGFuZ3VhZ2UpOwogICAg
IGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50TmFtZWRJdGVtQ29sbGVjdGlvbnMpOwogICAgIGlu
Zm8uYWRkSGFzaE1hcChtX3dpbmRvd05hbWVkSXRlbUNvbGxlY3Rpb25zKTsKICNpZiBFTkFCTEUo
REFTSEJPQVJEX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dEF0dHJpYnV0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVE
YXRhLmNwcAppbmRleCBiNzQzYzVlM2I0YWNiOTVkNWI5OTU3OWYyMTNhNjc4YjY4NzhiNWQ2Li43
ZDg5Yzg4NDgwYzk3ZTliZDQxNDBiZTEzZDY3ZDdmN2UyM2MxMzliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAKQEAgLTMzLDkgKzMzLDE0IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorc3RhdGljIHNpemVfdCBpbW11dGFibGVFbGVtZW50QXR0cmli
dXRlRGF0YVNpemUodW5zaWduZWQgY291bnQpCit7CisgICAgcmV0dXJuIHNpemVvZihFbGVtZW50
QXR0cmlidXRlRGF0YSkgLSBzaXplb2Yodm9pZCopICsgc2l6ZW9mKEF0dHJpYnV0ZSkgKiBjb3Vu
dDsKK30KKwogUGFzc093blB0cjxFbGVtZW50QXR0cmlidXRlRGF0YT4gRWxlbWVudEF0dHJpYnV0
ZURhdGE6OmNyZWF0ZUltbXV0YWJsZShjb25zdCBWZWN0b3I8QXR0cmlidXRlPiYgYXR0cmlidXRl
cykKIHsKLSAgICB2b2lkKiBzbG90ID0gV1RGOjpmYXN0TWFsbG9jKHNpemVvZihFbGVtZW50QXR0
cmlidXRlRGF0YSkgLSBzaXplb2Yodm9pZCopICsgc2l6ZW9mKEF0dHJpYnV0ZSkgKiBhdHRyaWJ1
dGVzLnNpemUoKSk7CisgICAgdm9pZCogc2xvdCA9IFdURjo6ZmFzdE1hbGxvYyhpbW11dGFibGVF
bGVtZW50QXR0cmlidXRlRGF0YVNpemUoYXR0cmlidXRlcy5zaXplKCkpKTsKICAgICByZXR1cm4g
YWRvcHRQdHIobmV3IChzbG90KSBFbGVtZW50QXR0cmlidXRlRGF0YShhdHRyaWJ1dGVzKSk7CiB9
CiAKQEAgLTI4NiwxNSArMjkxLDE0IEBAIHZvaWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OmRldGFj
aEF0dHJPYmplY3RzRnJvbUVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgY29uc3QKIAogdm9pZCBF
bGVtZW50QXR0cmlidXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgc2l6
ZV90IGFjdHVhbFNpemUgPSBtX2lzTXV0YWJsZSA/IHNpemVvZihFbGVtZW50QXR0cmlidXRlRGF0
YSkgOiBpbW11dGFibGVFbGVtZW50QXR0cmlidXRlRGF0YVNpemUobV9hcnJheVNpemUpOworICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6RE9NLCBhY3R1YWxTaXplKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2lubGluZVN0eWxlRGVjbCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9hdHRyaWJ1dGVTdHlsZSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9jbGFzc05hbWVzKTsKLSAg
ICBpbmZvLmFkZE1lbWJlcihtX2lkRm9yU3R5bGVSZXNvbHV0aW9uKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2lkRm9yU3R5bGVSZXNvbHV0aW9uKTsKICAgICBpZiAobV9pc011
dGFibGUpCiAgICAgICAgIGluZm8uYWRkVmVjdG9yUHRyKG1fbXV0YWJsZUF0dHJpYnV0ZVZlY3Rv
cik7Ci0gICAgZWxzZQotICAgICAgICBpbmZvLmFkZFJhd0J1ZmZlcihtX2F0dHJpYnV0ZXMsIG1f
YXJyYXlTaXplICogc2l6ZW9mKEF0dHJpYnV0ZSkpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDAs
IGxlbiA9IGxlbmd0aCgpOyBpIDwgbGVuOyBpKyspCiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKCphdHRyaWJ1dGVJdGVtKGkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCmluZGV4IDA4
ZTY0NGZmNmU2YmFlMWY4ZWQyNGY3OTgzZTE1Yzk0ZmY5Zjg5ZjQuLmM4MGQ0MWZiYmQ5Y2FlMTA4
NTBiNGY5NzVmOGE3YTlhYTNlODYzYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcApAQCAtMTU4LDcgKzE1
OCw3IEBAIHZvaWQgRXZlbnQ6OnN0b3JlUmVzdWx0KGNvbnN0IFN0cmluZyYpCiB2b2lkIEV2ZW50
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3R5cGUp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdHlwZSk7CiAgICAgaW5mby5hZGRN
ZW1iZXIobV9jdXJyZW50VGFyZ2V0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3RhcmdldCk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91bmRlcmx5aW5nRXZlbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBhOWZlZmNhY2E2
M2ZmOTlhYjhiY2ZlZTIxZmYyNGE5N2E5MDYwNGUzLi4xZjA3ZWE2MjhiYWM1ZWQ3N2I1ZDg0ZDVi
ZmFhNTZhMmRmNWFiM2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5z
dHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmNwcApAQCAtMzcsMzAgKzM3LDM2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
dm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdChjb25zdCBTdHJpbmcmIHN0cmlu
ZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlKQordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFk
ZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25zdCYgc3RyaW5nLCBPYmpl
Y3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUgb3duaW5nVHlwZSkKIHsKLSAgICBhZGRPYmpl
Y3Qoc3RyaW5nLmltcGwoKSwgb2JqZWN0VHlwZSk7CisgICAgaWYgKCFzdHJpbmcgfHwgdmlzaXRl
ZChzdHJpbmcpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2lu
dGVyKQorICAgICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZW9mKFN0cmluZykp
OworICAgIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoc3RyaW5nLT5pbXBsKCksIG9iamVjdFR5
cGUsIGJ5UG9pbnRlcik7CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmpl
Y3QoY29uc3QgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlKQor
dm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29u
c3QgU3RyaW5nSW1wbCogY29uc3QmIHN0cmluZ0ltcGwsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwg
T3duaW5nVHlwZSBvd25pbmdUeXBlKQogewogICAgIGlmICghc3RyaW5nSW1wbCB8fCB2aXNpdGVk
KHN0cmluZ0ltcGwpKQogICAgICAgICByZXR1cm47CiAgICAgY291bnRPYmplY3RTaXplKG9iamVj
dFR5cGUsIHN0cmluZ0ltcGwtPnNpemVJbkJ5dGVzKCkpOwogfQogCi12b2lkIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6YWRkT2JqZWN0KGNvbnN0IEtVUkwmIHVybCwgT2JqZWN0VHlwZSBvYmplY3RU
eXBlKQordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdElt
cGwoY29uc3QgS1VSTCogY29uc3QmIHVybCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdU
eXBlIG93bmluZ1R5cGUpCiB7Ci0gICAgaWYgKHZpc2l0ZWQoJnVybCkpCisgICAgaWYgKCF1cmwg
fHwgdmlzaXRlZCh1cmwpKQogICAgICAgICByZXR1cm47Ci0gICAgYWRkT2JqZWN0KHVybC5zdHJp
bmcoKSwgb2JqZWN0VHlwZSk7Ci0gICAgaWYgKHVybC5pbm5lclVSTCgpKQotICAgICAgICBhZGRP
YmplY3QodXJsLmlubmVyVVJMKCksIG9iamVjdFR5cGUpOworICAgIGlmIChvd25pbmdUeXBlID09
IGJ5UG9pbnRlcikKKyAgICAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIHNpemVvZihL
VVJMKSk7CisgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KHVybC0+c3RyaW5nKCksIG9iamVjdFR5
cGUpOworICAgIGlmICh1cmwtPmlubmVyVVJMKCkpCisgICAgICAgIGFkZE9iamVjdCh1cmwtPmlu
bmVyVVJMKCksIG9iamVjdFR5cGUpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiBzdHJp
bmcsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgT3duaW5nVHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyog
Y29uc3QmIGF0b21pY1N0cmluZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlIG93
bmluZ1R5cGUpCiB7Ci0gICAgYWRkT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IFN0cmluZyY+KCpz
dHJpbmcpLCBvYmplY3RUeXBlKTsKKyAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgU3RyaW5nKiBjb25zdD4oYXRvbWljU3RyaW5nKSwgb2JqZWN0VHlw
ZSwgb3duaW5nVHlwZSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAppbmRleCBjMGMyZDM3NWFhOGNmYWZlYTIy
ZTNkOTNlZjAzZTQ4Mjg5MTk3MzEzLi4wZDgxOWY1ZWVhZDgzMjViMWMzMTI2YjliZWM5YWM4NmRm
ZTM4M2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCkBA
IC0xMDIsOSArMTAyLDcgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIE93bmluZ1RyYWl0czxU
Pjo6YWRkT2JqZWN0KHRoaXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7CiAgICAgfQotICAgIHZvaWQg
YWRkT2JqZWN0KGNvbnN0IFN0cmluZyYsIE9iamVjdFR5cGUpOwotICAgIHZvaWQgYWRkT2JqZWN0
KGNvbnN0IFN0cmluZ0ltcGwqLCBPYmplY3RUeXBlKTsKLSAgICB2b2lkIGFkZE9iamVjdChjb25z
dCBLVVJMJiwgT2JqZWN0VHlwZSk7CisKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3QoY29uc3QgVCYgdCwgT2JqZWN0VHlwZSBvd25lck9iamVjdFR5
cGUpIHsgT3duaW5nVHJhaXRzPFQ+OjphZGRJbnN0cnVtZW50ZWRPYmplY3QodGhpcywgdCwgb3du
ZXJPYmplY3RUeXBlKTsgfQogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9p
ZCBhZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50
T25seSA9IGZhbHNlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQg
YWRkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9u
bHkgPSBmYWxzZSk7CkBAIC0xMzcsMTAgKzEzNSwxMCBAQCBwcml2YXRlOgogICAgICAgICBzdGF0
aWMgdm9pZCBhZGRPYmplY3QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24s
IGNvbnN0IFQqIGNvbnN0JiB0LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkgeyBpbnN0cnVt
ZW50YXRpb24tPmFkZE9iamVjdEltcGwodCwgb3duZXJPYmplY3RUeXBlLCBieVBvaW50ZXIpOyB9
CiAgICAgfTsKIAotICAgIC8vIEZJWE1FOiBnZXQgcmlkIG9mIGFkZE9iamVjdChTdHJpbmcpCi0g
ICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFN0cmluZyogY29uc3QmIHN0
cmluZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlKSB7IGFkZE9iamVjdCgqc3Ry
aW5nLCBvYmplY3RUeXBlKTsgfQotICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChj
b25zdCBTdHJpbmdJbXBsKiBjb25zdCYgc3RyaW5nLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93
bmluZ1R5cGUpIHsgYWRkT2JqZWN0KHN0cmluZywgb2JqZWN0VHlwZSk7IH0KKyAgICB2b2lkIGFk
ZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25zdCYsIE9iamVjdFR5cGUs
IE93bmluZ1R5cGUpOworICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBT
dHJpbmdJbXBsKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwogICAgIHZvaWQgYWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiwgT2JqZWN0
VHlwZSwgT3duaW5nVHlwZSk7CisgICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNv
bnN0IEtVUkwqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CiAgICAgdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBUKiBjb25z
dCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2
b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgRGF0YVJlZjxUPiogY29uc3QmLCBP
YmplY3RUeXBlLCBPd25pbmdUeXBlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBh
ZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBPYmplY3RU
eXBlLCBPd25pbmdUeXBlKTsKQEAgLTIxMCwxMCArMjA4LDExIEBAIHB1YmxpYzoKICAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3JQdHIoY29uc3QgVmVjdG9y
VHlwZSogY29uc3QgdmVjdG9yKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRWZWN0b3Io
KnZlY3RvciwgbV9vYmplY3RUeXBlLCBmYWxzZSk7IH0KICAgICB2b2lkIGFkZFJhd0J1ZmZlcihj
b25zdCB2b2lkKiBjb25zdCYgYnVmZmVyLCBzaXplX3Qgc2l6ZSkgeyBtX21lbW9yeUluc3RydW1l
bnRhdGlvbi0+YWRkUmF3QnVmZmVyKGJ1ZmZlciwgbV9vYmplY3RUeXBlLCBzaXplKTsgfQogCi0g
ICAgdm9pZCBhZGRNZW1iZXIoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgbV9tZW1vcnlJbnN0cnVt
ZW50YXRpb24tPmFkZE9iamVjdChzdHJpbmcsIG1fb2JqZWN0VHlwZSk7IH0KLSAgICB2b2lkIGFk
ZE1lbWJlcihjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkT2JqZWN0KChjb25zdCBTdHJpbmcmKXN0cmluZywgbV9vYmplY3RUeXBlKTsgfQot
ICAgIHZvaWQgYWRkTWVtYmVyKGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZykgeyBtX21lbW9yeUlu
c3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0KHN0cmluZywgbV9vYmplY3RUeXBlKTsgfQotICAgIHZv
aWQgYWRkTWVtYmVyKGNvbnN0IEtVUkwmIHVybCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+
YWRkT2JqZWN0KHVybCwgbV9vYmplY3RUeXBlKTsgfQorICAgIC8vIExpbmsgdGltZSBndWFyZHMg
Zm9yIHNwZWNpYWwgY2FzZXMuCisgICAgdm9pZCBhZGRNZW1iZXIoY29uc3QgU3RyaW5nJik7Cisg
ICAgdm9pZCBhZGRNZW1iZXIoY29uc3QgQXRvbWljU3RyaW5nJik7CisgICAgdm9pZCBhZGRNZW1i
ZXIoY29uc3QgU3RyaW5nSW1wbCopOworICAgIHZvaWQgYWRkTWVtYmVyKGNvbnN0IEtVUkwmKTsK
IAogcHJpdmF0ZToKICAgICBNZW1vcnlPYmplY3RJbmZvKiBtX21lbW9yeU9iamVjdEluZm87CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAppbmRleCBhNjJkNGMyZGFhNzRhY2ZkYzBkNDhmY2Ey
YjFhY2E2ZDgxMmY0NWFkLi5kMWY1MjY5N2Y0YTRiN2FhZWQ0NGJiN2ZkNjY5ODMxNzMyNzNkMGJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1lLmgKQEAgLTUzLDEwICs1MywxMCBAQCBwdWJs
aWM6CiAgICAgICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpE
T00pOwotICAgICAgICAgICAgaW5mby5hZGRNZW1iZXIobV9wcmVmaXgpOwotICAgICAgICAgICAg
aW5mby5hZGRNZW1iZXIobV9sb2NhbE5hbWUpOwotICAgICAgICAgICAgaW5mby5hZGRNZW1iZXIo
bV9uYW1lc3BhY2UpOwotICAgICAgICAgICAgaW5mby5hZGRNZW1iZXIobV9sb2NhbE5hbWVVcHBl
cik7CisgICAgICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ByZWZpeCk7Cisg
ICAgICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xvY2FsTmFtZSk7CisgICAg
ICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWVzcGFjZSk7CisgICAgICAg
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xvY2FsTmFtZVVwcGVyKTsKICAgICAg
ICAgfQogICAgIHByaXZhdGU6CiAgICAgICAgIFF1YWxpZmllZE5hbWVJbXBsKGNvbnN0IEF0b21p
Y1N0cmluZyYgcHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcAppbmRleCAzYmU5YmI2NTM0NTBiNDIzMWU3N2IwZjVjNWVhZDlhM2NhZDdmYTRiLi5l
YTY5YmY1MmY4ODMzNzU5ZmI5ODgyY2M2NzhjMjAyOTc0ZDk5MzQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTM2NCw4ICszNjQsOCBAQCB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX211bHRpcGFy
dFN1YnJlc291cmNlTG9hZGVycyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1f
cGx1Z0luU3RyZWFtTG9hZGVycyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9z
dWJzdGl0dXRlRGF0YSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9wYWdlVGl0bGUuc3RyaW5nKCkp
OwotICAgIGluZm8uYWRkTWVtYmVyKG1fb3ZlcnJpZGVFbmNvZGluZyk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9wYWdlVGl0bGUuc3RyaW5nKCkpOworICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fb3ZlcnJpZGVFbmNvZGluZyk7CiAgICAgaW5mby5hZGRWZWN0b3Io
bV9yZXNwb25zZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3JpZ2luYWxS
ZXF1ZXN0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX29yaWdpbmFsUmVxdWVz
dENvcHkpOwpAQCAtMzc2LDcgKzM3Niw3IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAg
aW5mby5hZGRIYXNoTWFwKG1fcGVuZGluZ1N1YnN0aXR1dGVSZXNvdXJjZXMpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX3Jlc291cmNlc0NsaWVudEtub3dzQWJvdXQpOwogICAg
IGluZm8uYWRkVmVjdG9yKG1fcmVzb3VyY2VzTG9hZGVkRnJvbU1lbW9yeUNhY2hlRm9yQ2xpZW50
Tm90aWZpY2F0aW9uKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2NsaWVudFJlZGlyZWN0U291cmNl
Rm9ySGlzdG9yeSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jbGllbnRSZWRp
cmVjdFNvdXJjZUZvckhpc3RvcnkpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
bWFpblJlc291cmNlRGF0YSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CmluZGV4IDIzZTliNmNjOTI2YzE0MTZkZGFlODkzMGQzMzEwMTk5NDUyNGY2YWUuLmNhOWZmMDk0
N2E0MTczNmFhYTc4NjcwNTc2NGRkOGU5MmU5ZTFkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcApAQCAtMzIzNiwxMCArMzIzNiwxMCBAQCBOZXR3b3JraW5nQ29udGV4dCog
RnJhbWVMb2FkZXI6Om5ldHdvcmtpbmdDb250ZXh0KCkgY29uc3QKIHZvaWQgRnJhbWVMb2FkZXI6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlci5nZXQoKSk7Ci0gICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9wb2xpY3lEb2N1bWVudExvYWRlci5nZXQoKSk7Ci0gICAgaW5m
by5hZGRNZW1iZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Byb3Zpc2lvbmFsRG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fcG9saWN5RG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fb3V0Z29pbmdSZWZlcnJlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNo
U2V0KG1fb3BlbmVkRnJhbWVzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnN0aXR1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRl
RGF0YS5jcHAKaW5kZXggODA2YmQxZDhlZjZiMTZhNjk1NjBhMTRmZjIzYzM1ZTExOGQ2MTNkMC4u
YTI2OWMzNDk4MWVmNzg0OWQzMzE1Y2M3NmU5ZDk2NTM5YWY5ZDA4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCkBAIC0zOSwxMCArMzksMTAgQEAgdm9pZCBTdWJz
dGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX21pbWVU
eXBlKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3RleHRFbmNvZGluZyk7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV9mYWlsaW5nVVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc3BvbnNlVVJMKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVUeXBlKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3RleHRFbmNvZGluZyk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9mYWlsaW5nVVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Jlc3BvbnNlVVJMKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDdlNDRlYmMyOGFlYTQ2NzMyNTkz
NTFmOTNkNjY4ZDMzNmEzODdlYTguLjQ5OGQyZmE1N2Q4ZTIyNzBhNjJjZDM2NDI0MDkyNDI1MmU1
NjQ2MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NT
dHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NT
U3R5bGVTaGVldC5jcHAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIENhY2hlZENTU1N0eWxlU2hl
ZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
CiAgICAgQ2FjaGVkUmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wYXJzZWRTdHlsZVNoZWV0Q2FjaGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1f
ZGVjb2RlZFNoZWV0VGV4dCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kZWNv
ZGVkU2hlZXRUZXh0KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5jcHAKaW5kZXggYzYxOWRkYWQ2NjMyOGE1ODQ5YmNmZWE0ZTQ5ZDkyYThh
NDk4YzA0ZC4uZDdhYmNhZTg0MGM3OTZkNjFhYjYzNjA0NWZkNWFmNWRkNzJjNzkxNiAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04MDYs
MTEgKzgwNiwxMSBAQCB2b2lkIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2Fj
aGVkUmVzb3VyY2UpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2VSZXF1ZXN0KTsKICAg
ICBpbmZvLmFkZEhhc2hTZXQobV9jbGllbnRzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2FjY2Vw
dCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hY2NlcHQpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9hZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jl
c3BvbnNlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc3BvbnNlKTsKICAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RhdGEpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1fY2FjaGVkTWV0YWRhdGEuZ2V0KCkpOworICAgIGluZm8uYWRkTWVtYmVyKG1fY2FjaGVkTWV0
YWRhdGEpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dEluQWxsUmVzb3Vy
Y2VzTGlzdCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmV2SW5BbGxSZXNv
dXJjZXNMaXN0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25leHRJbkxpdmVS
ZXNvdXJjZXNMaXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDdiNTY0NjUzODY2NmMzZmU0MWEzNWJmYjAwNjM4
MmE5OGFiMzM5ODYuLmIyNThjMDU3ZmYzYWYxMTE5NTgwZGUxYWY2MDg0MDUzMmY2YTBhNzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcApAQCAtODgzLDcgKzg4Myw3IEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pCiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpMb2FkZXIpOwogICAgIGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50UmVzb3Vy
Y2VzKTsKICAgICBmb3IgKERvY3VtZW50UmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGkgPSBt
X2RvY3VtZW50UmVzb3VyY2VzLmJlZ2luKCk7IGkgIT0gbV9kb2N1bWVudFJlc291cmNlcy5lbmQo
KTsgKytpKSB7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsKKyAgICAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+Zmlyc3QpOwogICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihpLT5zZWNvbmQpOwogICAgIH0KICAgICBpbmZvLmFkZEhhc2hTZXQobV92
YWxpZGF0ZWRVUkxzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTY3JpcHQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlw
dC5jcHAKaW5kZXggN2U3ZjI2OTA1YTFiYTIzNjgzMDAwMDFlOWZiY2FmNjhiNTE2ZjM2My4uMTJj
OWZlNTczMmYwMWZlZDFjOTI4YjRlOWU5MDdhMTBhNzFmY2E5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAKQEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lk
IENhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlU2NyaXB0
KTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zY3JpcHQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fc2NyaXB0KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwogI2lm
IFVTRShKU0MpCiAgICAgaW5mby5hZGRNZW1iZXIobV9zb3VyY2VQcm92aWRlckNhY2hlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNoYWRlci5jcHAKaW5kZXggNzJlYjVj
MDUzYWEyZTFjYWQyYjU3OTgxNmU3MjU5YzMxOTdjNjdmNi4uYTMxYWJkMDUwMzJkZTA1YjI3ZDRj
NmRkNTM1MDhhNWRmY2JjZjJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFNoYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFNoYWRlci5jcHAKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBDYWNoZWRTaGFkZXI6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZVNoYWRlcik7CiAgICAgQ2FjaGVkUmVzb3VyY2U6
OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkTWVtYmVy
KG1fZGVjb2Rlcik7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zaGFkZXJTdHJpbmcpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFhTTFN0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFhTTFN0eWxlU2hlZXQuY3BwCmluZGV4IGQxNGQ1ZjJhMzc5NDA5YmE4MjA3NzEwYThhNDI5ZWRh
MjI3NzRlMmIuLjBlNzcxNjE4YmM1ODkxYjM4NjYxN2M3MTk3Yjk3NWIzZGVjZjM2NTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5j
cHAKQEAgLTEwMSw3ICsxMDEsNyBAQCB2b2lkIENhY2hlZFhTTFN0eWxlU2hlZXQ6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pCiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDYWNoZWRSZXNvdXJjZVhTTFQpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3NoZWV0
KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NoZWV0KTsKICAgICBpbmZvLmFk
ZE1lbWJlcihtX2RlY29kZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01l
bW9yeUNhY2hlLmNwcAppbmRleCA1MGY0NWNkMTIyZGY2ZTY5YzViNzYxZTAzMGExZTg4ZDhjOGIx
YTVkLi42NjExMWQ3M2Y3ZDFmYjAxMjE5NTZhZWFmZDEwMzdhZGJkMjhiMDExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTcyMSw3ICs3MjEsNyBA
QCB2b2lkIE1lbW9yeUNhY2hlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSGFzaE1hcChtX3Jlc291cmNlcyk7
CiAgICAgQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0X2l0ZXJhdG9yIGUgPSBtX3Jlc291cmNlcy5l
bmQoKTsKICAgICBmb3IgKENhY2hlZFJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBpID0gbV9y
ZXNvdXJjZXMuYmVnaW4oKTsgaSAhPSBlOyArK2kpIHsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIo
aS0+Zmlyc3QpOworICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpLT5maXJzdCk7
CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPnNlY29uZCk7CiAgICAgfQog
ICAgIGluZm8uYWRkVmVjdG9yKG1fYWxsUmVzb3VyY2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwCmluZGV4IGE4
MjkwNzhhZWEwNjA1NzAxNzRhNmEzYTdmMGIxZTMzNjU2OWZiYWYuLjY0ZWJjMThjOGE3NDUwZGY2
NGE2MjBhNjZkM2UzNjgzMTdlMWM5NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcApAQCAtNDQ3LDggKzQ0Nyw4
IEBAIGJvb2wgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6aXNDb25kaXRpb25hbCgpIGNvbnN0CiB2b2lk
IFJlc291cmNlUmVxdWVzdEJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2ZpcnN0UGFydHlG
b3JDb29raWVzKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9odHRwTWV0aG9kKTsKICAgICBpbmZvLmFkZEhh
c2hNYXAobV9odHRwSGVhZGVyRmllbGRzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1hcEVu
dHJpZXMobV9odHRwSGVhZGVyRmllbGRzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKaW5kZXggZmEwNTM4MWNk
NWQ3MDM0ZjJlOTY2OWU0ZGQ0YTU2NWE5ZDRiNzJkNy4uZThkN2NhNDMzNjllNjkxOTY5ODI4ZDI0
ZTM0MTM4MGVmMzIwN2RmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAKQEAgLTU3MSw3ICs1NzEsNyBAQCB2
b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpsYXp5SW5pdChJbml0TGV2ZWwgaW5pdExldmVsKSBj
b25zdAogdm9pZCBSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246Okxv
YWRlcik7Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fdXJsKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21pbWVU
eXBlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RleHRFbmNvZGluZ05hbWUp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3VnZ2VzdGVkRmlsZW5hbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUlu
aGVyaXRlZERhdGEuY3BwCmluZGV4IDE0Y2I2N2Q4OGNlNmM1MTc5OTViMWViMGQxZjM4OGY4M2Fl
ZTY0MDEuLjYyZmU1Yjg5ZjI2ZmNlOTJhNjIzMGFiNmM4NDVlY2JlZGUzMDhjYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJp
dGVkRGF0YS5jcHAKQEAgLTI2NiwxMyArMjY2LDEzIEBAIHZvaWQgU3R5bGVSYXJlSW5oZXJpdGVk
RGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIGluZm8uYWRkTWVtYmVyKHRleHRTaGFkb3cp
OwotICAgIGluZm8uYWRkTWVtYmVyKGhpZ2hsaWdodCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIoaGlnaGxpZ2h0KTsKICAgICBpbmZvLmFkZE1lbWJlcihjdXJzb3JEYXRhKTsKLSAg
ICBpbmZvLmFkZE1lbWJlcihoeXBoZW5hdGlvblN0cmluZyk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bG9jYWxlKTsKLSAgICBpbmZvLmFkZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0b21NYXJrKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihoeXBoZW5hdGlvblN0cmluZyk7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobG9jYWxlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcih0ZXh0RW1waGFzaXNDdXN0b21NYXJrKTsKICAgICBpbmZvLmFkZE1lbWJlcihxdW90
ZXMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fbGluZUdyaWQpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fbGluZUdyaWQpOwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAg
IGluZm8uYWRkTWVtYmVyKG1fdmFyaWFibGVzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEu
Y3BwCmluZGV4IDFlMmY0NDg4ZGI0ZGIxNDJmM2ZlZmYxMjllZDFkMTQwZmRkMWUyYjIuLjViODAw
ZDBhY2JhYTY0OTZlNTY0MjBmOTBkYjI4MDQzYzgyYzUxZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKQEAgLTMyMyw4ICszMjMsOCBAQCB2b2lkIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdAogICAgIGlu
Zm8uYWRkTWVtYmVyKG1fdHJhbnNpdGlvbnMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcFNo
YXBlSW5zaWRlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBTaGFwZU91dHNpZGUpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fZmxvd1RocmVhZCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yZWdp
b25UaHJlYWQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmxvd1RocmVhZCk7
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZWdpb25UaHJlYWQpOwogfQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
UGFpbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcAppbmRleCA0ZDg0ZjUy
MjE4YjFiYzgxZGMyNmQ3Njg2ZThhZDE0ZmZjZTc4YmJlLi5iYTc0NDM1ODNiYzE1ZDQ3ZTljNGYx
N2EzMDU0Yjc5OWYyNDYxMTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFp
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKQEAgLTExNSw3ICsx
MTUsNyBAQCBQYXNzUmVmUHRyPFNWR1BhaW50PiBTVkdQYWludDo6Y2xvbmVGb3JDU1NPTSgpIGNv
bnN0CiB2b2lkIFNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8g
aW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7
Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmkpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fdXJpKTsKIH0KIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159674</attachid>
            <date>2012-08-21 06:11:44 -0700</date>
            <delta_ts>2012-08-21 06:44:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94580-20120821171103.patch</filename>
            <type>text/plain</type>
            <size>44155</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg1MGFkOWI3YTE0NDUx
ZDU0NDE5NzBlMTBkNmJlOGQwNTQ1OTkyNS4uZjI0NGNhNGNhZWM5MDYzMzdlOTdmYjBkNTczMGI1
OGVlZDQ2NjkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMiBAQAorMjAxMi0wOC0yMSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiByZW5hbWUgYWRkTWVtYmVyIGZvciBzdHJpbmdzIGFuZCBLVVJMIHRvIGFkZElu
c3RydW1lbnRlZE1lbWJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk0NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRHJpdmUgYnkgZml4OiBpbW11dGFibGUgRWxlbWVudEF0dHJ5YnV0ZURhdGEgdXNl
cyB0aGUgc2FtZSB0cmljayB3aXRoIHBsYWNlbWVudCBuZXcgYXMgaW4gU3R5bGVQcm9wZXJ0eVNl
dC4KKworICAgICAgICAqIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2hhcnNldFJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ZvbnRG
YWNlU3JjVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTcmNWYWx1ZTo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTRnVuY3Rpb25W
YWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGdW5jdGlvblZhbHVlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ltYWdlU2V0VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltYWdlVmFsdWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDbG9uZUNTU1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVZhbHVlLmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NWYXJpYWJsZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRGZWF0dXJlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAg
ICogY3NzL01lZGlhUXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVw
b3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBjc3MvU3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUlt
cG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVT
aGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKToKKyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRy
aWJ1dGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1
dGVEYXRhOjpjcmVhdGVJbW11dGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJp
YnV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAg
ICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoTWVtb3J5SW5zdHJ1
bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
SW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAgICAgIChNZW1vcnlDbGFzc0luZm8pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRJbnN0cnVtZW50ZWRNZW1iZXIpOgor
ICAgICAgICAqIGRvbS9RdWFsaWZpZWROYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpRdWFsaWZp
ZWROYW1lOjpRdWFsaWZpZWROYW1lSW1wbDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgor
ICAgICAgICAqIGxvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dWJzdGl0dXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNo
ZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZENTU1N0
eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OnJlcG9y
dE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhY2hlZFNjcmlwdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGxvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFhTTFN0eWxlU2hlZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkWFNMU3R5bGVT
aGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9NZW1vcnlD
YWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNoZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0QmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3RCYXNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlQmFzZTo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogc3ZnL1NWR1BhaW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1BhaW50OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorCiAyMDEy
LTA4LTIwICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBb
VjhdIE1vdmUgU3RyaW5nIHJlbGF0ZWQgY29kZSBpbiBWOEJpbmRpbmcgdG8gYSBzZXBhcmF0ZSBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcAppbmRleCA0OTI1YjM5MzgzYWEx
NThkOWQzYjVjZTQzMmFiMWQzNGViNzU5ZTk2Li42Mzc3N2JiNGRkZGRhMDk3NjE2ZjhmYTBhYmMx
YmE1Yzc3ZmI5NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKQEAgLTk3
LDcgKzk3LDcgQEAgdm9pZCBDU1NDYW52YXNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEkKIHsKICAgICBNZW1vcnlDbGFzc0lu
Zm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7CiAgICAgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25hbWUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fZWxlbWVudCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDaGFyc2V0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUu
Y3BwCmluZGV4IGI3ZDIwMWM4NmRkYTNiMTllZDVlZjU1MzU4NzQxMGM0NjQ2MTcwN2QuLmEzYzNl
MWI5YWE1NDBkMWU2MDRmOGQ1NmY0ZjEyY2MzZWIwODcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NoYXJzZXRSdWxlLmNwcApAQCAtNDAsNyArNDAsNyBAQCB2b2lkIENTU0NoYXJzZXRSdWxlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2VuY29k
aW5nKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29kaW5nKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU3JjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3Jj
VmFsdWUuY3BwCmluZGV4IGEwMDExNWRiMTQwMjEzNWQxZmFkOTZkNjMyYTVhZGU4YzkwZDhhMDEu
LmRiNGViOWIzNjQ3ZGQ1NjNhY2YwN2VkOTA5NTllZTYyMDE0NjhhNzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTEwMCw4ICsxMDAsOCBAQCBDYWNo
ZWRGb250KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVu
dCkKIHZvaWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcmVzb3VyY2UpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fZm9ybWF0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Jlc291
cmNlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zvcm1hdCk7CiAgICAgLy8g
RklYTUU6IGFkZCBtX2NhY2hlZEZvbnQgd2hlbiBNZW1vcnlDYWNoZSBpcyBpbnN0cnVtZW50ZWQu
CiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3N2Z0ZvbnRGYWNlRWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
RnVuY3Rpb25WYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5j
cHAKaW5kZXggNjI4YTk4OWJhNzc5NjQyYzQ4NmI0OTEwZjcwMDI0OWI5OWQ4Nzk3Ny4uOWY4ZjI0
ZjMwMzBlMWNmZmQ4YmZlMjM2NWYyMGU4ZTM1MWI3Y2YzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGdW5jdGlvblZhbHVlLmNwcApAQCAtNTMsNyArNTMsNyBAQCBTdHJpbmcgQ1NTRnVuY3Rpb25W
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIENTU0Z1bmN0aW9uVmFsdWU6OnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX25h
bWUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hcmdzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlU2V0VmFsdWUuY3BwCmluZGV4IGMzMTYzZjU1YzcxYTc5ZmYzZTdiMWZmNDQ5ZWQyZTIyODhj
OGM5NjEuLjI4NDUxYTI1NDQ0YjBlZTdmOWZmZDhhODUyYjY3ZjRhNDQ2Y2E1ODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKQEAgLTE3NCw3ICsxNzQsNyBAQCB2b2lk
IENTU0ltYWdlU2V0VmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplYwogdm9pZCBDU1NJbWFnZVNldFZhbHVlOjpJbWFnZVdpdGhTY2Fs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIoaW1hZ2VV
UkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGltYWdlVVJMKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0lt
YWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmluZGV4
IDU0MjE5MmQ1ZDJkZDA1NWU0NmY5MzdkOTE0MjQzOTc3MjhiZjlkMGUuLmI3ZjRkNzNjZDg3MWZl
YzZiMGJhODU1MTQ5NzI5NTllNDA0MGE0YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1
ZS5jcHAKQEAgLTEyOSw3ICsxMjksNyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NJbWFnZVZh
bHVlOjpjbG9uZUZvckNTU09NKCkgY29uc3QKIHZvaWQgQ1NTSW1hZ2VWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiAgICAgLy8gTm8gbmVlZCB0
byByZXBvcnQgbV9pbWFnZSBhcyBpdCBpcyBjb3VudGVkIGFzIHBhcnQgb2YgUmVuZGVyQXJlbmEu
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IGJiZDY3
MDBkMzc3Y2Q1Y2Q5YzQyNDlkMjZkMzlmYWQ1YjgyNTU4MjQuLmRjNTdmYThmMzcwNGZiMDI0NDQ0
ZTM3NzBhNWQ2OTc3ZGVhN2ZjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmNwcApAQCAtMTI1Miw3ICsxMjUyLDcgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamUKICAg
ICBjYXNlIENTU19WQVJJQUJMRV9OQU1FOgogI2VuZGlmCiAgICAgICAgIC8vIEZJWE1FOiBkZXRl
Y3Qgb3RoZXIgY2FzZXMgd2hlbiBtX3ZhbHVlIGlzIFN0cmluZ0ltcGwqCi0gICAgICAgIGluZm8u
YWRkTWVtYmVyKG1fdmFsdWUuc3RyaW5nKTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV92YWx1ZS5zdHJpbmcpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENTU19DT1VO
VEVSOgogICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ZhbHVlLmNvdW50ZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2hlZXQuY3BwCmluZGV4IGYxNmY4YmJiMzNjM2ZhZjkxMWI2OTcwNDE5MjBh
YjlkNTZkZjIxY2MuLmVjMGViZTZmYWZkYmU3MGU1ZTJmNDVkNTE2Y2RlOGQzNmQwZTNiY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lk
IENTU1N0eWxlU2hlZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVudHMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdGl0
bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGl0bGUpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX293bmVyTm9kZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9vd25lclJ1bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggZGExYWMzMzE0M2Zh
MjU5NDg2MTlhOThmOTRjZmQ2MmMyM2U5OTk2OS4uZWUwYTE4Y2Y1MDI2ZmY3MGY2NGUzODliMTc5
MDRhZGQ2Y2UwMDA1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC04Miw3ICs4Miw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjpDU1MpOwotICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2Nzc1RleHQpOworICAgICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Nzc1RleHQpOwogICAgIH0KIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVWYWx1ZS5oCmluZGV4IGUwYjk3ZDNmZjg1NDgzZTE3ZDRl
NTI0ZGE2MTYzMTZlNTUyYzhiMjEuLjMwMjBlMWUxYjc4YmEzZGI2NmU1ZWM1NWI0NDljZDdlMmFl
YTcyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlVmFsdWUuaApAQCAtNTEsOCArNTEs
OCBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICB7CiAgICAgICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6Q1NTKTsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIobV9uYW1lKTsKLSAgICAgICAgaW5m
by5hZGRNZW1iZXIobV92YWx1ZSk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fbmFtZSk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwog
ICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVh
dHVyZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcApp
bmRleCA0OTFiMTkyZTYzMTQ5ZDhmMTAxYTEyMmY1NTA1MDdmZjA5NGRiYjA0Li40MTNlYWE0YTI2
MDAzZjM5ZGI3YTUyZWI5MjZmY2I1ZGFiOGQ1N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRG
ZWF0dXJlVmFsdWUuY3BwCkBAIC01Myw3ICs1Myw3IEBAIFN0cmluZyBGb250RmVhdHVyZVZhbHVl
OjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgRm9udEZlYXR1cmVWYWx1ZTo6cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdGFnKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3RhZyk7CiB9CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5LmNwcAppbmRleCAxYWFiZDY5ZDRlNzQ3MjBjYzZkMGRjZDNmNTkxOTljMjdh
ZTk5NDZmLi40NGMzMmMxNDI2MWIzZDVlNDNiYmI3ZGJkZjBmNGUxOTEyZDU4MjI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnkuY3BwCkBAIC0xMzcsOSArMTM3LDkgQEAgU3RyaW5nIE1lZGlhUXVl
cnk6OmNzc1RleHQoKSBjb25zdAogdm9pZCBNZWRpYVF1ZXJ5OjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX21lZGlhVHlwZSk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVR5cGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
VmVjdG9yUHRyKG1fZXhwcmVzc2lvbnMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc2VyaWFsaXph
dGlvbkNhY2hlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlcmlhbGl6YXRp
b25DYWNoZSk7CiB9CiAKIH0gLy9uYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhw
LmNwcAppbmRleCAzYzc3ODk1NmNlNGM4ZDBjNWUxMmQ4ZTU0YTI3MTQxM2E2NjhmNDVkLi40Yjkx
OTk3ZDcwM2EyZTk4MzU2NDUzMDBmNzM0ZDI5ZjY5MDgxNzc1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFeHAuY3BwCkBAIC0xMTIsOCArMTEyLDggQEAgU3RyaW5nIE1lZGlhUXVlcnlFeHA6
OnNlcmlhbGl6ZSgpIGNvbnN0CiB2b2lkIE1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5
Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFGZWF0dXJlKTsKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3NlcmlhbGl6YXRpb25DYWNoZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9tZWRpYUZlYXR1cmUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3ZhbHVlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZUlt
cG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcAppbmRleCAy
NDk0MjUyMWQwYzA1NDk2YzEyOGYyNWM5NGZkOWIzZGM0ZDAxNjVhLi4zODIzMTNlNjc3MzFlOTA5
NjczNjA4YTQ2OTllZDhlNGZhNjdhMjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlSW1wb3J0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlSW1w
b3J0LmNwcApAQCAtMTM0LDcgKzEzNCw3IEBAIHZvaWQgU3R5bGVSdWxlSW1wb3J0OjpyZXF1ZXN0
U3R5bGVTaGVldCgpCiB2b2lkIFN0eWxlUnVsZUltcG9ydDo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc3RySHJlZik7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHJIcmVmKTsKICAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9zdHlsZVNoZWV0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50
cy5jcHAKaW5kZXggOTZiNGU1NGZhYjk4YzE2ODhkZWU4MzY5Yjc4YjM3NzkzYTVjOWZjOC4uY2Mz
Y2VjNTJhNmExYTM3NThhM2MxYjc5ZDhmNTEwNWJkYzBhYTJjZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTQ4Niw4ICs0ODYsOCBAQCB2b2lkIFN0eWxl
U2hlZXRDb250ZW50czo6cmVtb3ZlZEZyb21NZW1vcnlDYWNoZSgpCiB2b2lkIFN0eWxlU2hlZXRD
b250ZW50czo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9vcmlnaW5hbFVSTCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0
UnVsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFVSTCk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbmNvZGluZ0Zyb21DaGFyc2V0UnVsZSk7
CiAgICAgaW5mby5hZGRWZWN0b3IobV9pbXBvcnRSdWxlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVzKTsKICAgICBpbmZvLmFkZEhhc2hNYXAobV9uYW1lc3Bh
Y2VzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKaW5k
ZXggNWMwOTMwMjJjMzZkNjMxNjJhZWI1NjJkMjdiNmJiYjBkMWJjYmZlYy4uODAwNjkzMjZmYmYz
MmRiODQyNDAxOTk4ZmU3MTczMzA4M2Y1ODE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU0tleWZyYW1lUnVsZS5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBTdHlsZUtleWZy
YW1lOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3Byb3BlcnRpZXMpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fa2V5KTsKKyAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2tleSk7CiB9CiAKIFdlYktpdENTU0tleWZyYW1l
UnVsZTo6V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKFN0eWxlS2V5ZnJhbWUqIGtleWZyYW1lLCBXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlKiBwYXJlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKaW5kZXggMzgzMDY4ZGE2MjRmMWM4ZTkzODgxMzI3NTI5ZDZk
ZDI4ZjFkNGY2My4uY2E0N2Y3OWJkZDlkN2QzOGMxNTQ2MDE0NDYyYjY4MmM4ODBkNjZjNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcApAQCAtOTEs
NyArOTEsNyBAQCB2b2lkIFN0eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iagogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NT
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2tleWZyYW1lcyk7Ci0gICAgaW5m
by5hZGRNZW1iZXIobV9uYW1lKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX25h
bWUpOwogfQogCiBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlOjpXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
KFN0eWxlUnVsZUtleWZyYW1lcyoga2V5ZnJhbWVzUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3Bw
CmluZGV4IDNlMTZiYmQzMmIwY2FjODcwMjNjNzNkZGZhMTUzNjVmZWJlZjVjNzAuLmQyZmJkZjE4
Y2UxY2U0ZjExODQ3ZDViYmMzNjdkZWE4MjI5N2JjYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgU3Ry
aW5nIFdlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9p
ZCBXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fdXJsKTsKICAgICAvLyBGSVhNRTogYWRkIG1fZG9jdW1lbnQgd2hlbiBj
YWNoZWQgcmVzb3VyY2VzIGFyZSBpbnN0cnVtZW50ZWQuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTU2hhZGVyVmFsdWUuY3BwCmluZGV4IDQ4MmEzNjA4OTY4OTVjZGE1NWJhOTdl
NzI3OTc0ZDMwMTgxOGIwMTYuLmI4OWIxODM0ZWRhYTRiYjgxNGI2YjNhZTk2MzlmOTc5OGY2Y2Yx
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNwcApAQCAt
ODMsNyArODMsNyBAQCBTdHJpbmcgV2ViS2l0Q1NTU2hhZGVyVmFsdWU6OmN1c3RvbUNzc1RleHQo
KSBjb25zdAogdm9pZCBXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAg
TWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiB9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmlidXRlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vQXR0cmlidXRlLmgKaW5kZXggNzE3NGJiYWFkYjM0ZTQwODgxYTk0ZWNiYTdi
ODRhZTE2NDM5MzJhZC4uODFhMGJiZGE3ZmEzOGY0OWMyYzRkM2Y1NjcwYjQwMzc4N2M4ZjI1OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkRPTSk7CiAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fbmFtZSk7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUpOworICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlKTsKICAgICB9CiAKIHByaXZhdGU6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKaW5kZXggOTFmNWFjNzBmOGM2OTFiOGYzZWZi
NzYzOTFjNjQyYjQwYmUwNmQwZC4uZGJjNmNlMTVkOTE5NzQ2ZGFhNjRmNmRmZWFmNWMyOGJiMDZl
NTg1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcApAQCAtOTYsNyArOTYsNyBA
QCB2b2lkIENoYXJhY3RlckRhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwogICAgIE5v
ZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kYXRhKTsKIH0K
IAogdm9pZCBDaGFyYWN0ZXJEYXRhOjphcHBlbmREYXRhKGNvbnN0IFN0cmluZyYgZGF0YSwgRXhj
ZXB0aW9uQ29kZSYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBiMGYzODdhMjVjMTg5NzQ1
YmM1YjJiMTg1YTQ4Y2NlZTIwODIyMTQzLi5kOTdiZDM0YTI1NjQ2YjZlMjZiNTkwY2JkNTdiNmI2
NjdjYjA0YTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYxMDksMTQgKzYxMDksMTQg
QEAgdm9pZCBEb2N1bWVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0
eWxlUmVzb2x2ZXIpOwogICAgIENvbnRhaW5lck5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOwogICAgIGluZm8uYWRkVmVjdG9yKG1fY3VzdG9tRm9udHMpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fdXJsKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Jhc2VVUkwpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fYmFzZVVSTE92ZXJyaWRlKTsKLSAgICBpbmZvLmFkZE1lbWJlciht
X2Jhc2VFbGVtZW50VVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Nvb2tpZVVSTCk7Ci0gICAg
aW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7Ci0gICAgaW5mby5hZGRNZW1i
ZXIobV9kb2N1bWVudFVSSSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9iYXNlVGFyZ2V0KTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9iYXNlVVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X2Jhc2VVUkxPdmVycmlkZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9iYXNl
RWxlbWVudFVSTCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb29raWVVUkwp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnRVUkkpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZVRhcmdldCk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9mcmFtZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9jYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9lbGVtU2hlZXQpOwpAQCAtNjEyOCwxMyArNjEyOCwxMyBAQCB2b2lkIERvY3VtZW50OjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIGluZm8uYWRkSGFzaFNldChtX25vZGVJdGVyYXRvcnMpOwogICAgIGluZm8uYWRkSGFzaFNl
dChtX3Jhbmdlcyk7CiAgICAgaW5mby5hZGRMaXN0SGFzaFNldChtX3N0eWxlU2hlZXRDYW5kaWRh
dGVOb2Rlcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9wcmVmZXJyZWRTdHlsZXNoZWV0U2V0KTsK
LSAgICBpbmZvLmFkZE1lbWJlcihtX3NlbGVjdGVkU3R5bGVzaGVldFNldCk7Ci0gICAgaW5mby5h
ZGRNZW1iZXIobV90aXRsZS5zdHJpbmcoKSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yYXdUaXRs
ZS5zdHJpbmcoKSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV94bWxFbmNvZGluZyk7Ci0gICAgaW5m
by5hZGRNZW1iZXIobV94bWxWZXJzaW9uKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2NvbnRlbnRM
YW5ndWFnZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmVmZXJyZWRTdHls
ZXNoZWV0U2V0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NlbGVjdGVkU3R5
bGVzaGVldFNldCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV90aXRsZS5zdHJp
bmcoKSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yYXdUaXRsZS5zdHJpbmco
KSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV94bWxFbmNvZGluZyk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV94bWxWZXJzaW9uKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX2NvbnRlbnRMYW5ndWFnZSk7CiAgICAgaW5mby5hZGRIYXNoTWFw
KG1fZG9jdW1lbnROYW1lZEl0ZW1Db2xsZWN0aW9ucyk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1f
d2luZG93TmFtZWRJdGVtQ29sbGVjdGlvbnMpOwogI2lmIEVOQUJMRShEQVNIQk9BUkRfU1VQUE9S
VCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCmluZGV4IGI3
NDNjNWUzYjRhY2I5NWQ1Yjk5NTc5ZjIxM2E2NzhiNjg3OGI1ZDYuLjdkODljODg0ODBjOTdlOWJk
NDE0MGJlMTNkNjdkN2Y3ZTIzYzEzOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50QXR0cmlidXRlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRB
dHRyaWJ1dGVEYXRhLmNwcApAQCAtMzMsOSArMzMsMTQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitzdGF0aWMgc2l6ZV90IGltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6ZSh1bnNp
Z25lZCBjb3VudCkKK3sKKyAgICByZXR1cm4gc2l6ZW9mKEVsZW1lbnRBdHRyaWJ1dGVEYXRhKSAt
IHNpemVvZih2b2lkKikgKyBzaXplb2YoQXR0cmlidXRlKSAqIGNvdW50OworfQorCiBQYXNzT3du
UHRyPEVsZW1lbnRBdHRyaWJ1dGVEYXRhPiBFbGVtZW50QXR0cmlidXRlRGF0YTo6Y3JlYXRlSW1t
dXRhYmxlKGNvbnN0IFZlY3RvcjxBdHRyaWJ1dGU+JiBhdHRyaWJ1dGVzKQogewotICAgIHZvaWQq
IHNsb3QgPSBXVEY6OmZhc3RNYWxsb2Moc2l6ZW9mKEVsZW1lbnRBdHRyaWJ1dGVEYXRhKSAtIHNp
emVvZih2b2lkKikgKyBzaXplb2YoQXR0cmlidXRlKSAqIGF0dHJpYnV0ZXMuc2l6ZSgpKTsKKyAg
ICB2b2lkKiBzbG90ID0gV1RGOjpmYXN0TWFsbG9jKGltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVE
YXRhU2l6ZShhdHRyaWJ1dGVzLnNpemUoKSkpOwogICAgIHJldHVybiBhZG9wdFB0cihuZXcgKHNs
b3QpIEVsZW1lbnRBdHRyaWJ1dGVEYXRhKGF0dHJpYnV0ZXMpKTsKIH0KIApAQCAtMjg2LDE1ICsy
OTEsMTQgQEAgdm9pZCBFbGVtZW50QXR0cmlidXRlRGF0YTo6ZGV0YWNoQXR0ck9iamVjdHNGcm9t
RWxlbWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogCiB2b2lkIEVsZW1lbnRBdHRyaWJ1dGVE
YXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewotICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBzaXplX3QgYWN0dWFsU2l6ZSA9
IG1faXNNdXRhYmxlID8gc2l6ZW9mKEVsZW1lbnRBdHRyaWJ1dGVEYXRhKSA6IGltbXV0YWJsZUVs
ZW1lbnRBdHRyaWJ1dGVEYXRhU2l6ZShtX2FycmF5U2l6ZSk7CisgICAgTWVtb3J5Q2xhc3NJbmZv
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00s
IGFjdHVhbFNpemUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW5saW5lU3R5
bGVEZWNsKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F0dHJpYnV0ZVN0eWxl
KTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2NsYXNzTmFtZXMpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1faWRGb3JTdHlsZVJlc29sdXRpb24pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1faWRGb3JTdHlsZVJlc29sdXRpb24pOwogICAgIGlmIChtX2lzTXV0YWJsZSkKICAgICAgICAg
aW5mby5hZGRWZWN0b3JQdHIobV9tdXRhYmxlQXR0cmlidXRlVmVjdG9yKTsKLSAgICBlbHNlCi0g
ICAgICAgIGluZm8uYWRkUmF3QnVmZmVyKG1fYXR0cmlidXRlcywgbV9hcnJheVNpemUgKiBzaXpl
b2YoQXR0cmlidXRlKSk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMCwgbGVuID0gbGVuZ3RoKCk7
IGkgPCBsZW47IGkrKykKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoKmF0dHJp
YnV0ZUl0ZW0oaSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKaW5kZXggMDhlNjQ0ZmY2ZTZiYWUxZjhl
ZDI0Zjc5ODNlMTVjOTRmZjlmODlmNC4uYzgwZDQxZmJiZDljYWUxMDg1MGI0Zjk3NWY4YTdhOWFh
M2U4NjNhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnQuY3BwCkBAIC0xNTgsNyArMTU4LDcgQEAgdm9pZCBFdmVu
dDo6c3RvcmVSZXN1bHQoY29uc3QgU3RyaW5nJikKIHZvaWQgRXZlbnQ6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpET00pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdHlwZSk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV90eXBlKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2N1cnJlbnRU
YXJnZXQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fdGFyZ2V0KTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3VuZGVybHlpbmdFdmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9N
ZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGE5ZmVmY2FjYTYzZmY5OWFiOGJjZmVlMjFm
ZjI0YTk3YTkwNjA0ZTMuLmY5MjRjODc2ZGMyMzVkMTE2YWQxYThlMjE2MzIwZGI4MTVjZjI5ODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwCkBAIC0z
NywzMCArMzcsMzYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi12b2lkIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6YWRkT2JqZWN0KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBPYmplY3RUeXBlIG9i
amVjdFR5cGUpCit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0SW1wbChjb25zdCBTdHJpbmcqIGNvbnN0JiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlw
ZSwgT3duaW5nVHlwZSBvd25pbmdUeXBlKQogewotICAgIGFkZE9iamVjdChzdHJpbmcuaW1wbCgp
LCBvYmplY3RUeXBlKTsKKyAgICBpZiAoIXN0cmluZyB8fCB2aXNpdGVkKHN0cmluZykpCisgICAg
ICAgIHJldHVybjsKKyAgICBpZiAob3duaW5nVHlwZSA9PSBieVBvaW50ZXIpCisgICAgICAgIGNv
dW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBzaXplb2YoU3RyaW5nKSk7CisgICAgYWRkSW5zdHJ1
bWVudGVkT2JqZWN0SW1wbChzdHJpbmctPmltcGwoKSwgb2JqZWN0VHlwZSwgYnlQb2ludGVyKTsK
IH0KIAotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZE9iamVjdChjb25zdCBTdHJpbmdJ
bXBsKiBzdHJpbmdJbXBsLCBPYmplY3RUeXBlIG9iamVjdFR5cGUpCit2b2lkIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBTdHJpbmdJbXBsKiBj
b25zdCYgc3RyaW5nSW1wbCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlKQogewog
ICAgIGlmICghc3RyaW5nSW1wbCB8fCB2aXNpdGVkKHN0cmluZ0ltcGwpKQogICAgICAgICByZXR1
cm47CiAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIHN0cmluZ0ltcGwtPnNpemVJbkJ5
dGVzKCkpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkT2JqZWN0KGNvbnN0
IEtVUkwmIHVybCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlKQordm9pZCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgS1VSTCogY29uc3QmIHVybCwg
T2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7Ci0gICAgaWYg
KHZpc2l0ZWQoJnVybCkpCisgICAgaWYgKCF1cmwgfHwgdmlzaXRlZCh1cmwpKQogICAgICAgICBy
ZXR1cm47Ci0gICAgYWRkT2JqZWN0KHVybC5zdHJpbmcoKSwgb2JqZWN0VHlwZSk7Ci0gICAgaWYg
KHVybC5pbm5lclVSTCgpKQotICAgICAgICBhZGRPYmplY3QodXJsLmlubmVyVVJMKCksIG9iamVj
dFR5cGUpOworICAgIGlmIChvd25pbmdUeXBlID09IGJ5UG9pbnRlcikKKyAgICAgICAgY291bnRP
YmplY3RTaXplKG9iamVjdFR5cGUsIHNpemVvZihLVVJMKSk7CisgICAgYWRkSW5zdHJ1bWVudGVk
T2JqZWN0KHVybC0+c3RyaW5nKCksIG9iamVjdFR5cGUpOworICAgIGlmICh1cmwtPmlubmVyVVJM
KCkpCisgICAgICAgIGFkZEluc3RydW1lbnRlZE9iamVjdCh1cmwtPmlubmVyVVJMKCksIG9iamVj
dFR5cGUpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVk
T2JqZWN0SW1wbChjb25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiBzdHJpbmcsIE9iamVjdFR5cGUg
b2JqZWN0VHlwZSwgT3duaW5nVHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJ
bnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmIGF0b21pY1N0
cmluZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7Ci0g
ICAgYWRkT2JqZWN0KHN0YXRpY19jYXN0PGNvbnN0IFN0cmluZyY+KCpzdHJpbmcpLCBvYmplY3RU
eXBlKTsKKyAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgU3RyaW5nKiBjb25zdD4oYXRvbWljU3RyaW5nKSwgb2JqZWN0VHlwZSwgb3duaW5nVHlwZSk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJ
bnN0cnVtZW50YXRpb24uaAppbmRleCBjMGMyZDM3NWFhOGNmYWZlYTIyZTNkOTNlZjAzZTQ4Mjg5
MTk3MzEzLi5mM2EzZDZkNTQ5MGUwYzliNzY2ZWNjYjExNDRiMTY3YjFiMjQ5OTA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCkBAIC0xMDIsOSArMTAyLDcg
QEAgcHJpdmF0ZToKICAgICB7CiAgICAgICAgIE93bmluZ1RyYWl0czxUPjo6YWRkT2JqZWN0KHRo
aXMsIHQsIG93bmVyT2JqZWN0VHlwZSk7CiAgICAgfQotICAgIHZvaWQgYWRkT2JqZWN0KGNvbnN0
IFN0cmluZyYsIE9iamVjdFR5cGUpOwotICAgIHZvaWQgYWRkT2JqZWN0KGNvbnN0IFN0cmluZ0lt
cGwqLCBPYmplY3RUeXBlKTsKLSAgICB2b2lkIGFkZE9iamVjdChjb25zdCBLVVJMJiwgT2JqZWN0
VHlwZSk7CisKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRP
YmplY3QoY29uc3QgVCYgdCwgT2JqZWN0VHlwZSBvd25lck9iamVjdFR5cGUpIHsgT3duaW5nVHJh
aXRzPFQ+OjphZGRJbnN0cnVtZW50ZWRPYmplY3QodGhpcywgdCwgb3duZXJPYmplY3RUeXBlKTsg
fQogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNv
bnN0IEhhc2hNYXBUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsK
ICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSGFzaFNldChjb25z
dCBIYXNoU2V0VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CkBA
IC0xMzcsMTAgKzEzNSwxMCBAQCBwcml2YXRlOgogICAgICAgICBzdGF0aWMgdm9pZCBhZGRPYmpl
Y3QoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50YXRpb24sIGNvbnN0IFQqIGNvbnN0
JiB0LCBPYmplY3RUeXBlIG93bmVyT2JqZWN0VHlwZSkgeyBpbnN0cnVtZW50YXRpb24tPmFkZE9i
amVjdEltcGwodCwgb3duZXJPYmplY3RUeXBlLCBieVBvaW50ZXIpOyB9CiAgICAgfTsKIAotICAg
IC8vIEZJWE1FOiBnZXQgcmlkIG9mIGFkZE9iamVjdChTdHJpbmcpCi0gICAgdm9pZCBhZGRJbnN0
cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFN0cmluZyogY29uc3QmIHN0cmluZywgT2JqZWN0VHlw
ZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlKSB7IGFkZE9iamVjdCgqc3RyaW5nLCBvYmplY3RUeXBl
KTsgfQotICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBTdHJpbmdJbXBs
KiBjb25zdCYgc3RyaW5nLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUpIHsgYWRk
T2JqZWN0KHN0cmluZywgb2JqZWN0VHlwZSk7IH0KKyAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9i
amVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwor
ICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBTdHJpbmdJbXBsKiBjb25z
dCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwogICAgIHZvaWQgYWRkSW5zdHJ1bWVudGVkT2Jq
ZWN0SW1wbChjb25zdCBBdG9taWNTdHJpbmcqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlw
ZSk7CisgICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEtVUkwqIGNvbnN0
JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZv
aWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBUKiBjb25zdCYsIE9iamVjdFR5cGUs
IE93bmluZ1R5cGUpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZEluc3RydW1l
bnRlZE9iamVjdEltcGwoY29uc3QgRGF0YVJlZjxUPiogY29uc3QmLCBPYmplY3RUeXBlLCBPd25p
bmdUeXBlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRP
YmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBl
KTsKQEAgLTE1MCw2ICsxNDgsMTIgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4gdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IERhdGFSZWY8VD4qIGNvbnN0JiwgT2JqZWN0VHlw
ZSwgT3duaW5nVHlwZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0
SW1wbChjb25zdCBPd25QdHI8VD4qIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgYWRkT2JqZWN0SW1wbChjb25zdCBSZWZQdHI8
VD4qIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CisKKyAgICAvLyBMaW5rIHRpbWUg
Z3VhcmRzIGZvciBzcGVjaWFsIGNhc2VzLgorICAgIHZvaWQgYWRkT2JqZWN0SW1wbChjb25zdCBT
dHJpbmcqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CisgICAgdm9pZCBhZGRPYmpl
Y3RJbXBsKGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7
CisgICAgdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmLCBPYmpl
Y3RUeXBlLCBPd25pbmdUeXBlKTsKKyAgICB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgS1VSTCog
Y29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKIH07CiAKIGNsYXNzIE1lbW9yeU9iamVj
dEluZm8gewpAQCAtMjEwLDExICsyMTQsNiBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFZlY3RvclR5cGU+IHZvaWQgYWRkVmVjdG9yUHRyKGNvbnN0IFZlY3RvclR5cGUqIGNvbnN0
IHZlY3RvcikgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkVmVjdG9yKCp2ZWN0b3IsIG1f
b2JqZWN0VHlwZSwgZmFsc2UpOyB9CiAgICAgdm9pZCBhZGRSYXdCdWZmZXIoY29uc3Qgdm9pZCog
Y29uc3QmIGJ1ZmZlciwgc2l6ZV90IHNpemUpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFk
ZFJhd0J1ZmZlcihidWZmZXIsIG1fb2JqZWN0VHlwZSwgc2l6ZSk7IH0KIAotICAgIHZvaWQgYWRk
TWVtYmVyKGNvbnN0IFN0cmluZyYgc3RyaW5nKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5h
ZGRPYmplY3Qoc3RyaW5nLCBtX29iamVjdFR5cGUpOyB9Ci0gICAgdm9pZCBhZGRNZW1iZXIoY29u
c3QgQXRvbWljU3RyaW5nJiBzdHJpbmcpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZE9i
amVjdCgoY29uc3QgU3RyaW5nJilzdHJpbmcsIG1fb2JqZWN0VHlwZSk7IH0KLSAgICB2b2lkIGFk
ZE1lbWJlcihjb25zdCBTdHJpbmdJbXBsKiBzdHJpbmcpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRp
b24tPmFkZE9iamVjdChzdHJpbmcsIG1fb2JqZWN0VHlwZSk7IH0KLSAgICB2b2lkIGFkZE1lbWJl
cihjb25zdCBLVVJMJiB1cmwpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZE9iamVjdCh1
cmwsIG1fb2JqZWN0VHlwZSk7IH0KLQogcHJpdmF0ZToKICAgICBNZW1vcnlPYmplY3RJbmZvKiBt
X21lbW9yeU9iamVjdEluZm87CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBtX21lbW9yeUlu
c3RydW1lbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IGE2MmQ0YzJk
YWE3NGFjZmRjMGQ0OGZjYTJiMWFjYTZkODEyZjQ1YWQuLmQxZjUyNjk3ZjRhNGI3YWFlZDQ0YmI3
ZmQ2Njk4MzE3MzI3M2QwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZp
ZWROYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtNTMs
MTAgKzUzLDEwIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgICAgICB7CiAgICAgICAg
ICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkRPTSk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZp
eCk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2xvY2FsTmFtZSk7Ci0gICAgICAgICAg
ICBpbmZvLmFkZE1lbWJlcihtX25hbWVzcGFjZSk7Ci0gICAgICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX2xvY2FsTmFtZVVwcGVyKTsKKyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJlZml4KTsKKyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
bG9jYWxOYW1lKTsKKyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFt
ZXNwYWNlKTsKKyAgICAgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbG9jYWxO
YW1lVXBwZXIpOwogICAgICAgICB9CiAgICAgcHJpdmF0ZToKICAgICAgICAgUXVhbGlmaWVkTmFt
ZUltcGwoY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9j
YWxOYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IDNiZTliYjY1MzQ1MGI0MjMxZTc3YjBmNWM1
ZWFkOWEzY2FkN2ZhNGIuLmVhNjliZjUyZjg4MzM3NTlmYjk4ODJjYzY3OGMyMDI5NzRkOTkzNDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMzY0LDggKzM2
NCw4IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRI
YXNoU2V0KG1fbXVsdGlwYXJ0U3VicmVzb3VyY2VMb2FkZXJzKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZEhhc2hTZXQobV9wbHVnSW5TdHJlYW1Mb2FkZXJzKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3N1YnN0aXR1dGVEYXRhKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Bh
Z2VUaXRsZS5zdHJpbmcoKSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5n
KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhZ2VUaXRsZS5zdHJpbmcoKSk7
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vdmVycmlkZUVuY29kaW5nKTsKICAg
ICBpbmZvLmFkZFZlY3RvcihtX3Jlc3BvbnNlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9vcmlnaW5hbFJlcXVlc3QpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fb3JpZ2luYWxSZXF1ZXN0Q29weSk7CkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBEb2N1bWVu
dExvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKICAgICBpbmZvLmFkZEhhc2hNYXAobV9wZW5kaW5nU3Vic3RpdHV0ZVJlc291
cmNlcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRIYXNoU2V0KG1fcmVzb3VyY2VzQ2xpZW50
S25vd3NBYm91dCk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9yZXNvdXJjZXNMb2FkZWRGcm9tTWVt
b3J5Q2FjaGVGb3JDbGllbnROb3RpZmljYXRpb24pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fY2xp
ZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX2NsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeSk7CiAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9tYWluUmVzb3VyY2VEYXRhKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKaW5kZXggMjNlOWI2Y2M5MjZjMTQxNmRkYWU4OTMwZDMzMTAxOTk0
NTI0ZjZhZS4uY2E5ZmYwOTQ3YTQxNzM2YWFhNzg2NzA1NzY0ZGQ4ZTkyZTllMWRkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0zMjM2LDEwICszMjM2LDEwIEBAIE5l
dHdvcmtpbmdDb250ZXh0KiBGcmFtZUxvYWRlcjo6bmV0d29ya2luZ0NvbnRleHQoKSBjb25zdAog
dm9pZCBGcmFtZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudExvYWRlci5nZXQoKSk7Ci0gICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVyLmdldCgp
KTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BvbGljeURvY3VtZW50TG9hZGVy
LmdldCgpKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX291dGdvaW5nUmVmZXJyZXIpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZG9jdW1lbnRMb2FkZXIpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvdmlzaW9uYWxEb2N1bWVudExvYWRlcik7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wb2xpY3lEb2N1bWVudExvYWRlcik7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vdXRnb2luZ1JlZmVycmVyKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZEhhc2hTZXQobV9vcGVuZWRGcmFtZXMpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YnN0aXR1dGVEYXRhLmNwcAppbmRleCA4MDZiZDFkOGVmNmIxNmE2OTU2MGExNGZm
MjNjMzVlMTE4ZDYxM2QwLi5hMjY5YzM0OTgxZWY3ODQ5ZDMzMTVjYzc2ZTlkOTY1MzlhZjlkMDg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5jcHAKQEAgLTM5LDEwICsz
OSwxMCBAQCB2b2lkIFN1YnN0aXR1dGVEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVy
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2NvbnRlbnQpOwotICAgIGluZm8u
YWRkTWVtYmVyKG1fbWltZVR5cGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fdGV4dEVuY29kaW5n
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2ZhaWxpbmdVUkwpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1fcmVzcG9uc2VVUkwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWltZVR5
cGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGV4dEVuY29kaW5nKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZhaWxpbmdVUkwpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVzcG9uc2VVUkwpOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggN2U0
NGViYzI4YWVhNDY3MzI1OTM1MWY5M2Q2NjhkMzM2YTM4N2VhOC4uNDk4ZDJmYTU3ZDhlMjI3MGE2
MmNkMzY0MjQwOTI0MjUyZTU2NDYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRDU1NTdHlsZVNoZWV0LmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIHZvaWQg
Q2FjaGVkQ1NTU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
bWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcnNlZFN0eWxlU2hlZXRDYWNoZSk7Ci0gICAg
aW5mby5hZGRNZW1iZXIobV9kZWNvZGVkU2hlZXRUZXh0KTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2RlY29kZWRTaGVldFRleHQpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCBjNjE5ZGRhZDY2MzI4YTU4
NDliY2ZlYTRlNDlkOTJhOGE0OThjMDRkLi5kN2FiY2FlODQwYzc5NmQ2MWFiNjM2MDQ1ZmQ1YWY1
ZGQ3MmM3OTE2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZS5jcHAKQEAgLTgwNiwxMSArODA2LDExIEBAIHZvaWQgQ2FjaGVkUmVzb3VyY2U6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZSk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9yZXNv
dXJjZVJlcXVlc3QpOwogICAgIGluZm8uYWRkSGFzaFNldChtX2NsaWVudHMpOwotICAgIGluZm8u
YWRkTWVtYmVyKG1fYWNjZXB0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Fj
Y2VwdCk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9sb2FkZXIpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcmVzcG9uc2UpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fcmVzcG9uc2UpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZGF0YSk7Ci0g
ICAgaW5mby5hZGRNZW1iZXIobV9jYWNoZWRNZXRhZGF0YS5nZXQoKSk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9jYWNoZWRNZXRhZGF0YSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9uZXh0SW5BbGxSZXNvdXJjZXNMaXN0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3ByZXZJbkFsbFJlc291cmNlc0xpc3QpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fbmV4dEluTGl2ZVJlc291cmNlc0xpc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggN2I1NjQ2NTM4NjY2
YzNmZTQxYTM1YmZiMDA2MzgyYTk4YWIzMzk4Ni4uYjI1OGMwNTdmZjNhZjExMTk1ODBkZTFhZjYw
ODQwNTMyZjZhMGE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC04ODMsNyArODgzLDcgQEAgdm9pZCBDYWNoZWRS
ZXNvdXJjZUxvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkxvYWRlcik7CiAgICAgaW5mby5hZGRIYXNoTWFw
KG1fZG9jdW1lbnRSZXNvdXJjZXMpOwogICAgIGZvciAoRG9jdW1lbnRSZXNvdXJjZU1hcDo6Y29u
c3RfaXRlcmF0b3IgaSA9IG1fZG9jdW1lbnRSZXNvdXJjZXMuYmVnaW4oKTsgaSAhPSBtX2RvY3Vt
ZW50UmVzb3VyY2VzLmVuZCgpOyArK2kpIHsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIoaS0+Zmly
c3QpOworICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihpLT5maXJzdCk7CiAgICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGktPnNlY29uZCk7CiAgICAgfQogICAgIGlu
Zm8uYWRkSGFzaFNldChtX3ZhbGlkYXRlZFVSTHMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAppbmRleCA3ZTdmMjY5MDVhMWJhMjM2ODMwMDAwMWU5ZmJj
YWY2OGI1MTZmMzYzLi4xMmM5ZmU1NzMyZjAxZmVkMWM5MjhiNGU5ZTkwN2ExMGE3MWZjYTk5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcApAQCAtMTMx
LDcgKzEzMSw3IEBAIHZvaWQgQ2FjaGVkU2NyaXB0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2Fj
aGVkUmVzb3VyY2VTY3JpcHQpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3NjcmlwdCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zY3JpcHQpOwogICAgIGluZm8uYWRkTWVtYmVy
KG1fZGVjb2Rlcik7CiAjaWYgVVNFKEpTQykKICAgICBpbmZvLmFkZE1lbWJlcihtX3NvdXJjZVBy
b3ZpZGVyQ2FjaGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZFNoYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVy
LmNwcAppbmRleCA3MmViNWMwNTNhYTJlMWNhZDJiNTc5ODE2ZTcyNTljMzE5N2M2N2Y2Li5hMzFh
YmQwNTAzMmRlMDViMjdkNGM2ZGQ1MzUwOGE1ZGZjYmNmMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcApAQCAtNzMsNyArNzMsNyBAQCB2b2lkIENh
Y2hlZFNoYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlU2hhZGVyKTsKICAg
ICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAg
ICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3NoYWRl
clN0cmluZyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zaGFkZXJTdHJpbmcp
OwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKaW5kZXggZDE0ZDVmMmEzNzk0MDli
YTgyMDc3MTBhOGE0MjllZGEyMjc3NGUyYi4uMGU3NzE2MThiYzU4OTFiMzg2NjE3YzcxOTdiOTc1
YjNkZWNmMzY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFhTTFN0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRYU0xTdHlsZVNoZWV0LmNwcApAQCAtMTAxLDcgKzEwMSw3IEBAIHZvaWQgQ2FjaGVkWFNMU3R5
bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlWFNMVCk7CiAgICAgQ2FjaGVk
UmVzb3VyY2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8u
YWRkTWVtYmVyKG1fc2hlZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2hl
ZXQpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IDUwZjQ1Y2QxMjJkZjZlNjljNWI3
NjFlMDMwYTFlODhkOGM4YjFhNWQuLjY2MTExZDczZjdkMWZiMDEyMTk1NmFlYWZkMTAzN2FkYmQy
OGIwMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApA
QCAtNzIxLDcgKzcyMSw3IEBAIHZvaWQgTWVtb3J5Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNo
TWFwKG1fcmVzb3VyY2VzKTsKICAgICBDYWNoZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3Ig
ZSA9IG1fcmVzb3VyY2VzLmVuZCgpOwogICAgIGZvciAoQ2FjaGVkUmVzb3VyY2VNYXA6OmNvbnN0
X2l0ZXJhdG9yIGkgPSBtX3Jlc291cmNlcy5iZWdpbigpOyBpICE9IGU7ICsraSkgewotICAgICAg
ICBpbmZvLmFkZE1lbWJlcihpLT5maXJzdCk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKGktPmZpcnN0KTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+
c2Vjb25kKTsKICAgICB9CiAgICAgaW5mby5hZGRWZWN0b3IobV9hbGxSZXNvdXJjZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXF1ZXN0
QmFzZS5jcHAKaW5kZXggYTgyOTA3OGFlYTA2MDU3MDE3NGE2YTNhN2YwYjFlMzM2NTY5ZmJhZi4u
NjRlYmMxOGM4YTc0NTBkZjY0YTYyMGE2NmQzZTM2ODMxN2UxYzk2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3Bw
CkBAIC00NDcsOCArNDQ3LDggQEAgYm9vbCBSZXNvdXJjZVJlcXVlc3RCYXNlOjppc0NvbmRpdGlv
bmFsKCkgY29uc3QKIHZvaWQgUmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkxvYWRlcik7Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZpcnN0UGFydHlG
b3JDb29raWVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2h0dHBNZXRob2Qp
OwogICAgIGluZm8uYWRkSGFzaE1hcChtX2h0dHBIZWFkZXJGaWVsZHMpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWFwRW50cmllcyhtX2h0dHBIZWFkZXJGaWVsZHMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNw
cAppbmRleCBmYTA1MzgxY2Q1ZDcwMzRmMmU5NjY5ZTRkZDRhNTY1YTlkNGI3MmQ3Li5lOGQ3Y2E0
MzM2OWU2OTE5Njk4MjhkMjRlMzQxMzgwZWYzMjA3ZGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNlLmNwcApAQCAt
NTcxLDcgKzU3MSw3IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZUJhc2U6OmxhenlJbml0KEluaXRM
ZXZlbCBpbml0TGV2ZWwpIGNvbnN0CiB2b2lkIFJlc291cmNlUmVzcG9uc2VCYXNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fbWltZVR5cGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
dGV4dEVuY29kaW5nTmFtZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdWdn
ZXN0ZWRGaWxlbmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggMTRjYjY3ZDg4Y2U2YzUxNzk5
NWIxZWIwZDFmMzg4ZjgzYWVlNjQwMS4uNjJmZTViODlmMjZmY2U5MmE2MjMwYWI2Yzg0NWVjYmVk
ZTMwOGNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtMjY2LDEzICsyNjYsMTMgQEAgdm9pZCBT
dHlsZVJhcmVJbmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmYKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CiAgICAgaW5mby5hZGRN
ZW1iZXIodGV4dFNoYWRvdyk7Ci0gICAgaW5mby5hZGRNZW1iZXIoaGlnaGxpZ2h0KTsKKyAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihoaWdobGlnaHQpOwogICAgIGluZm8uYWRkTWVtYmVy
KGN1cnNvckRhdGEpOwotICAgIGluZm8uYWRkTWVtYmVyKGh5cGhlbmF0aW9uU3RyaW5nKTsKLSAg
ICBpbmZvLmFkZE1lbWJlcihsb2NhbGUpOwotICAgIGluZm8uYWRkTWVtYmVyKHRleHRFbXBoYXNp
c0N1c3RvbU1hcmspOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGh5cGhlbmF0aW9u
U3RyaW5nKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihsb2NhbGUpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKHRleHRFbXBoYXNpc0N1c3RvbU1hcmspOwogICAgIGlu
Zm8uYWRkTWVtYmVyKHF1b3Rlcyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9saW5lR3JpZCk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9saW5lR3JpZCk7CiAjaWYgRU5BQkxFKENT
U19WQVJJQUJMRVMpCiAgICAgaW5mby5hZGRNZW1iZXIobV92YXJpYWJsZXMpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggMWUyZjQ0ODhkYjRkYjE0MmYzZmVmZjEyOWVkMWQx
NDBmZGQxZTJiMi4uNWI4MDBkMGFjYmFhNjQ5NmU1NjQyMGY5MGRiMjgwNDNjODJjNTFlYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVOb25Jbmhlcml0ZWREYXRhLmNwcApAQCAtMzIzLDggKzMyMyw4IEBAIHZvaWQgU3R5bGVSYXJl
Tm9uSW5oZXJpdGVkRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0CiAgICAgaW5mby5hZGRNZW1iZXIobV90cmFuc2l0aW9ucyk7CiAgICAgaW5mby5h
ZGRNZW1iZXIobV93cmFwU2hhcGVJbnNpZGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcFNo
YXBlT3V0c2lkZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9mbG93VGhyZWFkKTsKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3JlZ2lvblRocmVhZCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9mbG93VGhyZWFkKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlZ2lv
blRocmVhZCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHUGFpbnQu
Y3BwCmluZGV4IDRkODRmNTIyMThiMWJjODFkYzI2ZDc2ODZlOGFkMTRmZmNlNzhiYmUuLmJhNzQ0
MzU4M2JjMTVkNDdlOWM0ZjE3YTMwNTRiNzk5ZjI0NjExMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50
LmNwcApAQCAtMTE1LDcgKzExNSw3IEBAIFBhc3NSZWZQdHI8U1ZHUGFpbnQ+IFNWR1BhaW50Ojpj
bG9uZUZvckNTU09NKCkgY29uc3QKIHZvaWQgU1ZHUGFpbnQ6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAg
IE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VyaSk7CisgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmkpOwogfQogCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159680</attachid>
            <date>2012-08-21 06:44:36 -0700</date>
            <delta_ts>2012-08-21 06:44:36 -0700</delta_ts>
            <desc>actually landed</desc>
            <filename>bug-94580-20120821174434.patch</filename>
            <type>text/plain</type>
            <size>46635</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTg1MGFkOWI3YTE0NDUx
ZDU0NDE5NzBlMTBkNmJlOGQwNTQ1OTkyNS4uMDY2M2E0NmQzYzdmYWQyNDM5MDE2YzVmY2EzYWY4
Yjc0NzdkYmZhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAxMi0wOC0yMSAgSWx5
YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTk1JOiByZW5hbWUgYWRkTWVtYmVyIGZvciBzdHJpbmdzIGFuZCBLVVJMIHRvIGFkZElu
c3RydW1lbnRlZE1lbWJlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk0NTgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4K
KworICAgICAgICBEcml2ZSBieSBmaXg6IGltbXV0YWJsZSBFbGVtZW50QXR0cnlidXRlRGF0YSB1
c2VzIHRoZSBzYW1lIHRyaWNrIHdpdGggcGxhY2VtZW50IG5ldyBhcyBpbiBTdHlsZVByb3BlcnR5
U2V0LgorCisgICAgICAgICogY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbnZhc1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAqIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDaGFyc2V0
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTRm9u
dEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NGdW5jdGlv
blZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Z1bmN0aW9uVmFsdWU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VTZXRWYWx1ZTo6SW1hZ2VXaXRoU2NhbGU6OnJl
cG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NJbWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcmltaXRpdmVWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNo
ZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRDbG9uZUNTU1ZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5
VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVZhbHVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpDU1NWYXJpYWJsZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9Gb250RmVhdHVyZVZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRG
ZWF0dXJlVmFsdWU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3Nz
L01lZGlhUXVlcnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeTo6cmVwb3J0TWVt
b3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5RXhwLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlFeHA6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3Mv
U3R5bGVSdWxlSW1wb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUltcG9ydDo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENv
bnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlU2hlZXRDb250ZW50czo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVLZXlmcmFtZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAg
ICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUnVsZUtleWZyYW1lczo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKiBjc3MvV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJLaXRDU1NTaGFkZXJWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKiBkb20vQXR0cmlidXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpBdHRyaWJ1dGU6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAg
ICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmltbXV0YWJsZUVsZW1lbnRBdHRyaWJ1dGVEYXRhU2l6ZSk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRh
OjpjcmVhdGVJbW11dGFibGUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudEF0dHJpYnV0ZURh
dGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRXZlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbCk6CisgICAgICAgICogZG9tL01lbW9y
eUluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKToKKyAg
ICAgICAgKiBkb20vUXVhbGlmaWVkTmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UXVhbGlmaWVk
TmFtZTo6UXVhbGlmaWVkTmFtZUltcGw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBs
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAg
ICAgICAgKiBsb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3Vi
c3RpdHV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUv
Q2FjaGVkQ1NTU3R5bGVTaGVldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRDU1NTdHls
ZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlOjpyZXBvcnRN
ZW1vcnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFNjcmlwdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRTY3JpcHQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KiBsb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFNoYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRYU0xTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFhTTFN0eWxlU2hl
ZXQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvTWVtb3J5Q2Fj
aGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERh
dGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6cmVw
b3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIHN2Zy9TVkdQYWludC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYWludDo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKwogMjAxMi0w
OC0yMCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1Y4
XSBNb3ZlIFN0cmluZyByZWxhdGVkIGNvZGUgaW4gVjhCaW5kaW5nIHRvIGEgc2VwYXJhdGUgZmls
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5YjM4YTUxODFmYWRlMWYwNGEwYzk2MjZm
MjYxY2Q0ZWFkZDMwOGI5Li43ZmExNmFhZmU3MTViMjg4YzVhODAwYWQ5MGU5NDkxMzhkYTlhODBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA4LTIx
ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiBOTUk6IHJlbmFtZSBhZGRNZW1iZXIgZm9yIHN0cmluZ3MgYW5kIEtVUkwgdG8g
YWRkSW5zdHJ1bWVudGVkTWVtYmVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTQ1ODAKKworICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0
c2t5LgorCisgICAgICAgIERyaXZlIGJ5IGZpeDogaW1tdXRhYmxlIEVsZW1lbnRBdHRyeWJ1dGVE
YXRhIHVzZXMgdGhlIHNhbWUgdHJpY2sgd2l0aCBwbGFjZW1lbnQgbmV3IGFzIGluIFN0eWxlUHJv
cGVydHlTZXQuCisKKyAgICAgICAgKiB0ZXN0cy9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTIt
MDgtMjEgIFBldGVyIEJldmVybG9vICA8cGV0ZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVu
cmV2aWV3ZWQuICBSb2xsZWQgREVQUy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDYW52YXNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3Bw
CmluZGV4IDQ5MjViMzkzODNhYTE1OGQ5ZDNiNWNlNDMyYWIxZDM0ZWI3NTllOTYuLjYzNzc3YmI0
ZGRkZGEwOTc2MTZmOGZhMGFiYzFiYTVjNzdmYjk0NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcApAQCAtOTcsNyArOTcsNyBAQCB2b2lkIENTU0NhbnZhc1ZhbHVlOjpyZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SQog
ewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKICAgICBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpyZXBv
cnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZvLmFkZE1l
bWJlcihtX25hbWUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9lbGVtZW50KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKaW5kZXggYjdkMjAxYzg2ZGRhM2IxOWVkNWVmNTUzNTg3
NDEwYzQ2NDYxNzA3ZC4uYTNjM2UxYjlhYTU0MGQxZTYwNGY4ZDU2ZjRmMTJjYzNlYjA4NzBkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCkBAIC00MCw3ICs0MCw3IEBAIHZv
aWQgQ1NTQ2hhcnNldFJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJCiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIENTU1J1
bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fZW5jb2RpbmcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZW5jb2RpbmcpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKaW5kZXggYTAwMTE1ZGIxNDAyMTM1ZDFmYWQ5
NmQ2MzJhNWFkZThjOTBkOGEwMS4uZGI0ZWI5YjM2NDdkZDU2M2FjZjA3ZWQ5MDk1OWVlNjIwMTQ2
OGE3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApAQCAt
MTAwLDggKzEwMCw4IEBAIENhY2hlZEZvbnQqIENTU0ZvbnRGYWNlU3JjVmFsdWU6OmNhY2hlZEZv
bnQoRG9jdW1lbnQqIGRvY3VtZW50KQogdm9pZCBDU1NGb250RmFjZVNyY1ZhbHVlOjpyZXBvcnRE
ZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yZXNv
dXJjZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9mb3JtYXQpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fcmVzb3VyY2UpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fZm9ybWF0KTsKICAgICAvLyBGSVhNRTogYWRkIG1fY2FjaGVkRm9udCB3aGVuIE1lbW9yeUNh
Y2hlIGlzIGluc3RydW1lbnRlZC4KICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fc3ZnRm9udEZhY2VFbGVtZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGdW5jdGlvblZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGdW5jdGlvblZhbHVlLmNwcAppbmRleCA2MjhhOTg5YmE3Nzk2NDJjNDg2YjQ5MTBmNzAw
MjQ5Yjk5ZDg3OTc3Li45ZjhmMjRmMzAzMGUxY2ZmZDhiZmUyMzY1ZjIwZThlMzUxYjdjZjM2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCkBAIC01Myw3ICs1Myw3IEBA
IFN0cmluZyBDU1NGdW5jdGlvblZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHZvaWQgQ1NT
RnVuY3Rpb25WYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fbmFtZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9uYW1lKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2FyZ3MpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKaW5kZXggYzMxNjNmNTVjNzFhNzlm
ZjNlN2IxZmY0NDllZDJlMjI4OGM4Yzk2MS4uMjg0NTFhMjU0NDRiMGVlN2Y5ZmZkOGE4NTJiNjdm
NGE0NDZjYTU4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFs
dWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcApAQCAt
MTc0LDcgKzE3NCw3IEBAIHZvaWQgQ1NTSW1hZ2VTZXRWYWx1ZTo6cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjCiB2b2lkIENTU0ltYWdlU2V0
VmFsdWU6OkltYWdlV2l0aFNjYWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBp
bmZvLmFkZE1lbWJlcihpbWFnZVVSTCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
aW1hZ2VVUkwpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5jcHAKaW5kZXggNTQyMTkyZDVkMmRkMDU1ZTQ2ZjkzN2Q5MTQyNDM5NzcyOGJm
OWQwZS4uYjdmNGQ3M2NkODcxZmVjNmIwYmE4NTUxNDk3Mjk1OWU0MDQwYTRiYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtMTI5LDcgKzEyOSw3IEBAIFBhc3NSZWZQdHI8
Q1NTVmFsdWU+IENTU0ltYWdlVmFsdWU6OmNsb25lRm9yQ1NTT00oKSBjb25zdAogdm9pZCBDU1NJ
bWFnZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5m
by5hZGRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJs
KTsKICAgICAvLyBObyBuZWVkIHRvIHJlcG9ydCBtX2ltYWdlIGFzIGl0IGlzIGNvdW50ZWQgYXMg
cGFydCBvZiBSZW5kZXJBcmVuYS4KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAKaW5kZXggYmJkNjcwMGQzNzdjZDVjZDljNDI0OWQyNmQzOWZhZDViODI1NTgyNC4u
ZGM1N2ZhOGYzNzA0ZmIwMjQ0NDRlMzc3MGE1ZDY5NzdkZWE3ZmM0MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0xMjUyLDcgKzEyNTIsNyBAQCB2b2lkIENT
U1ByaW1pdGl2ZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZQogICAgIGNhc2UgQ1NTX1ZBUklBQkxFX05BTUU6CiAjZW5kaWYKICAg
ICAgICAgLy8gRklYTUU6IGRldGVjdCBvdGhlciBjYXNlcyB3aGVuIG1fdmFsdWUgaXMgU3RyaW5n
SW1wbCoKLSAgICAgICAgaW5mby5hZGRNZW1iZXIobV92YWx1ZS5zdHJpbmcpOworICAgICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgQ1NTX0NPVU5URVI6CiAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fdmFsdWUu
Y291bnRlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggZjE2ZjhiYmIz
M2MzZmFmOTExYjY5NzA0MTkyMGFiOWQ1NmRmMjFjYy4uZWMwZWJlNmZhZmRiZTcwZTVlMmY0NWQ1
MTZjZGU4ZDM2ZDBlM2JjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcApAQCAt
MTgxLDcgKzE4MSw3IEBAIHZvaWQgQ1NTU3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFz
c0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OkNTUyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9jb250ZW50cyk7Ci0gICAg
aW5mby5hZGRNZW1iZXIobV90aXRsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90aXRsZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYVF1ZXJpZXMp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fb3duZXJOb2RlKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX293bmVyUnVsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNw
cAppbmRleCBkYTFhYzMzMTQzZmEyNTk0ODYxOWE5OGY5NGNmZDYyYzIzZTk5OTY5Li5lZTBhMThj
ZjUwMjZmZjcwZjY0ZTM4OWIxNzkwNGFkZDZjZTAwMDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5j
cHAKQEAgLTgyLDcgKzgyLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAg
ewogICAgICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKG1fY3Nz
VGV4dCk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY3NzVGV4dCk7CiAg
ICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVZhbHVlLmgKaW5kZXgg
ZTBiOTdkM2ZmODU0ODNlMTdkNGU1MjRkYTYxNjMxNmU1NTJjOGIyMS4uMzAyMGUxZTFiNzhiYTNk
YjY2ZTVlYzU1YjQ0OWNkN2UyYWVhNzIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhcmlhYmxlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVW
YWx1ZS5oCkBAIC01MSw4ICs1MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhp
cywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgICAgICBpbmZvLmFkZE1lbWJlciht
X25hbWUpOwotICAgICAgICBpbmZvLmFkZE1lbWJlcihtX3ZhbHVlKTsKKyAgICAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV92YWx1ZSk7CiAgICAgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0Zv
bnRGZWF0dXJlVmFsdWUuY3BwCmluZGV4IDQ5MWIxOTJlNjMxNDlkOGYxMDFhMTIyZjU1MDUwN2Zm
MDk0ZGJiMDQuLjQxM2VhYTRhMjYwMDNmMzlkYjdhNTJlYjkyNmZjYjVkYWI4ZDU3ZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVyZVZhbHVlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvRm9udEZlYXR1cmVWYWx1ZS5jcHAKQEAgLTUzLDcgKzUzLDcgQEAgU3Ry
aW5nIEZvbnRGZWF0dXJlVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAogdm9pZCBGb250RmVh
dHVyZVZhbHVlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5m
by5hZGRNZW1iZXIobV90YWcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFn
KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnkuY3BwCmluZGV4IDFhYWJkNjlkNGU3NDcy
MGNjNmQwZGNkM2Y1OTE5OWMyN2FlOTk0NmYuLjQ0YzMyYzE0MjYxYjNkNWU0M2JiYjdkYmRmMGY0
ZTE5MTJkNTgyMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeS5jcHAKQEAgLTEzNyw5ICsxMzcs
OSBAQCBTdHJpbmcgTWVkaWFRdWVyeTo6Y3NzVGV4dCgpIGNvbnN0CiB2b2lkIE1lZGlhUXVlcnk6
OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNv
bnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFU
eXBlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhVHlwZSk7CiAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3JQdHIobV9leHByZXNzaW9ucyk7Ci0gICAgaW5mby5h
ZGRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKIH0KIAogfSAvL25hbWVzcGFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlFeHAuY3BwCmluZGV4IDNjNzc4OTU2Y2U0YzhkMGM1ZTEyZDhlNTRh
MjcxNDEzYTY2OGY0NWQuLjRiOTE5OTdkNzAzYTJlOTgzNTY0NTMwMGY3MzRkMjlmNjkwODE3NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXhwLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV4cC5jcHAKQEAgLTExMiw4ICsxMTIsOCBAQCBT
dHJpbmcgTWVkaWFRdWVyeUV4cDo6c2VyaWFsaXplKCkgY29uc3QKIHZvaWQgTWVkaWFRdWVyeUV4
cDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9tZWRp
YUZlYXR1cmUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc2VyaWFsaXphdGlvbkNhY2hlKTsKKyAg
ICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhRmVhdHVyZSk7CisgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zZXJpYWxpemF0aW9uQ2FjaGUpOwogICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlSW1wb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGVJbXBvcnQuY3BwCmluZGV4IDI0OTQyNTIxZDBjMDU0OTZjMTI4ZjI1Yzk0ZmQ5YjNkYzRkMDE2
NWEuLjM4MjMxM2U2NzczMWU5MDk2NzM2MDhhNDY5OWVkOGU0ZmE2N2EyNzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGVJbXBvcnQuY3BwCkBAIC0xMzQsNyArMTM0LDcgQEAgdm9pZCBTdHls
ZVJ1bGVJbXBvcnQ6OnJlcXVlc3RTdHlsZVNoZWV0KCkKIHZvaWQgU3R5bGVSdWxlSW1wb3J0Ojpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV9zdHJIcmVmKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0ckhyZWYpOwog
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXQpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA5NmI0ZTU0ZmFiOThjMTY4OGRlZTgzNjli
NzhiMzc3OTNhNWM5ZmM4Li5jYzNjZWM1MmE2YTFhMzc1OGEzYzFiNzlkOGY1MTA1YmRjMGFhMmNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtNDg2LDgg
KzQ4Niw4IEBAIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpyZW1vdmVkRnJvbU1lbW9yeUNhY2hl
KCkKIHZvaWQgU3R5bGVTaGVldENvbnRlbnRzOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsK
LSAgICBpbmZvLmFkZE1lbWJlcihtX29yaWdpbmFsVVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlciht
X2VuY29kaW5nRnJvbUNoYXJzZXRSdWxlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX29yaWdpbmFsVVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2VuY29k
aW5nRnJvbUNoYXJzZXRSdWxlKTsKICAgICBpbmZvLmFkZFZlY3RvcihtX2ltcG9ydFJ1bGVzKTsK
ICAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZXMpOwogICAgIGluZm8u
YWRkSGFzaE1hcChtX25hbWVzcGFjZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
S2V5ZnJhbWVSdWxlLmNwcAppbmRleCA1YzA5MzAyMmMzNmQ2MzE2MmFlYjU2MmQyN2I2YmJiMGQx
YmNiZmVjLi44MDA2OTMyNmZiZjMyZGI4NDI0MDE5OThmZTcxNzMzMDgzZjU4MTQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcApAQCAtOTAsNyArOTAs
NyBAQCB2b2lkIFN0eWxlS2V5ZnJhbWU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllcyk7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV9rZXkpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5KTsKIH0K
IAogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGUoU3R5bGVLZXlm
cmFtZSoga2V5ZnJhbWUsIFdlYktpdENTU0tleWZyYW1lc1J1bGUqIHBhcmVudCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAppbmRleCAzODMwNjhkYTYy
NGYxYzhlOTM4ODEzMjc1MjlkNmRkMjhmMWQ0ZjYzLi5jYTQ3Zjc5YmRkOWQ3ZDM4YzE1NDYwMTQ0
NjJiNjgyYzg4MGQ2NmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
S2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZy
YW1lc1J1bGUuY3BwCkBAIC05MSw3ICs5MSw3IEBAIHZvaWQgU3R5bGVSdWxlS2V5ZnJhbWVzOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqCiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1f
a2V5ZnJhbWVzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX25hbWUpOworICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fbmFtZSk7CiB9CiAKIFdlYktpdENTU0tleWZyYW1lc1J1bGU6Oldl
YktpdENTU0tleWZyYW1lc1J1bGUoU3R5bGVSdWxlS2V5ZnJhbWVzKiBrZXlmcmFtZXNSdWxlLCBD
U1NTdHlsZVNoZWV0KiBwYXJlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
U1ZHRG9jdW1lbnRWYWx1ZS5jcHAKaW5kZXggM2UxNmJiZDMyYjBjYWM4NzAyM2M3M2RkZmExNTM2
NWZlYmVmNWM3MC4uZDJmYmRmMThjZTFjZTRmMTE4NDdkNWJiYzM2N2RlYTgyMjk3YmNiNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NWR0RvY3VtZW50VmFsdWUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTVkdEb2N1bWVudFZhbHVlLmNwcApA
QCAtNjcsNyArNjcsNyBAQCBTdHJpbmcgV2ViS2l0Q1NTU1ZHRG9jdW1lbnRWYWx1ZTo6Y3VzdG9t
Q3NzVGV4dCgpIGNvbnN0CiB2b2lkIFdlYktpdENTU1NWR0RvY3VtZW50VmFsdWU6OnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3VybCk7
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOwogICAgIC8vIEZJWE1FOiBh
ZGQgbV9kb2N1bWVudCB3aGVuIGNhY2hlZCByZXNvdXJjZXMgYXJlIGluc3RydW1lbnRlZC4KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1NoYWRlclZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NTaGFkZXJWYWx1ZS5jcHAKaW5kZXggNDgy
YTM2MDg5Njg5NWNkYTU1YmE5N2U3Mjc5NzRkMzAxODE4YjAxNi4uYjg5YjE4MzRlZGFhNGJiODE0
YjZiM2FlOTYzOWY5Nzk4ZjZjZjEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dl
YktpdENTU1NoYWRlclZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
U2hhZGVyVmFsdWUuY3BwCkBAIC04Myw3ICs4Myw3IEBAIFN0cmluZyBXZWJLaXRDU1NTaGFkZXJW
YWx1ZTo6Y3VzdG9tQ3NzVGV4dCgpIGNvbnN0CiB2b2lkIFdlYktpdENTU1NoYWRlclZhbHVlOjpy
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZv
LCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Ci0gICAgaW5mby5hZGRNZW1iZXIo
bV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsKIH0KICAgICAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9B
dHRyaWJ1dGUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9BdHRyaWJ1dGUuaAppbmRleCA3MTc0YmJh
YWRiMzRlNDA4ODFhOTRlY2JhN2I4NGFlMTY0MzkzMmFkLi44MWEwYmJkYTdmYTM4ZjQ5YzJjNGQz
ZjU2NzBiNDAzNzg3YzhmMjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQXR0cmli
dXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0F0dHJpYnV0ZS5oCkBAIC03MSw3ICs3MSw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9i
amVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKICAgICAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uYW1lKTsKLSAgICAgICAgaW5mby5hZGRNZW1iZXIo
bV92YWx1ZSk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdmFsdWUpOwog
ICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0
ZXJEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcAppbmRleCA5
MWY1YWM3MGY4YzY5MWI4ZjNlZmI3NjM5MWM2NDJiNDBiZTA2ZDBkLi5kYmM2Y2UxNWQ5MTk3NDZk
YWE2NGY2ZGZlYWY1YzI4YmIwNmU1ODU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Q2hhcmFjdGVyRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
Y3BwCkBAIC05Niw3ICs5Niw3IEBAIHZvaWQgQ2hhcmFjdGVyRGF0YTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKIHsKICAgICBNZW1v
cnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OkRPTSk7CiAgICAgTm9kZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9kYXRhKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2RhdGEpOwogfQogCiB2b2lkIENoYXJhY3RlckRhdGE6OmFwcGVuZERhdGEoY29u
c3QgU3RyaW5nJiBkYXRhLCBFeGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmlu
ZGV4IGIwZjM4N2EyNWMxODk3NDViYzViMmIxODVhNDhjY2VlMjA4MjIxNDMuLmQ5N2JkMzRhMjU2
NDZiNmUyNmI1OTBjYmQ1N2I2YjY2N2NiMDRhMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApA
QCAtNjEwOSwxNCArNjEwOSwxNCBAQCB2b2lkIERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fc3R5bGVSZXNvbHZlcik7CiAgICAgQ29udGFpbmVyTm9kZTo6cmVw
b3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9j
dXN0b21Gb250cyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV91cmwpOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fYmFzZVVSTCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9iYXNlVVJMT3ZlcnJpZGUpOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZUVsZW1lbnRVUkwpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1fY29va2llVVJMKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2ZpcnN0UGFydHlGb3JDb29raWVz
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2RvY3VtZW50VVJJKTsKLSAgICBpbmZvLmFkZE1lbWJl
cihtX2Jhc2VUYXJnZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdXJsKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Jhc2VVUkwpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fYmFzZVVSTE92ZXJyaWRlKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX2Jhc2VFbGVtZW50VVJMKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2Nvb2tpZVVSTCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9m
aXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9k
b2N1bWVudFVSSSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9iYXNlVGFyZ2V0
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2ZyYW1lKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2NhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX2VsZW1TaGVldCk7CkBAIC02MTI4LDEzICs2MTI4LDEzIEBA
IHZvaWQgRG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fbm9kZUl0ZXJhdG9ycyk7
CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fcmFuZ2VzKTsKICAgICBpbmZvLmFkZExpc3RIYXNoU2V0
KG1fc3R5bGVTaGVldENhbmRpZGF0ZU5vZGVzKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZl
cnJlZFN0eWxlc2hlZXRTZXQpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNo
ZWV0U2V0KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3Jhd1RpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3ht
bEVuY29kaW5nKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3htbFZlcnNpb24pOwotICAgIGluZm8u
YWRkTWVtYmVyKG1fY29udGVudExhbmd1YWdlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3ByZWZlcnJlZFN0eWxlc2hlZXRTZXQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc2VsZWN0ZWRTdHlsZXNoZWV0U2V0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX3RpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3Jhd1RpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X3htbEVuY29kaW5nKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3htbFZlcnNp
b24pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY29udGVudExhbmd1YWdlKTsK
ICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudE5hbWVkSXRlbUNvbGxlY3Rpb25zKTsKICAg
ICBpbmZvLmFkZEhhc2hNYXAobV93aW5kb3dOYW1lZEl0ZW1Db2xsZWN0aW9ucyk7CiAjaWYgRU5B
QkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmli
dXRlRGF0YS5jcHAKaW5kZXggYjc0M2M1ZTNiNGFjYjk1ZDViOTk1NzlmMjEzYTY3OGI2ODc4YjVk
Ni4uN2Q4OWM4ODQ4MGM5N2U5YmQ0MTQwYmUxM2Q2N2Q3ZjdlMjNjMTM5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwCkBAIC0zMyw5ICszMywxNCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBzaXplX3QgaW1tdXRhYmxlRWxlbWVudEF0
dHJpYnV0ZURhdGFTaXplKHVuc2lnbmVkIGNvdW50KQoreworICAgIHJldHVybiBzaXplb2YoRWxl
bWVudEF0dHJpYnV0ZURhdGEpIC0gc2l6ZW9mKHZvaWQqKSArIHNpemVvZihBdHRyaWJ1dGUpICog
Y291bnQ7Cit9CisKIFBhc3NPd25QdHI8RWxlbWVudEF0dHJpYnV0ZURhdGE+IEVsZW1lbnRBdHRy
aWJ1dGVEYXRhOjpjcmVhdGVJbW11dGFibGUoY29uc3QgVmVjdG9yPEF0dHJpYnV0ZT4mIGF0dHJp
YnV0ZXMpCiB7Ci0gICAgdm9pZCogc2xvdCA9IFdURjo6ZmFzdE1hbGxvYyhzaXplb2YoRWxlbWVu
dEF0dHJpYnV0ZURhdGEpIC0gc2l6ZW9mKHZvaWQqKSArIHNpemVvZihBdHRyaWJ1dGUpICogYXR0
cmlidXRlcy5zaXplKCkpOworICAgIHZvaWQqIHNsb3QgPSBXVEY6OmZhc3RNYWxsb2MoaW1tdXRh
YmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXplKGF0dHJpYnV0ZXMuc2l6ZSgpKSk7CiAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyAoc2xvdCkgRWxlbWVudEF0dHJpYnV0ZURhdGEoYXR0cmlidXRlcykp
OwogfQogCkBAIC0yODYsMTUgKzI5MSwxNCBAQCB2b2lkIEVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpk
ZXRhY2hBdHRyT2JqZWN0c0Zyb21FbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAKIHZv
aWQgRWxlbWVudEF0dHJpYnV0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOworICAg
IHNpemVfdCBhY3R1YWxTaXplID0gbV9pc011dGFibGUgPyBzaXplb2YoRWxlbWVudEF0dHJpYnV0
ZURhdGEpIDogaW1tdXRhYmxlRWxlbWVudEF0dHJpYnV0ZURhdGFTaXplKG1fYXJyYXlTaXplKTsK
KyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OkRPTSwgYWN0dWFsU2l6ZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9pbmxpbmVTdHlsZURlY2wpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fYXR0cmlidXRlU3R5bGUpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2xhc3NOYW1lcyk7
Ci0gICAgaW5mby5hZGRNZW1iZXIobV9pZEZvclN0eWxlUmVzb2x1dGlvbik7CisgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pZEZvclN0eWxlUmVzb2x1dGlvbik7CiAgICAgaWYgKG1f
aXNNdXRhYmxlKQogICAgICAgICBpbmZvLmFkZFZlY3RvclB0cihtX211dGFibGVBdHRyaWJ1dGVW
ZWN0b3IpOwotICAgIGVsc2UKLSAgICAgICAgaW5mby5hZGRSYXdCdWZmZXIobV9hdHRyaWJ1dGVz
LCBtX2FycmF5U2l6ZSAqIHNpemVvZihBdHRyaWJ1dGUpKTsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwLCBsZW4gPSBsZW5ndGgoKTsgaSA8IGxlbjsgaSsrKQogICAgICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcigqYXR0cmlidXRlSXRlbShpKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50LmNwcAppbmRl
eCAwOGU2NDRmZjZlNmJhZTFmOGVkMjRmNzk4M2UxNWM5NGZmOWY4OWY0Li5jODBkNDFmYmJkOWNh
ZTEwODUwYjRmOTc1ZjhhN2E5YWEzZTg2M2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudC5jcHAKQEAgLTE1OCw3
ICsxNTgsNyBAQCB2b2lkIEV2ZW50OjpzdG9yZVJlc3VsdChjb25zdCBTdHJpbmcmKQogdm9pZCBF
dmVudDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV90
eXBlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3R5cGUpOwogICAgIGluZm8u
YWRkTWVtYmVyKG1fY3VycmVudFRhcmdldCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV90YXJnZXQp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdW5kZXJseWluZ0V2ZW50KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggYTlmZWZj
YWNhNjNmZjk5YWI4YmNmZWUyMWZmMjRhOTdhOTA2MDRlMy4uZjkyNGM4NzZkYzIzNWQxMTZhZDFh
OGUyMTYzMjBkYjgxNWNmMjk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9y
eUluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3Ry
dW1lbnRhdGlvbi5jcHAKQEAgLTM3LDMwICszNywzNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRPYmplY3QoY29uc3QgU3RyaW5nJiBz
dHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9u
OjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFN0cmluZyogY29uc3QmIHN0cmluZywg
T2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlIG93bmluZ1R5cGUpCiB7Ci0gICAgYWRk
T2JqZWN0KHN0cmluZy5pbXBsKCksIG9iamVjdFR5cGUpOworICAgIGlmICghc3RyaW5nIHx8IHZp
c2l0ZWQoc3RyaW5nKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChvd25pbmdUeXBlID09IGJ5
UG9pbnRlcikKKyAgICAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIHNpemVvZihTdHJp
bmcpKTsKKyAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKHN0cmluZy0+aW1wbCgpLCBvYmpl
Y3RUeXBlLCBieVBvaW50ZXIpOwogfQogCi12b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRk
T2JqZWN0KGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwsIE9iamVjdFR5cGUgb2JqZWN0VHlw
ZSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBs
KGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmdJbXBsLCBPYmplY3RUeXBlIG9iamVjdFR5
cGUsIE93bmluZ1R5cGUpCiB7CiAgICAgaWYgKCFzdHJpbmdJbXBsIHx8IHZpc2l0ZWQoc3RyaW5n
SW1wbCkpCiAgICAgICAgIHJldHVybjsKICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwg
c3RyaW5nSW1wbC0+c2l6ZUluQnl0ZXMoKSk7CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjphZGRPYmplY3QoY29uc3QgS1VSTCYgdXJsLCBPYmplY3RUeXBlIG9iamVjdFR5cGUpCit2
b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25z
dCBLVVJMKiBjb25zdCYgdXJsLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUgb3du
aW5nVHlwZSkKIHsKLSAgICBpZiAodmlzaXRlZCgmdXJsKSkKKyAgICBpZiAoIXVybCB8fCB2aXNp
dGVkKHVybCkpCiAgICAgICAgIHJldHVybjsKLSAgICBhZGRPYmplY3QodXJsLnN0cmluZygpLCBv
YmplY3RUeXBlKTsKLSAgICBpZiAodXJsLmlubmVyVVJMKCkpCi0gICAgICAgIGFkZE9iamVjdCh1
cmwuaW5uZXJVUkwoKSwgb2JqZWN0VHlwZSk7CisgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlQb2lu
dGVyKQorICAgICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgc2l6ZW9mKEtVUkwpKTsK
KyAgICBhZGRJbnN0cnVtZW50ZWRPYmplY3QodXJsLT5zdHJpbmcoKSwgb2JqZWN0VHlwZSk7Cisg
ICAgaWYgKHVybC0+aW5uZXJVUkwoKSkKKyAgICAgICAgYWRkSW5zdHJ1bWVudGVkT2JqZWN0KHVy
bC0+aW5uZXJVUkwoKSwgb2JqZWN0VHlwZSk7CiB9CiAKLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjphZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3Qm
IHN0cmluZywgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBPd25pbmdUeXBlKQordm9pZCBNZW1vcnlJ
bnN0cnVtZW50YXRpb246OmFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgQXRvbWljU3Ry
aW5nKiBjb25zdCYgYXRvbWljU3RyaW5nLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5
cGUgb3duaW5nVHlwZSkKIHsKLSAgICBhZGRPYmplY3Qoc3RhdGljX2Nhc3Q8Y29uc3QgU3RyaW5n
Jj4oKnN0cmluZyksIG9iamVjdFR5cGUpOworICAgIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBTdHJpbmcqIGNvbnN0PihhdG9taWNTdHJpbmcpLCBvYmpl
Y3RUeXBlLCBvd25pbmdUeXBlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4IGMwYzJkMzc1YWE4Y2Zh
ZmVhMjJlM2Q5M2VmMDNlNDgyODkxOTczMTMuLmYzYTNkNmQ1NDkwZTBjOWI3NjZlY2NiMTE0NGIx
NjdiMWIyNDk5MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVt
ZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmgKQEAgLTEwMiw5ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICAgICAgT3duaW5nVHJh
aXRzPFQ+OjphZGRPYmplY3QodGhpcywgdCwgb3duZXJPYmplY3RUeXBlKTsKICAgICB9Ci0gICAg
dm9pZCBhZGRPYmplY3QoY29uc3QgU3RyaW5nJiwgT2JqZWN0VHlwZSk7Ci0gICAgdm9pZCBhZGRP
YmplY3QoY29uc3QgU3RyaW5nSW1wbCosIE9iamVjdFR5cGUpOwotICAgIHZvaWQgYWRkT2JqZWN0
KGNvbnN0IEtVUkwmLCBPYmplY3RUeXBlKTsKKwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2
b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdChjb25zdCBUJiB0LCBPYmplY3RUeXBlIG93bmVyT2Jq
ZWN0VHlwZSkgeyBPd25pbmdUcmFpdHM8VD46OmFkZEluc3RydW1lbnRlZE9iamVjdCh0aGlzLCB0
LCBvd25lck9iamVjdFR5cGUpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hNYXBUeXBl
PiB2b2lkIGFkZEhhc2hNYXAoY29uc3QgSGFzaE1hcFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNv
bnRlbnRPbmx5ID0gZmFsc2UpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4g
dm9pZCBhZGRIYXNoU2V0KGNvbnN0IEhhc2hTZXRUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250
ZW50T25seSA9IGZhbHNlKTsKQEAgLTEzNywxMCArMTM1LDEwIEBAIHByaXZhdGU6CiAgICAgICAg
IHN0YXRpYyB2b2lkIGFkZE9iamVjdChNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRh
dGlvbiwgY29uc3QgVCogY29uc3QmIHQsIE9iamVjdFR5cGUgb3duZXJPYmplY3RUeXBlKSB7IGlu
c3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0SW1wbCh0LCBvd25lck9iamVjdFR5cGUsIGJ5UG9pbnRl
cik7IH0KICAgICB9OwogCi0gICAgLy8gRklYTUU6IGdldCByaWQgb2YgYWRkT2JqZWN0KFN0cmlu
ZykKLSAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgU3RyaW5nKiBjb25z
dCYgc3RyaW5nLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIE93bmluZ1R5cGUpIHsgYWRkT2JqZWN0
KCpzdHJpbmcsIG9iamVjdFR5cGUpOyB9Ci0gICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJ
bXBsKGNvbnN0IFN0cmluZ0ltcGwqIGNvbnN0JiBzdHJpbmcsIE9iamVjdFR5cGUgb2JqZWN0VHlw
ZSwgT3duaW5nVHlwZSkgeyBhZGRPYmplY3Qoc3RyaW5nLCBvYmplY3RUeXBlKTsgfQorICAgIHZv
aWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBTdHJpbmcqIGNvbnN0JiwgT2JqZWN0
VHlwZSwgT3duaW5nVHlwZSk7CisgICAgdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNv
bnN0IFN0cmluZ0ltcGwqIGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CiAgICAgdm9p
ZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IEF0b21pY1N0cmluZyogY29uc3QmLCBP
YmplY3RUeXBlLCBPd25pbmdUeXBlKTsKKyAgICB2b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdElt
cGwoY29uc3QgS1VSTCogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKICAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJbnN0cnVtZW50ZWRPYmplY3RJbXBsKGNvbnN0IFQq
IGNvbnN0JiwgT2JqZWN0VHlwZSwgT3duaW5nVHlwZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1l
IFQ+IHZvaWQgYWRkSW5zdHJ1bWVudGVkT2JqZWN0SW1wbChjb25zdCBEYXRhUmVmPFQ+KiBjb25z
dCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2
b2lkIGFkZEluc3RydW1lbnRlZE9iamVjdEltcGwoY29uc3QgT3duUHRyPFQ+KiBjb25zdCYsIE9i
amVjdFR5cGUsIE93bmluZ1R5cGUpOwpAQCAtMTUwLDYgKzE0OCwxMiBAQCBwcml2YXRlOgogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgRGF0YVJlZjxU
PiogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4gdm9pZCBhZGRPYmplY3RJbXBsKGNvbnN0IE93blB0cjxUPiogY29uc3QmLCBPYmplY3RU
eXBlLCBPd25pbmdUeXBlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRPYmpl
Y3RJbXBsKGNvbnN0IFJlZlB0cjxUPiogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBlKTsK
KworICAgIC8vIExpbmsgdGltZSBndWFyZHMgZm9yIHNwZWNpYWwgY2FzZXMuCisgICAgdm9pZCBh
ZGRPYmplY3RJbXBsKGNvbnN0IFN0cmluZyogY29uc3QmLCBPYmplY3RUeXBlLCBPd25pbmdUeXBl
KTsKKyAgICB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgU3RyaW5nSW1wbCogY29uc3QmLCBPYmpl
Y3RUeXBlLCBPd25pbmdUeXBlKTsKKyAgICB2b2lkIGFkZE9iamVjdEltcGwoY29uc3QgQXRvbWlj
U3RyaW5nKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOworICAgIHZvaWQgYWRkT2Jq
ZWN0SW1wbChjb25zdCBLVVJMKiBjb25zdCYsIE9iamVjdFR5cGUsIE93bmluZ1R5cGUpOwogfTsK
IAogY2xhc3MgTWVtb3J5T2JqZWN0SW5mbyB7CkBAIC0yMTAsMTEgKzIxNCw2IEBAIHB1YmxpYzoK
ICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3JQdHIoY29u
c3QgVmVjdG9yVHlwZSogY29uc3QgdmVjdG9yKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5h
ZGRWZWN0b3IoKnZlY3RvciwgbV9vYmplY3RUeXBlLCBmYWxzZSk7IH0KICAgICB2b2lkIGFkZFJh
d0J1ZmZlcihjb25zdCB2b2lkKiBjb25zdCYgYnVmZmVyLCBzaXplX3Qgc2l6ZSkgeyBtX21lbW9y
eUluc3RydW1lbnRhdGlvbi0+YWRkUmF3QnVmZmVyKGJ1ZmZlciwgbV9vYmplY3RUeXBlLCBzaXpl
KTsgfQogCi0gICAgdm9pZCBhZGRNZW1iZXIoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgbV9tZW1v
cnlJbnN0cnVtZW50YXRpb24tPmFkZE9iamVjdChzdHJpbmcsIG1fb2JqZWN0VHlwZSk7IH0KLSAg
ICB2b2lkIGFkZE1lbWJlcihjb25zdCBBdG9taWNTdHJpbmcmIHN0cmluZykgeyBtX21lbW9yeUlu
c3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0KChjb25zdCBTdHJpbmcmKXN0cmluZywgbV9vYmplY3RU
eXBlKTsgfQotICAgIHZvaWQgYWRkTWVtYmVyKGNvbnN0IFN0cmluZ0ltcGwqIHN0cmluZykgeyBt
X21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkT2JqZWN0KHN0cmluZywgbV9vYmplY3RUeXBlKTsg
fQotICAgIHZvaWQgYWRkTWVtYmVyKGNvbnN0IEtVUkwmIHVybCkgeyBtX21lbW9yeUluc3RydW1l
bnRhdGlvbi0+YWRkT2JqZWN0KHVybCwgbV9vYmplY3RUeXBlKTsgfQotCiBwcml2YXRlOgogICAg
IE1lbW9yeU9iamVjdEluZm8qIG1fbWVtb3J5T2JqZWN0SW5mbzsKICAgICBNZW1vcnlJbnN0cnVt
ZW50YXRpb24qIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmgKaW5kZXggYTYyZDRjMmRhYTc0YWNmZGMwZDQ4ZmNhMmIxYWNhNmQ4MTJmNDVhZC4uZDFm
NTI2OTdmNGE0YjdhYWVkNDRiYjdmZDY2OTgzMTczMjczZDBiYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVh
bGlmaWVkTmFtZS5oCkBAIC01MywxMCArNTMsMTAgQEAgcHVibGljOgogICAgICAgICB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiAgICAgICAgIHsKICAgICAgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKLSAgICAgICAgICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcHJlZml4KTsKLSAgICAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbG9j
YWxOYW1lKTsKLSAgICAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbmFtZXNwYWNlKTsKLSAgICAg
ICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbG9jYWxOYW1lVXBwZXIpOworICAgICAgICAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmVmaXgpOworICAgICAgICAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9sb2NhbE5hbWUpOworICAgICAgICAgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9uYW1lc3BhY2UpOworICAgICAgICAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9sb2NhbE5hbWVVcHBlcik7CiAgICAgICAgIH0KICAgICBwcml2YXRlOgog
ICAgICAgICBRdWFsaWZpZWROYW1lSW1wbChjb25zdCBBdG9taWNTdHJpbmcmIHByZWZpeCwgY29u
c3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNl
VVJJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggM2JlOWJi
NjUzNDUwYjQyMzFlNzdiMGY1YzVlYWQ5YTNjYWQ3ZmE0Yi4uZWE2OWJmNTJmODgzMzc1OWZiOTg4
MmNjNjc4YzIwMjk3NGQ5OTM0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCkBAIC0zNjQsOCArMzY0LDggQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZEhhc2hTZXQobV9tdWx0aXBhcnRTdWJyZXNvdXJjZUxvYWRlcnMp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX3BsdWdJblN0cmVhbUxvYWRlcnMp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc3Vic3RpdHV0ZURhdGEpOwotICAg
IGluZm8uYWRkTWVtYmVyKG1fcGFnZVRpdGxlLnN0cmluZygpKTsKLSAgICBpbmZvLmFkZE1lbWJl
cihtX292ZXJyaWRlRW5jb2RpbmcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cGFnZVRpdGxlLnN0cmluZygpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX292
ZXJyaWRlRW5jb2RpbmcpOwogICAgIGluZm8uYWRkVmVjdG9yKG1fcmVzcG9uc2VzKTsKICAgICBp
bmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX29yaWdpbmFsUmVxdWVzdCk7CiAgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vcmlnaW5hbFJlcXVlc3RDb3B5KTsKQEAgLTM3Niw3ICsz
NzYsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIGluZm8uYWRkSGFzaE1hcChtX3Bl
bmRpbmdTdWJzdGl0dXRlUmVzb3VyY2VzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZEhhc2hT
ZXQobV9yZXNvdXJjZXNDbGllbnRLbm93c0Fib3V0KTsKICAgICBpbmZvLmFkZFZlY3RvcihtX3Jl
c291cmNlc0xvYWRlZEZyb21NZW1vcnlDYWNoZUZvckNsaWVudE5vdGlmaWNhdGlvbik7Ci0gICAg
aW5mby5hZGRNZW1iZXIobV9jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5
KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21haW5SZXNvdXJjZURhdGEpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAyM2U5YjZjYzkyNmMx
NDE2ZGRhZTg5MzBkMzMxMDE5OTQ1MjRmNmFlLi5jYTlmZjA5NDdhNDE3MzZhYWE3ODY3MDU3NjRk
ZDhlOTJlOWUxZGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTMy
MzYsMTAgKzMyMzYsMTAgQEAgTmV0d29ya2luZ0NvbnRleHQqIEZyYW1lTG9hZGVyOjpuZXR3b3Jr
aW5nQ29udGV4dCgpIGNvbnN0CiB2b2lkIEZyYW1lTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvY3VtZW50TG9h
ZGVyLmdldCgpKTsKLSAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3Zpc2lvbmFs
RG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwotICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
cG9saWN5RG9jdW1lbnRMb2FkZXIuZ2V0KCkpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fb3V0Z29p
bmdSZWZlcnJlcik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9kb2N1bWVudExv
YWRlcik7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm92aXNpb25hbERvY3Vt
ZW50TG9hZGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BvbGljeURvY3Vt
ZW50TG9hZGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX291dGdvaW5nUmVm
ZXJyZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzaFNldChtX29wZW5lZEZyYW1lcyk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJzdGl0dXRlRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vic3RpdHV0ZURhdGEuY3BwCmluZGV4IDgwNmJk
MWQ4ZWY2YjE2YTY5NTYwYTE0ZmYyM2MzNWUxMThkNjEzZDAuLmEyNjljMzQ5ODFlZjc4NDlkMzMx
NWNjNzZlOWQ5NjUzOWFmOWQwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJzdGl0dXRlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnN0aXR1dGVE
YXRhLmNwcApAQCAtMzksMTAgKzM5LDEwIEBAIHZvaWQgU3Vic3RpdHV0ZURhdGE6OnJlcG9ydE1l
bW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAg
ICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpMb2FkZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
Y29udGVudCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9taW1lVHlwZSk7Ci0gICAgaW5mby5hZGRN
ZW1iZXIobV90ZXh0RW5jb2RpbmcpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fZmFpbGluZ1VSTCk7
Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yZXNwb25zZVVSTCk7CisgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9taW1lVHlwZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV90ZXh0RW5jb2RpbmcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmFpbGlu
Z1VSTCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXNwb25zZVVSTCk7CiB9
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NT
dHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRDU1NTdHls
ZVNoZWV0LmNwcAppbmRleCA3ZTQ0ZWJjMjhhZWE0NjczMjU5MzUxZjkzZDY2OGQzMzZhMzg3ZWE4
Li40OThkMmZhNTdkOGUyMjcwYTYyY2QzNjQyNDA5MjQyNTJlNTY0NjM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZENTU1N0eWxlU2hlZXQuY3BwCkBAIC0y
MDgsNyArMjA4LDcgQEAgdm9pZCBDYWNoZWRDU1NTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQogICAgIENhY2hlZFJlc291cmNl
OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJl
cihtX2RlY29kZXIpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFyc2VkU3R5
bGVTaGVldENhY2hlKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZWRTaGVldFRleHQpOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZGVjb2RlZFNoZWV0VGV4dCk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCmlu
ZGV4IGM2MTlkZGFkNjYzMjhhNTg0OWJjZmVhNGU0OWQ5MmE4YTQ5OGMwNGQuLmQ3YWJjYWU4NDBj
Nzk2ZDYxYWI2MzYwNDVmZDVhZjVkZDcyYzc5MTYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcApAQCAtODA2LDExICs4MDYsMTEgQEAgdm9pZCBD
YWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKICAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlKTsKICAgICBp
bmZvLmFkZE1lbWJlcihtX3Jlc291cmNlUmVxdWVzdCk7CiAgICAgaW5mby5hZGRIYXNoU2V0KG1f
Y2xpZW50cyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9hY2NlcHQpOworICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fYWNjZXB0KTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX2xvYWRlcik7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yZXNwb25zZSk7CisgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9yZXNwb25zZSk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9kYXRhKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2NhY2hlZE1ldGFkYXRhLmdl
dCgpKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NhY2hlZE1ldGFkYXRhKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX25leHRJbkFsbFJlc291cmNlc0xpc3QpOwogICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJldkluQWxsUmVzb3VyY2VzTGlzdCk7CiAgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9uZXh0SW5MaXZlUmVzb3VyY2VzTGlzdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAppbmRleCA3YjU2NDY1Mzg2NjZjM2ZlNDFhMzViZmIwMDYzODJhOThhYjMzOTg2Li5iMjU4YzA1
N2ZmM2FmMTExOTU4MGRlMWFmNjA4NDA1MzJmNmEwYTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg4Myw3ICs4
ODMsNyBAQCB2b2lkIENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsK
ICAgICBpbmZvLmFkZEhhc2hNYXAobV9kb2N1bWVudFJlc291cmNlcyk7CiAgICAgZm9yIChEb2N1
bWVudFJlc291cmNlTWFwOjpjb25zdF9pdGVyYXRvciBpID0gbV9kb2N1bWVudFJlc291cmNlcy5i
ZWdpbigpOyBpICE9IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCk7ICsraSkgewotICAgICAgICBp
bmZvLmFkZE1lbWJlcihpLT5maXJzdCk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKGktPmZpcnN0KTsKICAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+c2Vj
b25kKTsKICAgICB9CiAgICAgaW5mby5hZGRIYXNoU2V0KG1fdmFsaWRhdGVkVVJMcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2NyaXB0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTY3JpcHQuY3BwCmluZGV4IDdlN2YyNjkw
NWExYmEyMzY4MzAwMDAxZTlmYmNhZjY4YjUxNmYzNjMuLjEyYzlmZTU3MzJmMDFmZWQxYzkyOGI0
ZTllOTA3YTEwYTcxZmNhOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRTY3JpcHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRTY3JpcHQuY3BwCkBAIC0xMzEsNyArMTMxLDcgQEAgdm9pZCBDYWNoZWRTY3JpcHQ6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7
CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDYWNoZWRSZXNvdXJjZVNjcmlwdCk7CiAgICAgQ2FjaGVkUmVzb3Vy
Y2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fc2NyaXB0KTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3NjcmlwdCk7
CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsKICNpZiBVU0UoSlNDKQogICAgIGluZm8u
YWRkTWVtYmVyKG1fc291cmNlUHJvdmlkZXJDYWNoZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU2hhZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwCmluZGV4IDcyZWI1YzA1M2FhMmUxY2FkMmI1Nzk4MTZl
NzI1OWMzMTk3YzY3ZjYuLmEzMWFiZDA1MDMyZGUwNWIyN2Q0YzZkZDUzNTA4YTVkZmNiY2YyZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTaGFkZXIuY3BwCkBAIC03
Myw3ICs3Myw3IEBAIHZvaWQgQ2FjaGVkU2hhZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVk
UmVzb3VyY2VTaGFkZXIpOwogICAgIENhY2hlZFJlc291cmNlOjpyZXBvcnRNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX2RlY29kZXIpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fc2hhZGVyU3RyaW5nKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1l
bWJlcihtX3NoYWRlclN0cmluZyk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcApp
bmRleCBkMTRkNWYyYTM3OTQwOWJhODIwNzcxMGE4YTQyOWVkYTIyNzc0ZTJiLi4wZTc3MTYxOGJj
NTg5MWIzODY2MTdjNzE5N2I5NzViM2RlY2YzNjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFhTTFN0eWxlU2hlZXQuY3BwCkBAIC0xMDEsNyArMTAxLDcg
QEAgdm9pZCBDYWNoZWRYU0xTdHlsZVNoZWV0OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKQogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3Vy
Y2VYU0xUKTsKICAgICBDYWNoZWRSZXNvdXJjZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zaGVldCk7CisgICAgaW5mby5hZGRJbnN0
cnVtZW50ZWRNZW1iZXIobV9zaGVldCk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9kZWNvZGVyKTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKaW5kZXgg
NTBmNDVjZDEyMmRmNmU2OWM1Yjc2MWUwMzBhMWU4OGQ4YzhiMWE1ZC4uNjYxMTFkNzNmN2QxZmIw
MTIxOTU2YWVhZmQxMDM3YWRiZDI4YjAxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC03MjEsNyArNzIxLDcgQEAgdm9pZCBNZW1vcnlDYWNoZTo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKICAgICBpbmZvLmFkZEhhc2hNYXAobV9yZXNvdXJjZXMpOwogICAgIENhY2hlZFJlc291cmNl
TWFwOjpjb25zdF9pdGVyYXRvciBlID0gbV9yZXNvdXJjZXMuZW5kKCk7CiAgICAgZm9yIChDYWNo
ZWRSZXNvdXJjZU1hcDo6Y29uc3RfaXRlcmF0b3IgaSA9IG1fcmVzb3VyY2VzLmJlZ2luKCk7IGkg
IT0gZTsgKytpKSB7Ci0gICAgICAgIGluZm8uYWRkTWVtYmVyKGktPmZpcnN0KTsKKyAgICAgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoaS0+Zmlyc3QpOwogICAgICAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihpLT5zZWNvbmQpOwogICAgIH0KICAgICBpbmZvLmFkZFZlY3Rvciht
X2FsbFJlc291cmNlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlUmVxdWVzdEJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9SZXNvdXJjZVJlcXVlc3RCYXNlLmNwcAppbmRleCBhODI5MDc4YWVhMDYwNTcwMTc0YTZh
M2E3ZjBiMWUzMzY1NjlmYmFmLi42NGViYzE4YzhhNzQ1MGRmNjRhNjIwYTY2ZDNlMzY4MzE3ZTFj
OTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNl
UmVxdWVzdEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXF1ZXN0QmFzZS5jcHAKQEAgLTQ0Nyw4ICs0NDcsOCBAQCBib29sIFJlc291cmNlUmVx
dWVzdEJhc2U6OmlzQ29uZGl0aW9uYWwoKSBjb25zdAogdm9pZCBSZXNvdXJjZVJlcXVlc3RCYXNl
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6TG9hZGVyKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Vy
bCk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9maXJzdFBhcnR5Rm9yQ29va2llcyk7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91cmwpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fZmlyc3RQYXJ0eUZvckNvb2tpZXMpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1faHR0cE1ldGhvZCk7CiAgICAgaW5mby5hZGRIYXNoTWFwKG1faHR0cEhlYWRlckZp
ZWxkcyk7CiAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNYXBFbnRyaWVzKG1faHR0cEhlYWRlckZp
ZWxkcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlUmVzcG9uc2VCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VSZXNwb25zZUJhc2UuY3BwCmluZGV4IGZhMDUzODFjZDVkNzAzNGYyZTk2NjllNGRkNGE1
NjVhOWQ0YjcyZDcuLmU4ZDdjYTQzMzY5ZTY5MTk2OTgyOGQyNGUzNDEzODBlZjMyMDdkZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VSZXNwb25z
ZUJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuY3BwCkBAIC01NzEsNyArNTcxLDcgQEAgdm9pZCBSZXNvdXJjZVJlc3BvbnNl
QmFzZTo6bGF6eUluaXQoSW5pdExldmVsIGluaXRMZXZlbCkgY29uc3QKIHZvaWQgUmVzb3VyY2VS
ZXNwb25zZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpMb2FkZXIpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fdXJsKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VybCk7CiAg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9taW1lVHlwZSk7CiAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV90ZXh0RW5jb2RpbmdOYW1lKTsKICAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihtX3N1Z2dlc3RlZEZpbGVuYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAppbmRl
eCAxNGNiNjdkODhjZTZjNTE3OTk1YjFlYjBkMWYzODhmODNhZWU2NDAxLi42MmZlNWI4OWYyNmZj
ZTkyYTYyMzBhYjZjODQ1ZWNiZWRlMzA4Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCkBAIC0yNjYs
MTMgKzI2NiwxMyBAQCB2b2lkIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZgogewogICAgIE1lbW9yeUNsYXNz
SW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6
Q1NTKTsKICAgICBpbmZvLmFkZE1lbWJlcih0ZXh0U2hhZG93KTsKLSAgICBpbmZvLmFkZE1lbWJl
cihoaWdobGlnaHQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGhpZ2hsaWdodCk7
CiAgICAgaW5mby5hZGRNZW1iZXIoY3Vyc29yRGF0YSk7Ci0gICAgaW5mby5hZGRNZW1iZXIoaHlw
aGVuYXRpb25TdHJpbmcpOwotICAgIGluZm8uYWRkTWVtYmVyKGxvY2FsZSk7Ci0gICAgaW5mby5h
ZGRNZW1iZXIodGV4dEVtcGhhc2lzQ3VzdG9tTWFyayk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIoaHlwaGVuYXRpb25TdHJpbmcpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKGxvY2FsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIodGV4dEVtcGhhc2lz
Q3VzdG9tTWFyayk7CiAgICAgaW5mby5hZGRNZW1iZXIocXVvdGVzKTsKLSAgICBpbmZvLmFkZE1l
bWJlcihtX2xpbmVHcmlkKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2xpbmVH
cmlkKTsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICBpbmZvLmFkZE1lbWJlcihtX3Zh
cmlhYmxlcyk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcAppbmRleCAxZTJmNDQ4OGRi
NGRiMTQyZjNmZWZmMTI5ZWQxZDE0MGZkZDFlMmIyLi41YjgwMGQwYWNiYWE2NDk2ZTU2NDIwZjkw
ZGIyODA0M2M4MmM1MWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCkBAIC0zMjMsOCArMzIz
LDggQEAgdm9pZCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3QKICAgICBpbmZvLmFkZE1lbWJlcihtX3RyYW5z
aXRpb25zKTsKICAgICBpbmZvLmFkZE1lbWJlcihtX3dyYXBTaGFwZUluc2lkZSk7CiAgICAgaW5m
by5hZGRNZW1iZXIobV93cmFwU2hhcGVPdXRzaWRlKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2Zs
b3dUaHJlYWQpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcmVnaW9uVGhyZWFkKTsKKyAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2Zsb3dUaHJlYWQpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fcmVnaW9uVGhyZWFkKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdQYWludC5jcHAKaW5kZXggNGQ4NGY1MjIxOGIxYmM4MWRjMjZkNzY4NmU4
YWQxNGZmY2U3OGJiZS4uYmE3NDQzNTgzYmMxNWQ0N2U5YzRmMTdhMzA1NGI3OTlmMjQ2MTExMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1BhaW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHUGFpbnQuY3BwCkBAIC0xMTUsNyArMTE1LDcgQEAgUGFzc1JlZlB0cjxT
VkdQYWludD4gU1ZHUGFpbnQ6OmNsb25lRm9yQ1NTT00oKSBjb25zdAogdm9pZCBTVkdQYWludDo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1fdXJpKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3VyaSk7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01lbW9yeUluc3Ry
dW1lbnRhdGlvblRlc3QuY3BwCmluZGV4IDA1MjkzNmRhYjBlMGI0OTdmOGFjOGU3NzdkZDg5NzIy
MmZjZjQ0YzYuLmI1YjUwYmY3ZDdkMTdlMzk3MzQ3M2U3ZjkyZjFmMjM0MzhhOTMzZWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9NZW1vcnlJbnN0cnVt
ZW50YXRpb25UZXN0LmNwcApAQCAtMzgsNiArMzgsOSBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nSW1wbC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMjI0LDUgKzIyNywzMyBAQCBURVNUKE1lbW9yeUluc3Ry
dW1lbnRhdGlvblRlc3QsIHZpc2l0Rmlyc3RNZW1iZXJJbk5vblZpcnR1YWxDbGFzcykKICAgICBF
WFBFQ1RfRVEoMiwgdmlzaXRlZE9iamVjdHMuc2l6ZSgpKTsKIH0KIAorVEVTVChNZW1vcnlJbnN0
cnVtZW50YXRpb25UZXN0LCB2aXNpdFN0cmluZ3MpCit7CisgICAgeworICAgICAgICBWaXNpdGVk
T2JqZWN0cyB2aXNpdGVkT2JqZWN0czsKKyAgICAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uSW1w
bCBpbXBsKHZpc2l0ZWRPYmplY3RzKTsKKyAgICAgICAgU3RyaW5nIHN0cmluZygic3RyaW5nIik7
CisgICAgICAgIGltcGwuYWRkUm9vdE9iamVjdChzdHJpbmcpOworICAgICAgICBFWFBFQ1RfRVEo
c3RyaW5nLmltcGwoKS0+c2l6ZUluQnl0ZXMoKSwgaW1wbC5yZXBvcnRlZFNpemVGb3JBbGxUeXBl
cygpKTsKKyAgICAgICAgRVhQRUNUX0VRKDIsIHZpc2l0ZWRPYmplY3RzLnNpemUoKSk7CisgICAg
fQorICAgIHsKKyAgICAgICAgVmlzaXRlZE9iamVjdHMgdmlzaXRlZE9iamVjdHM7CisgICAgICAg
IE1lbW9yeUluc3RydW1lbnRhdGlvbkltcGwgaW1wbCh2aXNpdGVkT2JqZWN0cyk7CisgICAgICAg
IFN0cmluZyBzdHJpbmcoInN0cmluZyIpOworICAgICAgICBpbXBsLmFkZFJvb3RPYmplY3QoJnN0
cmluZyk7CisgICAgICAgIEVYUEVDVF9FUShzdHJpbmcuaW1wbCgpLT5zaXplSW5CeXRlcygpICsg
c2l6ZW9mKFN0cmluZyksIGltcGwucmVwb3J0ZWRTaXplRm9yQWxsVHlwZXMoKSk7CisgICAgICAg
IEVYUEVDVF9FUSgyLCB2aXNpdGVkT2JqZWN0cy5zaXplKCkpOworICAgIH0KKyAgICB7CisgICAg
ICAgIFZpc2l0ZWRPYmplY3RzIHZpc2l0ZWRPYmplY3RzOworICAgICAgICBNZW1vcnlJbnN0cnVt
ZW50YXRpb25JbXBsIGltcGwodmlzaXRlZE9iamVjdHMpOworICAgICAgICBBdG9taWNTdHJpbmcg
c3RyaW5nKCJzdHJpbmciKTsKKyAgICAgICAgaW1wbC5hZGRSb290T2JqZWN0KCZzdHJpbmcpOwor
ICAgICAgICBFWFBFQ1RfRVEoc3RyaW5nLmltcGwoKS0+c2l6ZUluQnl0ZXMoKSArIHNpemVvZihB
dG9taWNTdHJpbmcpLCBpbXBsLnJlcG9ydGVkU2l6ZUZvckFsbFR5cGVzKCkpOworICAgICAgICBF
WFBFQ1RfRVEoMiwgdmlzaXRlZE9iamVjdHMuc2l6ZSgpKTsKKyAgICB9Cit9CisKIH0gLy8gbmFt
ZXNwYWNlCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>