<?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>227550</bug_id>
          
          <creation_ts>2021-06-30 15:43:51 -0700</creation_ts>
          <short_desc>[GPU Process] Draw PDFs using an intermediate ImageBuffer when using the GPU process</short_desc>
          <delta_ts>2021-07-08 13:28:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=227519</see_also>
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1773911</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-30 15:43:51 -0700</bug_when>
    <thetext>[GPU Process] Temporarily disable drawing large PDFs in display list drawing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773913</commentid>
    <comment_count>1</comment_count>
      <attachid>432635</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-06-30 15:48:46 -0700</bug_when>
    <thetext>Created attachment 432635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773914</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-30 15:49:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/79989738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1773929</commentid>
    <comment_count>3</comment_count>
      <attachid>432635</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-30 16:18:35 -0700</bug_when>
    <thetext>Comment on attachment 432635
Patch

This will break some page, somewhere. Can we do something like draw at a lower resolution?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775120</commentid>
    <comment_count>4</comment_count>
      <attachid>432982</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-06 15:26:39 -0700</bug_when>
    <thetext>Created attachment 432982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775730</commentid>
    <comment_count>5</comment_count>
      <attachid>432982</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-07-08 11:22:15 -0700</bug_when>
    <thetext>Comment on attachment 432982
Patch

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

&gt; Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:165
&gt; +    // FIXME: Surely there needs to be a clip operation here, if the srcRect is smaller than the whole PDF.

BUG #

&gt; Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:251
&gt; +    // FIXME: Passing in m_cachedImageRect.location() for the source rect position is confusing here.

BUG # (also, &quot;confusing&quot; or &quot;wrong&quot;? I thought you had a test page that indicated the latter, which also should go in the BUG!)

&gt; Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:286
&gt; +            // We also need to be careful about not getting jetsam&apos;ed.

I would expand &quot;jetsam&apos;ed&quot; out to &quot;terminated due to memory pressure&quot; or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775752</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-07-08 12:11:15 -0700</bug_when>
    <thetext>Committed r279741 (239522@main): &lt;https://commits.webkit.org/239522@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775756</commentid>
    <comment_count>7</comment_count>
      <attachid>432982</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-07-08 12:27:08 -0700</bug_when>
    <thetext>Comment on attachment 432982
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:165
&gt;&gt; +    // FIXME: Surely there needs to be a clip operation here, if the srcRect is smaller than the whole PDF.
&gt; 
&gt; BUG #

I do not think this comment is correct. The clipping has to be on context to dstRect regardless we are drawing the whole PDF or not. I think also the clipping is the responsibility of the caller, i.e. the render elements. BitmapImage::draw() does not clip either.

&gt; Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:291
&gt; +            auto scalar = std::min(1.f, std::sqrt(static_cast&lt;float&gt;(s_maxCachedImageArea) / (dstRect.width() * dstRect.height())));

Can dstRect.width() or dstRect.height() be zero?

&gt; LayoutTests/fast/images/pdf-in-canvas-expected.html:12
&gt; +    &lt;div style=&quot;position: absolute; left: -3px; top: 97px; width: 106px; height: 6px; background: green;&quot;&gt;&lt;/div

Missing closing angle bracket.

&gt; LayoutTests/fast/images/pdf-in-canvas.html:13
&gt; +    &lt;div style=&quot;position: absolute; left: -3px; top: 97px; width: 106px; height: 6px; background: green;&quot;&gt;&lt;/div

Ditto.

&gt; LayoutTests/fast/images/pdf-in-canvas.html:24
&gt; +let image = document.getElementById(&quot;image&quot;);

You can create a detached image element instead. So you don&apos;t need to include the markup &lt;img id=&quot;image&quot;&gt; and you do not need to set image.style.display = &quot;none&quot;;

     var image = new Image();

&gt; LayoutTests/fast/images/pdf-in-canvas.html:30
&gt; +            context.fillRect(0, 0, 100, 100);

Why do we need to fill the canvas with black after drawing the image?

&gt; LayoutTests/fast/images/pdf-in-canvas.html:32
&gt; +            requestAnimationFrame(tick);

