<?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>129187</bug_id>
          
          <creation_ts>2014-02-21 17:15:36 -0800</creation_ts>
          <short_desc>Image controls: Allow the image menu button to be clicked</short_desc>
          <delta_ts>2014-02-24 13:40:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Images</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>129028</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>983453</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-21 17:15:36 -0800</bug_when>
    <thetext>Image controls: Allow the image menu button to be clicked.

This also pipes the click through to a new ImageControlsClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983459</commentid>
    <comment_count>1</comment_count>
      <attachid>224932</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-21 17:27:14 -0800</bug_when>
    <thetext>Created attachment 224932
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984046</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-24 13:40:44 -0800</bug_when>
    <thetext>Going to go a different way with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984047</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-24 13:40:46 -0800</bug_when>
    <thetext>Going to go a different way with this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224932</attachid>
            <date>2014-02-21 17:27:14 -0800</date>
            <delta_ts>2014-02-24 13:40:33 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>51618</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwOTY4YTk5Li45MDAzMDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYg
QEAKKzIwMTQtMDItMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEltYWdlIGNvbnRyb2xzOiBBbGxvdyB0aGUgaW1hZ2UgbWVudSBidXR0b24gdG8gYmUgY2xp
Y2tlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5
MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzIChObyB0ZXN0YWJsZSBjaGFuZ2UgaW4gYmVoYXZpb3IpCisKKyAgICAgICAgLSBG
YWN0b3Igb3V0IHRoZSBzdHlsZSBmb3IgYW4gSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50IHRvIG1h
a2UgaXQgZWFzaWVyIHRvIG1ha2UgaXQgbW9yZSBsaWtlIGEgYnV0dG9uLgorICAgICAgICAtIExp
c3RlbiBmb3IgY2xpY2sgZXZlbnRzIGFuZCBwYXNzIHRoZW0gb24gdG8gYSBuZXcgSW1hZ2VDb250
cm9sc0NsaWVudC4KKworICAgICAgICBBZGQgYW4gSW1hZ2VDb250cm9scyBzdHlsZXNoZWV0Ogor
ICAgICAgICAqIGNzcy9DU1NEZWZhdWx0U3R5bGVTaGVldHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRGVmYXVsdFN0eWxlU2hlZXRzOjplbnN1cmVEZWZhdWx0U3R5bGVTaGVldHNGb3JFbGVt
ZW50KToKKyAgICAgICAgKiBjc3MvQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmg6CisKKyAgICAgICAg
KiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3M6CisgICAgICAgICgueC13ZWJr
aXQtaW1hZ2VtZW51KToKKyAgICAgICAgKC54LXdlYmtpdC1pbWFnZW1lbnU6aG92ZXIpOgorCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZTo6bWVkaWFDb250cm9sc1NjcmlwdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5oOgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNTdHlsZVNoZWV0
KToKKworICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjcmVhdGVJbWFnZUNvbnRyb2xzKToKKworICAgICAgICAq
IGh0bWwvc2hhZG93L0ltYWdlQ29udHJvbHNSb290RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6Om1heWJlQ3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVudDo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVudDo6aW1hZ2VFbGVtZW50KToK
KworICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjpJbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50OjptYXliZUNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRy
b2xzUm9vdEVsZW1lbnRNYWM6Om1heWJlQ3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
Q29udHJvbHNSb290RWxlbWVudE1hYzo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6IEFkZCB0aGlzIGV2
ZW50IGhhbmRsZXIgdG8gZm9yd2FyZAorICAgICAgICAgIGNsaWNrcyB0byB0aGUgSW1hZ2VDb250
cm9sc0NsaWVudC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50TWFjLmg6CisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmZpbGxXaXRoRW1wdHlDbGllbnRzKToKKyAgICAgICAgKiBsb2FkZXIvRW1w
dHlDbGllbnRzLmg6CisKKyAgICAgICAgKiBwYWdlL0ltYWdlQ29udHJvbHNDbGllbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNDbGllbnQ6On5JbWFnZUNvbnRyb2xzQ2xpZW50
KToKKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpQ
YWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6On5QYWdlKToKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2U6OlBhZ2VDbGllbnRzOjpQYWdlQ2xpZW50cyk6CisgICAgICAgICogcGFnZS9QYWdlLmg6
CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjppbWFnZUNvbnRyb2xzQ2xpZW50KToKKworICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDE0LTAyLTIxICBNYXJ0aW4gSG9kb3ZhbiAgPG1ob2RvdmFuQGlu
Zi51LXN6ZWdlZC5odT4KIAogICAgICAgICBGaXhpbmcgdGhlICFFTkFCTEUoU1ZHX0ZPTlRTKSBi
dWlsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggYzM5ZDQwOS4uOGNlYjVmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC04NzMsNiArODczLDEwIEBAIGlmZXEg
KCQoV1RGX1BMQVRGT1JNX0lPUyksIDEpCiBlbmRpZgogZW5kaWYKIAoraWZlcSAoJChmaW5kc3Ry
aW5nIEVOQUJMRV9JTUFHRV9DT05UUk9MUywkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfSU1B
R0VfQ09OVFJPTFMpCisJVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VSX0FHRU5UX1NU
WUxFX1NIRUVUUykgJChXZWJDb3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5j
c3MKK2VuZGlmCisKIGlmZXEgKCQoT1MpLE1BQ09TKQogCVVTRVJfQUdFTlRfU1RZTEVfU0hFRVRT
IDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5z
L1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmNzcwogZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMmI5NjVlLi4zMTMz
NTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xODQ3LDYgKzE4NDcsNyBAQAogCQk1MTc0RTIwQTEwQTFGNDRGMDBGOTVFNkYg
LyogUG9wU3RhdGVFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE3NEUyMDgxMEExRjQ0RjAwRjk1RTZGIC8qIFBvcFN0YXRlRXZlbnQuaCAqLzsg
fTsKIAkJNTE3NzFDOEUxODJEQjRCNzAwOEU3ODFFIC8qIElEQkRhdGFiYXNlQmFja2VuZC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTc3MUM4QzE4
MkRCNEI3MDA4RTc4MUUgLyogSURCRGF0YWJhc2VCYWNrZW5kLmNwcCAqLzsgfTsKIAkJNTE3NzFD
OEYxODJEQjRCNzAwOEU3ODFFIC8qIElEQkRhdGFiYXNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3NzFDOEQxODJEQjRCNzAwOEU3ODFF
IC8qIElEQkRhdGFiYXNlQmFja2VuZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTUxN0RCOUJFMThCODIwNkYwMEE1QjNCOCAvKiBJbWFnZUNvbnRy
b2xzQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTdEQjlCRDE4QjgyMDZGMDBBNUIzQjggLyogSW1hZ2VDb250cm9sc0NsaWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxN0ZCQTFFMTUx
QUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RkJBMTcxNTFBQTcxQjAwQjU3OTU5IC8q
IERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgKi87IH07CiAJCTUxODg5RjBCMTU1NEFGM0QwMDQ0MjdG
NyAvKiBQREZEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTg4OUYwOTE1NTRBRjNEMDA0NDI3RjcgLyogUERGRG9jdW1lbnQuY3BwICov
OyB9OwogCQk1MTg4OUYwQzE1NTRBRjNEMDA0NDI3RjcgLyogUERGRG9jdW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODg5RjBBMTU1NEFGM0Qw
MDQ0MjdGNyAvKiBQREZEb2N1bWVudC5oICovOyB9OwpAQCAtODYxMSw2ICs4NjEyLDcgQEAKIAkJ
NTEwMTkyRDAxOEI2QjlBQjAwN0ZDN0ExIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwMTkyRDMxOEI2QjlCNzAw
N0ZDN0ExIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTAxOTJENDE4QjZCOUI3MDA3RkM3QTEgLyogSW1hZ2VD
b250cm9sc1Jvb3RFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElt
YWdlQ29udHJvbHNSb290RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
MTAxOTJEODE4QjdEN0FCMDA3RkM3QTEgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTAxOTQzRTE4MzZEMjA4MDA5MjU1MjMgLyogSURCSW5kZXhXcml0ZXJM
ZXZlbERCLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQkluZGV4
V3JpdGVyTGV2ZWxEQi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDE5NDNG
MTgzNkQyMDgwMDkyNTUyMyAvKiBJREJJbmRleFdyaXRlckxldmVsREIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSURCSW5kZXhXcml0ZXJMZXZlbERCLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMDE5NDQyMTgzNkY3RTQwMDkyNTUyMyAvKiBJREJDdXJzb3JC
YWNrZW5kT3BlcmF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJREJDdXJzb3JCYWNrZW5kT3BlcmF0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC04NzMxLDYgKzg3MzMsNyBAQAogCQk1MTc0RTIwQjEwQTFGNDlBMDBGOTVFNkYgLyog
UG9wU3RhdGVFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUG9wU3RhdGVFdmVudC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNzcxQzhDMTgyREI0QjcwMDhFNzgx
RSAvKiBJREJEYXRhYmFzZUJhY2tlbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSURCRGF0YWJhc2VCYWNrZW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTE3NzFDOEQxODJEQjRCNzAwOEU3ODFFIC8qIElEQkRhdGFiYXNlQmFja2VuZC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJEYXRhYmFzZUJhY2tlbmQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTE3REI5QkQxOEI4MjA2RjAwQTVCM0I4IC8qIElt
YWdlQ29udHJvbHNDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1h
Z2VDb250cm9sc0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdGQkEx
NzE1MUFBNzFCMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERPTVdpbmRvd0V4dGVuc2lvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0ZCQTE4MTUxQUE3MUIwMEI1Nzk1OSAvKiBET01XaW5k
b3dFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93
RXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODg5RjA5MTU1NEFG
M0QwMDQ0MjdGNyAvKiBQREZEb2N1bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQREZEb2N1bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNTY2NCw2ICsxNTY2Nyw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MTAxOTJDRjE4QjZC
OUFCMDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcCAqLywKIAkJCQk1
MTAxOTJEMDE4QjZCOUFCMDA3RkM3QTEgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmgg
Ki8sCisJCQkJNTEwMTkyRDgxOEI3RDdBQjAwN0ZDN0ExIC8qIGltYWdlQ29udHJvbHNNYWMuY3Nz
ICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtMTYxMDMsNiArMTYxMDcsNyBAQAogCQkJCUJDOTREMTUwMEMyNzVDOEIwMDZCQzYxNyAvKiBI
aXN0b3J5LmNwcCAqLywKIAkJCQlCQzk0RDE1MTBDMjc1QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5o
ICovLAogCQkJCUJDOTREMTUyMEMyNzVDOEIwMDZCQzYxNyAvKiBIaXN0b3J5LmlkbCAqLywKKwkJ
CQk1MTdEQjlCRDE4QjgyMDZGMDBBNUIzQjggLyogSW1hZ2VDb250cm9sc0NsaWVudC5oICovLAog
CQkJCTkzMUQ3MkY1MTVGRTY5NTMwMEM0QzA3RSAvKiBMYXlvdXRNaWxlc3RvbmVzLmggKi8sCiAJ
CQkJQkNFMUM0MUEwRDk4Mjk4MDAwM0IwMkYyIC8qIExvY2F0aW9uLmNwcCAqLywKIAkJCQlCQ0Ux
QzQxOTBEOTgyOTgwMDAzQjAyRjIgLyogTG9jYXRpb24uaCAqLywKQEAgLTIzMzc1LDYgKzIzMzgw
LDcgQEAKIAkJCQk4NUFDQUE4RDBBOUI3NTlDMDA2NzFFOTAgLyogRE9NTm9kZUxpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1RTcxMUQzMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01Ob2RlTGlzdElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTRBODJFQzE1MjI4RDJGMDBDNzJCQTYgLyog
RE9NTm9kZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxN0RCOUJFMThCODIwNkYwMEE1
QjNCOCAvKiBJbWFnZUNvbnRyb2xzQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUNBOTZF
QTBBOTYyNEU5MDA2OTBDQ0YgLyogRE9NTm90YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTg1
RTcxMUQ0MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01Ob3RhdGlvbkludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk4NTZDOEFFNDBBOTEyNjQ5MDA1QzY4N0IgLyogRE9NT2JqZWN0LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NEZWZhdWx0U3R5bGVT
aGVldHMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAK
aW5kZXggMDc1Mzg2NC4uZmIwN2RjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1
bHRTdHlsZVNoZWV0cy5jcHAKQEAgLTU2LDYgKzU2LDggQEAgU3R5bGVTaGVldENvbnRlbnRzKiBD
U1NEZWZhdWx0U3R5bGVTaGVldHM6Om1hdGhNTFN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVu
dHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHls
ZVNoZWV0Q29udGVudHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZnVsbHNjcmVlblN0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6cGx1Z0luc1N0
eWxlU2hlZXQ7CitTdHlsZVNoZWV0Q29udGVudHMqIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6aW1h
Z2VDb250cm9sc1N0eWxlU2hlZXQ7CisKIAogLy8gRklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8g
dXNlIHNvbWUgbWVjaGFuaXNtIHRoYXQgZ3VhcmFudGVlcyB0aGlzIGlzIGluIHN5bmMgd2l0aCB0
aGUgcmVhbCBVQSBzdHlsZXNoZWV0Lgogc3RhdGljIGNvbnN0IGNoYXIqIHNpbXBsZVVzZXJBZ2Vu
dFN0eWxlU2hlZXQgPSAiaHRtbCxib2R5LGRpdntkaXNwbGF5OmJsb2NrfWhlYWR7ZGlzcGxheTpu
b25lfWJvZHl7bWFyZ2luOjhweH1kaXY6Zm9jdXMsc3Bhbjpmb2N1cyxhOmZvY3Vze291dGxpbmU6
YXV0byA1cHggLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yfWE6LXdlYmtpdC1hbnktbGlua3tjb2xv
cjotd2Via2l0LWxpbms7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hOi13ZWJraXQtYW55LWxp
bms6YWN0aXZle2NvbG9yOi13ZWJraXQtYWN0aXZlbGlua30iOwpAQCAtMTkxLDYgKzE5MywxNiBA
QCB2b2lkIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6ZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9y
RWxlbWVudChFbGVtZW50KiBlbGVtZW50LAogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKElN
QUdFX0NPTlRST0xTKQorICAgIGlmICghaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQgJiYgZWxlbWVu
dC0+aXNJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoKSkgeworICAgICAgICBTdHJpbmcgaW1hZ2VD
b250cm9sc1J1bGVzID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShlbGVtZW50LT5kb2N1bWVu
dCgpLnBhZ2UoKSktPmltYWdlQ29udHJvbHNTdHlsZVNoZWV0KCk7CisgICAgICAgIGltYWdlQ29u
dHJvbHNTdHlsZVNoZWV0ID0gcGFyc2VVQVNoZWV0KGltYWdlQ29udHJvbHNSdWxlcyk7CisgICAg
ICAgIGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQoaW1hZ2VDb250cm9sc1N0eWxlU2hl
ZXQsIHNjcmVlbkV2YWwoKSk7CisgICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zy
b21TaGVldChpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCwgcHJpbnRFdmFsKCkpOworICAgICAgICBj
aGFuZ2VkRGVmYXVsdFN0eWxlID0gdHJ1ZTsKKyAgICB9CisjZW5kaWYKKwogICAgIGlmICghcGx1
Z0luc1N0eWxlU2hlZXQgJiYgKGVsZW1lbnQtPmhhc1RhZ05hbWUob2JqZWN0VGFnKSB8fCBlbGVt
ZW50LT5oYXNUYWdOYW1lKGVtYmVkVGFnKSkpIHsKICAgICAgICAgU3RyaW5nIHBsdWdJbnNSdWxl
cyA9IFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UoZWxlbWVudC0+ZG9jdW1lbnQoKS5wYWdlKCkp
LT5leHRyYVBsdWdJbnNTdHlsZVNoZWV0KCkgKyBlbGVtZW50LT5kb2N1bWVudCgpLnBhZ2UoKS0+
Y2hyb21lKCkuY2xpZW50KCkucGx1Z0luRXh0cmFTdHlsZVNoZWV0KCk7CiAgICAgICAgIGlmIChw
bHVnSW5zUnVsZXMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0RlZmF1bHRTdHlsZVNoZWV0cy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0RlZmF1bHRTdHls
ZVNoZWV0cy5oCmluZGV4IGNiMTM3YWEuLmZlY2Q0NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NEZWZhdWx0U3R5bGVTaGVldHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgKQEAgLTQzLDYgKzQzLDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIHN0
YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogICAgIHN0YXRp
YyBTdHlsZVNoZWV0Q29udGVudHMqIHBsdWdJbnNTdHlsZVNoZWV0OworICAgIHN0YXRpYyBTdHls
ZVNoZWV0Q29udGVudHMqIGltYWdlQ29udHJvbHNTdHlsZVNoZWV0OwogCiAgICAgc3RhdGljIHZv
aWQgZW5zdXJlRGVmYXVsdFN0eWxlU2hlZXRzRm9yRWxlbWVudChFbGVtZW50KiwgYm9vbCYgY2hh
bmdlZERlZmF1bHRTdHlsZSk7CiAgICAgc3RhdGljIHZvaWQgbG9hZEZ1bGxEZWZhdWx0U3R5bGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IGU2MWEwYTQu
Ljc5MWJjZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAt
NDU0LDcgKzQ1NCw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6Y3JlYXRlSW1hZ2VDb250cm9s
cygpCiAgICAgQVNTRVJUKG1fZXhwZXJpbWVudGFsSW1hZ2VNZW51RW5hYmxlZCk7CiAgICAgQVNT
RVJUKCFoYXNJbWFnZUNvbnRyb2xzKCkpOwogCi0gICAgUmVmUHRyPEltYWdlQ29udHJvbHNSb290
RWxlbWVudD4gaW1hZ2VDb250cm9scyA9IEltYWdlQ29udHJvbHNSb290RWxlbWVudDo6bWF5YmVD
cmVhdGUoZG9jdW1lbnQoKSk7CisgICAgUmVmUHRyPEltYWdlQ29udHJvbHNSb290RWxlbWVudD4g
aW1hZ2VDb250cm9scyA9IEltYWdlQ29udHJvbHNSb290RWxlbWVudDo6bWF5YmVDcmVhdGUoZG9j
dW1lbnQoKSwgKnRoaXMpOwogICAgIGlmICghaW1hZ2VDb250cm9scykKICAgICAgICAgcmV0dXJu
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xz
Um9vdEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50LmNwcAppbmRleCA5NDk5OGEwLi45ZGEzYmFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0ltYWdlQ29udHJvbHNSb290RWxlbWVudC5jcHAK
QEAgLTMxLDE0ICszMSwxNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JN
KE1BQykKLVBhc3NSZWZQdHI8SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50PiBJbWFnZUNvbnRyb2xz
Um9vdEVsZW1lbnQ6Om1heWJlQ3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKK1Bhc3NSZWZQdHI8
SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50PiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6Om1heWJl
Q3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKIHsK
LSAgICByZXR1cm4gYWRvcHRSZWYobmV3IEltYWdlQ29udHJvbHNSb290RWxlbWVudChkb2N1bWVu
dCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KGRv
Y3VtZW50LCBlbGVtZW50KSk7CiB9CiAjZW5kaWYKIAotSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
OjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQorSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50OjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoRG9jdW1lbnQmIGRvY3Vt
ZW50LCBIVE1MSW1hZ2VFbGVtZW50JiBlbGVtZW50KQogICAgIDogSFRNTERpdkVsZW1lbnQoSFRN
TE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQorICAgICwgbV9pbWFnZUVsZW1lbnQoZWxlbWVudCkK
IHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRy
b2xzUm9vdEVsZW1lbnQuaAppbmRleCA5ZmEwY2YyLi5mNzM5OWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuaApAQCAt
MzMsMTggKzMzLDIzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50Owor
Y2xhc3MgSFRNTEltYWdlRWxlbWVudDsKIAogY2xhc3MgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
IDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5JbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnQoKTsKIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPEltYWdlQ29udHJv
bHNSb290RWxlbWVudD4gbWF5YmVDcmVhdGUoRG9jdW1lbnQmKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ+IG1heWJlQ3JlYXRlKERvY3VtZW50JiwgSFRN
TEltYWdlRWxlbWVudCYpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgSW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50KERvY3VtZW50Jik7CisgICAgZXhwbGljaXQgSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50KERvY3VtZW50JiwgSFRNTEltYWdlRWxlbWVudCYpOworCisgICAgSFRNTEltYWdlRWxl
bWVudCYgaW1hZ2VFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZUVsZW1lbnQ7IH0KIAog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgCisgICAgSFRNTEltYWdlRWxlbWVu
dCYgbV9pbWFnZUVsZW1lbnQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3MKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVkNzA4OQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNzcwpA
QCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLngtd2Via2l0LWltYWdlbWVudSB7CisgICAg
b3BhY2l0eTogMDsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmVkOworICAgIHdpZHRoOiAyMHB4OworICAgIGhlaWdodDogMjBweDsKKyAgICBib3JkZXIt
cmFkaXVzOiA1cHg7CisgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzOworfQorCisueC13ZWJr
aXQtaW1hZ2VtZW51OmhvdmVyIHsKKyAgICBvcGFjaXR5OiAxLjA7Cit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFj
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVs
ZW1lbnRNYWMuY3BwCmluZGV4IDRhMmM1MTYuLjVlY2EzZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMuY3BwCkBAIC0yOCwxMiArMjgsMTYgQEAKIAogI2lmIEVOQUJMRShJTUFHRV9DT05UUk9M
UykKIAorI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgorI2luY2x1
ZGUgIkltYWdlQ29udHJvbHNDbGllbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
VGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUltYWdlQ29udHJvbHNSb290RWxlbWVu
dE1hYzo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKERvY3VtZW50JiBkb2N1bWVudCkKLSAg
ICA6IEltYWdlQ29udHJvbHNSb290RWxlbWVudChkb2N1bWVudCkKK0ltYWdlQ29udHJvbHNSb290
RWxlbWVudE1hYzo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKERvY3VtZW50JiBkb2N1bWVu
dCwgSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKKyAgICA6IEltYWdlQ29udHJvbHNSb290RWxl
bWVudChkb2N1bWVudCwgZWxlbWVudCkKIHsKIH0KIApAQCAtNDEsMTkgKzQ1LDE4IEBAIEltYWdl
Q29udHJvbHNSb290RWxlbWVudE1hYzo6fkltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYygpCiB7
CiB9CiAKLVBhc3NSZWZQdHI8SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50PiBJbWFnZUNvbnRyb2xz
Um9vdEVsZW1lbnQ6Om1heWJlQ3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKK1Bhc3NSZWZQdHI8
SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50PiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6Om1heWJl
Q3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkKIHsK
LSAgICByZXR1cm4gSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjptYXliZUNyZWF0ZShkb2N1
bWVudCk7CisgICAgcmV0dXJuIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYzo6bWF5YmVDcmVh
dGUoZG9jdW1lbnQsIGVsZW1lbnQpOwogfQogCi1QYXNzUmVmUHRyPEltYWdlQ29udHJvbHNSb290
RWxlbWVudE1hYz4gSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjptYXliZUNyZWF0ZShEb2N1
bWVudCYgZG9jdW1lbnQpCitQYXNzUmVmUHRyPEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYz4g
SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjptYXliZUNyZWF0ZShEb2N1bWVudCYgZG9jdW1l
bnQsIEhUTUxJbWFnZUVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFkb2N1bWVudC5wYWdl
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgUmVmUHRyPEltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYz4gY29udHJvbHMgPSBhZG9wdFJlZihuZXcgSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50TWFjKGRvY3VtZW50KSk7Ci0gICAgY29udHJvbHMtPnNldEF0dHJpYnV0ZShIVE1MTmFt
ZXM6OnN0eWxlQXR0ciwgInBvc2l0aW9uOiByZWxhdGl2ZTsgYmFja2dyb3VuZC1jb2xvcjogcmVk
OyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyIpOwotCisgICAgUmVmUHRyPEltYWdlQ29udHJv
bHNSb290RWxlbWVudE1hYz4gY29udHJvbHMgPSBhZG9wdFJlZihuZXcgSW1hZ2VDb250cm9sc1Jv
b3RFbGVtZW50TWFjKGRvY3VtZW50LCBlbGVtZW50KSk7CisgICAgY29udHJvbHMtPnNldEF0dHJp
YnV0ZShIVE1MTmFtZXM6OmNsYXNzQXR0ciwgIngtd2Via2l0LWltYWdlbWVudSIpOwogICAgIEV4
Y2VwdGlvbkNvZGUgZWM7CiAgICAgY29udHJvbHMtPmFwcGVuZENoaWxkKFRleHQ6OmNyZWF0ZShk
b2N1bWVudCwgIiIpLCBlYyk7CiAgICAgaWYgKGVjKQpAQCAtNjIsNiArNjUsMTkgQEAgUGFzc1Jl
ZlB0cjxJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM+IEltYWdlQ29udHJvbHNSb290RWxlbWVu
dE1hYzo6bWF5YmVDcmVhdGUKICAgICByZXR1cm4gY29udHJvbHMucmVsZWFzZSgpOwogfQogCisK
K3ZvaWQgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldmVudCkKK3sKKyAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihl
dmVudCk7CisKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVu
dCkgeworICAgICAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgICAgIGlm
ICghcGFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcGFnZS0+aW1hZ2VDb250cm9s
c0NsaWVudCgpLnNob3dNZW51Rm9ySW1hZ2UoaW1hZ2VFbGVtZW50KCkpOworICAgIH0KK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0NPTlRST0xT
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJv
bHNSb290RWxlbWVudE1hYy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdl
Q29udHJvbHNSb290RWxlbWVudE1hYy5oCmluZGV4IDhjMWRmOWIuLjQ3YTAzMjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50TWFjLmgKQEAgLTM2LDEwICszNiwxMyBAQCBjbGFzcyBJbWFnZUNvbnRyb2xz
Um9vdEVsZW1lbnRNYWMgOiBwdWJsaWMgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50IHsKIHB1Ymxp
YzoKICAgICB+SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKCk7CiAKLSAgICBzdGF0aWMgUGFz
c1JlZlB0cjxJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM+IG1heWJlQ3JlYXRlKERvY3VtZW50
Jik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjPiBt
YXliZUNyZWF0ZShEb2N1bWVudCYsIEhUTUxJbWFnZUVsZW1lbnQmKTsKKworcHJvdGVjdGVkOgor
ICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kikgb3ZlcnJpZGUgZmlu
YWw7CiAKIHByaXZhdGU6Ci0gICAgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKERvY3VtZW50
Jik7CisgICAgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKERvY3VtZW50JiwgSFRNTEltYWdl
RWxlbWVudCYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCBmYWY0Y2U4Li42NmY3Mzk3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNjEsNiArNjEsMTEgQEAgdm9pZCBmaWxsV2l0
aEVtcHR5Q2xpZW50cyhQYWdlOjpQYWdlQ2xpZW50cyYgcGFnZUNsaWVudHMpCiAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEVtcHR5RWRpdG9yQ2xpZW50PiBkdW1teUVkaXRvckNsaWVudDsKICAg
ICBwYWdlQ2xpZW50cy5lZGl0b3JDbGllbnQgPSAmZHVtbXlFZGl0b3JDbGllbnQuZ2V0KCk7CiAK
KyNpZiBFTkFCTEUoSU1BR0VfQ09OVFJPTFMpCisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVt
cHR5SW1hZ2VDb250cm9sc0NsaWVudD4gZHVtbXlJbWFnZUNvbnRyb2xzQ2xpZW50OworICAgIHBh
Z2VDbGllbnRzLmltYWdlQ29udHJvbHNDbGllbnQgPSAmZHVtbXlJbWFnZUNvbnRyb2xzQ2xpZW50
LmdldCgpOworI2VuZGlmCisKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlJbnNwZWN0
b3JDbGllbnQ+IGR1bW15SW5zcGVjdG9yQ2xpZW50OwogICAgIHBhZ2VDbGllbnRzLmluc3BlY3Rv
ckNsaWVudCA9ICZkdW1teUluc3BlY3RvckNsaWVudC5nZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCmluZGV4IDkzMGE3NWIuLjM4YTNjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmgKQEAgLTM1LDE0ICszNSwxNSBAQAogI2luY2x1ZGUgIkRldmljZU9y
aWVudGF0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRHJhZ0NsaWVudC5oIgogI2luY2x1ZGUgIkVk
aXRvckNsaWVudC5oIgotI2luY2x1ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
RmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNsdWRlICJGcmFt
ZUxvYWRlckNsaWVudC5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNDbGllbnQuaCIKICNpbmNs
dWRlICJJbnNwZWN0b3JDbGllbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgorI2luY2x1
ZGUgIlRleHRDaGVja2VyQ2xpZW50LmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nVmlldy5o
PgogCiAvKgpAQCAtNjI1LDYgKzYyNiwxMyBAQCBjbGFzcyBFbXB0eVByb2dyZXNzVHJhY2tlckNs
aWVudCA6IHB1YmxpYyBQcm9ncmVzc1RyYWNrZXJDbGllbnQgewogICAgIHZpcnR1YWwgdm9pZCBw
cm9ncmVzc0ZpbmlzaGVkKEZyYW1lJikgb3ZlcnJpZGUgeyB9CiB9OwogCisjaWYgRU5BQkxFKElN
QUdFX0NPTlRST0xTKQorY2xhc3MgRW1wdHlJbWFnZUNvbnRyb2xzQ2xpZW50IDogcHVibGljIElt
YWdlQ29udHJvbHNDbGllbnQgeworICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkgb3Zl
cnJpZGUgeyB9CisgICAgdmlydHVhbCB2b2lkIHNob3dNZW51Rm9ySW1hZ2UoSFRNTEltYWdlRWxl
bWVudCYpIG92ZXJyaWRlIHsgfQorfTsKKyNlbmRpZgorCiB2b2lkIGZpbGxXaXRoRW1wdHlDbGll
bnRzKFBhZ2U6OlBhZ2VDbGllbnRzJik7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvSW1hZ2VDb250cm9sc0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9JbWFnZUNv
bnRyb2xzQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRjM2Zk
ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvSW1hZ2VDb250cm9sc0Ns
aWVudC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEltYWdlQ29udHJv
bHNDbGllbnRfaAorI2RlZmluZSBJbWFnZUNvbnRyb2xzQ2xpZW50X2gKKworI2lmIEVOQUJMRShJ
TUFHRV9DT05UUk9MUykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MSW1hZ2VF
bGVtZW50OworCitjbGFzcyBJbWFnZUNvbnRyb2xzQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5JbWFnZUNvbnRyb2xzQ2xpZW50KCkgeyB9CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBh
Z2VEZXN0cm95ZWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNob3dNZW51Rm9ySW1hZ2UoSFRN
TEltYWdlRWxlbWVudCYpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTUFHRV9DT05UUk9MUykKKyNlbmRpZiAvLyBJbWFnZUNvbnRyb2xzQ2xp
ZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDIxNzk1YWIuLjk4ZTE2NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcApAQCAtNDksNiArNDksOSBAQAogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSGlzdG9yeUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgorI2lm
IEVOQUJMRShJTUFHRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzQ2xpZW50Lmgi
CisjZW5kaWYKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTgxLDYg
KzE4NCw5IEBAIFBhZ2U6OlBhZ2UoUGFnZUNsaWVudHMmIHBhZ2VDbGllbnRzKQogI2VuZGlmCiAg
ICAgLCBtX2xhc3RTcGF0aWFsTmF2aWdhdGlvbkNhbmRpZGF0ZXNDb3VudCgwKSAvLyBOT1RFOiBP
bmx5IGNhbGxlZCBmcm9tIEludGVybmFscyBmb3IgU3BhdGlhbCBOYXZpZ2F0aW9uIHRlc3Rpbmcu
CiAgICAgLCBtX2ZyYW1lc0hhbmRsaW5nQmVmb3JlVW5sb2FkRXZlbnQoMCkKKyNpZiBFTkFCTEUo
SU1BR0VfQ09OVFJPTFMpCisgICAgLCBtX2ltYWdlQ29udHJvbHNDbGllbnQoKnBhZ2VDbGllbnRz
LmltYWdlQ29udHJvbHNDbGllbnQpCisjZW5kaWYKIHsKICAgICBBU1NFUlQobV9lZGl0b3JDbGll
bnQpOwogCkBAIC0yMjYsNiArMjMyLDEwIEBAIFBhZ2U6On5QYWdlKCkKICAgICBpZiAobV9zY3Jv
bGxpbmdDb29yZGluYXRvcikKICAgICAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvci0+cGFnZURl
c3Ryb3llZCgpOwogCisjaWYgRU5BQkxFKElNQUdFX0NPTlRST0xTKQorICAgIG1faW1hZ2VDb250
cm9sc0NsaWVudC5wYWdlRGVzdHJveWVkKCk7CisjZW5kaWYKKwogICAgIGJhY2tGb3J3YXJkKCku
Y2xvc2UoKTsKIAogI2lmbmRlZiBOREVCVUcKQEAgLTE1MDYsNiArMTUxNiw5IEBAIFBhZ2U6OlBh
Z2VDbGllbnRzOjpQYWdlQ2xpZW50cygpCiAgICAgLCBwcm9ncmVzc1RyYWNrZXJDbGllbnQobnVs
bHB0cikKICAgICAsIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50KG51bGxwdHIpCiAgICAgLCBsb2Fk
ZXJDbGllbnRGb3JNYWluRnJhbWUobnVsbHB0cikKKyNpZiBFTkFCTEUoSU1BR0VfQ09OVFJPTFMp
CisgICAgLCBpbWFnZUNvbnRyb2xzQ2xpZW50KG51bGxwdHIpCisjZW5kaWYKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2UuaAppbmRleCBhNzE1ZmVmLi4yZGFlMjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtNzksNiAr
NzksOSBAQCBjbGFzcyBGcmFtZUxvYWRlckNsaWVudDsKIGNsYXNzIEZyYW1lU2VsZWN0aW9uOwog
Y2xhc3MgSGFsdGFibGVQbHVnaW47CiBjbGFzcyBIaXN0b3J5SXRlbTsKKyNpZiBFTkFCTEUoSU1B
R0VfQ09OVFJPTFMpCitjbGFzcyBJbWFnZUNvbnRyb2xzQ2xpZW50OworI2VuZGlmCiBjbGFzcyBJ
bnNwZWN0b3JDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JDb250cm9sbGVyOwogY2xhc3MgTWFpbkZy
YW1lOwpAQCAtMTM5LDYgKzE0Miw5IEBAIHB1YmxpYzoKICAgICAgICAgUmVmUHRyPEJhY2tGb3J3
YXJkQ2xpZW50PiBiYWNrRm9yd2FyZENsaWVudDsKICAgICAgICAgVmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQqIHZhbGlkYXRpb25NZXNzYWdlQ2xpZW50OwogICAgICAgICBGcmFtZUxvYWRlckNsaWVu
dCogbG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1lOworI2lmIEVOQUJMRShJTUFHRV9DT05UUk9MUykK
KyAgICAgICAgSW1hZ2VDb250cm9sc0NsaWVudCogaW1hZ2VDb250cm9sc0NsaWVudDsKKyNlbmRp
ZgogICAgIH07CiAKICAgICBleHBsaWNpdCBQYWdlKFBhZ2VDbGllbnRzJik7CkBAIC0yMDAsNiAr
MjA2LDkgQEAgcHVibGljOgogI2lmIEVOQUJMRShQT0lOVEVSX0xPQ0spCiAgICAgUG9pbnRlckxv
Y2tDb250cm9sbGVyKiBwb2ludGVyTG9ja0NvbnRyb2xsZXIoKSBjb25zdCB7IHJldHVybiBtX3Bv
aW50ZXJMb2NrQ29udHJvbGxlci5nZXQoKTsgfQogI2VuZGlmCisjaWYgRU5BQkxFKElNQUdFX0NP
TlRST0xTKQorICAgIEltYWdlQ29udHJvbHNDbGllbnQmIGltYWdlQ29udHJvbHNDbGllbnQoKSBj
b25zdCB7IHJldHVybiBtX2ltYWdlQ29udHJvbHNDbGllbnQ7IH0KKyNlbmRpZgogICAgIFZhbGlk
YXRpb25NZXNzYWdlQ2xpZW50KiB2YWxpZGF0aW9uTWVzc2FnZUNsaWVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fdmFsaWRhdGlvbk1lc3NhZ2VDbGllbnQ7IH0KIAogICAgIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yKiBzY3JvbGxpbmdDb29yZGluYXRvcigpOwpAQCAtNTM2LDYgKzU0NSwxMCBAQCBwcml2YXRl
OgogICAgIHVuc2lnbmVkIG1fbGFzdFNwYXRpYWxOYXZpZ2F0aW9uQ2FuZGlkYXRlc0NvdW50Owog
ICAgIHVuc2lnbmVkIG1fZnJhbWVzSGFuZGxpbmdCZWZvcmVVbmxvYWRFdmVudDsKIAorI2lmIEVO
QUJMRShJTUFHRV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQ2xpZW50JiBtX2ltYWdlQ29u
dHJvbHNDbGllbnQ7CisjZW5kaWYKKwogICAgIFJlZlB0cjxVc2VyQ29udGVudENvbnRyb2xsZXI+
IG1fdXNlckNvbnRlbnRDb250cm9sbGVyOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAppbmRleCAyYjdmYTE1Li5kM2M5YTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaApAQCAtOTMsMTEgKzkzLDE0IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUo
VklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKSB7IHJl
dHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0
eWxlU2hlZXQoKSB7IHJldHVybiBTdHJpbmcoKTsgfQotICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlh
Q29udHJvbHNTY3JpcHQoKSB7IHJldHVybiBTdHJpbmcoKSA7IH0KKyAgICB2aXJ0dWFsIFN0cmlu
ZyBtZWRpYUNvbnRyb2xzU2NyaXB0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICNlbmRpZgogI2lm
IEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYUZ1bGxTY3Jl
ZW5TdHlsZVNoZWV0KCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KICNlbmRpZgorI2lmIEVOQUJMRShJ
TUFHRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIFN0cmluZyBpbWFnZUNvbnRyb2xzU3R5bGVTaGVl
dCgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CisjZW5kaWYKIAogICAgIC8vIEEgbWV0aG9k
IHRvIG9idGFpbiB0aGUgYmFzZWxpbmUgcG9zaXRpb24gZm9yIGEgImxlYWYiIGNvbnRyb2wuICBU
aGlzIHdpbGwgb25seSBiZSB1c2VkIGlmIGEgYmFzZWxpbmUKICAgICAvLyBwb3NpdGlvbiBjYW5u
b3QgYmUgZGV0ZXJtaW5lZCBieSBleGFtaW5pbmcgY2hpbGQgY29udGVudC4gQ2hlY2tib3hlcyBh
bmQgcmFkaW8gYnV0dG9ucyBhcmUgZXhhbXBsZXMgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lTWFjLmgKaW5kZXggMzgxZTRjNy4uM2IxOTk1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTExMiw2ICsxMTIsMTEgQEAgcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgU3RyaW5nIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0KCkgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCBTdHJpbmcgbWVkaWFDb250cm9sc1NjcmlwdCgpIG92ZXJyaWRlOwog
I2VuZGlmCisKKyNpZiBFTkFCTEUoSU1BR0VfQ09OVFJPTFMpCisgICAgdmlydHVhbCBTdHJpbmcg
aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQoKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAg
dmlydHVhbCBib29sIHN1cHBvcnRzU2VsZWN0aW9uRm9yZWdyb3VuZENvbG9ycygpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRUZXh0RmllbGQoUmVuZGVy
T2JqZWN0KiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDhlNGZjMjcuLmZhZDMxYzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTIwMyw2ICsy
MDMsMTQgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjptZWRpYUNvbnRyb2xzU2NyaXB0KCkKIAog
I2VuZGlmIC8vIEVOQUJMRShWSURFTykKIAorCisjaWYgRU5BQkxFKElNQUdFX0NPTlRST0xTKQor
U3RyaW5nIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzU3R5bGVTaGVldCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFN0cmluZyhpbWFnZUNvbnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwg
c2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0KSk7Cit9CisjZW5kaWYK
KwogQ29sb3IgUmVuZGVyVGhlbWVNYWM6OnBsYXRmb3JtQWN0aXZlU2VsZWN0aW9uQmFja2dyb3Vu
ZENvbG9yKCkgY29uc3QKIHsKICAgICBOU0NvbG9yKiBjb2xvciA9IFtbTlNDb2xvciBzZWxlY3Rl
ZFRleHRCYWNrZ3JvdW5kQ29sb3JdIGNvbG9yVXNpbmdDb2xvclNwYWNlTmFtZTpOU0RldmljZVJH
QkNvbG9yU3BhY2VdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYWFhNmJjLi5mMWUzNmU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDE0LTAyLTIxICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KKworICAgICAgICBJbWFnZSBjb250cm9sczogQWxsb3cgdGhlIGltYWdlIG1lbnUgYnV0dG9u
IHRvIGJlIGNsaWNrZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyOTE4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTQtMDItMjAg
IEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBXZWJLaXRHVEsrIHNob3VsZCBzdG9wIHVzaW5nIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0gbWFjcm9zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA4Zjc3ZTQ5Li44MTc0MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNyw2ICsxMDcsOCBAQAogCQk1MTQ5NENE
NjBDN0VCREUwMDA0MTc4QzUgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ5NENENDBDN0VCREUwMDA0MTc4
QzUgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmggKi87IH07CiAJCTUxNDk0Q0Q3MEM3RUJERTAw
MDQxNzhDNSAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ5NENENTBDN0VCREUwMDA0MTc4QzUgLyogV2Vi
SWNvbkRhdGFiYXNlQ2xpZW50Lm1tICovOyB9OwogCQk1MTU4RjZFRjEwNkQ4NjJBMDBBRjQ1N0Mg
LyogV2ViSGlzdG9yeURlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTU4RjZFRTEwNkQ4NjJBMDBBRjQ1N0MgLyogV2ViSGlzdG9yeURlbGVn
YXRlLmggKi87IH07CisJCTUxN0RCOUM2MThCODJDNDMwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRy
b2xzQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTdEQjlDNDE4QjgyQzQzMDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVudC5oICov
OyB9OworCQk1MTdEQjlDNzE4QjgyQzQzMDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVu
dC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0RC
OUM1MThCODJDNDMwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50Lm1tICovOyB9Owog
CQk1MTg1RjYyNjEwNzEyQjgwMDA3QUEzOTMgLyogV2ViTmF2aWdhdGlvbkRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODVGNjI1MTA3MTJCODAw
MDdBQTM5MyAvKiBXZWJOYXZpZ2F0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxODVGNjI4MTA3MTJCOTcwMDdBQTM5MyAvKiBXZWJO
YXZpZ2F0aW9uRGF0YS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxODVGNjI3MTA3MTJCOTcwMDdBQTM5MyAvKiBXZWJOYXZpZ2F0aW9uRGF0YS5tbSAq
LzsgfTsKIAkJNTFBRURFRjEwQ0VDRjQ1NzAwODU0MzI4IC8qIFdlYkRhdGFiYXNlTWFuYWdlcklu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUFFREVGMDBDRUNGNDU3MDA4NTQzMjggLyogV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaCAq
LzsgfTsKQEAgLTU4NSw2ICs1ODcsOCBAQAogCQk1MTVFMjdDRjA0NThDQTRCMDBDQTJEM0EgLyog
V2ViRGVmYXVsdFVJRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViRGVmYXVsdFVJRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCTUxNUUyN0QwMDQ1OENB
NEIwMENBMkQzQSAvKiBXZWJEZWZhdWx0VUlEZWxlZ2F0ZS5tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBXZWJEZWZhdWx0VUlEZWxlZ2F0ZS5t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsK
IAkJNTE2RjI5NkYwM0E2QzQ1QTAwQ0EyRDNBIC8qIFdlYkhpc3RvcnlJdGVtSW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSGlz
dG9yeUl0ZW1JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7
IHVzZXNUYWJzID0gMDsgfTsKKwkJNTE3REI5QzQxOEI4MkM0MzAwQTVCM0I4IC8qIFdlYkltYWdl
Q29udHJvbHNDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSW1h
Z2VDb250cm9sc0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTdEQjlD
NTE4QjgyQzQzMDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVudC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkltYWdlQ29udHJvbHNDbGllbnQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODVGNjI1MTA3MTJCODAwMDdBQTM5MyAv
KiBXZWJOYXZpZ2F0aW9uRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJOYXZpZ2F0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTg1RjYy
NzEwNzEyQjk3MDA3QUEzOTMgLyogV2ViTmF2aWdhdGlvbkRhdGEubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJOYXZpZ2F0aW9uRGF0YS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFBOEI1MkUwNDI4MkI1OTAwQ0EyRDNBIC8qIFdlYkZyYW1l
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJGcmFtZVZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CkBAIC0xNTQ2LDYgKzE1NTAsOCBAQAogCQkJCUJDN0Y4ODRBMTBDODc3
NUEwMEQ2MTMzRCAvKiBXZWJHZW9sb2NhdGlvbkNsaWVudC5tbSAqLywKIAkJCQk1MTQ5NENENDBD
N0VCREUwMDA0MTc4QzUgLyogV2ViSWNvbkRhdGFiYXNlQ2xpZW50LmggKi8sCiAJCQkJNTE0OTRD
RDUwQzdFQkRFMDAwNDE3OEM1IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5tbSAqLywKKwkJCQk1
MTdEQjlDNDE4QjgyQzQzMDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVudC5oICovLAor
CQkJCTUxN0RCOUM1MThCODJDNDMwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50Lm1t
ICovLAogCQkJCTA2NjkzRERBMEJGQkE4NTIwMDIxNjA3MiAvKiBXZWJJbnNwZWN0b3JDbGllbnQu
aCAqLywKIAkJCQkwNjY5M0REQjBCRkJBODUyMDAyMTYwNzIgLyogV2ViSW5zcGVjdG9yQ2xpZW50
Lm1tICovLAogCQkJCTFDN0IwQzY1MEVCMjQ2NEQwMEEyODUwMiAvKiBXZWJJbnNwZWN0b3JDbGll
bnRDRi5jcHAgKi8sCkBAIC0xNzI1LDYgKzE3MzEsNyBAQAogCQkJCTU5OEFEOTI2MTIwMUNGMjUw
MEFCQUU0RSAvKiBXZWJEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyTW9jay5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTk4QUQ5MkExMjAxQ0YzQjAwQUJBRTRFIC8qIFdlYkRldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJNb2NrSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDUwMDgyNEJG
MDEwMDhERjAzOCAvKiBXZWJEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE3REI5QzYx
OEI4MkM0MzAwQTVCM0I4IC8qIFdlYkltYWdlQ29udHJvbHNDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzOTgxMDdGMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJEb2N1bWVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk2NUZGQjdGQzBBRDBCN0QzMDA0OENEMDUgLyogV2ViRG9jdW1l
bnRMb2FkZXJNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTgxMDgwMDgyNEJGMDEwMDhERjAz
OCAvKiBXZWJEb2N1bWVudFByaXZhdGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjI5Nyw2ICsyMzA0
LDcgQEAKIAkJCQk2NUUwRjlFNzA4NTAwRjIzMDA3RTVDQjkgLyogV2ViTlNVc2VyRGVmYXVsdHNF
eHRyYXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk5Mzk4MTBDOTA4MjRCRjAxMDA4REYwMzggLyog
V2ViTlNWaWV3RXh0cmFzLm0gaW4gU291cmNlcyAqLywKIAkJCQk5Mzk4MTBDQTA4MjRCRjAxMDA4
REYwMzggLyogV2ViTlNXaW5kb3dFeHRyYXMubSBpbiBTb3VyY2VzICovLAorCQkJCTUxN0RCOUM3
MThCODJDNDMwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTU4QTU3OUExNDNFNzI3MDAwMTI1RjUwIC8qIFdlYk9wZW5QYW5lbFJlc3VsdExp
c3RlbmVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5ODEwRDAwODI0QkYwMTAwOERGMDM4IC8q
IFdlYlBhbmVsQXV0aGVudGljYXRpb25IYW5kbGVyLm0gaW4gU291cmNlcyAqLywKIAkJCQlBMTBD
MUQ4MjE4MjAzMDNEMDAzNjg4M0EgLyogV2ViUGxhaW5XaGl0ZVZpZXcubW0gaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAyMzlmYjhhLi5mZTc0NjFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTQtMDItMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgorCisgICAgICAgIEltYWdlIGNvbnRyb2xzOiBBbGxvdyB0aGUgaW1hZ2UgbWVudSBi
dXR0b24gdG8gYmUgY2xpY2tlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI5MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU2V0IHVwIGEgKHVzZWxlc3MgZm9yIG5vdykgSW1hZ2VDb250cm9sc0NsaWVu
dC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkltYWdlQ29udHJvbHNDbGllbnQuaDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50Lm1tOgorICAg
ICAgICAoV2ViSW1hZ2VDb250cm9sc0NsaWVudDo6cGFnZURlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJJbWFnZUNvbnRyb2xzQ2xpZW50OjpzaG93TWVudUZvckltYWdlKToKKworICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRp
b25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTpdKToKKwogMjAxNC0wMi0yMCAgQnJhZHkgRWlkc29u
ICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHZlcnkgYmFzaWMgaW1hZ2UgY29u
dHJvbCByZW5kZXJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkltYWdlQ29udHJvbHNDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkltYWdlQ29udHJvbHNDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4zZWY1NDdlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VDb250cm9sc0NsaWVudC5oCkBAIC0wLDAgKzEsNDAgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkltYWdlQ29udHJvbHNDbGllbnRfaAorI2RlZmluZSBX
ZWJJbWFnZUNvbnRyb2xzQ2xpZW50X2gKKworI2lmIEVOQUJMRShJTUFHRV9DT05UUk9MUykKKwor
I2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VDb250cm9sc0NsaWVudC5oPgorCitjbGFzcyBXZWJJbWFn
ZUNvbnRyb2xzQ2xpZW50IDogcHVibGljIFdlYkNvcmU6OkltYWdlQ29udHJvbHNDbGllbnQgewor
cHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgcGFnZURlc3Ryb3llZCgpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgdm9pZCBzaG93TWVudUZvckltYWdlKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQm
KSBvdmVycmlkZTsKK307CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQ09OVFJPTFMpCisjZW5k
aWYgLy8gV2ViSW1hZ2VDb250cm9sc0NsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VDb250cm9sc0NsaWVudC5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWM2OGI2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VDb250cm9sc0NsaWVudC5t
bQpAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiV2ViSW1hZ2VDb250cm9s
c0NsaWVudC5oIgorCisjaWYgRU5BQkxFKElNQUdFX0NPTlRST0xTKQorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKwordm9pZCBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50OjpwYWdlRGVzdHJveWVk
KCkKK3sKKyAgICBkZWxldGUgdGhpczsKK30KKwordm9pZCBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50
OjpzaG93TWVudUZvckltYWdlKEhUTUxJbWFnZUVsZW1lbnQmKQoreworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQuCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQ09OVFJPTFMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggN2Q2OTcyMS4uZTYwM2ZkZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtNjksNiArNjksNyBAQAogI2ltcG9ydCAiV2Vi
SFRNTFZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViSGlzdG9yeUl0ZW1JbnRlcm5hbC5oIgog
I2ltcG9ydCAiV2ViSWNvbkRhdGFiYXNlSW50ZXJuYWwuaCIKKyNpbXBvcnQgIldlYkltYWdlQ29u
dHJvbHNDbGllbnQuaCIKICNpbXBvcnQgIldlYkluc3BlY3Rvci5oIgogI2ltcG9ydCAiV2ViSW5z
cGVjdG9yQ2xpZW50LmgiCiAjaW1wb3J0ICJXZWJLaXRFcnJvcnMuaCIKQEAgLTkyMCw2ICs5MjEs
MTAgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOihOU1N0cmlu
ZyAqKWZyYW1lTmFtZSBncm91cE5hbWU6KE5TU3QKICAgICBwYWdlQ2xpZW50cy5hbHRlcm5hdGl2
ZVRleHRDbGllbnQgPSBuZXcgV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50KHNlbGYpOwogICAgIHBh
Z2VDbGllbnRzLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9IG5ldyBXZWJGcmFtZUxvYWRlckNs
aWVudDsKICAgICBwYWdlQ2xpZW50cy5wcm9ncmVzc1RyYWNrZXJDbGllbnQgPSBuZXcgV2ViUHJv
Z3Jlc3NUcmFja2VyQ2xpZW50KHNlbGYpOworI2lmIEVOQUJMRShJTUFHRV9DT05UUk9MUykKKyAg
ICBwYWdlQ2xpZW50cy5pbWFnZUNvbnRyb2xzQ2xpZW50ID0gbmV3IFdlYkltYWdlQ29udHJvbHND
bGllbnQ7CisjZW5kaWYKKwogICAgIF9wcml2YXRlLT5wYWdlID0gbmV3IFBhZ2UocGFnZUNsaWVu
dHMpOwogI2lmIEVOQUJMRShHRU9MT0NBVElPTikKICAgICBXZWJDb3JlOjpwcm92aWRlR2VvbG9j
YXRpb25UbyhfcHJpdmF0ZS0+cGFnZSwgbmV3IFdlYkdlb2xvY2F0aW9uQ2xpZW50KHNlbGYpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkNWFlMTNiLi43ZTM1OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMDItMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEltYWdlIGNvbnRyb2xzOiBBbGxvdyB0aGUgaW1hZ2UgbWVudSBidXR0b24gdG8gYmUgY2xp
Y2tlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI5
MTg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2V0
IHVwIGEgKHVzZWxlc3MgZm9yIG5vdykgSW1hZ2VDb250cm9sc0NsaWVudC4KKworICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViSW1hZ2VDb250cm9sc0NsaWVudC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkltYWdlQ29udHJvbHNDbGllbnQ6OldlYkltYWdlQ29udHJvbHNDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbWFnZUNvbnRyb2xzQ2xpZW50OjpwYWdlRGVzdHJveWVkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2VDb250cm9sc0NsaWVudDo6c2hvd01lbnVGb3JJbWFn
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZUNvbnRyb2xz
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkltYWdlQ29udHJvbHNDbGllbnQ6OndlYlBh
Z2UpOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxNC0wMi0yMCAgWmFsYW4gQnVqdGFz
ICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSByZWR1bmRhbnQgZGV2aWNlU2Nh
bGVGYWN0b3IoKSBmdW5jdGlvbnMgYW5kIG1ha2UgY2FsbGVycyB1c2UgRG9jdW1lbnQ6OmRldmlj
ZVNjYWxlRmFjdG9yKCkgd2hlbiBhY2Nlc3NpYmxlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGRlOWFhYzEuLmMwOWVkODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTc0Myw2ICs3NDMsOSBAQAogCQk1MTc5NTU3MTE2Mjg3N0QyMDBGQTQzQjYgLyogTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxQThBNjBGMTYyN0YyQkQwMDBEOTBFOSAvKiBOZXR3b3JrUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovOyB9OwogCQk1MTdDRjBFMzE2M0E0ODZDMDBDMjk1
MEUgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0NGMEUxMTYzQTQ4NkMw
MEMyOTUwRSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwogCQk1MTdDRjBFNDE2M0E0ODZDMDBDMjk1MEUgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxN0NGMEUyMTYzQTQ4NkMwMEMyOTUwRSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlcy5oICovOyB9OworCQk1MTdEQjlDMTE4QjgyODI4MDBBNUIzQjggLyogV2ViSW1hZ2VD
b250cm9sc0NsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTdEQjlCRjE4QjgyODI4MDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVu
dC5jcHAgKi87IH07CisJCTUxN0RCOUMyMThCODI4MjgwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRy
b2xzQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxN0RCOUJGMThCODI4MjgwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmNw
cCAqLzsgfTsKKwkJNTE3REI5QzMxOEI4MjgyODAwQTVCM0I4IC8qIFdlYkltYWdlQ29udHJvbHND
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
N0RCOUMwMThCODI4MjgwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmggKi87IH07
CiAJCTUxN0RENUJFMTgwREE3RDMwMDgxNjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdERDVCQzE4
MERBN0QzMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwICovOyB9OwogCQk1MTdE
RDVCRjE4MERBN0QzMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0RENUJEMTgwREE3RDMwMDgx
NjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eS5oICovOyB9OwogCQk1MTdERDVDNTE4MERDM0Ux
MDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdERDVDNDE4MERDM0UxMDA4MTY2MEIgLyog
RGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW0gKi87IH07CkBAIC0yNDY3LDYgKzI0NzAsOCBAQAog
CQk1MTdBMzNCNDEzMEIzMDhDMDBGODBDQjUgLyogV0tBcHBsaWNhdGlvbkNhY2hlTWFuYWdlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0FwcGxpY2F0aW9uQ2FjaGVNYW5h
Z2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0NGMEUxMTYzQTQ4NkMwMEMy
OTUwRSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3Q0Yw
RTIxNjNBNDg2QzAwQzI5NTBFIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bk1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxN0RCOUJGMThCODI4
MjgwMEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkltYWdlQ29udHJvbHNDbGllbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MTdEQjlDMDE4QjgyODI4MDBBNUIzQjggLyogV2ViSW1h
Z2VDb250cm9sc0NsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJ
bWFnZUNvbnRyb2xzQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0RE
NUJDMTgwREE3RDMwMDgxNjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eS5jcHA7IHBh
dGggPSBEYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTdERDVCRDE4MERBN0QzMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNz
UHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRGF0YWJhc2VQcm9jZXNz
UHJveHkuaDsgcGF0aCA9IERhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdERDVDNDE4MERDM0UxMDA4MTY2MEIgLyogRGF0YWJh
c2VQcm9jZXNzUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBEYXRhYmFzZVByb2Nlc3NQcm94eU1hYy5tbTsgcGF0aCA9IERhdGFiYXNlcy9tYWMvRGF0
YWJhc2VQcm9jZXNzUHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00
OTY2LDYgKzQ5NzEsOCBAQAogCQkJCUJDMDMyRDZBMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJGcmFt
ZUxvYWRlckNsaWVudC5oICovLAogCQkJCUJDMUJFMURGMTJENTRBNDEwMDA0QTIyOCAvKiBXZWJH
ZW9sb2NhdGlvbkNsaWVudC5jcHAgKi8sCiAJCQkJQkMxQkUxREUxMkQ1NEE0MTAwMDRBMjI4IC8q
IFdlYkdlb2xvY2F0aW9uQ2xpZW50LmggKi8sCisJCQkJNTE3REI5QkYxOEI4MjgyODAwQTVCM0I4
IC8qIFdlYkltYWdlQ29udHJvbHNDbGllbnQuY3BwICovLAorCQkJCTUxN0RCOUMwMThCODI4Mjgw
MEE1QjNCOCAvKiBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmggKi8sCiAJCQkJQkMxMTFBNTkxMTJG
NEZCQjAwMzM3QkFCIC8qIFdlYkluc3BlY3RvckNsaWVudC5jcHAgKi8sCiAJCQkJQkMwMzJENkQx
MEY0Mzc4RDAwNThDMTVBIC8qIFdlYkluc3BlY3RvckNsaWVudC5oICovLAogCQkJCTFDOEUyNTZC
MTI3MERFMzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5jcHAgKi8sCkBA
IC02NTkyLDYgKzY1OTksNyBAQAogCQkJCTMxQTUwNUZBMTY4MDAyNTUwMEE5MzBFQiAvKiBXZWJD
b250ZXh0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJBOTc2MTE4MEUwMzFEMDAzOUEx
NDkgLyogRGF0YWJhc2VQcm9jZXNzTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDlC
OEY5MTQ3NDYwRjcwMDVGNTYyNSAvKiBXZWJDb250ZXh0Q29ubmVjdGlvbkNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTE3REI5QzMxOEI4MjgyODAwQTVCM0I4IC8qIFdlYkltYWdlQ29udHJv
bHNDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDREUwNTlCMTFDREE4QUUwMEU0MUFGMSAv
KiBXZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NjUwOUNFMThCNDE0NjIwMDYxNDMzMiAvKiBXS1Byb2Nlc3NDbGFzc1ByaXZhdGUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxODcxQjVDMTI3Q0I4OUQwMEY3NjIzMiAvKiBXZWJDb250ZXh0TWVudS5o
IGluIEhlYWRlcnMgKi8sCkBAIC03NjE2LDYgKzc2MjQsNyBAQAogCQkJYnVpbGRBY3Rpb25NYXNr
ID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJCUJDNUQyNEExMTZDQzNCOUUwMDdENTQ2
MSAvKiBDaGlsZFByb2Nlc3NNYWluLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTE3REI5QzIxOEI4
MjgyODAwQTVCM0I4IC8qIFdlYkltYWdlQ29udHJvbHNDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC04MjgyLDYgKzgyOTEsNyBAQAogCQkJCTFBQzg2RkYzMTMwQjQ2RDMwMDJDMTI1NyAvKiBX
S1BsdWdpblNpdGVEYXRhTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q1OTdEMTEx
MkI1NkFDMDBFQzhDMjMgLyogV0tQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlF
MTM0RjAxQTEyRUE1RDk5MDA0RUM1OEQgLyogV0tQcmludGluZ1ZpZXcubW0gaW4gU291cmNlcyAq
LywKKwkJCQk1MTdEQjlDMTE4QjgyODI4MDBBNUIzQjggLyogV2ViSW1hZ2VDb250cm9sc0NsaWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0JBQUNFQzE0NTIyNUUzMDA1M0Y4MkYgLyogV0tQ
cm9jZXNzR3JvdXAubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNThGQjEyQTg4QTU0MDA2Mjk1
MzAgLyogV0tQcm90ZWN0aW9uU3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc5NDg0MDgx
NTBDNEI5NzAwRTUyQ0U5IC8qIFdLUmVuZGVyTGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkltYWdl
Q29udHJvbHNDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40YjJlNWFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmNwcApAQCAtMCww
ICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YkltYWdlQ29udHJvbHNDbGllbnQuaCIKKworI2lmIEVOQUJMRShJTUFHRV9DT05UUk9MUykKKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJJbWFn
ZUNvbnRyb2xzQ2xpZW50OjpXZWJJbWFnZUNvbnRyb2xzQ2xpZW50KFdlYlBhZ2UmIHdlYlBhZ2Up
CisgICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkKK3sKK30KKwordm9pZCBXZWJJbWFnZUNvbnRyb2xz
Q2xpZW50OjpwYWdlRGVzdHJveWVkKCkKK3sKKyAgICBkZWxldGUgdGhpczsKK30KKwordm9pZCBX
ZWJJbWFnZUNvbnRyb2xzQ2xpZW50OjpzaG93TWVudUZvckltYWdlKEhUTUxJbWFnZUVsZW1lbnQm
KQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0NPTlRST0xTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkltYWdlQ29u
dHJvbHNDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGE3MDJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbWFnZUNvbnRyb2xzQ2xpZW50LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgV2ViSW1hZ2VDb250cm9sc0NsaWVudF9oCisjZGVmaW5lIFdlYkltYWdlQ29u
dHJvbHNDbGllbnRfaAorCisjaWYgRU5BQkxFKElNQUdFX0NPTlRST0xTKQorCisjaW5jbHVkZSA8
V2ViQ29yZS9JbWFnZUNvbnRyb2xzQ2xpZW50Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitj
bGFzcyBXZWJQYWdlOworCitjbGFzcyBXZWJJbWFnZUNvbnRyb2xzQ2xpZW50IDogcHVibGljIFdl
YkNvcmU6OkltYWdlQ29udHJvbHNDbGllbnQgeworcHVibGljOgorICAgIFdlYkltYWdlQ29udHJv
bHNDbGllbnQoV2ViUGFnZSYpOworCisgICAgV2ViUGFnZSYgd2ViUGFnZSgpIHsgcmV0dXJuIG1f
d2ViUGFnZTsgfQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBwYWdlRGVzdHJveWVkKCkg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNob3dNZW51Rm9ySW1hZ2UoV2ViQ29yZTo6SFRN
TEltYWdlRWxlbWVudCYpIG92ZXJyaWRlOworCisgICAgV2ViUGFnZSYgbV93ZWJQYWdlOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU1BR0VfQ09OVFJP
TFMpCisjZW5kaWYgLy8gV2ViSW1hZ2VDb250cm9sc0NsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYjI1M2MwNy4uMTAyNTA4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
NzIsNiArNzIsNyBAQAogI2luY2x1ZGUgIldlYkZ1bGxTY3JlZW5NYW5hZ2VyTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIldlYkltYWdlLmgi
CisjaW5jbHVkZSAiV2ViSW1hZ2VDb250cm9sc0NsaWVudC5oIgogI2luY2x1ZGUgIldlYkluc3Bl
Y3Rvci5oIgogI2luY2x1ZGUgIldlYkluc3BlY3RvckNsaWVudC5oIgogI2luY2x1ZGUgIldlYklu
c3BlY3Rvck1lc3NhZ2VzLmgiCkBAIC0zMjAsNyArMzIxLDkgQEAgV2ViUGFnZTo6V2ViUGFnZSh1
aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiAgICAgcGFnZUNsaWVudHMucGx1Z0luQ2xpZW50ID0gbmV3IFdlYlBsdWdJbkNsaWVudCh0
aGlzKTsKICAgICBwYWdlQ2xpZW50cy5sb2FkZXJDbGllbnRGb3JNYWluRnJhbWUgPSBuZXcgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ7CiAgICAgcGFnZUNsaWVudHMucHJvZ3Jlc3NUcmFja2VyQ2xpZW50
ID0gbmV3IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudCgqdGhpcyk7Ci0KKyNpZiBFTkFCTEUoSU1B
R0VfQ09OVFJPTFMpCisgICAgcGFnZUNsaWVudHMuaW1hZ2VDb250cm9sc0NsaWVudCA9IG5ldyBX
ZWJJbWFnZUNvbnRyb2xzQ2xpZW50KCp0aGlzKTsKKyNlbmRpZgogICAgIG1fcGFnZSA9IGFkb3B0
UHRyKG5ldyBQYWdlKHBhZ2VDbGllbnRzKSk7CiAKICAgICBtX2RyYXdpbmdBcmVhID0gRHJhd2lu
Z0FyZWE6OmNyZWF0ZSh0aGlzLCBwYXJhbWV0ZXJzKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>