<?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>144502</bug_id>
          
          <creation_ts>2015-05-01 15:12:32 -0700</creation_ts>
          <short_desc>Avoid compositing updates after style recalcs which have no compositing implications</short_desc>
          <delta_ts>2015-05-01 19:34:27 -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>InRadar</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>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090893</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-05-01 15:12:32 -0700</bug_when>
    <thetext>Avoid compositing updates after style recalcs which have no compositing implications</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090900</commentid>
    <comment_count>1</comment_count>
      <attachid>252176</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-05-01 15:25:07 -0700</bug_when>
    <thetext>Created attachment 252176
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090902</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-05-01 15:26:57 -0700</bug_when>
    <thetext>rdar://problem/20592758</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090974</commentid>
    <comment_count>3</comment_count>
      <attachid>252176</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-01 16:44:33 -0700</bug_when>
    <thetext>Comment on attachment 252176
Patch

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

&gt; Source/WebCore/rendering/RenderLayerCompositor.cpp:4219
&gt; +void RenderLayerCompositor::startTrackingCompositingUpdates()
&gt; +{
&gt; +    m_compositingUpdateCount = 0;
&gt; +}
&gt; +
&gt; +unsigned RenderLayerCompositor::compositingUpdateCount() const
&gt; +{
&gt; +    return m_compositingUpdateCount;
&gt; +}

Can these go inside of some #If?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091034</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-05-01 19:34:27 -0700</bug_when>
    <thetext>https://trac.webkit.org/r183710</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252176</attachid>
            <date>2015-05-01 15:25:07 -0700</date>
            <delta_ts>2015-05-01 16:44:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144502-20150501152355.patch</filename>
            <type>text/plain</type>
            <size>17475</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODlkOThiNDQ2ZGE0MWJl
