<?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>133892</bug_id>
          
          <creation_ts>2014-06-13 19:39:14 -0700</creation_ts>
          <short_desc>Masks disappear when layers become tiled</short_desc>
          <delta_ts>2014-06-14 10:41:34 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015593</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-13 19:39:14 -0700</bug_when>
    <thetext>Masks disappear when layers become tiled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015596</commentid>
    <comment_count>1</comment_count>
      <attachid>233099</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-13 19:50:55 -0700</bug_when>
    <thetext>Created attachment 233099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015602</commentid>
    <comment_count>2</comment_count>
      <attachid>233099</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-13 21:13:58 -0700</bug_when>
    <thetext>Comment on attachment 233099
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        There were several problems with tiled mask layers.

Nice!

&gt; Source/WebCore/ChangeLog:22
&gt; +            1. setting a bit on a layer to note that it&apos;s being used as a maks.

typo &quot;maks&quot;

&gt; LayoutTests/compositing/masks/become-tiled-mask.html:35
&gt; +    if (window.testRunner)

indentation of this script is wacky (some 2-space, some 4)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015668</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-14 10:41:34 -0700</bug_when>
    <thetext>https://trac.webkit.org/r169972</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233099</attachid>
            <date>2014-06-13 19:50:55 -0700</date>
            <delta_ts>2014-06-13 21:13:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133892-20140613195032.patch</filename>
            <type>text/plain</type>
            <size>28824</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5OTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODVkYzU1YTc4YWEwYzIz