Why do we need to repeat this operation 10 times?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775773</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-08 13:28:54 -0700</bug_when>
    <thetext>The changelog used the old title, which is confusing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432635</attachid>
            <date>2021-06-30 15:48:46 -0700</date>
            <delta_ts>2021-07-06 15:26:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227550-20210630154845.patch</filename>
            <type>text/plain</type>
            <size>6097</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2JmZDU3OTJhOWEzZGE2
ZGFkZjkwNTY4YTlkMzU1OWZjMDQ3ZmY4MS4uZTRlYmE1ZjI2Njk2NDc3MGUyODJmYmM2YjQzYzk2
M2I1ZDZjMzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA2LTMwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBUZW1wb3JhcmlseSBkaXNhYmxlIGRyYXdpbmcgbGFyZ2UgUERGcyBpbiBkaXNwbGF5IGxp
c3QgZHJhd2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI3NTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUERGRG9jdW1lbnRJbWFnZSBoYXMgbG9naWMgb24gaU9TIHdoZXJlIFBERnMgc21hbGxlciB0
aGFuIDRrICogNGsgYXJlIGRyYXduIGludG8gYSBsb2NhbCBJbWFnZUJ1ZmZlcgorICAgICAgICBh
bmQgdGhlbiB0aGUgbG9jYWwgSW1hZ2VCdWZmZXIgaXMgZHJhd24sIHdoaWNoIGlzIGV4YWN0bHkg
d2hhdCB3ZSB3YW50IHRvIGRvIHdpdGggdGhlIEdQVSBQcm9jZXNzLgorICAgICAgICBUaGlzIGxp
bWl0IGV4aXN0cyB0byBtYWtlIHN1cmUgdGhlIHdlYiBwcm9jZXNzIGRvZXNuJ3QgamV0c2FtLiBS
YXRoZXIgdGhhbiB0cnlpbmcgdG8gYWxsb2NhdGUgYSBodWdlCisgICAgICAgIEltYWdlQnVmZmVy
IGZvciBsYXJnZSBQREZzIGJlaW5nIGRyYXduIGluIGNhbnZhcywgd2Ugc2hvdWxkIHRlbXBvcmFy
aWx5IGRpc2FibGUgZHJhd2luZyB0aGVtIGludG8KKyAgICAgICAgZGlzcGxheSBsaXN0cy4KKwor
ICAgICAgICBXaGVuIHdlIGhhdmUgYSBmdWxseSBmdW5jdGlvbmFsIGN1c3RvbSBDR0NvbnRleHQs
IHdlIGNhbiB1c2UgdGhhdCB0byBzZW5kIGFsbCB0aGUgUERGIGRyYXdpbmcgY29tbWFuZHMKKyAg
ICAgICAgdG8gdGhlIEdQVSBQcm9jZXNzLCBhbmQgdGhpcyBwYXRjaCBzaG91bGQgdGhlbiBiZSBy
ZXZlcnRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFzLmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UERGRG9jdW1lbnRJbWFnZTo6ZHJhdyk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dE1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dDo6TG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0KToKKwogMjAyMS0wNi0yOSAgSm9obnNvbiBaaG91ICA8cWlhb3NvbmdfemhvdUBhcHBs
ZS5jb20+CiAKICAgICAgICAgRW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZSAnY2hhcnNldCcgYXR0
cmlidXRlIHNob3VsZCBoYXZlIHByZWNlZGVuY2Ugb3ZlciAnY29udGVudCcgYXR0cmlidXRlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZEb2N1bWVu
dEltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3Vt
ZW50SW1hZ2UuY3BwCmluZGV4IGRjNDk4NWY5YzU5YWFhY2QzZGY1YjVkYzU2YjlkODkwODQ4MWJm
OWIuLjRjYjFhNDZhMjQyOWYxODM0ODZiMGQyNmJmMzViYTYwODBiZTRhZjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1h
Z2UuY3BwCkBAIC0yNzUsMTEgKzI3NSwxMSBAQCBJbWFnZURyYXdSZXN1bHQgUERGRG9jdW1lbnRJ
bWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdAogICAg
ICAgICAgICAgLy8gb2YgdGhlIHNvdXJjZSBQREYgd2FzIGNvcGllZCB0byAnbV9jYWNoZWRJbWFn
ZUJ1ZmZlcicsIHRoZSBzaXplcyBvZiB0aGUgc291cmNlCiAgICAgICAgICAgICAvLyBhbmQgdGhl
IGRlc3RpbmF0aW9uIHJlY3RhbmdsZXMgd2lsbCBiZSBlcXVhbCBhbmQgbm8gc2NhbGluZyB3aWxs
IGJlIG5lZWRlZCBoZXJlLgogICAgICAgICAgICAgY29udGV4dC5kcmF3SW1hZ2VCdWZmZXIoKm1f
Y2FjaGVkSW1hZ2VCdWZmZXIsIG1fY2FjaGVkSW1hZ2VSZWN0KTsKLSAgICAgICAgfQotICAgICAg
ICBlbHNlIHsKKyAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0Lmhhc1BsYXRmb3JtQ29udGV4dCgp
KSB7CiAgICAgICAgICAgICB0cmFuc2Zvcm1Db250ZXh0Rm9yUGFpbnRpbmcoY29udGV4dCwgZHN0
UmVjdCwgc3JjUmVjdCk7CiAgICAgICAgICAgICBkcmF3UERGUGFnZShjb250ZXh0KTsKLSAgICAg
ICAgfQorICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHJldHVybiBJbWFnZURyYXdSZXN1bHQ6
OkRpZE5vdGhpbmc7CiAgICAgfQogCiAgICAgaWYgKGltYWdlT2JzZXJ2ZXIoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTG9jYWxDdXJyZW50R3JhcGhp
Y3NDb250ZXh0TWFjLm1tCmluZGV4IGE0MWViNGFkODhjNDZiYmVjYzM0NzdiZWYzOTJkMjYxOTYx
ZjJlM2QuLjU0ZjVhMTk4MGJlNGM4YzBiNTI5OGVmMzI5Y2E1ZGMxOWIxM2IxMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Mb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHRNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3VycmVudEdy
YXBoaWNzQ29udGV4dE1hYy5tbQpAQCAtMzIsNyArMzIsOCBAQCBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQ6OkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGdy
YXBoaQogICAgIG1fc2F2ZWRHcmFwaGljc0NvbnRleHQuc2F2ZSgpOwogCiAgICAgaWYgKCFtX3Nh
dmVkR3JhcGhpY3NDb250ZXh0Lmhhc1BsYXRmb3JtQ29udGV4dCgpKSB7Ci0gICAgICAgIFdURkxv
Z0Fsd2F5cygiTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGlzIG5vdCBzZXR0aW5nIHRoZSBn
bG9iYWwgY29udGV4dCBiZWNhdXNlIHRoZSBwcm92aWRlZCBHcmFwaGljc0NvbnRleHQgZG9lcyBu
b3QgaGF2ZSBhIHBsYXRmb3JtIGNvbnRleHQgKGxpa2VseSBkaXNwbGF5IGxpc3QgcmVjb3JkaW5n
KSIpOworICAgICAgICBXVEZMb2dBbHdheXMoIkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBp
cyBzZXR0aW5nIHRoZSBnbG9iYWwgY29udGV4dCB0byBuaWwgYmVjYXVzZSB0aGUgcHJvdmlkZWQg
R3JhcGhpY3NDb250ZXh0IGRvZXMgbm90IGhhdmUgYSBwbGF0Zm9ybSBjb250ZXh0IChsaWtlbHkg
ZGlzcGxheSBsaXN0IHJlY29yZGluZykiKTsKKyAgICAgICAgW05TR3JhcGhpY3NDb250ZXh0IHNl
dEN1cnJlbnRDb250ZXh0Om5pbF07CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2
OGExYzY1M2U0YzQ2ZmI3OTAxYTA2OWNlYTc0MTA1ZjRhYjQ0ZWRhLi4zODhiYWFlZTE3Y2E5NjMx
ODYyMDk2YmQ0MzQ1ZDJiZDBlZjkyZWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYt
MzAgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
R1BVIFByb2Nlc3NdIFRlbXBvcmFyaWx5IGRpc2FibGUgZHJhd2luZyBsYXJnZSBQREZzIGluIGRp
c3BsYXkgbGlzdCBkcmF3aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjc1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvaW1hZ2VzL3BkZi1pbi1jYW52YXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFzLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTA2LTI5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVz
eW5jIHNwZWVjaC1hcGkgV1BUIHRlc3RzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL3BkZi1pbi1jYW52YXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvcGRmLWluLWNhbnZhcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjY5
ZjUxYjBjYjZlY2IxMjIxZDk0Y2U3ODU5NjU2MjIzZmYzZWNkOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3BkZi1pbi1jYW52YXMtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMyBAQAorVGhpcyB0ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBubyBjcmFzaC4KKworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFzLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM3
MmMwOTcxZTdhYzAwMDRkMWYzN2Y3ZmQ2ZTBmYjc5N2NhNTY2ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3BkZi1pbi1jYW52YXMuaHRtbApAQCAtMCwwICsxLDM5
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxw
PlRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2guPC9wPgorPGltZyBpZD0iaW1h
Z2UiPgorPGNhbnZhcyBpZD0iY2FudmFzIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PC9jYW52
YXM+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9CisvLyBFbXVs
YXRlIGEgYmlnIFBERiBvbiBpT1MgKHdoaWNoIGhhcyB0aGUgUERGSW1hZ2VDYWNoaW5nUG9saWN5
IHNldCB0byBCZWxvd01lbW9yeUxpbWl0KS4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRQREZJbWFnZUNhY2hpbmdQb2xpY3koIkRpc2FibGVkIik7Cits
ZXQgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOworbGV0IGNvbnRl
eHQgPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKK2xldCBpbWFnZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWFnZSIpOworaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uKCkgeworICAgIHZhciBzdGF0ZSA9IDA7CisgICAgZnVuY3Rpb24gdGljaygpIHsKKyAgICAg
ICAgY29udGV4dC5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDAsIDEwMCwgMTAwKTsKKyAgICAgICAgaWYg
KHN0YXRlIDwgMTApIHsKKyAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoMCwgMCwgMTAwLCAx
MDApOworICAgICAgICAgICAgKytzdGF0ZTsKKyAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25G
cmFtZSh0aWNrKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGltYWdlLnN0eWxlLmRp
c3BsYXkgPSAibm9uZSI7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9Cisg
ICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRpY2spOworfSk7CitpbWFnZS5zcmMgPSAicmVzb3Vy
Y2VzL2dyZWVuX3JlY3RhbmdsZS5wZGYiOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432982</attachid>
            <date>2021-07-06 15:26:39 -0700</date>
            <delta_ts>2021-07-08 11:22:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227550-20210706152638.patch</filename>
            <type>text/plain</type>
            <size>9425</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTlkMWUwZjZhNTY2NTNl
