<?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>92962</bug_id>
          
          <creation_ts>2012-08-02 02:12:15 -0700</creation_ts>
          <short_desc>Web Inspector: add CSSRule memory instrumentation</short_desc>
          <delta_ts>2012-08-03 03:18:54 -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>
          <dependson>92748</dependson>
          <blocked>87262</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>koivisto</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>685125</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-02 02:12:15 -0700</bug_when>
    <thetext>It is the next step required for reporting memory footprint for CSSStyleSheet and related objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685139</commentid>
    <comment_count>1</comment_count>
      <attachid>156018</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-02 02:25:13 -0700</bug_when>
    <thetext>Created attachment 156018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685173</commentid>
    <comment_count>2</comment_count>
      <attachid>156018</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-02 03:26:35 -0700</bug_when>
    <thetext>Comment on attachment 156018
Patch

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

lgtm with nits

&gt; Source/WebCore/css/CSSRuleList.h:36
&gt; +class MemoryObjectInfo;

unnecessary line</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685177</commentid>
    <comment_count>3</comment_count>
      <attachid>156018</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-02 03:33:16 -0700</bug_when>
    <thetext>Comment on attachment 156018
Patch

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

&gt;&gt; Source/WebCore/css/CSSRuleList.h:36
&gt;&gt; +class MemoryObjectInfo;
&gt; 
&gt; unnecessary line

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>685179</commentid>
    <comment_count>4</comment_count>
      <attachid>156026</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-02 03:34:40 -0700</bug_when>
    <thetext>Created attachment 156026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686506</commentid>
    <comment_count>5</comment_count>
      <attachid>156026</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-03 03:18:47 -0700</bug_when>
    <thetext>Comment on attachment 156026
Patch

Clearing flags on attachment: 156026

Committed r124589: &lt;http://trac.webkit.org/changeset/124589&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686508</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-03 03:18:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156018</attachid>
            <date>2012-08-02 02:25:13 -0700</date>
            <delta_ts>2012-08-02 03:34:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92962-20120802132453.patch</filename>
            <type>text/plain</type>
            <size>30525</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhhYmJjYWRmMzkxZWVm
