<?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>182264</bug_id>
          
          <creation_ts>2018-01-29 15:11:04 -0800</creation_ts>
          <short_desc>Make preserve and restore focus more likely to be symmetrical</short_desc>
          <delta_ts>2018-01-30 14:16:35 -0800</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1394282</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-29 15:11:04 -0800</bug_when>
    <thetext>Make preserve and restore focus more likely to be symetrical</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394370</commentid>
    <comment_count>1</comment_count>
      <attachid>332612</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-29 18:00:36 -0800</bug_when>
    <thetext>Created attachment 332612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394373</commentid>
    <comment_count>2</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-29 18:01:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/36948473&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394374</commentid>
    <comment_count>3</comment_count>
      <attachid>332612</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-29 18:03:50 -0800</bug_when>
    <thetext>Comment on attachment 332612
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:174
&gt; +    RetainPtr&lt;NSMutableArray&gt; _focusStateStack;

Vector&lt;bool&gt; is likely a better plan/more efficient/more WebKitty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394377</commentid>
    <comment_count>4</comment_count>
      <attachid>332612</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-29 18:06:17 -0800</bug_when>
    <thetext>Comment on attachment 332612
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Make preserve and restore focus more likely to be symetrical

Symmetrical</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394379</commentid>
    <comment_count>5</comment_count>
      <attachid>332612</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-29 18:07:01 -0800</bug_when>
    <thetext>Comment on attachment 332612
Patch

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

&gt; Source/WebKit/ChangeLog:5
&gt; +

There should be a radar here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394382</commentid>
    <comment_count>6</comment_count>
      <attachid>332614</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-29 18:25:17 -0800</bug_when>
    <thetext>Created attachment 332614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394399</commentid>
    <comment_count>7</comment_count>
      <attachid>332614</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-29 19:24:34 -0800</bug_when>
    <thetext>Comment on attachment 332614
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Make preserve and restore focus more likely to be symetrical

symetrical =&gt; symmetrical

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4173
&gt; +    BOOL shouldDecrement = _focusStateStack[lastIndex];

Nit - if (_focusStateStack.takeLast()) ... would read a bit more nicely here.

We should also bail early before trying to take the last index (with an assertion, perhaps) if the list is empty, to avoid crashing just in case we get an extra call to _restore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394559</commentid>
    <comment_count>8</comment_count>
      <attachid>332614</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2018-01-30 08:36:59 -0800</bug_when>
    <thetext>Comment on attachment 332614
Patch

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

&gt; LayoutTests/fast/forms/ios/ipad/select-form-run-twice.html:38
&gt; +        function getSingleTapUIScript(x, y)

It doesn&apos;t look like we use this function anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394613</commentid>
    <comment_count>9</comment_count>
      <attachid>332667</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-30 10:33:48 -0800</bug_when>
    <thetext>Created attachment 332667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394628</commentid>
    <comment_count>10</comment_count>
      <attachid>332667</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-01-30 11:09:37 -0800</bug_when>
    <thetext>Comment on attachment 332667
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        Keep a stack of if we actually increment the focusState, so that
&gt; +        changes to the web content do not result in asymmetric decrements to the focus state. 

Is this actually working around a UIKit bug? If so, can we reference that in a comment so we know if we can remove it in future?

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4175
&gt;          --_webView-&gt;_activeFocusedStateRetainCount;

This should also assert that _activeFocusedStateRetainCount isn&apos;t going to underflow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394638</commentid>
    <comment_count>11</comment_count>
      <attachid>332667</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-30 11:23:13 -0800</bug_when>
    <thetext>Comment on attachment 332667
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:10
&gt;&gt; +        changes to the web content do not result in asymmetric decrements to the focus state. 
&gt; 
&gt; Is this actually working around a UIKit bug? If so, can we reference that in a comment so we know if we can remove it in future?

It is, but even if they &quot;fix&quot; it, I don&apos;t know if we want to removed this, since it&apos;s small, and guards against bad behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394640</commentid>
    <comment_count>12</comment_count>
      <attachid>332675</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-30 11:30:10 -0800</bug_when>
    <thetext>Created attachment 332675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394738</commentid>
    <comment_count>13</comment_count>
      <attachid>332675</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-30 13:58:52 -0800</bug_when>
    <thetext>Comment on attachment 332675
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:4176
&gt;          --_webView-&gt;_activeFocusedStateRetainCount;

Should we not let this go negative?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394754</commentid>
    <comment_count>14</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2018-01-30 14:16:35 -0800</bug_when>
    <thetext>https://trac.webkit.org/r227855</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332612</attachid>
            <date>2018-01-29 18:00:36 -0800</date>
            <delta_ts>2018-01-29 18:25:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182264-20180129180035.patch</filename>
            <type>text/plain</type>
            <size>9766</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc3NjgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBh
bmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1ldHJpY2FsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIyNjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBLZWVwIGEgc3RhY2sgb2YgaWYg
d2UgYWN0dWFsbHkgaW5jcmVtZW50IHRoZSBmb2N1c1N0YXRlLCBzbyB0aGF0CisgICAgICAgIGNo
YW5nZXMgdG8gdGhlIHdlYiBjb250ZW50IGRvIG5vdCByZXN1bHQgaW4gYXN5bW1ldHJpYyBkZWNy
ZW1lbnRzIHRvIHRoZSBmb2N1cyBzdGF0ZS4gCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZXN0b3Jl
Rm9jdXNXaXRoVG9rZW46XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3ByZXNlcnZlRm9j
dXNXaXRoVG9rZW46ZGVzdHJ1Y3RpdmVseTpdKToKKwogMjAxOC0wMS0yOSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FjaGUgQVBJIHNob3VsZCBtYWtlIHN1
cmUgdG8gcmVzb2x2ZSBjYWNoZXMub3BlbiBwcm9taXNlcyBpbiB0aGUgc2FtZSBvcmRlciBhcyBj
YWxsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgJKHJldmlzaW9uIDIyNzc0NSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAkod29ya2luZyBjb3B5
KQpAQCAtMTcxLDYgKzE3MSw3IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAg
UmV0YWluUHRyPFdLRmlsZVVwbG9hZFBhbmVsPiBfZmlsZVVwbG9hZFBhbmVsOwogICAgIFJldGFp
blB0cjxVSUdlc3R1cmVSZWNvZ25pemVyPiBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyOwogICAg
IFJldGFpblB0cjxVSUdlc3R1cmVSZWNvZ25pemVyPiBfcHJldmlld1NlY29uZGFyeUdlc3R1cmVS
ZWNvZ25pemVyOworICAgIFJldGFpblB0cjxOU011dGFibGVBcnJheT4gX2ZvY3VzU3RhdGVTdGFj
azsKICNpZiBIQVZFKExJTktfUFJFVklFVykKICAgICBSZXRhaW5QdHI8VUlQcmV2aWV3SXRlbUNv
bnRyb2xsZXI+IF9wcmV2aWV3SXRlbUNvbnRyb2xsZXI7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQkocmV2aXNpb24gMjI3NzQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtNDE2OSwxNCArNDE2
OSwyMiBAQCAtICh2b2lkKWZpbGVVcGxvYWRQYW5lbERpZERpc21pc3M6KFdLRmlsCiAKIC0gKHZv
aWQpX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+
KXRva2VuCiB7Ci0gICAgaWYgKCFfaW5wdXRQZXJpcGhlcmFsKQorICAgIEJPT0wgc2hvdWxkRGVj
cmVtZW50ID0gW1tfZm9jdXNTdGF0ZVN0YWNrIGxhc3RPYmplY3RdIGJvb2xWYWx1ZV07CisgICAg
aWYgKHNob3VsZERlY3JlbWVudCkKICAgICAgICAgLS1fd2ViVmlldy0+X2FjdGl2ZUZvY3VzZWRT
dGF0ZVJldGFpbkNvdW50OworICAgIFtfZm9jdXNTdGF0ZVN0YWNrIHJlbW92ZUxhc3RPYmplY3Rd
OwogfQogCiAtICh2b2lkKV9wcmVzZXJ2ZUZvY3VzV2l0aFRva2VuOihpZCA8TlNDb3B5aW5nLCBO
U1NlY3VyZUNvZGluZz4pdG9rZW4gZGVzdHJ1Y3RpdmVseTooQk9PTClkZXN0cnVjdGl2ZWx5CiB7
Ci0gICAgaWYgKCFfaW5wdXRQZXJpcGhlcmFsKQorICAgIGlmICghX2ZvY3VzU3RhdGVTdGFjaykK
KyAgICAgICAgX2ZvY3VzU3RhdGVTdGFjayA9IGFkb3B0TlMoW1tOU011dGFibGVBcnJheSBhbGxv
Y10gaW5pdFdpdGhDYXBhY2l0eToxXSk7CisgICAgCisgICAgaWYgKCFfaW5wdXRQZXJpcGhlcmFs
KSB7CiAgICAgICAgICsrX3dlYlZpZXctPl9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsK
KyAgICAgICAgW19mb2N1c1N0YXRlU3RhY2sgYWRkT2JqZWN0OltOU051bWJlciBudW1iZXJXaXRo
Qm9vbDpZRVNdXTsKKyAgICB9IGVsc2UKKyAgICAgICAgW19mb2N1c1N0YXRlU3RhY2sgYWRkT2Jq
ZWN0OltOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT11dOwogfQogCiAjcHJhZ21hIG1hcmsgLSBJ
bXBsZW1lbnRhdGlvbiBvZiBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0
ZS4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNzc0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJkbmVy
ICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBhbmQg
cmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1ldHJpY2FsCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIyNjQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBuZXcgdGVzdCB0byB2ZXJp
ZnkgdGhhdCBvcGVuaW5nIGEgc2VsZWN0aW9uIGZvcm0gdHdpY2Ugd29ya3MuCisKKyAgICAgICAg
KiBmYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3
aWNlLmh0bWw6IEFkZGVkLgorCiAyMDE4LTAxLTI5ICBNYXR0IExld2lzICA8amxld2lzM0BhcHBs
ZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIyNzczMS4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFk
L3NlbGVjdC1mb3JtLXJ1bi10d2ljZS1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorVGhpcyBpcyB0aGUgdG9wCisK
K0ZpcnN0IENsaWNrCitGaW5hbCBDbGljaworTWFyY2ggSnVuZQorUEFTUzogaGl0IHRlc3Rpbmcg
Zm91bmQgI25leHRCdXR0b24gYWZ0ZXIgZmlyc3Qgc2VsZWN0IGludGVyYWN0aW9uCitQQVNTOiBo
aXQgdGVzdGluZyBmb3VuZCAjZmluYWxUYXJnZXQgYWZ0ZXIgc2VsZWN0IGludGVyYWN0aW9uCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2lj
ZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2Vs
ZWN0LWZvcm0tcnVuLXR3aWNlLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDE1MCBAQAorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CisKKzxodG1sPgorPGhlYWQ+Cisg
ICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9ImluaXRpYWwtc2NhbGU9MS4wLCB1c2Vy
LXNjYWxhYmxlPW5vIj4KKyAgICA8c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAg
aGVpZ2h0OiAxNTAwcHg7CisgICAgICAgIH0KKyAgICAgICAgI2NvbnRhaW5lciB7CisgICAgICAg
ICAgICBwb3NpdGlvbjogZml4ZWQ7CisgICAgICAgICAgICB0b3A6IDEwcHg7CisgICAgICAgICAg
ICBsZWZ0OiAxMHB4OworICAgICAgICAgICAgYm90dG9tOiAzMHB4OworICAgICAgICAgICAgcmln
aHQ6IDEwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAu
NSk7CisgICAgICAgICAgICBwYWRkaW5nOiAxMHB4OworICAgICAgICAgICAgYm94LXNpemluZzog
Ym9yZGVyLWJveDsKKyAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIGJsYWNrOworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICBzZWxlY3QgeworICAgICAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgICAgICAgICBtYXJnaW46IDUwMHB4IDIwMHB4IDIwcHggMjBweDsKKyAgICAgICAg
fQorICAgICAgICAKKyAgICAgICAgYnV0dG9uIHsKKyAgICAgICAgICAgIGRpc3BsYXk6IGJsb2Nr
OworICAgICAgICB9CisgICAgICAgIAorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCBzcmM9Ii4u
L3Jlc291cmNlcy96b29taW5nLXRlc3QtdXRpbHMuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvYmFzaWMtZ2VzdHVyZXMuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICAgIGZ1bmN0aW9uIGdldFNpbmds
ZVRhcFVJU2NyaXB0KHgsIHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBgCisgICAg
ICAgICAgICAgICAgKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xs
ZXIuc2luZ2xlVGFwQXRQb2ludCgke3h9LCAke3l9LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNjcmlwdENvbXBsZXRlKCcnKTsKKyAgICAgICAg
ICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSkoKTtgCisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBnZXRTY3JvbGxEb3duVUlTY3JpcHQoeCwgeSkKKyAgICAgICAgeworICAg
ICAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kaWRFbmRTY3JvbGxpbmdDYWxsYmFjayA9IGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29t
cGxldGUoKTsKKyAgICAgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgICAgICAgICB1
aUNvbnRyb2xsZXIuc2Nyb2xsVG9PZmZzZXQoJHt4fSwgJHt5fSk7CisgICAgICAgICAgICAgICAg
fSkoKTtgCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBnZXRUYXBPblNlbGVjdFVJU2Ny
aXB0KHgsIHksIHJvdykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGAKKyAgICAgICAg
ICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5k
aWRTdGFydEZvcm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9IGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNr
ZXJSb3coJHtyb3d9KTsKKyAgICAgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgICAg
ICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kRm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3Jp
cHRDb21wbGV0ZSgpOworICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAgICAg
ICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9KSgpO2AKKyAgICAg
ICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGZpcnN0QnV0dG9uQ2xpY2tlZCgpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXh0U3RlcCcpLnRleHRDb250
ZW50ID0gJ1BBU1M6IGhpdCB0ZXN0aW5nIGZvdW5kICNuZXh0QnV0dG9uIGFmdGVyIGZpcnN0IHNl
bGVjdCBpbnRlcmFjdGlvbic7CisgICAgICAgICAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKKyAgICAgICAgICAgIHZhciBw
b2ludCA9IGdldFBvaW50SW5zaWRlRWxlbWVudChzZWxlY3RFbGVtZW50LCAxMCwgMTApOworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChnZXRUYXBPblNlbGVjdFVJU2NyaXB0KHBv
aW50LngsIHBvaW50LnksIDUpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LXZhbHVlMicpLnRleHRDb250ZW50ID0gc2VsZWN0RWxl
bWVudC52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgdHJ5VGFwT25CdXR0b24oJ2ZpbmFsVGFy
Z2V0Jyk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBmdW5jdGlv
biBmaW5hbEJ1dHRvbkNsaWNrZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgncmVzdWx0JykudGV4dENvbnRlbnQgPSAnUEFTUzogaGl0IHRlc3Rpbmcg
Zm91bmQgI2ZpbmFsVGFyZ2V0IGFmdGVyIHNlbGVjdCBpbnRlcmFjdGlvbic7CisgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiB0cnlUYXBPbkJ1
dHRvbih0YXJnZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBwb2ludCA9IGdldFBvaW50
SW5zaWRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXQpLCAxMCwgMTApOwor
ICAgICAgICAgICAgYXdhaXQgdGFwQXRQb2ludChwb2ludC54LCBwb2ludC55KTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBrZWVwIHJldHJ5aW5nLCBiZWNhdXNlIHRo
ZSBkaW1taW5nIHZpZXcgYmVoaW5kIHRoZSBwb3BvdmVyIGFuaW1hdGVzIG91dCwKKyAgICAgICAg
ICAgIC8vIGFuZCB3ZSBjdXJyZW50bHkgaGF2ZSBubyBjYWxsYmFjayB3aGVuIHRoYXQgYW5pbWF0
aW9uIGNvbXBsZXRlcy4KKyAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRyeVRhcE9uQnV0
dG9uLmJpbmQodGhpcywgdGFyZ2V0KSwgMTAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0
aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0ZXN0UnVubmVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFNjcm9sbERvd25VSVNjcmlwdCgw
LCA1MDApLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0RWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKKyAgICAgICAgICAg
ICAgICB2YXIgcG9pbnQgPSBnZXRQb2ludEluc2lkZUVsZW1lbnQoc2VsZWN0RWxlbWVudCwgMTAs
IDEwKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFRhcE9uU2Vs
ZWN0VUlTY3JpcHQocG9pbnQueCwgcG9pbnQueSwgMiksIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LXZhbHVlJykudGV4dENv
bnRlbnQgPSBzZWxlY3RFbGVtZW50LnZhbHVlOworICAgICAgICAgICAgICAgICAgICB0cnlUYXBP
bkJ1dHRvbignZmlyc3RUYXJnZXQnKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPHA+VGhpcyBpcyB0aGUgdG9wPC9wPgorICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+Cisg
ICAgICAgIDxidXR0b24gaWQ9ImZpcnN0VGFyZ2V0IiBvbmNsaWNrPSJmaXJzdEJ1dHRvbkNsaWNr
ZWQoKSI+Rmlyc3QgQ2xpY2s8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0iZmluYWxUYXJn
ZXQiIG9uY2xpY2s9ImZpbmFsQnV0dG9uQ2xpY2tlZCgpIj5GaW5hbCBDbGljazwvYnV0dG9uPgor
ICAgICAgICA8c2VsZWN0PgorICAgICAgICAgICAgPG9wdGlvbj5KYW51YXJ5PC9vcHRpb24+Cisg
ICAgICAgICAgICA8b3B0aW9uPkZlYnJ1YXJ5PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9u
Pk1hcmNoPC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkFwcmlsPC9vcHRpb24+CisgICAg
ICAgICAgICA8b3B0aW9uPk1heTwvb3B0aW9uPgorICAgICAgICAgICAgPG9wdGlvbj5KdW5lPC9v
cHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkp1bHk8L29wdGlvbj4KKyAgICAgICAgICAgIDxv
cHRpb24+QXVndXN0PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPlNlcHRlbWJlcjwvb3B0
aW9uPgorICAgICAgICA8L3NlbGVjdD4KKyAgICAgICAgPHNwYW4gaWQ9InNlbGVjdC12YWx1ZSI+
VmFsdWUgZ29lcyBoZXJlPC9zcGFuPgorICAgICAgICA8c3BhbiBpZD0ic2VsZWN0LXZhbHVlMiI+
Mm5kIFZhbHVlIGdvZXMgaGVyZTwvc3Bhbj4KKyAgICAgICAgPGRpdiBpZD0ibmV4dFN0ZXAiPkZB
SUw6IHNob3VsZCBoYXZlIGhpdC10ZXN0ZWQgYW5kIGZvdW5kICN0YXJnZXQgZWxlbWVudDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZXN1bHQiPkZBSUw6IHNob3VsZCBoYXZlIGhpdC10ZXN0ZWQg
YW5kIGZvdW5kICN0YXJnZXQgZWxlbWVudDwvZGl2PgorICAgIDwvZGl2PgorICAgIAorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332614</attachid>
            <date>2018-01-29 18:25:17 -0800</date>
            <delta_ts>2018-01-30 10:33:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182264-20180129182516.patch</filename>
            <type>text/plain</type>
            <size>9654</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc3NjgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBh
bmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1ldHJpY2FsCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODIyNjQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM2OTQ4NDczPgorICAgICAgICAKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
IEhvcnRvbi4KKworICAgICAgICBLZWVwIGEgc3RhY2sgb2YgaWYgd2UgYWN0dWFsbHkgaW5jcmVt
ZW50IHRoZSBmb2N1c1N0YXRlLCBzbyB0aGF0CisgICAgICAgIGNoYW5nZXMgdG8gdGhlIHdlYiBj
b250ZW50IGRvIG5vdCByZXN1bHQgaW4gYXN5bW1ldHJpYyBkZWNyZW1lbnRzIHRvIHRoZSBmb2N1
cyBzdGF0ZS4gCisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9yZXN0b3JlRm9jdXNXaXRoVG9rZW46XSk6
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46ZGVzdHJ1
Y3RpdmVseTpdKToKKwogMjAxOC0wMS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgQ2FjaGUgQVBJIHNob3VsZCBtYWtlIHN1cmUgdG8gcmVzb2x2ZSBjYWNo
ZXMub3BlbiBwcm9taXNlcyBpbiB0aGUgc2FtZSBvcmRlciBhcyBjYWxsZWQKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgJKHJldmlzaW9uIDIyNzc0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMTcxLDYgKzE3MSw3
IEBAIHN0cnVjdCBXS0F1dG9Db3JyZWN0aW9uRGF0YSB7CiAgICAgUmV0YWluUHRyPFdLRmlsZVVw
bG9hZFBhbmVsPiBfZmlsZVVwbG9hZFBhbmVsOwogICAgIFJldGFpblB0cjxVSUdlc3R1cmVSZWNv
Z25pemVyPiBfcHJldmlld0dlc3R1cmVSZWNvZ25pemVyOwogICAgIFJldGFpblB0cjxVSUdlc3R1
cmVSZWNvZ25pemVyPiBfcHJldmlld1NlY29uZGFyeUdlc3R1cmVSZWNvZ25pemVyOworICAgIFZl
Y3Rvcjxib29sPiBfZm9jdXNTdGF0ZVN0YWNrOwogI2lmIEhBVkUoTElOS19QUkVWSUVXKQogICAg
IFJldGFpblB0cjxVSVByZXZpZXdJdGVtQ29udHJvbGxlcj4gX3ByZXZpZXdJdGVtQ29udHJvbGxl
cjsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAyMjc3NDUpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MTY5LDE0ICs0MTY5LDIwIEBAIC0gKHZvaWQpZmlsZVVwbG9hZFBhbmVs
RGlkRGlzbWlzczooV0tGaWwKIAogLSAodm9pZClfcmVzdG9yZUZvY3VzV2l0aFRva2VuOihpZCA8
TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4pdG9rZW4KIHsKLSAgICBpZiAoIV9pbnB1dFBlcmlw
aGVyYWwpCisgICAgaW50IGxhc3RJbmRleCA9IF9mb2N1c1N0YXRlU3RhY2suc2l6ZSgpLTE7Cisg
ICAgQk9PTCBzaG91bGREZWNyZW1lbnQgPSBfZm9jdXNTdGF0ZVN0YWNrW2xhc3RJbmRleF07Cisg
ICAgaWYgKHNob3VsZERlY3JlbWVudCkKICAgICAgICAgLS1fd2ViVmlldy0+X2FjdGl2ZUZvY3Vz
ZWRTdGF0ZVJldGFpbkNvdW50OworICAgIF9mb2N1c1N0YXRlU3RhY2sucmVtb3ZlKGxhc3RJbmRl
eCk7CiB9CiAKIC0gKHZvaWQpX3ByZXNlcnZlRm9jdXNXaXRoVG9rZW46KGlkIDxOU0NvcHlpbmcs
IE5TU2VjdXJlQ29kaW5nPil0b2tlbiBkZXN0cnVjdGl2ZWx5OihCT09MKWRlc3RydWN0aXZlbHkK
IHsKLSAgICBpZiAoIV9pbnB1dFBlcmlwaGVyYWwpCisgICAgaWYgKCFfaW5wdXRQZXJpcGhlcmFs
KSB7CiAgICAgICAgICsrX3dlYlZpZXctPl9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsK
KyAgICAgICAgX2ZvY3VzU3RhdGVTdGFjay5hcHBlbmQodHJ1ZSk7CisgICAgfSBlbHNlCisgICAg
ICAgIF9mb2N1c1N0YXRlU3RhY2suYXBwZW5kKGZhbHNlKTsKIH0KIAogI3ByYWdtYSBtYXJrIC0g
SW1wbGVtZW50YXRpb24gb2YgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyRGVsZWdh
dGUuCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc3NDUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxOC0wMS0yOSAgTWVnYW4gR2FyZG5l
ciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgcHJlc2VydmUgYW5k
IHJlc3RvcmUgZm9jdXMgbW9yZSBsaWtlbHkgdG8gYmUgc3ltbWV0cmljYWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MjI2NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIG5ldyB0ZXN0IHRvIHZl
cmlmeSB0aGF0IG9wZW5pbmcgYSBzZWxlY3Rpb24gZm9ybSB0d2ljZSB3b3Jrcy4KKworICAgICAg
ICAqIGZhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4t
dHdpY2UuaHRtbDogQWRkZWQuCisKIDIwMTgtMDEtMjkgIE1hdHQgTGV3aXMgIDxqbGV3aXMzQGFw
cGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjI3NzMxLgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2Ut
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lw
YWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACitUaGlzIGlzIHRoZSB0b3AK
KworRmlyc3QgQ2xpY2sKK0ZpbmFsIENsaWNrCitNYXJjaCBKdW5lCitQQVNTOiBoaXQgdGVzdGlu
ZyBmb3VuZCAjbmV4dEJ1dHRvbiBhZnRlciBmaXJzdCBzZWxlY3QgaW50ZXJhY3Rpb24KK1BBU1M6
IGhpdCB0ZXN0aW5nIGZvdW5kICNmaW5hbFRhcmdldCBhZnRlciBzZWxlY3QgaW50ZXJhY3Rpb24K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3
aWNlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaXBhZC9z
ZWxlY3QtZm9ybS1ydW4tdHdpY2UuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTUwIEBACis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyB1c2VGbGV4aWJsZVZpZXdwb3J0PXRydWUgXSAtLT4KKworPGh0bWw+Cis8aGVhZD4K
KyAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0iaW5pdGlhbC1zY2FsZT0xLjAsIHVz
ZXItc2NhbGFibGU9bm8iPgorICAgIDxzdHlsZT4KKyAgICAgICAgYm9keSB7CisgICAgICAgICAg
ICBoZWlnaHQ6IDE1MDBweDsKKyAgICAgICAgfQorICAgICAgICAjY29udGFpbmVyIHsKKyAgICAg
ICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKKyAgICAgICAgICAgIHRvcDogMTBweDsKKyAgICAgICAg
ICAgIGxlZnQ6IDEwcHg7CisgICAgICAgICAgICBib3R0b206IDMwcHg7CisgICAgICAgICAgICBy
aWdodDogMTBweDsKKyAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwg
MC41KTsKKyAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CisgICAgICAgICAgICBib3gtc2l6aW5n
OiBib3JkZXItYm94OworICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgYmxhY2s7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIHNlbGVjdCB7CisgICAgICAgICAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICAgICAgICAgIG1hcmdpbjogNTAwcHggMjAwcHggMjBweCAyMHB4OworICAgICAg
ICB9CisgICAgICAgIAorICAgICAgICBidXR0b24geworICAgICAgICAgICAgZGlzcGxheTogYmxv
Y2s7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL3pvb21pbmctdGVzdC11dGlscy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL3Jlc291cmNlcy9iYXNpYy1nZXN0dXJlcy5qcyI+PC9zY3JpcHQ+
CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgICAgZnVuY3Rpb24gZ2V0U2lu
Z2xlVGFwVUlTY3JpcHQoeCwgeSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGAKKyAg
ICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJv
bGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoJycpOworICAgICAg
ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9KSgpO2AKKyAgICAgICAgfQorCisg
ICAgICAgIGZ1bmN0aW9uIGdldFNjcm9sbERvd25VSVNjcmlwdCh4LCB5KQorICAgICAgICB7Cisg
ICAgICAgICAgICByZXR1cm4gYAorICAgICAgICAgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLmRpZEVuZFNjcm9sbGluZ0NhbGxiYWNrID0gZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRD
b21wbGV0ZSgpOworICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAgICAgICAg
IHVpQ29udHJvbGxlci5zY3JvbGxUb09mZnNldCgke3h9LCAke3l9KTsKKyAgICAgICAgICAgICAg
ICB9KSgpO2AKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGdldFRhcE9uU2VsZWN0VUlT
Y3JpcHQoeCwgeSwgcm93KQorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYAorICAgICAg
ICAgICAgICAgIChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVy
LmRpZFN0YXJ0Rm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuc2VsZWN0Rm9ybUFjY2Vzc29yeVBp
Y2tlclJvdygke3Jvd30pOworICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAg
ICAgICAgIHVpQ29udHJvbGxlci5kaWRFbmRGb3JtQ29udHJvbEludGVyYWN0aW9uQ2FsbGJhY2sg
PSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci51aVNj
cmlwdENvbXBsZXRlKCk7CisgICAgICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgICAgICAg
ICAgICAgdWlDb250cm9sbGVyLnNpbmdsZVRhcEF0UG9pbnQoJHt4fSwgJHt5fSwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0pKCk7YAorICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gZmlyc3RCdXR0b25DbGlja2VkKCkKKyAgICAgICAg
eworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25leHRTdGVwJykudGV4dENv
bnRlbnQgPSAnUEFTUzogaGl0IHRlc3RpbmcgZm91bmQgI25leHRCdXR0b24gYWZ0ZXIgZmlyc3Qg
c2VsZWN0IGludGVyYWN0aW9uJzsKKyAgICAgICAgICAgIHZhciBzZWxlY3RFbGVtZW50ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdOworICAgICAgICAgICAgdmFy
IHBvaW50ID0gZ2V0UG9pbnRJbnNpZGVFbGVtZW50KHNlbGVjdEVsZW1lbnQsIDEwLCAxMCk7Cisg
ICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFRhcE9uU2VsZWN0VUlTY3JpcHQo
cG9pbnQueCwgcG9pbnQueSwgNSksIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzZWxlY3QtdmFsdWUyJykudGV4dENvbnRlbnQgPSBzZWxlY3RF
bGVtZW50LnZhbHVlOworICAgICAgICAgICAgICAgICAgICB0cnlUYXBPbkJ1dHRvbignZmluYWxU
YXJnZXQnKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgCisgICAgICAgIGZ1bmN0
aW9uIGZpbmFsQnV0dG9uQ2xpY2tlZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS50ZXh0Q29udGVudCA9ICdQQVNTOiBoaXQgdGVzdGlu
ZyBmb3VuZCAjZmluYWxUYXJnZXQgYWZ0ZXIgc2VsZWN0IGludGVyYWN0aW9uJzsKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGFzeW5jIGZ1bmN0aW9uIHRyeVRhcE9u
QnV0dG9uKHRhcmdldCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIHBvaW50ID0gZ2V0UG9p
bnRJbnNpZGVFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldCksIDEwLCAxMCk7
CisgICAgICAgICAgICBhd2FpdCB0YXBBdFBvaW50KHBvaW50LngsIHBvaW50LnkpOworICAgICAg
ICAgICAgCisgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGtlZXAgcmV0cnlpbmcsIGJlY2F1c2Ug
dGhlIGRpbW1pbmcgdmlldyBiZWhpbmQgdGhlIHBvcG92ZXIgYW5pbWF0ZXMgb3V0LAorICAgICAg
ICAgICAgLy8gYW5kIHdlIGN1cnJlbnRseSBoYXZlIG5vIGNhbGxiYWNrIHdoZW4gdGhhdCBhbmlt
YXRpb24gY29tcGxldGVzLgorICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQodHJ5VGFwT25C
dXR0b24uYmluZCh0aGlzLCB0YXJnZXQpLCAxMDApOworICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gZG9UZXN0KCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisK
KyAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoZ2V0U2Nyb2xsRG93blVJU2NyaXB0
KDAsIDUwMCksIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHZhciBzZWxlY3RFbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ3NlbGVjdCcpWzBdOworICAgICAgICAg
ICAgICAgIHZhciBwb2ludCA9IGdldFBvaW50SW5zaWRlRWxlbWVudChzZWxlY3RFbGVtZW50LCAx
MCwgMTApOworICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIucnVuVUlTY3JpcHQoZ2V0VGFwT25T
ZWxlY3RVSVNjcmlwdChwb2ludC54LCBwb2ludC55LCAyKSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWxlY3QtdmFsdWUnKS50ZXh0
Q29udGVudCA9IHNlbGVjdEVsZW1lbnQudmFsdWU7CisgICAgICAgICAgICAgICAgICAgIHRyeVRh
cE9uQnV0dG9uKCdmaXJzdFRhcmdldCcpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAg
ICAgfSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKyAgICA8cD5UaGlzIGlzIHRoZSB0b3A8L3A+CisgICAgPGRpdiBpZD0iY29udGFpbmVyIj4K
KyAgICAgICAgPGJ1dHRvbiBpZD0iZmlyc3RUYXJnZXQiIG9uY2xpY2s9ImZpcnN0QnV0dG9uQ2xp
Y2tlZCgpIj5GaXJzdCBDbGljazwvYnV0dG9uPgorICAgICAgICA8YnV0dG9uIGlkPSJmaW5hbFRh
cmdldCIgb25jbGljaz0iZmluYWxCdXR0b25DbGlja2VkKCkiPkZpbmFsIENsaWNrPC9idXR0b24+
CisgICAgICAgIDxzZWxlY3Q+CisgICAgICAgICAgICA8b3B0aW9uPkphbnVhcnk8L29wdGlvbj4K
KyAgICAgICAgICAgIDxvcHRpb24+RmVicnVhcnk8L29wdGlvbj4KKyAgICAgICAgICAgIDxvcHRp
b24+TWFyY2g8L29wdGlvbj4KKyAgICAgICAgICAgIDxvcHRpb24+QXByaWw8L29wdGlvbj4KKyAg
ICAgICAgICAgIDxvcHRpb24+TWF5PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkp1bmU8
L29wdGlvbj4KKyAgICAgICAgICAgIDxvcHRpb24+SnVseTwvb3B0aW9uPgorICAgICAgICAgICAg
PG9wdGlvbj5BdWd1c3Q8L29wdGlvbj4KKyAgICAgICAgICAgIDxvcHRpb24+U2VwdGVtYmVyPC9v
cHRpb24+CisgICAgICAgIDwvc2VsZWN0PgorICAgICAgICA8c3BhbiBpZD0ic2VsZWN0LXZhbHVl
Ij5WYWx1ZSBnb2VzIGhlcmU8L3NwYW4+CisgICAgICAgIDxzcGFuIGlkPSJzZWxlY3QtdmFsdWUy
Ij4ybmQgVmFsdWUgZ29lcyBoZXJlPC9zcGFuPgorICAgICAgICA8ZGl2IGlkPSJuZXh0U3RlcCI+
RkFJTDogc2hvdWxkIGhhdmUgaGl0LXRlc3RlZCBhbmQgZm91bmQgI3RhcmdldCBlbGVtZW50PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9InJlc3VsdCI+RkFJTDogc2hvdWxkIGhhdmUgaGl0LXRlc3Rl
ZCBhbmQgZm91bmQgI3RhcmdldCBlbGVtZW50PC9kaXY+CisgICAgPC9kaXY+CisgICAgCis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332667</attachid>
            <date>2018-01-30 10:33:48 -0800</date>
            <delta_ts>2018-01-30 11:30:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182264-20180130103348.patch</filename>
            <type>text/plain</type>
            <size>9262</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc3NjgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBh
bmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1tZXRyaWNhbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMjY0CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNjk0ODQ3Mz4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgS2VlcCBhIHN0YWNrIG9mIGlmIHdlIGFjdHVhbGx5IGluY3Jl
bWVudCB0aGUgZm9jdXNTdGF0ZSwgc28gdGhhdAorICAgICAgICBjaGFuZ2VzIHRvIHRoZSB3ZWIg
Y29udGVudCBkbyBub3QgcmVzdWx0IGluIGFzeW1tZXRyaWMgZGVjcmVtZW50cyB0byB0aGUgZm9j
dXMgc3RhdGUuIAorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcmVzdG9yZUZvY3VzV2l0aFRva2VuOl0p
OgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9wcmVzZXJ2ZUZvY3VzV2l0aFRva2VuOmRlc3Ry
dWN0aXZlbHk6XSk6CisKIDIwMTgtMDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgogCiAgICAgICAgIENhY2hlIEFQSSBzaG91bGQgbWFrZSBzdXJlIHRvIHJlc29sdmUgY2Fj
aGVzLm9wZW4gcHJvbWlzZXMgaW4gdGhlIHNhbWUgb3JkZXIgYXMgY2FsbGVkCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oCShyZXZpc2lvbiAyMjc3NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MSw2ICsxNzEs
NyBAQCBzdHJ1Y3QgV0tBdXRvQ29ycmVjdGlvbkRhdGEgewogICAgIFJldGFpblB0cjxXS0ZpbGVV
cGxvYWRQYW5lbD4gX2ZpbGVVcGxvYWRQYW5lbDsKICAgICBSZXRhaW5QdHI8VUlHZXN0dXJlUmVj
b2duaXplcj4gX3ByZXZpZXdHZXN0dXJlUmVjb2duaXplcjsKICAgICBSZXRhaW5QdHI8VUlHZXN0
dXJlUmVjb2duaXplcj4gX3ByZXZpZXdTZWNvbmRhcnlHZXN0dXJlUmVjb2duaXplcjsKKyAgICBW
ZWN0b3I8Ym9vbD4gX2ZvY3VzU3RhdGVTdGFjazsKICNpZiBIQVZFKExJTktfUFJFVklFVykKICAg
ICBSZXRhaW5QdHI8VUlQcmV2aWV3SXRlbUNvbnRyb2xsZXI+IF9wcmV2aWV3SXRlbUNvbnRyb2xs
ZXI7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24gMjI3NzQ1KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkod29y
a2luZyBjb3B5KQpAQCAtNDE2OSwxNCArNDE2OSwxOSBAQCAtICh2b2lkKWZpbGVVcGxvYWRQYW5l
bERpZERpc21pc3M6KFdLRmlsCiAKIC0gKHZvaWQpX3Jlc3RvcmVGb2N1c1dpdGhUb2tlbjooaWQg
PE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuCiB7Ci0gICAgaWYgKCFfaW5wdXRQZXJp
cGhlcmFsKQorICAgIEFTU0VSVCghX2ZvY3VzU3RhdGVTdGFjay5pc0VtcHR5KCkpOworICAgIAor
ICAgIGlmIChfZm9jdXNTdGF0ZVN0YWNrLnRha2VMYXN0KCkpCiAgICAgICAgIC0tX3dlYlZpZXct
Pl9hY3RpdmVGb2N1c2VkU3RhdGVSZXRhaW5Db3VudDsKIH0KIAogLSAodm9pZClfcHJlc2VydmVG
b2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWluZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuIGRlc3Ry
dWN0aXZlbHk6KEJPT0wpZGVzdHJ1Y3RpdmVseQogewotICAgIGlmICghX2lucHV0UGVyaXBoZXJh
bCkKKyAgICBpZiAoIV9pbnB1dFBlcmlwaGVyYWwpIHsKICAgICAgICAgKytfd2ViVmlldy0+X2Fj
dGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkNvdW50OworICAgICAgICBfZm9jdXNTdGF0ZVN0YWNrLmFw
cGVuZCh0cnVlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgX2ZvY3VzU3RhdGVTdGFjay5hcHBlbmQo
ZmFsc2UpOwogfQogCiAjcHJhZ21hIG1hcmsgLSBJbXBsZW1lbnRhdGlvbiBvZiBVSVdlYlRvdWNo
RXZlbnRzR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0ZS4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNzc0
NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1
IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+
CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBhbmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0
byBiZSBzeW1tZXRyaWNhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTgyMjY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgbmV3IHRlc3QgdG8gdmVyaWZ5IHRoYXQgb3BlbmluZyBhIHNlbGVjdGlv
biBmb3JtIHR3aWNlIHdvcmtzLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxl
Y3QtZm9ybS1ydW4tdHdpY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS5odG1sOiBBZGRlZC4KKwogMjAxOC0w
MS0yOSAgTWF0dCBMZXdpcyAgPGpsZXdpczNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyMjc3MzEuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UtZXhw
ZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lw
YWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDcgQEAKK1RoaXMgaXMgdGhlIHRvcAorCitGaXJzdCBDbGljaworRmluYWwgQ2xpY2sK
K01hcmNoIEp1bmUKK1BBU1M6IGhpdCB0ZXN0aW5nIGZvdW5kICNuZXh0QnV0dG9uIGFmdGVyIGZp
cnN0IHNlbGVjdCBpbnRlcmFjdGlvbgorUEFTUzogaGl0IHRlc3RpbmcgZm91bmQgI2ZpbmFsVGFy
Z2V0IGFmdGVyIHNlbGVjdCBpbnRlcmFjdGlvbgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2ljZS5odG1sCShu
b25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZv
cm0tcnVuLXR3aWNlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNDAgQEAKKzwhRE9D
VFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9
dHJ1ZSBdIC0tPgorCis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyI+CisgICAgPHN0eWxl
PgorICAgICAgICBib2R5IHsKKyAgICAgICAgICAgIGhlaWdodDogMTUwMHB4OworICAgICAgICB9
CisgICAgICAgICNjb250YWluZXIgeworICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAg
ICAgICAgICAgdG9wOiAxMHB4OworICAgICAgICAgICAgbGVmdDogMTBweDsKKyAgICAgICAgICAg
IGJvdHRvbTogMzBweDsKKyAgICAgICAgICAgIHJpZ2h0OiAxMHB4OworICAgICAgICAgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOworICAgICAgICAgICAgcGFkZGluZzog
MTBweDsKKyAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CisgICAgICAgICAgICBi
b3JkZXI6IDVweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgc2Vs
ZWN0IHsKKyAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOworICAgICAgICAgICAgbWFyZ2luOiA1
MDBweCAyMDBweCAyMHB4IDIwcHg7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGJ1dHRv
biB7CisgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgfQorICAgICAgICAKKyAg
ICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvem9vbWluZy10ZXN0LXV0
aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2Vz
L2Jhc2ljLWdlc3R1cmVzLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKKworICAgICAgICBmdW5jdGlvbiBnZXRTY3JvbGxEb3duVUlTY3JpcHQoeCwgeSkKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kaWRFbmRTY3JvbGxpbmdDYWxsYmFj
ayA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVp
U2NyaXB0Q29tcGxldGUoKTsKKyAgICAgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAg
ICAgICAgICB1aUNvbnRyb2xsZXIuc2Nyb2xsVG9PZmZzZXQoJHt4fSwgJHt5fSk7CisgICAgICAg
ICAgICAgICAgfSkoKTtgCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBnZXRUYXBPblNl
bGVjdFVJU2NyaXB0KHgsIHksIHJvdykKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGAK
KyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29u
dHJvbGxlci5kaWRTdGFydEZvcm1Db250cm9sSW50ZXJhY3Rpb25DYWxsYmFjayA9IGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnNlbGVjdEZvcm1BY2Nl
c3NvcnlQaWNrZXJSb3coJHtyb3d9KTsKKyAgICAgICAgICAgICAgICAgICAgfTsKKworICAgICAg
ICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuZGlkRW5kRm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNh
bGxiYWNrID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xs
ZXIudWlTY3JpcHRDb21wbGV0ZSgpOworICAgICAgICAgICAgICAgICAgICB9OworCisgICAgICAg
ICAgICAgICAgICAgIHVpQ29udHJvbGxlci5zaW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9KSgp
O2AKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGZpcnN0QnV0dG9uQ2xpY2tlZCgpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXh0U3RlcCcp
LnRleHRDb250ZW50ID0gJ1BBU1M6IGhpdCB0ZXN0aW5nIGZvdW5kICNuZXh0QnV0dG9uIGFmdGVy
IGZpcnN0IHNlbGVjdCBpbnRlcmFjdGlvbic7CisgICAgICAgICAgICB2YXIgc2VsZWN0RWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKKyAgICAgICAg
ICAgIHZhciBwb2ludCA9IGdldFBvaW50SW5zaWRlRWxlbWVudChzZWxlY3RFbGVtZW50LCAxMCwg
MTApOworICAgICAgICAgICAgdGVzdFJ1bm5lci5ydW5VSVNjcmlwdChnZXRUYXBPblNlbGVjdFVJ
U2NyaXB0KHBvaW50LngsIHBvaW50LnksIDUpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LXZhbHVlMicpLnRleHRDb250ZW50ID0g
c2VsZWN0RWxlbWVudC52YWx1ZTsKKyAgICAgICAgICAgICAgICAgICAgdHJ5VGFwT25CdXR0b24o
J2ZpbmFsVGFyZ2V0Jyk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIAorICAgICAg
ICBmdW5jdGlvbiBmaW5hbEJ1dHRvbkNsaWNrZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykudGV4dENvbnRlbnQgPSAnUEFTUzogaGl0
IHRlc3RpbmcgZm91bmQgI2ZpbmFsVGFyZ2V0IGFmdGVyIHNlbGVjdCBpbnRlcmFjdGlvbic7Cisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiB0
cnlUYXBPbkJ1dHRvbih0YXJnZXQpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBwb2ludCA9
IGdldFBvaW50SW5zaWRlRWxlbWVudChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXQpLCAx
MCwgMTApOworICAgICAgICAgICAgYXdhaXQgdGFwQXRQb2ludChwb2ludC54LCBwb2ludC55KTsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byBrZWVwIHJldHJ5aW5nLCBi
ZWNhdXNlIHRoZSBkaW1taW5nIHZpZXcgYmVoaW5kIHRoZSBwb3BvdmVyIGFuaW1hdGVzIG91dCwK
KyAgICAgICAgICAgIC8vIGFuZCB3ZSBjdXJyZW50bHkgaGF2ZSBubyBjYWxsYmFjayB3aGVuIHRo
YXQgYW5pbWF0aW9uIGNvbXBsZXRlcy4KKyAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRy
eVRhcE9uQnV0dG9uLmJpbmQodGhpcywgdGFyZ2V0KSwgMTAwKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworCisgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFNjcm9sbERvd25V
SVNjcmlwdCgwLCA1MDApLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKKyAg
ICAgICAgICAgICAgICB2YXIgcG9pbnQgPSBnZXRQb2ludEluc2lkZUVsZW1lbnQoc2VsZWN0RWxl
bWVudCwgMTAsIDEwKTsKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdl
dFRhcE9uU2VsZWN0VUlTY3JpcHQocG9pbnQueCwgcG9pbnQueSwgMiksIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LXZhbHVl
JykudGV4dENvbnRlbnQgPSBzZWxlY3RFbGVtZW50LnZhbHVlOworICAgICAgICAgICAgICAgICAg
ICB0cnlUYXBPbkJ1dHRvbignZmlyc3RUYXJnZXQnKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisgICAgPHA+VGhpcyBpcyB0aGUgdG9wPC9wPgorICAgIDxkaXYgaWQ9ImNvbnRh
aW5lciI+CisgICAgICAgIDxidXR0b24gaWQ9ImZpcnN0VGFyZ2V0IiBvbmNsaWNrPSJmaXJzdEJ1
dHRvbkNsaWNrZWQoKSI+Rmlyc3QgQ2xpY2s8L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0i
ZmluYWxUYXJnZXQiIG9uY2xpY2s9ImZpbmFsQnV0dG9uQ2xpY2tlZCgpIj5GaW5hbCBDbGljazwv
YnV0dG9uPgorICAgICAgICA8c2VsZWN0PgorICAgICAgICAgICAgPG9wdGlvbj5KYW51YXJ5PC9v
cHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkZlYnJ1YXJ5PC9vcHRpb24+CisgICAgICAgICAg
ICA8b3B0aW9uPk1hcmNoPC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkFwcmlsPC9vcHRp
b24+CisgICAgICAgICAgICA8b3B0aW9uPk1heTwvb3B0aW9uPgorICAgICAgICAgICAgPG9wdGlv
bj5KdW5lPC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPkp1bHk8L29wdGlvbj4KKyAgICAg
ICAgICAgIDxvcHRpb24+QXVndXN0PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPlNlcHRl
bWJlcjwvb3B0aW9uPgorICAgICAgICA8L3NlbGVjdD4KKyAgICAgICAgPHNwYW4gaWQ9InNlbGVj
dC12YWx1ZSI+VmFsdWUgZ29lcyBoZXJlPC9zcGFuPgorICAgICAgICA8c3BhbiBpZD0ic2VsZWN0
LXZhbHVlMiI+Mm5kIFZhbHVlIGdvZXMgaGVyZTwvc3Bhbj4KKyAgICAgICAgPGRpdiBpZD0ibmV4
dFN0ZXAiPkZBSUw6IHNob3VsZCBoYXZlIGhpdC10ZXN0ZWQgYW5kIGZvdW5kICN0YXJnZXQgZWxl
bWVudDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZXN1bHQiPkZBSUw6IHNob3VsZCBoYXZlIGhp
dC10ZXN0ZWQgYW5kIGZvdW5kICN0YXJnZXQgZWxlbWVudDwvZGl2PgorICAgIDwvZGl2PgorICAg
IAorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332675</attachid>
            <date>2018-01-30 11:30:10 -0800</date>
            <delta_ts>2018-01-30 13:58:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182264-20180130113009.patch</filename>
            <type>text/plain</type>
            <size>9406</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjc3NjgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBh
bmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1tZXRyaWNhbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMjY0CisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zNjk0ODQ3Mz4KKyAgICAgICAgCisgICAgICAgIFJldmlld2VkIGJ5IFRp
bSBIb3J0b24uCisKKyAgICAgICAgS2VlcCBhIHN0YWNrIG9mIGlmIHdlIGFjdHVhbGx5IGluY3Jl
bWVudCB0aGUgZm9jdXNTdGF0ZSwgc28gdGhhdAorICAgICAgICBjaGFuZ2VzIHRvIHRoZSB3ZWIg
Y29udGVudCBkbyBub3QgcmVzdWx0IGluIGFzeW1tZXRyaWMgZGVjcmVtZW50cyB0byB0aGUgZm9j
dXMgc3RhdGUuIAorICAgICAgICBUbyB3b3JrIGFyb3VuZCBwcm9ibGVtcyBhc3NvY2lhdGVkIHdp
dGggPHJkYXI6Ly9wcm9ibGVtLzM3MDAwMTIyPi4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3Jlc3Rv
cmVGb2N1c1dpdGhUb2tlbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfcHJlc2VydmVG
b2N1c1dpdGhUb2tlbjpkZXN0cnVjdGl2ZWx5Ol0pOgorCiAyMDE4LTAxLTI5ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDYWNoZSBBUEkgc2hvdWxkIG1ha2Ug
c3VyZSB0byByZXNvbHZlIGNhY2hlcy5vcGVuIHByb21pc2VzIGluIHRoZSBzYW1lIG9yZGVyIGFz
IGNhbGxlZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAkocmV2aXNpb24gMjI3NzQ1KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNzEsNiArMTcxLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRhIHsKICAg
ICBSZXRhaW5QdHI8V0tGaWxlVXBsb2FkUGFuZWw+IF9maWxlVXBsb2FkUGFuZWw7CiAgICAgUmV0
YWluUHRyPFVJR2VzdHVyZVJlY29nbml6ZXI+IF9wcmV2aWV3R2VzdHVyZVJlY29nbml6ZXI7CiAg
ICAgUmV0YWluUHRyPFVJR2VzdHVyZVJlY29nbml6ZXI+IF9wcmV2aWV3U2Vjb25kYXJ5R2VzdHVy
ZVJlY29nbml6ZXI7CisgICAgVmVjdG9yPGJvb2w+IF9mb2N1c1N0YXRlU3RhY2s7CiAjaWYgSEFW
RShMSU5LX1BSRVZJRVcpCiAgICAgUmV0YWluUHRyPFVJUHJldmlld0l0ZW1Db250cm9sbGVyPiBf
cHJldmlld0l0ZW1Db250cm9sbGVyOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0JKHJldmlz
aW9uIDIyNzc0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTQxNjksMTQgKzQxNjksMjEgQEAgLSAo
dm9pZClmaWxlVXBsb2FkUGFuZWxEaWREaXNtaXNzOihXS0ZpbAogCiAtICh2b2lkKV9yZXN0b3Jl
Rm9jdXNXaXRoVG9rZW46KGlkIDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPil0b2tlbgogewot
ICAgIGlmICghX2lucHV0UGVyaXBoZXJhbCkKKyAgICBBU1NFUlQoIV9mb2N1c1N0YXRlU3RhY2su
aXNFbXB0eSgpKTsKKyAgICAKKyAgICBpZiAoX2ZvY3VzU3RhdGVTdGFjay50YWtlTGFzdCgpKSB7
CisgICAgICAgIEFTU0VSVChfd2ViVmlldy0+X2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkNvdW50
KTsKICAgICAgICAgLS1fd2ViVmlldy0+X2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkNvdW50Owor
ICAgIH0KIH0KIAogLSAodm9pZClfcHJlc2VydmVGb2N1c1dpdGhUb2tlbjooaWQgPE5TQ29weWlu
ZywgTlNTZWN1cmVDb2Rpbmc+KXRva2VuIGRlc3RydWN0aXZlbHk6KEJPT0wpZGVzdHJ1Y3RpdmVs
eQogewotICAgIGlmICghX2lucHV0UGVyaXBoZXJhbCkKKyAgICBpZiAoIV9pbnB1dFBlcmlwaGVy
YWwpIHsKICAgICAgICAgKytfd2ViVmlldy0+X2FjdGl2ZUZvY3VzZWRTdGF0ZVJldGFpbkNvdW50
OworICAgICAgICBfZm9jdXNTdGF0ZVN0YWNrLmFwcGVuZCh0cnVlKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgX2ZvY3VzU3RhdGVTdGFjay5hcHBlbmQoZmFsc2UpOwogfQogCiAjcHJhZ21hIG1hcmsg
LSBJbXBsZW1lbnRhdGlvbiBvZiBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXJEZWxl
Z2F0ZS4KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyNzc0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE4LTAxLTI5ICBNZWdhbiBHYXJk
bmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBwcmVzZXJ2ZSBh
bmQgcmVzdG9yZSBmb2N1cyBtb3JlIGxpa2VseSB0byBiZSBzeW1tZXRyaWNhbAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgyMjY0CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgbmV3IHRlc3QgdG8g
dmVyaWZ5IHRoYXQgb3BlbmluZyBhIHNlbGVjdGlvbiBmb3JtIHR3aWNlIHdvcmtzLgorCisgICAg
ICAgICogZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1
bi10d2ljZS5odG1sOiBBZGRlZC4KKwogMjAxOC0wMS0yOSAgTWF0dCBMZXdpcyAgPGpsZXdpczNA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjc3MzEuCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFkL3NlbGVjdC1mb3JtLXJ1bi10d2lj
ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mv
aXBhZC9zZWxlY3QtZm9ybS1ydW4tdHdpY2UtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKK1RoaXMgaXMgdGhlIHRv
cAorCitGaXJzdCBDbGljaworRmluYWwgQ2xpY2sKK01hcmNoIEp1bmUKK1BBU1M6IGhpdCB0ZXN0
aW5nIGZvdW5kICNuZXh0QnV0dG9uIGFmdGVyIGZpcnN0IHNlbGVjdCBpbnRlcmFjdGlvbgorUEFT
UzogaGl0IHRlc3RpbmcgZm91bmQgI2ZpbmFsVGFyZ2V0IGFmdGVyIHNlbGVjdCBpbnRlcmFjdGlv
bgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaXBhZC9zZWxlY3QtZm9ybS1ydW4t
dHdpY2UuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pcGFk
L3NlbGVjdC1mb3JtLXJ1bi10d2ljZS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvaW9zL2lwYWQvc2VsZWN0LWZvcm0tcnVuLXR3aWNlLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxNDAgQEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0tPgorCis8aHRtbD4KKzxoZWFk
PgorICAgIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEuMCwg
dXNlci1zY2FsYWJsZT1ubyI+CisgICAgPHN0eWxlPgorICAgICAgICBib2R5IHsKKyAgICAgICAg
ICAgIGhlaWdodDogMTUwMHB4OworICAgICAgICB9CisgICAgICAgICNjb250YWluZXIgeworICAg
ICAgICAgICAgcG9zaXRpb246IGZpeGVkOworICAgICAgICAgICAgdG9wOiAxMHB4OworICAgICAg
ICAgICAgbGVmdDogMTBweDsKKyAgICAgICAgICAgIGJvdHRvbTogMzBweDsKKyAgICAgICAgICAg
IHJpZ2h0OiAxMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAw
LCAwLjUpOworICAgICAgICAgICAgcGFkZGluZzogMTBweDsKKyAgICAgICAgICAgIGJveC1zaXpp
bmc6IGJvcmRlci1ib3g7CisgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBibGFjazsKKyAg
ICAgICAgfQorICAgICAgICAKKyAgICAgICAgc2VsZWN0IHsKKyAgICAgICAgICAgIGRpc3BsYXk6
IGJsb2NrOworICAgICAgICAgICAgbWFyZ2luOiA1MDBweCAyMDBweCAyMHB4IDIwcHg7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIGJ1dHRvbiB7CisgICAgICAgICAgICBkaXNwbGF5OiBi
bG9jazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9yZXNvdXJjZXMvem9vbWluZy10ZXN0LXV0aWxzLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vLi4vLi4vLi4vcmVzb3VyY2VzL2Jhc2ljLWdlc3R1cmVzLmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworICAgICAgICBmdW5jdGlvbiBnZXRT
Y3JvbGxEb3duVUlTY3JpcHQoeCwgeSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGAK
KyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29u
dHJvbGxlci5kaWRFbmRTY3JvbGxpbmdDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgdWlDb250cm9sbGVyLnVpU2NyaXB0Q29tcGxldGUoKTsKKyAgICAgICAg
ICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIuc2Nyb2xs
VG9PZmZzZXQoJHt4fSwgJHt5fSk7CisgICAgICAgICAgICAgICAgfSkoKTtgCisgICAgICAgIH0K
KworICAgICAgICBmdW5jdGlvbiBnZXRUYXBPblNlbGVjdFVJU2NyaXB0KHgsIHksIHJvdykKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgICAgICAoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5kaWRTdGFydEZvcm1Db250cm9s
SW50ZXJhY3Rpb25DYWxsYmFjayA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgdWlDb250cm9sbGVyLnNlbGVjdEZvcm1BY2Nlc3NvcnlQaWNrZXJSb3coJHtyb3d9KTsKKyAg
ICAgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIu
ZGlkRW5kRm9ybUNvbnRyb2xJbnRlcmFjdGlvbkNhbGxiYWNrID0gZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICB1aUNvbnRyb2xsZXIudWlTY3JpcHRDb21wbGV0ZSgpOworICAg
ICAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAgICAgICAgIHVpQ29udHJvbGxlci5z
aW5nbGVUYXBBdFBvaW50KCR7eH0sICR7eX0sIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB9KSgpO2AKKyAgICAgICAgfQorCisgICAgICAgIGZ1
bmN0aW9uIGZpcnN0QnV0dG9uQ2xpY2tlZCgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCduZXh0U3RlcCcpLnRleHRDb250ZW50ID0gJ1BBU1M6IGhpdCB0
ZXN0aW5nIGZvdW5kICNuZXh0QnV0dG9uIGFmdGVyIGZpcnN0IHNlbGVjdCBpbnRlcmFjdGlvbic7
CisgICAgICAgICAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdzZWxlY3QnKVswXTsKKyAgICAgICAgICAgIHZhciBwb2ludCA9IGdldFBvaW50SW5z
aWRlRWxlbWVudChzZWxlY3RFbGVtZW50LCAxMCwgMTApOworICAgICAgICAgICAgdGVzdFJ1bm5l
ci5ydW5VSVNjcmlwdChnZXRUYXBPblNlbGVjdFVJU2NyaXB0KHBvaW50LngsIHBvaW50LnksIDUp
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
c2VsZWN0LXZhbHVlMicpLnRleHRDb250ZW50ID0gc2VsZWN0RWxlbWVudC52YWx1ZTsKKyAgICAg
ICAgICAgICAgICAgICAgdHJ5VGFwT25CdXR0b24oJ2ZpbmFsVGFyZ2V0Jyk7CisgICAgICAgICAg
ICB9KTsKKyAgICAgICAgfQorICAgIAorICAgICAgICBmdW5jdGlvbiBmaW5hbEJ1dHRvbkNsaWNr
ZWQoKQorICAgICAgICB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVz
dWx0JykudGV4dENvbnRlbnQgPSAnUEFTUzogaGl0IHRlc3RpbmcgZm91bmQgI2ZpbmFsVGFyZ2V0
IGFmdGVyIHNlbGVjdCBpbnRlcmFjdGlvbic7CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0KKworICAgICAgICBhc3luYyBmdW5jdGlvbiB0cnlUYXBPbkJ1dHRvbih0YXJnZXQpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIHZhciBwb2ludCA9IGdldFBvaW50SW5zaWRlRWxlbWVudChkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXQpLCAxMCwgMTApOworICAgICAgICAgICAgYXdhaXQg
dGFwQXRQb2ludChwb2ludC54LCBwb2ludC55KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
Ly8gV2UgaGF2ZSB0byBrZWVwIHJldHJ5aW5nLCBiZWNhdXNlIHRoZSBkaW1taW5nIHZpZXcgYmVo
aW5kIHRoZSBwb3BvdmVyIGFuaW1hdGVzIG91dCwKKyAgICAgICAgICAgIC8vIGFuZCB3ZSBjdXJy
ZW50bHkgaGF2ZSBubyBjYWxsYmFjayB3aGVuIHRoYXQgYW5pbWF0aW9uIGNvbXBsZXRlcy4KKyAg
ICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRyeVRhcE9uQnV0dG9uLmJpbmQodGhpcywgdGFy
Z2V0KSwgMTAwKTsKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICB0ZXN0UnVu
bmVyLnJ1blVJU2NyaXB0KGdldFNjcm9sbERvd25VSVNjcmlwdCgwLCA1MDApLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdzZWxlY3QnKVswXTsKKyAgICAgICAgICAgICAgICB2YXIgcG9pbnQgPSBn
ZXRQb2ludEluc2lkZUVsZW1lbnQoc2VsZWN0RWxlbWVudCwgMTAsIDEwKTsKKyAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGdldFRhcE9uU2VsZWN0VUlTY3JpcHQocG9pbnQu
eCwgcG9pbnQueSwgMiksIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2VsZWN0LXZhbHVlJykudGV4dENvbnRlbnQgPSBzZWxlY3RFbGVt
ZW50LnZhbHVlOworICAgICAgICAgICAgICAgICAgICB0cnlUYXBPbkJ1dHRvbignZmlyc3RUYXJn
ZXQnKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9Cisg
ICAgICAgIAorICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwg
ZmFsc2UpOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgICAgPHA+VGhpcyBpcyB0
aGUgdG9wPC9wPgorICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+CisgICAgICAgIDxidXR0b24gaWQ9
ImZpcnN0VGFyZ2V0IiBvbmNsaWNrPSJmaXJzdEJ1dHRvbkNsaWNrZWQoKSI+Rmlyc3QgQ2xpY2s8
L2J1dHRvbj4KKyAgICAgICAgPGJ1dHRvbiBpZD0iZmluYWxUYXJnZXQiIG9uY2xpY2s9ImZpbmFs
QnV0dG9uQ2xpY2tlZCgpIj5GaW5hbCBDbGljazwvYnV0dG9uPgorICAgICAgICA8c2VsZWN0Pgor
ICAgICAgICAgICAgPG9wdGlvbj5KYW51YXJ5PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9u
PkZlYnJ1YXJ5PC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPk1hcmNoPC9vcHRpb24+Cisg
ICAgICAgICAgICA8b3B0aW9uPkFwcmlsPC9vcHRpb24+CisgICAgICAgICAgICA8b3B0aW9uPk1h
eTwvb3B0aW9uPgorICAgICAgICAgICAgPG9wdGlvbj5KdW5lPC9vcHRpb24+CisgICAgICAgICAg
ICA8b3B0aW9uPkp1bHk8L29wdGlvbj4KKyAgICAgICAgICAgIDxvcHRpb24+QXVndXN0PC9vcHRp
b24+CisgICAgICAgICAgICA8b3B0aW9uPlNlcHRlbWJlcjwvb3B0aW9uPgorICAgICAgICA8L3Nl
bGVjdD4KKyAgICAgICAgPHNwYW4gaWQ9InNlbGVjdC12YWx1ZSI+VmFsdWUgZ29lcyBoZXJlPC9z
cGFuPgorICAgICAgICA8c3BhbiBpZD0ic2VsZWN0LXZhbHVlMiI+Mm5kIFZhbHVlIGdvZXMgaGVy
ZTwvc3Bhbj4KKyAgICAgICAgPGRpdiBpZD0ibmV4dFN0ZXAiPkZBSUw6IHNob3VsZCBoYXZlIGhp
dC10ZXN0ZWQgYW5kIGZvdW5kICN0YXJnZXQgZWxlbWVudDwvZGl2PgorICAgICAgICA8ZGl2IGlk
PSJyZXN1bHQiPkZBSUw6IHNob3VsZCBoYXZlIGhpdC10ZXN0ZWQgYW5kIGZvdW5kICN0YXJnZXQg
ZWxlbWVudDwvZGl2PgorICAgIDwvZGl2PgorICAgIAorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>
<flag name="review"
          id="351605"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>