<?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>233989</bug_id>
          
          <creation_ts>2021-12-08 00:00:43 -0800</creation_ts>
          <short_desc>[GPU Process] [Filters] Enable Filter rendering in GPU Process</short_desc>
          <delta_ts>2021-12-10 00:13:21 -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>Layout and Rendering</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>233973</dependson>
    
    <dependson>234024</dependson>
    
    <dependson>234086</dependson>
    
    <dependson>234099</dependson>
          <blocked>231253</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1821434</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-08 00:00:43 -0800</bug_when>
    <thetext>This will move applying the CSSFilters and the CSSFilterImageValue to GPUProcess. For now if the CSSFilter includes a referenced SVGFilter the whole CSSFilter will be applied in WebProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821435</commentid>
    <comment_count>1</comment_count>
      <attachid>446317</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-08 00:02:03 -0800</bug_when>
    <thetext>Created attachment 446317
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821727</commentid>
    <comment_count>2</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-08 12:46:34 -0800</bug_when>
    <thetext>I will make this bug enables CSSFilter and SVGFilter in GPUProcess.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821732</commentid>
    <comment_count>3</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-08 12:48:19 -0800</bug_when>
    <thetext>*** Bug 234027 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822301</commentid>
    <comment_count>4</comment_count>
      <attachid>446597</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-09 13:16:39 -0800</bug_when>
    <thetext>Created attachment 446597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822308</commentid>
    <comment_count>5</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-09 13:26:09 -0800</bug_when>
    <thetext>Does bug 234099 (blocking this one) need to be done before this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822335</commentid>
    <comment_count>6</comment_count>
      <attachid>446597</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-12-09 14:26:10 -0800</bug_when>
    <thetext>Comment on attachment 446597
Patch

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

&gt; Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:157
&gt; +    auto hostWindow = renderer.view().frameView().root() ? renderer.view().frameView().root()-&gt;hostWindow() : nullptr;