ODE1ZWExZDM5OWRjNDI0MTQxMWUxYzlmNy4uMmQzMjEzZjhiY2M4MzUxY2Q2ZjZhYjEzZDYzMzcz
MWE2N2JkNDc3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA2LTMwICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXSBEcmF3IFBERnMgdXNpbmcgYW4gaW50ZXJtZWRpYXRlIEltYWdlQnVmZmVyIHdoZW4gdXNp
bmcgdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjc1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXaGVuIGRyYXdpbmcgUERGcywgd2UgdXN1YWxseSBhbHJlYWR5IGhhdmUgYSBj
YWNoZWQgSW1hZ2VCdWZmZXIgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBQREYuCisgICAgICAgIEhv
d2V2ZXIsIGluIHRoZSBzaXR1YXRpb24gd2hlcmUgd2UgZG9uJ3QgaGF2ZSB0aGlzIGNhY2hlZCBJ
bWFnZUJ1ZmZlciwgd2UgY2FuJ3QganVzdCBkcmF3CisgICAgICAgIHRoZSBQREYgaW50byB0aGUg
cGxhdGZvcm1Db250ZXh0IHdoZW4gd2UncmUgdXNpbmcgdGhlIEdQVSBQcm9jZXNzLiBTbywgaW5z
dGVhZCwgd2UgbmVlZCB0bworICAgICAgICBkcmF3IHRoZSBQREYgaW50byBhbiBpbnRlcm1lZGlh
dGUgSW1hZ2VCdWZmZXIgYW5kIHRoZW4gc2VuZCB0aGF0IHRvIHRoZSBHUFUgUHJvY2Vzcy4KKwor
ICAgICAgICBXaGVuIHdlIGhhdmUgYSBmdWxseSBmdW5jdGlvbmFsIGN1c3RvbSBDR0NvbnRleHQs
IHdlIGNhbiB1c2UgdGhhdCB0byBzZW5kIGFsbCB0aGUgUERGIGRyYXdpbmcKKyAgICAgICAgY29t
bWFuZHMgdG8gdGhlIEdQVSBQcm9jZXNzLCBhbmQgdGhpcyBwYXRjaCBzaG91bGQgdGhlbiBiZSBy
ZXZlcnRlZC4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFzLmh0bWwK
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL1BERkRvY3VtZW50SW1hZ2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UERGRG9jdW1lbnRJbWFnZTo6ZHJhdyk6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL0xvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dE1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dDo6TG9jYWxDdXJyZW50R3JhcGhpY3ND
b250ZXh0KToKKwogMjAyMS0wNy0wNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5hYmxlIHRvIHVzZSAnZGF0YTphcHBsaWNhdGlvbi9qYXZhc2NyaXB0JyB1
cmwgZm9yIFdvcmtlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvUERGRG9jdW1lbnRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9QREZEb2N1bWVudEltYWdlLmNwcAppbmRleCBkYzQ5ODVmOWM1OWFhYWNkM2RmNWI1
ZGM1NmI5ZDg5MDg0ODFiZjliLi5kODlmNDM3ZWU0MzhmYmM5NmU3MmVhOTUzODFkNDUzNjJmYTVl
NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QREZE
b2N1bWVudEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9QREZEb2N1bWVudEltYWdlLmNwcApAQCAtMTYxLDYgKzE2MSw4IEBAIHN0YXRpYyB2b2lkIHRy
YW5zZm9ybUNvbnRleHRGb3JQYWludGluZyhHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0
IEZsb2F0UmVjCiAgICAgY29udGV4dC50cmFuc2xhdGUoZHN0UmVjdC5sb2NhdGlvbigpIC0gc3Jj
UmVjdC5sb2NhdGlvbigpKTsKICAgICBjb250ZXh0LnNjYWxlKEZsb2F0U2l6ZShoU2NhbGUsIC12
U2NhbGUpKTsKICAgICBjb250ZXh0LnRyYW5zbGF0ZSgwLCAtc3JjUmVjdC5oZWlnaHQoKSk7CisK
KyAgICAvLyBGSVhNRTogU3VyZWx5IHRoZXJlIG5lZWRzIHRvIGJlIGEgY2xpcCBvcGVyYXRpb24g
aGVyZSwgaWYgdGhlIHNyY1JlY3QgaXMgc21hbGxlciB0aGFuIHRoZSB3aG9sZSBQREYuCiB9CiAK
IC8vIFRvIGF2b2lkIHRoZSBqZXRzYW0gb24gaU9TLCB3ZSBhcmUgZ29pbmcgdG8gbGltaXQgdGhl
IHNpemUgb2YgYWxsIHRoZSBQREYgY2FjaGVkSW1hZ2VzIHRvIGJlIDY0TUIuCkBAIC0yNDYsNiAr
MjQ4LDcgQEAgdm9pZCBQREZEb2N1bWVudEltYWdlOjp1cGRhdGVDYWNoZWRJbWFnZUlmTmVlZGVk
KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QKICAgICAvLyBXZSBuZWVkIHRvIHRyYW5z
Zm9ybSB0aGUgY29vcmRpbmF0ZSBzeXN0ZW0gc3VjaCB0aGF0IHRvcC1sZWZ0IG9mIG1fY2FjaGVk
SW1hZ2VSZWN0IHdpbGwgYmUgbWFwcGVkIHRvIHRoZQogICAgIC8vIHRvcC1sZWZ0IG9mIGRzdFJl
Y3QuIEFsdGhvdWdoIG9ubHkgbV9jYWNoZWRJbWFnZVJlY3Quc2l6ZSgpIG9mIHRoZSBpbWFnZSBj
b3BpZWQsIHRoZSBzaXplcyBvZiBzcmNSZWN0CiAgICAgLy8gYW5kIGRzdFJlY3Qgc2hvdWxkIGJl
IHBhc3NlZCB0byB0aGlzIGZ1bmN0aW9uIGJlY2F1c2UgdGhleSBhcmUgdXNlZCB0byBjYWxjdWxh
dGUgdGhlIGltYWdlIHNjYWxpbmcuCisgICAgLy8gRklYTUU6IFBhc3NpbmcgaW4gbV9jYWNoZWRJ
bWFnZVJlY3QubG9jYXRpb24oKSBmb3IgdGhlIHNvdXJjZSByZWN0IHBvc2l0aW9uIGlzIGNvbmZ1
c2luZyBoZXJlLgogICAgIHRyYW5zZm9ybUNvbnRleHRGb3JQYWludGluZyhidWZmZXJDb250ZXh0
LCBkc3RSZWN0LCBGbG9hdFJlY3QobV9jYWNoZWRJbWFnZVJlY3QubG9jYXRpb24oKSwgc3JjUmVj
dC5zaXplKCkpKTsKICAgICBkcmF3UERGUGFnZShidWZmZXJDb250ZXh0KTsKIApAQCAtMjc1LDEw
ICsyNzgsMjUgQEAgSW1hZ2VEcmF3UmVzdWx0IFBERkRvY3VtZW50SW1hZ2U6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QKICAgICAgICAgICAgIC8vIG9mIHRo
ZSBzb3VyY2UgUERGIHdhcyBjb3BpZWQgdG8gJ21fY2FjaGVkSW1hZ2VCdWZmZXInLCB0aGUgc2l6
ZXMgb2YgdGhlIHNvdXJjZQogICAgICAgICAgICAgLy8gYW5kIHRoZSBkZXN0aW5hdGlvbiByZWN0
YW5nbGVzIHdpbGwgYmUgZXF1YWwgYW5kIG5vIHNjYWxpbmcgd2lsbCBiZSBuZWVkZWQgaGVyZS4K
ICAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlQnVmZmVyKCptX2NhY2hlZEltYWdlQnVmZmVy
LCBtX2NhY2hlZEltYWdlUmVjdCk7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZSB7CisgICAgICAg
IH0gZWxzZSBpZiAoY29udGV4dC5oYXNQbGF0Zm9ybUNvbnRleHQoKSkgewogICAgICAgICAgICAg
dHJhbnNmb3JtQ29udGV4dEZvclBhaW50aW5nKGNvbnRleHQsIGRzdFJlY3QsIHNyY1JlY3QpOwog
ICAgICAgICAgICAgZHJhd1BERlBhZ2UoY29udGV4dCk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAvLyBXZSBjYW4ndCBkcmF3IHRoZSBQREYgZGlyZWN0bHkgYmVjYXVzZSB3ZSBoYXZl
IG5vIHBsYXRmb3JtIGNvbnRleHQgKHByb2JhYmx5IGJlY2F1c2Ugd2UncmUgZG9pbmcgZGlzcGxh
eSBsaXN0IGRyYXdpbmcpLgorICAgICAgICAgICAgLy8gV2UgYWxzbyBuZWVkIHRvIGJlIGNhcmVm
dWwgYWJvdXQgbm90IGdldHRpbmcgamV0c2FtJ2VkLgorICAgICAgICAgICAgLy8KKyAgICAgICAg
ICAgIC8vIChzY2FsYXIgKiB3aWR0aCkgKiAoc2NhbGFyICogaGVpZ2h0KSA9IG1heCBudW1iZXIg
b2YgcGl4ZWxzCisgICAgICAgICAgICAvLyBTb2x2ZSBmb3Igc2NhbGFyLi4uCisgICAgICAgICAg
ICAvLyBzY2FsYXIgPSBzcXJ0KG1heCBudW1iZXIgb2YgcGl4ZWxzIC8gKHdpZHRoICogaGVpZ2h0
KSkKKyAgICAgICAgICAgIGF1dG8gc2NhbGFyID0gc3RkOjptaW4oMS5mLCBzdGQ6OnNxcnQoc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHNfbWF4Q2FjaGVkSW1hZ2VBcmVhKSAvIChkc3RSZWN0LndpZHRoKCkg
KiBkc3RSZWN0LmhlaWdodCgpKSkpOworICAgICAgICAgICAgRmxvYXRSZWN0IGxvY2FsRGVzdGlu
YXRpb25SZWN0KEZsb2F0UG9pbnQoKSwgZHN0UmVjdC5zaXplKCkgKiBzY2FsYXIpOworICAgICAg
ICAgICAgaWYgKGF1dG8gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlQ29tcGF0aWJs
ZUJ1ZmZlcihsb2NhbERlc3RpbmF0aW9uUmVjdC5zaXplKCksIGNvbnRleHQpKSB7CisgICAgICAg
ICAgICAgICAgYXV0byYgYnVmZmVyQ29udGV4dCA9IGltYWdlQnVmZmVyLT5jb250ZXh0KCk7Cisg
ICAgICAgICAgICAgICAgdHJhbnNmb3JtQ29udGV4dEZvclBhaW50aW5nKGJ1ZmZlckNvbnRleHQs
IGxvY2FsRGVzdGluYXRpb25SZWN0LCBzcmNSZWN0KTsKKyAgICAgICAgICAgICAgICBkcmF3UERG
UGFnZShidWZmZXJDb250ZXh0KTsKKyAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZUJ1
ZmZlcigqaW1hZ2VCdWZmZXIsIGRzdFJlY3QpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgcmV0dXJuIEltYWdlRHJhd1Jlc3VsdDo6RGlkTm90aGluZzsKICAgICAgICAgfQog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9M
b2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHRNYWMubW0KaW5kZXggYTQxZWI0YWQ4OGM0NmJiZWNj
MzQ3N2JlZjM5MmQyNjE5NjFmMmUzZC4uNTRmNWExOTgwYmU0YzhjMGI1Mjk4ZWYzMjljYTVkYzE5
YjEzYjEyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0xvY2FsQ3Vy
cmVudEdyYXBoaWNzQ29udGV4dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0TWFjLm1tCkBAIC0zMiw3ICszMiw4IEBAIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dDo6TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0KEdy
YXBoaWNzQ29udGV4dCYgZ3JhcGhpCiAgICAgbV9zYXZlZEdyYXBoaWNzQ29udGV4dC5zYXZlKCk7
CiAKICAgICBpZiAoIW1fc2F2ZWRHcmFwaGljc0NvbnRleHQuaGFzUGxhdGZvcm1Db250ZXh0KCkp
IHsKLSAgICAgICAgV1RGTG9nQWx3YXlzKCJMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgaXMg
bm90IHNldHRpbmcgdGhlIGdsb2JhbCBjb250ZXh0IGJlY2F1c2UgdGhlIHByb3ZpZGVkIEdyYXBo
aWNzQ29udGV4dCBkb2VzIG5vdCBoYXZlIGEgcGxhdGZvcm0gY29udGV4dCAobGlrZWx5IGRpc3Bs
YXkgbGlzdCByZWNvcmRpbmcpIik7CisgICAgICAgIFdURkxvZ0Fsd2F5cygiTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0IGlzIHNldHRpbmcgdGhlIGdsb2JhbCBjb250ZXh0IHRvIG5pbCBiZWNh
dXNlIHRoZSBwcm92aWRlZCBHcmFwaGljc0NvbnRleHQgZG9lcyBub3QgaGF2ZSBhIHBsYXRmb3Jt
IGNvbnRleHQgKGxpa2VseSBkaXNwbGF5IGxpc3QgcmVjb3JkaW5nKSIpOworICAgICAgICBbTlNH
cmFwaGljc0NvbnRleHQgc2V0Q3VycmVudENvbnRleHQ6bmlsXTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGM2YTZiYTQxZjdhOTM2NWRkZTE2YjlkOGM5YzRkMjY5MjIwNDMwYzEu
LjY4Y2RmOTM5ZDY1MWIxMjJhZDk0YWFkY2FiY2IwMDI4OTY5ZWU5NWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAyMS0wNi0zMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUu
Y29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10gVGVtcG9yYXJpbHkgZGlzYWJsZSBkcmF3aW5n
IGxhcmdlIFBERnMgaW4gZGlzcGxheSBsaXN0IGRyYXdpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzU1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvcGRmLWluLWNhbnZhcy1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9wZGYtaW4tY2FudmFz
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTA3LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBVbmFibGUgdG8gdXNlICdkYXRhOmFwcGxpY2F0aW9uL2phdmFzY3Jp
cHQnIHVybCBmb3IgV29ya2VyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9w
ZGYtaW4tY2FudmFzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9wZGYt
aW4tY2FudmFzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzUxMGJmOTliN2EzOGRhOWVjYjBi
MzA2NjVkOTYyZjE5ZThkYmFjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL3BkZi1pbi1jYW52YXMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVz
dCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIGJveCBiZWxvdyAocG9zc2libHkgd2l0aCBhIGdy
ZWVuIGJvcmRlcikuPC9wPgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyI+CisgICAg
PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6ICMwMDhFMDA7Ij48L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0zcHg7IHRvcDogLTNweDsg
d2lkdGg6IDZweDsgaGVpZ2h0OiAxMDZweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDk3cHg7IHRvcDogLTNweDsg
d2lkdGg6IDZweDsgaGVpZ2h0OiAxMDZweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0zcHg7IHRvcDogLTNweDsg
d2lkdGg6IDEwNnB4OyBoZWlnaHQ6IDZweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0zcHg7IHRvcDogOTdweDsg
d2lkdGg6IDEwNnB4OyBoZWlnaHQ6IDZweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2RpdgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9wZGYtaW4tY2FudmFzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9wZGYtaW4tY2Fu
dmFzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uODgxMjgyMTYxZGE4YmE0YWI2OWQyMzdhNzI4M2M3ZDdmMTk0
MDExMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3BkZi1pbi1j
YW52YXMuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdy
ZWVuIGJveCBiZWxvdyAocG9zc2libHkgd2l0aCBhIGdyZWVuIGJvcmRlcikuPC9wPgorPGltZyBp
ZD0iaW1hZ2UiPgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyI+CisgICAgPGNhbnZh
cyBpZD0iY2FudmFzIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+PC9jYW52YXM+CisgICAgPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtM3B4OyB0b3A6IC0zcHg7IHdpZHRo
OiA2cHg7IGhlaWdodDogMTA2cHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA5N3B4OyB0b3A6IC0zcHg7IHdpZHRo
OiA2cHg7IGhlaWdodDogMTA2cHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtM3B4OyB0b3A6IC0zcHg7IHdpZHRo
OiAxMDZweDsgaGVpZ2h0OiA2cHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtM3B4OyB0b3A6IDk3cHg7IHdpZHRo
OiAxMDZweDsgaGVpZ2h0OiA2cHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXYKKzwvZGl2Pgor
PHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworfQorLy8gRW11bGF0ZSBhIGJpZyBQREYgb24gaU9TICh3aGljaCBoYXMgdGhl
IFBERkltYWdlQ2FjaGluZ1BvbGljeSBzZXQgdG8gQmVsb3dNZW1vcnlMaW1pdCkuCitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0UERGSW1hZ2VDYWNoaW5n
UG9saWN5KCJEaXNhYmxlZCIpOworbGV0IGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjYW52YXMiKTsKK2xldCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CitsZXQg
aW1hZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2UiKTsKK2ltYWdlLmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICB2YXIgc3RhdGUgPSAwOworICAgIGZ1
bmN0aW9uIHRpY2soKSB7CisgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAwLCAwLCAx
MDAsIDEwMCk7CisgICAgICAgIGlmIChzdGF0ZSA8IDEwKSB7CisgICAgICAgICAgICBjb250ZXh0
LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsKKyAgICAgICAgICAgICsrc3RhdGU7CisgICAgICAg
ICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGljayk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBpbWFnZS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgp
OworICAgICAgICB9CisgICAgfQorICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aWNrKTsKK30p
OworaW1hZ2Uuc3JjID0gInJlc291cmNlcy9ncmVlbl9yZWN0YW5nbGUucGRmIjsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="455079"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>