NmI2MzcyODIzMjE2ZjNjMmM4NzQ4OGFmMy4uOTZkYzI0ZDM2N2M0MDhkYmRhOWI3YjU3ZjdkOWY5
NjUxNjM1ZGE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwNyBAQAorMjAxMi0wOC0wMiAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBhZGQgQ1NTUnVsZSBtZW1vcnkgaW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjk2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG1lbW9yeSBmb290cHJpbnQgcmVw
b3J0aW5nIG1ldGhvZCB0byBDU1NSdWxlIGFuZCBpdHMgZGVzY2VuZGFudHMuCisKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2hhcnNldFJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1bGUuaDoKKyAgICAgICAgKENTU0NoYXJzZXRSdWxlKToK
KyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oOgorICAgICAgICAoQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKToKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRG
YWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuaDoKKyAgICAgICAgKENTU0ZvbnRGYWNl
UnVsZSk6CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1wb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmg6CisgICAgICAgIChDU1NJ
bXBvcnRSdWxlKToKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU01lZGlhUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDoKKyAgICAgICAgKENT
U01lZGlhUnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhZ2VSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgIChDU1NQ
YWdlUnVsZSk6CisgICAgICAgICogY3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOiB3ZSBtYW51YWxseSBpbXBsZW1lbnQgcG9seW1v
cnBoaWMKKyAgICAgICAgY2FsbCBoZXJlIHRvIGF2b2lkIGFkZGluZyB2dGFibGUgcG9pbnRlciB0
byBhbGwgQ1NTUnVsZSBvYmplY3RzLiBEZXNjZW5kYW50cworICAgICAgICBhcmUgZXhwZWN0ZWQg
dG8gcmVwb3J0IHRoZWlyIG1lbW9yeSB2aWEgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlLiBU
aGUgbmFtZQorICAgICAgICBpcyBpbnRlbnRpb25hbGx5IGRpZmZlcmVudCBmcm9tIHJlcG9ydE1l
bW9yeVVzYWdlIHRvIGF2b2lkIGFjY2lkZW50aWFsIGluZml0aXRlCisgICAgICAgIHJlY3Vyc2lv
bjogaWYgdGhlIGRlc2NlbmRhbnRzIG92ZXJyb2RlIG5vbi12aXJ0dWFsIENTU1J1bGU6OnJlcG9y
dE1lbW9yeVVzYWdlLAorICAgICAgICBpdCB3b3VsZCBiZSBlYXN5IHRvIGFkZCBhIG5ldyBkZXNj
ZW5kYW50IHR5cGUgdG8gdGhlIHN3aXRjaCBpbgorICAgICAgICBDU1NSdWxlOjpyZXBvcnRNZW1v
cnlVc2FnZSB3aXRob3V0IHByb3ZpZGluZyBwcm9wZXIgb3ZlcnJpZGUgZm9yIHJlcG9ydE1lbW9y
eVVzYWdlCisgICAgICAgIGFuZCBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSB3b3VsZCBlbmQg
dXAgY2FsbGluZyBpdHNlbGYuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKTogYWdhaW4gd2UgY2Fubm90IHVz
ZQorICAgICAgICBNZW1vcnlDbGFzc0luZm86OnZpc2l0QmFzZUNsYXNzIGxpa2Ugd2UgZG8gZm9y
IHZpcnR1YWwgbWV0aG9kcyBiZWNhdXNlIGl0IHdvdWxkCisgICAgICAgIGxlYWQgdG8gYSByZWN1
cnNpdmUgY2FsbCBvZiBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZS4gVGhpcyBpcyB3aHkgd2Ug
dXNlCisgICAgICAgIHJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlIHRvIGFsbG93IGRlc2NlbmRh
bnRzIHRvIHJlcG9ydCBvYmplY3RzIHJlZmVyZW5jZWQKKyAgICAgICAgZnJvbSB0aGVpciBiYXNl
IGNsYXNzLgorICAgICAgICAqIGNzcy9DU1NSdWxlLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKENTU1J1bGUpOgorICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdGF0aWNDU1NSdWxlTGlzdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU1J1bGVMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKENTU1J1bGVMaXN0KToKKyAgICAgICAgKFN0YXRpY0NTU1J1bGVMaXN0
KToKKyAgICAgICAgKExpdmVDU1NSdWxlTGlzdCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVj
bGFyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ1NTU3R5bGVEZWNsYXJh
dGlvbik6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6CisgICAgICAgIChDU1NTdHls
ZVJ1bGUpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFN0eWxl
U2hlZXRDU1NSdWxlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0OjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1Vua25vd25SdWxlLmg6CisgICAgICAg
IChDU1NVbmtub3duUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NVbmtub3duUnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5
bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5oOgorICAgICAgICAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKToKKyAg
ICAgICAgKFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAoSW5saW5lQ1NT
U3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmg6CisgICAgICAgIChXZWJLaXRDU1NLZXlmcmFtZVJ1bGUpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5oOgorICAgICAgICAoV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSk6CisgICAgICAgICogY3NzL1dl
YktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVnaW9u
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmg6CisgICAgICAgIChXZWJLaXRDU1NS
ZWdpb25SdWxlKToKKwogMjAxMi0wOC0wMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBDaHJvbWl1bSBBbmRyb2lkIGJ1aWxkIGZpeCBhZnRlciByMTI0NDAyLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAKaW5kZXggYjdhNzdhYzUyODQ5MTYwNGEz
NTJlYzBlNzRhMjUzM2VhYTE2NjE5ZS4uYjdiOGQ3NmRjYTdmN2Q2ODU5ZjljYzU1MDEwZmRlZDJi
ODMzZWExYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCkBAIC0yMSw2ICsy
MSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIK
IAorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIENTU0NoYXJzZXRSdWxlOjpDU1NDaGFyc2V0UnVsZShDU1NTdHlsZVNoZWV0KiBwYXJl
bnQsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcpCkBAIC0zNCw0ICszNiwxMSBAQCBTdHJpbmcgQ1NT
Q2hhcnNldFJ1bGU6OmNzc1RleHQoKSBjb25zdAogICAgIHJldHVybiAiQGNoYXJzZXQgXCIiICsg
bV9lbmNvZGluZyArICJcIjsiOwogfQogCit2b2lkIENTU0NoYXJzZXRSdWxlOjpyZXBvcnREZXNj
ZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88Q1NTQ2hhcnNldFJ1bGU+IGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIENTU1J1bGU6
OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8u
YWRkU3RyaW5nKG1fZW5jb2RpbmcpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCmluZGV4IGQwOGVmYTdkZjViOTM1YjI2MDI1MDI5Mzcw
YzRmMjExODQ1NTJhZGMuLjBkYWQ0N2M5ZTdkNzhkZGRmNDk1ZmIzZDFmZDQyY2I5M2U5MWE0Mjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oCkBAIC0zOSw2ICszOSw4IEBAIHB1Ymxp
YzoKIAogICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6CiAg
ICAgQ1NTQ2hhcnNldFJ1bGUoQ1NTU3R5bGVTaGVldCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGVu
Y29kaW5nKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAppbmRleCA2MjY0N2I5ZTUyMDE5M2EzOWE5MmI4MmMxYTNjMTY0MmY3OGQy
MzMzLi5iNWJiODYzNzZiMzkyODdjNTk2NzQxMTA3NWZmMDA4ODFiN2Y4M2I3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAt
NDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIkZvbnRGZWF0dXJlU2V0dGluZ3MuaCIKICNpbmNsdWRl
ICJGb250RmVhdHVyZVZhbHVlLmgiCiAjaW5jbHVkZSAiRm9udFZhbHVlLmgiCisjaW5jbHVkZSAi
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGFpci5oIgogI2luY2x1ZGUgIlJl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKQEAgLTI2ODQsNiArMjY4NSwxMiBAQCBQYXNz
UmVmUHRyPFN0eWxlUHJvcGVydHlTZXQ+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Y29w
eVByb3BlcnRpZXNJblNldChjbwogICAgIHJldHVybiBTdHlsZVByb3BlcnR5U2V0OjpjcmVhdGUo
bGlzdC5kYXRhKCksIGxpc3Quc2l6ZSgpKTsKIH0KIAordm9pZCBDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPENTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbj4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ub2RlKTsKK30KKwog
Q1NTUnVsZSogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpwYXJlbnRSdWxlKCkgY29uc3QK
IHsKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uaAppbmRleCBhMjM2YTdkMjE2NGQzZjhiMDBmMTU0NTc3M2ZmNTRiMGE0
ZDJlMDQyLi4xMGQwMTU5MGFjYzc5NGQ1MTYzYzdlZTU4NjYwZmNiNjM1OTgzYmZiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oCkBAIC03
Miw2ICs3Miw4IEBAIHB1YmxpYzoKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVQcm9wZXJ0eVNldD4g
Y29weVByb3BlcnRpZXNJblNldChjb25zdCBDU1NQcm9wZXJ0eUlEKiBzZXQsIHVuc2lnbmVkIGxl
bmd0aCkgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOworCiBwcml2YXRlOgogICAgIENTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbihQYXNzUmVmUHRyPE5vZGU+LCBib29sIGFsbG93VmlzaXRlZFN0eWxl
LCBjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcApp
bmRleCBiY2M4NjM5ZWQ0NmNmNWI5ZGU2NjZhNDg3NGRmZTg0MzZjMmQyZTdmLi5lZjQzNTk4YThk
MWQxYjQyYTg1NTBmMTY1NmYxMTM2YjU5NWQxMTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2VSdWxlLmNwcApAQCAtMjIsNiArMjIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlN0eWxlUnVs
ZS5oIgogCkBAIC02Myw0ICs2NCwxMiBAQCB2b2lkIENTU0ZvbnRGYWNlUnVsZTo6cmVhdHRhY2go
U3R5bGVSdWxlRm9udEZhY2UqIHJ1bGUpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBl
ci0+cmVhdHRhY2gobV9mb250RmFjZVJ1bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOwogfQogCit2
b2lkIENTU0ZvbnRGYWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZv
PENTU0ZvbnRGYWNlUnVsZT4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9m
b250RmFjZVJ1bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGll
c0NTU09NV3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVJ1bGUuaAppbmRleCA2NDE0Yzg3MmNjN2U4MzhlMTc0OWRjM2M5OGNjNjRh
ZTQ3YTBjZWRkLi5mNjczNjJiYjRkYzE5MDJmOGYxOTlhMzNjMGRmN2JjZmEwYTNkM2Q0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCkBAIC00NSw2ICs0NSw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlRm9udEZhY2UqKTsKIAorICAgIHZvaWQgcmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJp
dmF0ZToKICAgICBDU1NGb250RmFjZVJ1bGUoU3R5bGVSdWxlRm9udEZhY2UqLCBDU1NTdHlsZVNo
ZWV0KiBwYXJlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5jcHAKaW5kZXggZmEx
MGEyODdjYjViOTIyOWE2NmY4NWQxODI5ZGZhOGZjODdjN2NlMy4uNjM4MWYxN2RkY2M0NTVlZDcw
OWZjY2EzNWExOWZjMTJmN2M1YjdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltcG9ydFJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmNw
cApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJN
ZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogI2luY2x1ZGUgIlN0eWxlU2hlZXRDb250ZW50cy5o
IgpAQCAtNzYsNiArNzcsMTUgQEAgU3RyaW5nIENTU0ltcG9ydFJ1bGU6OmNzc1RleHQoKSBjb25z
dAogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKIH0KIAordm9pZCBDU1NJbXBvcnRSdWxl
OjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88Q1NTSW1wb3J0UnVsZT4gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Cisg
ICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9pbXBvcnRSdWxlKTsKKyAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXRDU1NPTVdyYXBwZXIpOworfQorCiBDU1NT
dHlsZVNoZWV0KiBDU1NJbXBvcnRSdWxlOjpzdHlsZVNoZWV0KCkgY29uc3QKIHsgCiAgICAgaWYg
KCFtX2ltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbXBvcnRSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5o
CmluZGV4IDllZTMwNjYxMTI5YjBhZWUxZmU3Y2MyMTFjYWFhNWFhODFlYzM5MDkuLmM4MzVmN2Rk
NWVlZjZjOTdiY2NmYjI3ODE5NjcyZmZmNTdjNTcyYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbXBvcnRSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaApAQCAtNDMsNiArNDMsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3RyaW5nIGNzc1Rl
eHQoKSBjb25zdDsKIAorICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBDU1NJbXBvcnRSdWxlKFN0eWxl
UnVsZUltcG9ydCosIENTU1N0eWxlU2hlZXQqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxl
LmNwcAppbmRleCA1NWJiYWE1ZmRhMjU2MDFhNzRlODUzNGFjZGVjOWY3NzJhMDcxOGMyLi40NGE3
ZmMzZGViNDM5MWVjYmRkY2ViNThiYmEwMDU5YzA0Nzc1NWViIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIkNTU1J1bGVMaXN0Lmgi
CiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
KyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJTdHlsZVJ1bGUu
aCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTE3NCw0ICsxNzUs
MTMgQEAgdm9pZCBDU1NNZWRpYVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZU1lZGlhKiBydWxlKQog
ICAgIH0KIH0KIAordm9pZCBDU1NNZWRpYVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9y
eUNsYXNzSW5mbzxDU1NNZWRpYVJ1bGU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9y
KG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9ydWxlTGlzdENTU09NV3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaAppbmRleCBmZGEyM2NhZTI3ZWZlMDFlNzk4ZmVhOTA4
ZmYzZjI2NmM3ODJhYzZjLi42OWZhZjFhNTBkZWJmMjE1YTMzNjEwZjdlOWMyNTU2ODJlNzliMDQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCkBAIC01Miw2ICs1Miw4IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlTWVkaWEqKTsKIAorICAgIHZvaWQgcmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0
ZToKICAgICBDU1NNZWRpYVJ1bGUoU3R5bGVSdWxlTWVkaWEqLCBDU1NTdHlsZVNoZWV0Kik7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNwcAppbmRleCA0Mjg1OWFhMmExZmQzY2QxN2Vm
Nzg3OTg1ZGQzNmMxYTU2ZjNiYTkwLi44ZDVkNmVmYjNkYjE4NzQ1YTNiODIxOGJkZTc1MWZhMDRk
NzBhMzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKQEAgLTk1LDQgKzk1LDEyIEBA
IHZvaWQgQ1NTUGFnZVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZVBhZ2UqIHJ1bGUpCiAgICAgICAg
IG1fcHJvcGVydGllc0NTU09NV3JhcHBlci0+cmVhdHRhY2gobV9wYWdlUnVsZS0+bXV0YWJsZVBy
b3BlcnRpZXMoKSk7CiB9CiAKK3ZvaWQgQ1NTUGFnZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAg
IE1lbW9yeUNsYXNzSW5mbzxDU1NQYWdlUnVsZT4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlz
LCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNs
YXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRNZW1iZXIobV9wYWdlUnVsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9w
cm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFnZVJ1bGUuaAppbmRleCAxNjM5MDBjZDFlZTM4OWVhZmFkOWZmNDQ4N2M2YTg0
YmJiZDJhNWU1Li5hZWQ0ZGY0YWUwMWE1YjcxNjA5ZThkYjI4NDcyMDQ1MDg5OTM4MTdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFnZVJ1bGUuaApAQCAtNDgsNiArNDgsOCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHJlYXR0YWNoKFN0eWxlUnVsZVBhZ2UqKTsKIAorICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBD
U1NQYWdlUnVsZShTdHlsZVJ1bGVQYWdlKiwgQ1NTU3R5bGVTaGVldCopOwogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuY3BwCmluZGV4IGMzMTA1YTA1ZWRjYzI4ZmJjZTdjOTBlMGU0NjQ5NjAzODZiNWI2
MTEuLmU1ODM5YjI5ZWQ3ODY4ZmIyODY0MzQ3ZTFiYmI0N2MyY2QyOWY3ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5jcHAKQEAgLTE2NCwxMCArMTY0LDU5IEBAIHZvaWQgQ1NTUnVsZTo6cmVhdHRhY2go
U3R5bGVSdWxlQmFzZSogcnVsZSkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAordm9p
ZCBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAoreworICAgIHN3aXRjaCAodHlwZSgpKSB7CisgICAgY2FzZSBVTktOT1dO
X1JVTEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IENTU1Vua25vd25SdWxlKj4odGhpcykt
PnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICAgICAg
cmV0dXJuOworICAgIGNhc2UgU1RZTEVfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3Qg
Q1NTU3R5bGVSdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlP
YmplY3RJbmZvKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgUEFHRV9SVUxFOgorICAgICAg
ICBzdGF0aWNfY2FzdDxjb25zdCBDU1NQYWdlUnVsZSo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNl
IENIQVJTRVRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTQ2hhcnNldFJ1bGUq
Pih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBJTVBPUlRfUlVMRToKKyAgICAgICAgc3RhdGljX2Nh
c3Q8Y29uc3QgQ1NTSW1wb3J0UnVsZSo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIE1FRElBX1JV
TEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IENTU01lZGlhUnVsZSo+KHRoaXMpLT5yZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVy
bjsKKyAgICBjYXNlIEZPTlRfRkFDRV9SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBD
U1NGb250RmFjZVJ1bGUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9y
eU9iamVjdEluZm8pOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBXRUJLSVRfS0VZRlJBTUVT
X1JVTEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lc1J1bGUq
Pih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBXRUJLSVRfS0VZRlJBTUVfUlVMRToKKyAgICAgICAg
c3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlKj4odGhpcyktPnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICAgICAgcmV0dXJuOwor
I2lmIEVOQUJMRShDU1NfUkVHSU9OUykKKyAgICBjYXNlIFdFQktJVF9SRUdJT05fUlVMRToKKyAg
ICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgV2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpLT5yZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgorICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm47
Cit9CisKIGNvbnN0IENTU1BhcnNlckNvbnRleHQmIENTU1J1bGU6OnBhcnNlckNvbnRleHQoKSBj
b25zdAogewogICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0
KCk7CiAgICAgcmV0dXJuIHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250ZW50cygpLT5wYXJz
ZXJDb250ZXh0KCkgOiBzdHJpY3RDU1NQYXJzZXJDb250ZXh0KCk7CiB9CiAKK3ZvaWQgQ1NTUnVs
ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88Q1NTUnVsZT4gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgaWYg
KG1fcGFyZW50SXNSdWxlKQorICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Bh
cmVudFJ1bGUpOworICAgIGVsc2UKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9wYXJlbnRTdHlsZVNoZWV0KTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmgKaW5kZXggZTM4ZTE2MWRjMTA4Zjc5ODgwMDNjYTcwMjNhNWU2ZTg0Mzc3MDY3NS4u
NjVkZjYyMjFjMjk0YmRmOGY5NzFiZDM5MjJlYmI1MjM2MTg0NjRiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5oCkBAIC0zMCw2ICszMCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENTU1N0
eWxlU2hlZXQ7CitjbGFzcyBNZW1vcnlPYmplY3RJbmZvOwogY2xhc3MgU3R5bGVSdWxlQmFzZTsK
IHN0cnVjdCBDU1NQYXJzZXJDb250ZXh0OwogdHlwZWRlZiBpbnQgRXhjZXB0aW9uQ29kZTsKQEAg
LTEwMyw2ICsxMDQsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJh
c2UqKTsKIAorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNv
bnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgQ1NTUnVsZShDU1NTdHlsZVNoZWV0KiBwYXJlbnQsIFR5
cGUgdHlwZSkKICAgICAgICAgOiBtX2hhc0NhY2hlZFNlbGVjdG9yVGV4dChmYWxzZSkKQEAgLTEy
Miw2ICsxMjUsOCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBw
YXJzZXJDb250ZXh0KCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlcG9ydEJhc2VDbGFzc01lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBtdXRhYmxlIHVu
c2lnbmVkIG1faGFzQ2FjaGVkU2VsZWN0b3JUZXh0IDogMTsKICAgICB1bnNpZ25lZCBtX3BhcmVu
dElzUnVsZSA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmNwcAppbmRleCBhMTU4ZDZmMmU3
MDE0ZWY0ODJmOWJkOThlM2NlNjczZWY1ZGM1NzBmLi5iYjM4YTk2NDViNWQzNzI3ZTdkODNhODRm
MWI4Y2QyMmI1MGQwMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxp
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5jcHAKQEAgLTUxLDQg
KzUxLDEwIEBAIHZvaWQgU3RhdGljQ1NTUnVsZUxpc3Q6OmRlcmVmKCkKICAgICAgICAgZGVsZXRl
IHRoaXM7CiB9CiAKK3ZvaWQgU3RhdGljQ1NTUnVsZUxpc3Q6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xh
c3NJbmZvPFN0YXRpY0NTU1J1bGVMaXN0PiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3Rv
cihtX3J1bGVzKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZUxpc3QuaAppbmRleCBjNmU3NWM4NmUxZGM4ODU0MzhkYWJjNTkyZDc2OGMyZTBiOGZiMTZlLi5i
MTY5ZGE2OGQ0MjU1ODZhNmNlMDVmMDI3YzFmN2FjNmY1ZjExZTFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZUxpc3QuaApAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBDU1NSdWxlTGlzdF9oCiAjZGVm
aW5lIENTU1J1bGVMaXN0X2gKIAorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC0zMiw2ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgQ1NTUnVsZTsKIGNsYXNzIENTU1N0eWxlU2hlZXQ7CitjbGFzcyBNZW1v
cnlPYmplY3RJbmZvOwogCiBjbGFzcyBDU1NSdWxlTGlzdCB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoQ1NTUnVsZUxpc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTQ1LDYgKzQ3
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkg
Y29uc3QgPSAwOwogICAgIAogICAgIHZpcnR1YWwgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCgp
IGNvbnN0ID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKikgY29uc3QgPSAwOwogICAgIAogcHJvdGVjdGVkOgogICAgIENTU1J1bGVMaXN0
KCk7CkBAIC02MSw2ICs2NSw4IEBAIHB1YmxpYzoKICAgICAKICAgICB2aXJ0dWFsIENTU1N0eWxl
U2hlZXQqIHN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVybiAwOyB9CiAKKyAgICB2aXJ0dWFsIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOwor
CiBwcml2YXRlOiAgICAKICAgICBTdGF0aWNDU1NSdWxlTGlzdCgpOwogICAgIH5TdGF0aWNDU1NS
dWxlTGlzdCgpOwpAQCAtODAsNiArODYsMTIgQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwg
dm9pZCByZWYoKSB7IG1fcnVsZS0+cmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSB7
IG1fcnVsZS0+ZGVyZWYoKTsgfQorCisgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0IE9WRVJSSURFCisgICAg
eworICAgICAgICBNZW1vcnlDbGFzc0luZm88TGl2ZUNTU1J1bGVMaXN0PFJ1bGU+ID4gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcnVsZSk7CisgICAgfQogICAgIAogcHJp
dmF0ZToKICAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fcnVs
ZS0+bGVuZ3RoKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURl
Y2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5oCmlu
ZGV4IDVkODhlYmQwN2M5ZDBlMTFmZThhYWE0ODEyNDNlZWFmZDAxNWI2YTQuLjM1YTA4ZmU1MjQ4
MDhjNzE3YzdlN2ZkZGQwNDZjNGE4M2MxNjRlYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlRGVjbGFyYXRpb24uaApAQCAtMzAsNiArMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBDU1NQcm9wZXJ0eTsKIGNsYXNzIENTU1N0eWxlU2hlZXQ7CiBjbGFzcyBDU1NWYWx1ZTsK
K2NsYXNzIE1lbW9yeU9iamVjdEluZm87CiBjbGFzcyBTdHlsZVByb3BlcnR5U2V0OwogY2xhc3Mg
U3R5bGVkRWxlbWVudDsKIApAQCAtNjksNiArNzAsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBi
b29sIGNzc1Byb3BlcnR5TWF0Y2hlcyhjb25zdCBDU1NQcm9wZXJ0eSopIGNvbnN0ID0gMDsKICAg
ICB2aXJ0dWFsIENTU1N0eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVy
biAwOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyopIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIENTU1N0eWxlRGVjbGFyYXRpb24o
KSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCmluZGV4IDFlZWIzMmQ0Mjc4
NzgyYjZiYjFjYjRlZGFkYjIxY2JlNDYzZWEzODcuLmMyNjNiNzQyZTRhYzgyNWVmODEwMGJjM2Qy
ZDQxNzc4NWZlNTNmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwCkBAIC0yNiw2
ICsyNiw3IEBACiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50
YXRpb24uaCIKICNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKICNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCkBAIC0x
MjcsNCArMTI4LDEyIEBAIHZvaWQgQ1NTU3R5bGVSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGUqIHJ1
bGUpCiAgICAgICAgIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci0+cmVhdHRhY2gobV9zdHlsZVJ1
bGUtPm11dGFibGVQcm9wZXJ0aWVzKCkpOwogfQogCit2b2lkIENTU1N0eWxlUnVsZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPENTU1N0eWxlUnVsZT4gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgQ1NTUnVs
ZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5m
by5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHlsZVJ1bGUpOworICAgIGluZm8uYWRkSW5zdHJ1
bWVudGVkTWVtYmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAppbmRleCBkNzZhODAyZmE0ZWEx
YzkxMWMxM2UzNTQ1OThkMDkyZWE5Y2ZkMDU5Li5mOTZjYjE2Y2YzMGQwNDk3ZWQ4Y2Q0M2RmYmFj
ZDliNDRlODRjZGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCkBAIC01MCw2ICs1MCw4
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlKik7CiAKKyAgICB2b2lk
IHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgQ1NTU3R5bGVSdWxlKFN0eWxlUnVsZSosIENTU1N0eWxlU2hlZXQqKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCmluZGV4IDFmZWYxYjQ4NjBkYjRjZWI5
ZTRlY2I3NTNlMWJmYTQ1ZGViMmVhN2QuLmQ4M2UxMjkxMjVmOWU4MmQ0MmFjZWI5YmM5ZWU5MmQx
NTUzYmIxYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAKQEAgLTUzLDYgKzUz
LDEyIEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBDU1NSdWxlKiBpdGVtKHVuc2lnbmVkIGluZGV4
KSBjb25zdCB7IHJldHVybiBtX3N0eWxlU2hlZXQtPml0ZW0oaW5kZXgpOyB9CiAgICAgCiAgICAg
dmlydHVhbCBDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0KCkgY29uc3QgeyByZXR1cm4gbV9zdHls
ZVNoZWV0OyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKKyAgICB7CisgICAgICAg
IE1lbW9yeUNsYXNzSW5mbzxTdHlsZVNoZWV0Q1NTUnVsZUxpc3Q+IGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX3N0eWxlU2hlZXQpOworICAgIH0KICAgICAKICAgICBDU1NT
dHlsZVNoZWV0KiBtX3N0eWxlU2hlZXQ7CiB9OwpAQCAtMTc2LDcgKzE4Miw5IEBAIHZvaWQgQ1NT
U3R5bGVTaGVldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICBpbmZvLmFkZFN0cmluZyhtX3RpdGxlKTsKICAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiAgICAgaW5mby5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXIobV9vd25lck5vZGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fb3duZXJSdWxlKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX21lZGlhQ1NT
T01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZFZlY3RvcihtX2NoaWxkUnVsZUNT
U09NV3JhcHBlcnMpOwogfQogCiB2b2lkIENTU1N0eWxlU2hlZXQ6OnNldERpc2FibGVkKGJvb2wg
ZGlzYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVW5rbm93blJ1bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5oCmluZGV4IDlmNzQ2YmEwZWVi
ZDZiNDM5ZTUzZWVjNjZmOWU3ZDhlMDdkNTQ0YzYuLjIxNzBkYTFmZjVjNzVmYjk5ZDQ3ZGY0MzBk
NDE4MDBhZGRjNTgzNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3du
UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5oCkBAIC0yMywx
MiArMjMsMTkgQEAKICNkZWZpbmUgQ1NTVW5rbm93blJ1bGVfaAogCiAjaW5jbHVkZSAiQ1NTUnVs
ZS5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIENTU1Vua25vd25SdWxlIDogcHVibGljIENTU1J1bGUgewogcHVibGlj
OgogICAgIENTU1Vua25vd25SdWxlKCkgOiBDU1NSdWxlKDAsIENTU1J1bGU6OlVOS05PV05fUlVM
RSkgeyB9CisKKyAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAorICAgIHsKKyAgICAgICAgTWVtb3J5Q2xh
c3NJbmZvPENTU1Vua25vd25SdWxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNz
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgfQogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA4YTBhZmQ2ZTg2NWM4N2RiZTJkYjBkMzk4NzljZWJm
NGJjMGI1MWEzLi43MjY2ZTZlYmE4MTQ4ZjI5Y2NmNGZhYzdmY2ZlMzEyMWM1OTdkZTRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
aCIKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJNdXRhdGlv
bk9ic2VydmVySW50ZXJlc3RHcm91cC5oIgogI2luY2x1ZGUgIk11dGF0aW9uUmVjb3JkLmgiCiAj
aW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgpAQCAtMTMwLDYgKzEzMSwxMyBAQCB2b2lkIFBy
b3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6ZGVyZWYoKQogICAgIG1fcHJvcGVydHlTZXQt
PmRlcmVmKCk7IAogfQogCit2b2lkIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
K3sKKyAgICBNZW1vcnlDbGFzc0luZm88UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uPiBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3Byb3BlcnR5U2V0KTsKKyAgICAvLyBG
SVhNRTogYWRkIGluZm8uYWRkSW5zdHJ1bWVudGVkSGFzTWFwKG1fY3Nzb21DU1NWYWx1ZUNsb25l
cykgd2hlbiBDU1NWYWx1ZSBpcyBpbnN0cnVtZW50ZWQuCit9CisKIHVuc2lnbmVkIFByb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6bGVuZ3RoKCkgY29uc3QKIHsKICAgICByZXR1cm4gcHJv
cGVydHlTZXQoKS0+cHJvcGVydHlDb3VudCgpOwpAQCAtMzgwLDYgKzM4OCwyMCBAQCB2b2lkIFN0
eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlYXR0YWNoKFN0eWxlUHJvcGVydHlTZXQqIHBy
b3BlcnR5U2V0KQogICAgIG1fcHJvcGVydHlTZXQtPnJlZigpOwogfQogCit2b2lkIFN0eWxlUnVs
ZUNTU1N0eWxlRGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFN0eWxlUnVs
ZUNTU1N0eWxlRGVjbGFyYXRpb24+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIGluZm8udmlzaXRCYXNlQ2xhc3ModGhpcyk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRSdWxlKTsKK30KKwordm9pZCBJ
bmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJ
bmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbzxJbmxp
bmVDU1NTdHlsZURlY2xhcmF0aW9uPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9y
eUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLnZpc2l0QmFzZUNsYXNzKHRoaXMpOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcGFyZW50RWxlbWVudCk7Cit9CisKIHZv
aWQgSW5saW5lQ1NTU3R5bGVEZWNsYXJhdGlvbjo6ZGlkTXV0YXRlKE11dGF0aW9uVHlwZSB0eXBl
KQogewogICAgIGlmICh0eXBlID09IE5vQ2hhbmdlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaAppbmRleCA0NGI3M2RlNmYwNWNh
YWQ1NGQ4MzRiNzM4MTZlZmUxMWE4OWQ4YTljLi42OTA4NjcwYzAzODFkYTU1OWI5NjBhODVkYzVk
NDgwNDcwODA1NzI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRD
U1NTdHlsZURlY2xhcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbi5oCkBAIC00OCw2ICs0OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgcmVmKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgT1ZFUlJJ
REU7CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgU3R5bGVQcm9wZXJ0
eVNldCogcHJvcGVydHlTZXQoKSBjb25zdCB7IHJldHVybiBtX3Byb3BlcnR5U2V0OyB9CiAgICAg
dmlydHVhbCBTdHlsZVByb3BlcnR5U2V0KiBlbnN1cmVNdXRhYmxlUHJvcGVydHlTZXQoKSB7IHJl
dHVybiBtX3Byb3BlcnR5U2V0OyB9CkBAIC05OSw2ICsxMDEsOCBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHJlYXR0YWNoKFN0eWxlUHJvcGVydHlTZXQqKTsKIAorICAgIHZpcnR1YWwgdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7CisKIHByaXZh
dGU6CiAgICAgU3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbihTdHlsZVByb3BlcnR5U2V0Kiwg
Q1NTUnVsZSopOwogICAgIHZpcnR1YWwgflN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsK
QEAgLTEyNCw2ICsxMjgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9wYXJlbnRFbGVtZW50KHBh
cmVudEVsZW1lbnQpIAogICAgIHsKICAgICB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOwogICAgIAogcHJpdmF0
ZToKICAgICB2aXJ0dWFsIENTU1N0eWxlU2hlZXQqIHBhcmVudFN0eWxlU2hlZXQoKSBjb25zdCBP
VkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFt
ZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAK
aW5kZXggNWU3ODMxNjZlMjIzYzAwZTlkNGY5YTBkMzBmNjJmZDA4YjRhNWYyYi4uYjcyYTRhM2E1
MGQ3MmZkZDdhMmQ5ZGRhZDlkNGFiYzg4NjE5NTYxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAKQEAgLTExMyw0ICsxMTMsMTIgQEAgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiogV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlOjpzdHlsZSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fcHJvcGVydGllc0NTU09NV3JhcHBlci5nZXQoKTsKIH0KIAordm9pZCBXZWJLaXRDU1NL
ZXlmcmFtZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbzxXZWJLaXRD
U1NLZXlmcmFtZVJ1bGU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdl
KG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5
ZnJhbWUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydGllc0NTU09N
V3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaAppbmRleCAyNjgzZWUzYjUyMzc1ODk5NTkzYmYzNzk0
YjU0ZDRmZWE1ODUyMjk4Li5mMGU2OTdlN2EwYTBhYjQwOGNmZGI3ODg1NjQxY2MyYTBmMjQ4Y2Zk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5oCkBAIC04MCw2
ICs4MCw4IEBAIHB1YmxpYzoKIAogICAgIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgeyByZXR1cm4g
bV9rZXlmcmFtZS0+Y3NzVGV4dCgpOyB9CiAKKyAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlKFN0eWxlS2V5ZnJhbWUqLCBXZWJLaXRDU1NLZXlmcmFtZXNSdWxlKiBw
YXJlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJh
bWVzUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5j
cHAKaW5kZXggYWM5ZDQ4M2I4NjdjYjAxMmNmZTlmZjNhZjNjZTQ4ZWMyZmVlNDNhZS4uOWZmOTVj
NmM4ZTUwZTRlMjVkODZhMTYzYmFkODYwMDI3YThjNzVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcApAQCAtMjA2LDQgKzIwNiwxMyBAQCB2b2lk
IFdlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUtleWZyYW1lcyogcnVs
ZSkKICAgICBtX2tleWZyYW1lc1J1bGUgPSBydWxlOwogfQogCit2b2lkIFdlYktpdENTU0tleWZy
YW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbzxXZWJLaXRDU1NL
ZXlmcmFtZXNSdWxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2tleWZy
YW1lc1J1bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NT
T01XcmFwcGVycyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlTGlzdENT
U09NV3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCmluZGV4IDUzZmY0ZTNhNDIyNTI5MmU0YTQz
OWVmMTY1MGI0NGY5ZjEzOWUwNzIuLjY2ZThjZjY1ZmFmNjFkZTg3YjU4NzAxMzgwZmI0ZDEyYTdk
NjI1NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNS
dWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaApA
QCAtOTIsNiArOTIsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUtl
eWZyYW1lcyopOwogCisgICAgdm9pZCByZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5
T2JqZWN0SW5mbyopIGNvbnN0OworCiBwcml2YXRlOgogICAgIFdlYktpdENTU0tleWZyYW1lc1J1
bGUoU3R5bGVSdWxlS2V5ZnJhbWVzKiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCmluZGV4IGJkYWI1YWNjZThmMTZk
ZTQzODM5Zjk2ZjA0MDZkMzc5ZjkxN2NjNmEuLjEyYzRlNjEzM2QxZjE4ZjEzYjZmNmVmZWEzZmU5
ZGVjNTBhZjYxYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdp
b25SdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5j
cHAKQEAgLTEwOCw2ICsxMDgsMTUgQEAgdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZWF0dGFj
aChTdHlsZVJ1bGVSZWdpb24qIHJ1bGUpCiAgICAgfQogfQogCit2b2lkIFdlYktpdENTU1JlZ2lv
blJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbzxXZWJLaXRDU1NSZWdp
b25SdWxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlP
YmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3JlZ2lvblJ1bGUp
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
cyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBl
cik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaAppbmRleCAyYjQyMTY2OTkyNzFiNTRmNGQ4NjM3YmUy
YWJhYzdkZmE1ODlkYWYwLi5jMDJmNGM0YzJhMzQ4ZDY2NmRlMzZmMDhiNmM4MDcwZTYyNTkxOWE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmgKQEAgLTU3LDYgKzU3
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVSZWdpb24qKTsKIAor
ICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKKwogcHJpdmF0ZToKICAgICBXZWJLaXRDU1NSZWdpb25SdWxlKFN0eWxlUnVsZVJlZ2lv
biosIENTU1N0eWxlU2hlZXQqIHBhcmVudCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156026</attachid>
            <date>2012-08-02 03:34:40 -0700</date>
            <delta_ts>2012-08-03 03:18:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92962-20120802143420.patch</filename>
            <type>text/plain</type>
            <size>30455</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NmYjFlMmY5OWQzYWJi