(I see this fragment so often that I wonder if createImageBuffer functions should take the renderer as an argument instead of the host window.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822360</commentid>
    <comment_count>7</comment_count>
      <attachid>446597</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-12-09 14:54:27 -0800</bug_when>
    <thetext>Comment on attachment 446597
Patch

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

&gt;&gt; Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp:157
&gt;&gt; +    auto hostWindow = renderer.view().frameView().root() ? renderer.view().frameView().root()-&gt;hostWindow() : nullptr;
&gt; 
&gt; (I see this fragment so often that I wonder if createImageBuffer functions should take the renderer as an argument instead of the host window.)

Or just a hostWindow helper function so there’s not a separate line of code every time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822493</commentid>
    <comment_count>8</comment_count>
      <attachid>446656</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-12-09 20:14:28 -0800</bug_when>
    <thetext>Created attachment 446656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822552</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 00:12:37 -0800</bug_when>
    <thetext>Committed r286835 (245068@main): &lt;https://commits.webkit.org/245068@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446656.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822554</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 00:13:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/86310865&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446317</attachid>
            <date>2021-12-08 00:02:03 -0800</date>
            <delta_ts>2021-12-08 12:46:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233989-20211208000202.patch</filename>
            <type>text/plain</type>
            <size>5042</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EzNTgxNjZlZDdjNWVm
ZTM3M2M3ZmYwNmEzNWFmYmUxODhiM2Y0Yy4uYmZiODY4NGYxZDZlNDMzNTA3YTk3MmQ3NGQ4NzUz
MGMxZjEyZjllMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTEyLTA3ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
W0ZpbHRlcnNdIEVuYWJsZSBDU1NGaWx0ZXJzIGluIEdQVSBQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5ODkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdpbGwgbW92ZSBhcHBseWlu
ZyB0aGUgQ1NTRmlsdGVycyBhbmQgdGhlIENTU0ZpbHRlckltYWdlVmFsdWUgdG8KKyAgICAgICAg
R1BVUHJvY2Vzcy4gRm9yIG5vdyBpZiB0aGUgQ1NTRmlsdGVyIGluY2x1ZGVzIGEgcmVmZXJlbmNl
ZCBTVkdGaWx0ZXIgdGhlCisgICAgICAgIHdob2xlIENTU0ZpbHRlciB3aWxsIGJlIGFwcGxpZWQg
aW4gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIGNzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0ZpbHRlckltYWdlVmFsdWU6OmltYWdlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdGaWx0ZXJlZElt
YWdlQnVmZmVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyRmlsdGVyczo6YWxsb2NhdGVCYWNraW5nU3Rv
cmVJZk5lZWRlZCk6CisKIDIwMjEtMTItMDYgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSAgW0ZpbHRlcnNdIE1ha2UgRmlsdGVyRWZm
ZWN0OjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKCkgYW5kIGl0cyBvdmVycmlkYWJsZSBmdW5jdGlv
bnMgd29yayBpdGVyYXRpdmVseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zp
bHRlckltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZpbHRlckltYWdlVmFs
dWUuY3BwCmluZGV4IDY1MzEyMjUyMmFiZjM1MmZlYTkzMGM1NTg4YjVmZWQxZmVjZmEzNzguLjM3
YTIwNTczMjMyODg1MTRhMTUyODQwY2UzZmFkOTUwNjY5ZWY2NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUg
IlJlbmRlckVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU3R5
bGVCdWlsZGVyU3RhdGUuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCiAKQEAgLTEx
Nyw3ICsxMTgsOCBAQCBSZWZQdHI8SW1hZ2U+IENTU0ZpbHRlckltYWdlVmFsdWU6OmltYWdlKFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBGbG9hdFNpegogICAgIC8vIFRyYW5zZm9ybSBJ
bWFnZSBpbnRvIEltYWdlQnVmZmVyLgogICAgIC8vIEZJWE1FICgxNDk0MjQpOiBUaGlzIGJ1ZmZl
ciBzaG91bGQgbm90IGJlIHVuY29uZGl0aW9uYWxseSB1bmFjY2VsZXJhdGVkLgogICAgIGF1dG8g
cmVuZGVyaW5nTW9kZSA9IFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQ7Ci0gICAgYXV0byBz
b3VyY2VJbWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgcmVuZGVyaW5nTW9kZSwgMSwg
RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCk7CisgICAg
YXV0byBob3N0V2luZG93ID0gcmVuZGVyZXIudmlldygpLmZyYW1lVmlldygpLnJvb3QoKSA/IHJl
bmRlcmVyLnZpZXcoKS5mcmFtZVZpZXcoKS5yb290KCktPmhvc3RXaW5kb3coKSA6IG51bGxwdHI7
CisgICAgYXV0byBzb3VyY2VJbWFnZSA9IEltYWdlQnVmZmVyOjpjcmVhdGUoc2l6ZSwgcmVuZGVy
aW5nTW9kZSwgU2hvdWxkVXNlRGlzcGxheUxpc3Q6Ok5vLCBSZW5kZXJpbmdQdXJwb3NlOjpET00s
IDEsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBQaXhlbEZvcm1hdDo6QkdSQTgsIGhv
c3RXaW5kb3cpOwogICAgIGlmICghc291cmNlSW1hZ2UpCiAgICAgICAgIHJldHVybiAmSW1hZ2U6
Om51bGxJbWFnZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAK
aW5kZXggZDhiOGZjYTM5M2FmNjM2ZGZiODRmODQ3MDU3NWNjYWZjOWE3M2VhYy4uYzk0MWUxNzE4
YzYxNzYzZDg4YTlkZDFiNGVmZWFlZTBhN2M5MjU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdFJlY29yZGVyLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkRpc3BsYXlMaXN0UmVjb3JkZXIuaCIKIAorI2luY2x1ZGUgIkNTU0ZpbHRl
ci5oIgogI2luY2x1ZGUgIkRpc3BsYXlMaXN0LmgiCiAjaW5jbHVkZSAiRGlzcGxheUxpc3REcmF3
aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkRpc3BsYXlMaXN0SXRlbXMuaCIKQEAgLTE1OCw2ICsx
NTksMTkgQEAgdm9pZCBSZWNvcmRlcjo6ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIoSW1hZ2VCdWZm
ZXIqIHNvdXJjZUltYWdlLCBjb25zdCBGbG9hdFJlY3QKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAorICAgIC8vIEZJWE1FOiBSZW1vdmUgc2tpcHBpbmcgdGhlIFNWR0ZpbHRlciBhbmQgdGhlIHJl
ZmVyZW5jZWQgU1ZHRmlsdGVyIG9uY2UgdGhleSBjYW4gYmUgZnVsbHkgZW5jb2RlZC9kZWNvZGVk
LgorICAgIGlmIChmaWx0ZXIuaXNTVkdGaWx0ZXIoKSkgeworICAgICAgICBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdGaWx0ZXJlZEltYWdlQnVmZmVyKHNvdXJjZUltYWdlLCBzb3VyY2VJbWFnZVJlY3Qs
IGZpbHRlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBmb3IgKGF1dG8mIGZ1bmN0
aW9uIDogZG93bmNhc3Q8Q1NTRmlsdGVyPihmaWx0ZXIpLmZ1bmN0aW9ucygpKSB7CisgICAgICAg
IGlmIChmdW5jdGlvbi0+aXNTVkdGaWx0ZXIoKSkgeworICAgICAgICAgICAgR3JhcGhpY3NDb250
ZXh0OjpkcmF3RmlsdGVyZWRJbWFnZUJ1ZmZlcihzb3VyY2VJbWFnZSwgc291cmNlSW1hZ2VSZWN0
LCBmaWx0ZXIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorCiAgICAg
cmVjb3JkUmVzb3VyY2VVc2UoKnNvdXJjZUltYWdlKTsKICAgICByZWNvcmREcmF3RmlsdGVyZWRJ
bWFnZUJ1ZmZlcihzb3VyY2VJbWFnZS0+cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCksIHNv
dXJjZUltYWdlUmVjdCwgZmlsdGVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckZpbHRlcnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyRmlsdGVycy5jcHAKaW5kZXggNDAxYzBmMTk3ZDIyMWI3MzFmZmY5Y2RhNzky
NjY1MWQ5Mjk2MWFlNS4uZGZjYzAzNzNjNTkyZGUwNDZiZGIyNGVmNDgxMjVmMjQxOTMyMjdjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVycy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVycy5jcHAK
QEAgLTEzOSw3ICsxMzksOCBAQCB2b2lkIFJlbmRlckxheWVyRmlsdGVyczo6YWxsb2NhdGVCYWNr
aW5nU3RvcmVJZk5lZWRlZChjb25zdCBHcmFwaGljc0NvbnRleHQmIHRhcgogICAgICAgICBtX3Nv
dXJjZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShsb2dpY2FsU2l6ZSwgZmlsdGVyLnJlbmRl
cmluZ01vZGUoKSwgJnRhcmdldENvbnRleHQsIDEsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JH
QigpLCBQaXhlbEZvcm1hdDo6QkdSQTgpOwogI2Vsc2UKICAgICAgICAgVU5VU0VEX1BBUkFNKHRh
cmdldENvbnRleHQpOwotICAgICAgICBtX3NvdXJjZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0
ZShsb2dpY2FsU2l6ZSwgZmlsdGVyLnJlbmRlcmluZ01vZGUoKSwgMSwgRGVzdGluYXRpb25Db2xv
clNwYWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCk7CisgICAgICAgIGF1dG8gaG9zdFdp
bmRvdyA9IG1fbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCkucm9vdCgpID8gbV9s
YXllci5yZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKS5yb290KCktPmhvc3RXaW5kb3coKSA6
IG51bGxwdHI7CisgICAgICAgIG1fc291cmNlSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxv
Z2ljYWxTaXplLCBmaWx0ZXIucmVuZGVyaW5nTW9kZSgpLCBTaG91bGRVc2VEaXNwbGF5TGlzdDo6
Tm8sIFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdC
KCksIFBpeGVsRm9ybWF0OjpCR1JBOCwgaG9zdFdpbmRvdyk7CiAjZW5kaWYKICAgICAgICAgaWYg
KGF1dG8gY29udGV4dCA9IGlucHV0Q29udGV4dCgpKQogICAgICAgICAgICAgY29udGV4dC0+c2Nh
bGUoZmlsdGVyLmZpbHRlclNjYWxlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446597</attachid>
            <date>2021-12-09 13:16:39 -0800</date>
            <delta_ts>2021-12-09 14:26:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233989-20211209131639.patch</filename>
            <type>text/plain</type>
            <size>10889</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTk0ZGVmMzcwMzIyZmM0
Mjg4OWM5NjIxMjNiNTg4ZDc5NTAyYmE0NC4uZTY3NTM0Yjk3NDk0YzIyOTRjMTJjMmMwOTQ2ZGFi
ODc0ODEyOTFmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEyLTA5ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
W0ZpbHRlcnNdIEVuYWJsZSBGaWx0ZXIgcmVuZGVyaW5nIGluIEdQVSBQcm9jZXNzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5ODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHdpbGwgbW92ZSBh
cHBseWluZyB0aGUgQ1NTRmlsdGVySW1hZ2VWYWx1ZSwgdGhlIENTU0ZpbHRlciBhbmQgdGhlCisg
ICAgICAgIFNWR0ZpbHRlciB0byBHUFVQcm9jZXNzLgorCisgICAgICAgICogY3NzL0NTU0ZpbHRl
ckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRmlsdGVySW1hZ2VWYWx1ZTo6
aW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlcnMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJGaWx0ZXJzOjphbGxvY2F0ZUJhY2tpbmdTdG9yZUlm
TmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXI6OmFwcGx5
Q2xpcHBpbmdUb0NvbnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVz
b3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VGaWx0
ZXI6OmFwcGx5UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXI6OnBvc3RBcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jlc291cmNlTWFza2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jlc291
cmNlTWFza2VyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICBmaWx0ZXJEYXRhLnNvdXJjZUdyYXBoaWNCdWZm
ZXIgd2lsbCBoYXZlIHRvIHN0YXkgYXJvdW5kIGJlY2F1c2UgY2FjaGluZworICAgICAgICB0aGUg
ZmlsdGVyIHJlc3VsdCBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQgeWV0LgorCisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcik6CisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0Lmg6CisKIDIwMjEtMTItMDggIEJK
IEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBXZWIgSW5zcGVjdG9y
OiBwcm92aWRlIGEgd2F5IGZvciBfV0tJbnNwZWN0b3JFeHRlbnNpb24gY2xpZW50cyB0byBiZSB0
byBub3RpZmllZCB3aGVuIGFuIGV4dGVuc2lvbiB0YWIgbmF2aWdhdGVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAKaW5kZXggNjUzMTIyNTIyYWJmMzUyZmVhOTMw
YzU1ODhiNWZlZDFmZWNmYTM3OC4uMzdhMjA1NzMyMzI4ODUxNGExNTI4NDBjZTNmYWQ5NTA2Njll
ZjY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZpbHRlckltYWdlVmFsdWUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcApAQCAt
MzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIklt
YWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRl
clZpZXcuaCIKICNpbmNsdWRlICJTdHlsZUJ1aWxkZXJTdGF0ZS5oIgogI2luY2x1ZGUgIlN0eWxl
Q2FjaGVkSW1hZ2UuaCIKIApAQCAtMTE3LDcgKzExOCw4IEBAIFJlZlB0cjxJbWFnZT4gQ1NTRmls
dGVySW1hZ2VWYWx1ZTo6aW1hZ2UoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEZsb2F0
U2l6CiAgICAgLy8gVHJhbnNmb3JtIEltYWdlIGludG8gSW1hZ2VCdWZmZXIuCiAgICAgLy8gRklY
TUUgKDE0OTQyNCk6IFRoaXMgYnVmZmVyIHNob3VsZCBub3QgYmUgdW5jb25kaXRpb25hbGx5IHVu
YWNjZWxlcmF0ZWQuCiAgICAgYXV0byByZW5kZXJpbmdNb2RlID0gUmVuZGVyaW5nTW9kZTo6VW5h
Y2NlbGVyYXRlZDsKLSAgICBhdXRvIHNvdXJjZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShz
aXplLCByZW5kZXJpbmdNb2RlLCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4
ZWxGb3JtYXQ6OkJHUkE4KTsKKyAgICBhdXRvIGhvc3RXaW5kb3cgPSByZW5kZXJlci52aWV3KCku
ZnJhbWVWaWV3KCkucm9vdCgpID8gcmVuZGVyZXIudmlldygpLmZyYW1lVmlldygpLnJvb3QoKS0+
aG9zdFdpbmRvdygpIDogbnVsbHB0cjsKKyAgICBhdXRvIHNvdXJjZUltYWdlID0gSW1hZ2VCdWZm
ZXI6OmNyZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNwbGF5TGlzdDo6Tm8s
IFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCks
IFBpeGVsRm9ybWF0OjpCR1JBOCwgaG9zdFdpbmRvdyk7CiAgICAgaWYgKCFzb3VyY2VJbWFnZSkK
ICAgICAgICAgcmV0dXJuICZJbWFnZTo6bnVsbEltYWdlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlcnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmlsdGVycy5jcHAKaW5kZXggNDAxYzBmMTk3ZDIyMWI3
MzFmZmY5Y2RhNzkyNjY1MWQ5Mjk2MWFlNS4uZGZjYzAzNzNjNTkyZGUwNDZiZGIyNGVmNDgxMjVm
MjQxOTMyMjdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyRmlsdGVycy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
RmlsdGVycy5jcHAKQEAgLTEzOSw3ICsxMzksOCBAQCB2b2lkIFJlbmRlckxheWVyRmlsdGVyczo6
YWxsb2NhdGVCYWNraW5nU3RvcmVJZk5lZWRlZChjb25zdCBHcmFwaGljc0NvbnRleHQmIHRhcgog
ICAgICAgICBtX3NvdXJjZUltYWdlID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShsb2dpY2FsU2l6ZSwg
ZmlsdGVyLnJlbmRlcmluZ01vZGUoKSwgJnRhcmdldENvbnRleHQsIDEsIERlc3RpbmF0aW9uQ29s
b3JTcGFjZTo6U1JHQigpLCBQaXhlbEZvcm1hdDo6QkdSQTgpOwogI2Vsc2UKICAgICAgICAgVU5V
U0VEX1BBUkFNKHRhcmdldENvbnRleHQpOwotICAgICAgICBtX3NvdXJjZUltYWdlID0gSW1hZ2VC
dWZmZXI6OmNyZWF0ZShsb2dpY2FsU2l6ZSwgZmlsdGVyLnJlbmRlcmluZ01vZGUoKSwgMSwgRGVz
dGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCk7CisgICAgICAg
IGF1dG8gaG9zdFdpbmRvdyA9IG1fbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCku
cm9vdCgpID8gbV9sYXllci5yZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKS5yb290KCktPmhv
c3RXaW5kb3coKSA6IG51bGxwdHI7CisgICAgICAgIG1fc291cmNlSW1hZ2UgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCBmaWx0ZXIucmVuZGVyaW5nTW9kZSgpLCBTaG91bGRVc2VE
aXNwbGF5TGlzdDo6Tm8sIFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgRGVzdGluYXRpb25Db2xv
clNwYWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCwgaG9zdFdpbmRvdyk7CiAjZW5kaWYK
ICAgICAgICAgaWYgKGF1dG8gY29udGV4dCA9IGlucHV0Q29udGV4dCgpKQogICAgICAgICAgICAg
Y29udGV4dC0+c2NhbGUoZmlsdGVyLmZpbHRlclNjYWxlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCmlu
ZGV4IDUwNzhmOWNhZWZiNTA2ZjkyMjM3ZjJjZTdhYjZmNmU1OTIwODY3YjEuLmUzMTIxNzUzOGZi
ZDIzNjg4MGZmYTcyNjI5YzU4ZmFjMzFlZTJiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAKQEAgLTE1
NCw3ICsxNTQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcjo6YXBwbHlDbGlwcGlu
Z1RvQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsCiAgICAgQWZmaW5lVHJhbnNmb3Jt
IGFic29sdXRlVHJhbnNmb3JtID0gU1ZHUmVuZGVyaW5nQ29udGV4dDo6Y2FsY3VsYXRlVHJhbnNm
b3JtYXRpb25Ub091dGVybW9zdENvb3JkaW5hdGVTeXN0ZW0ocmVuZGVyZXIpOwogICAgIGlmICgh
Y2xpcHBlckRhdGEuaXNWYWxpZEZvckdlb21ldHJ5KG9iamVjdEJvdW5kaW5nQm94LCBjbGlwcGVk
Q29udGVudEJvdW5kcywgYWJzb2x1dGVUcmFuc2Zvcm0pKSB7CiAgICAgICAgIC8vIEZJWE1FICgx
NDk0NjkpOiBUaGlzIGltYWdlIGJ1ZmZlciBzaG91bGQgbm90IGJlIHVuY29uZGl0aW9uYWxseSB1
bmFjY2VsZXJhdGVkLiBNYWtpbmcgaXQgbWF0Y2ggdGhlIGNvbnRleHQgYnJlYWtzIG5lc3RlZCBj
bGlwcGluZywgdGhvdWdoLgotICAgICAgICBhdXRvIG1hc2tJbWFnZSA9IFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNsaXBwZWRDb250ZW50Qm91bmRzLCBhYnNvbHV0ZVRy
YW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFJlbmRlcmluZ01vZGU6OlVu
YWNjZWxlcmF0ZWQsICZjb250ZXh0KTsKKyAgICAgICAgYXV0byBtYXNrSW1hZ2UgPSBTVkdSZW5k
ZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihjbGlwcGVkQ29udGVudEJvdW5kcywgYWJz
b2x1dGVUcmFuc2Zvcm0sIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBSZW5kZXJpbmdN
b2RlOjpVbmFjY2VsZXJhdGVkLCBudWxscHRyLCAmY29udGV4dCk7CiAgICAgICAgIGlmICghbWFz
a0ltYWdlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCmluZGV4
IDQzNDg4Njg0YWE2NTc3ZTg5Y2U1ZjI5NDc0OWE0OTMyNjM1MTRmNzkuLmFiOTAyZGYxNDgwM2Uz
OWYyNGFhNWY0MDkyOTc1YjBjNzBlZTRkOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCkBAIC0xNTQsNyAr
MTU0LDkgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlcjo6YXBwbHlSZXNvdXJjZShSZW5k
ZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgUmVuZGUKICNlbHNlCiAgICAgYXV0byBjb2xvclNw
YWNlID0gRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCk7CiAjZW5kaWYKLSAgICBhdXRvIHNv
dXJjZUdyYXBoaWMgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihmaWx0
ZXJEYXRhLT5kcmF3aW5nUmVnaW9uLCBlZmZlY3RpdmVUcmFuc2Zvcm0sIGNvbG9yU3BhY2UsIGZp
bHRlckRhdGEtPmZpbHRlci0+cmVuZGVyaW5nTW9kZSgpLCBjb250ZXh0KTsKKyAgICBhdXRvIGhv
c3RXaW5kb3cgPSByZW5kZXJlci52aWV3KCkuZnJhbWVWaWV3KCkucm9vdCgpID8gcmVuZGVyZXIu
dmlldygpLmZyYW1lVmlldygpLnJvb3QoKS0+aG9zdFdpbmRvdygpIDogbnVsbHB0cjsKKworICAg
IGF1dG8gc291cmNlR3JhcGhpYyA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVm
ZmVyKGZpbHRlckRhdGEtPmRyYXdpbmdSZWdpb24sIGVmZmVjdGl2ZVRyYW5zZm9ybSwgY29sb3JT
cGFjZSwgZmlsdGVyRGF0YS0+ZmlsdGVyLT5yZW5kZXJpbmdNb2RlKCksIGhvc3RXaW5kb3csIGNv
bnRleHQpOwogICAgIGlmICghc291cmNlR3JhcGhpYykgewogICAgICAgICBBU1NFUlQobV9yZW5k
ZXJlckZpbHRlckRhdGFNYXAuY29udGFpbnMoJnJlbmRlcmVyKSk7CiAgICAgICAgIGZpbHRlckRh
dGEtPnNhdmVkQ29udGV4dCA9IGNvbnRleHQ7CkBAIC0yMTgsOCArMjIwLDYgQEAgdm9pZCBSZW5k
ZXJTVkdSZXNvdXJjZUZpbHRlcjo6cG9zdEFwcGx5UmVzb3VyY2UoUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIsIEdyYXBoaWMKICAgICAgICAgY29udGV4dC0+ZHJhd0ZpbHRlcmVkSW1hZ2VCdWZmZXIo
ZmlsdGVyRGF0YS5zb3VyY2VHcmFwaGljQnVmZmVyLmdldCgpLCBmaWx0ZXJEYXRhLmRyYXdpbmdS
ZWdpb24sICpmaWx0ZXJEYXRhLmZpbHRlcik7CiAgICAgfQogCi0gICAgZmlsdGVyRGF0YS5zb3Vy
Y2VHcmFwaGljQnVmZmVyID0gbnVsbHB0cjsKLQogICAgIExPR19XSVRIX1NUUkVBTShGaWx0ZXJz
LCBzdHJlYW0gPDwgIlJlbmRlclNWR1Jlc291cmNlRmlsdGVyICIgPDwgdGhpcyA8PCAiIHBvc3RB
cHBseVJlc291cmNlIGRvbmVcbiIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCmluZGV4IGIyMzg3ODYy
ZGRmMjIyMTcxZTRhNWQ5YzJkZjU1ZjZjOTgzOWJiNjIuLjQ0OGY0YmZkYjNiNjZlYmUzZmRkZmRk
MmU1NzYxOWRjZDhjZWYzMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCkBAIC04NCw3ICs4NCw3IEBAIGJv
b2wgUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmFwcGx5UmVzb3VyY2UoUmVuZGVyRWxlbWVudCYg
cmVuZGVyZXIsIGNvbnN0IFJlbmRlCiAjZW5kaWYKIAogICAgICAgICAvLyBGSVhNRSAoMTQ5NDcw
KTogVGhpcyBpbWFnZSBidWZmZXIgc2hvdWxkIG5vdCBiZSB1bmNvbmRpdGlvbmFsbHkgdW5hY2Nl
bGVyYXRlZC4gTWFraW5nIGl0IG1hdGNoIHRoZSBjb250ZXh0IGJyZWFrcyBhbHBoYSBtYXNraW5n
LCB0aG91Z2guCi0gICAgICAgIG1hc2tlckRhdGEtPm1hc2tJbWFnZSA9IFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKHJlcGFpbnRSZWN0LCBhYnNvbHV0ZVRyYW5zZm9ybSwg
bWFza0NvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIGNvbnRleHQpOwor
ICAgICAgICBtYXNrZXJEYXRhLT5tYXNrSW1hZ2UgPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVh
dGVJbWFnZUJ1ZmZlcihyZXBhaW50UmVjdCwgYWJzb2x1dGVUcmFuc2Zvcm0sIG1hc2tDb2xvclNw
YWNlLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkLCBudWxscHRyLCBjb250ZXh0KTsKICAg
ICAgICAgaWYgKCFtYXNrZXJEYXRhLT5tYXNrSW1hZ2UpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVy
aW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmlu
Z0NvbnRleHQuY3BwCmluZGV4IGE4OGM1YjM5NDkzN2RhODM5NGRhNDdiZDhhNTUyNDg3MmFmNmQ5
NDAuLjc3ZTEyNmU2NjRhMDIyMTBhNGY5ZGU3ZWMxNjI5MDg1YmYyMDIxZDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmNwcApA
QCAtMjI2LDcgKzIyNiw3IEBAIEFmZmluZVRyYW5zZm9ybSBTVkdSZW5kZXJpbmdDb250ZXh0Ojpj
YWxjdWxhdGVUcmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0CiAgICAgcmV0dXJuIGFi
c29sdXRlVHJhbnNmb3JtOwogfQogCi1SZWZQdHI8SW1hZ2VCdWZmZXI+IFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiBhYnNvbHV0ZVRyYW5zZm9ybSwgY29uc3QgRGVzdGluYXRpb25D
b2xvclNwYWNlJiBjb2xvclNwYWNlLCBSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUsIGNvbnN0
IEdyYXBoaWNzQ29udGV4dCogY29udGV4dCkKK1JlZlB0cjxJbWFnZUJ1ZmZlcj4gU1ZHUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0
LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBEZXN0aW5h
dGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwg
Y29uc3QgSG9zdFdpbmRvdyogaG9zdFdpbmRvdywgY29uc3QgR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0KQogewogICAgIEludFJlY3QgcGFpbnRSZWN0ID0gY2FsY3VsYXRlSW1hZ2VCdWZmZXJSZWN0
KHRhcmdldFJlY3QsIGFic29sdXRlVHJhbnNmb3JtKTsKICAgICAvLyBEb24ndCBjcmVhdGUgZW1w
dHkgSW1hZ2VCdWZmZXJzLgpAQCAtMjQyLDcgKzI0Miw3IEBAIFJlZlB0cjxJbWFnZUJ1ZmZlcj4g
U1ZHUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0
YXJnCiAgICAgYXV0byBpbWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUoY2xhbXBlZFNp
emUsIHJlbmRlcmluZ01vZGUsIGNvbnRleHQsIDEsIGNvbG9yU3BhY2UsIFBpeGVsRm9ybWF0OjpC
R1JBOCk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShjb250ZXh0KTsKLSAgICBhdXRvIGltYWdl
QnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwgcmVuZGVyaW5nTW9kZSwg
MSwgY29sb3JTcGFjZSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKKyAgICBhdXRvIGltYWdlQnVmZmVy
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShjbGFtcGVkU2l6ZSwgcmVuZGVyaW5nTW9kZSwgU2hvdWxk
VXNlRGlzcGxheUxpc3Q6Ok5vLCBSZW5kZXJpbmdQdXJwb3NlOjpET00sIDEsIGNvbG9yU3BhY2Us
IFBpeGVsRm9ybWF0OjpCR1JBOCwgaG9zdFdpbmRvdyk7CiAjZW5kaWYKICAgICBpZiAoIWltYWdl
QnVmZmVyKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggNTk2NTk3YmUxMjQ3YTk2
YTYwNGFjY2Y0NTdlMDkyOWZkMGY1MGEwZS4uZWZmZDY1MmZmODdiNzM3ZDQwODhiODQ2ODQzMDVk
YTU2YjA1MDkxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdS
ZW5kZXJpbmdDb250ZXh0LmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIHZvaWQgcHJl
cGFyZVRvUmVuZGVyU1ZHQ29udGVudChSZW5kZXJFbGVtZW50JiwgUGFpbnRJbmZvJiwgTmVlZHNH
cmFwaGljc0NvbnRleHRTYXZlID0gRG9udFNhdmVHcmFwaGljc0NvbnRleHQpOwogICAgIGJvb2wg
aXNSZW5kZXJpbmdQcmVwYXJlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVuZGVyaW5nRmxhZ3MgJiBS
ZW5kZXJpbmdQcmVwYXJlZDsgfQogCi0gICAgc3RhdGljIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gY3Jl
YXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2Um
LCBSZW5kZXJpbmdNb2RlLCBjb25zdCBHcmFwaGljc0NvbnRleHQqID0gbnVsbHB0cik7CisgICAg
c3RhdGljIFJlZlB0cjxJbWFnZUJ1ZmZlcj4gY3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRS
ZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3Jt
LCBjb25zdCBEZXN0aW5hdGlvbkNvbG9yU3BhY2UmLCBSZW5kZXJpbmdNb2RlLCBjb25zdCBIb3N0
V2luZG93KiA9IG51bGxwdHIsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCogPSBudWxscHRyKTsKICAg
ICBzdGF0aWMgUmVmUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY2xhbXBlZFJlY3QsIGNvbnN0IERl
c3RpbmF0aW9uQ29sb3JTcGFjZSYsIFJlbmRlcmluZ01vZGUsIGNvbnN0IEdyYXBoaWNzQ29udGV4
dCogPSBudWxscHRyKTsKIAogICAgIHN0YXRpYyB2b2lkIHJlbmRlclN1YnRyZWVUb0NvbnRleHQo
R3JhcGhpY3NDb250ZXh0JiwgUmVuZGVyRWxlbWVudCYsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYp
Owo=
</data>
<flag name="review"
          id="472037"
          type_id="1"
          status="+"
          setter="heycam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446656</attachid>
            <date>2021-12-09 20:14:28 -0800</date>
            <delta_ts>2021-12-10 00:12:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233989-20211209201427.patch</filename>
            <type>text/plain</type>
            <size>13804</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM4ZDNmODkzODE4ODg1
Njc1ODJhOGRiNjhlODU2ODY5Mjg0MmE5Yi4uNjExYzRjNzU2ZTE2N2NjMTVmMGQwNDgyMDExZDU5
MTY5ZDcyZGNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ3IEBACisyMDIxLTEyLTA5ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
W0ZpbHRlcnNdIEVuYWJsZSBGaWx0ZXIgcmVuZGVyaW5nIGluIEdQVSBQcm9jZXNzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5ODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBDYW1lcm9uIE1jQ29ybWFjay4KKworICAgICAgICBUaGlzIHdpbGwgbW92
ZSBhcHBseWluZyB0aGUgQ1NTRmlsdGVySW1hZ2VWYWx1ZSwgdGhlIENTU0ZpbHRlciBhbmQgdGhl
CisgICAgICAgIFNWR0ZpbHRlciB0byBHUFVQcm9jZXNzLgorCisgICAgICAgICogY3NzL0NTU0Zp
bHRlckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRmlsdGVySW1hZ2VWYWx1
ZTo6aW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckZpbHRlcnMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJGaWx0ZXJzOjphbGxvY2F0ZUJhY2tpbmdTdG9y
ZUlmTmVlZGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAg
ICAgICAoUmVuZGVyTWVudUxpc3Q6Omhvc3RXaW5kb3cgY29uc3QpOgorICAgICAgICBDaGFuZ2Ug
dGhlIGltcGxlbWVudGF0aW9uIHRvIGNhbGwgUmVuZGVyT2JqZWN0Ojpob3N0V2luZG93KCkgc2lu
Y2UgaXQgaXMKKyAgICAgICAgbm93IGRlZmluZWQgdG8gYmUgdmlydHVhbCBpbiB0aGUgdHdvIGJh
c2UgY2xhc3Nlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojpob3N0V2luZG93IGNvbnN0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIEFkZCB0aGUgaGVscGVyIGZ1bmN0
aW9uIFJlbmRlck9iamVjdDo6aG9zdFdpbmRvdygpIHNpbmNlIGl0IGlzIGJlaW5nIAorICAgICAg
ICByZXF1ZXN0ZWQgaW4gbWFueSBwbGFjZXMgYmVjYXVzZSBvZiBjcmVhdGluZyBJbWFnZUJ1ZmZl
ciBmb3IgR1BVUHJvY2Vzcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVs
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTZWFyY2hGaWVsZDo6aG9zdFdpbmRvdyBj
b25zdCk6CisgICAgICAgIENoYW5nZSB0aGUgaW1wbGVtZW50YXRpb24gdG8gY2FsbCBSZW5kZXJP
YmplY3Q6Omhvc3RXaW5kb3coKSBzaW5jZSBpdCBpcworICAgICAgICBub3cgZGVmaW5lZCB0byBi
ZSB2aXJ0dWFsIGluIHRoZSB0d28gYmFzZSBjbGFzc2VzLgorCisgICAgICAgICogcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseUNsaXBwaW5nVG9Db250ZXh0KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlRmlsdGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZSk6Cisg
ICAgICAgIGZpbHRlckRhdGEuc291cmNlR3JhcGhpY0J1ZmZlciB3aWxsIGhhdmUgdG8gc3RheSBh
cm91bmQgYmVjYXVzZSBjYWNoaW5nCisgICAgICAgIHRoZSBmaWx0ZXIgcmVzdWx0IGhhcyBub3Qg
YmVlbiBpbXBsZW1lbnRlZCB5ZXQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1JlbmRl
cmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVuZGVyaW5nQ29udGV4dDo6
Y3JlYXRlSW1hZ2VCdWZmZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHUmVuZGVyaW5n
Q29udGV4dC5oOgorCiAyMDIxLTEyLTA5ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtHUFUgUHJvY2Vzc10gW0ZpbHRlcnNdIEFkZCB0aGUgZW5jb2Rpbmcg
YW5kIGRlY29kaW5nIGZvciBGRUltYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTRmlsdGVySW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRmlsdGVySW1h
Z2VWYWx1ZS5jcHAKaW5kZXggNjUzMTIyNTIyYWJmMzUyZmVhOTMwYzU1ODhiNWZlZDFmZWNmYTM3
OC4uNmZiZmI0NGY2NGEzOTJmZjc2OTdjYmFiY2EyMWUyZDJiODk0ZjAzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZpbHRlckltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGaWx0ZXJJbWFnZVZhbHVlLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIFJl
ZlB0cjxJbWFnZT4gQ1NTRmlsdGVySW1hZ2VWYWx1ZTo6aW1hZ2UoUmVuZGVyRWxlbWVudCYgcmVu
ZGVyZXIsIGNvbnN0IEZsb2F0U2l6CiAgICAgLy8gVHJhbnNmb3JtIEltYWdlIGludG8gSW1hZ2VC
dWZmZXIuCiAgICAgLy8gRklYTUUgKDE0OTQyNCk6IFRoaXMgYnVmZmVyIHNob3VsZCBub3QgYmUg
dW5jb25kaXRpb25hbGx5IHVuYWNjZWxlcmF0ZWQuCiAgICAgYXV0byByZW5kZXJpbmdNb2RlID0g
UmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZDsKLSAgICBhdXRvIHNvdXJjZUltYWdlID0gSW1h
Z2VCdWZmZXI6OmNyZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCAxLCBEZXN0aW5hdGlvbkNvbG9y
U3BhY2U6OlNSR0IoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsKKyAgICBhdXRvIHNvdXJjZUltYWdl
ID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShzaXplLCByZW5kZXJpbmdNb2RlLCBTaG91bGRVc2VEaXNw
bGF5TGlzdDo6Tm8sIFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgRGVzdGluYXRpb25Db2xvclNw
YWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCwgcmVuZGVyZXIuaG9zdFdpbmRvdygpKTsK
ICAgICBpZiAoIXNvdXJjZUltYWdlKQogICAgICAgICByZXR1cm4gJkltYWdlOjpudWxsSW1hZ2Uo
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyRmls
dGVycy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNw
cAppbmRleCA0MDFjMGYxOTdkMjIxYjczMWZmZjljZGE3OTI2NjUxZDkyOTYxYWU1Li5iZDAwZWQ0
MjY2YTM4MTZiYWI4YmMyMjVhOGFmOTI4Nzk1Mjg5OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJGaWx0ZXJzLmNwcApAQCAtMTM5LDcgKzEzOSw3IEBAIHZv
aWQgUmVuZGVyTGF5ZXJGaWx0ZXJzOjphbGxvY2F0ZUJhY2tpbmdTdG9yZUlmTmVlZGVkKGNvbnN0
IEdyYXBoaWNzQ29udGV4dCYgdGFyCiAgICAgICAgIG1fc291cmNlSW1hZ2UgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCBmaWx0ZXIucmVuZGVyaW5nTW9kZSgpLCAmdGFyZ2V0Q29u
dGV4dCwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFBpeGVsRm9ybWF0OjpCR1JB
OCk7CiAjZWxzZQogICAgICAgICBVTlVTRURfUEFSQU0odGFyZ2V0Q29udGV4dCk7Ci0gICAgICAg
IG1fc291cmNlSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGxvZ2ljYWxTaXplLCBmaWx0ZXIu
cmVuZGVyaW5nTW9kZSgpLCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4ZWxG
b3JtYXQ6OkJHUkE4KTsKKyAgICAgICAgbV9zb3VyY2VJbWFnZSA9IEltYWdlQnVmZmVyOjpjcmVh
dGUobG9naWNhbFNpemUsIGZpbHRlci5yZW5kZXJpbmdNb2RlKCksIFNob3VsZFVzZURpc3BsYXlM
aXN0OjpObywgUmVuZGVyaW5nUHVycG9zZTo6RE9NLCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6
OlNSR0IoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4LCBtX2xheWVyLnJlbmRlcmVyKCkuaG9zdFdpbmRv
dygpKTsKICNlbmRpZgogICAgICAgICBpZiAoYXV0byBjb250ZXh0ID0gaW5wdXRDb250ZXh0KCkp
CiAgICAgICAgICAgICBjb250ZXh0LT5zY2FsZShmaWx0ZXIuZmlsdGVyU2NhbGUoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAppbmRleCAwZjUxMTY1Y2Vh
YjdkYTZmZmE1M2VjZTZjOGJkNWIwYjk2OTA0MWMzLi40MDU2MWYxZDFmZmM0YzIzMDY0YTQ1M2E3
OTUxMDRiZjJhYjk1MjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTWVudUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5jcHAKQEAgLTU0OSw3ICs1NDksNyBAQCBQb3B1cE1lbnVTdHlsZSBSZW5kZXJNZW51TGlz
dDo6bWVudVN0eWxlKCkgY29uc3QKIAogSG9zdFdpbmRvdyogUmVuZGVyTWVudUxpc3Q6Omhvc3RX
aW5kb3coKSBjb25zdAogewotICAgIHJldHVybiB2aWV3KCkuZnJhbWVWaWV3KCkuaG9zdFdpbmRv
dygpOworICAgIHJldHVybiBSZW5kZXJGbGV4aWJsZUJveDo6aG9zdFdpbmRvdygpOwogfQogCiBS
ZWY8U2Nyb2xsYmFyPiBSZW5kZXJNZW51TGlzdDo6Y3JlYXRlU2Nyb2xsYmFyKFNjcm9sbGFibGVB
cmVhJiBzY3JvbGxhYmxlQXJlYSwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNj
cm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZDM0M2U2NGI2NzE5Y2EzNDk0MjA5M2JkODE5YjA1YWEx
MmU5MTAzLi44MzEzYjgxYjE1YzA3Nzk2Y2MyZmUxNDVhOWU1YTRmMDhiY2ZkOTU0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTQ1NCw2ICsxNDU0LDEx
IEBAIExheW91dFNpemUgUmVuZGVyT2JqZWN0OjpvZmZzZXRGcm9tQW5jZXN0b3JDb250YWluZXIo
UmVuZGVyRWxlbWVudCYgY29udGFpbmVyKSBjCiAgICAgcmV0dXJuIG9mZnNldDsKIH0KIAorSG9z
dFdpbmRvdyogUmVuZGVyT2JqZWN0Ojpob3N0V2luZG93KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
dmlldygpLmZyYW1lVmlldygpLnJvb3QoKSA/IHZpZXcoKS5mcmFtZVZpZXcoKS5yb290KCktPmhv
c3RXaW5kb3coKSA6IG51bGxwdHI7Cit9CisKIGJvb2wgUmVuZGVyT2JqZWN0Ojppc1Jvb3RlZCgp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzRGVzY2VuZGFudE9mKCZ2aWV3KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGE5OGIxMmExNmVhZGVhYWMwNzU4YWNj
ZDZmYTJhOTI5MjE3MTljNzQuLjE1YWQwNjc0Zjg2NjUxZGZjMmUwOGZjYzAwZjgyNDU2ZTE1Yzdk
OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTU0LDYgKzU0
LDcgQEAgY2xhc3MgRG9jdW1lbnRUaW1lbGluZTsKIGNsYXNzIEhpdFRlc3RMb2NhdGlvbjsKIGNs
YXNzIEhpdFRlc3RSZXF1ZXN0OwogY2xhc3MgSGl0VGVzdFJlc3VsdDsKK2NsYXNzIEhvc3RXaW5k
b3c7CiBjbGFzcyBMZWdhY3lJbmxpbmVCb3g7CiBjbGFzcyBQYXRoOwogY2xhc3MgUG9zaXRpb247
CkBAIC00NTIsNiArNDUzLDcgQEAgcHVibGljOgogICAgIGlubGluZSBib29sIHByZXNlcnZlc05l
d2xpbmUoKSBjb25zdDsKIAogICAgIFJlbmRlclZpZXcmIHZpZXcoKSBjb25zdCB7IHJldHVybiAq
ZG9jdW1lbnQoKS5yZW5kZXJWaWV3KCk7IH07CisgICAgSG9zdFdpbmRvdyogaG9zdFdpbmRvdygp
IGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoaXMgcmVuZGVyZXIgaXMgcm9vdGVk
LgogICAgIGJvb2wgaXNSb290ZWQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VhcmNoRmllbGQuY3BwCmluZGV4IDBhNTVlODc4MjE5ZmMwMmI3Mjc5M2Q4MjA5
YzI0YmFlMWQ4YTAyYzMuLjQ4ZDQ5OTQ3YTlkNjVhNDFlNjdiZGZiMDVlNTQ4Mzc4OTZkYjg5NTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmNwcApA
QCAtMzU1LDcgKzM1NSw3IEBAIEZvbnRTZWxlY3RvciogUmVuZGVyU2VhcmNoRmllbGQ6OmZvbnRT
ZWxlY3RvcigpIGNvbnN0CiAKIEhvc3RXaW5kb3cqIFJlbmRlclNlYXJjaEZpZWxkOjpob3N0V2lu
ZG93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gdmlldygpLmZyYW1lVmlldygpLmhvc3RXaW5kb3co
KTsKKyAgICByZXR1cm4gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpob3N0V2luZG93KCk7
CiB9CiAKIFJlZjxTY3JvbGxiYXI+IFJlbmRlclNlYXJjaEZpZWxkOjpjcmVhdGVTY3JvbGxiYXIo
U2Nyb2xsYWJsZUFyZWEmIHNjcm9sbGFibGVBcmVhLCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmll
bnRhdGlvbiwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlQ2xpcHBlci5j
cHAKaW5kZXggNTA3OGY5Y2FlZmI1MDZmOTIyMzdmMmNlN2FiNmY2ZTU5MjA4NjdiMS4uZTMxMjE3
NTM4ZmJkMjM2ODgwZmZhNzI2MjljNThmYWMzMWVlMmIyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUNsaXBwZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyLmNwcApA
QCAtMTU0LDcgKzE1NCw3IEBAIGJvb2wgUmVuZGVyU1ZHUmVzb3VyY2VDbGlwcGVyOjphcHBseUNs
aXBwaW5nVG9Db250ZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwKICAgICBBZmZpbmVUcmFu
c2Zvcm0gYWJzb2x1dGVUcmFuc2Zvcm0gPSBTVkdSZW5kZXJpbmdDb250ZXh0OjpjYWxjdWxhdGVU
cmFuc2Zvcm1hdGlvblRvT3V0ZXJtb3N0Q29vcmRpbmF0ZVN5c3RlbShyZW5kZXJlcik7CiAgICAg
aWYgKCFjbGlwcGVyRGF0YS5pc1ZhbGlkRm9yR2VvbWV0cnkob2JqZWN0Qm91bmRpbmdCb3gsIGNs
aXBwZWRDb250ZW50Qm91bmRzLCBhYnNvbHV0ZVRyYW5zZm9ybSkpIHsKICAgICAgICAgLy8gRklY
TUUgKDE0OTQ2OSk6IFRoaXMgaW1hZ2UgYnVmZmVyIHNob3VsZCBub3QgYmUgdW5jb25kaXRpb25h
bGx5IHVuYWNjZWxlcmF0ZWQuIE1ha2luZyBpdCBtYXRjaCB0aGUgY29udGV4dCBicmVha3MgbmVz
dGVkIGNsaXBwaW5nLCB0aG91Z2guCi0gICAgICAgIGF1dG8gbWFza0ltYWdlID0gU1ZHUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY2xpcHBlZENvbnRlbnRCb3VuZHMsIGFic29s
dXRlVHJhbnNmb3JtLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUmVuZGVyaW5nTW9k
ZTo6VW5hY2NlbGVyYXRlZCwgJmNvbnRleHQpOworICAgICAgICBhdXRvIG1hc2tJbWFnZSA9IFNW
R1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNsaXBwZWRDb250ZW50Qm91bmRz
LCBhYnNvbHV0ZVRyYW5zZm9ybSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFJlbmRl
cmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIG51bGxwdHIsICZjb250ZXh0KTsKICAgICAgICAgaWYg
KCFtYXNrSW1hZ2UpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAK
aW5kZXggNDM0ODg2ODRhYTY1NzdlODljZTVmMjk0NzQ5YTQ5MzI2MzUxNGY3OS4uZTJiMjIyMjQ2
Y2ZmODk3MGU1YTBhY2NlY2M1MjVhZTBmN2JmYjk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZUZpbHRlci5jcHAKQEAgLTE1
NCw3ICsxNTQsNyBAQCBib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJlc291cmNl
KFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBSZW5kZQogI2Vsc2UKICAgICBhdXRvIGNv
bG9yU3BhY2UgPSBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKTsKICNlbmRpZgotICAgIGF1
dG8gc291cmNlR3JhcGhpYyA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVy
KGZpbHRlckRhdGEtPmRyYXdpbmdSZWdpb24sIGVmZmVjdGl2ZVRyYW5zZm9ybSwgY29sb3JTcGFj
ZSwgZmlsdGVyRGF0YS0+ZmlsdGVyLT5yZW5kZXJpbmdNb2RlKCksIGNvbnRleHQpOworICAgIGF1
dG8gc291cmNlR3JhcGhpYyA9IFNWR1JlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUltYWdlQnVmZmVy
KGZpbHRlckRhdGEtPmRyYXdpbmdSZWdpb24sIGVmZmVjdGl2ZVRyYW5zZm9ybSwgY29sb3JTcGFj
ZSwgZmlsdGVyRGF0YS0+ZmlsdGVyLT5yZW5kZXJpbmdNb2RlKCksIHJlbmRlcmVyLmhvc3RXaW5k
b3coKSwgY29udGV4dCk7CiAgICAgaWYgKCFzb3VyY2VHcmFwaGljKSB7CiAgICAgICAgIEFTU0VS
VChtX3JlbmRlcmVyRmlsdGVyRGF0YU1hcC5jb250YWlucygmcmVuZGVyZXIpKTsKICAgICAgICAg
ZmlsdGVyRGF0YS0+c2F2ZWRDb250ZXh0ID0gY29udGV4dDsKQEAgLTIxOCw4ICsyMTgsNiBAQCB2
b2lkIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjpwb3N0QXBwbHlSZXNvdXJjZShSZW5kZXJFbGVt
ZW50JiByZW5kZXJlciwgR3JhcGhpYwogICAgICAgICBjb250ZXh0LT5kcmF3RmlsdGVyZWRJbWFn
ZUJ1ZmZlcihmaWx0ZXJEYXRhLnNvdXJjZUdyYXBoaWNCdWZmZXIuZ2V0KCksIGZpbHRlckRhdGEu
ZHJhd2luZ1JlZ2lvbiwgKmZpbHRlckRhdGEuZmlsdGVyKTsKICAgICB9CiAKLSAgICBmaWx0ZXJE
YXRhLnNvdXJjZUdyYXBoaWNCdWZmZXIgPSBudWxscHRyOwotCiAgICAgTE9HX1dJVEhfU1RSRUFN
KEZpbHRlcnMsIHN0cmVhbSA8PCAiUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIgIiA8PCB0aGlzIDw8
ICIgcG9zdEFwcGx5UmVzb3VyY2UgZG9uZVxuIik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKaW5kZXgg
YjIzODc4NjJkZGYyMjIxNzFlNGE1ZDljMmRmNTVmNmM5ODM5YmI2Mi4uNDQ4ZjRiZmRiM2I2NmVi
ZTNmZGRmZGQyZTU3NjE5ZGNkOGNlZjMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSZXNvdXJjZU1hc2tlci5jcHAKQEAgLTg0LDcgKzg0
LDcgQEAgYm9vbCBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcjo6YXBwbHlSZXNvdXJjZShSZW5kZXJF
bGVtZW50JiByZW5kZXJlciwgY29uc3QgUmVuZGUKICNlbmRpZgogCiAgICAgICAgIC8vIEZJWE1F
ICgxNDk0NzApOiBUaGlzIGltYWdlIGJ1ZmZlciBzaG91bGQgbm90IGJlIHVuY29uZGl0aW9uYWxs
eSB1bmFjY2VsZXJhdGVkLiBNYWtpbmcgaXQgbWF0Y2ggdGhlIGNvbnRleHQgYnJlYWtzIGFscGhh
IG1hc2tpbmcsIHRob3VnaC4KLSAgICAgICAgbWFza2VyRGF0YS0+bWFza0ltYWdlID0gU1ZHUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIocmVwYWludFJlY3QsIGFic29sdXRlVHJh
bnNmb3JtLCBtYXNrQ29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwgY29u
dGV4dCk7CisgICAgICAgIG1hc2tlckRhdGEtPm1hc2tJbWFnZSA9IFNWR1JlbmRlcmluZ0NvbnRl
eHQ6OmNyZWF0ZUltYWdlQnVmZmVyKHJlcGFpbnRSZWN0LCBhYnNvbHV0ZVRyYW5zZm9ybSwgbWFz
a0NvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQsIG51bGxwdHIsIGNvbnRl
eHQpOwogICAgICAgICBpZiAoIW1hc2tlckRhdGEtPm1hc2tJbWFnZSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
UmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggYTg4YzViMzk0OTM3ZGE4Mzk0ZGE0N2JkOGE1NTI0
ODcyYWY2ZDk0MC4uNzdlMTI2ZTY2NGEwMjIxMGE0ZjlkZTdlYzE2MjkwODViZjIwMjFkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRl
eHQuY3BwCkBAIC0yMjYsNyArMjI2LDcgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1JlbmRlcmluZ0Nv
bnRleHQ6OmNhbGN1bGF0ZVRyYW5zZm9ybWF0aW9uVG9PdXRlcm1vc3RDb29yZGluYXQKICAgICBy
ZXR1cm4gYWJzb2x1dGVUcmFuc2Zvcm07CiB9CiAKLVJlZlB0cjxJbWFnZUJ1ZmZlcj4gU1ZHUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRS
ZWN0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIGFic29sdXRlVHJhbnNmb3JtLCBjb25zdCBEZXN0
aW5hdGlvbkNvbG9yU3BhY2UmIGNvbG9yU3BhY2UsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9k
ZSwgY29uc3QgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0KQorUmVmUHRyPEltYWdlQnVmZmVyPiBT
VkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIHRh
cmdldFJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0
IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYgY29sb3JTcGFjZSwgUmVuZGVyaW5nTW9kZSByZW5kZXJp
bmdNb2RlLCBjb25zdCBIb3N0V2luZG93KiBob3N0V2luZG93LCBjb25zdCBHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQpCiB7CiAgICAgSW50UmVjdCBwYWludFJlY3QgPSBjYWxjdWxhdGVJbWFnZUJ1
ZmZlclJlY3QodGFyZ2V0UmVjdCwgYWJzb2x1dGVUcmFuc2Zvcm0pOwogICAgIC8vIERvbid0IGNy
ZWF0ZSBlbXB0eSBJbWFnZUJ1ZmZlcnMuCkBAIC0yNDIsNyArMjQyLDcgQEAgUmVmUHRyPEltYWdl
QnVmZmVyPiBTVkdSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9h
dFJlY3QmIHRhcmcKICAgICBhdXRvIGltYWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShj
bGFtcGVkU2l6ZSwgcmVuZGVyaW5nTW9kZSwgY29udGV4dCwgMSwgY29sb3JTcGFjZSwgUGl4ZWxG
b3JtYXQ6OkJHUkE4KTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwotICAgIGF1
dG8gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCByZW5kZXJp
bmdNb2RlLCAxLCBjb2xvclNwYWNlLCBQaXhlbEZvcm1hdDo6QkdSQTgpOworICAgIGF1dG8gaW1h
Z2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGNsYW1wZWRTaXplLCByZW5kZXJpbmdNb2Rl
LCBTaG91bGRVc2VEaXNwbGF5TGlzdDo6Tm8sIFJlbmRlcmluZ1B1cnBvc2U6OkRPTSwgMSwgY29s
b3JTcGFjZSwgUGl4ZWxGb3JtYXQ6OkJHUkE4LCBob3N0V2luZG93KTsKICNlbmRpZgogICAgIGlm
ICghaW1hZ2VCdWZmZXIpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZW5kZXJpbmdDb250ZXh0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA1OTY1OTdi
ZTEyNDdhOTZhNjA0YWNjZjQ1N2UwOTI5ZmQwZjUwYTBlLi5lZmZkNjUyZmY4N2I3MzdkNDA4OGI4
NDY4NDMwNWRhNTZiMDUwOTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1JlbmRlcmluZ0NvbnRleHQuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBwcmVwYXJlVG9SZW5kZXJTVkdDb250ZW50KFJlbmRlckVsZW1lbnQmLCBQYWludEluZm8m
LCBOZWVkc0dyYXBoaWNzQ29udGV4dFNhdmUgPSBEb250U2F2ZUdyYXBoaWNzQ29udGV4dCk7CiAg
ICAgYm9vbCBpc1JlbmRlcmluZ1ByZXBhcmVkKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJpbmdG
bGFncyAmIFJlbmRlcmluZ1ByZXBhcmVkOyB9CiAKLSAgICBzdGF0aWMgUmVmUHRyPEltYWdlQnVm
ZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25zdCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgYWJzb2x1dGVUcmFuc2Zvcm0sIGNvbnN0IERlc3RpbmF0aW9uQ29s
b3JTcGFjZSYsIFJlbmRlcmluZ01vZGUsIGNvbnN0IEdyYXBoaWNzQ29udGV4dCogPSBudWxscHRy
KTsKKyAgICBzdGF0aWMgUmVmUHRyPEltYWdlQnVmZmVyPiBjcmVhdGVJbWFnZUJ1ZmZlcihjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgYWJzb2x1dGVU
cmFuc2Zvcm0sIGNvbnN0IERlc3RpbmF0aW9uQ29sb3JTcGFjZSYsIFJlbmRlcmluZ01vZGUsIGNv
bnN0IEhvc3RXaW5kb3cqID0gbnVsbHB0ciwgY29uc3QgR3JhcGhpY3NDb250ZXh0KiA9IG51bGxw
dHIpOwogICAgIHN0YXRpYyBSZWZQdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjbGFtcGVkUmVjdCwg
Y29uc3QgRGVzdGluYXRpb25Db2xvclNwYWNlJiwgUmVuZGVyaW5nTW9kZSwgY29uc3QgR3JhcGhp
Y3NDb250ZXh0KiA9IG51bGxwdHIpOwogCiAgICAgc3RhdGljIHZvaWQgcmVuZGVyU3VidHJlZVRv
Q29udGV4dChHcmFwaGljc0NvbnRleHQmLCBSZW5kZXJFbGVtZW50JiwgY29uc3QgQWZmaW5lVHJh
bnNmb3JtJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>