<?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>148093</bug_id>
          
          <creation_ts>2015-08-17 14:17:38 -0700</creation_ts>
          <short_desc>Simplify how PlatformWebViews are created when view options change</short_desc>
          <delta_ts>2015-09-07 04:46:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>148154</dependson>
    
    <dependson>148528</dependson>
    
    <dependson>148529</dependson>
    
    <dependson>148927</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>ossy</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1118234</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-17 14:17:38 -0700</bug_when>
    <thetext>Simplify how PlatformWebViews are created when view options change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118239</commentid>
    <comment_count>1</comment_count>
      <attachid>259184</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-17 14:31:04 -0700</bug_when>
    <thetext>Created attachment 259184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118257</commentid>
    <comment_count>2</comment_count>
      <attachid>259193</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-17 14:58:21 -0700</bug_when>
    <thetext>Created attachment 259193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1118273</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-17 15:49:46 -0700</bug_when>
    <thetext>Committed r188548: &lt;http://trac.webkit.org/changeset/188548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124106</commentid>
    <comment_count>4</comment_count>
      <attachid>259193</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-09-07 04:45:50 -0700</bug_when>
    <thetext>Comment on attachment 259193
Patch

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

&gt; Tools/WebKitTestRunner/TestController.cpp:755
&gt; -    if (test.urlContains(&quot;device-adapt/&quot;) || test.urlContains(&quot;device-adapt\\&quot;))
&gt; -        return true;
&gt; +        if (test.urlContains(&quot;device-adapt/&quot;) || test.urlContains(&quot;device-adapt\\&quot;))
&gt; +            return true;

bad indentation

&gt; Tools/WebKitTestRunner/efl/TestControllerEfl.cpp:144
&gt; +static bool shouldUseFixedLayout(const TestInvocation&amp; test)
&gt; +{
&gt; +#if USE(COORDINATED_GRAPHICS)
&gt; +    if (test.urlContains(&quot;sticky/&quot;) || test.urlContains(&quot;sticky\\&quot;))
&gt; +        return true;
&gt; +#endif
&gt; +    return false;
&gt; +}
&gt; +

It is obviously wrong, because it returns false for device-adapt tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124108</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-09-07 04:46:29 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 259193 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=259193&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/TestController.cpp:755
&gt; &gt; -    if (test.urlContains(&quot;device-adapt/&quot;) || test.urlContains(&quot;device-adapt\\&quot;))
&gt; &gt; -        return true;
&gt; &gt; +        if (test.urlContains(&quot;device-adapt/&quot;) || test.urlContains(&quot;device-adapt\\&quot;))
&gt; &gt; +            return true;
&gt; 
&gt; bad indentation
&gt; 
&gt; &gt; Tools/WebKitTestRunner/efl/TestControllerEfl.cpp:144
&gt; &gt; +static bool shouldUseFixedLayout(const TestInvocation&amp; test)
&gt; &gt; +{
&gt; &gt; +#if USE(COORDINATED_GRAPHICS)
&gt; &gt; +    if (test.urlContains(&quot;sticky/&quot;) || test.urlContains(&quot;sticky\\&quot;))
&gt; &gt; +        return true;
&gt; &gt; +#endif
&gt; &gt; +    return false;
&gt; &gt; +}
&gt; &gt; +
&gt; 
&gt; It is obviously wrong, because it returns false for device-adapt tests.

Please check bug148927 which tries to fix the regression this patch caused.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259184</attachid>
            <date>2015-08-17 14:31:04 -0700</date>
            <delta_ts>2015-08-17 14:58:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148093-20150817143102.patch</filename>
            <type>text/plain</type>
            <size>12416</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NTM3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzc3ZDhjODI0NWI5MWQ0NjcyODMyYTkyN2VkZjdhYTVm
