<?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>222379</bug_id>
          
          <creation_ts>2021-02-24 13:05:44 -0800</creation_ts>
          <short_desc>[GPU Process] Stroke and fill StateChangeFlags should be set exclusively</short_desc>
          <delta_ts>2021-03-01 21:36:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Canvas</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733043</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-24 13:05:44 -0800</bug_when>
    <thetext>The stroke and the fill in GraphicsContextState can be set exclusively to color, pattern or gradient. The corresponding flag in StateChangeFlags is set once the GraphicsContext function is called. The problem is we do not clear the old flags. And this is why in StateState::encode() and StateState::decode(), we were expecting the flags might be set but the pointers of the pattern and the gradient are null. This has been an area of mistakes and confusion and can lead to this crash with GPUP enabled when GraphicsContext::setFillColor is called after GraphicsContext::setFillGradient() is called:

frame #1: 0x000000011d9870bb WebCore`WTFCrashWithInfo((null)=82, (null)=&quot;/Volumes/Data/Development/system/webkit/OpenSource/WebKitBuild/Debug/usr/local/include/wtf/RefPtr.h&quot;, (null)=&quot;T &amp;WTF::RefPtr&lt;WebCore::Gradient, WTF::RawPtrTraits&lt;WebCore::Gradient&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::Gradient&gt; &gt;::operator*() const [T = WebCore::Gradient, _PtrTraits = WTF::RawPtrTraits&lt;WebCore::Gradient&gt;, _RefDerefTraits = WTF::DefaultRefDerefTraits&lt;WebCore::Gradient&gt;]&quot;, (null)=23) at Assertions.h:671:5
frame #2: 0x000000012184a3f8 WebCore`WTF::RefPtr&lt;WebCore::Gradient, WTF::RawPtrTraits&lt;WebCore::Gradient&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::Gradient&gt; &gt;::operator*(this=0x0000700005297cc0) const at RefPtr.h:82:28
frame #3: 0x0000000121849d0e WebCore`WebCore::GraphicsContextStateChange::apply(this=0x0000700005297cb0, context=0x000000010b0cf1b0) const at GraphicsContext.cpp:220:33
frame #4: 0x00000001219f38cd WebCore`WebCore::DisplayList::SetState::apply(this=0x0000700005297cb0, context=0x000000010b0cf1b0) const at DisplayListItems.cpp:223:13
frame #5: 0x00000001219f3088 WebCore`WebCore::DisplayList::ItemHandle::apply(this=0x0000700005297918, context=0x000000010b0cf1b0) at DisplayListItemBuffer.cpp:92:25
frame #6: 0x0000000121a0426d WebCore`WebCore::DisplayList::Replayer::applyItem(this=0x0000700005297e70, item=(data = &quot;\v&quot;)) at DisplayListReplayer.cpp:120:10
frame #7: 0x00000001219f21da WebCore`WebCore::DisplayList::Replayer::replay(this=0x0000700005297e70, initialClip={ x = 0.0, y = 0.0, width = 0.0, height = 0.0 }, trackReplayList=false) at DisplayListReplayer.cpp:158:73

The crash happens in this following statement in GraphicsContextStateChange::apply()

    if (m_changeFlags.contains(GraphicsContextState::FillGradientChange))
        context.setFillGradient(*m_state.fillGradient, m_state.fillGradientSpaceTransform);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733045</commentid>
    <comment_count>1</comment_count>
      <attachid>421448</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-24 13:10:01 -0800</bug_when>
    <thetext>Created attachment 421448
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733046</commentid>
    <comment_count>2</comment_count>
      <attachid>421449</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-24 13:10:47 -0800</bug_when>
    <thetext>Created attachment 421449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733047</commentid>
    <comment_count>3</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-24 13:11:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/73610005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733062</commentid>
    <comment_count>4</comment_count>
      <attachid>421449</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-24 13:40:31 -0800</bug_when>
    <thetext>Comment on attachment 421449
Patch

Does this fix any test crashes? Should we add a new test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733348</commentid>
    <comment_count>5</comment_count>
      <attachid>421530</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-25 09:09:50 -0800</bug_when>
    <thetext>Created attachment 421530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733350</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-02-25 09:11:59 -0800</bug_when>
    <thetext>A new test was added. Without this patch, it crashes if GPUProcess for canvas rendering is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733391</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-25 10:24:26 -0800</bug_when>
    <thetext>Committed r273493: &lt;https://commits.webkit.org/r273493&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421530.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734750</commentid>
    <comment_count>8</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2021-03-01 21:36:55 -0800</bug_when>
    <thetext>&lt;rdar://problem/72783926&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421448</attachid>
            <date>2021-02-24 13:10:01 -0800</date>
            <delta_ts>2021-02-24 13:10:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222379-20210224131001.patch</filename>
            <type>text/plain</type>
            <size>8825</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThkN2NjNTIwMjZmMGFh
