<?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>173478</bug_id>
          
          <creation_ts>2017-06-16 10:03:27 -0700</creation_ts>
          <short_desc>REGRESSION (r218015) IconLoaders for already-cached resources expect to be asynchronous, no longer are.</short_desc>
          <delta_ts>2017-06-16 13:34:53 -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>WebCore Misc.</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>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>aestes</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1319995</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 10:03:27 -0700</bug_when>
    <thetext>REGRESSION (r218015) IconLoaders for an already cached resource no longer load asynchronously.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319996</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 10:04:50 -0700</bug_when>
    <thetext>Inside bool CachedResource::addClientToSet(CachedResourceClient&amp; client), the check &quot;m_type == RawResource || m_type == MainResource&quot; needed to be updated to include Favicon type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319997</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 10:05:24 -0700</bug_when>
    <thetext>But, actually, I think maybe we want this new behavior - But it is currently causing an ASSERT in debug builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319999</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 10:11:05 -0700</bug_when>
    <thetext>ASSERTION FAILED: loadIdentifier
/Volumes/Data/git/OpenSource/Source/WebCore/loader/DocumentLoader.cpp(1691) : void WebCore::DocumentLoader::finishedLoadingIcon(WebCore::IconLoader &amp;, WebCore::SharedBuffer *)
Jun 16 10:10:48  MiniBrowser[29028] &lt;Error&gt;: CGImageCreateWithImageProvider: invalid image size: 0 x 0.
1   0x1069cb51d WTFCrash
2   0x10e90d75d WebCore::DocumentLoader::finishedLoadingIcon(WebCore::IconLoader&amp;, WebCore::SharedBuffer*)
3   0x10ef8e0a8 WebCore::IconLoader::notifyFinished(WebCore::CachedResource&amp;)
4   0x10e39b6d1 WebCore::CachedResource::didAddClient(WebCore::CachedResourceClient&amp;)
5   0x10e394922 WebCore::CachedRawResource::didAddClient(WebCore::CachedResourceClient&amp;)
6   0x10e39b180 WebCore::CachedResource::addClient(WebCore::CachedResourceClient&amp;)
7   0x10ef8de2d WebCore::IconLoader::startLoading()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320029</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-16 11:12:25 -0700</bug_when>
    <thetext>Is there a straightforward way to enable the icon database in MiniBrowser? I take it you just visited a web site that has a favicon to hit this once the icon database is enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320051</commentid>
    <comment_count>5</comment_count>
      <attachid>313102</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 11:41:46 -0700</bug_when>
    <thetext>Created attachment 313102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320053</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 11:43:31 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #4)
&gt; Is there a straightforward way to enable the icon database in MiniBrowser? I
&gt; take it you just visited a web site that has a favicon to hit this once the
&gt; icon database is enabled?

This has nothing to do with the icon database.

Minibrowser has a check box to turn on the icon loading delegate for all icons.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320077</commentid>
    <comment_count>7</comment_count>
      <attachid>313102</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-16 12:28:48 -0700</bug_when>
    <thetext>Comment on attachment 313102
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Being synchronous is actually better, because it&apos;s actually resolved another issue or two.

This sentence does not read well. In particular, the phrase &quot;it&apos;s actually resolved&quot;.

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:160
&gt; +static const char mainBytes2[] =
&gt; +&quot;Oh, hello there!&quot;;

Minor: It is unnecessary to use the keyword static. In C++ and Objective-C++ a const has internal linkage. I also do not see the need to spread the assignment across two lines (we are not using VT100 terminals these days) :). I suggest writing the assignment on one line.

&gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:190
&gt; +    // Load another main resource that results in the same icon being loaded (which should come from the memory cache)

Minor: Missing period at the end of this sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320085</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 12:39:03 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #7)
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:160
&gt; &gt; +static const char mainBytes2[] =
&gt; &gt; +&quot;Oh, hello there!&quot;;
&gt; 
&gt; Minor: It is unnecessary to use the keyword static. In C++ and Objective-C++
&gt; a const has internal linkage. I also do not see the need to spread the
&gt; assignment across two lines (we are not using VT100 terminals these days)
&gt; :). I suggest writing the assignment on one line.