NGVlZjkxOC4uY2YzMDFlN2IwZDg1ODg5ZWEzY2JiYzYzZjMyZDUyMGRiMWQxMzRlZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE1LTA4LTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisK
KyAgICAgICAgU2ltcGxpZnkgaG93IFBsYXRmb3JtV2ViVmlld3MgYXJlIGNyZWF0ZWQgd2hlbiB2
aWV3IG9wdGlvbnMgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDgwOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnN0ZWFkIG9mIGxldHRpbmcgZWFjaCBwb3J0IGRpY3RhdGUgd2hlbiB0aGUg
UGxhdGZvcm1XZWJWaWV3IHNob3VsZCBiZSByZWNyZWF0ZWQgd2Ugbm93IGRvIHRoZSBmb2xsb3dp
bmc6CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnNG
b3JUZXN0IGdldHMgdGhlIHZpZXcgb3B0aW9ucyBmb3IgYSB0ZXN0IGJ5IGNhbGxpbmcKKyAgICAg
ICAgVGVzdENvbnRyb2xsZXI6OnZpZXdPcHRpb25zRm9yVGVzdCwgd2hpY2ggcmV0dXJucyBhIGZp
bGxlZCBpbiBWaWV3T3B0aW9ucyBzdHJ1Y3QgZm9yIGEgZ2l2ZW4gdGVzdC4gSXQgYWxzbyBhbGxv
d3MKKyAgICAgICAgcG9ydHMgdG8gYWRkL292ZXJyaWRlIHNldHRpbmdzIGJ5IGNhbGxpbmcgVGVz
dENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QuCisK
KyAgICAgICAgSWYgdGhlIGN1cnJlbnQgUGxhdGZvcm1XZWJWaWV3IGRvZXNuJ3Qgc3VwcG9ydCB0
aGUgZ2l2ZW4gdmlldyBvcHRpb25zLCBkZWxldGUgdGhlIHdlYiB2aWV3IGFuZCBjcmVhdGUgYSBu
ZXcgb25lLgorCisgICAgICAgIEFsc28sIGdldCByaWQgb2YgdGhlIGZpcnN0IGNhbGwgdG8gVGVz
dENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyBpbiBUZXN0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZSBhbmQKKyAgICAgICAgYWx3YXlzIHJlbHkgb24gVGVzdENvbnRyb2xsZXI6OmVu
c3VyZVZpZXdTdXBwb3J0c09wdGlvbnNGb3JUZXN0IGNyZWF0aW5nIGEgUGxhdGZvcm1XZWJWaWV3
IGZvciB1cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9u
c0ZvclRlc3QpOgorICAgICAgICAoV1RSOjpzaG91bGRVc2VGaXhlZExheW91dCk6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjp2aWV3T3B0aW9uc0ZvclRlc3QpOgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2ViVmlld1NpemVGb3JUZXN0KToKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdCk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjb25maWd1cmVWaWV3Rm9yVGVzdCk6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKTogRGVsZXRlZC4KKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnMpOiBEZWxldGVkLgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlTGF5b3V0VHlwZUZvclRlc3QpOiBEZWxldGVk
LgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9y
VGVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJl
c2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOiBEZWxldGVkLgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6cnVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9lZmwvVGVz
dENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAoV1RSOjpzaG91bGRVc2VGaXhlZExheW91dCk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmll
d09wdGlvbnNGb3JUZXN0KToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3Jt
Q29uZmlndXJlVmlld0ZvclRlc3QpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxh
dGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRp
b25zRm9yVGVzdCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZp
Z3VyZVZpZXdGb3JUZXN0KToKKwogMjAxNS0wOC0xNyAgSmFzb24gTWFyY2VsbCAgPGptYXJjZWxs
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBCdWlsZGJvdFF1ZXVlVmlldy5fcHJlc2Vu
dFBvcG92ZXJGb3JQZW5kaW5nQ29tbWl0cyB0byB3b3JrIG1vcmUgZ2VuZXJpY2FsbHkgd2l0aApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBjNzI5NTg2YmQz
MTQwYzQ1MmQ3NGM4OGJiODk1MGM2ZmYwYzFmZDcyLi4yZjZlODViOTAyZDE2ZmYwNjk5Mzc5OTdi
ZDkxYmQxYjkyMWFjOTJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNDMyLDEyICs0MzIsNiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXpl
KGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAKICAgICAvLyBTb21lIHByZWZlcmVuY2Vz
IChub3RhYmx5IG1vY2sgc2Nyb2xsIGJhcnMgc2V0dGluZykgY3VycmVudGx5IGNhbm5vdCBiZSBy
ZS1hcHBsaWVkIHRvIGFuIGV4aXN0aW5nIHZpZXcsIHNvIHdlIG5lZWQgdG8gc2V0IHRoZW0gbm93
LgogICAgIHJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKLQotICAgIFZpZXdP
cHRpb25zIHZpZXdPcHRpb25zOwotICAgIHZpZXdPcHRpb25zLnVzZVJlbW90ZUxheWVyVHJlZSA9
IG1fc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlOwotICAgIHZpZXdPcHRpb25zLnNob3VsZFNob3dX
ZWJWaWV3ID0gbV9zaG91bGRTaG93V2ViVmlldzsKLQotICAgIGNyZWF0ZVdlYlZpZXdXaXRoT3B0
aW9ucyh2aWV3T3B0aW9ucyk7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZp
ZXdXaXRoT3B0aW9ucyhjb25zdCBWaWV3T3B0aW9ucyYgb3B0aW9ucykKQEAgLTU0MywxOCArNTM3
LDI1IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25z
dCBWaWV3T3B0aW9ucyYgb3B0aW9ucykKICAgICBtX21haW5XZWJWaWV3LT5jaGFuZ2VXaW5kb3dT
Y2FsZUlmTmVlZGVkKDEpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjplbnN1cmVWaWV3U3Vw
cG9ydHNPcHRpb25zKGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKQordm9pZCBUZXN0Q29udHJv
bGxlcjo6ZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCiB7Ci0gICAgaWYgKG1fbWFpbldlYlZpZXcgJiYgIW1fbWFpbldlYlZpZXctPnZp
ZXdTdXBwb3J0c09wdGlvbnMob3B0aW9ucykpIHsKLSAgICAgICAgV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgMCk7Ci0gICAgICAgIFdLUGFnZVNldFBhZ2VOYXZp
Z2F0aW9uQ2xpZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgMCk7CisgICAgYXV0byB2aWV3T3B0
aW9ucyA9IHZpZXdPcHRpb25zRm9yVGVzdCh0ZXN0KTsKKworICAgIGlmIChtX21haW5XZWJWaWV3
KSB7CisgICAgICAgIGlmIChtX21haW5XZWJWaWV3LT52aWV3U3VwcG9ydHNPcHRpb25zKHZpZXdP
cHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBXS1BhZ2VTZXRQYWdlVUlD
bGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBudWxscHRyKTsKKyAgICAgICAgV0tQYWdlU2V0
UGFnZU5hdmlnYXRpb25DbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBudWxscHRyKTsKICAg
ICAgICAgV0tQYWdlQ2xvc2UobV9tYWluV2ViVmlldy0+cGFnZSgpKTsKLSAgICAgICAgCi0gICAg
ICAgIG1fbWFpbldlYlZpZXcgPSBudWxscHRyOwogCi0gICAgICAgIGNyZWF0ZVdlYlZpZXdXaXRo
T3B0aW9ucyhvcHRpb25zKTsKLSAgICAgICAgcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygp
OworICAgICAgICBtX21haW5XZWJWaWV3ID0gbnVsbHB0cjsKICAgICB9CisKKyAgICBjcmVhdGVX
ZWJWaWV3V2l0aE9wdGlvbnModmlld09wdGlvbnMpOworCisgICAgaWYgKCFyZXNldFN0YXRlVG9D
b25zaXN0ZW50VmFsdWVzKCkpCisgICAgICAgIFRlc3RJbnZvY2F0aW9uOjpkdW1wV2ViUHJvY2Vz
c1VucmVzcG9uc2l2ZW5lc3MoIjx1bmtub3duPiAtIFRlc3RDb250cm9sbGVyOjpydW4gLSBGYWls
ZWQgdG8gcmVzZXQgc3RhdGUgdG8gY29uc2lzdGVudCB2YWx1ZXNcbiIpOwogfQogCiB2b2lkIFRl
c3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKQEAgLTc0
Nyw2NyArNzQ4LDU0IEBAIGNvbnN0IGNoYXIqIFRlc3RDb250cm9sbGVyOjpuZXR3b3JrUHJvY2Vz
c05hbWUoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVdlYlZpZXdT
aXplRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKLXsKLSAgICBib29sIGlzU1ZH
VzNDVGVzdCA9IHRlc3QudXJsQ29udGFpbnMoInN2Zy9XM0MtU1ZHLTEuMSIpIHx8IHRlc3QudXJs
Q29udGFpbnMoInN2Z1xcVzNDLVNWRy0xLjEiKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoID0gdmll
d1dpZHRoOwotICAgIHVuc2lnbmVkIGhlaWdodCA9IHZpZXdIZWlnaHQ7Ci0gICAgaWYgKGlzU1ZH
VzNDVGVzdCkgewotICAgICAgICB3aWR0aCA9IHczY1NWR1ZpZXdXaWR0aDsKLSAgICAgICAgaGVp
Z2h0ID0gdzNjU1ZHVmlld0hlaWdodDsKLSAgICB9Ci0KLSAgICBtYWluV2ViVmlldygpLT5yZXNp
emVUbyh3aWR0aCwgaGVpZ2h0KTsKLX0KLQotdm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2lu
ZG93U2NhbGVGb3JUZXN0KFBsYXRmb3JtV2ViVmlldyogdmlldywgY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCi17Ci0gICAgYm9vbCBuZWVkc0hpZ2hEUElXaW5kb3cgPSB0ZXN0LnVybENvbnRh
aW5zKCIvaGlkcGktIik7Ci0gICAgdmlldy0+Y2hhbmdlV2luZG93U2NhbGVJZk5lZWRlZChuZWVk
c0hpZ2hEUElXaW5kb3cgPyAyIDogMSk7Ci19Ci0KLS8vIEZJWE1FOiBtb3ZlIGludG8gcmVsZXZh
bnQgcGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCgpPwogc3RhdGljIGJvb2wgc2hvdWxkVXNl
Rml4ZWRMYXlvdXQoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7CiAjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKLSAgICBpZiAodGVzdC51cmxDb250YWlucygiZGV2aWNlLWFk
YXB0LyIpIHx8IHRlc3QudXJsQ29udGFpbnMoImRldmljZS1hZGFwdFxcIikpCi0gICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICBpZiAodGVzdC51cmxDb250YWlucygiZGV2aWNlLWFkYXB0LyIp
IHx8IHRlc3QudXJsQ29udGFpbnMoImRldmljZS1hZGFwdFxcIikpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBQTEFU
Rk9STShFRkwpCi0gICAgaWYgKHRlc3QudXJsQ29udGFpbnMoInN0aWNreS8iKSB8fCB0ZXN0LnVy
bENvbnRhaW5zKCJzdGlja3lcXCIpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgogICAg
IHJldHVybiBmYWxzZTsKLQotICAgIFVOVVNFRF9QQVJBTSh0ZXN0KTsKIH0KIAotdm9pZCBUZXN0
Q29udHJvbGxlcjo6dXBkYXRlTGF5b3V0VHlwZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24m
IHRlc3QpCitWaWV3T3B0aW9ucyBUZXN0Q29udHJvbGxlcjo6dmlld09wdGlvbnNGb3JUZXN0KGNv
bnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KSBjb25zdAogewogICAgIFZpZXdPcHRpb25zIHZpZXdP
cHRpb25zOwogCisgICAgdmlld09wdGlvbnMudXNlUmVtb3RlTGF5ZXJUcmVlID0gbV9zaG91bGRV
c2VSZW1vdGVMYXllclRyZWU7CisgICAgdmlld09wdGlvbnMuc2hvdWxkU2hvd1dlYlZpZXcgPSBt
X3Nob3VsZFNob3dXZWJWaWV3OwogICAgIHZpZXdPcHRpb25zLnVzZUZpeGVkTGF5b3V0ID0gc2hv
dWxkVXNlRml4ZWRMYXlvdXQodGVzdCk7CiAKLSAgICBlbnN1cmVWaWV3U3VwcG9ydHNPcHRpb25z
KHZpZXdPcHRpb25zKTsKKyAgICB1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmlld09wdGlvbnNGb3JU
ZXN0KHZpZXdPcHRpb25zLCB0ZXN0KTsKKworICAgIHJldHVybiB2aWV3T3B0aW9uczsKIH0KIAot
I2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKEdUSykKLXZvaWQgVGVzdENvbnRyb2xs
ZXI6OnBsYXRmb3JtQ29uZmlndXJlVmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKQor
dm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2ViVmlld1NpemVGb3JUZXN0KGNvbnN0IFRlc3RJ
bnZvY2F0aW9uJiB0ZXN0KQogeworICAgIGJvb2wgaXNTVkdXM0NUZXN0ID0gdGVzdC51cmxDb250
YWlucygic3ZnL1czQy1TVkctMS4xIikgfHwgdGVzdC51cmxDb250YWlucygic3ZnXFxXM0MtU1ZH
LTEuMSIpOworCisgICAgdW5zaWduZWQgd2lkdGggPSB2aWV3V2lkdGg7CisgICAgdW5zaWduZWQg
aGVpZ2h0ID0gdmlld0hlaWdodDsKKyAgICBpZiAoaXNTVkdXM0NUZXN0KSB7CisgICAgICAgIHdp
ZHRoID0gdzNjU1ZHVmlld1dpZHRoOworICAgICAgICBoZWlnaHQgPSB3M2NTVkdWaWV3SGVpZ2h0
OworICAgIH0KKworICAgIG1haW5XZWJWaWV3KCktPnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQpOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0NvbnNp
c3RlbnRWYWx1ZXMoKQordm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2luZG93U2NhbGVGb3JU
ZXN0KFBsYXRmb3JtV2ViVmlldyogdmlldywgY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7
CisgICAgYm9vbCBuZWVkc0hpZ2hEUElXaW5kb3cgPSB0ZXN0LnVybENvbnRhaW5zKCIvaGlkcGkt
Iik7CisgICAgdmlldy0+Y2hhbmdlV2luZG93U2NhbGVJZk5lZWRlZChuZWVkc0hpZ2hEUElXaW5k
b3cgPyAyIDogMSk7CiB9Ci0jZW5kaWYKIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6Y29uZmlndXJl
Vmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7CisgICAgZW5zdXJlVmll
d1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QodGVzdCk7CiAgICAgdXBkYXRlV2ViVmlld1NpemVGb3JU
ZXN0KHRlc3QpOwogICAgIHVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdChtYWluV2ViVmlldygpLCB0
ZXN0KTsKLSAgICB1cGRhdGVMYXlvdXRUeXBlRm9yVGVzdCh0ZXN0KTsKIAogICAgIHBsYXRmb3Jt
Q29uZmlndXJlVmlld0ZvclRlc3QodGVzdCk7CiB9CkBAIC05MzUsMTEgKzkyMyw2IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKCkKIAogdm9pZCBUZXN0Q29udHJv
bGxlcjo6cnVuKCkKIHsKLSAgICBpZiAoIXJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKSkg
ewotICAgICAgICBUZXN0SW52b2NhdGlvbjo6ZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNz
KCI8dW5rbm93bj4gLSBUZXN0Q29udHJvbGxlcjo6cnVuIC0gRmFpbGVkIHRvIHJlc2V0IHN0YXRl
IHRvIGNvbnNpc3RlbnQgdmFsdWVzXG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAg
IGlmIChtX3VzaW5nU2VydmVyTW9kZSkKICAgICAgICAgcnVuVGVzdGluZ1NlcnZlckxvb3AoKTsK
ICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA5
ODY4OWJmMzAwNzVlZTgwZDAzMTA2NGVhN2M5YTE0MTljYzZiZTg0Li41NGUzMWU0YTg4MDA3Njgy
YThiZTg3ZWJmYWQ4OTYwNzZjZGJhNzU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCkBAIC02OCw3ICs2OCw2IEBAIHB1YmxpYzoKIAogICAgIEV2ZW50U2VuZGVyUHJv
eHkqIGV2ZW50U2VuZGVyUHJveHkoKSB7IHJldHVybiBtX2V2ZW50U2VuZGVyUHJveHkuZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9ucyhjb25zdCBWaWV3T3B0aW9u
cyYpOwogICAgIGJvb2wgc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRVc2VSZW1vdGVMYXllclRyZWU7IH0KICAgICAKICAgICAvLyBSdW5zIHRoZSBydW4g
bG9vcCB1bnRpbCBgZG9uZWAgaXMgdHJ1ZSBvciB0aGUgdGltZW91dCBlbGFwc2VzLgpAQCAtMTQy
LDkgKzE0MSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxl
UGF0aCgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKTsKIAorICAg
IHZvaWQgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRp
b24mKTsKKyAgICBWaWV3T3B0aW9ucyB2aWV3T3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9j
YXRpb24mKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9u
c0ZvclRlc3QoVmlld09wdGlvbnMmLCBjb25zdCBUZXN0SW52b2NhdGlvbiYpIGNvbnN0OworCiAg
ICAgdm9pZCB1cGRhdGVXZWJWaWV3U2l6ZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKTsK
ICAgICB2b2lkIHVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdChQbGF0Zm9ybVdlYlZpZXcqLCBjb25z
dCBUZXN0SW52b2NhdGlvbiYpOwotICAgIHZvaWQgdXBkYXRlTGF5b3V0VHlwZUZvclRlc3QoY29u
c3QgVGVzdEludm9jYXRpb24mKTsKIAogICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdElmUG9zc2libGUoKTsKICAgICB2b2lkIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJsZSgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvVGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9lZmwvVGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDMwODhhNTEzZGUz
YWE1MWMzYjI1NDQ3MmU0YTg1NzJhNzIyNjg5YWIuLjgxNGMxNDU4M2Y0MDNiMTM4OWUyOTUxZTRj
NjE4YWEwMjk1NjY2ZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Rl
c3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9UZXN0
Q29udHJvbGxlckVmbC5jcHAKQEAgLTEzMiw0ICsxMzIsMjYgQEAgY29uc3QgY2hhciogVGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtTGlicmFyeVBhdGhGb3JUZXN0aW5nKCkKICAgICByZXR1cm4gMDsK
IH0KIAorc3RhdGljIGJvb2wgc2hvdWxkVXNlRml4ZWRMYXlvdXQoY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCit7CisjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorICAgIGlmICh0ZXN0
LnVybENvbnRhaW5zKCJzdGlja3kvIikgfHwgdGVzdC51cmxDb250YWlucygic3RpY2t5XFwiKSkK
KyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRl
c3QoVmlld09wdGlvbnMmIHZpZXdPcHRpb25zLCBjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkg
Y29uc3QKK3sKKyAgICB2aWV3T3B0aW9ucy51c2VGaXhlZExheW91dCA9IHNob3VsZFVzZUZpeGVk
TGF5b3V0KHRlc3QpOworfQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3Vy
ZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJikKK3sKK30KKwordm9pZCBUZXN0Q29u
dHJvbGxlcjo6cGxhdGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKK3sK
K30KKwogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9z
L1Rlc3RDb250cm9sbGVySU9TLm1tCmluZGV4IGZkZmU0NDg5OTdmNDUxZTEyNDllNjNlZDYxZjQw
NDQ4ZmM3MmY3NDMuLjJhYzM4NGM3NzkwNDNhMDY3Njg1OGZmMmE4ZDM2MWY1YzZiNWY4N2MgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1t
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCkBA
IC05OCw2ICs5OCwxMCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZp
ZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KQogICAgIH0KIH0KIAordm9pZCBU
ZXN0Q29udHJvbGxlcjo6dXBkYXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRpb25zRm9yVGVzdChW
aWV3T3B0aW9ucyYsIGNvbnN0IFRlc3RJbnZvY2F0aW9uJikgY29uc3QKK3sKK30KKwogdm9pZCBU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SdW5VbnRpbChib29sJiBkb25lLCBkb3VibGUgdGltZW91
dCkKIHsKICAgICBOU0RhdGUgKmVuZERhdGUgPSAodGltZW91dCA+IDApID8gW05TRGF0ZSBkYXRl
V2l0aFRpbWVJbnRlcnZhbFNpbmNlTm93OnRpbWVvdXRdIDogW05TRGF0ZSBkaXN0YW50RnV0dXJl
XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVy
TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0K
aW5kZXggMDM3OTM5OTVmNDVlOGNmNWJlNzgxZGM5NDFlNDliZjcxMzM3MTMyNS4uMzUwYmViMzBl
NTY3MDJjYmQyMDVhNGI2N2ZjYTgzNjc1Njc5YTkwNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTk2LDE2ICs5NiwxNSBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1
ZXMoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJl
Vmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCit2b2lkIFRlc3RDb250cm9s
bGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmlld09wdGlvbnNGb3JUZXN0KFZpZXdPcHRpb25z
JiB2aWV3T3B0aW9ucywgY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpIGNvbnN0CiB7Ci0gICAg
Vmlld09wdGlvbnMgdmlld09wdGlvbnM7Ci0KICAgICB2aWV3T3B0aW9ucy51c2VUaHJlYWRlZFNj
cm9sbGluZyA9IHNob3VsZFVzZVRocmVhZGVkU2Nyb2xsaW5nKHRlc3QpOwogICAgIHZpZXdPcHRp
b25zLnVzZVJlbW90ZUxheWVyVHJlZSA9IHNob3VsZFVzZVJlbW90ZUxheWVyVHJlZSgpOwogICAg
IHZpZXdPcHRpb25zLnNob3VsZFNob3dXZWJWaWV3ID0gc2hvdWxkU2hvd1dlYlZpZXcoKTsKK30K
IAotICAgIGVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnModmlld09wdGlvbnMpOwotCit2b2lkIFRl
c3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZpZ3VyZVZpZXdGb3JUZXN0KGNvbnN0IFRlc3RJbnZv
Y2F0aW9uJiB0ZXN0KQorewogI2lmIFdLX0FQSV9FTkFCTEVECiAgICAgaWYgKCF0ZXN0LnVybENv
bnRhaW5zKCJjb250ZW50ZXh0ZW5zaW9ucy8iKSkKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259193</attachid>
            <date>2015-08-17 14:58:21 -0700</date>
            <delta_ts>2015-08-17 15:07:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148093-20150817145820.patch</filename>
            <type>text/plain</type>
            <size>12583</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NTM3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzc3ZDhjODI0NWI5MWQ0NjcyODMyYTkyN2VkZjdhYTVm