ZjkzZmVlMjc5ZTZmMWEyYzZmN2FmYzc3My4uNGQxOTgyYWU0OTg1NzI4YzRjN2JkODllMmIzZGZj
NDg3YjQ3OGI2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIxLTAyLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
U3Ryb2tlIGFuZCBmaWxsIFN0YXRlQ2hhbmdlRmxhZ3Mgc2hvdWxkIGJlIHNldCBleGNsdXNpdmVs
eSAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjM3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4g
dGhlIHN0cm9rZSBvciB0aGUgZmlsbCBjaGFuZ2VzIGluIHRoZSBHcmFwaGljc0NvbnRleHRTdGF0
ZSwgd2UgbmVlZAorICAgICAgICB0byBjbGVhciB0aGUgb2xkIHN0cm9rZSBvciBmaWxsIGZsYWdz
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dFN0YXRlQ2hhbmdlOjphY2N1bXVsYXRlKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
cy5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNldFN0YXRlOjplbmNvZGUgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNldFN0YXRlOjpkZWNvZGUpOgor
CiAyMDIxLTAyLTI0ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtHUFUgUHJvY2Vzc10gSW4gcHJvY2VzcyBEaXNwbGF5TGlzdCBkaXNwbGF5IHNob3VsZCBo
YXZlIGEgaGlnaGVyIHByZWNlZGVuY2UgdGhhbiBHUFVQIGRpc3BsYXkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCmluZGV4IDdk
OGExNjFhMjIzOWY1MDJlNzYwYWFiNDg0M2YwOWYxZWNiMGZjZWYuLmMzZTY5ODNjYTczMTY4ZjFl
YjUyZGYyMGVkM2FiODk0NTc3NTc5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcApAQCAtMTQzLDE2ICsxNDMsMjAgQEAg
R3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0YXRlQ2hhbmdlRmxhZ3MgR3JhcGhpY3NDb250ZXh0U3Rh
dGVDaGFuZ2U6OmNoYW5nZXNGcm9tU3QKIHZvaWQgR3JhcGhpY3NDb250ZXh0U3RhdGVDaGFuZ2U6
OmFjY3VtdWxhdGUoY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBHcmFwaGljc0Nv
bnRleHRTdGF0ZTo6U3RhdGVDaGFuZ2VGbGFncyBmbGFncykKIHsKICAgICAvLyBGSVhNRTogVGhp
cyBjb2RlIHNob3VsZCBtb3ZlIHRvIEdyYXBoaWNzQ29udGV4dFN0YXRlLgotICAgIGlmIChmbGFn
cy5jb250YWluc0FueSh7IEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VDb2xvckNoYW5nZSwg
R3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hhbmdlLCBHcmFwaGljc0NvbnRl
eHRTdGF0ZTo6U3Ryb2tlUGF0dGVybkNoYW5nZSB9KSkgeworICAgIGF1dG8gc3Ryb2tlRmxhZ3Mg
PSB7IEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VDb2xvckNoYW5nZSwgR3JhcGhpY3NDb250
ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hhbmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3Ry
b2tlUGF0dGVybkNoYW5nZSB9OworICAgIGlmIChmbGFncy5jb250YWluc0FueShzdHJva2VGbGFn
cykpIHsKICAgICAgICAgbV9zdGF0ZS5zdHJva2VDb2xvciA9IHN0YXRlLnN0cm9rZUNvbG9yOwog
ICAgICAgICBtX3N0YXRlLnN0cm9rZUdyYWRpZW50ID0gc3RhdGUuc3Ryb2tlR3JhZGllbnQ7CiAg
ICAgICAgIG1fc3RhdGUuc3Ryb2tlUGF0dGVybiA9IHN0YXRlLnN0cm9rZVBhdHRlcm47CisgICAg
ICAgIG1fY2hhbmdlRmxhZ3MucmVtb3ZlKHN0cm9rZUZsYWdzKTsKICAgICB9CiAKLSAgICBpZiAo
ZmxhZ3MuY29udGFpbnNBbnkoeyBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbENvbG9yQ2hhbmdl
LCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbEdyYWRpZW50Q2hhbmdlLCBHcmFwaGljc0NvbnRl
eHRTdGF0ZTo6RmlsbFBhdHRlcm5DaGFuZ2UgfSkpIHsKKyAgICBhdXRvIGZpbGxGbGFncyA9IHsg
R3JhcGhpY3NDb250ZXh0U3RhdGU6OkZpbGxDb2xvckNoYW5nZSwgR3JhcGhpY3NDb250ZXh0U3Rh
dGU6OkZpbGxHcmFkaWVudENoYW5nZSwgR3JhcGhpY3NDb250ZXh0U3RhdGU6OkZpbGxQYXR0ZXJu
Q2hhbmdlIH07CisgICAgaWYgKGZsYWdzLmNvbnRhaW5zQW55KGZpbGxGbGFncykpIHsKICAgICAg
ICAgbV9zdGF0ZS5maWxsQ29sb3IgPSBzdGF0ZS5maWxsQ29sb3I7CiAgICAgICAgIG1fc3RhdGUu
ZmlsbEdyYWRpZW50ID0gc3RhdGUuZmlsbEdyYWRpZW50OwogICAgICAgICBtX3N0YXRlLmZpbGxQ
YXR0ZXJuID0gc3RhdGUuZmlsbFBhdHRlcm47CisgICAgICAgIG1fY2hhbmdlRmxhZ3MucmVtb3Zl
KGZpbGxGbGFncyk7CiAgICAgfQogCiAgICAgaWYgKGZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29u
dGV4dFN0YXRlOjpTaGFkb3dDaGFuZ2UpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
aAppbmRleCA5ODZjNzQ1ZDAzN2MzYjNlNzg4NTc1M2RkZmU0OTIwMGNjNmU3MDIxLi43ZjE5MTEy
NzRmNmFmNDUwZmY5NGNmYmQwNGMwNDQ2N2VhYzUwNDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1zLmgKQEAgLTI5MiwzMSArMjkyLDI1IEBAIHZvaWQgU2V0U3RhdGU6OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGF1dG8mIHN0YXRlID0gbV9zdGF0ZUNoYW5nZS5t
X3N0YXRlOwogCiAgICAgaWYgKGNoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0
YXRlOjpTdHJva2VHcmFkaWVudENoYW5nZSkpIHsKLSAgICAgICAgZW5jb2RlciA8PCAhIXN0YXRl
LnN0cm9rZUdyYWRpZW50OwotICAgICAgICBpZiAoc3RhdGUuc3Ryb2tlR3JhZGllbnQpCi0gICAg
ICAgICAgICBlbmNvZGVyIDw8ICpzdGF0ZS5zdHJva2VHcmFkaWVudDsKKyAgICAgICAgQVNTRVJU
KHN0YXRlLnN0cm9rZUdyYWRpZW50KTsKKyAgICAgICAgZW5jb2RlciA8PCAqc3RhdGUuc3Ryb2tl
R3JhZGllbnQ7CiAgICAgfQogCiAgICAgaWYgKGNoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNz
Q29udGV4dFN0YXRlOjpTdHJva2VQYXR0ZXJuQ2hhbmdlKSkgewotICAgICAgICBlbmNvZGVyIDw8
ICEhc3RhdGUuc3Ryb2tlUGF0dGVybjsKLSAgICAgICAgaWYgKGF1dG8mIHBhdHRlcm4gPSBzdGF0
ZS5zdHJva2VQYXR0ZXJuKSB7Ci0gICAgICAgICAgICBlbmNvZGVyIDw8IHBhdHRlcm4tPnRpbGVJ
bWFnZSgpLnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcigpOwotICAgICAgICAgICAgZW5jb2Rl
ciA8PCBwYXR0ZXJuLT5wYXJhbWV0ZXJzKCk7Ci0gICAgICAgIH0KKyAgICAgICAgQVNTRVJUKHN0
YXRlLnN0cm9rZVBhdHRlcm4pOworICAgICAgICBlbmNvZGVyIDw8IHN0YXRlLnN0cm9rZVBhdHRl
cm4tPnRpbGVJbWFnZSgpLnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcigpOworICAgICAgICBl
bmNvZGVyIDw8IHN0YXRlLnN0cm9rZVBhdHRlcm4tPnBhcmFtZXRlcnMoKTsKICAgICB9CiAKICAg
ICBpZiAoY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OkZpbGxHcmFk
aWVudENoYW5nZSkpIHsKLSAgICAgICAgZW5jb2RlciA8PCAhIXN0YXRlLmZpbGxHcmFkaWVudDsK
LSAgICAgICAgaWYgKHN0YXRlLmZpbGxHcmFkaWVudCkKLSAgICAgICAgICAgIGVuY29kZXIgPDwg
KnN0YXRlLmZpbGxHcmFkaWVudDsKKyAgICAgICAgQVNTRVJUKHN0YXRlLmZpbGxHcmFkaWVudCk7
CisgICAgICAgIGVuY29kZXIgPDwgKnN0YXRlLmZpbGxHcmFkaWVudDsKICAgICB9CiAKICAgICBp
ZiAoY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OkZpbGxQYXR0ZXJu
Q2hhbmdlKSkgewotICAgICAgICBlbmNvZGVyIDw8ICEhc3RhdGUuZmlsbFBhdHRlcm47Ci0gICAg
ICAgIGlmIChhdXRvJiBwYXR0ZXJuID0gc3RhdGUuZmlsbFBhdHRlcm4pIHsKLSAgICAgICAgICAg
IGVuY29kZXIgPDwgcGF0dGVybi0+dGlsZUltYWdlKCkucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyKCk7Ci0gICAgICAgICAgICBlbmNvZGVyIDw8IHBhdHRlcm4tPnBhcmFtZXRlcnMoKTsKLSAg
ICAgICAgfQorICAgICAgICBBU1NFUlQoc3RhdGUuZmlsbFBhdHRlcm4pOworICAgICAgICBlbmNv
ZGVyIDw8IHN0YXRlLmZpbGxQYXR0ZXJuLT50aWxlSW1hZ2UoKS5yZW5kZXJpbmdSZXNvdXJjZUlk
ZW50aWZpZXIoKTsKKyAgICAgICAgZW5jb2RlciA8PCBzdGF0ZS5maWxsUGF0dGVybi0+cGFyYW1l
dGVycygpOwogICAgIH0KIAogICAgIGlmIChjaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0Nv
bnRleHRTdGF0ZTo6U2hhZG93Q2hhbmdlKSkgewpAQCAtMzg2LDc1ICszODAsNDcgQEAgT3B0aW9u
YWw8U2V0U3RhdGU+IFNldFN0YXRlOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKICAgICBQYXR0
ZXJuRGF0YSBmaWxsUGF0dGVybjsKIAogICAgIGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZsYWdz
LmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VHcmFkaWVudENoYW5nZSkpIHsK
LSAgICAgICAgT3B0aW9uYWw8Ym9vbD4gaGFzU3Ryb2tlR3JhZGllbnQ7Ci0gICAgICAgIGRlY29k
ZXIgPj4gaGFzU3Ryb2tlR3JhZGllbnQ7Ci0gICAgICAgIGlmICghaGFzU3Ryb2tlR3JhZGllbnQu
aGFzVmFsdWUoKSkKKyAgICAgICAgYXV0byBzdHJva2VHcmFkaWVudCA9IEdyYWRpZW50OjpkZWNv
ZGUoZGVjb2Rlcik7CisgICAgICAgIGlmICghc3Ryb2tlR3JhZGllbnQpCiAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNTdHJva2VHcmFkaWVudC52YWx1
ZSgpKSB7Ci0gICAgICAgICAgICBhdXRvIHN0cm9rZUdyYWRpZW50ID0gR3JhZGllbnQ6OmRlY29k
ZShkZWNvZGVyKTsKLSAgICAgICAgICAgIGlmICghc3Ryb2tlR3JhZGllbnQpCi0gICAgICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAgICAgICAgc3RhdGVDaGFuZ2UubV9z
dGF0ZS5zdHJva2VHcmFkaWVudCA9IFdURk1vdmUoKnN0cm9rZUdyYWRpZW50KTsKLSAgICAgICAg
fQorICAgICAgICBzdGF0ZUNoYW5nZS5tX3N0YXRlLnN0cm9rZUdyYWRpZW50ID0gV1RGTW92ZSgq
c3Ryb2tlR3JhZGllbnQpOwogICAgIH0KIAogICAgIGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZs
YWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VQYXR0ZXJuQ2hhbmdlKSkg
ewotICAgICAgICBPcHRpb25hbDxib29sPiBoYXNTdHJva2VQYXR0ZXJuOwotICAgICAgICBkZWNv
ZGVyID4+IGhhc1N0cm9rZVBhdHRlcm47Ci0gICAgICAgIGlmICghaGFzU3Ryb2tlUGF0dGVybi5o
YXNWYWx1ZSgpKQorICAgICAgICBPcHRpb25hbDxSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+
IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKKyAgICAgICAgZGVjb2RlciA+PiByZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXI7CisgICAgICAgIGlmICghcmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyKQogICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICBpZiAo
aGFzU3Ryb2tlUGF0dGVybi52YWx1ZSgpKSB7Ci0gICAgICAgICAgICBPcHRpb25hbDxSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXI+IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKLSAgICAg
ICAgICAgIGRlY29kZXIgPj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwotICAgICAgICAg
ICAgaWYgKCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCi0gICAgICAgICAgICAgICAgcmV0
dXJuIFdURjo6bnVsbG9wdDsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgT3B0aW9uYWw8UGF0
dGVybjo6UGFyYW1ldGVycz4gcGFyYW1ldGVyczsKLSAgICAgICAgICAgIGRlY29kZXIgPj4gcGFy
YW1ldGVyczsKLSAgICAgICAgICAgIGlmICghcGFyYW1ldGVycykKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBPcHRpb25hbDxQYXR0ZXJuOjpQYXJhbWV0ZXJz
PiBwYXJhbWV0ZXJzOworICAgICAgICBkZWNvZGVyID4+IHBhcmFtZXRlcnM7CisgICAgICAgIGlm
ICghcGFyYW1ldGVycykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICAg
ICAgICAgIHN0cm9rZVBhdHRlcm4gPSB7ICpyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIsICpw
YXJhbWV0ZXJzIH07Ci0gICAgICAgIH0KKyAgICAgICAgc3Ryb2tlUGF0dGVybiA9IHsgKnJlbmRl
cmluZ1Jlc291cmNlSWRlbnRpZmllciwgKnBhcmFtZXRlcnMgfTsKICAgICB9CiAKICAgICBpZiAo
c3RhdGVDaGFuZ2UubV9jaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6
RmlsbEdyYWRpZW50Q2hhbmdlKSkgewotICAgICAgICBPcHRpb25hbDxib29sPiBoYXNGaWxsR3Jh
ZGllbnQ7Ci0gICAgICAgIGRlY29kZXIgPj4gaGFzRmlsbEdyYWRpZW50OwotICAgICAgICBpZiAo
IWhhc0ZpbGxHcmFkaWVudC5oYXNWYWx1ZSgpKQorICAgICAgICBhdXRvIGZpbGxHcmFkaWVudCA9
IEdyYWRpZW50OjpkZWNvZGUoZGVjb2Rlcik7CisgICAgICAgIGlmICghZmlsbEdyYWRpZW50KQog
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICBpZiAoaGFzRmlsbEdy
YWRpZW50LnZhbHVlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gZmlsbEdyYWRpZW50ID0gR3JhZGll
bnQ6OmRlY29kZShkZWNvZGVyKTsKLSAgICAgICAgICAgIGlmICghZmlsbEdyYWRpZW50KQotICAg
ICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICAgICAgICAgIHN0YXRlQ2hh
bmdlLm1fc3RhdGUuZmlsbEdyYWRpZW50ID0gV1RGTW92ZSgqZmlsbEdyYWRpZW50KTsKLSAgICAg
ICAgfQorICAgICAgICBzdGF0ZUNoYW5nZS5tX3N0YXRlLmZpbGxHcmFkaWVudCA9IFdURk1vdmUo
KmZpbGxHcmFkaWVudCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlQ2hhbmdlLm1fY2hhbmdlRmxh
Z3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OkZpbGxQYXR0ZXJuQ2hhbmdlKSkgewot
ICAgICAgICBPcHRpb25hbDxib29sPiBoYXNGaWxsUGF0dGVybjsKLSAgICAgICAgZGVjb2RlciA+
PiBoYXNGaWxsUGF0dGVybjsKLSAgICAgICAgaWYgKCFoYXNGaWxsUGF0dGVybi5oYXNWYWx1ZSgp
KQorICAgICAgICBPcHRpb25hbDxSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IHJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcjsKKyAgICAgICAgZGVjb2RlciA+PiByZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXI7CisgICAgICAgIGlmICghcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQog
ICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICBpZiAoaGFzRmlsbFBh
dHRlcm4udmFsdWUoKSkgewotICAgICAgICAgICAgT3B0aW9uYWw8UmVuZGVyaW5nUmVzb3VyY2VJ
ZGVudGlmaWVyPiByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI7Ci0gICAgICAgICAgICBkZWNv
ZGVyID4+IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKLSAgICAgICAgICAgIGlmICghcmVu
ZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQotICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0KLSAgICAgICAgICAgIE9wdGlvbmFsPFBhdHRlcm46OlBhcmFtZXRlcnM+IHBhcmFt
ZXRlcnM7Ci0gICAgICAgICAgICBkZWNvZGVyID4+IHBhcmFtZXRlcnM7Ci0gICAgICAgICAgICBp
ZiAoIXBhcmFtZXRlcnMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAg
ICAgICAgT3B0aW9uYWw8UGF0dGVybjo6UGFyYW1ldGVycz4gcGFyYW1ldGVyczsKKyAgICAgICAg
ZGVjb2RlciA+PiBwYXJhbWV0ZXJzOworICAgICAgICBpZiAoIXBhcmFtZXRlcnMpCisgICAgICAg
ICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgICAgICBmaWxsUGF0dGVybiA9IHsg
KnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgKnBhcmFtZXRlcnMgfTsKLSAgICAgICAgfQor
ICAgICAgICBmaWxsUGF0dGVybiA9IHsgKnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgKnBh
cmFtZXRlcnMgfTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVDaGFuZ2UubV9jaGFuZ2VGbGFncy5j
b250YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6U2hhZG93Q2hhbmdlKSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421449</attachid>
            <date>2021-02-24 13:10:47 -0800</date>
            <delta_ts>2021-02-25 09:09:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222379-20210224131047.patch</filename>
            <type>text/plain</type>
            <size>8860</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThkN2NjNTIwMjZmMGFh
