<?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>217003</bug_id>
          
          <creation_ts>2020-09-25 16:50:59 -0700</creation_ts>
          <short_desc>Support OES_fbo_render_mipmap</short_desc>
          <delta_ts>2020-10-28 16:34:07 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>215599</dependson>
          <blocked>141242</blocked>
    
    <blocked>216014</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Darpinian">jdarpinian</reporter>
          <assigned_to name="James Darpinian">jdarpinian</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kbr</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pyalot</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1692110</commentid>
    <comment_count>0</comment_count>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-09-25 16:50:59 -0700</bug_when>
    <thetext>Support OES_fbo_render_mipmap</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692112</commentid>
    <comment_count>1</comment_count>
      <attachid>409761</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-09-25 16:59:34 -0700</bug_when>
    <thetext>Created attachment 409761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692117</commentid>
    <comment_count>2</comment_count>
      <attachid>409761</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-09-25 17:05:42 -0700</bug_when>
    <thetext>Comment on attachment 409761
Patch

Looks good to me. Have you verified locally that the extension test goes down the code path where the extension&apos;s enabled? r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692118</commentid>
    <comment_count>3</comment_count>
      <attachid>409761</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-09-25 17:06:53 -0700</bug_when>
    <thetext>Comment on attachment 409761
Patch

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

&gt; Source/WebCore/html/canvas/OESFBORenderMipmap.h:33
&gt; +    WTF_MAKE_ISO_ALLOCATED(OESFBORenderMipmap);

Thanks for this. We missed that sub-classes need it in the patch where we added IsoHeap allocation to WebGLExtension and it ended up as the number 1 WebKit crash in iOS 14 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692119</commentid>
    <comment_count>4</comment_count>
      <attachid>409761</attachid>
    <who name="James Darpinian">jdarpinian</who>
    <bug_when>2020-09-25 17:07:19 -0700</bug_when>
    <thetext>Comment on attachment 409761
Patch

Yes, the extension works locally. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692124</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-25 17:41:41 -0700</bug_when>
    <thetext>Committed r267613: &lt;https://trac.webkit.org/changeset/267613&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 409761.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692144</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-25 20:57:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/69609581&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692151</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-09-25 21:54:30 -0700</bug_when>
    <thetext>(In reply to Dean Jackson from comment #3)
&gt; Comment on attachment 409761 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=409761&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/canvas/OESFBORenderMipmap.h:33
&gt; &gt; +    WTF_MAKE_ISO_ALLOCATED(OESFBORenderMipmap);
&gt; 
&gt; Thanks for this. We missed that sub-classes need it in the patch where we
&gt; added IsoHeap allocation to WebGLExtension and it ended up as the number 1
&gt; WebKit crash in iOS 14 :)

I think that was my patch from Bug 215599 - I&apos;m sorry for breaking things!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1692210</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-26 13:45:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/r267625</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702558</commentid>
    <comment_count>9</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-10-28 16:34:07 -0700</bug_when>
    <thetext>*** Bug 141242 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409761</attachid>
            <date>2020-09-25 16:59:34 -0700</date>
            <delta_ts>2020-09-25 17:41:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-217003-20200925165933.patch</filename>
            <type>text/plain</type>
            <size>26908</size>
            <attacher name="James Darpinian">jdarpinian</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjAyMzhhY2I3NTEwYzY4