NGVlZjkxOC4uY2YzMDFlN2IwZDg1ODg5ZWEzY2JiYzYzZjMyZDUyMGRiMWQxMzRlZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2
IEBACisyMDE1LTA4LTE3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisK
KyAgICAgICAgU2ltcGxpZnkgaG93IFBsYXRmb3JtV2ViVmlld3MgYXJlIGNyZWF0ZWQgd2hlbiB2
aWV3IG9wdGlvbnMgY2hhbmdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDgwOTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbnN0ZWFkIG9mIGxldHRpbmcgZWFjaCBwb3J0IGRpY3RhdGUgd2hlbiB0aGUg
UGxhdGZvcm1XZWJWaWV3IHNob3VsZCBiZSByZWNyZWF0ZWQgd2Ugbm93IGRvIHRoZSBmb2xsb3dp
bmc6CisKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnNG
b3JUZXN0IGdldHMgdGhlIHZpZXcgb3B0aW9ucyBmb3IgYSB0ZXN0IGJ5IGNhbGxpbmcKKyAgICAg
ICAgVGVzdENvbnRyb2xsZXI6OnZpZXdPcHRpb25zRm9yVGVzdCwgd2hpY2ggcmV0dXJucyBhIGZp
bGxlZCBpbiBWaWV3T3B0aW9ucyBzdHJ1Y3QgZm9yIGEgZ2l2ZW4gdGVzdC4gSXQgYWxzbyBhbGxv
d3MKKyAgICAgICAgcG9ydHMgdG8gYWRkL292ZXJyaWRlIHNldHRpbmdzIGJ5IGNhbGxpbmcgVGVz
dENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QuCisK
KyAgICAgICAgSWYgdGhlIGN1cnJlbnQgUGxhdGZvcm1XZWJWaWV3IGRvZXNuJ3Qgc3VwcG9ydCB0
aGUgZ2l2ZW4gdmlldyBvcHRpb25zLCBkZWxldGUgdGhlIHdlYiB2aWV3IGFuZCBjcmVhdGUgYSBu
ZXcgb25lLgorCisgICAgICAgIEFsc28sIGdldCByaWQgb2YgdGhlIGZpcnN0IGNhbGwgdG8gVGVz
dENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyBpbiBUZXN0Q29udHJvbGxlcjo6
aW5pdGlhbGl6ZSBhbmQKKyAgICAgICAgYWx3YXlzIHJlbHkgb24gVGVzdENvbnRyb2xsZXI6OmVu
c3VyZVZpZXdTdXBwb3J0c09wdGlvbnNGb3JUZXN0IGNyZWF0aW5nIGEgUGxhdGZvcm1XZWJWaWV3
IGZvciB1cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9u
c0ZvclRlc3QpOgorICAgICAgICAoV1RSOjpzaG91bGRVc2VGaXhlZExheW91dCk6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjp2aWV3T3B0aW9uc0ZvclRlc3QpOgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2ViVmlld1NpemVGb3JUZXN0KToKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdCk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjb25maWd1cmVWaWV3Rm9yVGVzdCk6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKTogRGVsZXRlZC4KKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnMpOiBEZWxldGVkLgorICAgICAg
ICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlTGF5b3V0VHlwZUZvclRlc3QpOiBEZWxldGVk
LgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3Rm9y
VGVzdCk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJl
c2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOiBEZWxldGVkLgorICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6cnVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9lZmwvVGVz
dENvbnRyb2xsZXJFZmwuY3BwOgorICAgICAgICAoV1RSOjpzaG91bGRVc2VGaXhlZExheW91dCk6
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmll
d09wdGlvbnNGb3JUZXN0KToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3Jt
Q29uZmlndXJlVmlld0ZvclRlc3QpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxh
dGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QpOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6dXBkYXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRp
b25zRm9yVGVzdCk6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUNvbmZp
Z3VyZVZpZXdGb3JUZXN0KToKKwogMjAxNS0wOC0xNyAgSmFzb24gTWFyY2VsbCAgPGptYXJjZWxs
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWZhY3RvciBCdWlsZGJvdFF1ZXVlVmlldy5fcHJlc2Vu
dFBvcG92ZXJGb3JQZW5kaW5nQ29tbWl0cyB0byB3b3JrIG1vcmUgZ2VuZXJpY2FsbHkgd2l0aApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBjNzI5NTg2YmQz
MTQwYzQ1MmQ3NGM4OGJiODk1MGM2ZmYwYzFmZDcyLi4yZjZlODViOTAyZDE2ZmYwNjk5Mzc5OTdi
ZDkxYmQxYjkyMWFjOTJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcApAQCAtNDMyLDEyICs0MzIsNiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXpl
KGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAKICAgICAvLyBTb21lIHByZWZlcmVuY2Vz
IChub3RhYmx5IG1vY2sgc2Nyb2xsIGJhcnMgc2V0dGluZykgY3VycmVudGx5IGNhbm5vdCBiZSBy
ZS1hcHBsaWVkIHRvIGFuIGV4aXN0aW5nIHZpZXcsIHNvIHdlIG5lZWQgdG8gc2V0IHRoZW0gbm93
LgogICAgIHJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKLQotICAgIFZpZXdP
cHRpb25zIHZpZXdPcHRpb25zOwotICAgIHZpZXdPcHRpb25zLnVzZVJlbW90ZUxheWVyVHJlZSA9
IG1fc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlOwotICAgIHZpZXdPcHRpb25zLnNob3VsZFNob3dX
ZWJWaWV3ID0gbV9zaG91bGRTaG93V2ViVmlldzsKLQotICAgIGNyZWF0ZVdlYlZpZXdXaXRoT3B0
aW9ucyh2aWV3T3B0aW9ucyk7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZp
ZXdXaXRoT3B0aW9ucyhjb25zdCBWaWV3T3B0aW9ucyYgb3B0aW9ucykKQEAgLTU0MywxOCArNTM3
LDI1IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRoT3B0aW9ucyhjb25z
dCBWaWV3T3B0aW9ucyYgb3B0aW9ucykKICAgICBtX21haW5XZWJWaWV3LT5jaGFuZ2VXaW5kb3dT
Y2FsZUlmTmVlZGVkKDEpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjplbnN1cmVWaWV3U3Vw
cG9ydHNPcHRpb25zKGNvbnN0IFZpZXdPcHRpb25zJiBvcHRpb25zKQordm9pZCBUZXN0Q29udHJv
bGxlcjo6ZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCiB7Ci0gICAgaWYgKG1fbWFpbldlYlZpZXcgJiYgIW1fbWFpbldlYlZpZXctPnZp
ZXdTdXBwb3J0c09wdGlvbnMob3B0aW9ucykpIHsKLSAgICAgICAgV0tQYWdlU2V0UGFnZVVJQ2xp
ZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgMCk7Ci0gICAgICAgIFdLUGFnZVNldFBhZ2VOYXZp
Z2F0aW9uQ2xpZW50KG1fbWFpbldlYlZpZXctPnBhZ2UoKSwgMCk7CisgICAgYXV0byB2aWV3T3B0
aW9ucyA9IHZpZXdPcHRpb25zRm9yVGVzdCh0ZXN0KTsKKworICAgIGlmIChtX21haW5XZWJWaWV3
KSB7CisgICAgICAgIGlmIChtX21haW5XZWJWaWV3LT52aWV3U3VwcG9ydHNPcHRpb25zKHZpZXdP
cHRpb25zKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBXS1BhZ2VTZXRQYWdlVUlD
bGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBudWxscHRyKTsKKyAgICAgICAgV0tQYWdlU2V0
UGFnZU5hdmlnYXRpb25DbGllbnQobV9tYWluV2ViVmlldy0+cGFnZSgpLCBudWxscHRyKTsKICAg
ICAgICAgV0tQYWdlQ2xvc2UobV9tYWluV2ViVmlldy0+cGFnZSgpKTsKLSAgICAgICAgCi0gICAg
ICAgIG1fbWFpbldlYlZpZXcgPSBudWxscHRyOwogCi0gICAgICAgIGNyZWF0ZVdlYlZpZXdXaXRo
T3B0aW9ucyhvcHRpb25zKTsKLSAgICAgICAgcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygp
OworICAgICAgICBtX21haW5XZWJWaWV3ID0gbnVsbHB0cjsKICAgICB9CisKKyAgICBjcmVhdGVX
ZWJWaWV3V2l0aE9wdGlvbnModmlld09wdGlvbnMpOworCisgICAgaWYgKCFyZXNldFN0YXRlVG9D
b25zaXN0ZW50VmFsdWVzKCkpCisgICAgICAgIFRlc3RJbnZvY2F0aW9uOjpkdW1wV2ViUHJvY2Vz
c1VucmVzcG9uc2l2ZW5lc3MoIjx1bmtub3duPiAtIFRlc3RDb250cm9sbGVyOjpydW4gLSBGYWls
ZWQgdG8gcmVzZXQgc3RhdGUgdG8gY29uc2lzdGVudCB2YWx1ZXNcbiIpOwogfQogCiB2b2lkIFRl
c3RDb250cm9sbGVyOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKQEAgLTc0
Nyw2NyArNzQ4LDU0IEBAIGNvbnN0IGNoYXIqIFRlc3RDb250cm9sbGVyOjpuZXR3b3JrUHJvY2Vz
c05hbWUoKQogI2VuZGlmCiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnVwZGF0ZVdlYlZpZXdT
aXplRm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKLXsKLSAgICBib29sIGlzU1ZH
VzNDVGVzdCA9IHRlc3QudXJsQ29udGFpbnMoInN2Zy9XM0MtU1ZHLTEuMSIpIHx8IHRlc3QudXJs
Q29udGFpbnMoInN2Z1xcVzNDLVNWRy0xLjEiKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoID0gdmll
d1dpZHRoOwotICAgIHVuc2lnbmVkIGhlaWdodCA9IHZpZXdIZWlnaHQ7Ci0gICAgaWYgKGlzU1ZH
VzNDVGVzdCkgewotICAgICAgICB3aWR0aCA9IHczY1NWR1ZpZXdXaWR0aDsKLSAgICAgICAgaGVp
Z2h0ID0gdzNjU1ZHVmlld0hlaWdodDsKLSAgICB9Ci0KLSAgICBtYWluV2ViVmlldygpLT5yZXNp
emVUbyh3aWR0aCwgaGVpZ2h0KTsKLX0KLQotdm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2lu
ZG93U2NhbGVGb3JUZXN0KFBsYXRmb3JtV2ViVmlldyogdmlldywgY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCi17Ci0gICAgYm9vbCBuZWVkc0hpZ2hEUElXaW5kb3cgPSB0ZXN0LnVybENvbnRh
aW5zKCIvaGlkcGktIik7Ci0gICAgdmlldy0+Y2hhbmdlV2luZG93U2NhbGVJZk5lZWRlZChuZWVk
c0hpZ2hEUElXaW5kb3cgPyAyIDogMSk7Ci19Ci0KLS8vIEZJWE1FOiBtb3ZlIGludG8gcmVsZXZh
bnQgcGxhdGZvcm1Db25maWd1cmVWaWV3Rm9yVGVzdCgpPwogc3RhdGljIGJvb2wgc2hvdWxkVXNl
Rml4ZWRMYXlvdXQoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7CiAjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKLSAgICBpZiAodGVzdC51cmxDb250YWlucygiZGV2aWNlLWFk
YXB0LyIpIHx8IHRlc3QudXJsQ29udGFpbnMoImRldmljZS1hZGFwdFxcIikpCi0gICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICBpZiAodGVzdC51cmxDb250YWlucygiZGV2aWNlLWFkYXB0LyIp
IHx8IHRlc3QudXJsQ29udGFpbnMoImRldmljZS1hZGFwdFxcIikpCisgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICNlbmRpZgogCi0jaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSAmJiBQTEFU
Rk9STShFRkwpCi0gICAgaWYgKHRlc3QudXJsQ29udGFpbnMoInN0aWNreS8iKSB8fCB0ZXN0LnVy
bENvbnRhaW5zKCJzdGlja3lcXCIpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLSNlbmRpZgogICAg
IHJldHVybiBmYWxzZTsKLQotICAgIFVOVVNFRF9QQVJBTSh0ZXN0KTsKIH0KIAotdm9pZCBUZXN0
Q29udHJvbGxlcjo6dXBkYXRlTGF5b3V0VHlwZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24m
IHRlc3QpCitWaWV3T3B0aW9ucyBUZXN0Q29udHJvbGxlcjo6dmlld09wdGlvbnNGb3JUZXN0KGNv
bnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KSBjb25zdAogewogICAgIFZpZXdPcHRpb25zIHZpZXdP
cHRpb25zOwogCisgICAgdmlld09wdGlvbnMudXNlUmVtb3RlTGF5ZXJUcmVlID0gbV9zaG91bGRV
c2VSZW1vdGVMYXllclRyZWU7CisgICAgdmlld09wdGlvbnMuc2hvdWxkU2hvd1dlYlZpZXcgPSBt
X3Nob3VsZFNob3dXZWJWaWV3OwogICAgIHZpZXdPcHRpb25zLnVzZUZpeGVkTGF5b3V0ID0gc2hv
dWxkVXNlRml4ZWRMYXlvdXQodGVzdCk7CiAKLSAgICBlbnN1cmVWaWV3U3VwcG9ydHNPcHRpb25z
KHZpZXdPcHRpb25zKTsKKyAgICB1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmlld09wdGlvbnNGb3JU
ZXN0KHZpZXdPcHRpb25zLCB0ZXN0KTsKKworICAgIHJldHVybiB2aWV3T3B0aW9uczsKIH0KIAot
I2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKEdUSykKLXZvaWQgVGVzdENvbnRyb2xs
ZXI6OnBsYXRmb3JtQ29uZmlndXJlVmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKQor
dm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2ViVmlld1NpemVGb3JUZXN0KGNvbnN0IFRlc3RJ
bnZvY2F0aW9uJiB0ZXN0KQogeworICAgIGJvb2wgaXNTVkdXM0NUZXN0ID0gdGVzdC51cmxDb250
YWlucygic3ZnL1czQy1TVkctMS4xIikgfHwgdGVzdC51cmxDb250YWlucygic3ZnXFxXM0MtU1ZH
LTEuMSIpOworCisgICAgdW5zaWduZWQgd2lkdGggPSB2aWV3V2lkdGg7CisgICAgdW5zaWduZWQg
aGVpZ2h0ID0gdmlld0hlaWdodDsKKyAgICBpZiAoaXNTVkdXM0NUZXN0KSB7CisgICAgICAgIHdp
ZHRoID0gdzNjU1ZHVmlld1dpZHRoOworICAgICAgICBoZWlnaHQgPSB3M2NTVkdWaWV3SGVpZ2h0
OworICAgIH0KKworICAgIG1haW5XZWJWaWV3KCktPnJlc2l6ZVRvKHdpZHRoLCBoZWlnaHQpOwog
fQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0NvbnNp
c3RlbnRWYWx1ZXMoKQordm9pZCBUZXN0Q29udHJvbGxlcjo6dXBkYXRlV2luZG93U2NhbGVGb3JU
ZXN0KFBsYXRmb3JtV2ViVmlldyogdmlldywgY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7
CisgICAgYm9vbCBuZWVkc0hpZ2hEUElXaW5kb3cgPSB0ZXN0LnVybENvbnRhaW5zKCIvaGlkcGkt
Iik7CisgICAgdmlldy0+Y2hhbmdlV2luZG93U2NhbGVJZk5lZWRlZChuZWVkc0hpZ2hEUElXaW5k
b3cgPyAyIDogMSk7CiB9Ci0jZW5kaWYKIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6Y29uZmlndXJl
Vmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiB7CisgICAgZW5zdXJlVmll
d1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QodGVzdCk7CiAgICAgdXBkYXRlV2ViVmlld1NpemVGb3JU
ZXN0KHRlc3QpOwogICAgIHVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdChtYWluV2ViVmlldygpLCB0
ZXN0KTsKLSAgICB1cGRhdGVMYXlvdXRUeXBlRm9yVGVzdCh0ZXN0KTsKIAogICAgIHBsYXRmb3Jt
Q29uZmlndXJlVmlld0ZvclRlc3QodGVzdCk7CiB9CkBAIC05MzUsMTEgKzkyMyw2IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKCkKIAogdm9pZCBUZXN0Q29udHJv
bGxlcjo6cnVuKCkKIHsKLSAgICBpZiAoIXJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKSkg
ewotICAgICAgICBUZXN0SW52b2NhdGlvbjo6ZHVtcFdlYlByb2Nlc3NVbnJlc3BvbnNpdmVuZXNz
KCI8dW5rbm93bj4gLSBUZXN0Q29udHJvbGxlcjo6cnVuIC0gRmFpbGVkIHRvIHJlc2V0IHN0YXRl
IHRvIGNvbnNpc3RlbnQgdmFsdWVzXG4iKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQogICAg
IGlmIChtX3VzaW5nU2VydmVyTW9kZSkKICAgICAgICAgcnVuVGVzdGluZ1NlcnZlckxvb3AoKTsK
ICAgICBlbHNlIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA5
ODY4OWJmMzAwNzVlZTgwZDAzMTA2NGVhN2M5YTE0MTljYzZiZTg0Li41NGUzMWU0YTg4MDA3Njgy
YThiZTg3ZWJmYWQ4OTYwNzZjZGJhNzU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCkBAIC02OCw3ICs2OCw2IEBAIHB1YmxpYzoKIAogICAgIEV2ZW50U2VuZGVyUHJv
eHkqIGV2ZW50U2VuZGVyUHJveHkoKSB7IHJldHVybiBtX2V2ZW50U2VuZGVyUHJveHkuZ2V0KCk7
IH0KIAotICAgIHZvaWQgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9ucyhjb25zdCBWaWV3T3B0aW9u
cyYpOwogICAgIGJvb2wgc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlKCkgY29uc3QgeyByZXR1cm4g
bV9zaG91bGRVc2VSZW1vdGVMYXllclRyZWU7IH0KICAgICAKICAgICAvLyBSdW5zIHRoZSBydW4g
bG9vcCB1bnRpbCBgZG9uZWAgaXMgdHJ1ZSBvciB0aGUgdGltZW91dCBlbGFwc2VzLgpAQCAtMTQy
LDkgKzE0MSwxMiBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxl
UGF0aCgpOwogICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKTsKIAorICAg
IHZvaWQgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRp
b24mKTsKKyAgICBWaWV3T3B0aW9ucyB2aWV3T3B0aW9uc0ZvclRlc3QoY29uc3QgVGVzdEludm9j
YXRpb24mKSBjb25zdDsKKyAgICB2b2lkIHVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9u
c0ZvclRlc3QoVmlld09wdGlvbnMmLCBjb25zdCBUZXN0SW52b2NhdGlvbiYpIGNvbnN0OworCiAg
ICAgdm9pZCB1cGRhdGVXZWJWaWV3U2l6ZUZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKTsK
ICAgICB2b2lkIHVwZGF0ZVdpbmRvd1NjYWxlRm9yVGVzdChQbGF0Zm9ybVdlYlZpZXcqLCBjb25z
dCBUZXN0SW52b2NhdGlvbiYpOwotICAgIHZvaWQgdXBkYXRlTGF5b3V0VHlwZUZvclRlc3QoY29u
c3QgVGVzdEludm9jYXRpb24mKTsKIAogICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRp
b25QZXJtaXNzaW9uUmVxdWVzdElmUG9zc2libGUoKTsKICAgICB2b2lkIGRlY2lkZVBvbGljeUZv
clVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0SWZQb3NzaWJsZSgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9lZmwvVGVzdENvbnRyb2xsZXJFZmwuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9lZmwvVGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDMwODhhNTEzZGUz
YWE1MWMzYjI1NDQ3MmU0YTg1NzJhNzIyNjg5YWIuLjkxYzYxOGFjOTYwY2E3NWVlNDlhN2RhMzI2
N2Q5MDhjZGY5M2I0ZDUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZWZsL1Rl
c3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2VmbC9UZXN0
Q29udHJvbGxlckVmbC5jcHAKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlICJUZXN0Q29udHJv
bGxlci5oIgogCiAjaW5jbHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiVGVzdElu
dm9jYXRpb24uaCIKICNpbmNsdWRlIDxFY29yZS5oPgogI2luY2x1ZGUgPEV2YXMuaD4KICNpbmNs
dWRlIDxzdGRpby5oPgpAQCAtMTMyLDQgKzEzMywyNiBAQCBjb25zdCBjaGFyKiBUZXN0Q29udHJv
bGxlcjo6cGxhdGZvcm1MaWJyYXJ5UGF0aEZvclRlc3RpbmcoKQogICAgIHJldHVybiAwOwogfQog
CitzdGF0aWMgYm9vbCBzaG91bGRVc2VGaXhlZExheW91dChjb25zdCBUZXN0SW52b2NhdGlvbiYg
dGVzdCkKK3sKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisgICAgaWYgKHRlc3QudXJs
Q29udGFpbnMoInN0aWNreS8iKSB8fCB0ZXN0LnVybENvbnRhaW5zKCJzdGlja3lcXCIpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBU
ZXN0Q29udHJvbGxlcjo6dXBkYXRlUGxhdGZvcm1TcGVjaWZpY1ZpZXdPcHRpb25zRm9yVGVzdChW
aWV3T3B0aW9ucyYgdmlld09wdGlvbnMsIGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0KSBjb25z
dAoreworICAgIHZpZXdPcHRpb25zLnVzZUZpeGVkTGF5b3V0ID0gc2hvdWxkVXNlRml4ZWRMYXlv
dXQodGVzdCk7Cit9CisKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJlVmll
d0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mKQoreworfQorCit2b2lkIFRlc3RDb250cm9s
bGVyOjpwbGF0Zm9ybVJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQoreworfQor
CiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1Rlc3RDb250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVz
dENvbnRyb2xsZXJJT1MubW0KaW5kZXggZmRmZTQ0ODk5N2Y0NTFlMTI0OWU2M2VkNjFmNDA0NDhm
YzcyZjc0My4uMmFjMzg0Yzc3OTA0M2EwNjc2ODU4ZmYyYThkMzYxZjVjNmI1Zjg3YyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0KQEAgLTk4
LDYgKzk4LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJlVmlld0Zv
clRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QpCiAgICAgfQogfQogCit2b2lkIFRlc3RD
b250cm9sbGVyOjp1cGRhdGVQbGF0Zm9ybVNwZWNpZmljVmlld09wdGlvbnNGb3JUZXN0KFZpZXdP
cHRpb25zJiwgY29uc3QgVGVzdEludm9jYXRpb24mKSBjb25zdAoreworfQorCiB2b2lkIFRlc3RD
b250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsKGJvb2wmIGRvbmUsIGRvdWJsZSB0aW1lb3V0KQog
ewogICAgIE5TRGF0ZSAqZW5kRGF0ZSA9ICh0aW1lb3V0ID4gMCkgPyBbTlNEYXRlIGRhdGVXaXRo
VGltZUludGVydmFsU2luY2VOb3c6dGltZW91dF0gOiBbTlNEYXRlIGRpc3RhbnRGdXR1cmVdOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQppbmRl
eCAwMzc5Mzk5NWY0NWU4Y2Y1YmU3ODFkYzk0MWU0OWJmNzEzMzcxMzI1Li4zNTBiZWIzMGU1Njcw
MmNiZDIwNWE0YjY3ZmNhODM2NzU2NzlhOTA2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtOTYsMTYgKzk2LDE1IEBAIHZvaWQgVGVz
dENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygp
CiAjZW5kaWYKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1Db25maWd1cmVWaWV3
Rm9yVGVzdChjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkKK3ZvaWQgVGVzdENvbnRyb2xsZXI6
OnVwZGF0ZVBsYXRmb3JtU3BlY2lmaWNWaWV3T3B0aW9uc0ZvclRlc3QoVmlld09wdGlvbnMmIHZp
ZXdPcHRpb25zLCBjb25zdCBUZXN0SW52b2NhdGlvbiYgdGVzdCkgY29uc3QKIHsKLSAgICBWaWV3
T3B0aW9ucyB2aWV3T3B0aW9uczsKLQogICAgIHZpZXdPcHRpb25zLnVzZVRocmVhZGVkU2Nyb2xs
aW5nID0gc2hvdWxkVXNlVGhyZWFkZWRTY3JvbGxpbmcodGVzdCk7CiAgICAgdmlld09wdGlvbnMu
dXNlUmVtb3RlTGF5ZXJUcmVlID0gc2hvdWxkVXNlUmVtb3RlTGF5ZXJUcmVlKCk7CiAgICAgdmll
d09wdGlvbnMuc2hvdWxkU2hvd1dlYlZpZXcgPSBzaG91bGRTaG93V2ViVmlldygpOworfQogCi0g
ICAgZW5zdXJlVmlld1N1cHBvcnRzT3B0aW9ucyh2aWV3T3B0aW9ucyk7Ci0KK3ZvaWQgVGVzdENv
bnRyb2xsZXI6OnBsYXRmb3JtQ29uZmlndXJlVmlld0ZvclRlc3QoY29uc3QgVGVzdEludm9jYXRp
b24mIHRlc3QpCit7CiAjaWYgV0tfQVBJX0VOQUJMRUQKICAgICBpZiAoIXRlc3QudXJsQ29udGFp
bnMoImNvbnRlbnRleHRlbnNpb25zLyIpKQogICAgICAgICByZXR1cm47Cg==
</data>
<flag name="review"
          id="284360"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>