<?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>41818</bug_id>
          
          <creation_ts>2010-07-07 17:37:23 -0700</creation_ts>
          <short_desc>Calling layoutTestController.layerTreeAsText() should update layout</short_desc>
          <delta_ts>2010-07-09 18:18:24 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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>cmarrin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247884</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-07 17:37:23 -0700</bug_when>
    <thetext>If a test calls layoutTestController.layerTreeAsText() to fetch the layer tree, we should do any pending layouts and make sure the layer tree is up-to-date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248652</commentid>
    <comment_count>1</comment_count>
      <attachid>60988</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 17:34:57 -0700</bug_when>
    <thetext>Created attachment 60988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248726</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-08 22:11:54 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/62892</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249333</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-09 16:00:36 -0700</bug_when>
    <thetext>Fix was bad :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249334</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-09 16:00:42 -0700</bug_when>
    <thetext>diff --git a/WebCore/page/Frame.cpp b/WebCore/page/Frame.cpp
index b3c01eb..5c878b2 100644
--- a/WebCore/page/Frame.cpp
+++ b/WebCore/page/Frame.cpp
@@ -1602,6 +1602,8 @@ IntRect Frame::tiledBackingStoreVisibleRect()
 String Frame::layerTreeAsText() const
 {
 #if USE(ACCELERATED_COMPOSITING)
+    document()-&gt;updateLayout();
+
     if (!contentRenderer())
         return String();
 
@@ -1609,8 +1611,6 @@ String Frame::layerTreeAsText() const
     if (!rootLayer)
         return String();
 
-    document()-&gt;updateLayout();
-
     return rootLayer-&gt;layerTreeAsText();
 #else
     return String();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249364</commentid>
    <comment_count>5</comment_count>
      <attachid>61117</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-09 17:20:01 -0700</bug_when>
    <thetext>Created attachment 61117
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249416</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-07-09 18:18:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63022</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60988</attachid>
            <date>2010-07-08 17:34:57 -0700</date>
            <delta_ts>2010-07-08 18:23:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41818-20100708173456.patch</filename>
            <type>text/plain</type>
            <size>14037</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhYjE3ZmJkNTllZGJjMDJiZjM3YjY4NjA1OTI0MTZkZDIxYzdjMmJlLi4wMWNlMDNl
MTdhODk1MTBkMTU0YmFhYjVlNDMwMThjYThlNTg5NDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAK
IDIwMTAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbGluZyBsYXlv
dXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKSBzaG91bGQgdXBkYXRlIGxheW91dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4MTgKKyAg
ICAgICAgCisgICAgICAgIFJlbW92ZSBzZXRUaW1lb3V0KCkgY2FsbHMgdGhhdCBhcmUgbm8gbG9u
Z2VyIG5lY2Vzc2FyeSBub3cgdGhhdAorICAgICAgICBsYXllclRyZWVBc1RleHQoKSB1cGRhdGVz
IGxheW91dC4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL2dlb21ldHJ5L2NsaXAuaHRtbDoKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9nZW9tZXRyeS9wcmVzZXJ2ZS0zZC1zd2l0Y2hpbmcuaHRtbDoK
KyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5o
dG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1p
ZnJhbWUtZGVsYXllZC5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVj
dC1jb21wb3NpdGluZy1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVz
L2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1lMi5odG1sOgorICAgICAgICAqIGNvbXBvc2l0aW5n
L2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUzLmh0bWw6CisgICAgICAgICogY29t
cG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1sOgorICAgICAgICAqIGNvbXBv
c2l0aW5nL2ltYWdlcy9jbGlwLW9uLWRpcmVjdGx5LWNvbXBvc2l0ZWQtaW1hZ2UuaHRtbDoKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy9jbGlwLWRlc2NlbmRlbnRzLmh0bWw6CisKKzIw
MTAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKICAgICAg
ICAgQWRkIG1pc3NpbmcgcmVzdWx0cyBmb3IgYSBuZXcgdGVzdCwgYWRkZWQgZm9yOgogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE1ODAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcC5odG1sCmluZGV4IDFmMDAwMzAyZmVlZGUz
NmM2MGI5Nzg3MjljNmUxYWUzNTc3NzMyOTEuLjVkYzJlZjI0OTFiOTg1MzhlZmI5MTE0ZTMzN2Vj
NmE0OTRhN2NhNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5
L2NsaXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9nZW9tZXRyeS9jbGlwLmh0
bWwKQEAgLTM4LDEyICszOCwxMCBAQAogICAgIH0KICAgICAgIAogICAgIGZ1bmN0aW9uIGRvVGVz
dCgpIHsKLSAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVy
VHJlZUFzVGV4dCgpOwotICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKLSAgICAgICAgfQotICAgICAgfSwgMCk7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5p
bm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgfQogICAgIH0KICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwogICA8L3Nj
cmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2dlb21ldHJ5L3ByZXNl
cnZlLTNkLXN3aXRjaGluZy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
cHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKaW5kZXggNjkyNjkxYTMwNTU1YzczNTI5YjJmZjY2
ODNlMDIyZWRiMjcxNDhhMy4uMjExMDliMjIzNWUxOTZkNzRmNTdiNTFiNDQ3NGJjNTE1YmJhNzg1
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvcHJlc2VydmUt
M2Qtc3dpdGNoaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvZ2VvbWV0cnkv
cHJlc2VydmUtM2Qtc3dpdGNoaW5nLmh0bWwKQEAgLTU1LDI1ICs1NSwxOSBAQAogICAgIAogICAg
IGZ1bmN0aW9uIHN0YXJ0UHJvZ3JhbSgpCiAgICAgewotICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFyZW50Iikuc3R5bGUud2Via2l0VHJhbnNmb3JtU3R5bGUgPSAiZmxhdCI7Ci0gICAg
ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpCi0gICAgICAgICAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQi
KS5zdHlsZS53ZWJraXRUcmFuc2Zvcm1TdHlsZSA9ICJwcmVzZXJ2ZS0zZCI7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYXlvdXRU
ZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciBsYXllclRyZWUgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRy
ZWVBc1RleHQoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lckhUTUwgPSAiPHByZT4iICsgbGF5ZXJU
cmVlICsgIjwvcHJlPiI7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlE
b25lKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICAgICAgfSwgdGltZW91dCk7Ci0gICAgICAgICAgICAgICAgICAgIH0sIHRpbWVvdXQpOworICAg
ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInBhcmVudCIpLnN0eWxlLndlYmtpdFRyYW5zZm9ybVN0eWxlID0gImZsYXQiOwor
ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50Iikuc3R5bGUud2Via2l0VHJhbnNmb3JtU3R5bGUg
PSAicHJlc2VydmUtM2QiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxheW91dFRlc3RDb250cm9sbGVy
LmxheWVyVHJlZUFzVGV4dCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxheWVyVHJl
ZSA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVySFRN
TCA9ICI8cHJlPiIgKyBsYXllclRyZWUgKyAiPC9wcmU+IjsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwgdGltZW91dCk7CisgICAgICAgIH0s
IHRpbWVvdXQpOwogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHN0
YXJ0UHJvZ3JhbSwgZmFsc2UpCiAgICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUuaHRt
bAppbmRleCBkMDYzYzg5Njg0N2I1MmQ3ZjdmNDIxZTAxMzMyY2M0MTQ1ZmZmMDQzLi5mY2Y0OTMw
OTFiMGExOTdiOTY0ZWViMDM3ZTVjYjgyNzg3ODI3ZDQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1l
Lmh0bWwKQEAgLTIwLDEzICsyMCwxMCBAQAogCiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7
Ci0gICAgICAgIC8vIE5lZWQgdG8gd2FpdCBmb3IgY29tcG9zaXRpbmcgbGF5ZXJzIHRvIGJlIHVw
ZGF0ZWQuCi0gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewotICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSBsYXlvdXRUZXN0Q29u
dHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKLSAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0sIDApOworICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gbGF5b3V0VGVzdENvbnRy
b2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZS1kZWxheWVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmct
aWZyYW1lLWRlbGF5ZWQuaHRtbAppbmRleCA2N2IyZTJjYzI3YTRmYzE5ZTc4ZjI5MmM4NDdkZGRl
NjMzNDY4YWJmLi5kZTllYTAyMWE3YjFjZmVmMGU1YzZlZDg5MjEyZTFlYzEwMTg2MDRlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRp
bmctaWZyYW1lLWRlbGF5ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJh
bWVzL2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1lLWRlbGF5ZWQuaHRtbApAQCAtMzQsMTIgKzM0
LDExIEBACiAgICAgICAvLyBXYWl0IGZvciBhIGxheWVyIHVwZGF0ZS4KICAgICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Ym94JykuY2xhc3NOYW1lID0gJ2NvbXBvc2l0ZWQnOwotICAgICAgICB3aW5kb3cuc2V0VGltZW91
dChmdW5jdGlvbigpIHsKLSAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7Ci0gICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJU
ZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7Ci0gICAgICAgICAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgICAgfQotICAgICAg
ICB9LCAwKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5jb250ZW50RG9jdW1lbnQu
Ym9keS5vZmZzZXRXaWR0aDsgLy8gdXBkYXRlIGlmcmFtZSBsYXlvdXQKKyAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRy
b2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgICB9CiAgICAgICB9LCAwKTsKICAgICB9CiAgICAgCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRp
bmctaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3Qt
Y29tcG9zaXRpbmctaWZyYW1lLmh0bWwKaW5kZXggMDNmYzA1ZDQ5YzkyYmM3MmM3NGE0NTFmOTNk
M2ZiOGM5YWZlM2M2Yi4uOGUyZDdmNGE2MjY3ODlkNGQ3Nzg3YzlhOTI5MzJmYTc2MTdhNmUxNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBv
c2l0aW5nLWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
Y29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUuaHRtbApAQCAtMzIsMTMgKzMyLDExIEBACiAgICAg
Ly8gQ2FsbGVkIGZyb20gc3ViZnJhbWUuCiAgICAgZnVuY3Rpb24gdGVzdERvbmUoKQogICAgIHsK
LSAgICAgIC8vIFdhaXQgZm9yIGEgbGF5ZXIgdXBkYXRlLgotICAgICAgd2luZG93LnNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKLSAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0
ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7Ci0gICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0gICAgICB9LCAwKTsK
KyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudC1pZnJhbWUnKS5jb250ZW50RG9jdW1lbnQuYm9keS5v
ZmZzZXRXaWR0aDsgLy8gdXBkYXRlIGlmcmFtZSBsYXlvdXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxh
eWVyVHJlZUFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CisgICAgICB9CiAgICAgfQogICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUy
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRp
bmctaWZyYW1lMi5odG1sCmluZGV4IGYwMzMwMTZkOGZmYzM2ZDVkOWJjZWZjYWQ3NGZkY2QwZGI1
MTM1ZjQuLjVmZDA0Njc5OTRjOGUwZDBjODZlNTFlZDVkNGZlZTgzZDU4OGNhYWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1p
ZnJhbWUyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0
LWNvbXBvc2l0aW5nLWlmcmFtZTIuaHRtbApAQCAtMzMsMTMgKzMzLDExIEBACiAgICAgewogICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLmNsYXNzTmFtZSA9ICdjb21wb3Np
dGVkJzsKIAotICAgICAgLy8gV2FpdCBmb3IgYSBsYXllciB1cGRhdGUuCi0gICAgICB3aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5p
bm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKLSAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0KLSAgICAg
IH0sIDApOworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJykuY29udGVudERvY3VtZW50LmJvZHku
b2Zmc2V0V2lkdGg7IC8vIHVwZGF0ZSBpZnJhbWUgbGF5b3V0CisgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5s
YXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgICAgfQogICAgIH0KICAgICAKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcign
bG9hZCcsIGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTMuaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUzLmh0bWwKaW5k
ZXggOTM1YTk4ZWI1OTk1NzlmM2JjODY0ZDg1ZDg2MmQyODljNTc2NGIxZC4uNmI3NTExYTE4OTE4
NTc1NDVjNDdhMDYxODZlZmY4MTk4NjRjODhjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1l
My5odG1sCkBAIC0yNywxMyArMjcsMTEgQEAKICAgICB7CiAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnaWZyYW1lJykuY2xhc3NOYW1lID0gJ2NvbXBvc2l0ZWQnOwogCi0gICAgICAvLyBX
YWl0IGZvciBhIGxheWVyIHVwZGF0ZS4KLSAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9u
KCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGxheW91dFRl
c3RDb250cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwotICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQotICAgICAgfSwgMCk7CisgICAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdpZnJhbWUnKS5jb250ZW50RG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gdXBk
YXRlIGlmcmFtZSBsYXlvdXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVy
cycpLmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICB9CiAgICAg
fQogICAgIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxz
ZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL292ZXJsYXBw
ZWQtaWZyYW1lLmh0bWwKaW5kZXggYjMwMmZmMWY2ZmIxZWE2NmM5MWNhN2QwMzQ0ODdiYzI0ZDcy
MGQ1OS4uNjRlZmY4ZGJmYTcxZWNjMzUyZDRmYWNiZDA4MjBkZTg5MzlhMDg3YiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUu
aHRtbApAQCAtMzAsMTMgKzMwLDEwIEBACiAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKQogICAgIHsK
LSAgICAgICAgLy8gTmVlZCB0byB3YWl0IGZvciBjb21wb3NpdGluZyBsYXllcnMgdG8gYmUgdXBk
YXRlZC4KLSAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IGxheW91dFRlc3RDb250
cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwotICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSwgMTApOworICAg
ICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gbGF5b3V0VGVzdENvbnRy
b2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvaW1hZ2VzL2NsaXAtb24tZGlyZWN0bHktY29tcG9zaXRlZC1pbWFnZS5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaW1hZ2VzL2NsaXAtb24tZGlyZWN0bHktY29tcG9z
aXRlZC1pbWFnZS5odG1sCmluZGV4IGY5ZmU0NWMzMGEzMGRiNzY4N2U0NmZiNTQ1YjgzMWNiZmY2
NTM4ZmUuLjExOWZmNGU3MGMwZmE3ZmY5MWE0YjVhZDFkZDM3NDViZmI5MzQ0MGEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2ltYWdlcy9jbGlwLW9uLWRpcmVjdGx5LWNvbXBv
c2l0ZWQtaW1hZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pbWFnZXMvY2xp
cC1vbi1kaXJlY3RseS1jb21wb3NpdGVkLWltYWdlLmh0bWwKQEAgLTI4LDEyICsyOCwxMCBAQAog
ICAgIH0KICAgICAgIAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpIHsKLSAgICAgIHdpbmRvdy5zZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7Ci0gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVy
VGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwotICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgfQotICAgICAgfSwg
MCk7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29u
dHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOworICAgICAgfQogICAgIH0KICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwogICA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NsaXAtZGVzY2VuZGVudHMuaHRtbCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2NsaXAtZGVzY2VuZGVudHMuaHRtbAppbmRleCBh
YzE5NzBiOGQ4MTFlYTgyZDdkNGYwNzVkNzM3MzkyY2IwOGM1Njc0Li43NjI2ZDNhMmMwZmI4MDcz
OGY1Y2U5YzFlYzEyMDdjNDczYTU3MmE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9vdmVyZmxvdy9jbGlwLWRlc2NlbmRlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvY2xpcC1kZXNjZW5kZW50cy5odG1sCkBAIC0zOCwxMiArMzgsMTAg
QEAKICAgICB9CiAgICAgICAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7Ci0gICAgICB3aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikgewotICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5p
bm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKLSAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Ci0gICAgICAgIH0KLSAgICAg
IH0sIDApOworICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gbGF5b3V0VGVz
dENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0KICAgICB9CiAgICAgd2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKICAgPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRjN2Y0YTZlNDQxYWE4
M2ZhYzQ4M2RkYTZhYmVkYmZmYWJlNmEyMjUuLjViNDVjMDBkMWQ3N2VhYjI4NzJjMmJiZjg5NGRk
N2IyNGMxMWM4ZWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDctMDggIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2FsbGluZyBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1Rl
eHQoKSBzaG91bGQgdXBkYXRlIGxheW91dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDE4MTgKKworICAgICAgICBDYWxsIHVwZGF0ZUxheW91dCgpIG9u
IHRoZSBkb2N1bWVudCBiZWZvcmUgb2J0YWluaW5nIHRoZSBsYXllciB0cmVlLgorICAgICAgICBU
aGlzIHdpbGwgdXBkYXRlIGNvbXBvc2l0aW5nIGxheWVycy4KKyAgICAgICAgCisgICAgICAgICog
cGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0
KToKKwogMjAxMC0wNy0wOCAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgog
CiAgICAgICAgIE1pc3NpbmcgcGx1Zy1pbnMgbWF5IGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJl
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1dlYkNvcmUvcGFnZS9GcmFt
ZS5jcHAKaW5kZXggZjJlZGQ5Mzg4NWZhNmRlYzM4ZWYyZGMyMDI2YWIxMjk3ZjBhYmY0OC4uMzRh
YWExZTE5MTBjMDVmOTFiYjk4NjY5MjgwZGQ1ZjI4MjdjZTJhYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCkBAIC0xNjA1LDcg
KzE2MDUsOSBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0CiAgICAgR3Jh
cGhpY3NMYXllciogcm9vdExheWVyID0gY29udGVudFJlbmRlcmVyKCktPmNvbXBvc2l0b3IoKS0+
cm9vdFBsYXRmb3JtTGF5ZXIoKTsKICAgICBpZiAoIXJvb3RMYXllcikKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwotICAgICAgICAKKworICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwor
CiAgICAgcmV0dXJuIHJvb3RMYXllci0+bGF5ZXJUcmVlQXNUZXh0KCk7CiAjZWxzZQogICAgIHJl
dHVybiBTdHJpbmcoKTsK
</data>
<flag name="review"
          id="48884"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61117</attachid>
            <date>2010-07-09 17:20:01 -0700</date>
            <delta_ts>2010-07-09 17:35:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41818-20100709172000.patch</filename>
            <type>text/plain</type>
            <size>16017</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZjAxYzIxOGQ5ODI1MjRkYTAyMWJjYWEyMWNhYjI0MjZmNTI5ODE1Li5jMmFjODQ4
NTljZWU5MDQwZjBjM2I2MWFiODI5OWMyNzllYjBmM2FmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMTAtMDctMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FsbGluZyBsYXlv
dXRUZXN0Q29udHJvbGxlci5sYXllclRyZWVBc1RleHQoKSBzaG91bGQgdXBkYXRlIGxheW91dAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE4MTgKKyAg
ICAgICAgCisgICAgICAgIFRlc3QgY2xlYW51cCB0byByZW1vdmUgYXMgbWFueSBzZXRUaW1lb3V0
KCkgY2FsbHMgYXMgcG9zc2libGUsIHJlcGxhY2luZyB0aGVtIHdpdGgKKyAgICAgICAgY2FsbHMg
dG8gZGlzcGxheSgpLCB3aGljaCBpcyByZXF1aXJlZCBmb3IgcGFpbnRpbmcgdG8gaGFwcGVuLCBh
bmQgdGhlcmVmb3JlIEZyYW1lVmlldzo6c2V0SXNPdmVybGFwcGVkKCkKKyAgICAgICAgdG8gZ2V0
IGNhbGxlZC4KKyAgICAgICAgCisgICAgICAgIFJlbW92ZSBzb21lIGxvZ2ljIHRoYXQgY2hlY2tl
ZCB3aGV0aGVyIGJvdGggaWZyYW1lIGFuZCBwYXJlbnQgZG9jdW1lbnQgaXMgbG9hZGVkLCBzaW5j
ZSB0aGUgbG9hZCBldmVudAorICAgICAgICBmaXJlcyBvbmx5IG9uY2UgdGhlIGlmcmFtZXMgYXJl
IGxvYWRlZC4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJl
bnQtaWZyYW1lLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNv
bXBvc2l0aW5nLWlmcmFtZS1kZWxheWVkLmh0bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZy
YW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZS5odG1sOgorICAgICAgICAqIGNvbXBvc2l0
aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUyLmh0bWw6CisgICAgICAgICog
Y29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTMuaHRtbDoKKyAg
ICAgICAgKiBjb21wb3NpdGluZy9pZnJhbWVzL2VudGVyLWNvbXBvc2l0aW5nLWlmcmFtZS5odG1s
OgorICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLWNvcHktb24tc2Nyb2xsLmh0
bWw6CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0bWw6Cisg
ICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtc3JjLWNoYW5nZS5odG1sOgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvbGVhdmUtY29tcG9zaXRpbmctaWZyYW1lLmh0bWw6
CisgICAgICAgICogY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1sOgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL2lmcmFtZXMvc2Nyb2xsaW5nLWlmcmFtZS5odG1sOgorCiAy
MDEwLTA3LTA5ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb21wb3NpdGVkLXBhcmVudC1pZnJhbWUuaHRtbAppbmRl
eCBmY2Y0OTMwOTFiMGExOTdiOTY0ZWViMDM3ZTVjYjgyNzg3ODI3ZDQ3Li4zYWQzNWEwOWU3OTAx
YjFlOGU0NzdlOTY1MTNjMTE0MTYwZjJlMGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9pZnJhbWVzL2NvbXBvc2l0ZWQtcGFyZW50LWlmcmFtZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29tcG9zaXRlZC1wYXJlbnQtaWZyYW1lLmh0bWwK
QEAgLTMyLDcgKzMyLDcgQEAKIDxib2R5PgogCiAgICAgPCEtLSBUaGUgcGFyZW50IGRvY3VtZW50
IHNob3VsZCBiZSB0aHJvd24gaW50byBjb21wb3NpdGluZyBtb2RlIGJ5IHRoZSBpZnJhbWUuIC0t
PgotICAgIDxpZnJhbWUgaWQ9InBhcmVudC1pZnJhbWUiIHNyYz0icmVzb3VyY2VzL2NvbXBvc2l0
ZWQtc3ViZnJhbWUuaHRtbCI+PC9pZnJhbWU+CisgICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9j
b21wb3NpdGVkLXN1YmZyYW1lLmh0bWwiPjwvaWZyYW1lPgogCiAgICAgPHByZSBpZD0ibGF5ZXJz
Ij5MYXllciB0cmVlIGFwcGVhcnMgaGVyZSBpbiBEUlQuPC9wcmU+CiA8L2JvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmct
aWZyYW1lLWRlbGF5ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29u
bmVjdC1jb21wb3NpdGluZy1pZnJhbWUtZGVsYXllZC5odG1sCmluZGV4IGRlOWVhMDIxYTdiMWNm
ZWYwZTVjNmVkODkyMTJlMWVjMTAxODYwNGUuLmQ4YTE5MTFkN2UzMWUyYWQzMTZjZTE5ZDdmM2Ux
MWU5NjI4YTg1ZDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
Y29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUtZGVsYXllZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUtZGVsYXllZC5o
dG1sCkBAIC0zMSwxNSArMzEsMTUgQEAKIAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgewot
ICAgICAgLy8gV2FpdCBmb3IgYSBsYXllciB1cGRhdGUuCi0gICAgICB3aW5kb3cuc2V0VGltZW91
dChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmRpc3BsYXkoKTsKKwogICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykuY2xhc3NOYW1lID0gJ2NvbXBvc2l0ZWQnOwog
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLmNvbnRlbnREb2N1bWVudC5ib2R5Lm9mZnNl
dFdpZHRoOyAvLyB1cGRhdGUgaWZyYW1lIGxheW91dAogICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5sYXll
clRyZWVBc1RleHQoKTsKICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25l
KCk7CiAgICAgICAgIH0KLSAgICAgIH0sIDApOwogICAgIH0KICAgICAKICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZS5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlm
cmFtZS5odG1sCmluZGV4IDhlMmQ3ZjRhNjI2Nzg5ZDRkNzc4N2M5YTkyOTMyZmE3NjE3YTZlMTQu
LjJjZmQ2ZWIxODBkOTYzNzU1MGM2MjhkNDQ2YTMxYWU0ZmNlNzRlZTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9z
aXRpbmctaWZyYW1lLmh0bWwKQEAgLTMyLDggKzMyLDEyIEBACiAgICAgLy8gQ2FsbGVkIGZyb20g
c3ViZnJhbWUuCiAgICAgZnVuY3Rpb24gdGVzdERvbmUoKQogICAgIHsKKyAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1lJykuY29udGVudERvY3VtZW50LmJvZHkub2Zm
c2V0V2lkdGg7IC8vIHdvcmsgYXJvdW5kIGJ1ZyA0MTk5OS4KKworICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxh
eSgpOworCiAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1lJykuY29udGVudERvY3VtZW50
LmJvZHkub2Zmc2V0V2lkdGg7IC8vIHVwZGF0ZSBpZnJhbWUgbGF5b3V0CiAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lclRleHQgPSBsYXlvdXRUZXN0Q29udHJv
bGxlci5sYXllclRyZWVBc1RleHQoKTsKICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90
aWZ5RG9uZSgpOwogICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
aWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTIuaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2lmcmFtZXMvY29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUyLmh0bWwKaW5kZXgg
NWZkMDQ2Nzk5NGM4ZTBkMGM4NmU1MWVkNWQ0ZmVlODNkNTg4Y2FhYS4uMDBhYTEwOGFkYjU1NTJj
N2YyNmNhMTFjZGFmMDA4YzI0YTNmZWY5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvaWZyYW1lcy9jb25uZWN0LWNvbXBvc2l0aW5nLWlmcmFtZTIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmctaWZyYW1lMi5o
dG1sCkBAIC0zMSwxMCArMzEsMTIgQEAKIAogICAgIGZ1bmN0aW9uIGRvVGVzdCgpCiAgICAgewor
ICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOworCiAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnaWZyYW1lJykuY2xhc3NOYW1lID0gJ2NvbXBvc2l0ZWQnOwogCiAgICAgICBpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdpZnJhbWUnKS5jb250ZW50RG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsgLy8gdXBkYXRl
IGlmcmFtZSBsYXlvdXQKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycp
LmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwogICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CiAgICAgICB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9zaXRpbmct
aWZyYW1lMy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9jb25uZWN0LWNv
bXBvc2l0aW5nLWlmcmFtZTMuaHRtbAppbmRleCA2Yjc1MTFhMTg5MTg1NzU0NWM0N2EwNjE4NmVm
ZjgxOTg2NGM4OGNjLi4yMWYxODEwYjg0ODVhMjE4YmE3ZjEwYmQwMDRlYzEwOWNlNTYyY2QzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2Nvbm5lY3QtY29tcG9z
aXRpbmctaWZyYW1lMy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMv
Y29ubmVjdC1jb21wb3NpdGluZy1pZnJhbWUzLmh0bWwKQEAgLTI1LDEwICsyNSwxMiBAQAogCiAg
ICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7CisKICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKS5jbGFzc05hbWUgPSAnY29tcG9z
aXRlZCc7CiAKICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKLSAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2lmcmFtZScpLmNvbnRlbnREb2N1bWVudC5ib2R5
Lm9mZnNldFdpZHRoOyAvLyB1cGRhdGUgaWZyYW1lIGxheW91dAogICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIu
bGF5ZXJUcmVlQXNUZXh0KCk7CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURv
bmUoKTsKICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFt
ZXMvZW50ZXItY29tcG9zaXRpbmctaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL2VudGVyLWNvbXBvc2l0aW5nLWlmcmFtZS5odG1sCmluZGV4IGQ1YzljYjJhOWI4
YjQ2YTVlNWIxYTE2M2M5NTU2NjYwZDZhOGYwMzEuLjkwMWI3ZjM5YTY4NjEwNWYwZWI2YmE2NGY1
NjFiOTVmOTQwZDdjZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFt
ZXMvZW50ZXItY29tcG9zaXRpbmctaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvaWZyYW1lcy9lbnRlci1jb21wb3NpdGluZy1pZnJhbWUuaHRtbApAQCAtMzEsMTMgKzMx
LDEyIEBACiAgICAgLy8gQ2FsbGVkIGZyb20gc3ViZnJhbWUuCiAgICAgZnVuY3Rpb24gdGVzdERv
bmUoKQogICAgIHsKLSAgICAgIC8vIFdhaXQgZm9yIGEgbGF5ZXIgdXBkYXRlLgotICAgICAgd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpIHsKLSAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJz
JykuaW5uZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7Ci0g
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotICAgICAgICB9Ci0g
ICAgICB9LCAwKTsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1l
JykuY29udGVudERvY3VtZW50LmJvZHkub2Zmc2V0V2lkdGg7IC8vIHdvcmsgYXJvdW5kIGJ1ZyA0
MTk5OS4KKyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJUZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJU
cmVlQXNUZXh0KCk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsK
KyAgICAgIH0KICAgICB9CiAgIDwvc2NyaXB0PgogPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtY29weS1vbi1zY3JvbGwuaHRtbCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvaWZyYW1lLWNvcHktb24tc2Nyb2xsLmh0bWwK
aW5kZXggOTJjNzRiMDBhZDFhNWE3NjEzNDNlMDU0NWNhZGE3YWFmY2YxMDVlNy4uNGU4MzJlMTE1
MjMzZTkwM2JmNzNmNTU3OTkzODIyOTVjZmQwMzQ2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtY29weS1vbi1zY3JvbGwuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9pZnJhbWVzL2lmcmFtZS1jb3B5LW9uLXNjcm9sbC5odG1sCkBA
IC0xNiwyMCArMTYsNiBAQAogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKIAotICAgICAgICB2
YXIgbG9hZGVkQ291bnQgPSAwOwotCi0gICAgICAgIGZ1bmN0aW9uIGZyYW1lTG9hZGVkKCkKLSAg
ICAgICAgewotICAgICAgICAgIGlmICgrK2xvYWRlZENvdW50ID09IDIpCi0gICAgICAgICAgICBk
b1Rlc3QoKTsKLSAgICAgICAgfQotCi0gICAgICAgIGZ1bmN0aW9uIHBhZ2VMb2FkZWQoKQotICAg
ICAgICB7Ci0gICAgICAgICAgaWYgKCsrbG9hZGVkQ291bnQgPT0gMikKLSAgICAgICAgICAgIGRv
VGVzdCgpOwotICAgICAgICB9Ci0KICAgICAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICAgICAg
ewogICAgICAgICAgICAgLy8gTmVlZCB0byB3YWl0IGZvciBjb21wb3NpdGluZyBsYXllcnMgdG8g
YmUgdXBkYXRlZC4KQEAgLTQwLDEzICsyNiwxMyBAQAogICAgICAgICAgICAgfSwgMCk7CiAgICAg
ICAgIH0KIAotICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHBhZ2VMb2Fk
ZWQsIGZhbHNlKTsKKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rl
c3QsIGZhbHNlKTsKICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KICAgPHA+SW4gcGl4ZWwg
cmVzdWx0cywgdGhlIGJsdWUgYm94IHNob3VsZCBiZSBzY3JvbGxlZCBvdXQgb2Ygdmlldy48L3A+
CiAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+Ci0gICAgPGlmcmFtZSBpZD0iaWZyYW1lIiBzcmM9
InJlc291cmNlcy9zdWJmcmFtZS5odG1sIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBoZWlnaHQ6IDIw
MHB4OyIgb25sb2FkPSJmcmFtZUxvYWRlZCgpIj48L2lmcmFtZT4KKyAgICA8aWZyYW1lIGlkPSJp
ZnJhbWUiIHNyYz0icmVzb3VyY2VzL3N1YmZyYW1lLmh0bWwiIHN0eWxlPSJ3aWR0aDogMzAwcHg7
IGhlaWdodDogMjAwcHg7Ij48L2lmcmFtZT4KICAgPC9kaXY+CiAgIDxkaXYgY2xhc3M9ImNvbXBv
c2l0ZWQiPgogICA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lm
cmFtZXMvaWZyYW1lLXJlc2l6ZS5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1l
cy9pZnJhbWUtcmVzaXplLmh0bWwKaW5kZXggOTIzOTQzNTRhZGY5Zjg0Zjk3MmM1NzU5NGQ4ZTg4
NTc0Nzc2YWFiZi4uMjQxZDhkYTUxZWQ4NTJiZGUxMThjZWI1OTQ5MmZlYzU3NGFlNzNiOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9pZnJhbWUtcmVzaXplLmh0
bWwKQEAgLTM1LDE1ICszNSwxOCBAQAogCiAgICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7Ci0g
ICAgICAgIC8vIE5lZWQgdG8gd2FpdCBmb3IgY29tcG9zaXRpbmcgbGF5ZXJzIHRvIGJlIHVwZGF0
ZWQuCisgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiB0aGlzIGRlbGF5IGlzIHJlcXVpcmVkIGZv
ciBBcHBLaXQgdG8gbm90IHNob3J0LWNpcmN1aXQgdGhlIGRpc3BsYXkuCiAgICAgICAgIHdpbmRv
dy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7
CisKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYXJlbnQtaWZyYW1lJyku
Y2xhc3NOYW1lID0gJ2JpZ2dlcic7CiAgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRXaWR0aDsg
IC8vIGZvcmNlIGxheW91dCwgYmVjYXVzZSBsYXllclRyZWVBc1RleHQoKSBkb2Vzbid0LgorICAg
ICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmRpc3BsYXkoKTsKICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gbGF5b3V0
VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CiAgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwogICAgICAgICAgICAgfQotICAgICAgICB9LCAx
MCk7CisgICAgICAgIH0sIDApOwogICAgIH0KIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL2lmcmFtZS1zcmMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL2lmcmFtZS1zcmMtY2hhbmdlLmh0bWwKaW5kZXggNjc1NjM1YjIxNzI5YjYw
ZGFlZTQ3MjQyN2JkN2Y2NGY0NDE3OTEwNi4uZjc3ZTU0NjhlYTM1ZTc0Y2VlNDAxZTZhMmRiOWMx
YThmMTE5YzQ1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvaWZyYW1lcy9p
ZnJhbWUtc3JjLWNoYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFt
ZXMvaWZyYW1lLXNyYy1jaGFuZ2UuaHRtbApAQCAtMzAsMTYgKzMwLDE0IEBACiAKICAgICBmdW5j
dGlvbiBkb1Rlc3QoKQogICAgIHsKLSAgICAgIC8vIFdhaXQgZm9yIGEgbGF5ZXIgdXBkYXRlLgot
ICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
aXNwbGF5KCk7CisKICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3BhcmVudC1pZnJh
bWUnKS5zcmMgPSAiYWJvdXQ6YmxhbmsiOwotICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5j
dGlvbigpIHsKLSAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdsYXllcnMnKS5pbm5lckhUTUwgPSBsYXlvdXRUZXN0Q29u
dHJvbGxlci5sYXllclRyZWVBc1RleHQoKTsKICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKLSAgICAgICAgICB9Ci0gICAgICAgIH0sIDApOwotICAgICAgfSwg
NTApOworICAgICAgICB9CiAgICAgfQogICAgIAogICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL2xlYXZlLWNvbXBvc2l0aW5nLWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvaWZyYW1lcy9sZWF2ZS1jb21wb3NpdGluZy1pZnJhbWUuaHRtbAppbmRleCA3
ODFiN2NlYmUzNjM5MzU0ODVlNGVlODQwNDUyOTU3YjdiZWI0YjMxLi4yNjRjZWRjNzQ0NmNhZDE1
YTFlNWI1Yjk2Yjk3MWI0NDMwM2JkMTMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9pZnJhbWVzL2xlYXZlLWNvbXBvc2l0aW5nLWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvbGVhdmUtY29tcG9zaXRpbmctaWZyYW1lLmh0bWwKQEAg
LTMxLDEzICszMSwxNCBAQAogICAgIC8vIENhbGxlZCBmcm9tIHN1YmZyYW1lLgogICAgIGZ1bmN0
aW9uIHRlc3REb25lKCkKICAgICB7Ci0gICAgICAvLyBXYWl0IGZvciBhIGxheWVyIHVwZGF0ZS4K
LSAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7Ci0gICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFz
VGV4dCgpOwotICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKLSAg
ICAgICAgfQotICAgICAgfSwgMCk7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFy
ZW50LWlmcmFtZScpLmNvbnRlbnREb2N1bWVudC5ib2R5Lm9mZnNldFdpZHRoOyAvLyB3b3JrIGFy
b3VuZCBidWcgNDE5OTkuCisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7CisKKyAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2xheWVycycpLmlubmVyVGV4dCA9IGxheW91dFRlc3RDb250cm9sbGVyLmxheWVyVHJlZUFz
VGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAg
ICB9CiAgICAgfQogICA8L3NjcmlwdD4KIDwvaGVhZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL2lmcmFtZXMvb3ZlcmxhcHBlZC1pZnJhbWUuaHRtbAppbmRleCBkNTk4Njg5
MDg1MzBiMmRjZGEyNTExZTMxZGQ5NDA3NDE1YWFlMDRlLi5kYmNlNDVmNzc1MzhmNzYxNGJiM2Iy
ODg0MzA0NTg4ZGY2YTVlODY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9p
ZnJhbWVzL292ZXJsYXBwZWQtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvaWZyYW1lcy9vdmVybGFwcGVkLWlmcmFtZS5odG1sCkBAIC0zMCw4ICszMCwxMCBAQAogCiAg
ICAgZnVuY3Rpb24gZG9UZXN0KCkKICAgICB7CisgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiB0
aGlzIGRlbGF5IGlzIHJlcXVpcmVkIGZvciBBcHBLaXQgdG8gbm90IHNob3J0LWNpcmN1aXQgdGhl
IGRpc3BsYXkuCiAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxheSgpOwogICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbGF5ZXJzJykuaW5uZXJIVE1MID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5
ZXJUcmVlQXNUZXh0KCk7CiAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKTsKICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9pZnJhbWVzL3Njcm9sbGluZy1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L2lmcmFtZXMvc2Nyb2xsaW5nLWlmcmFtZS5odG1sCmluZGV4IGEzNmU4ZTdiNzc5MjBmZjY4MmFh
MTk4YmVkNjkwZGQ2ZGQ5ZDNiMmYuLmIyOTEyNDJkOGMwMjUyMTdmY2MwMGQwMWE0ODk1OTA0MGIy
OTIwMWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvc2Nyb2xs
aW5nLWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2lmcmFtZXMvc2Ny
b2xsaW5nLWlmcmFtZS5odG1sCkBAIC0yOCwzOSArMjgsMjggQEAKICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwogICAgIH0KIAotICAgIHZhciBsb2FkZWRDb3Vu
dCA9IDA7Ci0gICAgCi0gICAgZnVuY3Rpb24gZnJhbWVMb2FkZWQoKQotICAgIHsKLSAgICAgIGlm
ICgrK2xvYWRlZENvdW50ID09IDIpCi0gICAgICAgIGRvVGVzdCgpOwotICAgIH0KLQotICAgIGZ1
bmN0aW9uIHBhZ2VMb2FkZWQoKQotICAgIHsKLSAgICAgIGlmICgrK2xvYWRlZENvdW50ID09IDIp
Ci0gICAgICAgIGRvVGVzdCgpOwotICAgIH0KLSAgICAKICAgICBmdW5jdGlvbiBkb1Rlc3QoKQog
ICAgIHsKLSAgICAgICAgLy8gTmVlZCB0byB3YWl0IGZvciBjb21wb3NpdGluZyBsYXllcnMgdG8g
YmUgdXBkYXRlZC4KKyAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHRoaXMgZGVsYXkgaXMgcmVx
dWlyZWQgZm9yIEFwcEtpdCB0byBub3Qgc2hvcnQtY2lyY3VpdCB0aGUgZGlzcGxheS4KICAgICAg
ICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmRpc3BsYXkoKTsKKwogICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bh
cmVudC1pZnJhbWUnKS5jb250ZW50V2luZG93LnNjcm9sbFRvKDgwLCA4MCk7CiAgICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpLmlubmVySFRNTCA9IGxheW91dFRlc3RDb250
cm9sbGVyLmxheWVyVHJlZUFzVGV4dCgpOwogICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSwgMTApOworICAg
ICAgICB9LCAwKTsKICAgICB9CiAgICAgCi0gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBwYWdlTG9hZGVkLCBmYWxzZSk7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xv
YWQnLCBkb1Rlc3QsIGZhbHNlKTsKICAgPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIAogICAg
IDwhLS0gVGVzdCBzY3JvbGxpbmcgaW4gdGhlIGlmcmFtZSAtLT4KLSAgICA8aWZyYW1lIGlkPSJw
YXJlbnQtaWZyYW1lIiBzcmM9InJlc291cmNlcy9sYXJnZS1jb21wb3NpdGVkLXN1YmZyYW1lLmh0
bWwiIG9ubG9hZD0iZnJhbWVMb2FkZWQoKSI+PC9pZnJhbWU+CisgICAgPGlmcmFtZSBpZD0icGFy
ZW50LWlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvbGFyZ2UtY29tcG9zaXRlZC1zdWJmcmFtZS5odG1s
Ij48L2lmcmFtZT4KICAgICAKICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5Ij4KICAgICA8L2Rpdj4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MDAzZWUxNWJlZGQ1NzNkZDU1MTQ2MGU4NzYyZmEwNDQxMmI1OGVkNi4uZTNlNTU1NTMxNjk3YTQ3
Yjg3MmRkNWQ2YzA3OTc1MWM4OGRmZjQ5ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0wNy0wOSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDYWxsaW5nIGxheW91dFRlc3RDb250cm9sbGVy
LmxheWVyVHJlZUFzVGV4dCgpIHNob3VsZCB1cGRhdGUgbGF5b3V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTgxOAorICAgICAgICAKKyAgICAgICAg
TmVlZCB0byBjYWxsIHVwZGF0ZUxheW91dCgpIGJlZm9yZSB3ZSBjaGVjayBmb3IgYW55IGxheWVy
cywgbm90IGFmdGVyLAorICAgICAgICBzaW5jZSBsYXlvdXQgd2lsbCB1cGRhdGUgY29tcG9zaXRp
bmcsIGFuZCBtYXkgY3JlYXRlIGxheWVycy4KKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmxheWVyVHJlZUFzVGV4dCk6CisKIDIwMTAtMDctMDkg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCmluZGV4IGIzYzAxZWI5ZGMyNTc5OTQyYWZlOWE4YTI4Yzlk
ODI1MTc4ODY3ZmUuLjVjODc4YjI2ZGY5MjIyMmM2MDFhYmViMjRiNTdhMzMxYTUyMGY4NjcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcApAQCAtMTYwMiw2ICsxNjAyLDggQEAgSW50UmVjdCBGcmFtZTo6dGlsZWRCYWNraW5nU3Rv
cmVWaXNpYmxlUmVjdCgpCiBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dCgpIGNvbnN0CiB7
CiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGRvY3VtZW50KCktPnVwZGF0
ZUxheW91dCgpOworCiAgICAgaWYgKCFjb250ZW50UmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJu
IFN0cmluZygpOwogCkBAIC0xNjA5LDggKzE2MTEsNiBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJl
ZUFzVGV4dCgpIGNvbnN0CiAgICAgaWYgKCFyb290TGF5ZXIpCiAgICAgICAgIHJldHVybiBTdHJp
bmcoKTsKIAotICAgIGRvY3VtZW50KCktPnVwZGF0ZUxheW91dCgpOwotCiAgICAgcmV0dXJuIHJv
b3RMYXllci0+bGF5ZXJUcmVlQXNUZXh0KCk7CiAjZWxzZQogICAgIHJldHVybiBTdHJpbmcoKTsK
</data>
<flag name="review"
          id="49097"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>