ZjkzZmVlMjc5ZTZmMWEyYzZmN2FmYzc3My4uMGY3MGIzMDk5YTY4MTNmYzJkYTAwYjFjNzgxNzFm
NmYxMjU4NmI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAyLTI0ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
U3Ryb2tlIGFuZCBmaWxsIFN0YXRlQ2hhbmdlRmxhZ3Mgc2hvdWxkIGJlIHNldCBleGNsdXNpdmVs
eSAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjM3
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM2MTAwMDU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgc3Ryb2tlIG9yIHRoZSBmaWxs
IGNoYW5nZXMgaW4gdGhlIEdyYXBoaWNzQ29udGV4dFN0YXRlLCB3ZSBuZWVkCisgICAgICAgIHRv
IGNsZWFyIHRoZSBvbGQgc3Ryb2tlIG9yIGZpbGwgZmxhZ3MuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0U3RhdGVDaGFuZ2U6OmFjY3VtdWxhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmg6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6U2V0U3RhdGU6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6U2V0U3RhdGU6OmRlY29kZSk6CisKIDIwMjEtMDItMjQgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0dQVSBQcm9jZXNzXSBJbiBw
cm9jZXNzIERpc3BsYXlMaXN0IGRpc3BsYXkgc2hvdWxkIGhhdmUgYSBoaWdoZXIgcHJlY2VkZW5j
ZSB0aGFuIEdQVVAgZGlzcGxheQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5kZXggN2Q4YTE2MWEyMjM5ZjUwMmU3NjBhYWI0
ODQzZjA5ZjFlY2IwZmNlZi4uYzNlNjk4M2NhNzMxNjhmMWViNTJkZjIwZWQzYWI4OTQ1Nzc1Nzk2
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHQuY3BwCkBAIC0xNDMsMTYgKzE0MywyMCBAQCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6
U3RhdGVDaGFuZ2VGbGFncyBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZTo6Y2hhbmdlc0Zyb21T
dAogdm9pZCBHcmFwaGljc0NvbnRleHRTdGF0ZUNoYW5nZTo6YWNjdW11bGF0ZShjb25zdCBHcmFw
aGljc0NvbnRleHRTdGF0ZSYgc3RhdGUsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5n
ZUZsYWdzIGZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgc2hvdWxkIG1vdmUgdG8g
R3JhcGhpY3NDb250ZXh0U3RhdGUuCi0gICAgaWYgKGZsYWdzLmNvbnRhaW5zQW55KHsgR3JhcGhp
Y3NDb250ZXh0U3RhdGU6OlN0cm9rZUNvbG9yQ2hhbmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6
U3Ryb2tlR3JhZGllbnRDaGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VQYXR0ZXJu
Q2hhbmdlIH0pKSB7CisgICAgYXV0byBzdHJva2VGbGFncyA9IHsgR3JhcGhpY3NDb250ZXh0U3Rh
dGU6OlN0cm9rZUNvbG9yQ2hhbmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3Ryb2tlR3JhZGll
bnRDaGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTdHJva2VQYXR0ZXJuQ2hhbmdlIH07Cisg
ICAgaWYgKGZsYWdzLmNvbnRhaW5zQW55KHN0cm9rZUZsYWdzKSkgewogICAgICAgICBtX3N0YXRl
LnN0cm9rZUNvbG9yID0gc3RhdGUuc3Ryb2tlQ29sb3I7CiAgICAgICAgIG1fc3RhdGUuc3Ryb2tl
R3JhZGllbnQgPSBzdGF0ZS5zdHJva2VHcmFkaWVudDsKICAgICAgICAgbV9zdGF0ZS5zdHJva2VQ
YXR0ZXJuID0gc3RhdGUuc3Ryb2tlUGF0dGVybjsKKyAgICAgICAgbV9jaGFuZ2VGbGFncy5yZW1v
dmUoc3Ryb2tlRmxhZ3MpOwogICAgIH0KIAotICAgIGlmIChmbGFncy5jb250YWluc0FueSh7IEdy
YXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsQ29sb3JDaGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRl
OjpGaWxsR3JhZGllbnRDaGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsUGF0dGVybkNo
YW5nZSB9KSkgeworICAgIGF1dG8gZmlsbEZsYWdzID0geyBHcmFwaGljc0NvbnRleHRTdGF0ZTo6
RmlsbENvbG9yQ2hhbmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbEdyYWRpZW50Q2hhbmdl
LCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbFBhdHRlcm5DaGFuZ2UgfTsKKyAgICBpZiAoZmxh
Z3MuY29udGFpbnNBbnkoZmlsbEZsYWdzKSkgewogICAgICAgICBtX3N0YXRlLmZpbGxDb2xvciA9
IHN0YXRlLmZpbGxDb2xvcjsKICAgICAgICAgbV9zdGF0ZS5maWxsR3JhZGllbnQgPSBzdGF0ZS5m
aWxsR3JhZGllbnQ7CiAgICAgICAgIG1fc3RhdGUuZmlsbFBhdHRlcm4gPSBzdGF0ZS5maWxsUGF0
dGVybjsKKyAgICAgICAgbV9jaGFuZ2VGbGFncy5yZW1vdmUoZmlsbEZsYWdzKTsKICAgICB9CiAK
ICAgICBpZiAoZmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlNoYWRvd0NoYW5n
ZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3Bs
YXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oCmluZGV4IDk4NmM3NDVkMDM3YzNi
M2U3ODg1NzUzZGRmZTQ5MjAwY2M2ZTcwMjEuLjdmMTkxMTI3NGY2YWY0NTBmZjk0Y2ZiZDA0YzA0
NDY3ZWFjNTA0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaApAQCAtMjkyLDMx
ICsyOTIsMjUgQEAgdm9pZCBTZXRTdGF0ZTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgYXV0byYgc3RhdGUgPSBtX3N0YXRlQ2hhbmdlLm1fc3RhdGU7CiAKICAgICBpZiAoY2hh
bmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hh
bmdlKSkgewotICAgICAgICBlbmNvZGVyIDw8ICEhc3RhdGUuc3Ryb2tlR3JhZGllbnQ7Ci0gICAg
ICAgIGlmIChzdGF0ZS5zdHJva2VHcmFkaWVudCkKLSAgICAgICAgICAgIGVuY29kZXIgPDwgKnN0
YXRlLnN0cm9rZUdyYWRpZW50OworICAgICAgICBBU1NFUlQoc3RhdGUuc3Ryb2tlR3JhZGllbnQp
OworICAgICAgICBlbmNvZGVyIDw8ICpzdGF0ZS5zdHJva2VHcmFkaWVudDsKICAgICB9CiAKICAg
ICBpZiAoY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZVBh
dHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgISFzdGF0ZS5zdHJva2VQYXR0ZXJu
OwotICAgICAgICBpZiAoYXV0byYgcGF0dGVybiA9IHN0YXRlLnN0cm9rZVBhdHRlcm4pIHsKLSAg
ICAgICAgICAgIGVuY29kZXIgPDwgcGF0dGVybi0+dGlsZUltYWdlKCkucmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyKCk7Ci0gICAgICAgICAgICBlbmNvZGVyIDw8IHBhdHRlcm4tPnBhcmFtZXRl
cnMoKTsKLSAgICAgICAgfQorICAgICAgICBBU1NFUlQoc3RhdGUuc3Ryb2tlUGF0dGVybik7Cisg
ICAgICAgIGVuY29kZXIgPDwgc3RhdGUuc3Ryb2tlUGF0dGVybi0+dGlsZUltYWdlKCkucmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyKCk7CisgICAgICAgIGVuY29kZXIgPDwgc3RhdGUuc3Ryb2tl
UGF0dGVybi0+cGFyYW1ldGVycygpOwogICAgIH0KIAogICAgIGlmIChjaGFuZ2VGbGFncy5jb250
YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbEdyYWRpZW50Q2hhbmdlKSkgewotICAgICAg
ICBlbmNvZGVyIDw8ICEhc3RhdGUuZmlsbEdyYWRpZW50OwotICAgICAgICBpZiAoc3RhdGUuZmls
bEdyYWRpZW50KQotICAgICAgICAgICAgZW5jb2RlciA8PCAqc3RhdGUuZmlsbEdyYWRpZW50Owor
ICAgICAgICBBU1NFUlQoc3RhdGUuZmlsbEdyYWRpZW50KTsKKyAgICAgICAgZW5jb2RlciA8PCAq
c3RhdGUuZmlsbEdyYWRpZW50OwogICAgIH0KIAogICAgIGlmIChjaGFuZ2VGbGFncy5jb250YWlu
cyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbFBhdHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIGVu
Y29kZXIgPDwgISFzdGF0ZS5maWxsUGF0dGVybjsKLSAgICAgICAgaWYgKGF1dG8mIHBhdHRlcm4g
PSBzdGF0ZS5maWxsUGF0dGVybikgewotICAgICAgICAgICAgZW5jb2RlciA8PCBwYXR0ZXJuLT50
aWxlSW1hZ2UoKS5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKTsKLSAgICAgICAgICAgIGVu
Y29kZXIgPDwgcGF0dGVybi0+cGFyYW1ldGVycygpOwotICAgICAgICB9CisgICAgICAgIEFTU0VS
VChzdGF0ZS5maWxsUGF0dGVybik7CisgICAgICAgIGVuY29kZXIgPDwgc3RhdGUuZmlsbFBhdHRl
cm4tPnRpbGVJbWFnZSgpLnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcigpOworICAgICAgICBl
bmNvZGVyIDw8IHN0YXRlLmZpbGxQYXR0ZXJuLT5wYXJhbWV0ZXJzKCk7CiAgICAgfQogCiAgICAg
aWYgKGNoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTaGFkb3dDaGFu
Z2UpKSB7CkBAIC0zODYsNzUgKzM4MCw0NyBAQCBPcHRpb25hbDxTZXRTdGF0ZT4gU2V0U3RhdGU6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIFBhdHRlcm5EYXRhIGZpbGxQYXR0ZXJuOwog
CiAgICAgaWYgKHN0YXRlQ2hhbmdlLm1fY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250
ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hhbmdlKSkgewotICAgICAgICBPcHRpb25hbDxib29s
PiBoYXNTdHJva2VHcmFkaWVudDsKLSAgICAgICAgZGVjb2RlciA+PiBoYXNTdHJva2VHcmFkaWVu
dDsKLSAgICAgICAgaWYgKCFoYXNTdHJva2VHcmFkaWVudC5oYXNWYWx1ZSgpKQorICAgICAgICBh
dXRvIHN0cm9rZUdyYWRpZW50ID0gR3JhZGllbnQ6OmRlY29kZShkZWNvZGVyKTsKKyAgICAgICAg
aWYgKCFzdHJva2VHcmFkaWVudCkKICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAK
LSAgICAgICAgaWYgKGhhc1N0cm9rZUdyYWRpZW50LnZhbHVlKCkpIHsKLSAgICAgICAgICAgIGF1
dG8gc3Ryb2tlR3JhZGllbnQgPSBHcmFkaWVudDo6ZGVjb2RlKGRlY29kZXIpOwotICAgICAgICAg
ICAgaWYgKCFzdHJva2VHcmFkaWVudCkKLSAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwotCi0gICAgICAgICAgICBzdGF0ZUNoYW5nZS5tX3N0YXRlLnN0cm9rZUdyYWRpZW50ID0g
V1RGTW92ZSgqc3Ryb2tlR3JhZGllbnQpOwotICAgICAgICB9CisgICAgICAgIHN0YXRlQ2hhbmdl
Lm1fc3RhdGUuc3Ryb2tlR3JhZGllbnQgPSBXVEZNb3ZlKCpzdHJva2VHcmFkaWVudCk7CiAgICAg
fQogCiAgICAgaWYgKHN0YXRlQ2hhbmdlLm1fY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3ND
b250ZXh0U3RhdGU6OlN0cm9rZVBhdHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIE9wdGlvbmFsPGJv
b2w+IGhhc1N0cm9rZVBhdHRlcm47Ci0gICAgICAgIGRlY29kZXIgPj4gaGFzU3Ryb2tlUGF0dGVy
bjsKLSAgICAgICAgaWYgKCFoYXNTdHJva2VQYXR0ZXJuLmhhc1ZhbHVlKCkpCisgICAgICAgIE9w
dGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyOworICAgICAgICBkZWNvZGVyID4+IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsK
KyAgICAgICAgaWYgKCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNTdHJva2VQYXR0ZXJuLnZhbHVl
KCkpIHsKLSAgICAgICAgICAgIE9wdGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4g
cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwotICAgICAgICAgICAgZGVjb2RlciA+PiByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI7Ci0gICAgICAgICAgICBpZiAoIXJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAg
ICAgICAgICAgCi0gICAgICAgICAgICBPcHRpb25hbDxQYXR0ZXJuOjpQYXJhbWV0ZXJzPiBwYXJh
bWV0ZXJzOwotICAgICAgICAgICAgZGVjb2RlciA+PiBwYXJhbWV0ZXJzOwotICAgICAgICAgICAg
aWYgKCFwYXJhbWV0ZXJzKQotICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cisg
ICAgICAgIE9wdGlvbmFsPFBhdHRlcm46OlBhcmFtZXRlcnM+IHBhcmFtZXRlcnM7CisgICAgICAg
IGRlY29kZXIgPj4gcGFyYW1ldGVyczsKKyAgICAgICAgaWYgKCFwYXJhbWV0ZXJzKQorICAgICAg
ICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgICAgICAgICAgc3Ryb2tlUGF0dGVybiA9
IHsgKnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgKnBhcmFtZXRlcnMgfTsKLSAgICAgICAg
fQorICAgICAgICBzdHJva2VQYXR0ZXJuID0geyAqcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
LCAqcGFyYW1ldGVycyB9OwogICAgIH0KIAogICAgIGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZs
YWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsR3JhZGllbnRDaGFuZ2UpKSB7
Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0ZpbGxHcmFkaWVudDsKLSAgICAgICAgZGVjb2Rl
ciA+PiBoYXNGaWxsR3JhZGllbnQ7Ci0gICAgICAgIGlmICghaGFzRmlsbEdyYWRpZW50Lmhhc1Zh
bHVlKCkpCisgICAgICAgIGF1dG8gZmlsbEdyYWRpZW50ID0gR3JhZGllbnQ6OmRlY29kZShkZWNv
ZGVyKTsKKyAgICAgICAgaWYgKCFmaWxsR3JhZGllbnQpCiAgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNGaWxsR3JhZGllbnQudmFsdWUoKSkgewotICAg
ICAgICAgICAgYXV0byBmaWxsR3JhZGllbnQgPSBHcmFkaWVudDo6ZGVjb2RlKGRlY29kZXIpOwot
ICAgICAgICAgICAgaWYgKCFmaWxsR3JhZGllbnQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKLQotICAgICAgICAgICAgc3RhdGVDaGFuZ2UubV9zdGF0ZS5maWxsR3JhZGll
bnQgPSBXVEZNb3ZlKCpmaWxsR3JhZGllbnQpOwotICAgICAgICB9CisgICAgICAgIHN0YXRlQ2hh
bmdlLm1fc3RhdGUuZmlsbEdyYWRpZW50ID0gV1RGTW92ZSgqZmlsbEdyYWRpZW50KTsKICAgICB9
CiAKICAgICBpZiAoc3RhdGVDaGFuZ2UubV9jaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0Nv
bnRleHRTdGF0ZTo6RmlsbFBhdHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+
IGhhc0ZpbGxQYXR0ZXJuOwotICAgICAgICBkZWNvZGVyID4+IGhhc0ZpbGxQYXR0ZXJuOwotICAg
ICAgICBpZiAoIWhhc0ZpbGxQYXR0ZXJuLmhhc1ZhbHVlKCkpCisgICAgICAgIE9wdGlvbmFsPFJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwor
ICAgICAgICBkZWNvZGVyID4+IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKKyAgICAgICAg
aWYgKCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNGaWxsUGF0dGVybi52YWx1ZSgpKSB7Ci0gICAg
ICAgICAgICBPcHRpb25hbDxSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI+IHJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllcjsKLSAgICAgICAgICAgIGRlY29kZXIgPj4gcmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyOwotICAgICAgICAgICAgaWYgKCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAgICAgICAg
T3B0aW9uYWw8UGF0dGVybjo6UGFyYW1ldGVycz4gcGFyYW1ldGVyczsKLSAgICAgICAgICAgIGRl
Y29kZXIgPj4gcGFyYW1ldGVyczsKLSAgICAgICAgICAgIGlmICghcGFyYW1ldGVycykKLSAgICAg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICBPcHRpb25hbDxQYXR0ZXJu
OjpQYXJhbWV0ZXJzPiBwYXJhbWV0ZXJzOworICAgICAgICBkZWNvZGVyID4+IHBhcmFtZXRlcnM7
CisgICAgICAgIGlmICghcGFyYW1ldGVycykKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxv
cHQ7CiAKLSAgICAgICAgICAgIGZpbGxQYXR0ZXJuID0geyAqcmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyLCAqcGFyYW1ldGVycyB9OwotICAgICAgICB9CisgICAgICAgIGZpbGxQYXR0ZXJuID0g
eyAqcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCAqcGFyYW1ldGVycyB9OwogICAgIH0KIAog
ICAgIGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4
dFN0YXRlOjpTaGFkb3dDaGFuZ2UpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421530</attachid>
            <date>2021-02-25 09:09:50 -0800</date>
            <delta_ts>2021-02-25 10:24:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222379-20210225090949.patch</filename>
            <type>text/plain</type>
            <size>11364</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUyODBhMzM2OGI5YTk5
