<?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>50169</bug_id>
          
          <creation_ts>2010-11-29 12:03:39 -0800</creation_ts>
          <short_desc>REGRESSION (r53857): Removing focus from area element causes unwanted scrolling</short_desc>
          <delta_ts>2011-04-07 11:04:58 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://strickr.de/tests/imagemap.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Stricker">martin.stricker</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>cfleizach</cc>
    
    <cc>darin</cc>
    
    <cc>gmmail2000-bugzilla</cc>
    
    <cc>komoroske</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>314552</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Stricker">martin.stricker</who>
    <bug_when>2010-11-29 12:03:39 -0800</bug_when>
    <thetext>See Testpage:
http://strickr.de/tests/imagemap.html

Der dots on the map are connected via anchor links to entries in a list below:

- clicking on a dot scrolls down to entry in list (as expected)
- on next click in window (no matter if on link or not) page jumps up again to image (this is not expected)

This behaviour is present in current WebKit Nightly (5533.19.4, r72783) and Chrome Beta (8.0.552.210 beta), but not in current Safari (5533.19.4).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315235</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-30 12:20:48 -0800</bug_when>
    <thetext>Seems likely I broke this with recent image map changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319763</commentid>
    <comment_count>2</comment_count>
    <who name="">komoroske</who>
    <bug_when>2010-12-09 16:09:15 -0800</bug_when>
    <thetext>A number of users have reported this in Chrome&apos;s user forums, too, using Chrome 8.0.552.215.

See http://www.menchies.com/locations.php and http://www.longtermcarelink.net/a7homecare.htm for other examples.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336654</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-19 11:08:40 -0800</bug_when>
    <thetext>If someone else wants to fix this, they are welcome to. I won’t have time to work on it for a while. I’m keeping it assigned to me to remind myself about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>336656</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-19 11:08:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/8886118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342935</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-31 17:34:04 -0800</bug_when>
    <thetext>I am not so sure this has anything to do with my change. Seems to have something to do with focusing area elements. I did not realize we did that!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342943</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-31 17:48:08 -0800</bug_when>
    <thetext>I suspect this problem was introduced with r53857.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342944</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-31 17:49:31 -0800</bug_when>
    <thetext>The bad code seems to be HTMLAreaElement::dispatchBlurEvent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342949</commentid>
    <comment_count>8</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-01-31 18:00:04 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; The bad code seems to be HTMLAreaElement::dispatchBlurEvent.

I only see this happen, if you first tab to the image map item, then click on it. the following click will then jump back to the image</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>342951</commentid>
    <comment_count>9</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-01-31 18:02:19 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; The bad code seems to be HTMLAreaElement::dispatchBlurEvent.
&gt; 

It looks like

imageElement-&gt;updateFocusAppearance(restorePreviousSelection); 

that is called from dispatchBlurEvent() -&gt; updateFocusAppearance

is causing the scroll back to occur. Since it&apos;s a blur event, it seems like it should not be scrolling on the update focus</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343265</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-01 09:27:20 -0800</bug_when>
    <thetext>Yes, that’s right. The problem is that updateFocusAppearance is implemented and used incorrectly in HTMLMapElement. The job of that function, despite its misleading name, is to scroll to reveal the focused element, or something along those lines. HTMLMapElement tries to use it to trigger appropriate repainting of the image element.

I’m working on a patch that redoes that map/image focus code to work with a correct model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343513</commentid>
    <comment_count>11</comment_count>
      <attachid>80820</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-01 13:55:44 -0800</bug_when>
    <thetext>Created attachment 80820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343534</commentid>
    <comment_count>12</comment_count>
      <attachid>80820</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2011-02-01 14:17:25 -0800</bug_when>
    <thetext>Comment on attachment 80820
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343563</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-01 14:49:24 -0800</bug_when>
    <thetext>Committed r77313: &lt;http://trac.webkit.org/changeset/77313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>367087</commentid>
    <comment_count>14</comment_count>
    <who name="">gmmail2000-bugzilla</who>
    <bug_when>2011-03-14 11:29:01 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Committed r77313: &lt;http://trac.webkit.org/changeset/77313&gt;