It&apos;s established style for custom protocol html resources in API tests to make them multiline, including in this same file. I&apos;m going to leave it set up for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320087</commentid>
    <comment_count>9</comment_count>
      <attachid>313112</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 12:40:06 -0700</bug_when>
    <thetext>Created attachment 313112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320088</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-06-16 12:41:20 -0700</bug_when>
    <thetext>(In reply to Brady Eidson from comment #6)
&gt; (In reply to Daniel Bates from comment #4)
&gt; &gt; Is there a straightforward way to enable the icon database in MiniBrowser? I
&gt; &gt; take it you just visited a web site that has a favicon to hit this once the
&gt; &gt; icon database is enabled?
&gt; 
&gt; This has nothing to do with the icon database.
&gt; 
&gt; Minibrowser has a check box to turn on the icon loading delegate for all
&gt; icons.

Where is this checkbox? I only see Settings &gt; Load All Site Icons Per Page. When I enable this option and load apple.com (it has a favicon) in either a Legacy WebKit or WebKit window I am not able hit this assertion failure in a debug build of WebKit at r218201. From briefly debugging, Document calls IconController::startLoader(), &lt;https://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp?rev=218395#L2688&gt;, which early returns because IconDatabase::isEnabled() returns false at &lt;https://trac.webkit.org/browser/trunk/Source/WebCore/loader/icon/IconController.cpp?rev=200591#L134&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320089</commentid>
    <comment_count>11</comment_count>
      <attachid>313112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-16 12:41:33 -0700</bug_when>
    <thetext>Comment on attachment 313112
Patch

Rejecting attachment 313112 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 313112, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/3943214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320098</commentid>
    <comment_count>12</comment_count>
      <attachid>313115</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 12:55:21 -0700</bug_when>
    <thetext>Created attachment 313115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320101</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-16 12:57:12 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #10)
&gt; (In reply to Brady Eidson from comment #6)
&gt; &gt; (In reply to Daniel Bates from comment #4)
&gt; &gt; &gt; Is there a straightforward way to enable the icon database in MiniBrowser? I
&gt; &gt; &gt; take it you just visited a web site that has a favicon to hit this once the
&gt; &gt; &gt; icon database is enabled?
&gt; &gt; 
&gt; &gt; This has nothing to do with the icon database.
&gt; &gt; 
&gt; &gt; Minibrowser has a check box to turn on the icon loading delegate for all
&gt; &gt; icons.
&gt; 
&gt; Where is this checkbox? I only see Settings &gt; Load All Site Icons Per Page.
&gt; When I enable this option and load apple.com (it has a favicon) in either a
&gt; Legacy WebKit or WebKit window I am not able hit this assertion failure in a
&gt; debug build of WebKit at r218201. From briefly debugging, Document calls
&gt; IconController::startLoader(),
&gt; &lt;https://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.
&gt; cpp?rev=218395#L2688&gt;, which early returns because IconDatabase::isEnabled()
&gt; returns false at
&gt; &lt;https://trac.webkit.org/browser/trunk/Source/WebCore/loader/icon/
&gt; IconController.cpp?rev=200591#L134&gt;.

It&apos;s probably unnecessary for you to spend time debugging a solved issue.

That said, that is the correct check box, but you&apos;re not actually testing the bug - You have to get the icon into the memory cache through a successful page load, and then re-access it from the memory cache on the second load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320126</commentid>
    <comment_count>14</comment_count>
      <attachid>313115</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-16 13:34:51 -0700</bug_when>
    <thetext>Comment on attachment 313115
Patch

Clearing flags on attachment: 313115

Committed r218409: &lt;http://trac.webkit.org/changeset/218409&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320127</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-16 13:34:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313102</attachid>
            <date>2017-06-16 11:41:46 -0700</date>
            <delta_ts>2017-06-16 12:40:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173478-20170616114146.patch</filename>
            <type>text/plain</type>
            <size>8261</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1ZDdmODVhZDU3YzY3
YTlkOGRmZDI5ZjIzY2I4MmY5Yjc0MTU2My4uNDQ1OTQxNjRiY2JmNzIwZTBlMTg3OGQ4NGNiMWI0
ZTA5NjRjMWZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA2LTE2ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjE4
MDE1KSBJY29uTG9hZGVycyBmb3IgYWxyZWFkeS1jYWNoZWQgcmVzb3VyY2VzIGV4cGVjdCB0byBi
ZSBhc3luY2hyb25vdXMsIG5vIGxvbmdlciBhcmUuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MjgxNzUxOT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM0
NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgIEJlaW5nIHN5bmNocm9ub3VzIGlzIGFjdHVhbGx5
IGJldHRlciwgYmVjYXVzZSBpdCdzIGFjdHVhbGx5IHJlc29sdmVkIGFub3RoZXIgaXNzdWUgb3Ig
dHdvLgorICAgICAgICBCdXQgb25seSBpZiB3ZSBjYW4gYWN0dWFsbHkgZGVsaXZlciB0aGUgZGF0
YSB3aXRob3V0IGNyYXNoaW5nIGZpcnN0LgorICAgICAgICBTbyBsZXQncyBkbyB0aGF0LgorICAg
ICAgICAKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmRpZEdldExvYWREZWNpc2lvbkZvckljb24pOiBQdXQgdGhl
IEljb25Mb2FkZXIgaW4gdGhlIHNldCBvZiBhY3RpdmUgaWNvbiBsb2FkZXJzCisgICAgICAgICAg
YmVmb3JlIGFjdHVhbGx5IHN0YXJ0aW5nIHRoZSBpY29uIGxvYWRpbmcuCisKIDIwMTctMDYtMTUg
IEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgYnVpbGQgZml4IGFmdGVyIHIyMTgzMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCmluZGV4IDkyZDhlZWFjYWEwNDkxZTY0YjVkOTZlZjAxZWY1NDMxZTdhZDU5MTcu
LjliYWJjZWYzMGQ3YmZlNzM0ZDJkYTBkOTlkNzc0YTkwNDJjMmEyM2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTY4MSw4ICsxNjgxLDEwIEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OmRpZEdldExvYWREZWNpc2lvbkZvckljb24oYm9vbCBkZWNpc2lvbiwg
dWludDY0X3QgbG9hZElkZW50CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gaWNvbkxvYWRl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8SWNvbkxvYWRlcj4oKnRoaXMsIGljb24udXJsKTsKLSAgICBp
Y29uTG9hZGVyLT5zdGFydExvYWRpbmcoKTsKKyAgICBhdXRvKiByYXdJY29uTG9hZGVyID0gaWNv
bkxvYWRlci5nZXQoKTsKICAgICBtX2ljb25Mb2FkZXJzLnNldChXVEZNb3ZlKGljb25Mb2FkZXIp
LCBuZXdDYWxsYmFja0lEKTsKKworICAgIHJhd0ljb25Mb2FkZXItPnN0YXJ0TG9hZGluZygpOwog
fQogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpmaW5pc2hlZExvYWRpbmdJY29uKEljb25Mb2FkZXIm
IGxvYWRlciwgU2hhcmVkQnVmZmVyKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTg0ZDMyMzY5Mzc2OTUzMWQxN2MxMjIyZjZhY2Fj
OTE1YmE3ZDJkYi4uZmMyNTkwYzkxYjdiN2ZmMTRlMTM2MjAxYzY0OTQ2NmYwMTIxY2Y1MyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEyIEBACisyMDE3LTA2LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OIChyMjE4MDE1KSBJY29uTG9hZGVycyBmb3IgYWxyZWFkeS1jYWNo
ZWQgcmVzb3VyY2VzIGV4cGVjdCB0byBiZSBhc3luY2hyb25vdXMsIG5vIGxvbmdlciBhcmUuCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMjgxNzUxOT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM0NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0lj
b25Mb2FkaW5nRGVsZWdhdGUubW06CisKIDIwMTctMDYtMTUgIENhcmxvcyBBbGJlcnRvIExvcGV6
IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjE4MzQ0
KTogW1dQRV0gVGhvdXNhbmRzIG9mIGxheW91dCB0ZXN0IGNyYXNoZXMKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdhdGUu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9JY29uTG9hZGluZ0Rl
bGVnYXRlLm1tCmluZGV4IDdmNDk2ZWFmMzc2ZWVlZjU1YTc4MGY3MWU4MGMyNmExNmY5OWQxOTMu
LjU4MDQ5NWE5ZjcwMjlkYTRlMjdkNTA1NDZlNDEyMDQwYTQzZGI4MmMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdhdGUu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvSWNvbkxvYWRp
bmdEZWxlZ2F0ZS5tbQpAQCAtMzksNiArMzksOSBAQAogI2lmIFdLX0FQSV9FTkFCTEVECiAKIHN0
YXRpYyBib29sIGRvbmVXaXRoSWNvbnM7CitzdGF0aWMgYm9vbCByZWNlaXZlZEZhdmljb25EYXRh
Q2FsbGJhY2s7CitzdGF0aWMgYm9vbCBhbHJlYWR5UHJvdmlkZWRJY29uRGF0YTsKK3N0YXRpYyBS
ZXRhaW5QdHI8TlNEYXRhPiByZWNlaXZlZEZhdmljb25EYXRhOwogCiBAaW50ZXJmYWNlIEljb25M
b2FkaW5nRGVsZWdhdGUgOiBOU09iamVjdCA8X1dLSWNvbkxvYWRpbmdEZWxlZ2F0ZT4KIEBlbmQK
QEAgLTY2LDM3ICs2OSw2MCBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
c2hvdWxkTG9hZEljb25XaXRoUGFyYW1ldGVyczooX1dLTGlua0ljb25QYQogICAgIGlmIChmYXZp
Y29uICYmIHRvdWNoICYmIHRvdWNoUHJlY29tcG9zZWQpCiAgICAgICAgIGRvbmVXaXRoSWNvbnMg
PSB0cnVlOwogCi0gICAgY29tcGxldGlvbkhhbmRsZXIobmlsKTsKKyAgICBpZiAocGFyYW1ldGVy
cy5pY29uVHlwZSA9PSBXS0xpbmtJY29uVHlwZUZhdmljb24pIHsKKyAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoW10oTlNEYXRhICppY29uRGF0YSkgeworICAgICAgICAgICAgcmVjZWl2ZWRGYXZp
Y29uRGF0YSA9IGljb25EYXRhOworICAgICAgICAgICAgcmVjZWl2ZWRGYXZpY29uRGF0YUNhbGxi
YWNrID0gdHJ1ZTsKKyAgICAgICAgfSk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKG5pbCk7CiB9CiAKIEBlbmQKIAogQGludGVyZmFjZSBJY29uTG9hZGluZ1NjaGVtZUhh
bmRsZXIgOiBOU09iamVjdCA8V0tVUkxTY2hlbWVIYW5kbGVyPgotLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoRGF0YTooTlNEYXRhICopZGF0YSBtaW1lVHlwZTooTlNTdHJpbmcgKilpbk1JTUVUeXBl
OworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0YTsKKy0gKHZvaWQp
c2V0RmF2aWNvbkRhdGE6KE5TRGF0YSAqKWRhdGE7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBJ
Y29uTG9hZGluZ1NjaGVtZUhhbmRsZXIgewotICAgIFJldGFpblB0cjxOU0RhdGE+IHJlc291cmNl
RGF0YTsKLSAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG1pbWVUeXBlOworICAgIFJldGFpblB0cjxO
U0RhdGE+IG1haW5SZXNvdXJjZURhdGE7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gZmF2aWNvbkRh
dGE7CiB9CiAKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgbWlt
ZVR5cGU6KE5TU3RyaW5nICopaW5NSU1FVHlwZQorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0
YTooTlNEYXRhICopZGF0YQogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFz
ZWxmKQogICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgcmVzb3VyY2VEYXRhID0gZGF0YTsKLSAg
ICBtaW1lVHlwZSA9IGluTUlNRVR5cGU7CisgICAgbWFpblJlc291cmNlRGF0YSA9IGRhdGE7CiAK
ICAgICByZXR1cm4gc2VsZjsKIH0KIAorLSAodm9pZClzZXRGYXZpY29uRGF0YTooTlNEYXRhICop
ZGF0YQoreworICAgIGZhdmljb25EYXRhID0gZGF0YTsKK30KKwogLSAodm9pZCl3ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IHN0YXJ0VVJMU2NoZW1lVGFzazooaWQgPFdLVVJMU2NoZW1lVGFz
az4pdGFzawogewotICAgIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiByZXNwb25zZSA9IGFkb3B0
TlMoW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1J
TUVUeXBlOm1pbWVUeXBlLmdldCgpIGV4cGVjdGVkQ29udGVudExlbmd0aDoxIHRleHRFbmNvZGlu
Z05hbWU6bmlsXSk7CisgICAgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IHJlc3BvbnNlOworICAg
IE5TRGF0YSAqZGF0YSA9IG5pbDsKKworICAgIGlmIChbW3Rhc2sucmVxdWVzdC5VUkwgYWJzb2x1
dGVTdHJpbmddIGlzRXF1YWw6QCJ0ZXN0aW5nOi8vL2Zhdmljb24uaWNvIl0pIHsKKyAgICAgICAg
RVhQRUNUX0ZBTFNFKGFscmVhZHlQcm92aWRlZEljb25EYXRhKTsKKyAgICAgICAgcmVzcG9uc2Ug
PSBhZG9wdE5TKFtbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dGFzay5yZXF1ZXN0
LlVSTCBNSU1FVHlwZTpAImltYWdlL3BuZyIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOjEgdGV4dEVu
Y29kaW5nTmFtZTpuaWxdKTsKKyAgICAgICAgZGF0YSA9IGZhdmljb25EYXRhLmdldCgpOworICAg
ICAgICBhbHJlYWR5UHJvdmlkZWRJY29uRGF0YSA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgcmVzcG9uc2UgPSBhZG9wdE5TKFtbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6
dGFzay5yZXF1ZXN0LlVSTCBNSU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50TGVu
Z3RoOjEgdGV4dEVuY29kaW5nTmFtZTpuaWxdKTsKKyAgICAgICAgZGF0YSA9IG1haW5SZXNvdXJj
ZURhdGEuZ2V0KCk7CisgICAgfQorCiAgICAgW3Rhc2sgZGlkUmVjZWl2ZVJlc3BvbnNlOnJlc3Bv
bnNlLmdldCgpXTsKLSAgICBbdGFzayBkaWRSZWNlaXZlRGF0YTpyZXNvdXJjZURhdGEuZ2V0KCld
OworICAgIFt0YXNrIGRpZFJlY2VpdmVEYXRhOmRhdGFdOwogICAgIFt0YXNrIGRpZEZpbmlzaF07
CiB9CiAKQEAgLTExNiw3ICsxNDIsNyBAQCBURVNUKEljb25Mb2FkaW5nLCBEZWZhdWx0RmF2aWNv
bikKIHsKICAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlv
biA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAKLSAg
ICBSZXRhaW5QdHI8SWNvbkxvYWRpbmdTY2hlbWVIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhb
W0ljb25Mb2FkaW5nU2NoZW1lSGFuZGxlciBhbGxvY10gaW5pdFdpdGhEYXRhOltOU0RhdGEgZGF0
YVdpdGhCeXRlc05vQ29weToodm9pZCopbWFpbkJ5dGVzIGxlbmd0aDpzaXplb2YobWFpbkJ5dGVz
KV0gbWltZVR5cGU6QCJ0ZXh0L2h0bWwiXSk7CisgICAgUmV0YWluUHRyPEljb25Mb2FkaW5nU2No
ZW1lSGFuZGxlcj4gaGFuZGxlciA9IGFkb3B0TlMoW1tJY29uTG9hZGluZ1NjaGVtZUhhbmRsZXIg
YWxsb2NdIGluaXRXaXRoRGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXNOb0NvcHk6KHZvaWQqKW1h
aW5CeXRlcyBsZW5ndGg6c2l6ZW9mKG1haW5CeXRlcyldXSk7CiAgICAgW2NvbmZpZ3VyYXRpb24g
c2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAInRlc3Rpbmci
XTsKIAogICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwpAQCAtMTMwLDQgKzE1Niw0NCBAQCBURVNU
KEljb25Mb2FkaW5nLCBEZWZhdWx0RmF2aWNvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmRvbmVXaXRoSWNvbnMpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBtYWluQnl0ZXMyW10g
PQorIk9oLCBoZWxsbyB0aGVyZSEiOworCitURVNUKEljb25Mb2FkaW5nLCBBbHJlYWR5Q2FjaGVk
SWNvbikKK3sKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisK
KyAgICBOU0RhdGEgKm1haW5EYXRhID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzTm9Db3B5Oih2b2lk
KiltYWluQnl0ZXMyIGxlbmd0aDpzaXplb2YobWFpbkJ5dGVzMildOworICAgIFJldGFpblB0cjxJ
Y29uTG9hZGluZ1NjaGVtZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbSWNvbkxvYWRpbmdT
Y2hlbWVIYW5kbGVyIGFsbG9jXSBpbml0V2l0aERhdGE6bWFpbkRhdGFdKTsKKworICAgIE5TVVJM
ICp1cmwgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAibGFyZ2UtcmVk
LXNxdWFyZS1pbWFnZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgUmV0YWluUHRyPE5TRGF0YSAqPiBpY29uRGF0YUZy
b21EaXNrID0gW05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6dXJsXTsKKyAgICBbaGFuZGxl
ci5nZXQoKSBzZXRGYXZpY29uRGF0YTppY29uRGF0YUZyb21EaXNrLmdldCgpXTsKKworICAgIFtj
b25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hl
bWU6QCJ0ZXN0aW5nIl07CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgw
MCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBSZXRhaW5Q
dHI8SWNvbkxvYWRpbmdEZWxlZ2F0ZT4gaWNvbkRlbGVnYXRlID0gYWRvcHROUyhbW0ljb25Mb2Fk
aW5nRGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKworICAgIHdlYlZpZXcuZ2V0KCkuX2ljb25Mb2Fk
aW5nRGVsZWdhdGUgPSBpY29uRGVsZWdhdGUuZ2V0KCk7CisKKyAgICBOU1VSTFJlcXVlc3QgKnJl
cXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5n
OkAidGVzdGluZzovLy9tYWluIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3Rd
OworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEZhdmljb25EYXRhQ2Fs
bGJhY2spOworCisgICAgRVhQRUNUX1RSVUUoW2ljb25EYXRhRnJvbURpc2suZ2V0KCkgaXNFcXVh
bDpyZWNlaXZlZEZhdmljb25EYXRhLmdldCgpXSk7CisKKyAgICByZWNlaXZlZEZhdmljb25EYXRh
Q2FsbGJhY2sgPSBmYWxzZTsKKyAgICByZWNlaXZlZEZhdmljb25EYXRhID0gbmlsOworCisgICAg
Ly8gTG9hZCBhbm90aGVyIG1haW4gcmVzb3VyY2UgdGhhdCByZXN1bHRzIGluIHRoZSBzYW1lIGlj
b24gYmVpbmcgbG9hZGVkICh3aGljaCBzaG91bGQgY29tZSBmcm9tIHRoZSBtZW1vcnkgY2FjaGUp
CisgICAgcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdp
dGhTdHJpbmc6QCJ0ZXN0aW5nOi8vL21haW4yIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OnJlcXVlc3RdOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEZhdmlj
b25EYXRhQ2FsbGJhY2spOworCisgICAgRVhQRUNUX1RSVUUoW2ljb25EYXRhRnJvbURpc2suZ2V0
KCkgaXNFcXVhbDpyZWNlaXZlZEZhdmljb25EYXRhLmdldCgpXSk7Cit9CisKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313112</attachid>
            <date>2017-06-16 12:40:06 -0700</date>
            <delta_ts>2017-06-16 12:55:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173478-20170616124006.patch</filename>
            <type>text/plain</type>
            <size>8247</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1ZDdmODVhZDU3YzY3
YTlkOGRmZDI5ZjIzY2I4MmY5Yjc0MTU2My4uNjdhYzdkMGQwZTNiZTY4YmQwNzQxMmRkMjliY2U2
ZDI3YjY3OTM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA2LTE2ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjE4
MDE1KSBJY29uTG9hZGVycyBmb3IgYWxyZWFkeS1jYWNoZWQgcmVzb3VyY2VzIGV4cGVjdCB0byBi
ZSBhc3luY2hyb25vdXMsIG5vIGxvbmdlciBhcmUuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MjgxNzUxOT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM0
NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3Zl
cmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgIEJlaW5nIHN5bmNocm9ub3VzIGlzIGFjdHVhbGx5
IGJldHRlciBhcyBpdCdzIHJlc29sdmVkIGFub3RoZXIgaXNzdWUgb3IgdHdvLgorICAgICAgICBC
dXQgb25seSBpZiB3ZSBjYW4gYWN0dWFsbHkgZGVsaXZlciB0aGUgZGF0YSB3aXRob3V0IGNyYXNo
aW5nIGZpcnN0LgorICAgICAgICBTbyBsZXQncyBkbyB0aGF0LgorICAgICAgICAKKyAgICAgICAg
KiBsb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OmRpZEdldExvYWREZWNpc2lvbkZvckljb24pOiBQdXQgdGhlIEljb25Mb2FkZXIgaW4g
dGhlIHNldCBvZiBhY3RpdmUgaWNvbiBsb2FkZXJzCisgICAgICAgICAgYmVmb3JlIGFjdHVhbGx5
IHN0YXJ0aW5nIHRoZSBpY29uIGxvYWRpbmcuCisKIDIwMTctMDYtMTUgIEpvbmF0aGFuIEJlZGFy
ZCAgPGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFm
dGVyIHIyMTgzMzYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4
IDkyZDhlZWFjYWEwNDkxZTY0YjVkOTZlZjAxZWY1NDMxZTdhZDU5MTcuLjliYWJjZWYzMGQ3YmZl
NzM0ZDJkYTBkOTlkNzc0YTkwNDJjMmEyM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmNwcApAQCAtMTY4MSw4ICsxNjgxLDEwIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6
OmRpZEdldExvYWREZWNpc2lvbkZvckljb24oYm9vbCBkZWNpc2lvbiwgdWludDY0X3QgbG9hZElk
ZW50CiAgICAgICAgIHJldHVybjsKIAogICAgIGF1dG8gaWNvbkxvYWRlciA9IHN0ZDo6bWFrZV91
bmlxdWU8SWNvbkxvYWRlcj4oKnRoaXMsIGljb24udXJsKTsKLSAgICBpY29uTG9hZGVyLT5zdGFy
dExvYWRpbmcoKTsKKyAgICBhdXRvKiByYXdJY29uTG9hZGVyID0gaWNvbkxvYWRlci5nZXQoKTsK
ICAgICBtX2ljb25Mb2FkZXJzLnNldChXVEZNb3ZlKGljb25Mb2FkZXIpLCBuZXdDYWxsYmFja0lE
KTsKKworICAgIHJhd0ljb25Mb2FkZXItPnN0YXJ0TG9hZGluZygpOwogfQogCiB2b2lkIERvY3Vt
ZW50TG9hZGVyOjpmaW5pc2hlZExvYWRpbmdJY29uKEljb25Mb2FkZXImIGxvYWRlciwgU2hhcmVk
QnVmZmVyKiBidWZmZXIpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggZTg0ZDMyMzY5Mzc2OTUzMWQxN2MxMjIyZjZhY2FjOTE1YmE3ZDJkYi4uZmMy
NTkwYzkxYjdiN2ZmMTRlMTM2MjAxYzY0OTQ2NmYwMTIxY2Y1MyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTA2
LTE2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNT
SU9OIChyMjE4MDE1KSBJY29uTG9hZGVycyBmb3IgYWxyZWFkeS1jYWNoZWQgcmVzb3VyY2VzIGV4
cGVjdCB0byBiZSBhc3luY2hyb25vdXMsIG5vIGxvbmdlciBhcmUuCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8zMjgxNzUxOT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNzM0NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdh
dGUubW06CisKIDIwMTctMDYtMTUgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjE4MzQ0KTogW1dQRV0gVGhvdXNh
bmRzIG9mIGxheW91dCB0ZXN0IGNyYXNoZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdhdGUubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9JY29uTG9hZGluZ0RlbGVnYXRlLm1tCmluZGV4
IDdmNDk2ZWFmMzc2ZWVlZjU1YTc4MGY3MWU4MGMyNmExNmY5OWQxOTMuLjhiZmFkZTE4MDI4Mjhm
NTNjZjQwZTk4MzFlZjZjYjgzODEyNTViYmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdhdGUubW0KKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvSWNvbkxvYWRpbmdEZWxlZ2F0ZS5tbQpA
QCAtMzksNiArMzksOSBAQAogI2lmIFdLX0FQSV9FTkFCTEVECiAKIHN0YXRpYyBib29sIGRvbmVX
aXRoSWNvbnM7CitzdGF0aWMgYm9vbCByZWNlaXZlZEZhdmljb25EYXRhQ2FsbGJhY2s7CitzdGF0
aWMgYm9vbCBhbHJlYWR5UHJvdmlkZWRJY29uRGF0YTsKK3N0YXRpYyBSZXRhaW5QdHI8TlNEYXRh
PiByZWNlaXZlZEZhdmljb25EYXRhOwogCiBAaW50ZXJmYWNlIEljb25Mb2FkaW5nRGVsZWdhdGUg
OiBOU09iamVjdCA8X1dLSWNvbkxvYWRpbmdEZWxlZ2F0ZT4KIEBlbmQKQEAgLTY2LDM3ICs2OSw2
MCBAQCAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgc2hvdWxkTG9hZEljb25X
aXRoUGFyYW1ldGVyczooX1dLTGlua0ljb25QYQogICAgIGlmIChmYXZpY29uICYmIHRvdWNoICYm
IHRvdWNoUHJlY29tcG9zZWQpCiAgICAgICAgIGRvbmVXaXRoSWNvbnMgPSB0cnVlOwogCi0gICAg
Y29tcGxldGlvbkhhbmRsZXIobmlsKTsKKyAgICBpZiAocGFyYW1ldGVycy5pY29uVHlwZSA9PSBX
S0xpbmtJY29uVHlwZUZhdmljb24pIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoW10oTlNE
YXRhICppY29uRGF0YSkgeworICAgICAgICAgICAgcmVjZWl2ZWRGYXZpY29uRGF0YSA9IGljb25E
YXRhOworICAgICAgICAgICAgcmVjZWl2ZWRGYXZpY29uRGF0YUNhbGxiYWNrID0gdHJ1ZTsKKyAg
ICAgICAgfSk7CisgICAgfSBlbHNlCisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG5pbCk7CiB9
CiAKIEBlbmQKIAogQGludGVyZmFjZSBJY29uTG9hZGluZ1NjaGVtZUhhbmRsZXIgOiBOU09iamVj
dCA8V0tVUkxTY2hlbWVIYW5kbGVyPgotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0YTooTlNE
YXRhICopZGF0YSBtaW1lVHlwZTooTlNTdHJpbmcgKilpbk1JTUVUeXBlOworLSAoaW5zdGFuY2V0
eXBlKWluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0YTsKKy0gKHZvaWQpc2V0RmF2aWNvbkRhdGE6
KE5TRGF0YSAqKWRhdGE7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBJY29uTG9hZGluZ1NjaGVt
ZUhhbmRsZXIgewotICAgIFJldGFpblB0cjxOU0RhdGE+IHJlc291cmNlRGF0YTsKLSAgICBSZXRh
aW5QdHI8TlNTdHJpbmc+IG1pbWVUeXBlOworICAgIFJldGFpblB0cjxOU0RhdGE+IG1haW5SZXNv
dXJjZURhdGE7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gZmF2aWNvbkRhdGE7CiB9CiAKLS0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgbWltZVR5cGU6KE5TU3RyaW5n
ICopaW5NSU1FVHlwZQorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0
YQogewogICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CiAgICAgaWYgKCFzZWxmKQogICAgICAgICBy
ZXR1cm4gbmlsOwogCi0gICAgcmVzb3VyY2VEYXRhID0gZGF0YTsKLSAgICBtaW1lVHlwZSA9IGlu
TUlNRVR5cGU7CisgICAgbWFpblJlc291cmNlRGF0YSA9IGRhdGE7CiAKICAgICByZXR1cm4gc2Vs
ZjsKIH0KIAorLSAodm9pZClzZXRGYXZpY29uRGF0YTooTlNEYXRhICopZGF0YQoreworICAgIGZh
dmljb25EYXRhID0gZGF0YTsKK30KKwogLSAodm9pZCl3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IHN0YXJ0VVJMU2NoZW1lVGFzazooaWQgPFdLVVJMU2NoZW1lVGFzaz4pdGFzawogewotICAg
IFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiByZXNwb25zZSA9IGFkb3B0TlMoW1tOU1VSTFJlc3Bv
bnNlIGFsbG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1JTUVUeXBlOm1pbWVUeXBl
LmdldCgpIGV4cGVjdGVkQ29udGVudExlbmd0aDoxIHRleHRFbmNvZGluZ05hbWU6bmlsXSk7Cisg
ICAgUmV0YWluUHRyPE5TVVJMUmVzcG9uc2U+IHJlc3BvbnNlOworICAgIE5TRGF0YSAqZGF0YSA9
IG5pbDsKKworICAgIGlmIChbW3Rhc2sucmVxdWVzdC5VUkwgYWJzb2x1dGVTdHJpbmddIGlzRXF1
YWw6QCJ0ZXN0aW5nOi8vL2Zhdmljb24uaWNvIl0pIHsKKyAgICAgICAgRVhQRUNUX0ZBTFNFKGFs
cmVhZHlQcm92aWRlZEljb25EYXRhKTsKKyAgICAgICAgcmVzcG9uc2UgPSBhZG9wdE5TKFtbTlNV
UkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dGFzay5yZXF1ZXN0LlVSTCBNSU1FVHlwZTpA
ImltYWdlL3BuZyIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOjEgdGV4dEVuY29kaW5nTmFtZTpuaWxd
KTsKKyAgICAgICAgZGF0YSA9IGZhdmljb25EYXRhLmdldCgpOworICAgICAgICBhbHJlYWR5UHJv
dmlkZWRJY29uRGF0YSA9IHRydWU7CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmVzcG9uc2UgPSBh
ZG9wdE5TKFtbTlNVUkxSZXNwb25zZSBhbGxvY10gaW5pdFdpdGhVUkw6dGFzay5yZXF1ZXN0LlVS
TCBNSU1FVHlwZTpAInRleHQvaHRtbCIgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOjEgdGV4dEVuY29k
aW5nTmFtZTpuaWxdKTsKKyAgICAgICAgZGF0YSA9IG1haW5SZXNvdXJjZURhdGEuZ2V0KCk7Cisg
ICAgfQorCiAgICAgW3Rhc2sgZGlkUmVjZWl2ZVJlc3BvbnNlOnJlc3BvbnNlLmdldCgpXTsKLSAg
ICBbdGFzayBkaWRSZWNlaXZlRGF0YTpyZXNvdXJjZURhdGEuZ2V0KCldOworICAgIFt0YXNrIGRp
ZFJlY2VpdmVEYXRhOmRhdGFdOwogICAgIFt0YXNrIGRpZEZpbmlzaF07CiB9CiAKQEAgLTExNiw3
ICsxNDIsNyBAQCBURVNUKEljb25Mb2FkaW5nLCBEZWZhdWx0RmF2aWNvbikKIHsKICAgICBSZXRh
aW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tX
S1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAKLSAgICBSZXRhaW5QdHI8SWNv
bkxvYWRpbmdTY2hlbWVIYW5kbGVyPiBoYW5kbGVyID0gYWRvcHROUyhbW0ljb25Mb2FkaW5nU2No
ZW1lSGFuZGxlciBhbGxvY10gaW5pdFdpdGhEYXRhOltOU0RhdGEgZGF0YVdpdGhCeXRlc05vQ29w
eToodm9pZCopbWFpbkJ5dGVzIGxlbmd0aDpzaXplb2YobWFpbkJ5dGVzKV0gbWltZVR5cGU6QCJ0
ZXh0L2h0bWwiXSk7CisgICAgUmV0YWluUHRyPEljb25Mb2FkaW5nU2NoZW1lSGFuZGxlcj4gaGFu
ZGxlciA9IGFkb3B0TlMoW1tJY29uTG9hZGluZ1NjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRXaXRo
RGF0YTpbTlNEYXRhIGRhdGFXaXRoQnl0ZXNOb0NvcHk6KHZvaWQqKW1haW5CeXRlcyBsZW5ndGg6
c2l6ZW9mKG1haW5CeXRlcyldXSk7CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFu
ZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAInRlc3RpbmciXTsKIAogICAgIFJldGFp
blB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbi5nZXQoKV0pOwpAQCAtMTMwLDQgKzE1Niw0NCBAQCBURVNUKEljb25Mb2FkaW5nLCBE
ZWZhdWx0RmF2aWNvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVXaXRoSWNv
bnMpOwogfQogCitzdGF0aWMgY29uc3QgY2hhciBtYWluQnl0ZXMyW10gPQorIk9oLCBoZWxsbyB0
aGVyZSEiOworCitURVNUKEljb25Mb2FkaW5nLCBBbHJlYWR5Q2FjaGVkSWNvbikKK3sKKyAgICBS
ZXRhaW5QdHI8V0tXZWJWaWV3Q29uZmlndXJhdGlvbj4gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMo
W1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisKKyAgICBOU0RhdGEgKm1h
aW5EYXRhID0gW05TRGF0YSBkYXRhV2l0aEJ5dGVzTm9Db3B5Oih2b2lkKiltYWluQnl0ZXMyIGxl
bmd0aDpzaXplb2YobWFpbkJ5dGVzMildOworICAgIFJldGFpblB0cjxJY29uTG9hZGluZ1NjaGVt
ZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbSWNvbkxvYWRpbmdTY2hlbWVIYW5kbGVyIGFs
bG9jXSBpbml0V2l0aERhdGE6bWFpbkRhdGFdKTsKKworICAgIE5TVVJMICp1cmwgPSBbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAibGFyZ2UtcmVkLXNxdWFyZS1pbWFnZSIg
d2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3Vy
Y2VzIl07CisgICAgUmV0YWluUHRyPE5TRGF0YSAqPiBpY29uRGF0YUZyb21EaXNrID0gW05TRGF0
YSBkYXRhV2l0aENvbnRlbnRzT2ZVUkw6dXJsXTsKKyAgICBbaGFuZGxlci5nZXQoKSBzZXRGYXZp
Y29uRGF0YTppY29uRGF0YUZyb21EaXNrLmdldCgpXTsKKworICAgIFtjb25maWd1cmF0aW9uIHNl
dFVSTFNjaGVtZUhhbmRsZXI6aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ0ZXN0aW5nIl07
CisKKyAgICBSZXRhaW5QdHI8V0tXZWJWaWV3PiB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1
cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBSZXRhaW5QdHI8SWNvbkxvYWRpbmdE
ZWxlZ2F0ZT4gaWNvbkRlbGVnYXRlID0gYWRvcHROUyhbW0ljb25Mb2FkaW5nRGVsZWdhdGUgYWxs
b2NdIGluaXRdKTsKKworICAgIHdlYlZpZXcuZ2V0KCkuX2ljb25Mb2FkaW5nRGVsZWdhdGUgPSBp
Y29uRGVsZWdhdGUuZ2V0KCk7CisKKyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxS
ZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVzdGluZzovLy9t
YWluIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEZhdmljb25EYXRhQ2FsbGJhY2spOworCisgICAg
RVhQRUNUX1RSVUUoW2ljb25EYXRhRnJvbURpc2suZ2V0KCkgaXNFcXVhbDpyZWNlaXZlZEZhdmlj
b25EYXRhLmdldCgpXSk7CisKKyAgICByZWNlaXZlZEZhdmljb25EYXRhQ2FsbGJhY2sgPSBmYWxz
ZTsKKyAgICByZWNlaXZlZEZhdmljb25EYXRhID0gbmlsOworCisgICAgLy8gTG9hZCBhbm90aGVy
IG1haW4gcmVzb3VyY2UgdGhhdCByZXN1bHRzIGluIHRoZSBzYW1lIGljb24gYmVpbmcgbG9hZGVk
ICh3aGljaCBzaG91bGQgY29tZSBmcm9tIHRoZSBtZW1vcnkgY2FjaGUpLgorICAgIHJlcXVlc3Qg
PSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVz
dGluZzovLy9tYWluMiJdXTsKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKwor
ICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRGYXZpY29uRGF0YUNhbGxiYWNr
KTsKKworICAgIEVYUEVDVF9UUlVFKFtpY29uRGF0YUZyb21EaXNrLmdldCgpIGlzRXF1YWw6cmVj
ZWl2ZWRGYXZpY29uRGF0YS5nZXQoKV0pOworfQorCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313115</attachid>
            <date>2017-06-16 12:55:21 -0700</date>
            <delta_ts>2017-06-16 13:34:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173478-20170616125520.patch</filename>
            <type>text/plain</type>
            <size>8243</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4MzU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM1ZDdmODVhZDU3YzY3
YTlkOGRmZDI5ZjIzY2I4MmY5Yjc0MTU2My4uMTE1ZjQxNTkxYjhmMTEyNGI0NmYwYTUzY2QwZDlj
ODYwYzgzZDBlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTA2LTE2ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjE4
MDE1KSBJY29uTG9hZGVycyBmb3IgYWxyZWFkeS1jYWNoZWQgcmVzb3VyY2VzIGV4cGVjdCB0byBi
ZSBhc3luY2hyb25vdXMsIG5vIGxvbmdlciBhcmUuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MjgxNzUxOT4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM0
NzgKKworICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBBUEkgdGVzdC4KKworICAgICAgICBCZWluZyBzeW5jaHJvbm91cyBpcyBhY3R1YWxseSBi
ZXR0ZXIgYXMgaXQncyByZXNvbHZlZCBhbm90aGVyIGlzc3VlIG9yIHR3by4KKyAgICAgICAgQnV0
IG9ubHkgaWYgd2UgY2FuIGFjdHVhbGx5IGRlbGl2ZXIgdGhlIGRhdGEgd2l0aG91dCBjcmFzaGlu
ZyBmaXJzdC4KKyAgICAgICAgU28gbGV0J3MgZG8gdGhhdC4KKyAgICAgICAgCisgICAgICAgICog
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjpkaWRHZXRMb2FkRGVjaXNpb25Gb3JJY29uKTogUHV0IHRoZSBJY29uTG9hZGVyIGluIHRo
ZSBzZXQgb2YgYWN0aXZlIGljb24gbG9hZGVycworICAgICAgICAgIGJlZm9yZSBhY3R1YWxseSBz
dGFydGluZyB0aGUgaWNvbiBsb2FkaW5nLgorCiAyMDE3LTA2LTE1ICBKb25hdGhhbiBCZWRhcmQg
IDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeCBhZnRl
ciByMjE4MzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA5
MmQ4ZWVhY2FhMDQ5MWU2NGI1ZDk2ZWYwMWVmNTQzMWU3YWQ1OTE3Li45YmFiY2VmMzBkN2JmZTcz
NGQyZGEwZDk5ZDc3NGE5MDQyYzJhMjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKQEAgLTE2ODEsOCArMTY4MSwxMCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpk
aWRHZXRMb2FkRGVjaXNpb25Gb3JJY29uKGJvb2wgZGVjaXNpb24sIHVpbnQ2NF90IGxvYWRJZGVu
dAogICAgICAgICByZXR1cm47CiAKICAgICBhdXRvIGljb25Mb2FkZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPEljb25Mb2FkZXI+KCp0aGlzLCBpY29uLnVybCk7Ci0gICAgaWNvbkxvYWRlci0+c3RhcnRM
b2FkaW5nKCk7CisgICAgYXV0byogcmF3SWNvbkxvYWRlciA9IGljb25Mb2FkZXIuZ2V0KCk7CiAg
ICAgbV9pY29uTG9hZGVycy5zZXQoV1RGTW92ZShpY29uTG9hZGVyKSwgbmV3Q2FsbGJhY2tJRCk7
CisKKyAgICByYXdJY29uTG9hZGVyLT5zdGFydExvYWRpbmcoKTsKIH0KIAogdm9pZCBEb2N1bWVu
dExvYWRlcjo6ZmluaXNoZWRMb2FkaW5nSWNvbihJY29uTG9hZGVyJiBsb2FkZXIsIFNoYXJlZEJ1
ZmZlciogYnVmZmVyKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGU4NGQzMjM2OTM3Njk1MzFkMTdjMTIyMmY2YWNhYzkxNWJhN2QyZGIuLmYxYWIy
MDhmNmUwYmM2YTUzNjI5YmVlMThkMDY1NjJiY2NmNjM4ZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNi0x
NiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TiAocjIxODAxNSkgSWNvbkxvYWRlcnMgZm9yIGFscmVhZHktY2FjaGVkIHJlc291cmNlcyBleHBl
Y3QgdG8gYmUgYXN5bmNocm9ub3VzLCBubyBsb25nZXIgYXJlLgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzI4MTc1MTk+IGFuZCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTczNDc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAg
ICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvSWNvbkxvYWRpbmdEZWxlZ2F0ZS5t
bToKKwogMjAxNy0wNi0xNSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMTgzNDQpOiBbV1BFXSBUaG91c2FuZHMg
b2YgbGF5b3V0IHRlc3QgY3Jhc2hlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvSWNvbkxvYWRpbmdEZWxlZ2F0ZS5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0ljb25Mb2FkaW5nRGVsZWdhdGUubW0KaW5kZXggN2Y0
OTZlYWYzNzZlZWVmNTVhNzgwZjcxZTgwYzI2YTE2Zjk5ZDE5My4uOGJmYWRlMTgwMjgyOGY1M2Nm
NDBlOTgzMWVmNmNiODM4MTI1NWJiYyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyQ29jb2EvSWNvbkxvYWRpbmdEZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9JY29uTG9hZGluZ0RlbGVnYXRlLm1tCkBAIC0z
OSw2ICszOSw5IEBACiAjaWYgV0tfQVBJX0VOQUJMRUQKIAogc3RhdGljIGJvb2wgZG9uZVdpdGhJ
Y29uczsKK3N0YXRpYyBib29sIHJlY2VpdmVkRmF2aWNvbkRhdGFDYWxsYmFjazsKK3N0YXRpYyBi
b29sIGFscmVhZHlQcm92aWRlZEljb25EYXRhOworc3RhdGljIFJldGFpblB0cjxOU0RhdGE+IHJl
Y2VpdmVkRmF2aWNvbkRhdGE7CiAKIEBpbnRlcmZhY2UgSWNvbkxvYWRpbmdEZWxlZ2F0ZSA6IE5T
T2JqZWN0IDxfV0tJY29uTG9hZGluZ0RlbGVnYXRlPgogQGVuZApAQCAtNjYsMzcgKzY5LDYwIEBA
IC0gKHZvaWQpd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBzaG91bGRMb2FkSWNvbldpdGhQ
YXJhbWV0ZXJzOihfV0tMaW5rSWNvblBhCiAgICAgaWYgKGZhdmljb24gJiYgdG91Y2ggJiYgdG91
Y2hQcmVjb21wb3NlZCkKICAgICAgICAgZG9uZVdpdGhJY29ucyA9IHRydWU7CiAKLSAgICBjb21w
bGV0aW9uSGFuZGxlcihuaWwpOworICAgIGlmIChwYXJhbWV0ZXJzLmljb25UeXBlID09IFdLTGlu
a0ljb25UeXBlRmF2aWNvbikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihbXShOU0RhdGEg
Kmljb25EYXRhKSB7CisgICAgICAgICAgICByZWNlaXZlZEZhdmljb25EYXRhID0gaWNvbkRhdGE7
CisgICAgICAgICAgICByZWNlaXZlZEZhdmljb25EYXRhQ2FsbGJhY2sgPSB0cnVlOworICAgICAg
ICB9KTsKKyAgICB9IGVsc2UKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobmlsKTsKIH0KIAog
QGVuZAogCiBAaW50ZXJmYWNlIEljb25Mb2FkaW5nU2NoZW1lSGFuZGxlciA6IE5TT2JqZWN0IDxX
S1VSTFNjaGVtZUhhbmRsZXI+Ci0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0RhdGEg
KilkYXRhIG1pbWVUeXBlOihOU1N0cmluZyAqKWluTUlNRVR5cGU7CistIChpbnN0YW5jZXR5cGUp
aW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRhOworLSAodm9pZClzZXRGYXZpY29uRGF0YTooTlNE
YXRhICopZGF0YTsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIEljb25Mb2FkaW5nU2NoZW1lSGFu
ZGxlciB7Ci0gICAgUmV0YWluUHRyPE5TRGF0YT4gcmVzb3VyY2VEYXRhOwotICAgIFJldGFpblB0
cjxOU1N0cmluZz4gbWltZVR5cGU7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gbWFpblJlc291cmNl
RGF0YTsKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBmYXZpY29uRGF0YTsKIH0KIAotLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoRGF0YTooTlNEYXRhICopZGF0YSBtaW1lVHlwZTooTlNTdHJpbmcgKilp
bk1JTUVUeXBlCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRhCiB7
CiAgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKICAgICBpZiAoIXNlbGYpCiAgICAgICAgIHJldHVy
biBuaWw7CiAKLSAgICByZXNvdXJjZURhdGEgPSBkYXRhOwotICAgIG1pbWVUeXBlID0gaW5NSU1F
VHlwZTsKKyAgICBtYWluUmVzb3VyY2VEYXRhID0gZGF0YTsKIAogICAgIHJldHVybiBzZWxmOwog
fQogCistICh2b2lkKXNldEZhdmljb25EYXRhOihOU0RhdGEgKilkYXRhCit7CisgICAgZmF2aWNv
bkRhdGEgPSBkYXRhOworfQorCiAtICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcg
c3RhcnRVUkxTY2hlbWVUYXNrOihpZCA8V0tVUkxTY2hlbWVUYXNrPil0YXNrCiB7Ci0gICAgUmV0
YWluUHRyPE5TVVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gYWRvcHROUyhbW05TVVJMUmVzcG9uc2Ug
YWxsb2NdIGluaXRXaXRoVVJMOnRhc2sucmVxdWVzdC5VUkwgTUlNRVR5cGU6bWltZVR5cGUuZ2V0
KCkgZXhwZWN0ZWRDb250ZW50TGVuZ3RoOjEgdGV4dEVuY29kaW5nTmFtZTpuaWxdKTsKKyAgICBS
ZXRhaW5QdHI8TlNVUkxSZXNwb25zZT4gcmVzcG9uc2U7CisgICAgTlNEYXRhICpkYXRhID0gbmls
OworCisgICAgaWYgKFtbdGFzay5yZXF1ZXN0LlVSTCBhYnNvbHV0ZVN0cmluZ10gaXNFcXVhbDpA
InRlc3Rpbmc6Ly8vZmF2aWNvbi5pY28iXSkgeworICAgICAgICBFWFBFQ1RfRkFMU0UoYWxyZWFk
eVByb3ZpZGVkSWNvbkRhdGEpOworICAgICAgICByZXNwb25zZSA9IGFkb3B0TlMoW1tOU1VSTFJl
c3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1JTUVUeXBlOkAiaW1h
Z2UvcG5nIiBleHBlY3RlZENvbnRlbnRMZW5ndGg6MSB0ZXh0RW5jb2RpbmdOYW1lOm5pbF0pOwor
ICAgICAgICBkYXRhID0gZmF2aWNvbkRhdGEuZ2V0KCk7CisgICAgICAgIGFscmVhZHlQcm92aWRl
ZEljb25EYXRhID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXNwb25zZSA9IGFkb3B0
TlMoW1tOU1VSTFJlc3BvbnNlIGFsbG9jXSBpbml0V2l0aFVSTDp0YXNrLnJlcXVlc3QuVVJMIE1J
TUVUeXBlOkAidGV4dC9odG1sIiBleHBlY3RlZENvbnRlbnRMZW5ndGg6MSB0ZXh0RW5jb2RpbmdO
YW1lOm5pbF0pOworICAgICAgICBkYXRhID0gbWFpblJlc291cmNlRGF0YS5nZXQoKTsKKyAgICB9
CisKICAgICBbdGFzayBkaWRSZWNlaXZlUmVzcG9uc2U6cmVzcG9uc2UuZ2V0KCldOwotICAgIFt0
YXNrIGRpZFJlY2VpdmVEYXRhOnJlc291cmNlRGF0YS5nZXQoKV07CisgICAgW3Rhc2sgZGlkUmVj
ZWl2ZURhdGE6ZGF0YV07CiAgICAgW3Rhc2sgZGlkRmluaXNoXTsKIH0KIApAQCAtMTE2LDcgKzE0
Miw3IEBAIFRFU1QoSWNvbkxvYWRpbmcsIERlZmF1bHRGYXZpY29uKQogewogICAgIFJldGFpblB0
cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKIAotICAgIFJldGFpblB0cjxJY29uTG9h
ZGluZ1NjaGVtZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbSWNvbkxvYWRpbmdTY2hlbWVI
YW5kbGVyIGFsbG9jXSBpbml0V2l0aERhdGE6W05TRGF0YSBkYXRhV2l0aEJ5dGVzTm9Db3B5Oih2
b2lkKiltYWluQnl0ZXMgbGVuZ3RoOnNpemVvZihtYWluQnl0ZXMpXSBtaW1lVHlwZTpAInRleHQv
aHRtbCJdKTsKKyAgICBSZXRhaW5QdHI8SWNvbkxvYWRpbmdTY2hlbWVIYW5kbGVyPiBoYW5kbGVy
ID0gYWRvcHROUyhbW0ljb25Mb2FkaW5nU2NoZW1lSGFuZGxlciBhbGxvY10gaW5pdFdpdGhEYXRh
OltOU0RhdGEgZGF0YVdpdGhCeXRlc05vQ29weToodm9pZCopbWFpbkJ5dGVzIGxlbmd0aDpzaXpl
b2YobWFpbkJ5dGVzKV1dKTsKICAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAidGVzdGluZyJdOwogCiAgICAgUmV0YWluUHRy
PFdLV2ViVmlldz4gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRo
RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0
aW9uLmdldCgpXSk7CkBAIC0xMzAsNCArMTU2LDQ0IEBAIFRFU1QoSWNvbkxvYWRpbmcsIERlZmF1
bHRGYXZpY29uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZVdpdGhJY29ucyk7
CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIG1haW5CeXRlczJbXSA9CisiT2gsIGhlbGxvIHRoZXJl
ISI7CisKK1RFU1QoSWNvbkxvYWRpbmcsIEFscmVhZHlDYWNoZWRJY29uKQoreworICAgIFJldGFp
blB0cjxXS1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKworICAgIE5TRGF0YSAqbWFpbkRh
dGEgPSBbTlNEYXRhIGRhdGFXaXRoQnl0ZXNOb0NvcHk6KHZvaWQqKW1haW5CeXRlczIgbGVuZ3Ro
OnNpemVvZihtYWluQnl0ZXMyKV07CisgICAgUmV0YWluUHRyPEljb25Mb2FkaW5nU2NoZW1lSGFu
ZGxlcj4gaGFuZGxlciA9IGFkb3B0TlMoW1tJY29uTG9hZGluZ1NjaGVtZUhhbmRsZXIgYWxsb2Nd
IGluaXRXaXRoRGF0YTptYWluRGF0YV0pOworCisgICAgTlNVUkwgKnVybCA9IFtbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJsYXJnZS1yZWQtc3F1YXJlLWltYWdlIiB3aXRo
RXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XTsKKyAgICBSZXRhaW5QdHI8TlNEYXRhICo+IGljb25EYXRhRnJvbURpc2sgPSBbTlNEYXRhIGRh
dGFXaXRoQ29udGVudHNPZlVSTDp1cmxdOworICAgIFtoYW5kbGVyLmdldCgpIHNldEZhdmljb25E
YXRhOmljb25EYXRhRnJvbURpc2suZ2V0KCldOworCisgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJM
U2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAInRlc3RpbmciXTsKKwor
ICAgIFJldGFpblB0cjxXS1dlYlZpZXc+IHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFs
bG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRp
b246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIFJldGFpblB0cjxJY29uTG9hZGluZ0RlbGVn
YXRlPiBpY29uRGVsZWdhdGUgPSBhZG9wdE5TKFtbSWNvbkxvYWRpbmdEZWxlZ2F0ZSBhbGxvY10g
aW5pdF0pOworCisgICAgd2ViVmlldy5nZXQoKS5faWNvbkxvYWRpbmdEZWxlZ2F0ZSA9IGljb25E
ZWxlZ2F0ZS5nZXQoKTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJ0ZXN0aW5nOi8vL21haW4i
XV07CisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisKKyAgICBUZXN0V2ViS2l0
QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkRmF2aWNvbkRhdGFDYWxsYmFjayk7CisKKyAgICBFWFBF
Q1RfVFJVRShbaWNvbkRhdGFGcm9tRGlzay5nZXQoKSBpc0VxdWFsOnJlY2VpdmVkRmF2aWNvbkRh
dGEuZ2V0KCldKTsKKworICAgIHJlY2VpdmVkRmF2aWNvbkRhdGFDYWxsYmFjayA9IGZhbHNlOwor
ICAgIHJlY2VpdmVkRmF2aWNvbkRhdGEgPSBuaWw7CisKKyAgICAvLyBMb2FkIGFub3RoZXIgbWFp
biByZXNvdXJjZSB0aGF0IHJlc3VsdHMgaW4gdGhlIHNhbWUgaWNvbiBiZWluZyBsb2FkZWQgKHdo
aWNoIHNob3VsZCBjb21lIGZyb20gdGhlIG1lbW9yeSBjYWNoZSkuCisgICAgcmVxdWVzdCA9IFtO
U1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJ0ZXN0aW5n
Oi8vL21haW4yIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWNlaXZlZEZhdmljb25EYXRhQ2FsbGJhY2spOwor
CisgICAgRVhQRUNUX1RSVUUoW2ljb25EYXRhRnJvbURpc2suZ2V0KCkgaXNFcXVhbDpyZWNlaXZl
ZEZhdmljb25EYXRhLmdldCgpXSk7Cit9CisKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>