MDAyYWUyZDk0ZGRmZmJlYWQ0NjYyY2JlNy4uYjgwZjNkODc3YzU1Zjg5Y2RjMmZlY2U5NDI4N2Q3
NDBhMTYzODYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwOSBAQAogMjAxMi0wOC0wMiAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBhZGQgQ1NTUnVsZSBtZW1vcnkgaW5zdHJ1bWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjk2MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG1lbW9yeSBmb290cHJpbnQgcmVw
b3J0aW5nIG1ldGhvZCB0byBDU1NSdWxlIGFuZCBpdHMgZGVzY2VuZGFudHMuCisKKyAgICAgICAg
KiBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2hhcnNldFJ1
bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBjc3MvQ1NTQ2hhcnNldFJ1bGUuaDoKKyAgICAgICAgKENTU0NoYXJzZXRSdWxlKToK
KyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2Up
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5oOgorICAgICAgICAoQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uKToKKyAgICAg
ICAgKiBjc3MvQ1NTRm9udEZhY2VSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRG
YWNlUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIGNzcy9DU1NGb250RmFjZVJ1bGUuaDoKKyAgICAgICAgKENTU0ZvbnRGYWNl
UnVsZSk6CisgICAgICAgICogY3NzL0NTU0ltcG9ydFJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1wb3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAqIGNzcy9DU1NJbXBvcnRSdWxlLmg6CisgICAgICAgIChDU1NJ
bXBvcnRSdWxlKToKKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU01lZGlhUnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuaDoKKyAgICAgICAgKENT
U01lZGlhUnVsZSk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhZ2VSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU1BhZ2VSdWxlLmg6CisgICAgICAgIChDU1NQ
YWdlUnVsZSk6CisgICAgICAgICogY3NzL0NTU1J1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOiB3ZSBtYW51YWxseSBpbXBsZW1lbnQgcG9seW1v
cnBoaWMKKyAgICAgICAgY2FsbCBoZXJlIHRvIGF2b2lkIGFkZGluZyB2dGFibGUgcG9pbnRlciB0
byBhbGwgQ1NTUnVsZSBvYmplY3RzLiBEZXNjZW5kYW50cworICAgICAgICBhcmUgZXhwZWN0ZWQg
dG8gcmVwb3J0IHRoZWlyIG1lbW9yeSB2aWEgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlLiBU
aGUgbmFtZQorICAgICAgICBpcyBpbnRlbnRpb25hbGx5IGRpZmZlcmVudCBmcm9tIHJlcG9ydE1l
bW9yeVVzYWdlIHRvIGF2b2lkIGFjY2lkZW50aWFsIGluZml0aXRlCisgICAgICAgIHJlY3Vyc2lv
bjogaWYgdGhlIGRlc2NlbmRhbnRzIG92ZXJyb2RlIG5vbi12aXJ0dWFsIENTU1J1bGU6OnJlcG9y
dE1lbW9yeVVzYWdlLAorICAgICAgICBpdCB3b3VsZCBiZSBlYXN5IHRvIGFkZCBhIG5ldyBkZXNj
ZW5kYW50IHR5cGUgdG8gdGhlIHN3aXRjaCBpbgorICAgICAgICBDU1NSdWxlOjpyZXBvcnRNZW1v
cnlVc2FnZSB3aXRob3V0IHByb3ZpZGluZyBwcm9wZXIgb3ZlcnJpZGUgZm9yIHJlcG9ydE1lbW9y
eVVzYWdlCisgICAgICAgIGFuZCBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSB3b3VsZCBlbmQg
dXAgY2FsbGluZyBpdHNlbGYuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKTogYWdhaW4gd2UgY2Fubm90IHVz
ZQorICAgICAgICBNZW1vcnlDbGFzc0luZm86OnZpc2l0QmFzZUNsYXNzIGxpa2Ugd2UgZG8gZm9y
IHZpcnR1YWwgbWV0aG9kcyBiZWNhdXNlIGl0IHdvdWxkCisgICAgICAgIGxlYWQgdG8gYSByZWN1
cnNpdmUgY2FsbCBvZiBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZS4gVGhpcyBpcyB3aHkgd2Ug
dXNlCisgICAgICAgIHJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlIHRvIGFsbG93IGRlc2NlbmRh
bnRzIHRvIHJlcG9ydCBvYmplY3RzIHJlZmVyZW5jZWQKKyAgICAgICAgZnJvbSB0aGVpciBiYXNl
IGNsYXNzLgorICAgICAgICAqIGNzcy9DU1NSdWxlLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKENTU1J1bGUpOgorICAgICAgICAqIGNzcy9DU1NSdWxlTGlzdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdGF0aWNDU1NSdWxlTGlzdDo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogY3NzL0NTU1J1bGVMaXN0Lmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKENTU1J1bGVMaXN0KToKKyAgICAgICAgKFN0YXRpY0NTU1J1bGVMaXN0
KToKKyAgICAgICAgKExpdmVDU1NSdWxlTGlzdCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlRGVj
bGFyYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ1NTU3R5bGVEZWNsYXJh
dGlvbik6CisgICAgICAgICogY3NzL0NTU1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVSdWxlLmg6CisgICAgICAgIChDU1NTdHls
ZVJ1bGUpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNoZWV0LmNwcDoKKyAgICAgICAgKFN0eWxl
U2hlZXRDU1NSdWxlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNoZWV0OjpyZXBv
cnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU1Vua25vd25SdWxlLmg6CisgICAgICAg
IChDU1NVbmtub3duUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NVbmtub3duUnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5
bGVEZWNsYXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVDU1NTdHlsZURlY2xhcmF0aW9uOjpy
ZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNs
YXJhdGlvbi5oOgorICAgICAgICAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKToKKyAg
ICAgICAgKFN0eWxlUnVsZUNTU1N0eWxlRGVjbGFyYXRpb24pOgorICAgICAgICAoSW5saW5lQ1NT
U3R5bGVEZWNsYXJhdGlvbik6CisgICAgICAgICogY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnJlcG9ydERlc2Nl
bmRhbnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlLmg6CisgICAgICAgIChXZWJLaXRDU1NLZXlmcmFtZVJ1bGUpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYktpdENTU0tleWZyYW1lc1J1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSk6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVs
ZS5oOgorICAgICAgICAoV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZSk6CisgICAgICAgICogY3NzL1dl
YktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViS2l0Q1NTUmVnaW9u
UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIGNzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmg6CisgICAgICAgIChXZWJLaXRDU1NS
ZWdpb25SdWxlKToKKworMjAxMi0wOC0wMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9t
aXVtLm9yZz4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW5hbWUgcmVwb3J0TWVtb3J5VXNh
Z2UgdG8gcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlIGluIFN0eWxlUnVsZUJhc2UgZGVzY2Vu
ZGFudHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
OTY2CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCmluZGV4IGI3YTc3YWM1Mjg0
OTE2MDRhMzUyZWMwZTc0YTI1MzNlYWExNjYxOWUuLmI3YjhkNzZkY2E3ZjdkNjg1OWY5Y2M1NTAx
MGZkZWQyYjgzM2VhMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcApAQCAt
MjEsNiArMjEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU0NoYXJzZXRS
dWxlLmgiCiAKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKKwogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBDU1NDaGFyc2V0UnVsZTo6Q1NTQ2hhcnNldFJ1bGUoQ1NTU3R5bGVTaGVl
dCogcGFyZW50LCBjb25zdCBTdHJpbmcmIGVuY29kaW5nKQpAQCAtMzQsNCArMzYsMTEgQEAgU3Ry
aW5nIENTU0NoYXJzZXRSdWxlOjpjc3NUZXh0KCkgY29uc3QKICAgICByZXR1cm4gIkBjaGFyc2V0
IFwiIiArIG1fZW5jb2RpbmcgKyAiXCI7IjsKIH0KIAordm9pZCBDU1NDaGFyc2V0UnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPENTU0NoYXJzZXRSdWxlPiBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBD
U1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAg
ICBpbmZvLmFkZFN0cmluZyhtX2VuY29kaW5nKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaAppbmRleCBkMDhlZmE3ZGY1YjkzNWIyNjAy
NTAyOTM3MGM0ZjIxMTg0NTUyYWRjLi4wZGFkNDdjOWU3ZDc4ZGRkZjQ5NWZiM2QxZmQ0MmNiOTNl
OTFhNDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaApAQCAtMzksNiArMzksOCBA
QCBwdWJsaWM6CiAKICAgICBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OwogCisgICAgdm9pZCByZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCiBwcml2
YXRlOgogICAgIENTU0NoYXJzZXRSdWxlKENTU1N0eWxlU2hlZXQqIHBhcmVudCwgY29uc3QgU3Ry
aW5nJiBlbmNvZGluZyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNjI2NDdiOWU1MjAxOTNhMzlhOTJiODJjMWEzYzE2
NDJmNzhkMjMzMy4uYjViYjg2Mzc2YjM5Mjg3YzU5Njc0MTEwNzVmZjAwODgxYjdmODNiNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJGb250RmVhdHVyZVNldHRpbmdzLmgiCiAj
aW5jbHVkZSAiRm9udEZlYXR1cmVWYWx1ZS5oIgogI2luY2x1ZGUgIkZvbnRWYWx1ZS5oIgorI2lu
Y2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNs
dWRlICJSZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94LmgiCkBAIC0yNjg0LDYgKzI2ODUsMTIg
QEAgUGFzc1JlZlB0cjxTdHlsZVByb3BlcnR5U2V0PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b246OmNvcHlQcm9wZXJ0aWVzSW5TZXQoY28KICAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eVNldDo6
Y3JlYXRlKGxpc3QuZGF0YSgpLCBsaXN0LnNpemUoKSk7CiB9CiAKK3ZvaWQgQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbzxDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1
bWVudGF0aW9uOjpDU1MpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbm9kZSk7
Cit9CisKIENTU1J1bGUqIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6cGFyZW50UnVsZSgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggYTIzNmE3ZDIxNjRkM2Y4YjAwZjE1NDU3NzNm
ZjU0YjBhNGQyZTA0Mi4uMTBkMDE1OTBhY2M3OTRkNTE2M2M3ZWU1ODY2MGZjYjYzNTk4M2JmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
aApAQCAtNzIsNiArNzIsOCBAQCBwdWJsaWM6CiAKICAgICBQYXNzUmVmUHRyPFN0eWxlUHJvcGVy
dHlTZXQ+IGNvcHlQcm9wZXJ0aWVzSW5TZXQoY29uc3QgQ1NTUHJvcGVydHlJRCogc2V0LCB1bnNp
Z25lZCBsZW5ndGgpIGNvbnN0OwogCisgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKKwogcHJpdmF0ZToKICAgICBDU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24oUGFzc1JlZlB0cjxOb2RlPiwgYm9vbCBhbGxvd1Zpc2l0
ZWRTdHlsZSwgY29uc3QgU3RyaW5nJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVs
ZS5jcHAKaW5kZXggYmNjODYzOWVkNDZjZjViOWRlNjY2YTQ4NzRkZmU4NDM2YzJkMmU3Zi4uZWY0
MzU5OGE4ZDFkMWI0MmE4NTUwZjE2NTZmMTEzNmI1OTVkMTE4NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKIAorI2luY2x1ZGUgIk1lbW9yeUluc3Ry
dW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKICNpbmNsdWRlICJT
dHlsZVJ1bGUuaCIKIApAQCAtNjMsNCArNjQsMTIgQEAgdm9pZCBDU1NGb250RmFjZVJ1bGU6OnJl
YXR0YWNoKFN0eWxlUnVsZUZvbnRGYWNlKiBydWxlKQogICAgICAgICBtX3Byb3BlcnRpZXNDU1NP
TVdyYXBwZXItPnJlYXR0YWNoKG1fZm9udEZhY2VSdWxlLT5tdXRhYmxlUHJvcGVydGllcygpKTsK
IH0KIAordm9pZCBDU1NGb250RmFjZVJ1bGU6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNs
YXNzSW5mbzxDU1NGb250RmFjZVJ1bGU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fZm9udEZhY2VSdWxlKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3By
b3BlcnRpZXNDU1NPTVdyYXBwZXIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VSdWxlLmgKaW5kZXggNjQxNGM4NzJjYzdlODM4ZTE3NDlkYzNj
OThjYzY0YWU0N2EwY2VkZC4uZjY3MzYyYmI0ZGMxOTAyZjhmMTk5YTMzYzBkZjdiY2ZhMGEzZDNk
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlUnVsZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVJ1bGUuaApAQCAtNDUsNiArNDUsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUZvbnRGYWNlKik7CiAKKyAgICB2
b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7
CisKIHByaXZhdGU6CiAgICAgQ1NTRm9udEZhY2VSdWxlKFN0eWxlUnVsZUZvbnRGYWNlKiwgQ1NT
U3R5bGVTaGVldCogcGFyZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltcG9ydFJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9ydFJ1bGUuY3BwCmlu
ZGV4IGZhMTBhMjg3Y2I1YjkyMjlhNjZmODVkMTgyOWRmYThmYzg3YzdjZTMuLjYzODFmMTdkZGNj
NDU1ZWQ3MDlmY2NhMzVhMTlmYzEyZjdjNWI3ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbXBvcnRSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0
UnVsZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCisjaW5j
bHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJTdHlsZVNoZWV0Q29u
dGVudHMuaCIKQEAgLTc2LDYgKzc3LDE1IEBAIFN0cmluZyBDU1NJbXBvcnRSdWxlOjpjc3NUZXh0
KCkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiB9CiAKK3ZvaWQgQ1NTSW1w
b3J0UnVsZTo6cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPENTU0ltcG9ydFJ1
bGU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpD
U1MpOworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVj
dEluZm8pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1wb3J0UnVsZSk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHlsZVNoZWV0Q1NTT01XcmFwcGVyKTsKK30K
KwogQ1NTU3R5bGVTaGVldCogQ1NTSW1wb3J0UnVsZTo6c3R5bGVTaGVldCgpIGNvbnN0CiB7IAog
ICAgIGlmICghbV9pbXBvcnRSdWxlLT5zdHlsZVNoZWV0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltcG9y
dFJ1bGUuaAppbmRleCA5ZWUzMDY2MTEyOWIwYWVlMWZlN2NjMjExY2FhYTVhYTgxZWMzOTA5Li5j
ODM1ZjdkZDVlZWY2Yzk3YmNjZmIyNzgxOTY3MmZmZjU3YzU3MmE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1wb3J0UnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NJbXBvcnRSdWxlLmgKQEAgLTQzLDYgKzQzLDggQEAgcHVibGljOgogICAgIAogICAgIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgQ1NTSW1wb3J0UnVs
ZShTdHlsZVJ1bGVJbXBvcnQqLCBDU1NTdHlsZVNoZWV0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01l
ZGlhUnVsZS5jcHAKaW5kZXggNTViYmFhNWZkYTI1NjAxYTc0ZTg1MzRhY2RlYzlmNzcyYTA3MThj
Mi4uNDRhN2ZjM2RlYjQzOTFlY2JkZGNlYjU4YmJhMDA1OWMwNDc3NTVlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU01lZGlhUnVsZS5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJDU1NSdWxl
TGlzdC5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25D
b2RlLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU3R5
bGVSdWxlLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC0xNzQs
NCArMTc1LDEzIEBAIHZvaWQgQ1NTTWVkaWFSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVNZWRpYSog
cnVsZSkKICAgICB9CiB9CiAKK3ZvaWQgQ1NTTWVkaWFSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAg
ICBNZW1vcnlDbGFzc0luZm88Q1NTTWVkaWFSdWxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX21lZGlhQ1NTT01XcmFwcGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZFZlY3RvcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVu
dGVkTWVtYmVyKG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKaW5kZXggZmRhMjNjYWUyN2VmZTAxZTc5
OGZlYTkwOGZmM2YyNjZjNzgyYWM2Yy4uNjlmYWYxYTUwZGViZjIxNWEzMzYxMGY3ZTljMjU1Njgy
ZTc5YjA0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaApAQCAtNTIsNiArNTIsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZU1lZGlhKik7CiAKKyAgICB2b2lk
IHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgQ1NTTWVkaWFSdWxlKFN0eWxlUnVsZU1lZGlhKiwgQ1NTU3R5bGVTaGVl
dCopOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5jcHAKaW5kZXggNDI4NTlhYTJhMWZk
M2NkMTdlZjc4Nzk4NWRkMzZjMWE1NmYzYmE5MC4uOGQ1ZDZlZmIzZGIxODc0NWEzYjgyMThiZGU3
NTFmYTA0ZDcwYTM0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFnZVJ1bGUuY3BwCkBAIC05NSw0ICs5
NSwxMiBAQCB2b2lkIENTU1BhZ2VSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVQYWdlKiBydWxlKQog
ICAgICAgICBtX3Byb3BlcnRpZXNDU1NPTVdyYXBwZXItPnJlYXR0YWNoKG1fcGFnZVJ1bGUtPm11
dGFibGVQcm9wZXJ0aWVzKCkpOwogfQogCit2b2lkIENTU1BhZ2VSdWxlOjpyZXBvcnREZXNjZW5k
YW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
K3sKKyAgICBNZW1vcnlDbGFzc0luZm88Q1NTUGFnZVJ1bGU+IGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIENTU1J1bGU6OnJlcG9y
dEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fcGFnZVJ1bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVt
YmVyKG1fcHJvcGVydGllc0NTU09NV3JhcHBlcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYWdlUnVsZS5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKaW5kZXggMTYzOTAwY2QxZWUzODllYWZhZDlmZjQ0
ODdjNmE4NGJiYmQyYTVlNS4uYWVkNGRmNGFlMDFhNWI3MTYwOWU4ZGIyODQ3MjA0NTA4OTkzODE3
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhZ2VSdWxlLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgog
CiAgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVQYWdlKik7CiAKKyAgICB2b2lkIHJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6
CiAgICAgQ1NTUGFnZVJ1bGUoU3R5bGVSdWxlUGFnZSosIENTU1N0eWxlU2hlZXQqKTsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmNwcAppbmRleCBjMzEwNWEwNWVkY2MyOGZiY2U3YzkwZTBlNDY0OTYw
Mzg2YjViNjExLi5lNTgzOWIyOWVkNzg2OGZiMjg2NDM0N2UxYmJiNDdjMmNkMjlmN2Y1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuY3BwCkBAIC0xNjQsMTAgKzE2NCw1OSBAQCB2b2lkIENTU1J1bGU6OnJl
YXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CiAKK3ZvaWQgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHR5cGUoKSkgeworICAgIGNhc2Ug
VU5LTk9XTl9SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBDU1NVbmtub3duUnVsZSo+
KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Cisg
ICAgICAgIHJldHVybjsKKyAgICBjYXNlIFNUWUxFX1JVTEU6CisgICAgICAgIHN0YXRpY19jYXN0
PGNvbnN0IENTU1N0eWxlUnVsZSo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2Uo
bWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIFBBR0VfUlVMRToK
KyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTUGFnZVJ1bGUqPih0aGlzKS0+cmVwb3J0RGVz
Y2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBDSEFSU0VUX1JVTEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IENTU0NoYXJz
ZXRSdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSU1QT1JUX1JVTEU6CisgICAgICAgIHN0
YXRpY19jYXN0PGNvbnN0IENTU0ltcG9ydFJ1bGUqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBN
RURJQV9SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBDU1NNZWRpYVJ1bGUqPih0aGlz
KS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAg
ICByZXR1cm47CisgICAgY2FzZSBGT05UX0ZBQ0VfUlVMRToKKyAgICAgICAgc3RhdGljX2Nhc3Q8
Y29uc3QgQ1NTRm9udEZhY2VSdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2Fn
ZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV0VCS0lUX0tF
WUZSQU1FU19SVUxFOgorICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgV0VCS0lUX0tFWUZSQU1FX1JVTEU6Cisg
ICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU0tleWZyYW1lUnVsZSo+KHRoaXMpLT5y
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgICAgIHJl
dHVybjsKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgY2FzZSBXRUJLSVRfUkVHSU9OX1JV
TEU6CisgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlz
KS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgICAg
ICByZXR1cm47CisjZW5kaWYKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuOworfQorCiBjb25zdCBDU1NQYXJzZXJDb250ZXh0JiBDU1NSdWxlOjpwYXJzZXJDb250
ZXh0KCkgY29uc3QKIHsKICAgICBDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0ID0gcGFyZW50U3R5
bGVTaGVldCgpOwogICAgIHJldHVybiBzdHlsZVNoZWV0ID8gc3R5bGVTaGVldC0+Y29udGVudHMo
KS0+cGFyc2VyQ29udGV4dCgpIDogc3RyaWN0Q1NTUGFyc2VyQ29udGV4dCgpOwogfQogCit2b2lk
IENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPENTU1J1bGU+IGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOwor
ICAgIGlmIChtX3BhcmVudElzUnVsZSkKKyAgICAgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXIobV9wYXJlbnRSdWxlKTsKKyAgICBlbHNlCisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fcGFyZW50U3R5bGVTaGVldCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5oCmluZGV4IGUzOGUxNjFkYzEwOGY3OTg4MDAzY2E3MDIzYTVlNmU4NDM3
NzA2NzUuLjY1ZGY2MjIxYzI5NGJkZjhmOTcxYmQzOTIyZWJiNTIzNjE4NDY0YjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaApAQCAtMzAsNiArMzAsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDU1NTdHlsZVNoZWV0OworY2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKIGNsYXNzIFN0eWxlUnVs
ZUJhc2U7CiBzdHJ1Y3QgQ1NTUGFyc2VyQ29udGV4dDsKIHR5cGVkZWYgaW50IEV4Y2VwdGlvbkNv
ZGU7CkBAIC0xMDMsNiArMTA0LDggQEAgcHVibGljOgogCiAgICAgdm9pZCByZWF0dGFjaChTdHls
ZVJ1bGVCYXNlKik7CiAKKyAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIENTU1J1bGUoQ1NTU3R5bGVTaGVldCogcGFy
ZW50LCBUeXBlIHR5cGUpCiAgICAgICAgIDogbV9oYXNDYWNoZWRTZWxlY3RvclRleHQoZmFsc2Up
CkBAIC0xMjIsNiArMTI1LDggQEAgcHJvdGVjdGVkOgogCiAgICAgY29uc3QgQ1NTUGFyc2VyQ29u
dGV4dCYgcGFyc2VyQ29udGV4dCgpIGNvbnN0OwogCisgICAgdm9pZCByZXBvcnRCYXNlQ2xhc3NN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgbXV0
YWJsZSB1bnNpZ25lZCBtX2hhc0NhY2hlZFNlbGVjdG9yVGV4dCA6IDE7CiAgICAgdW5zaWduZWQg
bV9wYXJlbnRJc1J1bGUgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5jcHAKaW5kZXggYTE1
OGQ2ZjJlNzAxNGVmNDgyZjliZDk4ZTNjZTY3M2VmNWRjNTcwZi4uYmIzOGE5NjQ1YjVkMzcyN2U3
ZDgzYTg0ZjFiOGNkMjJiNTBkMDM5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1J1bGVMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZUxpc3QuY3BwCkBA
IC01MSw0ICs1MSwxMCBAQCB2b2lkIFN0YXRpY0NTU1J1bGVMaXN0OjpkZXJlZigpCiAgICAgICAg
IGRlbGV0ZSB0aGlzOwogfQogCit2b2lkIFN0YXRpY0NTU1J1bGVMaXN0OjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1l
bW9yeUNsYXNzSW5mbzxTdGF0aWNDU1NSdWxlTGlzdD4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50
ZWRWZWN0b3IobV9ydWxlcyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGVMaXN0LmgKaW5kZXggYzZlNzVjODZlMWRjODg1NDM4ZGFiYzU5MmQ3NjhjMmUwYjhm
YjE2ZS4uYTg0OTcxYjQ4NTU4YmVjM2ZhOTY4ZTMwOTg5M2RhNzYxMmM2NzJjZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1J1bGVMaXN0LmgKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgQ1NTUnVsZUxpc3Rf
aAogI2RlZmluZSBDU1NSdWxlTGlzdF9oCiAKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRp
b24uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNDUsNiArNDYsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBDU1NSdWxlKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdCA9IDA7CiAg
ICAgCiAgICAgdmlydHVhbCBDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0KCkgY29uc3QgPSAwOwor
CisgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdCA9IDA7CiAgICAgCiBwcm90ZWN0ZWQ6CiAgICAgQ1NTUnVsZUxpc3QoKTsKQEAgLTYxLDYg
KzY0LDggQEAgcHVibGljOgogICAgIAogICAgIHZpcnR1YWwgQ1NTU3R5bGVTaGVldCogc3R5bGVT
aGVldCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAorICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7CisKIHByaXZhdGU6ICAg
IAogICAgIFN0YXRpY0NTU1J1bGVMaXN0KCk7CiAgICAgflN0YXRpY0NTU1J1bGVMaXN0KCk7CkBA
IC04MCw2ICs4NSwxMiBAQCBwdWJsaWM6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHJlZigpIHsg
bV9ydWxlLT5yZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpIHsgbV9ydWxlLT5kZXJl
ZigpOyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0
SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QgT1ZFUlJJREUKKyAgICB7CisgICAgICAgIE1l
bW9yeUNsYXNzSW5mbzxMaXZlQ1NTUnVsZUxpc3Q8UnVsZT4gPiBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9ydWxlKTsKKyAgICB9CiAgICAgCiBwcml2YXRlOgogICAgIHZp
cnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9ydWxlLT5sZW5ndGgoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmgKaW5kZXggNWQ4OGViZDA3
YzlkMGUxMWZlOGFhYTQ4MTI0M2VlYWZkMDE1YjZhNC4uMzVhMDhmZTUyNDgwOGM3MTdjN2U3ZmRk
ZDA0NmM0YTgzYzE2NGVhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
RGVjbGFyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlv
bi5oCkBAIC0zMCw2ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENTU1Byb3Bl
cnR5OwogY2xhc3MgQ1NTU3R5bGVTaGVldDsKIGNsYXNzIENTU1ZhbHVlOworY2xhc3MgTWVtb3J5
T2JqZWN0SW5mbzsKIGNsYXNzIFN0eWxlUHJvcGVydHlTZXQ7CiBjbGFzcyBTdHlsZWRFbGVtZW50
OwogCkBAIC02OSw2ICs3MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgY3NzUHJvcGVy
dHlNYXRjaGVzKGNvbnN0IENTU1Byb3BlcnR5KikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgQ1NT
U3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0IHsgcmV0dXJuIDA7IH0KIAorICAg
IHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Qg
PSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvbigpIHsgfQogfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKaW5kZXggMWVlYjMyZDQyNzg3ODJiNmJiMWNiNGVk
YWRiMjFjYmU0NjNlYTM4Ny4uYzI2M2I3NDJlNGFjODI1ZWY4MTAwYmMzZDJkNDE3Nzg1ZmU1M2Zl
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNp
bmNsdWRlICJDU1NTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNs
dWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIk1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2luY2x1ZGUgIlN0eWxl
UHJvcGVydHlTZXQuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKQEAgLTEyNyw0ICsxMjgsMTIg
QEAgdm9pZCBDU1NTdHlsZVJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZSogcnVsZSkKICAgICAgICAg
bV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyLT5yZWF0dGFjaChtX3N0eWxlUnVsZS0+bXV0YWJsZVBy
b3BlcnRpZXMoKSk7CiB9CiAKK3ZvaWQgQ1NTU3R5bGVSdWxlOjpyZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAg
ICBNZW1vcnlDbGFzc0luZm88Q1NTU3R5bGVSdWxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRCYXNl
Q2xhc3NNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX3N0eWxlUnVsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIo
bV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlUnVsZS5oCmluZGV4IGQ3NmE4MDJmYTRlYTFjOTExYzEzZTM1NDU5
OGQwOTJlYTljZmQwNTkuLmY5NmNiMTZjZjMwZDA0OTdlZDhjZDQzZGZiYWNkOWI0NGU4NGNkY2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVSdWxlLmgKQEAgLTUwLDYgKzUwLDggQEAgcHVibGljOgog
CiAgICAgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGUqKTsKIAorICAgIHZvaWQgcmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0ZToKICAg
ICBDU1NTdHlsZVJ1bGUoU3R5bGVSdWxlKiwgQ1NTU3R5bGVTaGVldCopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTaGVldC5jcHAKaW5kZXggMWZlZjFiNDg2MGRiNGNlYjllNGVjYjc1M2UxYmZh
NDVkZWIyZWE3ZC4uZDgzZTEyOTEyNWY5ZTgyZDQyYWNlYjliYzllZTkyZDE1NTNiYjFiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNoZWV0LmNwcApAQCAtNTMsNiArNTMsMTIgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0
dXJuIG1fc3R5bGVTaGVldC0+aXRlbShpbmRleCk7IH0KICAgICAKICAgICB2aXJ0dWFsIENTU1N0
eWxlU2hlZXQqIHN0eWxlU2hlZXQoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlU2hlZXQ7IH0KKwor
ICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1v
cnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQorICAgIHsKKyAgICAgICAgTWVtb3J5Q2xhc3NJ
bmZvPFN0eWxlU2hlZXRDU1NSdWxlTGlzdD4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBN
ZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fc3R5bGVTaGVldCk7CisgICAgfQogICAgIAogICAgIENTU1N0eWxlU2hlZXQqIG1f
c3R5bGVTaGVldDsKIH07CkBAIC0xNzYsNyArMTgyLDkgQEAgdm9pZCBDU1NTdHlsZVNoZWV0Ojpy
ZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25z
dAogICAgIGluZm8uYWRkU3RyaW5nKG1fdGl0bGUpOwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fbWVkaWFRdWVyaWVzKTsKICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlciht
X293bmVyTm9kZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9vd25lclJ1bGUp
OwogICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7
CiB9CiAKIHZvaWQgQ1NTU3R5bGVTaGVldDo6c2V0RGlzYWJsZWQoYm9vbCBkaXNhYmxlZCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbmtub3duUnVsZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmgKaW5kZXggOWY3NDZiYTBlZWJkNmI0MzllNTNlZWM2
NmY5ZTdkOGUwN2Q1NDRjNi4uMjE3MGRhMWZmNWM3NWZiOTlkNDdkZjQzMGQ0MTgwMGFkZGM1ODM3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Vua25vd25SdWxlLmgKQEAgLTIzLDEyICsyMywxOSBAQAog
I2RlZmluZSBDU1NVbmtub3duUnVsZV9oCiAKICNpbmNsdWRlICJDU1NSdWxlLmgiCisjaW5jbHVk
ZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgQ1NTVW5rbm93blJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CiBwdWJsaWM6CiAgICAgQ1NTVW5r
bm93blJ1bGUoKSA6IENTU1J1bGUoMCwgQ1NTUnVsZTo6VU5LTk9XTl9SVUxFKSB7IH0KKworICAg
IHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9y
eU9iamVjdEluZm8pIGNvbnN0CisgICAgeworICAgICAgICBNZW1vcnlDbGFzc0luZm88Q1NTVW5r
bm93blJ1bGU+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOworICAgICAgICBDU1NSdWxlOjpyZXBvcnRCYXNlQ2xhc3NNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKKyAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRp
b24uY3BwCmluZGV4IDhhMGFmZDZlODY1Yzg3ZGJlMmRiMGQzOTg3OWNlYmY0YmMwYjUxYTMuLjcy
NjZlNmViYTgxNDhmMjljY2Y0ZmFjN2ZjZmUzMTIxYzU5N2RlNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0y
Niw2ICsyNiw3IEBACiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUgIkhUTUxO
YW1lcy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUg
Ik1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJJbnRl
cmVzdEdyb3VwLmgiCiAjaW5jbHVkZSAiTXV0YXRpb25SZWNvcmQuaCIKICNpbmNsdWRlICJTdHls
ZVByb3BlcnR5U2V0LmgiCkBAIC0xMzAsNiArMTMxLDEzIEBAIHZvaWQgUHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uOjpkZXJlZigpCiAgICAgbV9wcm9wZXJ0eVNldC0+ZGVyZWYoKTsgCiB9
CiAKK3ZvaWQgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9y
eUNsYXNzSW5mbzxQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24+IGluZm8obWVtb3J5T2Jq
ZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKG1fcHJvcGVydHlTZXQpOworICAgIC8vIEZJWE1FOiBhZGQgaW5m
by5hZGRJbnN0cnVtZW50ZWRIYXNNYXAobV9jc3NvbUNTU1ZhbHVlQ2xvbmVzKSB3aGVuIENTU1Zh
bHVlIGlzIGluc3RydW1lbnRlZC4KK30KKwogdW5zaWduZWQgUHJvcGVydHlTZXRDU1NTdHlsZURl
Y2xhcmF0aW9uOjpsZW5ndGgoKSBjb25zdAogewogICAgIHJldHVybiBwcm9wZXJ0eVNldCgpLT5w
cm9wZXJ0eUNvdW50KCk7CkBAIC0zODAsNiArMzg4LDIwIEBAIHZvaWQgU3R5bGVSdWxlQ1NTU3R5
bGVEZWNsYXJhdGlvbjo6cmVhdHRhY2goU3R5bGVQcm9wZXJ0eVNldCogcHJvcGVydHlTZXQpCiAg
ICAgbV9wcm9wZXJ0eVNldC0+cmVmKCk7CiB9CiAKK3ZvaWQgU3R5bGVSdWxlQ1NTU3R5bGVEZWNs
YXJhdGlvbjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0
SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88U3R5bGVSdWxlQ1NTU3R5bGVEZWNs
YXJhdGlvbj4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRp
b246OkNTUyk7CisgICAgaW5mby52aXNpdEJhc2VDbGFzcyh0aGlzKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3BhcmVudFJ1bGUpOworfQorCit2b2lkIElubGluZUNTU1N0eWxl
RGVjbGFyYXRpb246OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPElubGluZUNTU1N0eWxlRGVj
bGFyYXRpb24+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpDU1MpOworICAgIGluZm8udmlzaXRCYXNlQ2xhc3ModGhpcyk7CisgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9wYXJlbnRFbGVtZW50KTsKK30KKwogdm9pZCBJbmxpbmVDU1NT
dHlsZURlY2xhcmF0aW9uOjpkaWRNdXRhdGUoTXV0YXRpb25UeXBlIHR5cGUpCiB7CiAgICAgaWYg
KHR5cGUgPT0gTm9DaGFuZ2VzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3Bl
cnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5oCmluZGV4IDQ0YjczZGU2ZjA1Y2FhZDU0ZDgzNGI3Mzgx
NmVmZTExYTg5ZDhhOWMuLjY5MDg2NzBjMDM4MWRhNTU5Yjk2MGE4NWRjNWQ0ODA0NzA4MDU3MjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xh
cmF0aW9uLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWYo
KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSBPVkVSUklERTsKIAorICAgIHZp
cnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3QgT1ZF
UlJJREU7CisKIHByb3RlY3RlZDoKICAgICBjb25zdCBTdHlsZVByb3BlcnR5U2V0KiBwcm9wZXJ0
eVNldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydHlTZXQ7IH0KICAgICB2aXJ0dWFsIFN0eWxl
UHJvcGVydHlTZXQqIGVuc3VyZU11dGFibGVQcm9wZXJ0eVNldCgpIHsgcmV0dXJuIG1fcHJvcGVy
dHlTZXQ7IH0KQEAgLTk5LDYgKzEwMSw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVhdHRhY2go
U3R5bGVQcm9wZXJ0eVNldCopOwogCisgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKKwogcHJpdmF0ZToKICAgICBTdHls
ZVJ1bGVDU1NTdHlsZURlY2xhcmF0aW9uKFN0eWxlUHJvcGVydHlTZXQqLCBDU1NSdWxlKik7CiAg
ICAgdmlydHVhbCB+U3R5bGVSdWxlQ1NTU3R5bGVEZWNsYXJhdGlvbigpOwpAQCAtMTI0LDYgKzEy
OCw4IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3BhcmVudEVsZW1lbnQocGFyZW50RWxlbWVudCkg
CiAgICAgewogICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiBwcml2YXRlOgogICAgIHZpcnR1
YWwgQ1NTU3R5bGVTaGVldCogcGFyZW50U3R5bGVTaGVldCgpIGNvbnN0IE9WRVJSSURFOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lUnVsZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmNwcAppbmRleCA1ZTc4MzE2
NmUyMjNjMDBlOWQ0ZjlhMGQzMGY2MmZkMDhiNGE1ZjJiLi5iNzJhNGEzYTUwZDcyZmRkN2EyZDlk
ZGFkOWQ0YWJjODg2MTk1NjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0
Q1NTS2V5ZnJhbWVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlLmNwcApAQCAtMTEzLDQgKzExMywxMiBAQCBDU1NTdHlsZURlY2xhcmF0aW9uKiBX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGU6OnN0eWxlKCkgY29uc3QKICAgICByZXR1cm4gbV9wcm9wZXJ0
aWVzQ1NTT01XcmFwcGVyLmdldCgpOwogfQogCit2b2lkIFdlYktpdENTU0tleWZyYW1lUnVsZTo6
cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFdlYktpdENTU0tleWZyYW1lUnVs
ZT4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNT
Uyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0QmFzZUNsYXNzTWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9rZXlmcmFtZSk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcm9wZXJ0aWVzQ1NTT01XcmFwcGVyKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1dlYktpdENTU0tleWZyYW1lUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tl
eWZyYW1lUnVsZS5oCmluZGV4IDI2ODNlZTNiNTIzNzU4OTk1OTNiZjM3OTRiNTRkNGZlYTU4NTIy
OTguLmYwZTY5N2U3YTBhMGFiNDA4Y2ZkYjc4ODU2NDFjYzJhMGYyNDhjZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgKQEAgLTgwLDYgKzgwLDggQEAgcHVi
bGljOgogCiAgICAgU3RyaW5nIGNzc1RleHQoKSBjb25zdCB7IHJldHVybiBtX2tleWZyYW1lLT5j
c3NUZXh0KCk7IH0KIAorICAgIHZvaWQgcmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9y
eU9iamVjdEluZm8qKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBXZWJLaXRDU1NLZXlmcmFtZVJ1
bGUoU3R5bGVLZXlmcmFtZSosIFdlYktpdENTU0tleWZyYW1lc1J1bGUqIHBhcmVudCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmNwcAppbmRleCAyYTAz
ZmU0N2YyMzNjYWQ1Y2JjNDU0MTIxNzhhMDY0MDE0NzFlMjVkLi4wZjVhOGU3Mjc0ZDY1NzIwOWI2
ZDMyNzNjYWM3OWFhZDM1MDhhNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENT
U0tleWZyYW1lc1J1bGUuY3BwCkBAIC0yMDYsNCArMjA2LDEzIEBAIHZvaWQgV2ViS2l0Q1NTS2V5
ZnJhbWVzUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlS2V5ZnJhbWVzKiBydWxlKQogICAgIG1fa2V5
ZnJhbWVzUnVsZSA9IHJ1bGU7CiB9CiAKK3ZvaWQgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTo6cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdElu
Zm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFdlYktpdENTU0tleWZyYW1lc1J1bGU+
IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1Mp
OworICAgIENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fa2V5ZnJhbWVzUnVsZSk7Cisg
ICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsK
KyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRD
U1NLZXlmcmFtZXNSdWxlLmgKaW5kZXggMGI5MThjZjAyMThjYTJhMjRhOWM4NjUzODFhNzNmYTg0
NmJkMDkzZC4uZTgzYzA4Y2JkMzNmZGNkOTA5YjI3Y2ZlYTQ4ODFmNDA4YzcxZWVmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU0tleWZyYW1lc1J1bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oCkBAIC05Miw2ICs5Miw4
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlS2V5ZnJhbWVzKik7CiAK
KyAgICB2b2lkIHJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikg
Y29uc3Q7CisKIHByaXZhdGU6CiAgICAgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZShTdHlsZVJ1bGVL
ZXlmcmFtZXMqLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKaW5kZXggYmRhYjVhY2NlOGYxNmRlNDM4MzlmOTZmMDQw
NmQzNzlmOTE3Y2M2YS4uMTJjNGU2MTMzZDFmMThmMTNiNmY2ZWZlYTNmZTlkZWM1MGFmNjFjNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcApAQCAtMTA4LDYg
KzEwOCwxNSBAQCB2b2lkIFdlYktpdENTU1JlZ2lvblJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZVJl
Z2lvbiogcnVsZSkKICAgICB9CiB9CiAKK3ZvaWQgV2ViS2l0Q1NTUmVnaW9uUnVsZTo6cmVwb3J0
RGVzY2VuZGFudE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFdlYktpdENTU1JlZ2lvblJ1bGU+IGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworICAg
IENTU1J1bGU6OnJlcG9ydEJhc2VDbGFzc01lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fcmVnaW9uUnVsZSk7CisgICAgaW5mby5h
ZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKKyAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NT
UmVnaW9uUnVsZS5oCmluZGV4IDJiNDIxNjY5OTI3MWI1NGY0ZDg2MzdiZTJhYmFjN2RmYTU4OWRh
ZjAuLmMwMmY0YzRjMmEzNDhkNjY2ZGUzNmYwOGI2YzgwNzBlNjI1OTE5YTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaApAQCAtNTcsNiArNTcsOCBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZVJlZ2lvbiopOwogCisgICAgdm9pZCByZXBv
cnREZXNjZW5kYW50TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OworCiBwcml2
YXRlOgogICAgIFdlYktpdENTU1JlZ2lvblJ1bGUoU3R5bGVSdWxlUmVnaW9uKiwgQ1NTU3R5bGVT
aGVldCogcGFyZW50KTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>