Will this patch be integrated in Chrome&apos;s new version, or what do I have to do to get my imagemap working in Chrome 10.0.648.133? Thanks for the answer.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80820</attachid>
            <date>2011-02-01 13:55:44 -0800</date>
            <delta_ts>2011-02-01 14:17:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50169-20110201135543.patch</filename>
            <type>text/plain</type>
            <size>15296</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc3Mjg2KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDItMDEgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IFJlbW92aW5nIGZvY3VzIGZyb20gYXJlYSBlbGVt
ZW50IGNhdXNlcyB1bndhbnRlZCBzY3JvbGxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTUwMTY5CisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMv
aW1hZ2VtYXAtc2Nyb2xsLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBcmVhRWxlbWVudDo6c2V0Rm9jdXMpOiBBZGRlZCBv
dmVycmlkZS4gQ2FsbHMgdGhlIG5ldworICAgICAgICBSZW5kZXJJbWFnZTo6YXJlYUVsZW1lbnRG
b2N1c0NoYW5nZWQgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MQXJlYUVsZW1lbnQ6
OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZSk6IFJlbW92ZWQgdGhlIGNvZGUKKyAgICAgICAgaGVyZSB0
aGF0IGNhbGxzIHNldE5lZWRzTGF5b3V0IG9uIHRoZSBpbWFnZSdzIHJlbmRlcmVyLiBUaGlzIHdh
cyBhbgorICAgICAgICBhdHRlbXB0IHRvIGNhdXNlIHJlcGFpbnQgb2YgdGhlIHJlbmRlcmVyLCBi
dXQgdGhpcyBmdW5jdGlvbiBkb2VzIG5vdAorICAgICAgICBuZWVkIHRvIGRvIHRoYXQuIEFsc28g
Y2hhbmdlZCB0aGlzIHRvIHVzZSB0aGUgaW1hZ2VFbGVtZW50IGZ1bmN0aW9uCisgICAgICAgIHRv
IGF2b2lkIHJlcGVhdGluZyBjb2RlLgorCisgICAgICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aDogVXBkYXRlZCBmb3IgYWJvdmUgY2hhbmdlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnQpOiBVcGRh
dGVkIGZvciBuYW1lIGNoYW5nZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWlu
dEFyZWFFbGVtZW50Rm9jdXNSaW5nKTogUmVuYW1lZCB0aGlzIGZyb20KKyAgICAgICAgcGFpbnRG
b2N1c1JpbmcsIGJlY2F1c2UgaXQgb25seSBwYWludHMgYXJlYSBmb2N1cyByaW5ncywgYW5kIHNo
b3VsZAorICAgICAgICBub3QgYmUgY29uZnVzZWQgd2l0aCBwYWludEZvY3VzUmluZyBmdW5jdGlv
bnMgaW4gb3RoZXIgY2xhc3Nlcy4gQWxzbworICAgICAgICByZW1vdmVkIHRoZSB1bnVzZWQgc3R5
bGUgYXJndW1lbnQuIFJlbW92ZWQgdGhlIGNvZGUgdGhhdCB1c2VkIGFuCisgICAgICAgIEhUTUxD
b2xsZWN0aW9uIHRvIHNlZSBpZiB0aGUgZm9jdXNlZCBhcmVhIGVsZW1lbnQgaXMgZm9yIHRoaXMg
aW1hZ2UKKyAgICAgICAgYW5kIGluc3RlYWQganVzdCBjYWxsIGltYWdlRWxlbWVudCBvbiB0aGUg
YXJlYSBlbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmFyZWFFbGVtZW50
Rm9jdXNDaGFuZ2VkKTogQWRkZWQuIENhbGxzIHJlcGFpbnQuCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVySW1hZ2UuaDogQWRkZWQgYSBwdWJsaWMgYXJlYUVsZW1lbnRGb2N1c0NoYW5nZWQK
KyAgICAgICAgZnVuY3Rpb24gZm9yIEhUTUxBcmVhRWxlbWVudCB0byBjYWxsLiBNYWRlIHRoZSBw
YWludEZvY3VzUmluZyBmdW5jdGlvbgorICAgICAgICBwcml2YXRlLCByZW5hbWVkIGl0IHRvIHBh
aW50QXJlYUVsZW1lbnRGb2N1c1JpbmcsIGFuZCByZW1vdmVkIGl0cworICAgICAgICB1bnVzZWQg
c3R5bGUgYXJndW1lbnQuCisKIDIwMTEtMDItMDEgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmNwcAkocmV2aXNpb24gNzcyNzkpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5v
cmcpCiAgKiAgICAgICAgICAgKEMpIDE5OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5v
cmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA5LCAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJQYXRoLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2Jq
ZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKIAogdXNpbmcgbmFtZXNwYWNlIHN0ZDsK
IApAQCAtMTk2LDMzICsxOTYsMzQgQEAgYm9vbCBIVE1MQXJlYUVsZW1lbnQ6OmlzRm9jdXNhYmxl
KCkgY29ucwogICAgIHJldHVybiBzdXBwb3J0c0ZvY3VzKCkgJiYgRWxlbWVudDo6dGFiSW5kZXgo
KSA+PSAwOwogfQogICAgIAotdm9pZCBIVE1MQXJlYUVsZW1lbnQ6OmRpc3BhdGNoQmx1ckV2ZW50
KCkKK3ZvaWQgSFRNTEFyZWFFbGVtZW50OjpzZXRGb2N1cyhib29sIHNob3VsZEJlRm9jdXNlZCkK
IHsKLSAgICBIVE1MQW5jaG9yRWxlbWVudDo6ZGlzcGF0Y2hCbHVyRXZlbnQoKTsKLSAgICAKLSAg
ICAvLyBPbiBhIGJsdXIsIHdlIG1pZ2h0IG5lZWQgdG8gcmVtb3ZlIG91ciBmb2N1cyByaW5ncyBi
eSByZXBhaW50aW5nLgotICAgIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZShmYWxzZSk7CisgICAgaWYg
KGZvY3VzZWQoKSA9PSBzaG91bGRCZUZvY3VzZWQpCisgICAgICAgIHJldHVybjsKKworICAgIEhU
TUxBbmNob3JFbGVtZW50OjpzZXRGb2N1cyhzaG91bGRCZUZvY3VzZWQpOworCisgICAgSFRNTElt
YWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gdGhpcy0+aW1hZ2VFbGVtZW50KCk7CisgICAgaWYg
KCFpbWFnZUVsZW1lbnQpCisgICAgICAgIHJldHVybjsKKworICAgIFJlbmRlck9iamVjdCogcmVu
ZGVyZXIgPSBpbWFnZUVsZW1lbnQtPnJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5kZXJlciB8fCAh
cmVuZGVyZXItPmlzSW1hZ2UoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgdG9SZW5kZXJJbWFn
ZShyZW5kZXJlciktPmFyZWFFbGVtZW50Rm9jdXNDaGFuZ2VkKHRoaXMpOwogfQogICAgIAogdm9p
ZCBIVE1MQXJlYUVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29sIHJlc3RvcmVQcmV2
aW91c1NlbGVjdGlvbikKIHsKICAgICBpZiAoIWlzRm9jdXNhYmxlKCkpCiAgICAgICAgIHJldHVy
bjsKLSAgICAKLSAgICBDb250YWluZXJOb2RlKiBwYXJlbnQgPSBwYXJlbnROb2RlKCk7Ci0gICAg
aWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aGFzVGFnTmFtZShtYXBUYWcpKQotICAgICAgICByZXR1
cm47Ci0gICAgCi0gICAgSFRNTEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8SFRNTE1hcEVsZW1lbnQqPihwYXJlbnQpLT5pbWFnZUVsZW1lbnQoKTsKKworICAgIEhUTUxJ
bWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHRoaXMtPmltYWdlRWxlbWVudCgpOwogICAgIGlm
ICghaW1hZ2VFbGVtZW50KQogICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgLy8gVGhpcyB3aWxs
IGhhbmRsZSBzY3JvbGxpbmcgdG8gdGhlIGltYWdlIGlmIG5lY2Vzc2FyeS4KKwogICAgIGltYWdl
RWxlbWVudC0+dXBkYXRlRm9jdXNBcHBlYXJhbmNlKHJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbik7
Ci0gICAgCi0gICAgUmVuZGVyT2JqZWN0KiBpbWFnZVJlbmRlcmVyID0gaW1hZ2VFbGVtZW50LT5y
ZW5kZXJlcigpOwotICAgIGlmIChpbWFnZVJlbmRlcmVyKQotICAgICAgICBpbWFnZVJlbmRlcmVy
LT5zZXROZWVkc0xheW91dCh0cnVlKTsKIH0KICAgICAKIGJvb2wgSFRNTEFyZWFFbGVtZW50Ojpz
dXBwb3J0c0ZvY3VzKCkgY29uc3QKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1l
bnQuaAkocmV2aXNpb24gNzcyNzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMTk5OSBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQogICogICAgICAgICAgIChDKSAxOTk5
IEFudHRpIEtvaXZpc3RvIChrb2l2aXN0b0BrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0
LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNCwgMjAwOCwgMjAwOSwgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTU3LDcgKzU3LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIGJvb2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBp
c0ZvY3VzYWJsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFu
Y2UoYm9vbCAvKnJlc3RvcmVQcmV2aW91c1NlbGVjdGlvbiovKTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hCbHVyRXZlbnQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Rm9jdXMoYm9vbCk7CiAg
ICAgCiAgICAgZW51bSBTaGFwZSB7IERlZmF1bHQsIFBvbHksIFJlY3QsIENpcmNsZSwgVW5rbm93
biB9OwogICAgIFBhdGggZ2V0UmVnaW9uKGNvbnN0IEludFNpemUmKSBjb25zdDsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24gNzcyNzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00LDcgKzQsNyBAQAogICogICAgICAgICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAobXVl
bGxlckBrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA2IEFsbGFuIFNhbmRmZWxkIEplbnNl
biAoa2RlQGNhcmV3b2xmLmNvbSkKICAqICAgICAgICAgICAoQykgMjAwNiBTYW11ZWwgV2Vpbmln
IChzYW0ud2VpbmlnQGdtYWlsLmNvbSkKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgsIDIwMDksIDIw
MTAsIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChD
KSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAt
MzAsNyArMzAsNiBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250
ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTEFyZWFFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTENvbGxl
Y3Rpb24uaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElu
cHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxNYXBFbGVtZW50LmgiCkBAIC0zMjQsNDcgKzMy
Myw1MyBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgUmVu
ZGVyUmVwbGFjZWQ6OnBhaW50KHBhaW50SW5mbywgdHgsIHR5KTsKICAgICAKICAgICBpZiAocGFp
bnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2VPdXRsaW5lKQotICAgICAgICBwYWludEZvY3VzUmlu
ZyhwYWludEluZm8sIHN0eWxlKCkpOworICAgICAgICBwYWludEFyZWFFbGVtZW50Rm9jdXNSaW5n
KHBhaW50SW5mbyk7CiB9CiAgICAgCi12b2lkIFJlbmRlckltYWdlOjpwYWludEZvY3VzUmluZyhQ
YWludEluZm8mIHBhaW50SW5mbywgY29uc3QgUmVuZGVyU3R5bGUqKQordm9pZCBSZW5kZXJJbWFn
ZTo6cGFpbnRBcmVhRWxlbWVudEZvY3VzUmluZyhQYWludEluZm8mIHBhaW50SW5mbykKIHsKLSAg
ICAvLyBEb24ndCBkcmF3IGZvY3VzIHJpbmdzIGlmIHByaW50aW5nLgotICAgIGlmIChkb2N1bWVu
dCgpLT5wcmludGluZygpIHx8ICFmcmFtZSgpLT5zZWxlY3Rpb24oKS0+aXNGb2N1c2VkQW5kQWN0
aXZlKCkpCisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpcy0+ZG9jdW1lbnQoKTsKKyAgICAK
KyAgICBpZiAoZG9jdW1lbnQtPnByaW50aW5nKCkgfHwgIWRvY3VtZW50LT5mcmFtZSgpLT5zZWxl
Y3Rpb24oKS0+aXNGb2N1c2VkQW5kQWN0aXZlKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAg
ICBpZiAocGFpbnRJbmZvLmNvbnRleHQtPnBhaW50aW5nRGlzYWJsZWQoKSAmJiAhcGFpbnRJbmZv
LmNvbnRleHQtPnVwZGF0aW5nQ29udHJvbFRpbnRzKCkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEhUTUxNYXBFbGVtZW50KiBtYXBFbGVtZW50ID0gaW1hZ2VNYXAoKTsKLSAgICBpZiAoIW1hcEVs
ZW1lbnQpCisgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsK
KyAgICBpZiAoIWZvY3VzZWROb2RlIHx8ICFmb2N1c2VkTm9kZS0+aGFzVGFnTmFtZShhcmVhVGFn
KSkKICAgICAgICAgcmV0dXJuOwotICAgIAotICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1hcEVs
ZW1lbnQtPmRvY3VtZW50KCk7Ci0gICAgaWYgKCFkb2N1bWVudCkKKworICAgIEhUTUxBcmVhRWxl
bWVudCogYXJlYUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MQXJlYUVsZW1lbnQqPihmb2N1c2Vk
Tm9kZSk7CisgICAgaWYgKGFyZWFFbGVtZW50LT5pbWFnZUVsZW1lbnQoKSAhPSBub2RlKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICAKLSAgICBOb2RlKiBmb2N1c2VkTm9kZSA9IGRvY3VtZW50LT5m
b2N1c2VkTm9kZSgpOwotICAgIGlmICghZm9jdXNlZE5vZGUpCisKKyAgICBSZW5kZXJTdHlsZSog
YXJlYUVsZW1lbnRTdHlsZSA9IGFyZWFFbGVtZW50LT5jb21wdXRlZFN0eWxlKCk7CisKKyAgICAv
LyBBcyB3aXRoIG90aGVyIGZvY3VzIHJpbmcgZHJhd2luZywgaWYgdGhlIHRoZW1lIHNheXMgaXQg
d2lsbCBoYW5kbGUgdGhlIGZvY3VzIHJpbmcgZm9yIHVzLCB3ZSBzaG91bGQgbm90IHRyeSB0byBk
cmF3IGl0LgorICAgIGlmICh0aGVtZSgpLT5zdXBwb3J0c0ZvY3VzUmluZyhhcmVhRWxlbWVudFN0
eWxlKSkKICAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4g
YXJlYXMgPSBtYXBFbGVtZW50LT5hcmVhcygpOwotICAgIHVuc2lnbmVkIG51bUFyZWFzID0gYXJl
YXMtPmxlbmd0aCgpOwotICAgIAotICAgIC8vIEZJWE1FOiBDbGlwIHRoZSBwYXRocyB0byB0aGUg
aW1hZ2UgYm91bmRpbmcgYm94LgotICAgIGZvciAodW5zaWduZWQgayA9IDA7IGsgPCBudW1BcmVh
czsgKytrKSB7Ci0gICAgICAgIEhUTUxBcmVhRWxlbWVudCogYXJlYUVsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxIVE1MQXJlYUVsZW1lbnQqPihhcmVhcy0+aXRlbShrKSk7Ci0gICAgICAgIGlmIChmb2N1
c2VkTm9kZSAhPSBhcmVhRWxlbWVudCkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAg
IFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gYXJlYUVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKTsK
LSAgICAgICAgaWYgKHRoZW1lKCktPnN1cHBvcnRzRm9jdXNSaW5nKHN0eWxlVG9Vc2UpKQotICAg
ICAgICAgICAgcmV0dXJuOyAvLyBUaGUgdGhlbWUgZHJhd3MgdGhlIGZvY3VzIHJpbmcuCi0gICAg
ICAgIHBhaW50SW5mby5jb250ZXh0LT5kcmF3Rm9jdXNSaW5nKGFyZWFFbGVtZW50LT5nZXRQYXRo
KHRoaXMpLCBzdHlsZVRvVXNlLT5vdXRsaW5lV2lkdGgoKSwgc3R5bGVUb1VzZS0+b3V0bGluZU9m
ZnNldCgpLCBzdHlsZVRvVXNlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlPdXRs
aW5lQ29sb3IpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorCisgICAgUGF0aCBwYXRoID0gYXJl
YUVsZW1lbnQtPmdldFBhdGgodGhpcyk7CisgICAgaWYgKHBhdGguaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogRG8gd2UgbmVlZCBhZGRpdGlvbmFsIGNvZGUgdG8g
Y2xpcCB0aGUgcGF0aCB0byB0aGUgaW1hZ2UncyBib3VuZGluZyBib3g/CisKKyAgICBwYWludElu
Zm8uY29udGV4dC0+ZHJhd0ZvY3VzUmluZyhwYXRoLCBhcmVhRWxlbWVudFN0eWxlLT5vdXRsaW5l
V2lkdGgoKSwgYXJlYUVsZW1lbnRTdHlsZS0+b3V0bGluZU9mZnNldCgpLAorICAgICAgICBhcmVh
RWxlbWVudFN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlPdXRsaW5lQ29s
b3IpKTsKIH0KLSAgICAKKwordm9pZCBSZW5kZXJJbWFnZTo6YXJlYUVsZW1lbnRGb2N1c0NoYW5n
ZWQoSFRNTEFyZWFFbGVtZW50KiBlbGVtZW50KQoreworICAgIEFTU0VSVF9VTlVTRUQoZWxlbWVu
dCwgZWxlbWVudC0+aW1hZ2VFbGVtZW50KCkgPT0gbm9kZSgpKTsKKworICAgIC8vIEl0IHdvdWxk
IGJlIG1vcmUgZWZmaWNpZW50IHRvIG9ubHkgcmVwYWludCB0aGUgZm9jdXMgcmluZyByZWN0YW5n
bGUKKyAgICAvLyBmb3IgdGhlIHBhc3NlZC1pbiBhcmVhIGVsZW1lbnQuIFRoYXQgd291bGQgcmVx
dWlyZSBhZGRpbmcgZnVuY3Rpb25zCisgICAgLy8gdG8gdGhlIGFyZWEgZWxlbWVudCBjbGFzcy4K
KyAgICByZXBhaW50KCk7Cit9CisKIHZvaWQgUmVuZGVySW1hZ2U6OnBhaW50SW50b1JlY3QoR3Jh
cGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIGlmICgh
bV9pbWFnZVJlc291cmNlLT5oYXNJbWFnZSgpIHx8IG1faW1hZ2VSZXNvdXJjZS0+ZXJyb3JPY2N1
cnJlZCgpIHx8IHJlY3Qud2lkdGgoKSA8PSAwIHx8IHJlY3QuaGVpZ2h0KCkgPD0gMCkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCShyZXZpc2lvbiA3NzI3OSkKKysr
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zLDcgKzMsNyBAQAogICogICAgICAgICAgIChDKSAxOTk5IEFudHRpIEtvaXZpc3RvIChrb2l2
aXN0b0BrZGUub3JnKQogICogICAgICAgICAgIChDKSAyMDA2IEFsbGFuIFNhbmRmZWxkIEplbnNl
biAoa2RlQGNhcmV3b2xmLmNvbSkgCiAgKiAgICAgICAgICAgKEMpIDIwMDYgU2FtdWVsIFdlaW5p
ZyAoc2FtLndlaW5pZ0BnbWFpbC5jb20pCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIw
MDYsIDIwMDcsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA5LCAyMDEwLCAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzAs
NiArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIEhUTUxBcmVhRWxlbWVu
dDsKIGNsYXNzIEhUTUxNYXBFbGVtZW50OwogCiBjbGFzcyBSZW5kZXJJbWFnZSA6IHB1YmxpYyBS
ZW5kZXJSZXBsYWNlZCB7CkBAIC00OCw2ICs0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0
ZUFsdFRleHQoKTsKIAogICAgIEhUTUxNYXBFbGVtZW50KiBpbWFnZU1hcCgpIGNvbnN0OworICAg
IHZvaWQgYXJlYUVsZW1lbnRGb2N1c0NoYW5nZWQoSFRNTEFyZWFFbGVtZW50Kik7CiAKICAgICB2
b2lkIGhpZ2hRdWFsaXR5UmVwYWludFRpbWVyRmlyZWQoVGltZXI8UmVuZGVySW1hZ2U+Kik7CiAK
QEAgLTU3LDcgKzU5LDYgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBpbWFnZUNoYW5n
ZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KiA9IDApOwogCiAgICAgdmlydHVhbCB2
b2lkIHBhaW50SW50b1JlY3QoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwotICAg
IHZvaWQgcGFpbnRGb2N1c1JpbmcoUGFpbnRJbmZvJiwgY29uc3QgUmVuZGVyU3R5bGUqKTsKICAg
ICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHkpOwogCiAgICAg
Ym9vbCBpc0xvZ2ljYWxXaWR0aFNwZWNpZmllZCgpIGNvbnN0OwpAQCAtOTEsNiArOTIsOCBAQCBw
cml2YXRlOgogICAgIGludCBjYWxjQXNwZWN0UmF0aW9Mb2dpY2FsV2lkdGgoKSBjb25zdDsKICAg
ICBpbnQgY2FsY0FzcGVjdFJhdGlvTG9naWNhbEhlaWdodCgpIGNvbnN0OwogCisgICAgdm9pZCBw
YWludEFyZWFFbGVtZW50Rm9jdXNSaW5nKFBhaW50SW5mbyYpOworCiAgICAgLy8gVGV4dCB0byBk
aXNwbGF5IGFzIGxvbmcgYXMgdGhlIGltYWdlIGlzbid0IGF2YWlsYWJsZS4KICAgICBTdHJpbmcg
bV9hbHRUZXh0OwogICAgIE93blB0cjxSZW5kZXJJbWFnZVJlc291cmNlPiBtX2ltYWdlUmVzb3Vy
Y2U7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NzI4NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTAyLTAxICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSRUdSRVNTSU9OOiBSZW1vdmluZyBmb2N1cyBmcm9tIGFyZWEgZWxlbWVudCBj
YXVzZXMgdW53YW50ZWQgc2Nyb2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MDE2OQorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2VtYXAt
c2Nyb2xsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2Vt
YXAtc2Nyb2xsLmh0bWw6IEFkZGVkLgorCiAyMDExLTAyLTAxICBBYmhpc2hlayBBcnlhICA8aW5m
ZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvaW1hZ2VzL2ltYWdlbWFwLXNjcm9sbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2VtYXAtc2Nyb2xsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlbWFwLXNjcm9sbC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgdG8g
YmUgc3VyZSB0aGF0IGZvY3VzaW5nIGFuIGFyZWEgZWxlbWVudCB0cmlnZ2VycyBzY3JvbGxpbmcg
YW5kIHJlbW92aW5nIGZvY3VzIGZyb20gaXQgZG9lcyBub3QuCisKK1BBU1M6IERvY3VtZW50IGlz
IHN0YXJ0aW5nIHNjcm9sbGVkIHRvIHRvcC4KKworUEFTUzogRm9jdXNpbmcgYXJlYSBlbGVtZW50
IGNhdXNlZCB0aGUgaW1hZ2UgdG8gc2Nyb2xsIGludG8gdmlldy4KKworUEFTUzogRG9jdW1lbnQg
aXMgc2Nyb2xsZWQgdG8gdG9wIG9uY2UgYWdhaW4uCisKK1BBU1M6IERvY3VtZW50IGlzIHN0aWxs
IHNjcm9sbGVkIHRvIHRvcCBhZnRlciByZW1vdmluZyBmb2N1cyBmcm9tIGFyZWEgZWxlbWVudC4K
KworVEVTVCBDT01QTEVURQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2VtYXAtc2Nyb2xsLWV4cGVjdGVkLnR4dApfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1h
Z2VtYXAtc2Nyb2xsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2VtYXAtc2Nyb2xsLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9pbWFnZW1hcC1zY3JvbGwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MyBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICB2
YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKKyAgICBlbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpLmFwcGVuZENoaWxkKGVsZW1lbnQpOworfQorZnVu
Y3Rpb24gcnVuVGVzdCgpCit7CisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGlmIChkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCA9PSAwKQorICAgICAgICBsb2coIlBBU1M6IERvY3VtZW50IGlz
IHN0YXJ0aW5nIHNjcm9sbGVkIHRvIHRvcC4iKTsKKyAgICBlbHNlCisgICAgICAgIGxvZygiRkFJ
TDogRG9jdW1lbnQgaXMgc3RhcnRpbmcgc2Nyb2xsZWQgdG8gIiArIGRvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wICsgIi4iKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYXJlYSIpLmZvY3Vz
KCk7CisgICAgaWYgKGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wID4gNDAwMCAmJiBkb2N1bWVudC5i
b2R5LnNjcm9sbFRvcCA8IDYwMDApCisgICAgICAgIGxvZygiUEFTUzogRm9jdXNpbmcgYXJlYSBl
bGVtZW50IGNhdXNlZCB0aGUgaW1hZ2UgdG8gc2Nyb2xsIGludG8gdmlldy4iKTsKKyAgICBlbHNl
CisgICAgICAgIGxvZygiRkFJTDogRG9jdW1lbnQgaXMgc2Nyb2xsZWQgdG8gIiArIGRvY3VtZW50
LmJvZHkuc2Nyb2xsVG9wICsgIiBhZnRlciBmb2N1c2luZyBhcmVhIGVsZW1lbnQuIik7CisgICAg
ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSAwOworICAgIGlmIChkb2N1bWVudC5ib2R5LnNjcm9s
bFRvcCA9PSAwKQorICAgICAgICBsb2coIlBBU1M6IERvY3VtZW50IGlzIHNjcm9sbGVkIHRvIHRv
cCBvbmNlIGFnYWluLiIpOworICAgIGVsc2UKKyAgICAgICAgbG9nKCJGQUlMOiBEb2N1bWVudCBz
aG91bGQgYmUgc2Nyb2xsZWQgdG8gdG9wIGJ1dCBpcyBzY3JvbGxlZCB0byAiICsgZG9jdW1lbnQu
Ym9keS5zY3JvbGxUb3AgKyAiLiIpOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJhcmVh
IikuYmx1cigpOworICAgIGlmIChkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9PSAwKQorICAgICAg
ICBsb2coIlBBU1M6IERvY3VtZW50IGlzIHN0aWxsIHNjcm9sbGVkIHRvIHRvcCBhZnRlciByZW1v
dmluZyBmb2N1cyBmcm9tIGFyZWEgZWxlbWVudC4iKTsKKyAgICBlbHNlCisgICAgICAgIGxvZygi
RkFJTDogRG9jdW1lbnQgaXMgc2Nyb2xsZWQgdG8gIiArIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
ICsgIiBhZnRlciByZW1vdmluZyBmb2N1cyBmcm9tIGFyZWEgZWxlbWVudC4iKTsKKyAgICBkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCA9IDA7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpKTsKKyAgICBsb2coIlRFU1QgQ09NUExFVEUi
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPGRp
diBpZD0icmVzdWx0cyI+Cis8cD5UaGlzIHRlc3RzIHRvIGJlIHN1cmUgdGhhdCBmb2N1c2luZyBh
biBhcmVhIGVsZW1lbnQgdHJpZ2dlcnMgc2Nyb2xsaW5nIGFuZCByZW1vdmluZyBmb2N1cyBmcm9t
IGl0IGRvZXMgbm90LjwvcD4KKzwvZGl2PgorPGRpdiBpZD0idGVzdCI+Cis8ZGl2IHN0eWxlPSJo
ZWlnaHQ6NTAwMHB4Ij48L2Rpdj4KKzxtYXAgbmFtZT0iaW1hZ2VtYXAiPgorICAgIDxhcmVhIGlk
PSJhcmVhIiBzaGFwZT0icmVjdCIgY29vcmRzPSIwLDAsMTI4LDEyOCIgaHJlZj0iI2R1bW15Ij4K
KzwvbWFwPgorPGltZyBzcmM9InJlc291cmNlcy9tdS5wbmciIHdpZHRoPSIxMjgiIGhlaWdodD0i
MTI4IiB1c2VtYXA9IiNpbWFnZW1hcCIgaXNtYXA+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6NTAwMHB4
Ij48L2Rpdj4KKzxkaXY+Cis8L2JvZHk+Cis8L2hlYWQ+Cis8L2h0bWw+CgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZW1hcC1zY3JvbGwuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9odG1sCkFkZGVkOiBzdm46ZW9s
LXN0eWxlCiAgICsgbmF0aXZlCgo=
</data>
<flag name="review"
          id="72320"
          type_id="1"
          status="+"
          setter="cfleizach"
    />
          </attachment>
      

    </bug>

</bugzilla>