ZjBjZjlhMmViOTg0NDFmOGM5YmFjYzQ0MS4uNzVmYTYyNTY5Nzk1OWFlYTE2NWNmODllZWNmNTRm
NjBlOGY0N2ZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIwLTA5LTI1ICBKYW1l
cyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0
IE9FU19mYm9fcmVuZGVyX21pcG1hcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE3MDAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdDogd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJv
LXJlbmRlci1taXBtYXAuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01Db252ZXJ0V2ViR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydFRvSlNW
YWx1ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvT0VTRkJPUmVuZGVyTWlwbWFwLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpPRVNGQk9SZW5kZXJNaXBtYXA6Ok9FU0ZCT1JlbmRlck1p
cG1hcCk6CisgICAgICAgIChXZWJDb3JlOjpPRVNGQk9SZW5kZXJNaXBtYXA6OmdldE5hbWUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6T0VTRkJPUmVuZGVyTWlwbWFwOjpzdXBwb3J0ZWQpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldEV4dGVuc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6ZnJhbWVidWZmZXJUZXh0dXJlMkQpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6Omxvc2VFeHRlbnNpb25z
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmg6CisK
IDIwMjAtMDktMjUgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
VXNlIENNYWtlIDMuMTAgY29tcGF0aWJsZSBsaXN0IGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCBkYjkzZjAwMzI1OTM4MjE3ZTc5YjY5NTY5MDU4MzRjZTZjYmZjOGYxLi43MDY4ODQ4
MjIzOTIxZWY3OTgxNWEzZTE4N2U2M2MyMzNmMWM4MGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtMTQ1NCw2ICsxNDU0LDcgQEAgaWYgKEVOQUJMRV9XRUJHTCkKICAgICAgICAgaHRtbC9jYW52
YXMvRVhUVGV4dHVyZUZpbHRlckFuaXNvdHJvcGljLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9F
WFRzUkdCLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhVaW50LmNwcAor
ICAgICAgICBodG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3BwCiAgICAgICAgIGh0bWwv
Y2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiAgICAgICAgIGh0bWwvY2FudmFzL09F
U1RleHR1cmVGbG9hdC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZsb2F0TGlu
ZWFyLmNwcApAQCAtMTUxMSw2ICsxNTEyLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9JRExfRklM
RVMKICAgICBodG1sL2NhbnZhcy9FWFRUZXh0dXJlRmlsdGVyQW5pc290cm9waWMuaWRsCiAgICAg
aHRtbC9jYW52YXMvRVhUc1JHQi5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNFbGVtZW50SW5kZXhV
aW50LmlkbAorICAgIGh0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5pZGwKICAgICBodG1s
L2NhbnZhcy9PRVNTdGFuZGFyZERlcml2YXRpdmVzLmlkbAogICAgIGh0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdC5pZGwKICAgICBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuaWRs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiNjc2OGI1ZTZhZGFkNmZlMjcyMzA4
NTNlNGEyNGM0MTliZjFlZGNiLi40YmM3MTg1NjM4NDQwZmUwY2EwNzU3ZWYyYTYwNGVjOGYwYTJm
OGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTk1Nyw2ICs5NTcsNyBAQCBK
U19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9JbWFnZUJpdG1h
cFJlbmRlcmluZ0NvbnRleHRTZXR0aW5ncy5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52
YXMvSW1hZ2VTbW9vdGhpbmdRdWFsaXR5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9PRVNFbGVtZW50SW5kZXhVaW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9P
RVNGQk9SZW5kZXJNaXBtYXAuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL09FU1Rl
eHR1cmVGbG9hdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvT0VTVGV4dHVyZUZs
b2F0TGluZWFyLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDE4Y2FmNDU1M2YwZjkyZGQ1OTRjMTZh
NDRlZDhkYzdiNzllNzI0YWUuLjkyYjdlNTJlYTg0NGVkZmIyMjkxZDMwZjg5YWEyMThhNTk1N2Zl
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMjU2LDYgKzEyNTYsNyBAQCBodG1sL2NhbnZhcy9FWFRz
UkdCLmNwcAogaHRtbC9jYW52YXMvR1BVQmFzZWRDYW52YXNSZW5kZXJpbmdDb250ZXh0LmNwcAog
aHRtbC9jYW52YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmNwcAogaHRtbC9jYW52YXMv
T0VTRWxlbWVudEluZGV4VWludC5jcHAKK2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5j
cHAKIGh0bWwvY2FudmFzL09FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiBodG1sL2NhbnZhcy9P
RVNUZXh0dXJlRmxvYXQuY3BwCiBodG1sL2NhbnZhcy9PRVNUZXh0dXJlRmxvYXRMaW5lYXIuY3Bw
CkBAIC0zMTMzLDYgKzMxMzQsNyBAQCBKU05vdGlmaWNhdGlvbi5jcHAKIEpTTm90aWZpY2F0aW9u
UGVybWlzc2lvbi5jcHAKIEpTTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmNwcAogSlNP
RVNFbGVtZW50SW5kZXhVaW50LmNwcAorSlNPRVNGQk9SZW5kZXJNaXBtYXAuY3BwCiBKU09FU1N0
YW5kYXJkRGVyaXZhdGl2ZXMuY3BwCiBKU09FU1RleHR1cmVGbG9hdC5jcHAKIEpTT0VTVGV4dHVy
ZUZsb2F0TGluZWFyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDFmMzI4ZTJmOTM3NWY1ZTc0MjczZmJlZmRmNjU2MjgxY2I0
NzI2M2MuLjgwMjM4ZjNiMDI2MDE1NGM2NDM2NjBkNzUzMDNhNjMwMTA4MDVkMGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEy
MDc3LDYgKzEyMDc3LDkgQEAKIAkJQTM3MDQ5RDgyNTFENEI4RTAwOUJBMUIzIC8qIEVYVEZsb2F0
QmxlbmQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEVYVEZsb2F0QmxlbmQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzcwNDlEQTI1MUQ0QjhFMDA5QkExQjMgLyogRVhU
RmxvYXRCbGVuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFWFRGbG9hdEJs
ZW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzNzA0OURCMjUxRDRCOEYwMDlC
QTFCMyAvKiBFWFRGbG9hdEJsZW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEVYVEZsb2F0QmxlbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
MzdBNDJDRTI1MUVCOTk2MDBGNzVBRkYgLyogT0VTRkJPUmVuZGVyTWlwbWFwLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9FU0ZCT1JlbmRlck1pcG1hcC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEzN0E0MkQwMjUxRUI5OTYwMEY3NUFGRiAvKiBP
RVNGQk9SZW5kZXJNaXBtYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT0VT
RkJPUmVuZGVyTWlwbWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEzN0E0MkQx
MjUxRUI5OTcwMEY3NUFGRiAvKiBPRVNGQk9SZW5kZXJNaXBtYXAuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IE9FU0ZCT1JlbmRlck1pcG1hcC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUEzQUY5RDgxMjAzMjUyRUUwMDZDQUQwNiAvKiBVc2VyQWdlbnRDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVzZXJBZ2VudENvY29hLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0FGOUQ4MjIwMzI1MzI0MDA2Q0FEMDYgLyog
VXNlckFnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVzZXJBZ2VudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBM0FGOUQ4MzIwMzI1NjkxMDA2Q0FEMDYg
LyogVXNlckFnZW50SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gVXNlckFnZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTk0MTIs
NiArMTk0MTUsOSBAQAogCQkJCTdFNUQ3QTczMTYxRDNGOEYwMDg5NkMzNCAvKiBPRVNFbGVtZW50
SW5kZXhVaW50LmNwcCAqLywKIAkJCQk3RTVEN0E3NDE2MUQzRjhGMDA4OTZDMzQgLyogT0VTRWxl
bWVudEluZGV4VWludC5oICovLAogCQkJCUUxNzY1ODBDMTgwREYzQTAwMDVBOTZEMSAvKiBPRVNF
bGVtZW50SW5kZXhVaW50LmlkbCAqLywKKwkJCQlBMzdBNDJDRTI1MUVCOTk2MDBGNzVBRkYgLyog
T0VTRkJPUmVuZGVyTWlwbWFwLmNwcCAqLywKKwkJCQlBMzdBNDJEMDI1MUVCOTk2MDBGNzVBRkYg
LyogT0VTRkJPUmVuZGVyTWlwbWFwLmggKi8sCisJCQkJQTM3QTQyRDEyNTFFQjk5NzAwRjc1QUZG
IC8qIE9FU0ZCT1JlbmRlck1pcG1hcC5pZGwgKi8sCiAJCQkJOTAwMTc3M0QxMkUwMzQ3ODAwNjQ4
NDYyIC8qIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuY3BwICovLAogCQkJCTkwMDE3NzNFMTJFMDM0
NzgwMDY0ODQ2MiAvKiBPRVNTdGFuZGFyZERlcml2YXRpdmVzLmggKi8sCiAJCQkJOTAwMTc3M0Yx
MkUwMzQ3ODAwNjQ4NDYyIC8qIE9FU1N0YW5kYXJkRGVyaXZhdGl2ZXMuaWRsICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0V2ViR0wuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0V2ViR0wuY3BwCmluZGV4IDg3
NWFmMzQ0ZjY3MDNmM2Q2YTMwMTQxN2Q0ODc3YTIzZjA2NTU3ODcuLmQ0NzBkMDA4YTQ5ZDQwYTNl
N2FiY2JhNGUyNmU0NTM2NDdhZjMwMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQ29udmVydFdlYkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTUNvbnZlcnRXZWJHTC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJK
U0VYVFRleHR1cmVGaWx0ZXJBbmlzb3Ryb3BpYy5oIgogI2luY2x1ZGUgIkpTRVhUc1JHQi5oIgog
I2luY2x1ZGUgIkpTT0VTRWxlbWVudEluZGV4VWludC5oIgorI2luY2x1ZGUgIkpTT0VTRkJPUmVu
ZGVyTWlwbWFwLmgiCiAjaW5jbHVkZSAiSlNPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5j
bHVkZSAiSlNPRVNUZXh0dXJlRmxvYXQuaCIKICNpbmNsdWRlICJKU09FU1RleHR1cmVGbG9hdExp
bmVhci5oIgpAQCAtMTkyLDYgKzE5Myw4IEBAIEpTVmFsdWUgY29udmVydFRvSlNWYWx1ZShKU0ds
b2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QmCiAgICAg
ICAgIHJldHVybiB0b0pTKCZsZXhpY2FsR2xvYmFsT2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBzdGF0
aWNfY2FzdDxPRVNWZXJ0ZXhBcnJheU9iamVjdCY+KGV4dGVuc2lvbikpOwogICAgIGNhc2UgV2Vi
R0xFeHRlbnNpb246Ok9FU0VsZW1lbnRJbmRleFVpbnROYW1lOgogICAgICAgICByZXR1cm4gdG9K
UygmbGV4aWNhbEdsb2JhbE9iamVjdCwgJmdsb2JhbE9iamVjdCwgc3RhdGljX2Nhc3Q8T0VTRWxl
bWVudEluZGV4VWludCY+KGV4dGVuc2lvbikpOworICAgIGNhc2UgV2ViR0xFeHRlbnNpb246Ok9F
U0ZCT1JlbmRlck1pcG1hcE5hbWU6CisgICAgICAgIHJldHVybiB0b0pTKCZsZXhpY2FsR2xvYmFs
T2JqZWN0LCAmZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxPRVNGQk9SZW5kZXJNaXBtYXAmPihl
eHRlbnNpb24pKTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTERlYnVnUmVuZGVyZXJJ
bmZvTmFtZToKICAgICAgICAgcmV0dXJuIHRvSlMoJmxleGljYWxHbG9iYWxPYmplY3QsICZnbG9i
YWxPYmplY3QsIHN0YXRpY19jYXN0PFdlYkdMRGVidWdSZW5kZXJlckluZm8mPihleHRlbnNpb24p
KTsKICAgICBjYXNlIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTERlYnVnU2hhZGVyc05hbWU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRkJPUmVuZGVyTWlwbWFwLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43MWE4MWQwZDkzMDlkNjQ0ZWU0ODY4YmRhYTIzZWQ4Nzg0YWY1MjFiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRkJPUmVuZGVyTWlwbWFw
LmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYg
RU5BQkxFKFdFQkdMKQorI2luY2x1ZGUgIk9FU0ZCT1JlbmRlck1pcG1hcC5oIgorCisjaW5jbHVk
ZSAiRXh0ZW5zaW9uc0dMLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoT0VTRkJP
UmVuZGVyTWlwbWFwKTsKKworT0VTRkJPUmVuZGVyTWlwbWFwOjpPRVNGQk9SZW5kZXJNaXBtYXAo
V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSYgY29udGV4dCkKKyAgICA6IFdlYkdMRXh0ZW5zaW9u
KGNvbnRleHQpCit7CisgICAgY29udGV4dC5ncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNp
b25zKCkuZW5zdXJlRW5hYmxlZCgiR0xfT0VTX2Zib19yZW5kZXJfbWlwbWFwIl9zKTsKK30KKwor
T0VTRkJPUmVuZGVyTWlwbWFwOjp+T0VTRkJPUmVuZGVyTWlwbWFwKCkgPSBkZWZhdWx0OworCitX
ZWJHTEV4dGVuc2lvbjo6RXh0ZW5zaW9uTmFtZSBPRVNGQk9SZW5kZXJNaXBtYXA6OmdldE5hbWUo
KSBjb25zdAoreworICAgIHJldHVybiBPRVNGQk9SZW5kZXJNaXBtYXBOYW1lOworfQorCitib29s
IE9FU0ZCT1JlbmRlck1pcG1hcDo6c3VwcG9ydGVkKGNvbnN0IFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGNvbnRleHQuZ3JhcGhpY3NDb250ZXh0R0wo
KS0+Z2V0RXh0ZW5zaW9ucygpLnN1cHBvcnRzKCJHTF9PRVNfZmJvX3JlbmRlcl9taXBtYXAiX3Mp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCR0wp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBt
YXAuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL09FU0ZCT1JlbmRlck1pcG1hcC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjMzOTZmOWUxZTExNGU1MWFmY2RmZGQ4M2YzZWQyZWI2ODMzZTZkZjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBt
YXAuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJX
ZWJHTEV4dGVuc2lvbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE9FU0ZCT1Jl
bmRlck1pcG1hcCBmaW5hbCA6IHB1YmxpYyBXZWJHTEV4dGVuc2lvbiB7CisgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChPRVNGQk9SZW5kZXJNaXBtYXApOworcHVibGljOgorICAgIE9FU0ZCT1Jl
bmRlck1pcG1hcChXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlJik7CisgICAgdmlydHVhbCB+T0VT
RkJPUmVuZGVyTWlwbWFwKCk7CisKKyAgICBFeHRlbnNpb25OYW1lIGdldE5hbWUoKSBjb25zdCBv
dmVycmlkZTsKKworICAgIHN0YXRpYyBib29sIHN1cHBvcnRlZChjb25zdCBXZWJHTFJlbmRlcmlu
Z0NvbnRleHRCYXNlJik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9PRVNGQk9SZW5kZXJNaXBtYXAuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRkJPUmVuZGVyTWlwbWFwLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iMGUxYTU4OTVmNmIzZTQxZjdiNzU3OWY5M2NkODBjYTY2NjdmMWJjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvT0VTRkJPUmVuZGVyTWlwbWFwLmlkbApA
QCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIExlZ2FjeU5vSW50ZXJmYWNlT2JqZWN0LAor
ICAgIENvbmRpdGlvbmFsPVdFQkdMLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbFdlYkdM
UmVuZGVyaW5nQ29udGV4dCwKK10gaW50ZXJmYWNlIE9FU0ZCT1JlbmRlck1pcG1hcCB7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKaW5kZXggZDA4NjAz
OGM3ZThmM2NmNjllNzA5ZGNmZWZlNTVmZGY0NTc3MWNhMS4uYTc4ZWYxNWIzOTEyMjYwZDFhMDRm
YjA0YjI5Y2MyMWYwOTEzMzRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xFeHRlbnNpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEV4dGVuc2lvbi5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICAgICAgV2ViR0xEZXB0
aFRleHR1cmVOYW1lLAogICAgICAgICBXZWJHTERyYXdCdWZmZXJzTmFtZSwKICAgICAgICAgT0VT
RWxlbWVudEluZGV4VWludE5hbWUsCisgICAgICAgIE9FU0ZCT1JlbmRlck1pcG1hcE5hbWUsCiAg
ICAgICAgIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBVENOYW1lLAogICAgICAgICBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlRVRDTmFtZSwKICAgICAgICAgV2ViR0xDb21wcmVzc2VkVGV4dHVyZUVUQzFO
YW1lLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJp
bmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggYzYyMDliNWU2NWYyOTE0YzA0ZjY1NDEyMTNkOTRkMWVkOTY2NDU2
NC4uYmY3OWRkZWFmYjNjOTdmOTgyNWI2YjZhOTMyYzQwMjg5ZTVkMzIxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCkBA
IC00NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiSW1hZ2VEYXRhLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiT0VTRWxlbWVudEluZGV4VWludC5oIgor
I2luY2x1ZGUgIk9FU0ZCT1JlbmRlck1pcG1hcC5oIgogI2luY2x1ZGUgIk9FU1N0YW5kYXJkRGVy
aXZhdGl2ZXMuaCIKICNpbmNsdWRlICJPRVNUZXh0dXJlRmxvYXQuaCIKICNpbmNsdWRlICJPRVNU
ZXh0dXJlRmxvYXRMaW5lYXIuaCIKQEAgLTE1OSw2ICsxNjAsNyBAQCBXZWJHTEV4dGVuc2lvbiog
V2ViR0xSZW5kZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQog
ICAgIEVOQUJMRV9JRl9SRVFVRVNURUQoT0VTVGV4dHVyZUhhbGZGbG9hdExpbmVhciwgbV9vZXNU
ZXh0dXJlSGFsZkZsb2F0TGluZWFyLCAiT0VTX3RleHR1cmVfaGFsZl9mbG9hdF9saW5lYXIiLCBl
bmFibGVTdXBwb3J0ZWRFeHRlbnNpb24oIkdMX09FU190ZXh0dXJlX2hhbGZfZmxvYXRfbGluZWFy
Il9zKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChPRVNWZXJ0ZXhBcnJheU9iamVjdCwgbV9v
ZXNWZXJ0ZXhBcnJheU9iamVjdCwgIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0IiwgZW5hYmxlU3Vw
cG9ydGVkRXh0ZW5zaW9uKCJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCJfcykpOwogICAgIEVO
QUJMRV9JRl9SRVFVRVNURUQoT0VTRWxlbWVudEluZGV4VWludCwgbV9vZXNFbGVtZW50SW5kZXhV
aW50LCAiT0VTX2VsZW1lbnRfaW5kZXhfdWludCIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigi
R0xfT0VTX2VsZW1lbnRfaW5kZXhfdWludCJfcykpOworICAgIEVOQUJMRV9JRl9SRVFVRVNURUQo
T0VTRkJPUmVuZGVyTWlwbWFwLCBtX29lc0ZCT1JlbmRlck1pcG1hcCwgIk9FU19mYm9fcmVuZGVy
X21pcG1hcCIsIGVuYWJsZVN1cHBvcnRlZEV4dGVuc2lvbigiR0xfT0VTX2Zib19yZW5kZXJfbWlw
bWFwIl9zKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVFU1RFRChXZWJHTExvc2VDb250ZXh0LCBtX3dl
YmdsTG9zZUNvbnRleHQsICJXRUJHTF9sb3NlX2NvbnRleHQiLCB0cnVlKTsKICAgICBFTkFCTEVf
SUZfUkVRVUVTVEVEKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLCBtX3dlYmdsQ29tcHJlc3Nl
ZFRleHR1cmVBU1RDLCAiV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2FzdGMiLCBXZWJHTENvbXBy
ZXNzZWRUZXh0dXJlQVNUQzo6c3VwcG9ydGVkKCp0aGlzKSk7CiAgICAgRU5BQkxFX0lGX1JFUVVF
U1RFRChXZWJHTENvbXByZXNzZWRUZXh0dXJlQVRDLCBtX3dlYmdsQ29tcHJlc3NlZFRleHR1cmVB
VEMsICJXRUJLSVRfV0VCR0xfY29tcHJlc3NlZF90ZXh0dXJlX2F0YyIsIFdlYkdMQ29tcHJlc3Nl
ZFRleHR1cmVBVEM6OnN1cHBvcnRlZCgqdGhpcykpOwpAQCAtMjM0LDYgKzIzNiw4IEBAIE9wdGlv
bmFsPFZlY3RvcjxTdHJpbmc+PiBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmdldFN1cHBvcnRlZEV4
dGVuc2lvbnMoKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJPRVNfdmVydGV4X2FycmF5X29iamVj
dCJfcyk7CiAgICAgaWYgKG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygpLnN1cHBvcnRzKCJHTF9P
RVNfZWxlbWVudF9pbmRleF91aW50Il9zKSkKICAgICAgICAgcmVzdWx0LmFwcGVuZCgiT0VTX2Vs
ZW1lbnRfaW5kZXhfdWludCJfcyk7CisgICAgaWYgKG1fY29udGV4dC0+Z2V0RXh0ZW5zaW9ucygp
LnN1cHBvcnRzKCJHTF9PRVNfZmJvX3JlbmRlcl9taXBtYXAiX3MpKQorICAgICAgICByZXN1bHQu
YXBwZW5kKCJPRVNfZmJvX3JlbmRlcl9taXBtYXAiX3MpOwogICAgIHJlc3VsdC5hcHBlbmQoIldF
QkdMX2xvc2VfY29udGV4dCJfcyk7CiAgICAgaWYgKFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RD
OjpzdXBwb3J0ZWQoKnRoaXMpKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJXRUJHTF9jb21wcmVz
c2VkX3RleHR1cmVfYXN0YyJfcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmluZGV4IGQ5YThiZGRhY2FhMTI5
OWI0YzYwN2I1NGNmOWIwNmQwODBlYTA5NTcuLjA0NWQ2YTZiZjkxNmU1YWYzYmEwMjlhMWI0NjU2
ZjkzNWQxMGE1ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVk
ZSAiTmF2aWdhdG9yV2ViWFIuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1
ZGUgIk9FU0VsZW1lbnRJbmRleFVpbnQuaCIKKyNpbmNsdWRlICJPRVNGQk9SZW5kZXJNaXBtYXAu
aCIKICNpbmNsdWRlICJPRVNTdGFuZGFyZERlcml2YXRpdmVzLmgiCiAjaW5jbHVkZSAiT0VTVGV4
dHVyZUZsb2F0LmgiCiAjaW5jbHVkZSAiT0VTVGV4dHVyZUZsb2F0TGluZWFyLmgiCkBAIC0yNzI0
LDggKzI3MjUsOCBAQCB2b2lkIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmZyYW1lYnVmZmVy
VGV4dHVyZTJEKEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0gYQogewogICAgIGlmIChpc0NvbnRl
eHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlRnJhbWVidWZmZXJGdW5jUGFyYW1ldGVycygi
ZnJhbWVidWZmZXJUZXh0dXJlMkQiLCB0YXJnZXQsIGF0dGFjaG1lbnQpKQogICAgICAgICByZXR1
cm47Ci0gICAgaWYgKGxldmVsICYmIGlzV2ViR0wxKCkpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJmcmFtZWJ1ZmZlclRleHR1
cmUyRCIsICJsZXZlbCBub3QgMCIpOworICAgIGlmIChsZXZlbCAmJiBpc1dlYkdMMSgpICYmICFt
X29lc0ZCT1JlbmRlck1pcG1hcCkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImZyYW1lYnVmZmVyVGV4dHVyZTJEIiwgImxldmVs
IG5vdCAwIGFuZCBPRVNfZmJvX3JlbmRlcl9taXBtYXAgbm90IGVuYWJsZWQiKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KICAgICBpZiAodGV4dHVyZSAmJiAhdGV4dHVyZS0+dmFsaWRhdGUoY29u
dGV4dEdyb3VwKCksICp0aGlzKSkgewpAQCAtMzcyMyw2ICszNzI0LDcgQEAgYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJiBuYW1l
KQogICAgIENIRUNLX0VYVEVOU0lPTihtX29lc1N0YW5kYXJkRGVyaXZhdGl2ZXMsICJPRVNfc3Rh
bmRhcmRfZGVyaXZhdGl2ZXMiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV9vZXNWZXJ0ZXhBcnJh
eU9iamVjdCwgIk9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0Iik7CiAgICAgQ0hFQ0tfRVhURU5TSU9O
KG1fb2VzRWxlbWVudEluZGV4VWludCwgIk9FU19lbGVtZW50X2luZGV4X3VpbnQiKTsKKyAgICBD
SEVDS19FWFRFTlNJT04obV9vZXNGQk9SZW5kZXJNaXBtYXAsICJPRVNfZmJvX3JlbmRlcl9taXBt
YXAiKTsKICAgICBDSEVDS19FWFRFTlNJT04obV93ZWJnbExvc2VDb250ZXh0LCAiV0VCR0xfbG9z
ZV9jb250ZXh0Iik7CiAgICAgQ0hFQ0tfRVhURU5TSU9OKG1fd2ViZ2xEZWJ1Z1JlbmRlcmVySW5m
bywgIldFQkdMX2RlYnVnX3JlbmRlcmVyX2luZm8iKTsKICAgICBDSEVDS19FWFRFTlNJT04obV93
ZWJnbERlYnVnU2hhZGVycywgIldFQkdMX2RlYnVnX3NoYWRlcnMiKTsKQEAgLTc3OTEsNiArNzc5
Myw3IEBAIHZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6bG9zZUV4dGVuc2lvbnMoTG9z
dENvbnRleHRNb2RlIG1vZGUpCiAgICAgTE9TRV9FWFRFTlNJT04obV9vZXNTdGFuZGFyZERlcml2
YXRpdmVzKTsKICAgICBMT1NFX0VYVEVOU0lPTihtX29lc1ZlcnRleEFycmF5T2JqZWN0KTsKICAg
ICBMT1NFX0VYVEVOU0lPTihtX29lc0VsZW1lbnRJbmRleFVpbnQpOworICAgIExPU0VfRVhURU5T
SU9OKG1fb2VzRkJPUmVuZGVyTWlwbWFwKTsKICAgICBMT1NFX0VYVEVOU0lPTihtX3dlYmdsTG9z
ZUNvbnRleHQpOwogICAgIExPU0VfRVhURU5TSU9OKG1fd2ViZ2xEZWJ1Z1JlbmRlcmVySW5mbyk7
CiAgICAgTE9TRV9FWFRFTlNJT04obV93ZWJnbERlYnVnU2hhZGVycyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5k
ZXggM2UwNDU1ZmM4NDg4OTNiOWU1ZTliMGM3OTYzYTQyYTExMGQyYzc1Yi4uN2IyMTg2NzJhYzU2
NTI4ODRmYmQ3MTY4NmVkMjdlMDg2ODYxNTc3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtODYsNiArODYs
NyBAQCBjbGFzcyBPRVNUZXh0dXJlSGFsZkZsb2F0OwogY2xhc3MgT0VTVGV4dHVyZUhhbGZGbG9h
dExpbmVhcjsKIGNsYXNzIE9FU1ZlcnRleEFycmF5T2JqZWN0OwogY2xhc3MgT0VTRWxlbWVudElu
ZGV4VWludDsKK2NsYXNzIE9FU0ZCT1JlbmRlck1pcG1hcDsKICNpZiBFTkFCTEUoT0ZGU0NSRUVO
X0NBTlZBUykKIGNsYXNzIE9mZnNjcmVlbkNhbnZhczsKICNlbmRpZgpAQCAtNjc3LDYgKzY3OCw3
IEBAIHByb3RlY3RlZDoKICAgICBSZWZQdHI8T0VTU3RhbmRhcmREZXJpdmF0aXZlcz4gbV9vZXNT
dGFuZGFyZERlcml2YXRpdmVzOwogICAgIFJlZlB0cjxPRVNWZXJ0ZXhBcnJheU9iamVjdD4gbV9v
ZXNWZXJ0ZXhBcnJheU9iamVjdDsKICAgICBSZWZQdHI8T0VTRWxlbWVudEluZGV4VWludD4gbV9v
ZXNFbGVtZW50SW5kZXhVaW50OworICAgIFJlZlB0cjxPRVNGQk9SZW5kZXJNaXBtYXA+IG1fb2Vz
RkJPUmVuZGVyTWlwbWFwOwogICAgIFJlZlB0cjxXZWJHTExvc2VDb250ZXh0PiBtX3dlYmdsTG9z
ZUNvbnRleHQ7CiAgICAgUmVmUHRyPFdlYkdMRGVidWdSZW5kZXJlckluZm8+IG1fd2ViZ2xEZWJ1
Z1JlbmRlcmVySW5mbzsKICAgICBSZWZQdHI8V2ViR0xEZWJ1Z1NoYWRlcnM+IG1fd2ViZ2xEZWJ1
Z1NoYWRlcnM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNDBiMTQxNzRhNDhjODI4MGExODA5NDUwZmRmMjA3ZTI3NDk0MTQ4
MC4uZjkxNDU4MDA4OGQ1Y2Y5NGRiZTBlMTkxZTQ4YmNlY2Y3ZjE5N2VhYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIwLTA5LTI1ICBKYW1lcyBEYXJwaW5pYW4gIDxqZGFycGluaWFuQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBTdXBwb3J0IE9FU19mYm9fcmVuZGVyX21pcG1hcAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE3MDAzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJnbC9jb25mb3Jt
YW5jZS9leHRlbnNpb25zL29lcy1mYm8tcmVuZGVyLW1pcG1hcC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYmdsL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvb2VzLWZiby1yZW5kZXIt
bWlwbWFwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmdsL3Jlc291cmNlcy93ZWJnbF90ZXN0
X2ZpbGVzL2NvbmZvcm1hbmNlL2V4dGVuc2lvbnMvb2VzLWZiby1yZW5kZXItbWlwbWFwLmh0bWw6
IEFkZGVkLgorCiAyMDIwLTA5LTI1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTigyNjc1MDQpOiBbIG1hY09TIF0gd2ViYXVkaW8vc2lsZW5jZS1h
ZnRlci1wbGF5YmFjay5odG1sIHJlc3VsdHMgbWlzc2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJvLXJlbmRlci1taXBtYXAtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMt
ZmJvLXJlbmRlci1taXBtYXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3NzVkNDQ5Mjg5ZjE1
ZDIwMTZjYzkzMzJmNzc4MzAyYjdkYjdjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL29lcy1mYm8tcmVuZGVyLW1pcG1hcC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBs
aXN0ZWQgYmVsb3cgaW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KKworVGVz
dDogLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy9vZXMtZmJvLXJlbmRlci1taXBtYXAuaHRtbAorUEFTUworCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy93ZWJnbC9jb25mb3JtYW5jZS9leHRlbnNpb25zL29lcy1mYm8tcmVuZGVyLW1pcG1hcC5o
dG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJvLXJl
bmRlci1taXBtYXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGM3Y2YxYWQ2MmU1MjAwN2E2ODMxZTE4MTE1
MGY3YjgxOGI5NzZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvY29uZm9y
bWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJvLXJlbmRlci1taXBtYXAuaHRtbApAQCAtMCwwICsxLDE4
IEBACis8IS0tIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBieSBnZW5lcmF0ZS13ZWJnbC10
ZXN0cy5weS4gRE8gTk9UIEVESVQgLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+V2ViR0wgQ29uZm9ybWFuY2UgVGVzdCBX
cmFwcGVyIGZvciBvZXMtZmJvLXJlbmRlci1taXBtYXAuaHRtbDwvdGl0bGU+Cis8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3dlYmtpdC13ZWJnbC10ZXN0LWhhcm5lc3MuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD5UaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cg
aW4gYW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC48L3A+CitUZXN0OiA8YSBocmVm
PSIuLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25z
L29lcy1mYm8tcmVuZGVyLW1pcG1hcC5odG1sIj4uLi8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9m
aWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25zL29lcy1mYm8tcmVuZGVyLW1pcG1hcC5odG1sPC9h
PgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzxkaXYgaWQ9ImlmcmFtZSI+Cis8aWZyYW1lIHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9u
cy9vZXMtZmJvLXJlbmRlci1taXBtYXAuaHRtbCIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI2MDAiPjwv
aWZyYW1lPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJnbC9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZS9leHRlbnNpb25z
L29lcy1mYm8tcmVuZGVyLW1pcG1hcC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2Vz
L3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJvLXJlbmRlci1t
aXBtYXAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNTYwYTRjODlhYTNlNDE2ZWEwZWZlMmU5YmQ1NzA0Njc0
Yjk5ZmJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvcmVzb3VyY2VzL3dl
YmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UvZXh0ZW5zaW9ucy9vZXMtZmJvLXJlbmRlci1taXBt
YXAuaHRtbApAQCAtMCwwICsxLDkyIEBACis8IURPQ1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVh
ZD4NCis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+DQorPHRpdGxlPldlYkdMIE9FU19mYm9fcmVuZGVy
X21pcG1hcCBDb25mb3JtYW5jZSBUZXN0czwvdGl0bGU+DQorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiLz4NCis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pg0KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy93ZWJnbC10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4NCis8L2hlYWQ+DQorPGJvZHk+DQor
PGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCI+PC9jYW52YXM+DQor
PGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2Pg0KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pg0K
KzxzY3JpcHQ+DQorInVzZSBzdHJpY3QiOw0KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZp
ZXMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIE9FU19mYm9fcmVuZGVyX21pcG1hcCBleHRlbnNp
b24sIGlmIGl0IGlzIGF2YWlsYWJsZS4iKTsNCisNCit2YXIgd3R1ID0gV2ViR0xUZXN0VXRpbHM7
DQordmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjYW52YXMiKTsNCit2YXIg
Z2wgPSB3dHUuY3JlYXRlM0RDb250ZXh0KGNhbnZhcyk7DQordmFyIGV4dCA9IG51bGw7DQorDQor
KGZ1bmN0aW9uKCl7DQorDQorICAgIGNvbnN0IG9lc0Zib1JlbmRlck1pcG1hcCA9IGdsLmdldEV4
dGVuc2lvbigiT0VTX2Zib19yZW5kZXJfbWlwbWFwIik7DQorICAgIGlmICghb2VzRmJvUmVuZGVy
TWlwbWFwKSB7DQorICAgICAgICB0ZXN0UGFzc2VkKCJPRVNfZmJvX3JlbmRlcl9taXBtYXAgaXMg
YWxsb3dlZCB0byBiZSBtaXNzaW5nLiIpOw0KKyAgICAgICAgcmV0dXJuOw0KKyAgICB9DQorDQor
ICAgIGxldCB0ZXh0dXJlID0gZ2wuY3JlYXRlVGV4dHVyZSgpOw0KKyAgICBnbC5iaW5kVGV4dHVy
ZShnbC5URVhUVVJFXzJELCB0ZXh0dXJlKTsNCisgICAgZ2wudGV4UGFyYW1ldGVyaShnbC5URVhU
VVJFXzJELCBnbC5URVhUVVJFX01BR19GSUxURVIsIGdsLk5FQVJFU1QpOw0KKyAgICBnbC50ZXhQ
YXJhbWV0ZXJpKGdsLlRFWFRVUkVfMkQsIGdsLlRFWFRVUkVfTUlOX0ZJTFRFUiwgZ2wuTkVBUkVT
VF9NSVBNQVBfTkVBUkVTVCk7DQorDQorICAgIGxldCBjb2xvcnMgPSBbDQorICAgICAgICBbMjU1
LCAwLCAwLCAyNTVdLA0KKyAgICAgICAgWzI1NSwgMTI3LCAwLCAyNTVdLA0KKyAgICAgICAgWzI1
NSwgMjU1LCAwLCAyNTVdLA0KKyAgICAgICAgWzAsIDI1NSwgMCwgMjU1XSwNCisgICAgICAgIFsw
LCAyNTUsIDI1NSwgMjU1XSwNCisgICAgICAgIFswLCAxMjcsIDI1NSwgMjU1XSwNCisgICAgICAg
IFswLCAwLCAyNTUsIDI1NV0sDQorICAgICAgICBbMjU1LCAwLCAyNTUsIDI1NV0sDQorICAgIF07
DQorDQorICAgIGxldCBmYm9zID0gW107DQorICAgIGxldCBtYXhMZXZlbCA9IDc7DQorICAgIGZv
ciAobGV0IGxldmVsID0gMDsgbGV2ZWwgPD0gbWF4TGV2ZWw7IGxldmVsKyspIHsNCisgICAgICAg
IGxldCBzaXplID0gTWF0aC5wb3coMiwgbWF4TGV2ZWwgLSBsZXZlbCk7DQorICAgICAgICBnbC50
ZXhJbWFnZTJEKGdsLlRFWFRVUkVfMkQsIGxldmVsLCBnbC5SR0JBLCBzaXplLCBzaXplLCAwLCBn
bC5SR0JBLCBnbC5VTlNJR05FRF9CWVRFLCBudWxsKTsNCisgICAgICAgIGxldCBmYm8gPSBnbC5j
cmVhdGVGcmFtZWJ1ZmZlcigpOw0KKyAgICAgICAgZ2wuYmluZEZyYW1lYnVmZmVyKGdsLkZSQU1F
QlVGRkVSLCBmYm8pOw0KKyAgICAgICAgZ2wuZnJhbWVidWZmZXJUZXh0dXJlMkQoZ2wuRlJBTUVC
VUZGRVIsIGdsLkNPTE9SX0FUVEFDSE1FTlQwLCBnbC5URVhUVVJFXzJELCB0ZXh0dXJlLCBsZXZl
bCk7DQorICAgICAgICBmYm9zLnB1c2goZmJvKTsNCisNCisgICAgICAgIHd0dS5nbEVycm9yU2hv
dWxkQmUoZ2wsIGdsLk5PX0VSUk9SLCAiQW55IGxldmVsIG9mIGEgdGV4dHVyZSBjYW4gYmUgYXR0
YWNoZWQgdG8gYSBmcmFtZWJ1ZmZlciBvYmplY3QuIik7DQorICAgIH0NCisNCisgICAgZm9yIChs
ZXQgbGV2ZWwgPSAwOyBsZXZlbCA8PSBtYXhMZXZlbDsgbGV2ZWwrKykgew0KKyAgICAgICAgZ2wu
YmluZEZyYW1lYnVmZmVyKGdsLkZSQU1FQlVGRkVSLCBmYm9zW2xldmVsXSk7DQorICAgICAgICBz
aG91bGRCZSgiZ2wuY2hlY2tGcmFtZWJ1ZmZlclN0YXR1cyhnbC5GUkFNRUJVRkZFUikiLCAiZ2wu
RlJBTUVCVUZGRVJfQ09NUExFVEUiKTsNCisgICAgICAgIGdsLmNsZWFyQ29sb3IoY29sb3JzW2xl
dmVsXVswXSAvIDI1NSwgY29sb3JzW2xldmVsXVsxXSAvIDI1NSwgY29sb3JzW2xldmVsXVsyXSAv
IDI1NSwgY29sb3JzW2xldmVsXVszXSAvIDI1NSk7DQorICAgICAgICBnbC5jbGVhcihnbC5DT0xP
Ul9CVUZGRVJfQklUKTsNCisgICAgfQ0KKw0KKyAgICBnbC5iaW5kRnJhbWVidWZmZXIoZ2wuRlJB
TUVCVUZGRVIsIG51bGwpOw0KKw0KKyAgICBsZXQgcHJvZ3JhbSA9IHd0dS5zZXR1cFRleHR1cmVk
UXVhZChnbCk7DQorDQorICAgIGZvciAobGV0IGxldmVsID0gMDsgbGV2ZWwgPD0gbWF4TGV2ZWw7
IGxldmVsKyspIHsNCisgICAgICAgIGxldCBzaXplID0gTWF0aC5wb3coMiwgbWF4TGV2ZWwgLSBs
ZXZlbCk7DQorICAgICAgICAvLyBXZSB1c2UgZGlmZmVycmVudCB2aWV3cG9ydCBzaXplcyB0byBh
ZmZlY3Qgd2hpY2ggbWlwbGV2ZWwgaXMgZmV0Y2hlZCBmcm9tIHRoZSB0ZXh0dXJlLg0KKyAgICAg
ICAgZ2wudmlld3BvcnQoMCwgMCwgc2l6ZSwgc2l6ZSk7DQorICAgICAgICBnbC5kcmF3QXJyYXlz
KGdsLlRSSUFOR0xFUywgMCwgNik7DQorICAgICAgICB3dHUuY2hlY2tDYW52YXNSZWN0KGdsLCAw
LCAwLCAxLCAxLCBjb2xvcnNbbGV2ZWxdKTsNCisgICAgfQ0KKw0KK30pKCk7DQorDQorZGVidWco
IiIpOw0KK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOw0KKzwvc2NyaXB0Pg0KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pg0KKw0KKzwvYm9keT4N
Cis8L2h0bWw+DQorPCEtLQ0KK0NvcHlyaWdodCAoYykgMjAxOSBUaGUgS2hyb25vcyBHcm91cCBJ
bmMuDQorVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxl
IGxpY2Vuc2UgdGhhdCBjYW4gYmUNCitmb3VuZCBpbiB0aGUgTElDRU5TRS50eHQgZmlsZS4NCist
LT4NCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>