MWVjYTdlOTkzMmVkMTEzNTI5ZDQ2NTFhYi4uMThiZTJkMDhkNGI1NGRmODMyNTljYzlkMWIxYWRk
MWNiMmVjYzgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE0LTA2LTEzICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1hc2tzIGRpc2Fw
cGVhciB3aGVuIGxheWVycyBiZWNvbWUgdGlsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzg5MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTcz
MDk3OTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBUaGVyZSB3ZXJlIHNldmVyYWwgcHJvYmxlbXMgd2l0aCB0aWxlZCBtYXNrIGxheWVy
cy4KKyAgICAgICAgCisgICAgICAgIEZpcnN0LCB3aGVuIGEgbGF5ZXIgYmVjYW1lIHRpbGVkIGl0
IGZhaWxlZCB0byByZS1hcHBseSB0aGUgcGxhdGZvcm0gbGF5ZXIKKyAgICAgICAgZm9yIGl0cyBt
YXNrOyBmaXhlZCBieSBhZGRpbmcgTWFza0xheWVyQ2hhbmdlZCB0byB0aGUgc2V0IG9mIGZsYWdz
IGluCisgICAgICAgIHN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoKS4KKyAgICAgICAgCisgICAgICAg
IFNlY29uZGx5LCBpbiBDQSwgYSBtYXNrIGxheWVyJ3Mgc3VwZXJsYXllciBpcyB0aGUgbGF5ZXIg
d2hpY2ggaXMgaXQgbWFza2luZywKKyAgICAgICAgc28gdGhlIGlmIChvbGRMYXllci0+c3VwZXJs
YXllcigpKS4uLiBjb2RlIGluIHN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoKSB3b3VsZAorICAgICAg
ICBlcnJvbmVvdXNseSB0cnkgdG8gc3dhcCBvdXQgYSBzdWJsYXllciBvbiB0aGUgc3VwZXJsYXll
ciB3aXRoIHRoZSBtYXNrLgorICAgICAgICAKKyAgICAgICAgVGhpcmRseSwgdGhlIG1hc2sgbGF5
ZXIgaXMgdXBkYXRlZCBhZnRlciBpdHMgaG9zdCBsYXllciwgYnV0IHdoZW4gdGhlIG1hc2sgbGF5
ZXIKKyAgICAgICAgYmVjb21lIHRpbGVkLCB0aGVyZSB3YXMgbm8gY29kZSB0aGF0IHVwZGF0ZWQg
dGhlIG1hc2sgcGxhdGZvcm0gbGF5ZXIgb24gaXRzCisgICAgICAgIGhvc3QgbGF5ZXIuIEZpeCBi
eToKKyAgICAgICAgICAgIDEuIHNldHRpbmcgYSBiaXQgb24gYSBsYXllciB0byBub3RlIHRoYXQg
aXQncyBiZWluZyB1c2VkIGFzIGEgbWFrcy4KKyAgICAgICAgICAgIDIuIHNldHRpbmcgdGhlIHBh
cmVudCBvZiBzdWNoIGEgbGF5ZXIgdG8gaXRzIGhvc3QgbGF5ZXIgKG1pbWlja2luZyBDQSkKKyAg
ICAgICAgICAgIDMuIHdoZW4gdGhlIG1hc2sgYmVjb21lcyB0aWxlZCwgZGlydHlpbmcgdGhlIE1h
c2tMYXllckNoYW5nZWQgYml0IG9uCisgICAgICAgICAgICAgICBpdHMgcGFyZW50IGFuZCBhZGRp
bmcgYSBjbGF1c2UgdG8gY29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKQorICAgICAg
ICAgICAgICAgdG8gdXBkYXRlIHRoZSBtYXNrIGxheWVyLgorICAgICAgICAKKyAgICAgICAgRmlu
YWxseSwgQVNTRVJUSU9OIEZBSUxFRDogb3duaW5nR3JhcGhpY3NMYXllcigpLT5pc0NvbW1pdHRp
bmdDaGFuZ2VzKCkgd291bGQKKyAgICAgICAgZmlyZSBiZWNhdXNlIHdlIGZhaWxlZCB0byBzZXQg
dGhlIG1faXNDb21taXR0aW5nQ2hhbmdlcyBmbGFnIHdoaWxlIGNvbW1pdHRpbmcKKyAgICAgICAg
dGhlIG1hc2sgbGF5ZXIuIEZpeCBieSBtb3ZpbmcgdGhlIFRlbXBvcmFyeUNoYW5nZTxib29sPiB0
aGF0IHNldHMgdGhpcyBmbGFnCisgICAgICAgIGludG8gY29tbWl0TGF5ZXJDaGFuZ2VzQmVmb3Jl
U3VibGF5ZXJzKCkgYW5kIGNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJzKCkuCisKKyAg
ICAgICAgVGVzdHM6IGNvbXBvc2l0aW5nL21hc2tzL2JlY29tZS10aWxlZC1tYXNrLmh0bWwKKyAg
ICAgICAgICAgICAgIGNvbXBvc2l0aW5nL21hc2tzL2NlYXNlLXRpbGVkLW1hc2suaHRtbAorICAg
ICAgICAgICAgICAgY29tcG9zaXRpbmcvbWFza3MvdGlsZWQtbWFzay5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OkdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllcjo6cmVtb3ZlRnJvbVBhcmVudCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpzZXRNYXNrTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldElzTWFza0xheWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmlzTWFza0xheWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnNldE1hc2tMYXllcik6IERlbGV0ZWQuCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6cmVtb3ZlRnJvbVBhcmVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnNldE1hc2tMYXllcik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVz
aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZUNvbW1pdENo
YW5nZXMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNo
YW5nZXNCZWZvcmVTdWJsYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNB
Ojpjb21taXRMYXllckNoYW5nZXNBZnRlclN1YmxheWVycyk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZVN1YmxheWVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ0E6OmVuc3VyZVN0cnVjdHVyYWxMYXllcik6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZU1hc2tMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ0E6OnJlcGxpY2F0ZWRMYXllclJvb3QpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpjcmVhdGVGaWx0ZXJBbmltYXRpb25zRnJvbUtleWZyYW1lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpwcm9wYWdhdGVMYXllckNoYW5n
ZVRvUmVwbGljYXMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjpmZXRjaENs
b25lTGF5ZXJzKToKKwogMjAxNC0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgY3NzIGppdCBjb21waWxlIG9uIGFybXY3Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNw
cAppbmRleCA5ZDU0MDAxZmNhMjMyZDliYjBkODVmOWNhNDMwNTljYjY2NGM4YmRiLi5hNjQ0Yjc3
YTA0ZTdlYzlmNjNjZmIxMmY1YjM5ZmE0M2FiZmIzZjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcApAQCAtOTAsNiArOTAsNyBA
QCBHcmFwaGljc0xheWVyOjpHcmFwaGljc0xheWVyKEdyYXBoaWNzTGF5ZXJDbGllbnQmIGNsaWVu
dCkKICAgICAsIG1fYXBwbGllc1BhZ2VTY2FsZShmYWxzZSkKICAgICAsIG1fc2hvd0RlYnVnQm9y
ZGVyKGZhbHNlKQogICAgICwgbV9zaG93UmVwYWludENvdW50ZXIoZmFsc2UpCisgICAgLCBtX2lz
TWFza0xheWVyKGZhbHNlKQogICAgICwgbV9wYWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWlu
dEFsbFdpdGhPdmVyZmxvd0NsaXApCiAgICAgLCBtX2NvbnRlbnRzT3JpZW50YXRpb24oQ29tcG9z
aXRpbmdDb29yZGluYXRlc1RvcERvd24pCiAgICAgLCBtX3BhcmVudCgwKQpAQCAtMjYwLDEwICsy
NjEsMjcgQEAgdm9pZCBHcmFwaGljc0xheWVyOjpyZW1vdmVGcm9tUGFyZW50KCkKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogCi0gICAgICAgIHNldFBhcmVudCgwKTsKKyAgICAgICAgc2V0UGFy
ZW50KG51bGxwdHIpOwogICAgIH0KIH0KIAordm9pZCBHcmFwaGljc0xheWVyOjpzZXRNYXNrTGF5
ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIpCit7CisgICAgaWYgKGxheWVyID09IG1fbWFza0xheWVy
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAobGF5ZXIpIHsKKyAgICAgICAgbGF5ZXItPnJl
bW92ZUZyb21QYXJlbnQoKTsKKyAgICAgICAgbGF5ZXItPnNldFBhcmVudCh0aGlzKTsKKyAgICAg
ICAgbGF5ZXItPnNldElzTWFza0xheWVyKHRydWUpOworICAgIH0gZWxzZSBpZiAobV9tYXNrTGF5
ZXIpIHsKKyAgICAgICAgbV9tYXNrTGF5ZXItPnNldFBhcmVudChudWxscHRyKTsKKyAgICAgICAg
bV9tYXNrTGF5ZXItPnNldElzTWFza0xheWVyKGZhbHNlKTsKKyAgICB9CisgICAgCisgICAgbV9t
YXNrTGF5ZXIgPSBsYXllcjsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyOjpub3RlRGV2aWNlT3JQ
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkSW5jbHVkaW5nRGVzY2VuZGFudHMoKQogewogICAgIGRldmlj
ZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IDMwNzVjZDFhY2MzN2Q4ZTcxM2FkMGQ0
YjkzMmMwYTNmMjVjMTMzZjAuLjdmNjk4NDE1ZDA0OTBlNzE2NmFiMmNkZWJlMDIxZmM2ZDM3YTY1
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xh
eWVyLmgKQEAgLTI2MSw4ICsyNjEsMTIgQEAgcHVibGljOgogICAgIHZvaWQgcmVtb3ZlQWxsQ2hp
bGRyZW4oKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlRnJvbVBhcmVudCgpOwogCisgICAgLy8g
VGhlIHBhcmVudCgpIG9mIGEgbWFza0xheWVyIGlzIHNldCB0byB0aGUgbGF5ZXIgYmVpbmcgbWFz
a2VkLgogICAgIEdyYXBoaWNzTGF5ZXIqIG1hc2tMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fbWFz
a0xheWVyOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNldE1hc2tMYXllcihHcmFwaGljc0xheWVyKiBs
YXllcikgeyBtX21hc2tMYXllciA9IGxheWVyOyB9CisgICAgdmlydHVhbCB2b2lkIHNldE1hc2tM
YXllcihHcmFwaGljc0xheWVyKik7CisKKyAgICB2b2lkIHNldElzTWFza0xheWVyKGJvb2wgaXNN
YXNrKSB7IG1faXNNYXNrTGF5ZXIgPSBpc01hc2s7IH0KKyAgICBib29sIGlzTWFza0xheWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9pc01hc2tMYXllcjsgfQogICAgIAogICAgIC8vIFRoZSBnaXZlbiBs
YXllciB3aWxsIHJlcGxpY2F0ZSB0aGlzIGxheWVyIGFuZCBpdHMgY2hpbGRyZW47IHRoZSByZXBs
aWNhIHJlbmRlcnMgYmVoaW5kIHRoaXMgbGF5ZXIuCiAgICAgdmlydHVhbCB2b2lkIHNldFJlcGxp
Y2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqKTsKQEAgLTU5Myw2ICs1OTcsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgYm9vbCBtX2FwcGxpZXNQYWdlU2NhbGUgOiAxOyAvLyBTZXQgZm9yIHRoZSBsYXll
ciB3aGljaCBoYXMgdGhlIHBhZ2Ugc2NhbGUgYXBwbGllZCB0byBpdC4KICAgICBib29sIG1fc2hv
d0RlYnVnQm9yZGVyIDogMTsKICAgICBib29sIG1fc2hvd1JlcGFpbnRDb3VudGVyIDogMTsKKyAg
ICBib29sIG1faXNNYXNrTGF5ZXIgOiAxOwogICAgIAogICAgIEdyYXBoaWNzTGF5ZXJQYWludGlu
Z1BoYXNlIG1fcGFpbnRpbmdQaGFzZTsKICAgICBDb21wb3NpdGluZ0Nvb3JkaW5hdGVzT3JpZW50
YXRpb24gbV9jb250ZW50c09yaWVudGF0aW9uOyAvLyBhZmZlY3RzIG9yaWVudGF0aW9uIG9mIGxh
eWVyIGNvbnRlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCA3ZDY0ZDMwYTExZGVjM2M0NDQ1NmQ5MzFh
ZjhmODgzY2UxZTUxMjhiLi5mMzY5NWNmZTI3MTkwYTgwNzk2MDY1YzljMDk0ODIzMmNhOGM3YjBm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGlj
c0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTQ1Niw3ICs0NTYsNyBAQCBib29sIEdyYXBoaWNzTGF5ZXJD
QTo6cmVwbGFjZUNoaWxkKEdyYXBoaWNzTGF5ZXIqIG9sZENoaWxkLCBHcmFwaGljc0xheWVyKiBu
ZXdDaAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnJlbW92ZUZyb21QYXJlbnQoKQogewogICAgIGlm
IChtX3BhcmVudCkKLSAgICAgICAgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBKj4obV9wYXJl
bnQpLT5ub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOworICAgICAgICB0b0dyYXBoaWNzTGF5ZXJDQSht
X3BhcmVudCktPm5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CiAgICAgR3JhcGhpY3NMYXllcjo6cmVt
b3ZlRnJvbVBhcmVudCgpOwogfQogCkBAIC00NzEsNyArNDcxLDcgQEAgdm9pZCBHcmFwaGljc0xh
eWVyQ0E6OnNldE1hc2tMYXllcihHcmFwaGljc0xheWVyKiBsYXllcikKICAgICBwcm9wYWdhdGVM
YXllckNoYW5nZVRvUmVwbGljYXMoKTsKICAgICAKICAgICBpZiAobV9yZXBsaWNhdGVkTGF5ZXIp
Ci0gICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fcmVwbGljYXRlZExheWVy
KS0+cHJvcGFnYXRlTGF5ZXJDaGFuZ2VUb1JlcGxpY2FzKCk7CisgICAgICAgIHRvR3JhcGhpY3NM
YXllckNBKG1fcmVwbGljYXRlZExheWVyKS0+cHJvcGFnYXRlTGF5ZXJDaGFuZ2VUb1JlcGxpY2Fz
KCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRSZXBsaWNhdGVkTGF5ZXIoR3JhcGhp
Y3NMYXllciogbGF5ZXIpCkBAIC0xMDM1LDcgKzEwMzUsNyBAQCBib29sIEdyYXBoaWNzTGF5ZXJD
QTo6cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGNvbnN0IFRyYW5zZm9y
bVN0YQogICAgIH0KIAogICAgIGlmIChtX21hc2tMYXllcikgewotICAgICAgICBHcmFwaGljc0xh
eWVyQ0EqIG1hc2tMYXllckNBID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBKj4obV9tYXNr
TGF5ZXIpOworICAgICAgICBHcmFwaGljc0xheWVyQ0EqIG1hc2tMYXllckNBID0gdG9HcmFwaGlj
c0xheWVyQ0EobV9tYXNrTGF5ZXIpOwogICAgICAgICBpZiAobWFza0xheWVyQ0EtPnJlY3Vyc2l2
ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChsb2NhbFN0YXRlKSkKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KQEAgLTEwNDQsMTMgKzEwNDQsMTMgQEAgYm9vbCBHcmFwaGlj
c0xheWVyQ0E6OnJlY3Vyc2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChjb25zdCBU
cmFuc2Zvcm1TdGEKICAgICBzaXplX3QgbnVtQ2hpbGRyZW4gPSBjaGlsZExheWVycy5zaXplKCk7
CiAgICAgCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGlsZHJlbjsgKytpKSB7Ci0g
ICAgICAgIEdyYXBoaWNzTGF5ZXJDQSogY3VyQ2hpbGQgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xh
eWVyQ0EqPihjaGlsZExheWVyc1tpXSk7CisgICAgICAgIEdyYXBoaWNzTGF5ZXJDQSogY3VyQ2hp
bGQgPSB0b0dyYXBoaWNzTGF5ZXJDQShjaGlsZExheWVyc1tpXSk7CiAgICAgICAgIGlmIChjdXJD
aGlsZC0+cmVjdXJzaXZlVmlzaWJsZVJlY3RDaGFuZ2VSZXF1aXJlc0ZsdXNoKGxvY2FsU3RhdGUp
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCiAgICAgaWYgKG1fcmVwbGljYUxh
eWVyKQotICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBKj4obV9yZXBsaWNh
TGF5ZXIpLT5yZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVzRmx1c2gobG9jYWxTdGF0
ZSkpCisgICAgICAgIGlmICh0b0dyYXBoaWNzTGF5ZXJDQShtX3JlcGxpY2FMYXllciktPnJlY3Vy
c2l2ZVZpc2libGVSZWN0Q2hhbmdlUmVxdWlyZXNGbHVzaChsb2NhbFN0YXRlKSkKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTExNTAsNiArMTE1
MCwxMiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlQ29tbWl0Q2hhbmdlcyhjb25z
dCBDb21taXRTdGF0ZSYgY29tbWl0U3RhdGUsIGNvbgogICAgIGlmICh2aXNpYmxlUmVjdCAhPSBt
X3Zpc2libGVSZWN0KSB7CiAgICAgICAgIG1fdW5jb21taXR0ZWRDaGFuZ2VzIHw9IFZpc2libGVS
ZWN0Q2hhbmdlZDsKICAgICAgICAgbV92aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0OworICAgICAg
ICAKKyAgICAgICAgaWYgKEdyYXBoaWNzTGF5ZXJDQSogbWFza0xheWVyID0gdG9HcmFwaGljc0xh
eWVyQ0EobV9tYXNrTGF5ZXIpKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyBhc3N1bWVz
IHRoYXQgdGhlIG1hc2sgbGF5ZXIgaGFzIHRoZSBzYW1lIGdlb21ldHJ5IGFzIHRoaXMgbGF5ZXIg
KHdoaWNoIGlzIGN1cnJlbnRseSBhbHdheXMgdHJ1ZSkuCisgICAgICAgICAgICBtYXNrTGF5ZXIt
Pm1fdW5jb21taXR0ZWRDaGFuZ2VzIHw9IFZpc2libGVSZWN0Q2hhbmdlZDsKKyAgICAgICAgICAg
IG1hc2tMYXllci0+bV92aXNpYmxlUmVjdCA9IHZpc2libGVSZWN0OworICAgICAgICB9CiAgICAg
fQogCiAjaWZkZWYgVklTSUJMRV9USUxFX1dBU0gKQEAgLTExODcsMzkgKzExOTMsMzEgQEAgdm9p
ZCBHcmFwaGljc0xheWVyQ0E6OnJlY3Vyc2l2ZUNvbW1pdENoYW5nZXMoY29uc3QgQ29tbWl0U3Rh
dGUmIGNvbW1pdFN0YXRlLCBjb24KICAgICBpZiAoYWZmZWN0ZWRCeVBhZ2VTY2FsZSkKICAgICAg
ICAgYmFzZVJlbGF0aXZlUG9zaXRpb24gKz0gbV9wb3NpdGlvbjsKICAgICAKLSAgICB7Ci0gICAg
ICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjb21taXR0aW5nQ2hhbmdlc0NoYW5nZShtX2lzQ29t
bWl0dGluZ0NoYW5nZXMsIHRydWUpOwotICAgICAgICBjb21taXRMYXllckNoYW5nZXNCZWZvcmVT
dWJsYXllcnMoY2hpbGRDb21taXRTdGF0ZSwgcGFnZVNjYWxlRmFjdG9yLCBiYXNlUmVsYXRpdmVQ
b3NpdGlvbiwgb2xkVmlzaWJsZVJlY3QpOwotICAgIH0KKyAgICBjb21taXRMYXllckNoYW5nZXNC
ZWZvcmVTdWJsYXllcnMoY2hpbGRDb21taXRTdGF0ZSwgcGFnZVNjYWxlRmFjdG9yLCBiYXNlUmVs
YXRpdmVQb3NpdGlvbiwgb2xkVmlzaWJsZVJlY3QpOwogCiAgICAgaWYgKGlzUnVubmluZ1RyYW5z
Zm9ybUFuaW1hdGlvbigpKSB7CiAgICAgICAgIGNoaWxkQ29tbWl0U3RhdGUuYW5jZXN0b3JIYXNU
cmFuc2Zvcm1BbmltYXRpb24gPSB0cnVlOwogICAgICAgICBhZmZlY3RlZEJ5VHJhbnNmb3JtQW5p
bWF0aW9uID0gdHJ1ZTsKICAgICB9CiAKLSAgICBpZiAobV9tYXNrTGF5ZXIpIHsKLSAgICAgICAg
R3JhcGhpY3NMYXllckNBKiBtYXNrTGF5ZXJDQSA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJD
QSo+KG1fbWFza0xheWVyKTsKLSAgICAgICAgbWFza0xheWVyQ0EtPmNvbW1pdExheWVyQ2hhbmdl
c0JlZm9yZVN1YmxheWVycyhjaGlsZENvbW1pdFN0YXRlLCBwYWdlU2NhbGVGYWN0b3IsIGJhc2VS
ZWxhdGl2ZVBvc2l0aW9uLCBtYXNrTGF5ZXJDQS0+dmlzaWJsZVJlY3QoKSk7Ci0gICAgfQorICAg
IGlmIChHcmFwaGljc0xheWVyQ0EqIG1hc2tMYXllciA9IHRvR3JhcGhpY3NMYXllckNBKG1fbWFz
a0xheWVyKSkKKyAgICAgICAgbWFza0xheWVyLT5jb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJs
YXllcnMoY2hpbGRDb21taXRTdGF0ZSwgcGFnZVNjYWxlRmFjdG9yLCBiYXNlUmVsYXRpdmVQb3Np
dGlvbiwgb2xkVmlzaWJsZVJlY3QpOwogCiAgICAgY29uc3QgVmVjdG9yPEdyYXBoaWNzTGF5ZXIq
PiYgY2hpbGRMYXllcnMgPSBjaGlsZHJlbigpOwogICAgIHNpemVfdCBudW1DaGlsZHJlbiA9IGNo
aWxkTGF5ZXJzLnNpemUoKTsKICAgICAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUNo
aWxkcmVuOyArK2kpIHsKLSAgICAgICAgR3JhcGhpY3NMYXllckNBKiBjdXJDaGlsZCA9IHN0YXRp
Y19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KGNoaWxkTGF5ZXJzW2ldKTsKKyAgICAgICAgR3JhcGhp
Y3NMYXllckNBKiBjdXJDaGlsZCA9IHRvR3JhcGhpY3NMYXllckNBKGNoaWxkTGF5ZXJzW2ldKTsK
ICAgICAgICAgY3VyQ2hpbGQtPnJlY3Vyc2l2ZUNvbW1pdENoYW5nZXMoY2hpbGRDb21taXRTdGF0
ZSwgbG9jYWxTdGF0ZSwgcGFnZVNjYWxlRmFjdG9yLCBiYXNlUmVsYXRpdmVQb3NpdGlvbiwgYWZm
ZWN0ZWRCeVBhZ2VTY2FsZSk7CiAgICAgfQogCi0gICAgaWYgKG1fcmVwbGljYUxheWVyKQotICAg
ICAgICBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ0EqPihtX3JlcGxpY2FMYXllciktPnJlY3Vy
c2l2ZUNvbW1pdENoYW5nZXMoY2hpbGRDb21taXRTdGF0ZSwgbG9jYWxTdGF0ZSwgcGFnZVNjYWxl
RmFjdG9yLCBiYXNlUmVsYXRpdmVQb3NpdGlvbiwgYWZmZWN0ZWRCeVBhZ2VTY2FsZSk7CisgICAg
aWYgKEdyYXBoaWNzTGF5ZXJDQSogcmVwbGljYUxheWVyID0gdG9HcmFwaGljc0xheWVyQ0EobV9y
ZXBsaWNhTGF5ZXIpKQorICAgICAgICByZXBsaWNhTGF5ZXItPnJlY3Vyc2l2ZUNvbW1pdENoYW5n
ZXMoY2hpbGRDb21taXRTdGF0ZSwgbG9jYWxTdGF0ZSwgcGFnZVNjYWxlRmFjdG9yLCBiYXNlUmVs
YXRpdmVQb3NpdGlvbiwgYWZmZWN0ZWRCeVBhZ2VTY2FsZSk7CiAKLSAgICBpZiAobV9tYXNrTGF5
ZXIpCi0gICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fbWFza0xheWVyKS0+
Y29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoY2hpbGRDb21taXRTdGF0ZSk7CisgICAg
aWYgKEdyYXBoaWNzTGF5ZXJDQSogbWFza0xheWVyID0gdG9HcmFwaGljc0xheWVyQ0EobV9tYXNr
TGF5ZXIpKQorICAgICAgICBtYXNrTGF5ZXItPmNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5
ZXJzKGNoaWxkQ29tbWl0U3RhdGUpOwogCi0gICAgewotICAgICAgICBUZW1wb3JhcnlDaGFuZ2U8
Ym9vbD4gY29tbWl0dGluZ0NoYW5nZXNDaGFuZ2UobV9pc0NvbW1pdHRpbmdDaGFuZ2VzLCB0cnVl
KTsKLSAgICAgICAgY29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoY2hpbGRDb21taXRT
dGF0ZSk7Ci0gICAgfQorICAgIGNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJzKGNoaWxk
Q29tbWl0U3RhdGUpOwogCiAgICAgaWYgKGFmZmVjdGVkQnlUcmFuc2Zvcm1BbmltYXRpb24gJiYg
bV9sYXllci0+bGF5ZXJUeXBlKCkgPT0gUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVUaWxlZEJh
Y2tpbmdMYXllcikKICAgICAgICAgY2xpZW50KCkubm90aWZ5Rmx1c2hCZWZvcmVEaXNwbGF5UmVm
cmVzaCh0aGlzKTsKQEAgLTEyNzAsNiArMTI2OCw4IEBAIGJvb2wgR3JhcGhpY3NMYXllckNBOjpw
bGF0Zm9ybUNBTGF5ZXJTaG91bGRUZW1wb3JhcmlseVJldGFpblRpbGVDb2hvcnRzKFBsYXRmb3Jt
CiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXll
cnMoQ29tbWl0U3RhdGUmIGNvbW1pdFN0YXRlLCBmbG9hdCBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0
IEZsb2F0UG9pbnQmIHBvc2l0aW9uUmVsYXRpdmVUb0Jhc2UsIGNvbnN0IEZsb2F0UmVjdCYgb2xk
VmlzaWJsZVJlY3QpCiB7CisgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNvbW1pdHRpbmdDaGFu
Z2VzQ2hhbmdlKG1faXNDb21taXR0aW5nQ2hhbmdlcywgdHJ1ZSk7CisKICAgICArK2NvbW1pdFN0
YXRlLnRyZWVEZXB0aDsKICAgICBpZiAobV9zdHJ1Y3R1cmFsTGF5ZXIpCiAgICAgICAgICsrY29t
bWl0U3RhdGUudHJlZURlcHRoOwpAQCAtMTM2NCw4ICsxMzY0LDEyIEBAIHZvaWQgR3JhcGhpY3NM
YXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoQ29tbWl0U3RhdGUmIGNv
bW1pdFN0YXRlCiAgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29udGVudHNSZWN0c0No
YW5nZWQpIC8vIE5lZWRzIHRvIGhhcHBlbiBiZWZvcmUgQ2hpbGRyZW5DaGFuZ2VkCiAgICAgICAg
IHVwZGF0ZUNvbnRlbnRzUmVjdHMoKTsKIAotICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAm
IE1hc2tMYXllckNoYW5nZWQpCisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgTWFza0xh
eWVyQ2hhbmdlZCkgewogICAgICAgICB1cGRhdGVNYXNrTGF5ZXIoKTsKKyAgICAgICAgLy8gSWYg
dGhlIG1hc2sgbGF5ZXIgYmVjb21lcyB0aWxlZCBpdCBjYW4gc2V0IHRoaXMgZmxhZyBhZ2Fpbi4g
Q2xlYXIgdGhlIGZsYWcgc28gdGhhdAorICAgICAgICAvLyBjb21taXRMYXllckNoYW5nZXNBZnRl
clN1YmxheWVycyBkb2Vzbid0IHVwZGF0ZSB0aGUgbWFzayBhZ2FpbiBpbiB0aGUgbm9ybWFsIGNh
c2UuCisgICAgICAgIG1fdW5jb21taXR0ZWRDaGFuZ2VzICY9IH5NYXNrTGF5ZXJDaGFuZ2VkOwor
ICAgIH0KIAogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENvbnRlbnRzTmVlZHNEaXNw
bGF5KQogICAgICAgICB1cGRhdGVDb250ZW50c05lZWRzRGlzcGxheSgpOwpAQCAtMTM5OCw2ICsx
NDAyLDExIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNBZnRlclN1
YmxheWVycyhDb21taXRTdGF0ZSYgY29tbWl0U3RhdGUpCiAgICAgaWYgKCFtX3VuY29tbWl0dGVk
Q2hhbmdlcykKICAgICAgICAgcmV0dXJuOwogCisgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNv
bW1pdHRpbmdDaGFuZ2VzQ2hhbmdlKG1faXNDb21taXR0aW5nQ2hhbmdlcywgdHJ1ZSk7CisKKyAg
ICBpZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBNYXNrTGF5ZXJDaGFuZ2VkKQorICAgICAgICB1
cGRhdGVNYXNrTGF5ZXIoKTsKKwogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENoaWxk
cmVuQ2hhbmdlZCkKICAgICAgICAgdXBkYXRlU3VibGF5ZXJMaXN0KGNvbW1pdFN0YXRlLnRyZWVE
ZXB0aCA+IGNNYXhMYXllclRyZWVEZXB0aCk7CiAKQEAgLTE0NDEsNyArMTQ1MCw3IEBAIHZvaWQg
R3JhcGhpY3NMYXllckNBOjp1cGRhdGVTdWJsYXllckxpc3QoYm9vbCBtYXhMYXllckRlcHRoUmVh
Y2hlZCkKIAogICAgIGlmIChtX3N0cnVjdHVyYWxMYXllcikgewogICAgICAgICBpZiAobV9yZXBs
aWNhTGF5ZXIpCi0gICAgICAgICAgICBzdHJ1Y3R1cmFsTGF5ZXJDaGlsZHJlbi5hcHBlbmQoc3Rh
dGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBKj4obV9yZXBsaWNhTGF5ZXIpLT5wcmltYXJ5TGF5ZXIo
KSk7CisgICAgICAgICAgICBzdHJ1Y3R1cmFsTGF5ZXJDaGlsZHJlbi5hcHBlbmQodG9HcmFwaGlj
c0xheWVyQ0EobV9yZXBsaWNhTGF5ZXIpLT5wcmltYXJ5TGF5ZXIoKSk7CiAgICAgCiAgICAgICAg
IHN0cnVjdHVyYWxMYXllckNoaWxkcmVuLmFwcGVuZChtX2xheWVyKTsKICAgICB9CkBAIC0xNDU2
LDcgKzE0NjUsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3VibGF5ZXJMaXN0KGJv
b2wgbWF4TGF5ZXJEZXB0aFJlYWNoZWQpCiAgICAgY29uc3QgVmVjdG9yPEdyYXBoaWNzTGF5ZXIq
PiYgY2hpbGRMYXllcnMgPSBjaGlsZHJlbigpOwogICAgIHNpemVfdCBudW1DaGlsZHJlbiA9IGNo
aWxkTGF5ZXJzLnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bUNoaWxkcmVu
OyArK2kpIHsKLSAgICAgICAgR3JhcGhpY3NMYXllckNBKiBjdXJDaGlsZCA9IHN0YXRpY19jYXN0
PEdyYXBoaWNzTGF5ZXJDQSo+KGNoaWxkTGF5ZXJzW2ldKTsKKyAgICAgICAgR3JhcGhpY3NMYXll
ckNBKiBjdXJDaGlsZCA9IHRvR3JhcGhpY3NMYXllckNBKGNoaWxkTGF5ZXJzW2ldKTsKICAgICAg
ICAgUGxhdGZvcm1DQUxheWVyKiBjaGlsZExheWVyID0gY3VyQ2hpbGQtPmxheWVyRm9yU3VwZXJs
YXllcigpOwogICAgICAgICBjaGlsZExpc3RGb3JTdWJsYXllcnMuYXBwZW5kKGNoaWxkTGF5ZXIp
OwogICAgIH0KQEAgLTE3NDEsNyArMTc1MCw3IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjplbnN1
cmVTdHJ1Y3R1cmFsTGF5ZXIoU3RydWN0dXJhbExheWVyUHVycG9zZSBwdXJwb3NlKQogCiAgICAg
Ly8gV2UndmUgY2hhbmdlZCB0aGUgbGF5ZXIgdGhhdCBvdXIgcGFyZW50IGFkZGVkIHRvIGl0cyBz
dWJsYXllciBsaXN0LCBzbyB0ZWxsIGl0IHRvIHVwZGF0ZQogICAgIC8vIHN1YmxheWVycyBhZ2Fp
biBpbiBpdHMgY29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKS4KLSAgICBzdGF0aWNf
Y2FzdDxHcmFwaGljc0xheWVyQ0EqPihwYXJlbnQoKSktPm5vdGVTdWJsYXllcnNDaGFuZ2VkKERv
bnRTY2hlZHVsZUZsdXNoKTsKKyAgICB0b0dyYXBoaWNzTGF5ZXJDQShwYXJlbnQoKSktPm5vdGVT
dWJsYXllcnNDaGFuZ2VkKERvbnRTY2hlZHVsZUZsdXNoKTsKIAogICAgIC8vIFNldCBwcm9wZXJ0
aWVzIG9mIG1fbGF5ZXIgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMsIHNpbmNlIHRoZXNlIGFyZSBl
eHByZXNzZWQgb24gb24gdGhlIHN0cnVjdHVyYWwgbGF5ZXIuCiAgICAgRmxvYXRQb2ludCBwb2lu
dChtX3NpemUud2lkdGgoKSAvIDIuMGYsIG1fc2l6ZS5oZWlnaHQoKSAvIDIuMGYpOwpAQCAtMjAz
NSwxMCArMjA0NCwxMCBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQ29udGVudHNSZWN0
cygpCiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVNYXNrTGF5ZXIoKQogewotICAgIFBs
YXRmb3JtQ0FMYXllciogbWFza0NBTGF5ZXIgPSBtX21hc2tMYXllciA/IHN0YXRpY19jYXN0PEdy
YXBoaWNzTGF5ZXJDQSo+KG1fbWFza0xheWVyKS0+cHJpbWFyeUxheWVyKCkgOiAwOworICAgIFBs
YXRmb3JtQ0FMYXllciogbWFza0NBTGF5ZXIgPSBtX21hc2tMYXllciA/IHRvR3JhcGhpY3NMYXll
ckNBKG1fbWFza0xheWVyKS0+cHJpbWFyeUxheWVyKCkgOiAwOwogICAgIG1fbGF5ZXItPnNldE1h
c2sobWFza0NBTGF5ZXIpOwogCi0gICAgTGF5ZXJNYXAqIG1hc2tMYXllckNsb25lTWFwID0gbV9t
YXNrTGF5ZXIgPyBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ0EqPihtX21hc2tMYXllciktPnBy
aW1hcnlMYXllckNsb25lcygpIDogMDsKKyAgICBMYXllck1hcCogbWFza0xheWVyQ2xvbmVNYXAg
PSBtX21hc2tMYXllciA/IHRvR3JhcGhpY3NMYXllckNBKG1fbWFza0xheWVyKS0+cHJpbWFyeUxh
eWVyQ2xvbmVzKCkgOiAwOwogICAgIAogICAgIGlmIChMYXllck1hcCogbGF5ZXJDbG9uZU1hcCA9
IG1fbGF5ZXJDbG9uZXMuZ2V0KCkpIHsKICAgICAgICAgTGF5ZXJNYXA6OmNvbnN0X2l0ZXJhdG9y
IGVuZCA9IGxheWVyQ2xvbmVNYXAtPmVuZCgpOwpAQCAtMjA5MSw3ICsyMTAwLDcgQEAgUGFzc1Jl
ZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IEdyYXBoaWNzTGF5ZXJDQTo6cmVwbGljYXRlZExheWVyUm9v
dChSZXBsaWNhU3RhdGUmIHIKICAgICBpZiAoIW1fcmVwbGljYXRlZExheWVyIHx8IHJlcGxpY2FT
dGF0ZS5yZXBsaWNhRGVwdGgoKSA9PSBSZXBsaWNhU3RhdGU6Om1heFJlcGxpY2FEZXB0aCkKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBHcmFwaGljc0xheWVyQ0EqIHJlcGxpY2F0ZWRMYXllciA9
IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fcmVwbGljYXRlZExheWVyKTsKKyAgICBH
cmFwaGljc0xheWVyQ0EqIHJlcGxpY2F0ZWRMYXllciA9IHRvR3JhcGhpY3NMYXllckNBKG1fcmVw
bGljYXRlZExheWVyKTsKICAgICAKICAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBjbG9uZWRM
YXllclJvb3QgPSByZXBsaWNhdGVkTGF5ZXItPmZldGNoQ2xvbmVMYXllcnModGhpcywgcmVwbGlj
YVN0YXRlLCBSb290Q2xvbmVMZXZlbCk7CiAgICAgRmxvYXRQb2ludCBjbG9uZVJvb3RQb3NpdGlv
biA9IHJlcGxpY2F0ZWRMYXllci0+cG9zaXRpb25Gb3JDbG9uZVJvb3RMYXllcigpOwpAQCAtMjQy
Myw3ICsyNDMyLDcgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmNyZWF0ZUZpbHRlckFuaW1hdGlv
bnNGcm9tS2V5ZnJhbWVzKGNvbnN0IEtleWZyYW1lVmFsdWVMaXMKICAgICBpbnQgbGlzdEluZGV4
ID0gdmFsaWRhdGVGaWx0ZXJPcGVyYXRpb25zKHZhbHVlTGlzdCk7CiAgICAgaWYgKGxpc3RJbmRl
eCA8IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgCisKICAgICBjb25zdCBGaWx0
ZXJPcGVyYXRpb25zJiBvcGVyYXRpb25zID0gc3RhdGljX2Nhc3Q8Y29uc3QgRmlsdGVyQW5pbWF0
aW9uVmFsdWUmPih2YWx1ZUxpc3QuYXQobGlzdEluZGV4KSkudmFsdWUoKTsKICAgICAvLyBNYWtl
IHN1cmUgdGhlIHBsYXRmb3JtIGxheWVyIGRpZG4ndCBmYWxsYmFjayB0byB1c2luZyBzb2Z0d2Fy
ZSBmaWx0ZXIgY29tcG9zaXRpbmcgaW5zdGVhZC4KICAgICBpZiAoIWZpbHRlcnNDYW5CZUNvbXBv
c2l0ZWQob3BlcmF0aW9ucykpCkBAIC0zMDA2LDExICszMDE1LDE3IEBAIHZvaWQgR3JhcGhpY3NM
YXllckNBOjpzd2FwRnJvbU9yVG9UaWxlZExheWVyKGJvb2wgdXNlVGlsZWRMYXllcikKICAgICAg
ICAgbV9sYXllci0+YXBwZW5kU3VibGF5ZXIobV92aXNpYmxlVGlsZVdhc2hMYXllci5nZXQoKSk7
CiAjZW5kaWYKIAotICAgIC8vIFNraXAgdGhpcyBzdGVwIGlmIHdlIGRvbid0IGhhdmUgYSBzdXBl
cmxheWVyLiBUaGlzIGlzIHByb2JhYmx5IGEgYmVuaWduCi0gICAgLy8gY2FzZSB0aGF0IGhhcHBl
bnMgd2hpbGUgcmVzdHJ1Y3R1cmluZyB0aGUgbGF5ZXIgdHJlZSwgYW5kIGFsc28gb2NjdXJzIHdp
dGgKLSAgICAvLyBXZWJLaXQyIHBhZ2Ugb3ZlcmxheXMsIHdoaWNoIGNhbiBiZWNvbWUgdGlsZWQg
YnV0IGFyZSBvdXQtb2YtdHJlZS4KLSAgICBpZiAob2xkTGF5ZXItPnN1cGVybGF5ZXIoKSkKKyAg
ICBpZiAoaXNNYXNrTGF5ZXIoKSkgeworICAgICAgICAvLyBBIG1hc2sgbGF5ZXIncyBzdXBlcmxh
eWVyIGlzIHRoZSBsYXllciB0aGF0IGl0IG1hc2tzLiBTZXQgdGhlIE1hc2tMYXllckNoYW5nZWQg
ZGlydHkgYml0CisgICAgICAgIC8vIHNvIHRoYXQgdGhlIHBhcmVudCB3aWxsIGZpeCB1cCB0aGUg
cGxhdGZvcm0gbGF5ZXJzIGluIGNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJzKCkuCisg
ICAgICAgIGlmIChHcmFwaGljc0xheWVyKiBwYXJlbnRMYXllciA9IHBhcmVudCgpKQorICAgICAg
ICAgICAgdG9HcmFwaGljc0xheWVyQ0EocGFyZW50TGF5ZXIpLT5ub3RlTGF5ZXJQcm9wZXJ0eUNo
YW5nZWQoTWFza0xheWVyQ2hhbmdlZCk7CisgICAgfSBlbHNlIGlmIChvbGRMYXllci0+c3VwZXJs
YXllcigpKSB7CisgICAgICAgIC8vIFNraXAgdGhpcyBzdGVwIGlmIHdlIGRvbid0IGhhdmUgYSBz
dXBlcmxheWVyLiBUaGlzIGlzIHByb2JhYmx5IGEgYmVuaWduCisgICAgICAgIC8vIGNhc2UgdGhh
dCBoYXBwZW5zIHdoaWxlIHJlc3RydWN0dXJpbmcgdGhlIGxheWVyIHRyZWUsIGFuZCBhbHNvIG9j
Y3VycyB3aXRoCisgICAgICAgIC8vIFdlYktpdDIgcGFnZSBvdmVybGF5cywgd2hpY2ggY2FuIGJl
Y29tZSB0aWxlZCBidXQgYXJlIG91dC1vZi10cmVlLgogICAgICAgICBvbGRMYXllci0+c3VwZXJs
YXllcigpLT5yZXBsYWNlU3VibGF5ZXIob2xkTGF5ZXIuZ2V0KCksIG1fbGF5ZXIuZ2V0KCkpOwor
ICAgIH0KIAogICAgIG1fdW5jb21taXR0ZWRDaGFuZ2VzIHw9IENoaWxkcmVuQ2hhbmdlZAogICAg
ICAgICB8IEdlb21ldHJ5Q2hhbmdlZApAQCAtMzAyMyw2ICszMDM4LDcgQEAgdm9pZCBHcmFwaGlj
c0xheWVyQ0E6OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoYm9vbCB1c2VUaWxlZExheWVyKQogICAg
ICAgICB8IENvbnRlbnRzU2NhbGVDaGFuZ2VkCiAgICAgICAgIHwgQWNjZWxlcmF0ZXNEcmF3aW5n
Q2hhbmdlZAogICAgICAgICB8IEZpbHRlcnNDaGFuZ2VkCisgICAgICAgIHwgTWFza0xheWVyQ2hh
bmdlZAogICAgICAgICB8IE9wYWNpdHlDaGFuZ2VkCiAgICAgICAgIHwgRGVidWdJbmRpY2F0b3Jz
Q2hhbmdlZDsKICAgICAKQEAgLTMxNDMsMTIgKzMxNTksMTIgQEAgRmxvYXRQb2ludCBHcmFwaGlj
c0xheWVyQ0E6OnBvc2l0aW9uRm9yQ2xvbmVSb290TGF5ZXIoKSBjb25zdAogdm9pZCBHcmFwaGlj
c0xheWVyQ0E6OnByb3BhZ2F0ZUxheWVyQ2hhbmdlVG9SZXBsaWNhcygpCiB7CiAgICAgZm9yIChH
cmFwaGljc0xheWVyKiBjdXJyTGF5ZXIgPSB0aGlzOyBjdXJyTGF5ZXI7IGN1cnJMYXllciA9IGN1
cnJMYXllci0+cGFyZW50KCkpIHsKLSAgICAgICAgR3JhcGhpY3NMYXllckNBKiBjdXJyTGF5ZXJD
QSA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KGN1cnJMYXllcik7CisgICAgICAgIEdy
YXBoaWNzTGF5ZXJDQSogY3VyckxheWVyQ0EgPSB0b0dyYXBoaWNzTGF5ZXJDQShjdXJyTGF5ZXIp
OwogICAgICAgICBpZiAoIWN1cnJMYXllckNBLT5oYXNDbG9uZUxheWVycygpKQogICAgICAgICAg
ICAgYnJlYWs7CiAKICAgICAgICAgaWYgKGN1cnJMYXllckNBLT5yZXBsaWNhTGF5ZXIoKSkKLSAg
ICAgICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KGN1cnJMYXllckNBLT5yZXBs
aWNhTGF5ZXIoKSktPm5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChSZXBsaWNhdGVkTGF5ZXJDaGFu
Z2VkKTsKKyAgICAgICAgICAgIHRvR3JhcGhpY3NMYXllckNBKGN1cnJMYXllckNBLT5yZXBsaWNh
TGF5ZXIoKSktPm5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChSZXBsaWNhdGVkTGF5ZXJDaGFuZ2Vk
KTsKICAgICB9CiB9CiAKQEAgLTMxNjEsNyArMzE3Nyw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1D
QUxheWVyPiBHcmFwaGljc0xheWVyQ0E6OmZldGNoQ2xvbmVMYXllcnMoR3JhcGhpY3NMYXllciog
cmVwCiAgICAgZW5zdXJlQ2xvbmVMYXllcnMocmVwbGljYVN0YXRlLmNsb25lSUQoKSwgcHJpbWFy
eUxheWVyLCBzdHJ1Y3R1cmFsTGF5ZXIsIGNvbnRlbnRzTGF5ZXIsIGNvbnRlbnRzQ2xpcHBpbmdM
YXllciwgY2xvbmVMZXZlbCk7CiAKICAgICBpZiAobV9tYXNrTGF5ZXIpIHsKLSAgICAgICAgUmVm
UHRyPFBsYXRmb3JtQ0FMYXllcj4gbWFza0Nsb25lID0gc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXll
ckNBKj4obV9tYXNrTGF5ZXIpLT5mZXRjaENsb25lTGF5ZXJzKHJlcGxpY2FSb290LCByZXBsaWNh
U3RhdGUsIEludGVybWVkaWF0ZUNsb25lTGV2ZWwpOworICAgICAgICBSZWZQdHI8UGxhdGZvcm1D
QUxheWVyPiBtYXNrQ2xvbmUgPSB0b0dyYXBoaWNzTGF5ZXJDQShtX21hc2tMYXllciktPmZldGNo
Q2xvbmVMYXllcnMocmVwbGljYVJvb3QsIHJlcGxpY2FTdGF0ZSwgSW50ZXJtZWRpYXRlQ2xvbmVM
ZXZlbCk7CiAgICAgICAgIHByaW1hcnlMYXllci0+c2V0TWFzayhtYXNrQ2xvbmUuZ2V0KCkpOwog
ICAgIH0KIApAQCAtMzE4OCw3ICszMjA0LDcgQEAgUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+
IEdyYXBoaWNzTGF5ZXJDQTo6ZmV0Y2hDbG9uZUxheWVycyhHcmFwaGljc0xheWVyKiByZXAKICAg
ICBpZiAobV9yZXBsaWNhTGF5ZXIgJiYgbV9yZXBsaWNhTGF5ZXIgIT0gcmVwbGljYVJvb3QpIHsK
ICAgICAgICAgLy8gV2UgaGF2ZSBuZXN0ZWQgcmVwbGljYXMuIEFzayB0aGUgcmVwbGljYSBsYXll
ciBmb3IgYSBjbG9uZSBvZiBpdHMgY29udGVudHMuCiAgICAgICAgIHJlcGxpY2FTdGF0ZS5zZXRC
cmFuY2hUeXBlKFJlcGxpY2FTdGF0ZTo6UmVwbGljYUJyYW5jaCk7Ci0gICAgICAgIHJlcGxpY2FM
YXllciA9IHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fcmVwbGljYUxheWVyKS0+ZmV0
Y2hDbG9uZUxheWVycyhyZXBsaWNhUm9vdCwgcmVwbGljYVN0YXRlLCBSb290Q2xvbmVMZXZlbCk7
CisgICAgICAgIHJlcGxpY2FMYXllciA9IHRvR3JhcGhpY3NMYXllckNBKG1fcmVwbGljYUxheWVy
KS0+ZmV0Y2hDbG9uZUxheWVycyhyZXBsaWNhUm9vdCwgcmVwbGljYVN0YXRlLCBSb290Q2xvbmVM
ZXZlbCk7CiAgICAgICAgIHJlcGxpY2FTdGF0ZS5zZXRCcmFuY2hUeXBlKFJlcGxpY2FTdGF0ZTo6
Q2hpbGRCcmFuY2gpOwogICAgIH0KIApAQCAtMzIyMSw3ICszMjM3LDcgQEAgUGFzc1JlZlB0cjxQ
bGF0Zm9ybUNBTGF5ZXI+IEdyYXBoaWNzTGF5ZXJDQTo6ZmV0Y2hDbG9uZUxheWVycyhHcmFwaGlj
c0xheWVyKiByZXAKIAogICAgICAgICBzaXplX3QgbnVtQ2hpbGRyZW4gPSBjaGlsZExheWVycy5z
aXplKCk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtQ2hpbGRyZW47ICsraSkg
ewotICAgICAgICAgICAgR3JhcGhpY3NMYXllckNBKiBjdXJDaGlsZCA9IHN0YXRpY19jYXN0PEdy
YXBoaWNzTGF5ZXJDQSo+KGNoaWxkTGF5ZXJzW2ldKTsKKyAgICAgICAgICAgIEdyYXBoaWNzTGF5
ZXJDQSogY3VyQ2hpbGQgPSB0b0dyYXBoaWNzTGF5ZXJDQShjaGlsZExheWVyc1tpXSk7CiAKICAg
ICAgICAgICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IGNoaWxkTGF5ZXIgPSBjdXJDaGlsZC0+
ZmV0Y2hDbG9uZUxheWVycyhyZXBsaWNhUm9vdCwgcmVwbGljYVN0YXRlLCBJbnRlcm1lZGlhdGVD
bG9uZUxldmVsKTsKICAgICAgICAgICAgIGlmIChjaGlsZExheWVyKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMxMGRmNzcy
NWUyM2FiMGEwNTUwNDFmNDY1Mzg0MmY4YjM4ODg4ZDYuLjhjM2VhZTljYzAyOTI0NWI4ZDU1MTgz
NmY2NWJkOGQ0YjQzMDE4YmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wNi0xMyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYXNrcyBkaXNh
cHBlYXIgd2hlbiBsYXllcnMgYmVjb21lIHRpbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM4OTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE3
MzA5NzkzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgVGVzdHMgZm9yIG1hc2tpbmcgYXMgdGhleSBnbyBpbnRvIGFuZCBvdXQgb2YgdGls
ZWQgbW9kZS4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL21hc2tzL2JlY29tZS10aWxlZC1tYXNr
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL21hc2tzL2JlY29t
ZS10aWxlZC1tYXNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL21hc2tzL2Nl
YXNlLXRpbGVkLW1hc2stZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvbWFza3MvY2Vhc2UtdGlsZWQtbWFzay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3Np
dGluZy9tYXNrcy90aWxlZC1tYXNrLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNv
bXBvc2l0aW5nL21hc2tzL3RpbGVkLW1hc2suaHRtbDogQWRkZWQuCisKIDIwMTQtMDYtMTMgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxNjk5MzkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9tYXNrcy9iZWNvbWUtdGlsZWQtbWFzay1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvbWFza3MvYmVjb21lLXRpbGVkLW1hc2stZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hMTlmOTVmNTcwZWNkZTNlZTIzYzJkNGNmMjc4Yzk2ZWFlNzRkNDY5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbWFza3MvYmVjb21lLXRpbGVkLW1hc2st
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICAgIC5jb250YWluZXIgeworICAgICAgICBoZWlnaHQ6IDMwMHB4
OworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNr
OworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgfQorCisgICAgICAuYm94IHsKKyAg
ICAgICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAgd2lkdGg6IDI4MDBweDsKKyAgICAgICAgYm9y
ZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7Cisg
ICAgICB9CisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGVaKDApOworICAgICAgfQorCisgICAgICAubWFza2VkIHsKKyAgICAgICAgLXdlYmtp
dC1tYXNrLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAg
ICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdC14OworICAgICAgfQorCisgIDwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgY29udGFpbmVy
Ij4KKyAgICAgICAgPGRpdiBpZD0iYm94IiBjbGFzcz0iY29tcG9zaXRlZCBtYXNrZWQgYm94Ij48
L2Rpdj4gCisgICAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL21hc2tzL2JlY29tZS10aWxlZC1tYXNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9tYXNrcy9iZWNvbWUtdGlsZWQtbWFzay5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmMxYjc1YjY0NmRjY2JiNDBiMjRmZDY5ODhhNzJjOTRlYzgyNjI3NTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9tYXNrcy9iZWNvbWUtdGlsZWQtbWFzay5odG1s
CkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxl
PgorICAgICAgLmNvbnRhaW5lciB7CisgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAgICAgIHdp
ZHRoOiA0MDBweDsKKyAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7CisgICAgICAgIG92
ZXJmbG93OiBoaWRkZW47CisgICAgICB9CisKKyAgICAgIC5ib3ggeworICAgICAgICBoZWlnaHQ6
IDMwMHB4OworICAgICAgICB3aWR0aDogNDEwcHg7CisgICAgICAgIGJvcmRlcjogMXB4IHNvbGlk
IGJsYWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OworICAgICAgfQorCisgICAg
ICAubGFyZ2UuYm94IHsKKyAgICAgICAgd2lkdGg6IDI4MDBweDsKKyAgICAgIH0gICAgICAKKwor
ICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRl
WigwKTsKKyAgICAgIH0KKworICAgICAgLm1hc2tlZCB7CisgICAgICAgIC13ZWJraXQtbWFzay1p
bWFnZTogdXJsKC4uL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Vi
a2l0LW1hc2stcmVwZWF0OiByZXBlYXQteDsKKyAgICAgIH0KKworICA8L3N0eWxlPgorICA8c2Ny
aXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworCisgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAgICB3aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2JveCcpLmNsYXNzTGlzdC5hZGQoJ2xhcmdlJyk7CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgfSwgMCk7
CisgICAgfQorICAgIAorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0
LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgICA8ZGl2IGNsYXNz
PSJjb21wb3NpdGVkIGNvbnRhaW5lciI+CisgICAgICAgIDxkaXYgaWQ9ImJveCIgY2xhc3M9ImNv
bXBvc2l0ZWQgbWFza2VkIGJveCI+PC9kaXY+IAorICAgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9tYXNrcy9jZWFzZS10aWxl
ZC1tYXNrLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9tYXNrcy9jZWFz
ZS10aWxlZC1tYXNrLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRkODc1YmUzYTJlNGJiZGMw
MjVlMDE2OWMxZmMyZThmYWU1NjNiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL21hc2tzL2NlYXNlLXRpbGVkLW1hc2stZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDM3IEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAgIC5j
b250YWluZXIgeworICAgICAgICBoZWlnaHQ6IDMwMHB4OworICAgICAgICB3aWR0aDogNDAwcHg7
CisgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOworICAgICAgICBvdmVyZmxvdzogaGlk
ZGVuOworICAgICAgfQorCisgICAgICAuYm94IHsKKyAgICAgICAgaGVpZ2h0OiAzMDBweDsKKyAg
ICAgICAgd2lkdGg6IDQxMHB4OworICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JheTsKKyAgICAgIH0KKyAgICAgIC5jb21wb3NpdGVk
IHsKKyAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CisgICAgICB9CisK
KyAgICAgIC5tYXNrZWQgeworICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IHVybCguLi9yZXNv
dXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDog
cmVwZWF0LXg7CisgICAgICB9CisKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisgICAg
PGRpdiBjbGFzcz0iY29tcG9zaXRlZCBjb250YWluZXIiPgorICAgICAgICA8ZGl2IGlkPSJib3gi
IGNsYXNzPSJjb21wb3NpdGVkIG1hc2tlZCBib3giPjwvZGl2PiAKKyAgICA8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbWFza3Mv
Y2Vhc2UtdGlsZWQtbWFzay5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbWFza3MvY2Vh
c2UtdGlsZWQtbWFzay5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3ZWNmN2IzMzllM2Q1NTQ1ZThjNmY1ZmY5
MTM0ODBhMzI5YzIwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9tYXNrcy9jZWFzZS10aWxlZC1tYXNrLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBF
PgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgICAuY29udGFpbmVyIHsKKyAgICAg
ICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAgd2lkdGg6IDQwMHB4OworICAgICAgICBib3JkZXI6
IDJweCBzb2xpZCBibGFjazsKKyAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICAgIH0KKwor
ICAgICAgLmJveCB7CisgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAgICAgIHdpZHRoOiA0MTBw
eDsKKyAgICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IGdyYXk7CisgICAgICB9CisKKyAgICAgIC5sYXJnZS5ib3ggeworICAgICAgICB3aWR0
aDogMjgwMHB4OworICAgICAgfSAgICAgIAorCisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgICAgfQorCisgICAgICAubWFz
a2VkIHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2FscGhh
LWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdC14Owor
ICAgICAgfQorCisgIDwvc3R5bGU+CisgIDxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICBmdW5jdGlvbiBk
b1Rlc3QoKQorICAgIHsKKyAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykuY2xhc3NMaXN0LnJlbW92ZSgnbGFy
Z2UnKTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgICB9LCAwKTsKKyAgICB9CisgICAgCisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKworICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgY29udGFpbmVyIj4K
KyAgICAgICAgPGRpdiBpZD0iYm94IiBjbGFzcz0iY29tcG9zaXRlZCBtYXNrZWQgbGFyZ2UgYm94
Ij48L2Rpdj4gCisgICAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL21hc2tzL3RpbGVkLW1hc2stZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL21hc2tzL3RpbGVkLW1hc2stZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jM2U4MWMzNWM2ZjVjMzkxYzA0M2JiYTU5MTcxMjFhZDkzZDVjMmUzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbWFza3MvdGlsZWQtbWFzay1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVhZD4K
KyAgPHN0eWxlPgorICAgICAgLmNvbnRhaW5lciB7CisgICAgICAgIGhlaWdodDogMzAwcHg7Cisg
ICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7Cisg
ICAgICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgICB9CisKKyAgICAgIC5ib3ggeworICAgICAg
ICBoZWlnaHQ6IDMwMHB4OworICAgICAgICB3aWR0aDogNDEwcHg7CisgICAgICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsYWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OworICAgICAg
fQorICAgICAgLmNvbXBvc2l0ZWQgeworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlWigwKTsKKyAgICAgIH0KKworICAgICAgLm1hc2tlZCB7CisgICAgICAgIC13ZWJraXQtbWFz
ay1pbWFnZTogdXJsKC4uL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAt
d2Via2l0LW1hc2stcmVwZWF0OiByZXBlYXQteDsKKyAgICAgIH0KKworICA8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+CisKKyAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGNvbnRhaW5lciI+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQgbWFza2VkIGJveCI+PC9kaXY+IAorICAgIDwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9tYXNrcy90aWxlZC1tYXNrLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9tYXNr
cy90aWxlZC1tYXNrLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFkNzA5OGYyYjRiYmE1ODRjNjQ2ODg4Yzg4
Yjc3N2M4MDg1NDhkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L21hc2tzL3RpbGVkLW1hc2suaHRtbApAQCAtMCwwICsxLDM3IEBACis8IURPQ1RZUEU+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAgIC5jb250YWluZXIgeworICAgICAgICBoZWln
aHQ6IDMwMHB4OworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGJvcmRlcjogMnB4IHNv
bGlkIGJsYWNrOworICAgICAgICBvdmVyZmxvdzogaGlkZGVuOworICAgICAgfQorCisgICAgICAu
Ym94IHsKKyAgICAgICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAgd2lkdGg6IDI4MDBweDsKKyAg
ICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IGdyYXk7CisgICAgICB9CisgICAgICAuY29tcG9zaXRlZCB7CisgICAgICAgIC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgICAgfQorCisgICAgICAubWFza2VkIHsKKyAgICAg
ICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoLi4vcmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBu
Zyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVhdC14OworICAgICAgfQorCisg
IDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICAgIDxkaXYgY2xhc3M9ImNvbXBvc2l0ZWQg
Y29udGFpbmVyIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBtYXNrZWQgYm94Ij48
L2Rpdj4gCisgICAgPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="257595"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>