MDA1M2IyYzdjM2Q2Y2I0OGJiNjE0MmFhNC4uMDNlYjFiMjNkOTM4MWEwYjRiNWIzNjU1YzMwMjcw
MWYwMmZlMzEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAyLTI1ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc10g
U3Ryb2tlIGFuZCBmaWxsIFN0YXRlQ2hhbmdlRmxhZ3Mgc2hvdWxkIGJlIHNldCBleGNsdXNpdmVs
eSAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMjM3
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM2MTAwMDU+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiB0aGUgc3Ryb2tlIG9yIHRoZSBmaWxs
IGNoYW5nZXMgaW4gdGhlIEdyYXBoaWNzQ29udGV4dFN0YXRlLCB3ZSBuZWVkCisgICAgICAgIHRv
IGNsZWFyIHRoZSBvbGQgc3Ryb2tlIG9yIGZpbGwgZmxhZ3MuCisKKyAgICAgICAgVGVzdDogZmFz
dC9jYW52YXMvc3Ryb2tlLXRleHQtYWZ0ZXItZ3JhZGllbnQtZmlsbC1jaGFuZ2UuaHRtbAorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dFN0YXRlQ2hhbmdlOjphY2N1bXVsYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5oOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNldFN0YXRlOjplbmNvZGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlNldFN0YXRlOjpkZWNvZGUpOgorCiAyMDIx
LTAyLTI1ICBBbGV4YW5kZXIgTWlraGF5bGVua28gIDxhbGV4bUBnbm9tZS5vcmc+CiAKICAgICAg
ICAgW0dUS10gQWR3YWl0YSBjb250cm9scyBoYXZlIGdsaXRjaHkgY29ybmVycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKaW5k
ZXggN2Q4YTE2MWEyMjM5ZjUwMmU3NjBhYWI0ODQzZjA5ZjFlY2IwZmNlZi4uYzNlNjk4M2NhNzMx
NjhmMWViNTJkZjIwZWQzYWI4OTQ1Nzc1Nzk2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC0xNDMsMTYgKzE0Mywy
MCBAQCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3RhdGVDaGFuZ2VGbGFncyBHcmFwaGljc0NvbnRl
eHRTdGF0ZUNoYW5nZTo6Y2hhbmdlc0Zyb21TdAogdm9pZCBHcmFwaGljc0NvbnRleHRTdGF0ZUNo
YW5nZTo6YWNjdW11bGF0ZShjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYgc3RhdGUsIEdyYXBo
aWNzQ29udGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdzIGZsYWdzKQogewogICAgIC8vIEZJWE1F
OiBUaGlzIGNvZGUgc2hvdWxkIG1vdmUgdG8gR3JhcGhpY3NDb250ZXh0U3RhdGUuCi0gICAgaWYg
KGZsYWdzLmNvbnRhaW5zQW55KHsgR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZUNvbG9yQ2hh
bmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3Ryb2tlR3JhZGllbnRDaGFuZ2UsIEdyYXBoaWNz
Q29udGV4dFN0YXRlOjpTdHJva2VQYXR0ZXJuQ2hhbmdlIH0pKSB7CisgICAgYXV0byBzdHJva2VG
bGFncyA9IHsgR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZUNvbG9yQ2hhbmdlLCBHcmFwaGlj
c0NvbnRleHRTdGF0ZTo6U3Ryb2tlR3JhZGllbnRDaGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRl
OjpTdHJva2VQYXR0ZXJuQ2hhbmdlIH07CisgICAgaWYgKGZsYWdzLmNvbnRhaW5zQW55KHN0cm9r
ZUZsYWdzKSkgewogICAgICAgICBtX3N0YXRlLnN0cm9rZUNvbG9yID0gc3RhdGUuc3Ryb2tlQ29s
b3I7CiAgICAgICAgIG1fc3RhdGUuc3Ryb2tlR3JhZGllbnQgPSBzdGF0ZS5zdHJva2VHcmFkaWVu
dDsKICAgICAgICAgbV9zdGF0ZS5zdHJva2VQYXR0ZXJuID0gc3RhdGUuc3Ryb2tlUGF0dGVybjsK
KyAgICAgICAgbV9jaGFuZ2VGbGFncy5yZW1vdmUoc3Ryb2tlRmxhZ3MpOwogICAgIH0KIAotICAg
IGlmIChmbGFncy5jb250YWluc0FueSh7IEdyYXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsQ29sb3JD
aGFuZ2UsIEdyYXBoaWNzQ29udGV4dFN0YXRlOjpGaWxsR3JhZGllbnRDaGFuZ2UsIEdyYXBoaWNz
Q29udGV4dFN0YXRlOjpGaWxsUGF0dGVybkNoYW5nZSB9KSkgeworICAgIGF1dG8gZmlsbEZsYWdz
ID0geyBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbENvbG9yQ2hhbmdlLCBHcmFwaGljc0NvbnRl
eHRTdGF0ZTo6RmlsbEdyYWRpZW50Q2hhbmdlLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbFBh
dHRlcm5DaGFuZ2UgfTsKKyAgICBpZiAoZmxhZ3MuY29udGFpbnNBbnkoZmlsbEZsYWdzKSkgewog
ICAgICAgICBtX3N0YXRlLmZpbGxDb2xvciA9IHN0YXRlLmZpbGxDb2xvcjsKICAgICAgICAgbV9z
dGF0ZS5maWxsR3JhZGllbnQgPSBzdGF0ZS5maWxsR3JhZGllbnQ7CiAgICAgICAgIG1fc3RhdGUu
ZmlsbFBhdHRlcm4gPSBzdGF0ZS5maWxsUGF0dGVybjsKKyAgICAgICAgbV9jaGFuZ2VGbGFncy5y
ZW1vdmUoZmlsbEZsYWdzKTsKICAgICB9CiAKICAgICBpZiAoZmxhZ3MuY29udGFpbnMoR3JhcGhp
Y3NDb250ZXh0U3RhdGU6OlNoYWRvd0NoYW5nZSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJ
dGVtcy5oCmluZGV4IDk4NmM3NDVkMDM3YzNiM2U3ODg1NzUzZGRmZTQ5MjAwY2M2ZTcwMjEuLjdm
MTkxMTI3NGY2YWY0NTBmZjk0Y2ZiZDA0YzA0NDY3ZWFjNTA0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1z
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0SXRlbXMuaApAQCAtMjkyLDMxICsyOTIsMjUgQEAgdm9pZCBTZXRTdGF0ZTo6ZW5j
b2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgYXV0byYgc3RhdGUgPSBtX3N0YXRlQ2hh
bmdlLm1fc3RhdGU7CiAKICAgICBpZiAoY2hhbmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250
ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hhbmdlKSkgewotICAgICAgICBlbmNvZGVyIDw8ICEh
c3RhdGUuc3Ryb2tlR3JhZGllbnQ7Ci0gICAgICAgIGlmIChzdGF0ZS5zdHJva2VHcmFkaWVudCkK
LSAgICAgICAgICAgIGVuY29kZXIgPDwgKnN0YXRlLnN0cm9rZUdyYWRpZW50OworICAgICAgICBB
U1NFUlQoc3RhdGUuc3Ryb2tlR3JhZGllbnQpOworICAgICAgICBlbmNvZGVyIDw8ICpzdGF0ZS5z
dHJva2VHcmFkaWVudDsKICAgICB9CiAKICAgICBpZiAoY2hhbmdlRmxhZ3MuY29udGFpbnMoR3Jh
cGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZVBhdHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIGVuY29k
ZXIgPDwgISFzdGF0ZS5zdHJva2VQYXR0ZXJuOwotICAgICAgICBpZiAoYXV0byYgcGF0dGVybiA9
IHN0YXRlLnN0cm9rZVBhdHRlcm4pIHsKLSAgICAgICAgICAgIGVuY29kZXIgPDwgcGF0dGVybi0+
dGlsZUltYWdlKCkucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCk7Ci0gICAgICAgICAgICBl
bmNvZGVyIDw8IHBhdHRlcm4tPnBhcmFtZXRlcnMoKTsKLSAgICAgICAgfQorICAgICAgICBBU1NF
UlQoc3RhdGUuc3Ryb2tlUGF0dGVybik7CisgICAgICAgIGVuY29kZXIgPDwgc3RhdGUuc3Ryb2tl
UGF0dGVybi0+dGlsZUltYWdlKCkucmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCk7CisgICAg
ICAgIGVuY29kZXIgPDwgc3RhdGUuc3Ryb2tlUGF0dGVybi0+cGFyYW1ldGVycygpOwogICAgIH0K
IAogICAgIGlmIChjaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6Rmls
bEdyYWRpZW50Q2hhbmdlKSkgewotICAgICAgICBlbmNvZGVyIDw8ICEhc3RhdGUuZmlsbEdyYWRp
ZW50OwotICAgICAgICBpZiAoc3RhdGUuZmlsbEdyYWRpZW50KQotICAgICAgICAgICAgZW5jb2Rl
ciA8PCAqc3RhdGUuZmlsbEdyYWRpZW50OworICAgICAgICBBU1NFUlQoc3RhdGUuZmlsbEdyYWRp
ZW50KTsKKyAgICAgICAgZW5jb2RlciA8PCAqc3RhdGUuZmlsbEdyYWRpZW50OwogICAgIH0KIAog
ICAgIGlmIChjaGFuZ2VGbGFncy5jb250YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbFBh
dHRlcm5DaGFuZ2UpKSB7Ci0gICAgICAgIGVuY29kZXIgPDwgISFzdGF0ZS5maWxsUGF0dGVybjsK
LSAgICAgICAgaWYgKGF1dG8mIHBhdHRlcm4gPSBzdGF0ZS5maWxsUGF0dGVybikgewotICAgICAg
ICAgICAgZW5jb2RlciA8PCBwYXR0ZXJuLT50aWxlSW1hZ2UoKS5yZW5kZXJpbmdSZXNvdXJjZUlk
ZW50aWZpZXIoKTsKLSAgICAgICAgICAgIGVuY29kZXIgPDwgcGF0dGVybi0+cGFyYW1ldGVycygp
OwotICAgICAgICB9CisgICAgICAgIEFTU0VSVChzdGF0ZS5maWxsUGF0dGVybik7CisgICAgICAg
IGVuY29kZXIgPDwgc3RhdGUuZmlsbFBhdHRlcm4tPnRpbGVJbWFnZSgpLnJlbmRlcmluZ1Jlc291
cmNlSWRlbnRpZmllcigpOworICAgICAgICBlbmNvZGVyIDw8IHN0YXRlLmZpbGxQYXR0ZXJuLT5w
YXJhbWV0ZXJzKCk7CiAgICAgfQogCiAgICAgaWYgKGNoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBo
aWNzQ29udGV4dFN0YXRlOjpTaGFkb3dDaGFuZ2UpKSB7CkBAIC0zODYsNzUgKzM4MCw0NyBAQCBP
cHRpb25hbDxTZXRTdGF0ZT4gU2V0U3RhdGU6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAg
IFBhdHRlcm5EYXRhIGZpbGxQYXR0ZXJuOwogCiAgICAgaWYgKHN0YXRlQ2hhbmdlLm1fY2hhbmdl
RmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZUdyYWRpZW50Q2hhbmdl
KSkgewotICAgICAgICBPcHRpb25hbDxib29sPiBoYXNTdHJva2VHcmFkaWVudDsKLSAgICAgICAg
ZGVjb2RlciA+PiBoYXNTdHJva2VHcmFkaWVudDsKLSAgICAgICAgaWYgKCFoYXNTdHJva2VHcmFk
aWVudC5oYXNWYWx1ZSgpKQorICAgICAgICBhdXRvIHN0cm9rZUdyYWRpZW50ID0gR3JhZGllbnQ6
OmRlY29kZShkZWNvZGVyKTsKKyAgICAgICAgaWYgKCFzdHJva2VHcmFkaWVudCkKICAgICAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICAgICAgaWYgKGhhc1N0cm9rZUdyYWRpZW50
LnZhbHVlKCkpIHsKLSAgICAgICAgICAgIGF1dG8gc3Ryb2tlR3JhZGllbnQgPSBHcmFkaWVudDo6
ZGVjb2RlKGRlY29kZXIpOwotICAgICAgICAgICAgaWYgKCFzdHJva2VHcmFkaWVudCkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgICAgICAgICBzdGF0ZUNoYW5n
ZS5tX3N0YXRlLnN0cm9rZUdyYWRpZW50ID0gV1RGTW92ZSgqc3Ryb2tlR3JhZGllbnQpOwotICAg
ICAgICB9CisgICAgICAgIHN0YXRlQ2hhbmdlLm1fc3RhdGUuc3Ryb2tlR3JhZGllbnQgPSBXVEZN
b3ZlKCpzdHJva2VHcmFkaWVudCk7CiAgICAgfQogCiAgICAgaWYgKHN0YXRlQ2hhbmdlLm1fY2hh
bmdlRmxhZ3MuY29udGFpbnMoR3JhcGhpY3NDb250ZXh0U3RhdGU6OlN0cm9rZVBhdHRlcm5DaGFu
Z2UpKSB7Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc1N0cm9rZVBhdHRlcm47Ci0gICAgICAg
IGRlY29kZXIgPj4gaGFzU3Ryb2tlUGF0dGVybjsKLSAgICAgICAgaWYgKCFoYXNTdHJva2VQYXR0
ZXJuLmhhc1ZhbHVlKCkpCisgICAgICAgIE9wdGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
Zmllcj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOworICAgICAgICBkZWNvZGVyID4+IHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKKyAgICAgICAgaWYgKCFyZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAg
IGlmIChoYXNTdHJva2VQYXR0ZXJuLnZhbHVlKCkpIHsKLSAgICAgICAgICAgIE9wdGlvbmFsPFJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwot
ICAgICAgICAgICAgZGVjb2RlciA+PiByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXI7Ci0gICAg
ICAgICAgICBpZiAoIXJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKLSAgICAgICAgICAgICAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OwotICAgICAgICAgICAgCi0gICAgICAgICAgICBPcHRpb25h
bDxQYXR0ZXJuOjpQYXJhbWV0ZXJzPiBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgZGVjb2RlciA+
PiBwYXJhbWV0ZXJzOwotICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXJzKQotICAgICAgICAgICAg
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAgIE9wdGlvbmFsPFBhdHRlcm46OlBhcmFt
ZXRlcnM+IHBhcmFtZXRlcnM7CisgICAgICAgIGRlY29kZXIgPj4gcGFyYW1ldGVyczsKKyAgICAg
ICAgaWYgKCFwYXJhbWV0ZXJzKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIAot
ICAgICAgICAgICAgc3Ryb2tlUGF0dGVybiA9IHsgKnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
ciwgKnBhcmFtZXRlcnMgfTsKLSAgICAgICAgfQorICAgICAgICBzdHJva2VQYXR0ZXJuID0geyAq
cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCAqcGFyYW1ldGVycyB9OwogICAgIH0KIAogICAg
IGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZsYWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0
YXRlOjpGaWxsR3JhZGllbnRDaGFuZ2UpKSB7Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0Zp
bGxHcmFkaWVudDsKLSAgICAgICAgZGVjb2RlciA+PiBoYXNGaWxsR3JhZGllbnQ7Ci0gICAgICAg
IGlmICghaGFzRmlsbEdyYWRpZW50Lmhhc1ZhbHVlKCkpCisgICAgICAgIGF1dG8gZmlsbEdyYWRp
ZW50ID0gR3JhZGllbnQ6OmRlY29kZShkZWNvZGVyKTsKKyAgICAgICAgaWYgKCFmaWxsR3JhZGll
bnQpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNG
aWxsR3JhZGllbnQudmFsdWUoKSkgewotICAgICAgICAgICAgYXV0byBmaWxsR3JhZGllbnQgPSBH
cmFkaWVudDo6ZGVjb2RlKGRlY29kZXIpOwotICAgICAgICAgICAgaWYgKCFmaWxsR3JhZGllbnQp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgICAgICAgICAgc3Rh
dGVDaGFuZ2UubV9zdGF0ZS5maWxsR3JhZGllbnQgPSBXVEZNb3ZlKCpmaWxsR3JhZGllbnQpOwot
ICAgICAgICB9CisgICAgICAgIHN0YXRlQ2hhbmdlLm1fc3RhdGUuZmlsbEdyYWRpZW50ID0gV1RG
TW92ZSgqZmlsbEdyYWRpZW50KTsKICAgICB9CiAKICAgICBpZiAoc3RhdGVDaGFuZ2UubV9jaGFu
Z2VGbGFncy5jb250YWlucyhHcmFwaGljc0NvbnRleHRTdGF0ZTo6RmlsbFBhdHRlcm5DaGFuZ2Up
KSB7Ci0gICAgICAgIE9wdGlvbmFsPGJvb2w+IGhhc0ZpbGxQYXR0ZXJuOwotICAgICAgICBkZWNv
ZGVyID4+IGhhc0ZpbGxQYXR0ZXJuOwotICAgICAgICBpZiAoIWhhc0ZpbGxQYXR0ZXJuLmhhc1Zh
bHVlKCkpCisgICAgICAgIE9wdGlvbmFsPFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcj4gcmVu
ZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOworICAgICAgICBkZWNvZGVyID4+IHJlbmRlcmluZ1Jl
c291cmNlSWRlbnRpZmllcjsKKyAgICAgICAgaWYgKCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIpCiAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgICAgIGlmIChoYXNG
aWxsUGF0dGVybi52YWx1ZSgpKSB7Ci0gICAgICAgICAgICBPcHRpb25hbDxSZW5kZXJpbmdSZXNv
dXJjZUlkZW50aWZpZXI+IHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcjsKLSAgICAgICAgICAg
IGRlY29kZXIgPj4gcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyOwotICAgICAgICAgICAgaWYg
KCFyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKLQotICAgICAgICAgICAgT3B0aW9uYWw8UGF0dGVybjo6UGFyYW1ldGVycz4g
cGFyYW1ldGVyczsKLSAgICAgICAgICAgIGRlY29kZXIgPj4gcGFyYW1ldGVyczsKLSAgICAgICAg
ICAgIGlmICghcGFyYW1ldGVycykKLSAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworICAgICAgICBPcHRpb25hbDxQYXR0ZXJuOjpQYXJhbWV0ZXJzPiBwYXJhbWV0ZXJzOworICAg
ICAgICBkZWNvZGVyID4+IHBhcmFtZXRlcnM7CisgICAgICAgIGlmICghcGFyYW1ldGVycykKKyAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICAgICAgICAgIGZpbGxQYXR0ZXJu
ID0geyAqcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCAqcGFyYW1ldGVycyB9OwotICAgICAg
ICB9CisgICAgICAgIGZpbGxQYXR0ZXJuID0geyAqcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
LCAqcGFyYW1ldGVycyB9OwogICAgIH0KIAogICAgIGlmIChzdGF0ZUNoYW5nZS5tX2NoYW5nZUZs
YWdzLmNvbnRhaW5zKEdyYXBoaWNzQ29udGV4dFN0YXRlOjpTaGFkb3dDaGFuZ2UpKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggN2E0ZDQ2YzYyZjU2MmUxNDJmOWRiOGQ0MDY5ZmZlNzAzYjE1ODExNy4uOWVjYWJiZDQ1ZDEx
NzE3NTU2ZDJlYmZmMTRjOGUyYmFlYTIyMDliMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIx
LTAyLTI1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFUgUHJvY2Vzc10gU3Ryb2tlIGFuZCBmaWxsIFN0YXRlQ2hhbmdlRmxhZ3Mgc2hvdWxkIGJlIHNl
dCBleGNsdXNpdmVseSAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMjM3OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM2MTAwMDU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9z
dHJva2UtdGV4dC1hZnRlci1ncmFkaWVudC1maWxsLWNoYW5nZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvY2FudmFzL3N0cm9rZS10ZXh0LWFmdGVyLWdyYWRpZW50LWZpbGwt
Y2hhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDIxLTAyLTI0ICBQZW5nIExpdSAgPHBlbmcubGl1NkBh
cHBsZS5jb20+CiAKICAgICAgICAgW0dQVVBdIFJlbW92ZSBkdXBsaWNhdGVkIGl0ZW1zIGluIExh
eW91dFRlc3RzL2dwdS1wcm9jZXNzL1Rlc3RFeHBlY3RhdGlvbnMgcmVsYXRlZCB0byBtZWRpYQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc3Ryb2tlLXRleHQtYWZ0ZXItZ3Jh
ZGllbnQtZmlsbC1jaGFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
c3Ryb2tlLXRleHQtYWZ0ZXItZ3JhZGllbnQtZmlsbC1jaGFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmNkNjhlMzYxMmFjZmYyNzkwN2MyZTM0MTI0YzBjYjdmMTQ4YmFlYTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zdHJva2UtdGV4dC1hZnRlci1ncmFk
aWVudC1maWxsLWNoYW5nZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitQYXNzZXMgaWYg
aXQgZG9lcyBub3QgY3Jhc2guCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvc3Ryb2tlLXRleHQtYWZ0ZXItZ3JhZGllbnQtZmlsbC1jaGFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL3N0cm9rZS10ZXh0LWFmdGVyLWdyYWRpZW50LWZpbGwtY2hhbmdlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzhlMTE4NDE1YWVjNjMxYzczYmM1ZjJmMDA3MjdkZDE3MmRhZGQyNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3N0cm9rZS10ZXh0LWFm
dGVyLWdyYWRpZW50LWZpbGwtY2hhbmdlLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPGJvZHk+Cisg
ICAgPHA+UGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKyAgICA8Y2FudmFzIGlkPSJj
IiB3aWR0aD0iNjAwIiBoZWlnaHQ9IjEwMCI+PC9jYW52YXM+CisgICAgPHNjcmlwdD4KKyAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisKKyAgICAgICAgdmFyIGNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJj
Iik7CisgICAgICAgIHZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgiMmQiKTsKKyAgICAgICAg
Y2FudmFzLndpZHRoICA9IDEwMDsKKyAgICAgICAgY2FudmFzLmhlaWdodCA9IDEwMDsKKworICAg
ICAgICB2YXIgZ3JlZW5HcmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAx
LCAxKTsKKyAgICAgICAgZ3JlZW5HcmFkaWVudC5hZGRDb2xvclN0b3AoMCwgImdyZWVuIik7Cisg
ICAgICAgIGdyZWVuR3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICJncmVlbiIpOworCisgICAgICAg
IHZhciByZWRHcmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCAxLCAxKTsK
KyAgICAgICAgcmVkR3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICJyZWQiKTsKKyAgICAgICAgcmVk
R3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsICJyZWQiKTsKKworICAgICAgICBjdHguZmlsbFN0eWxl
ID0gZ3JlZW5HcmFkaWVudDsKKyAgICAgICAgY3R4LmZpbGxSZWN0KDAsIDAsIDEwMCwgMTAwKTsK
KyAgICAgICAgY3R4LmZpbGxTdHlsZSA9IHJlZEdyYWRpZW50OworICAgICAgICBjdHguZm9udCA9
ICI1MDBweCBUaW1lcyI7CisgICAgICAgIGN0eC5zdHJva2VUZXh0KCJJIiwgLTUsIDEwMCk7Cisg
ICAgPC9zY3JpcHQ+Cis8Ym9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>