Njc4ZjkwYmFlODFiMWEzNTZhNmE0NDYzZS4uNzIwMmM3ODY2YmViZTkyOGFjNmQ4ZmE0OWZkYmRi
OWJhZTg5YjI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE1LTA1LTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGNvbXBv
c2l0aW5nIHVwZGF0ZXMgYWZ0ZXIgc3R5bGUgcmVjYWxjcyB3aGljaCBoYXZlIG5vIGNvbXBvc2l0
aW5nIGltcGxpY2F0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQ0NTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisg
ICAgICAgIAorICAgICAgICBBZnRlciByMTgzNDYxLCB3ZSBoYXZlIHJlbGlhYmxlIGluZm9ybWF0
aW9uIGFib3V0IHdoZXRoZXIgYSBzdHlsZSBjaGFuZ2Ugd2l0aCB6ZXJvCisgICAgICAgIGRpZmYg
Y2FuIGJlIHJlbGlhYmx5IGlnbm9yZWQuIFVzZSB0aGF0IGluZm9ybWF0aW9uIHRvIHRyYWNrIHdo
ZXRoZXIgYSBnaXZlbgorICAgICAgICByZWNhbGNTdHlsZSgpIGRvZXMgYW55dGhpbmcgd2hpY2gg
c2hvdWxkIGZvcmNlIGEgY29tcG9zaXRpbmcgdXBkYXRlLgorICAgICAgICAKKyAgICAgICAgVGhp
cyBlbGltaW5hdGVzIHVwIHRvIDQwJSBvZiB0aGUgcG9zdC1yZWNhbGNTdHlsZSBjb21wb3NpdGlu
ZyB1cGRhdGVzIG9uIHNvbWUgcGFnZXMuCisgICAgICAgIAorICAgICAgICBBZGQgSW50ZXJuYWxz
IEFQSSB0byB0ZXN0LgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL3VwZGF0ZXMvbm8tc3R5
bGUtY2hhbmdlLXVwZGF0ZXMuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWNhbGNTdHlsZSk6IFRlbGwgdGhlIEZyYW1lVmll
dyB3ZSdyZSBnb2luZyB0byByZWNhbGMgc3R5bGUuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp3aWxsUmVjYWxjU3R5bGUpOiBQYXNz
IGl0IG9uIHRvIHRoZSBjb21wb3NpdG9yLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1
cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU3R5bGVDaGFuZ2UpOiBNb3ZlIHRoZSBjb2RlCisg
ICAgICAgIHRoYXQgd2FzIGhlcmUgaW50byBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmRpZFJlY2Fs
Y1N0eWxlV2l0aE5vUGVuZGluZ0xheW91dCgpLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OndpbGxSZWNhbGNTdHlsZSk6IFJlc2V0
IHRoZSBtX2xheWVyTmVlZHNDb21wb3NpdGluZ1VwZGF0ZSBmbGFnLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRSZWNhbGNTdHlsZVdpdGhOb1BlbmRpbmdMYXlv
dXQpOiBCYWlsIG9uIHRoZSB1cGRhdGUgaWYKKyAgICAgICAgbm8gbGF5ZXJzIGNoYW5nZWQuCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzKTogTG9nZ2luZy4gSW5jcmVtZW50IG1fY29tcG9zaXRpbmdVcGRhdGVDb3VudCwKKyAg
ICAgICAgd2hpY2ggaXMgdXNlZCBmb3IgdGVzdGluZy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJTdHlsZUNoYW5nZWQpOiBTZXQgdGhlIG1fbGF5ZXJOZWVk
c0NvbXBvc2l0aW5nVXBkYXRlIGZsYWcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnN0YXJ0VHJhY2tpbmdDb21wb3NpdGluZ1VwZGF0ZXMpOiBSZXNldCB0aGUgY291
bnRlci4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcG9zaXRp
bmdVcGRhdGVDb3VudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsczo6c3RhcnRUcmFja2luZ0NvbXBvc2l0aW5nVXBkYXRlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbHM6OmNvbXBvc2l0aW5nVXBkYXRlQ291bnQpOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAy
MDE1LTA0LTMwICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBD
bGVhbiB1cDogUmVtb3ZlIHVubmVjZXNzYXJ5IHJ1bnRpbWUgY29tcHV0YXRpb24gb2Ygc3RyaW5n
IGxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggNWRhZTE4NmE2ODc4NmNhNGExOTBj
ZWFlODI0NWU3ODJlYTY5MDQ0OC4uM2JiNDE5OGFiZTNiMjYzYzU5NTViOWZlZDIwM2Y3MjVjZGRk
MzY2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCkBAIC0xNzQ4LDYgKzE3NDgsOCBAQCB2b2lk
IERvY3VtZW50OjpyZWNhbGNTdHlsZShTdHlsZTo6Q2hhbmdlIGNoYW5nZSkKIAogICAgIG1fc3R5
bGVTaGVldENvbGxlY3Rpb24uZmx1c2hQZW5kaW5nVXBkYXRlcygpOwogCisgICAgZnJhbWVWaWV3
LndpbGxSZWNhbGNTdHlsZSgpOworCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2FsY3VsYXRlU3R5bGUo
KnRoaXMpOwogCiAgICAgLy8gRklYTUU6IFdlIG5ldmVyIHJlc2V0IHRoaXMgZmxhZ3MuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggOTQ3ODRlN2U5YTI2MDI1NmNmY2ExN2IxYjZhZWE2
ZWI2MjhjNTBiMC4uMTc3NGQ5N2Y5YzQ5NjM5ZWIyYjlmZTEzMzE5MGY4OWM0YWYxNGU4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNzI4LDYgKzcyOCwxNSBAQCB2b2lkIEZyYW1l
Vmlldzo6Y2FsY3VsYXRlU2Nyb2xsYmFyTW9kZXNGb3JMYXlvdXQoU2Nyb2xsYmFyTW9kZSYgaE1v
ZGUsIFNjcm9sbGJhcgogICAgIH0gICAgCiB9CiAKK3ZvaWQgRnJhbWVWaWV3Ojp3aWxsUmVjYWxj
U3R5bGUoKQoreworICAgIFJlbmRlclZpZXcqIHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3
KCk7CisgICAgaWYgKCFyZW5kZXJWaWV3KQorICAgICAgICByZXR1cm47CisKKyAgICByZW5kZXJW
aWV3LT5jb21wb3NpdG9yKCkud2lsbFJlY2FsY1N0eWxlKCk7Cit9CisKIHZvaWQgRnJhbWVWaWV3
Ojp1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU3R5bGVDaGFuZ2UoKQogewogICAgIFJlbmRl
clZpZXcqIHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3KCk7CkBAIC03MzgsMTAgKzc0Nyw3
IEBAIHZvaWQgRnJhbWVWaWV3Ojp1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyU3R5bGVDaGFu
Z2UoKQogICAgIGlmIChpblByZUxheW91dFN0eWxlVXBkYXRlKCkgfHwgbGF5b3V0UGVuZGluZygp
IHx8IHJlbmRlclZpZXctPm5lZWRzTGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIFJl
bmRlckxheWVyQ29tcG9zaXRvciYgY29tcG9zaXRvciA9IHJlbmRlclZpZXctPmNvbXBvc2l0b3Io
KTsKLSAgICAvLyBUaGlzIGNhbGwgd2lsbCBtYWtlIHN1cmUgdGhlIGNhY2hlZCBoYXNBY2NlbGVy
YXRlZENvbXBvc2l0aW5nIGlzIHVwZGF0ZWQgZnJvbSB0aGUgcHJlZgotICAgIGNvbXBvc2l0b3Iu
Y2FjaGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nRmxhZ3MoKTsKLSAgICBjb21wb3NpdG9yLnVwZGF0
ZUNvbXBvc2l0aW5nTGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlQWZ0ZXJTdHlsZUNoYW5nZSk7Cisg
ICAgcmVuZGVyVmlldy0+Y29tcG9zaXRvcigpLmRpZFJlY2FsY1N0eWxlV2l0aE5vUGVuZGluZ0xh
eW91dCgpOwogfQogCiB2b2lkIEZyYW1lVmlldzo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRl
ckxheW91dCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA2MGE4ZGVkZjE3NTIwOGFjOWU0
NDJjZjFmMjNjMTBlZWQ2YjBkMDY0Li5jNTExN2ZkZDdmMGY3NWU5NTkwMDE3ZGZlZGZkYWRkYjBj
YmRiZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTE0Nyw2ICsxNDcsNyBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKGRv
dWJsZSBtb25vdG9uaWNBbmltYXRpb25TdGFydFRpbWUpOwogI2VuZGlmCiAKKyAgICB2b2lkIHdp
bGxSZWNhbGNTdHlsZSgpOwogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclN0
eWxlQ2hhbmdlKCk7CiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVyc0FmdGVyTGF5b3V0
KCk7CiAgICAgYm9vbCBmbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzRnJhbWUoRnJhbWUqIHJv
b3RGcmFtZUZvckZsdXNoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggYzVlMzYzMTdjYTgyOGVjNjZlZmE5NWYzMDRiNjY0
YzA5NmU1MzRlYy4uM2RlYWY5OWZmNmU3YWNmODhhOGZjN2MyNWI2MTFhMDUxOGRkYWJlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKQEAgLTM4NCw2ICszODQsMjAgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnNldENv
bXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQoYm9vbCBuZWVkUmVidWlsZCkKICAgICAgICAgbV9j
b21wb3NpdGluZ0xheWVyc05lZWRSZWJ1aWxkID0gbmVlZFJlYnVpbGQ7CiB9CiAKK3ZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp3aWxsUmVjYWxjU3R5bGUoKQoreworICAgIG1fbGF5ZXJOZWVk
c0NvbXBvc2l0aW5nVXBkYXRlID0gZmFsc2U7Cit9CisKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjpkaWRSZWNhbGNTdHlsZVdpdGhOb1BlbmRpbmdMYXlvdXQoKQoreworICAgIGlmICghbV9s
YXllck5lZWRzQ29tcG9zaXRpbmdVcGRhdGUpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBj
YWNoZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGbGFncygpOworICAgIHVwZGF0ZUNvbXBvc2l0aW5n
TGF5ZXJzKENvbXBvc2l0aW5nVXBkYXRlQWZ0ZXJTdHlsZUNoYW5nZSk7Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpjdXN0b21Qb3NpdGlvbkZvclZpc2libGVSZWN0Q29tcHV0YXRp
b24oY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgRmxvYXRQb2ludCYgcG9zaXRp
b24pIGNvbnN0CiB7CiAgICAgaWYgKGdyYXBoaWNzTGF5ZXIgIT0gbV9zY3JvbGxMYXllci5nZXQo
KSkKQEAgLTY1Niw2ICs2NzAsOCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y2FuY2Vs
Q29tcG9zaXRpbmdMYXllclVwZGF0ZSgpCiAKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1
cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlVHlwZSwg
UmVuZGVyTGF5ZXIqIHVwZGF0ZVJvb3QpCiB7CisgICAgTE9HKENvbXBvc2l0aW5nLCAiUmVuZGVy
TGF5ZXJDb21wb3NpdG9yICVwIHVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzICVkICVwIiwgdGhpcywg
dXBkYXRlVHlwZSwgdXBkYXRlUm9vdCk7CisKICAgICBtX3VwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJz
VGltZXIuc3RvcCgpOwogCiAgICAgQVNTRVJUKCFtX3JlbmRlclZpZXcuZG9jdW1lbnQoKS5pblBh
Z2VDYWNoZSgpKTsKQEAgLTY3NCw2ICs2OTAsOCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQog
ICAgIGlmICghbV9yZWV2YWx1YXRlQ29tcG9zaXRpbmdBZnRlckxheW91dCAmJiAhbV9jb21wb3Np
dGluZykKICAgICAgICAgcmV0dXJuOwogCisgICAgKyttX2NvbXBvc2l0aW5nVXBkYXRlQ291bnQ7
CisKICAgICBBbmltYXRpb25VcGRhdGVCbG9jayBhbmltYXRpb25VcGRhdGVCbG9jaygmbV9yZW5k
ZXJWaWV3LmZyYW1lVmlldygpLmZyYW1lKCkuYW5pbWF0aW9uKCkpOwogCiAgICAgVGVtcG9yYXJ5
Q2hhbmdlPGJvb2w+IHBvc3RMYXlvdXRDaGFuZ2UobV9pblBvc3RMYXlvdXRVcGRhdGUsIHRydWUp
OwpAQCAtNzEwLDYgKzcyOCw4IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVD
b21wb3NpdGluZ0xheWVycyhDb21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgaWYgKGlz
RnVsbFVwZGF0ZSAmJiB1cGRhdGVUeXBlID09IENvbXBvc2l0aW5nVXBkYXRlQWZ0ZXJMYXlvdXQp
CiAgICAgICAgIG1fcmVldmFsdWF0ZUNvbXBvc2l0aW5nQWZ0ZXJMYXlvdXQgPSBmYWxzZTsKIAor
ICAgIExPRyhDb21wb3NpdGluZywgIiBjaGVja0ZvckhpZXJhcmNoeVVwZGF0ZSAlZCwgbmVlZEdl
b21ldHJ5VXBkYXRlICVkIiwgY2hlY2tGb3JIaWVyYXJjaHlVcGRhdGUsIG5lZWRIaWVyYXJjaHlV
cGRhdGUpOworCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGRvdWJsZSBzdGFydFRpbWUgPSAwOwog
ICAgIGlmIChjb21wb3NpdGluZ0xvZ0VuYWJsZWQoKSkgewpAQCAtOTIwLDYgKzk0MCw4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpsYXllclN0eWxlQ2hhbmdlZChTdHlsZURpZmZlcmVu
Y2UgZGlmZiwgUmVuZGVyTGF5ZXImCiAgICAgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlRXF1
YWwpCiAgICAgICAgIHJldHVybjsKIAorICAgIG1fbGF5ZXJOZWVkc0NvbXBvc2l0aW5nVXBkYXRl
ID0gdHJ1ZTsKKwogICAgIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHlsZSA9IGxheWVyLnJlbmRl
cmVyKCkuc3R5bGUoKTsKICAgICBpZiAodXBkYXRlTGF5ZXJDb21wb3NpdGluZ1N0YXRlKGxheWVy
KSB8fCAob2xkU3R5bGUgJiYgc3R5bGVDaGFuZ2VSZXF1aXJlc0xheWVyUmVidWlsZChsYXllciwg
Km9sZFN0eWxlLCBuZXdTdHlsZSkpKQogICAgICAgICBzZXRDb21wb3NpdGluZ0xheWVyc05lZWRS
ZWJ1aWxkKCk7CkBAIC00MTg2LDQgKzQyMDgsMTQgQEAgdW5zaWduZWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpsYXllckZsdXNoQ291bnQoKSBjb25zdAogICAgIHJldHVybiBtX2xheWVyRmx1c2hD
b3VudDsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnN0YXJ0VHJhY2tpbmdDb21w
b3NpdGluZ1VwZGF0ZXMoKQoreworICAgIG1fY29tcG9zaXRpbmdVcGRhdGVDb3VudCA9IDA7Cit9
CisKK3Vuc2lnbmVkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcG9zaXRpbmdVcGRhdGVDb3Vu
dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29tcG9zaXRpbmdVcGRhdGVDb3VudDsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGJkYTRjZDFmYzFiYjYxNDM1M2JiYzZiZGExMDRm
NzY5ODc4MDY3ZjAuLmJmMDUxYmUxNWFmOTc4M2Q1MzhlZDU2NTljMjU1YjE5ZWQyNzk4YTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgK
QEAgLTExOSw2ICsxMTksOSBAQCBwdWJsaWM6CiAgICAgLy8gY3JlYXRlZCwgZGVzdHJveWVkIG9y
IHJlLXBhcmVudGVkKS4KICAgICB2b2lkIHNldENvbXBvc2l0aW5nTGF5ZXJzTmVlZFJlYnVpbGQo
Ym9vbCBuZWVkUmVidWlsZCA9IHRydWUpOwogICAgIGJvb2wgY29tcG9zaXRpbmdMYXllcnNOZWVk
UmVidWlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fY29tcG9zaXRpbmdMYXllcnNOZWVkUmVidWlsZDsg
fQorICAgIAorICAgIHZvaWQgd2lsbFJlY2FsY1N0eWxlKCk7CisgICAgdm9pZCBkaWRSZWNhbGNT
dHlsZVdpdGhOb1BlbmRpbmdMYXlvdXQoKTsKIAogICAgIC8vIEdyYXBoaWNzTGF5ZXJzIGJ1ZmZl
ciBzdGF0ZSwgd2hpY2ggZ2V0cyBwdXNoZWQgdG8gdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0gbGF5
ZXJzCiAgICAgLy8gYXQgc3BlY2lmaWMgdGltZXMuCkBAIC0zMTEsNiArMzE0LDkgQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3RhcnRUcmFja2luZ0xheWVyRmx1c2hlcygpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIGxheWVyRmx1c2hDb3VudCgpIGNvbnN0OwogCisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzdGFydFRyYWNraW5nQ29tcG9zaXRpbmdVcGRhdGVzKCk7
CisgICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgY29tcG9zaXRpbmdVcGRhdGVDb3VudCgpIGNv
bnN0OworCiBwcml2YXRlOgogICAgIGNsYXNzIE92ZXJsYXBNYXA7CiAgICAgc3RydWN0IENvbXBv
c2l0aW5nU3RhdGU7CkBAIC00OTgsNiArNTA0LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9jb21w
b3NpdGVkTGF5ZXJDb3VudCB7IDAgfTsKICAgICB1bnNpZ25lZCBtX2xheWVyc1dpdGhUaWxlZEJh
Y2tpbmdDb3VudCB7IDAgfTsKICAgICB1bnNpZ25lZCBtX2xheWVyRmx1c2hDb3VudCB7IDAgfTsK
KyAgICB1bnNpZ25lZCBtX2NvbXBvc2l0aW5nVXBkYXRlQ291bnQgeyAwIH07CiAKICAgICBSb290
TGF5ZXJBdHRhY2htZW50IG1fcm9vdExheWVyQXR0YWNobWVudDsKIApAQCAtNTM0LDYgKzU0MSw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xheWVyRmx1c2hUaHJvdHRsaW5nRW5hYmxlZDsKICAg
ICBib29sIG1fbGF5ZXJGbHVzaFRocm90dGxpbmdUZW1wb3JhcmlseURpc2FibGVkRm9ySW50ZXJh
Y3Rpb247CiAgICAgYm9vbCBtX2hhc1BlbmRpbmdMYXllckZsdXNoOworICAgIGJvb2wgbV9sYXll
ck5lZWRzQ29tcG9zaXRpbmdVcGRhdGUgeyBmYWxzZSB9OwogCiAgICAgVGltZXIgbV9wYWludFJl
bGF0ZWRNaWxlc3RvbmVzVGltZXI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApp
bmRleCBhMTRjOGY0MjkzNDhiYWY1ZjRmYjdjMmJiZTZkMGNkM2E5Njc2NTk0Li42OThmNDcyMWVj
ZTI4MjQzNmVmZDc5NjgyN2JlODRiNmFjMDRlMWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCkBAIC0yMTE0LDYgKzIxMTQsMjggQEAgdW5zaWduZWQgbG9uZyBJbnRlcm5hbHM6
OnN0eWxlUmVjYWxjQ291bnQoRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgcmV0dXJuIGRvY3VtZW50
LT5zdHlsZVJlY2FsY0NvdW50KCk7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzdGFydFRyYWNraW5n
Q29tcG9zaXRpbmdVcGRhdGVzKEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIERvY3VtZW50KiBk
b2N1bWVudCA9IGNvbnRleHREb2N1bWVudCgpOworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3Vt
ZW50LT5yZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkb2N1bWVudC0+cmVuZGVyVmlldygpLT5jb21w
b3NpdG9yKCkuc3RhcnRUcmFja2luZ0NvbXBvc2l0aW5nVXBkYXRlcygpOworfQorCit1bnNpZ25l
ZCBsb25nIEludGVybmFsczo6Y29tcG9zaXRpbmdVcGRhdGVDb3VudChFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RG9jdW1lbnQoKTsKKyAgICBp
ZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+cmVuZGVyVmlldygpKSB7CisgICAgICAgIGVjID0g
SU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAg
cmV0dXJuIGRvY3VtZW50LT5yZW5kZXJWaWV3KCktPmNvbXBvc2l0b3IoKS5jb21wb3NpdGluZ1Vw
ZGF0ZUNvdW50KCk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjp1cGRhdGVMYXlvdXRJZ25vcmVQZW5k
aW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoRXhjZXB0aW9uQ29kZSYgZWMpCiB7
CiAgICAgdXBkYXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91
dFRhc2tzKG51bGxwdHIsIGVjKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDA0
NjI1ZmU2NDZjMDJjNzdmZWEwMmQxMWQ2MDJhYmY3NGYzZTc2YTAuLjJjMTgwZmVmYjU4OTY5MjQ1
ZDAyMTY3YTUyNmJkN2ZmNmI4NDMwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtMzAzLDYgKzMwMyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdTdHlsZVJl
Y2FsY3MoRXhjZXB0aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGxvbmcgc3R5bGVSZWNhbGNDb3Vu
dChFeGNlcHRpb25Db2RlJik7CiAKKyAgICB2b2lkIHN0YXJ0VHJhY2tpbmdDb21wb3NpdGluZ1Vw
ZGF0ZXMoRXhjZXB0aW9uQ29kZSYpOworICAgIHVuc2lnbmVkIGxvbmcgY29tcG9zaXRpbmdVcGRh
dGVDb3VudChFeGNlcHRpb25Db2RlJik7CisKICAgICB2b2lkIHVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0c0FuZFJ1blBvc3RMYXlvdXRUYXNrcyhFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCB1cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5
b3V0VGFza3MoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCmluZGV4IGIyNDQzYTY0MWQ1NmQyMjA5MTgyNmVmZGZkYmYyNDNlZWVhNWFjM2Eu
LjgwNmE4MmQ4ZTVlZTIyMjAzNDU0MjFiYjE3MjcxZjZlMjgyYWEyOWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTI4MCw2ICsyODAsOSBAQCBlbnVtIFJlc291cmNlTG9h
ZFByaW9yaXR5IHsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHN0YXJ0VHJhY2tpbmdTdHls
ZVJlY2FsY3MoKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB1bnNpZ25lZCBsb25nIHN0eWxlUmVj
YWxjQ291bnQoKTsKIAorICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc3RhcnRUcmFja2luZ0Nv
bXBvc2l0aW5nVXBkYXRlcygpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHVuc2lnbmVkIGxvbmcg
Y29tcG9zaXRpbmdVcGRhdGVDb3VudCgpOworCiAgICAgLy8gfG5vZGV8IHNob3VsZCBiZSBEb2N1
bWVudCwgSFRNTElGcmFtZUVsZW1lbnQsIG9yIHVuc3BlY2lmaWVkLgogICAgIC8vIElmIHxub2Rl
fCBpcyBhbiBIVE1MSUZyYW1lRWxlbWVudCwgaXQgYXNzdW1lcyBub2RlLmNvbnRlbnREb2N1bWVu
dCBpcwogICAgIC8vIHNwZWNpZmllZCB3aXRob3V0IHNlY3VyaXR5IGNoZWNrcy4gVW5zcGVjaWZp
ZWQgbWVhbnMgdGhpcyBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNDZhNmNkOTU4NDBkZjJkMDQyY2E5Njhi
NmY0MTFhOWE4NDZlM2Q5Li41NzUwYzA3ZDk3YTY5NDQzMWNmYTZlNjllZmJhNzk2MTU5YjRjNjNi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDUtMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgY29tcG9zaXRpbmcgdXBkYXRlcyBh
ZnRlciBzdHlsZSByZWNhbGNzIHdoaWNoIGhhdmUgbm8gY29tcG9zaXRpbmcgaW1wbGljYXRpb25z
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ1MDIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IFVzZSBpbnRlcm5hbHMuY29tcG9zaXRpbmdVcGRhdGVDb3VudCgpIHRvIHNlZSBpZiB2YXJpb3Vz
IGRvY3VtZW50IG11dGF0aW9ucworICAgICAgICBjYXVzZSBhIGNvbXBvc2l0aW5nIHVwZGF0ZS4g
RG9lc24ndCBhY3R1YWxseSBkZXRlY3QgYW55IGJlaGF2aW9yIGNoYW5nZQorICAgICAgICBmcm9t
IHRoaXMgcGF0Y2gsIGJ1dCBzZWVtcyB1c2VmdWwgaW4gZ2VuZXJhbC4KKworICAgICAgICAqIGNv
bXBvc2l0aW5nL3VwZGF0ZXMvbm8tc3R5bGUtY2hhbmdlLXVwZGF0ZXMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy91cGRhdGVzL25vLXN0eWxlLWNoYW5nZS11cGRh
dGVzLmh0bWw6IEFkZGVkLgorCiAyMDE1LTA0LTMwICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KIAogICAgICAgICBFeHBvc2UgLWFwcGxlLXN5c3RlbSBhcyBhIGZvbnQgZmFtaWx5CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy91cGRhdGVzL25vLXN0eWxlLWNoYW5n
ZS11cGRhdGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3VwZGF0ZXMv
bm8tc3R5bGUtY2hhbmdlLXVwZGF0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAyZWVmNDg0
NTcyOTQ0OGE1YTQ1MzE5ZTM1ZjAzNGZmZjFmYjVhNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy91cGRhdGVzL25vLXN0eWxlLWNoYW5nZS11cGRhdGVzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0IHRoYXQgY29tcG9zaXRpbmcgdXBkYXRlcyBk
byBub3QgaGFwcGVuIGZvciBzdHlsZSBjaGFuZ2VzIHRoYXQgZG8gbm90IG5lZWQgdGhlbS4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdXBkYXRlQ291bnQgaXMgMAorUEFT
UyB1cGRhdGVDb3VudCBpcyAxCitQQVNTIHVwZGF0ZUNvdW50IGlzIDAKK1BBU1MgdXBkYXRlQ291
bnQgaXMgMQorUEFTUyB1cGRhdGVDb3VudCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvdXBkYXRlcy9uby1zdHlsZS1jaGFuZ2UtdXBkYXRlcy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvdXBkYXRlcy9uby1zdHlsZS1jaGFuZ2UtdXBkYXRlcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY4YmRiMTgyZWY1MGY0OTc5ZTMyYmU1YzBkM2Y2ZmUwZTI1NTY4NzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy91cGRhdGVzL25vLXN0eWxlLWNoYW5nZS11
cGRhdGVzLmh0bWwKQEAgLTAsMCArMSwxMDkgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgLmJveCB7CisgICAgICAgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgbWFyZ2luOiAx
MHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgICAgICAgIGJv
cmRlcjogMnB4IHNvbGlkIGJsYWNrOworICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRy
YW5zbGF0ZVooMCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC5jb2xvcmNoYW5nZSB7
CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgLmR1bW15IHsKKyAgICAgICAgICAgIC8qIEVtcHR5LiAqLworICAgICAgICB9
CisgICAgICAgIAorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZGVzY3Jp
cHRpb24oJ1Rlc3QgdGhhdCBjb21wb3NpdGluZyB1cGRhdGVzIGRvIG5vdCBoYXBwZW4gZm9yIHN0
eWxlIGNoYW5nZXMgdGhhdCBkbyBub3QgbmVlZCB0aGVtLicpOworICAgICAgICB3aW5kb3cuanNU
ZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgdmFyIHVwZGF0ZUNvdW50OworICAgICAgICAK
KyAgICAgICAgZnVuY3Rpb24gemVyb1VwZGF0ZUNvdW50KCkKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzQW5kUnVuUG9zdExheW91dFRhc2tzKCk7
CisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnN0YXJ0VHJhY2tpbmdDb21wb3NpdGluZ1VwZGF0
ZXMoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHVwZGF0
ZUxheW91dEFuZENvbXBvc2l0aW5nQ291bnQoKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGludGVybmFscy51cGRhdGVMYXlv
dXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHNBbmRSdW5Qb3N0TGF5b3V0VGFza3MoKTsKKyAgICAg
ICAgICAgICAgICB1cGRhdGVDb3VudCA9IGludGVybmFscy5jb21wb3NpdGluZ1VwZGF0ZUNvdW50
KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9u
IHRlc3RGb3JDb21wb3NpdGluZ1VwZGF0ZShjYWxsYmFjaykKKyAgICAgICAgeworICAgICAgICAg
ICAgemVyb1VwZGF0ZUNvdW50KCk7CisgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAg
ICAgdXBkYXRlTGF5b3V0QW5kQ29tcG9zaXRpbmdDb3VudCgpOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgdXBk
YXRlTGF5b3V0QW5kQ29tcG9zaXRpbmdDb3VudCgpOworCisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykgeworICAgICAgICAgICAgICAgIGludGVybmFscy5zdGFydFRyYWNraW5nQ29t
cG9zaXRpbmdVcGRhdGVzKCk7CisgICAgICAgICAgICAgICAgdXBkYXRlQ291bnQgPSBpbnRlcm5h
bHMuY29tcG9zaXRpbmdVcGRhdGVDb3VudCgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBzaG91bGRCZSgndXBkYXRlQ291bnQnLCAnMCcpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICB0ZXN0Rm9yQ29tcG9zaXRpbmdVcGRhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JveCcpLmNsYXNzTGlzdC5hZGQoJ2NvbG9yY2hhbmdl
Jyk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgc2hvdWxkQmUo
J3VwZGF0ZUNvdW50JywgJzEnKTsKKworICAgICAgICAgICAgdGVzdEZvckNvbXBvc2l0aW5nVXBk
YXRlKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdib3gnKS5jbGFzc0xpc3QuYWRkKCdkdW1teScpOworICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgIHNob3VsZEJlKCd1cGRhdGVDb3VudCcsICcwJyk7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIHRlc3RGb3JDb21wb3NpdGluZ1VwZGF0ZShmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgICAg
ICAgICAgZGl2LmNsYXNzTmFtZSA9ICdib3gnOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZGl2KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgCisgICAg
ICAgICAgICBzaG91bGRCZSgndXBkYXRlQ291bnQnLCAnMScpOworICAgICAgICAgICAgCisgICAg
ICAgICAgICB0ZXN0Rm9yQ29tcG9zaXRpbmdVcGRhdGUoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgdmFyIHN0eWxlc2hlZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOwor
ICAgICAgICAgICAgICAgIHN0eWxlc2hlZXQudHlwZSA9ICd0ZXh0L2Nzcyc7CisgICAgICAgICAg
ICAgICAgc3R5bGVzaGVldC5yZWwgPSAnc3R5bGVzaGVldCc7CisgICAgICAgICAgICAgICAgc3R5
bGVzaGVldC50ZXh0Q29udGVudCA9ICcudW5tYXRjaGVkIHsgYm9yZGVyOiA1cHggc29saWQgYmx1
ZTsgfSc7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhl
YWQiKVswXS5hcHBlbmRDaGlsZChzdHlsZXNoZWV0KTsKKyAgICAgICAgICAgIH0pOworICAgICAg
ICAgICAgCisgICAgICAgICAgICBzaG91bGRCZSgndXBkYXRlQ291bnQnLCAnMCcpOworCisgICAg
ICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHdp
bmRvdy5zZXRUaW1lb3V0KHJ1blRlc3QsIDIwMCk7CisgICAgICAgIH0sIGZhbHNlKTsKKyAgICA8
L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBpZD0iYm94IiBjbGFzcz0iYm94
Ij48L2Rpdj4KKworICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="277007"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>