<?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>170616</bug_id>
          
          <creation_ts>2017-04-07 14:19:24 -0700</creation_ts>
          <short_desc>Use audit_token_t instead of pid_t for checking sandbox of other processes</short_desc>
          <delta_ts>2017-04-07 17:25:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1295477</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 14:19:24 -0700</bug_when>
    <thetext>Use audit_token_t instead of pid_t for checking sandbox of other processes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295479</commentid>
    <comment_count>1</comment_count>
      <attachid>306534</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 14:25:03 -0700</bug_when>
    <thetext>Created attachment 306534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295502</commentid>
    <comment_count>2</comment_count>
      <attachid>306534</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-07 15:05:51 -0700</bug_when>
    <thetext>Comment on attachment 306534
Patch

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

&gt; Source/WTF/wtf/spi/darwin/SandboxSPI.h:47
&gt; +int sandbox_check_by_audit_token(audit_token_t, const char *operation, enum sandbox_filter_type, ...);

For some reason I seem to recall that this SPI was not available on some version of macOS that we cared to support at least six months ago. Is this SPI available on all the versions of macOS that we care to support?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295509</commentid>
    <comment_count>3</comment_count>
      <attachid>306534</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 15:39:30 -0700</bug_when>
    <thetext>Comment on attachment 306534
Patch

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

&gt;&gt; Source/WTF/wtf/spi/darwin/SandboxSPI.h:47
&gt;&gt; +int sandbox_check_by_audit_token(audit_token_t, const char *operation, enum sandbox_filter_type, ...);
&gt; 
&gt; For some reason I seem to recall that this SPI was not available on some version of macOS that we cared to support at least six months ago. Is this SPI available on all the versions of macOS that we care to support?

I find its existence all the way back to Yosemite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295512</commentid>
    <comment_count>4</comment_count>
      <attachid>306542</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 15:42:27 -0700</bug_when>
    <thetext>Created attachment 306542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295513</commentid>
    <comment_count>5</comment_count>
      <attachid>306543</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 15:44:04 -0700</bug_when>
    <thetext>Created attachment 306543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295516</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-07 15:54:15 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 306534 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306534&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WTF/wtf/spi/darwin/SandboxSPI.h:47
&gt; &gt;&gt; +int sandbox_check_by_audit_token(audit_token_t, const char *operation, enum sandbox_filter_type, ...);
&gt; &gt; 
&gt; &gt; For some reason I seem to recall that this SPI was not available on some version of macOS that we cared to support at least six months ago. Is this SPI available on all the versions of macOS that we care to support?
&gt; 
&gt; I find its existence all the way back to Yosemite.

Cool. We do not support Yosemite anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295522</commentid>
    <comment_count>7</comment_count>
      <attachid>306543</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-07 15:59:33 -0700</bug_when>
    <thetext>Comment on attachment 306543
Patch

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

&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:625
&gt; +        RELEASE_ASSERT(currentProcessIsSandboxed());

We will never hit this assertion. Should we still ensure our parent process is sandboxed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295523</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-07 16:01:14 -0700</bug_when>
    <thetext>(In reply to Daniel Bates from comment #7)
&gt; Comment on attachment 306543 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=306543&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:625
&gt; &gt; +        RELEASE_ASSERT(currentProcessIsSandboxed());
&gt; 
&gt; We will never hit this assertion.

I mean, this assertion is always guaranteed to be satisfied because we only execute it when currentProcessIsSandboxed() evaluates to true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295526</commentid>
    <comment_count>9</comment_count>
      <attachid>306543</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 16:03:21 -0700</bug_when>
    <thetext>Comment on attachment 306543
Patch

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

&gt;&gt;&gt; Source/WebKit2/PluginProcess/mac/PluginProcessMac.mm:625
&gt;&gt;&gt; +        RELEASE_ASSERT(currentProcessIsSandboxed());
&gt;&gt; 
&gt;&gt; We will never hit this assertion. Should we still ensure our parent process is sandboxed?
&gt; 
&gt; I mean, this assertion is always guaranteed to be satisfied because we only execute it when currentProcessIsSandboxed() evaluates to true.

oh, the assertion used to be asserting that the parent process was sandboxed with getppid, not the current process with getpid.  Gotta be careful!  I&apos;ll fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295530</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 16:14:42 -0700</bug_when>
    <thetext>There&apos;s no connection in this case.  I&apos;m going to just remove the assertion since there&apos;s no good way to assert about the parent process without a connection and without using a possibly-reused pid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295532</commentid>
    <comment_count>11</comment_count>
      <attachid>306547</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-04-07 16:17:30 -0700</bug_when>
    <thetext>Created attachment 306547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295533</commentid>
    <comment_count>12</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2017-04-07 16:23:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/31158189&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295580</commentid>
    <comment_count>13</comment_count>
      <attachid>306547</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-07 17:25:01 -0700</bug_when>
    <thetext>Comment on attachment 306547
Patch

Clearing flags on attachment: 306547

Committed r215132: &lt;http://trac.webkit.org/changeset/215132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1295581</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-04-07 17:25:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306534</attachid>
            <date>2017-04-07 14:25:03 -0700</date>
            <delta_ts>2017-04-07 15:42:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170616-20170407142501.patch</filename>
            <type>text/plain</type>
            <size>9407</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGF1ZGl0X3Rva2VuX3QgaW5z
dGVhZCBvZiBwaWRfdCBmb3IgY2hlY2tpbmcgc2FuZGJveCBvZiBvdGhlciBwcm9jZXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDYxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzExNTgxODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg6Cisg
ICAgICAgIERlY2xhcmUgbW9yZSBTUEkuCisKIDIwMTctMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gU3VwcHJlc3Mgd2FybmluZ3Mg
aW4gR0NDCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAkocmV2aXNp
b24gMjE0OTQ0KQorKysgU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBTYW5kYm94U1BJX2gKLSNkZWZpbmUgU2FuZGJveFNQSV9oCisjcHJhZ21hIG9uY2UKIAog
I2lmIE9TKERBUldJTikKIApAQCAtNDUsMTEgKzQ0LDEwIEBAIFdURl9FWFRFUk5fQ19CRUdJTgog
CiBleHRlcm4gY29uc3QgZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlIFNBTkRCT1hfQ0hFQ0tfTk9f
UkVQT1JUOwogaW50IHNhbmRib3hfY2hlY2socGlkX3QsIGNvbnN0IGNoYXIgKm9wZXJhdGlvbiwg
ZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlLCAuLi4pOworaW50IHNhbmRib3hfY2hlY2tfYnlfYXVk
aXRfdG9rZW4oYXVkaXRfdG9rZW5fdCwgY29uc3QgY2hhciAqb3BlcmF0aW9uLCBlbnVtIHNhbmRi
b3hfZmlsdGVyX3R5cGUsIC4uLik7CiBpbnQgc2FuZGJveF9jb250YWluZXJfcGF0aF9mb3JfcGlk
KHBpZF90LCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZzaXplKTsKIGludCBzYW5kYm94X2luaXRf
d2l0aF9wYXJhbWV0ZXJzKGNvbnN0IGNoYXIgKnByb2ZpbGUsIHVpbnQ2NF90IGZsYWdzLCBjb25z
dCBjaGFyICpjb25zdCBwYXJhbWV0ZXJzW10sIGNoYXIgKiplcnJvcmJ1Zik7CiAKIFdURl9FWFRF
Uk5fQ19FTkQKIAogI2VuZGlmIC8vIE9TKERBUldJTikKLQotI2VuZGlmIC8vIFNhbmRib3hTUElf
aApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1MTE2KQorKysgU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTctMDQtMDcgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgYXVk
aXRfdG9rZW5fdCBpbnN0ZWFkIG9mIHBpZF90IGZvciBjaGVja2luZyBzYW5kYm94IG9mIG90aGVy
IHByb2Nlc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTE1ODE4OT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwaWQncyBjYW4gYmUgcmV1c2Vk
LCBzbyBpdCdzIHRoZW9yZXRpY2FsbHkgdW5zYWZlIHRvIHVzZSB0aGUgcGlkIG9mIGFub3RoZXIg
cHJvY2VzcyB0byBjaGVjayB3aGV0aGVyIGl0J3Mgc2FuZGJveGVkLgorICAgICAgICBVc2UgYW4g
YXVkaXRfdG9rZW5fdCBpbnN0ZWFkIHRvIGJlIG1vcmUgc3VyZSB0aGF0IHdlIGFyZSBub3QgbWlz
dGFrZW5seSBjaGVja2luZyBhIG5ldyBwcm9jZXNzIHRoYXQgaGFzIHJldXNlZCB0aGUKKyAgICAg
ICAgb2xkIHByb2Nlc3MncyBwaWQuIEZvciB0aGUgY3VycmVudCBwcm9jZXNzLCB0aG91Z2gsIHdl
IGhhdmUgbm8geHBjX2Nvbm5lY3Rpb25fdCB0byB0aGUgcHJvY2VzcyBiZWNhdXNlIHdlIGFyZSB0
aGUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94
KToKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9Y
UENTZXJ2aWNlRW50cnlQb2ludC5tbToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUluaXRp
YWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKToKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1NhbmRib3hVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRp
ZXMubW06CisgICAgICAgIChXZWJLaXQ6OmN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAg
ICAgICAoV2ViS2l0Ojpjb25uZWN0ZWRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAgICAgICAoV2Vi
S2l0Ojpwcm9jZXNzSXNTYW5kYm94ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1Bs
dWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
SW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5z
L21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblBy
b2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKToKKwogMjAxNy0wNC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGNv
bnZlcnNpb24gZnJvbSB3aW5kb3cgdG8gY29udGVudCBjb29yZGluYXRlcyB3aGVuIGFkanVzdGlu
ZyB1bm9ic2N1cmVkIGNvbnRlbnQgcmVjdHMgZm9yIGlucHV0IHZpZXcKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQko
cmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1
Z2luUHJvY2Vzc01hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjIwLDEzICs2MjAsMTMgQEAgdm9p
ZCBQbHVnaW5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjbwogewogICAgIC8vIFBsdWdpblBy
b2Nlc3MgbWF5IGFscmVhZHkgYmUgc2FuZGJveGVkIGlmIGl0cyBwYXJlbnQgcHJvY2VzcyB3YXMg
c2FuZGJveGVkLCBhbmQgbGF1bmNoZWQgYSBjaGlsZCBwcm9jZXNzIGluc3RlYWQgb2YgYW4gWFBD
IHNlcnZpY2UuCiAgICAgLy8gVGhpcyBpcyBnZW5lcmFsbHkgbm90IGV4cGVjdGVkLCBob3dldmVy
IHdlIGN1cnJlbnRseSBhbHdheXMgc3Bhd24gYSBjaGlsZCBwcm9jZXNzIHRvIGNyZWF0ZSBhIE1J
TUUgdHlwZSBwcmVmZXJlbmNlcyBmaWxlLgotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0
cGlkKCkpKSB7CisgICAgaWYgKGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25u
ZWN0aW9uKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvY2Vzc0lzU2FuZGJveGVkKGdldHBw
aWQoKSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50UHJvY2Vzc0lzU2FuZGJveGVk
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBwYXJlbnRJc1NhbmRib3hl
ZCA9IHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIueHBjQ29ubmVjdGlvbiAmJiBwcm9j
ZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChwYXJhbWV0ZXJzLmNvbm5lY3Rp
b25JZGVudGlmaWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpKTsKKyAgICBib29sIHBhcmVudElzU2Fu
ZGJveGVkID0gcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25uZWN0aW9uICYm
IGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlm
aWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpOwogCiAgICAgaWYgKHBhcmFtZXRlcnMuZXh0cmFJbml0
aWFsaXphdGlvbkRhdGEuZ2V0KCJkaXNhYmxlLXNhbmRib3giKSA9PSAiMSIpIHsKICAgICAgICAg
aWYgKHBhcmVudElzU2FuZGJveGVkKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50
cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9t
YWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQkocmV2aXNpb24gMjE0OTQ0KQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZp
Y2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEs
NyBAQCBib29sIFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlOjpoYXNFCiAKIGJvb2wgWFBD
U2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKCkKIHsKLSAgICBy
ZXR1cm4gcHJvY2Vzc0lzU2FuZGJveGVkKHhwY19jb25uZWN0aW9uX2dldF9waWQobV9jb25uZWN0
aW9uLmdldCgpKSk7CisgICAgcmV0dXJuIGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChtX2Nv
bm5lY3Rpb24uZ2V0KCkpOwogfQogCiB2b2lkIFhQQ1NlcnZpY2VFeGl0KE9TT2JqZWN0UHRyPHhw
Y19vYmplY3RfdD4mJiBwcmlvcml0eUJvb3N0TWVzc2FnZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMjMsMTUgKzIzLDE1IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBTYW5kYm94VXRpbGl0aWVzX2gKLSNkZWZpbmUgU2FuZGJveFV0aWxp
dGllc19oCisjcHJhZ21hIG9uY2UKIAogI2ltcG9ydCA8c3lzL3R5cGVzLmg+CiAjaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9vbCBwcm9jZXNzSXNTYW5k
Ym94ZWQocGlkX3QpOworYm9vbCBjb25uZWN0ZWRQcm9jZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5l
Y3Rpb25fdCk7Citib29sIGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKTsKIGJvb2wgcHJvY2Vz
c0hhc0NvbnRhaW5lcigpOwogCiAvLyBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgcHJv
Y2VzcyBpcyBub3QgaW4gYSBjb250YWluZXIuCkBAIC00MCw1ICs0MCwzIEBAIFN0cmluZyBwYXRo
Rm9yUHJvY2Vzc0NvbnRhaW5lcigpOwogYm9vbCBwcm9jZXNzSGFzRW50aXRsZW1lbnQoTlNTdHJp
bmcgKmVudGl0bGVtZW50KTsKIAogfQotCi0jZW5kaWYgLy8gU2FuZGJveFV0aWxpdGllc19oCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCShy
ZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGls
aXRpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwLDEzICszMCwyMSBAQAogI2ltcG9ydCA8c3lz
L3BhcmFtLmg+CiAjaW1wb3J0IDx3dGYvc3BpL2NvY29hL1NlY3VyaXR5U1BJLmg+CiAjaW1wb3J0
IDx3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg+CisjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9Y
UENTUEkuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAotYm9vbCBwcm9jZXNzSXNTYW5kYm94ZWQocGlkX3QgcGlkKQorYm9vbCBjdXJyZW50
UHJvY2Vzc0lzU2FuZGJveGVkKCkKIHsKLSAgICByZXR1cm4gc2FuZGJveF9jaGVjayhwaWQsIG51
bGxwdHIsIFNBTkRCT1hfRklMVEVSX05PTkUpOworICAgIHJldHVybiBzYW5kYm94X2NoZWNrKGdl
dHBpZCgpLCBudWxscHRyLCBTQU5EQk9YX0ZJTFRFUl9OT05FKTsKK30KKworYm9vbCBjb25uZWN0
ZWRQcm9jZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uVG9QYXJlbnQp
Cit7CisgICAgYXVkaXRfdG9rZW5fdCB0b2tlbjsKKyAgICB4cGNfY29ubmVjdGlvbl9nZXRfYXVk
aXRfdG9rZW4oY29ubmVjdGlvblRvUGFyZW50LCAmdG9rZW4pOworICAgIHJldHVybiBzYW5kYm94
X2NoZWNrX2J5X2F1ZGl0X3Rva2VuKHRva2VuLCBudWxscHRyLCBTQU5EQk9YX0ZJTFRFUl9OT05F
KTsKIH0KIAogc3RhdGljIGJvb2wgcHJvY2Vzc0hhc0NvbnRhaW5lcihwaWRfdCBwaWQpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQ
cm94eUNvY29hLm1tCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCBSZWZQdHI8T2JqQ09iamVjdEdyYXBoPiBXZWJQcm9jZXNzUHJveHk6CiBib29s
IFdlYlByb2Nlc3NQcm94eTo6cGxhdGZvcm1Jc0JlaW5nRGVidWdnZWQoKSBjb25zdAogewogICAg
IC8vIElmIHRoZSBVSSBwcm9jZXNzIGlzIHNhbmRib3hlZCwgaXQgY2Fubm90IGZpbmQgb3V0IHdo
ZXRoZXIgb3RoZXIgcHJvY2Vzc2VzIGFyZSBiZWluZyBkZWJ1Z2dlZC4KLSAgICBpZiAocHJvY2Vz
c0lzU2FuZGJveGVkKGdldHBpZCgpKSkKKyAgICBpZiAoY3VycmVudFByb2Nlc3NJc1NhbmRib3hl
ZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBzdHJ1Y3Qga2luZm9fcHJvYyBpbmZv
OwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9T
dG9yZU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDAsNyArMTAwLDcgQEAgYm9vbCBQbHVnaW5JbmZvU3RvcmU6OnNob3Vs
ZFVzZVBsdWdpbihWZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaWYgKHBy
b2Nlc3NJc1NhbmRib3hlZChnZXRwaWQoKSkgJiYgIXBsdWdpbi5oYXNTYW5kYm94UHJvZmlsZSkg
eworICAgIGlmIChjdXJyZW50UHJvY2Vzc0lzU2FuZGJveGVkKCkgJiYgIXBsdWdpbi5oYXNTYW5k
Ym94UHJvZmlsZSkgewogICAgICAgICBMT0coUGx1Z2lucywgIklnbm9yaW5nIHVuc2FuZGJveGVk
IHBsdWctaW4gJXMiLCBwbHVnaW4uYnVuZGxlSWRlbnRpZmllci51dGY4KCkuZGF0YSgpKTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpblByb2Nlc3NQcm94eU1hYy5t
bQkocmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
bWFjL1BsdWdpblByb2Nlc3NQcm94eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTA1LDcgKzEw
NSw3IEBAIHZvaWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW4KICAgICBsYXVu
Y2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmFkZCgicGx1Z2luLXBhdGgiLCBwbHVn
aW5Qcm9jZXNzQXR0cmlidXRlcy5tb2R1bGVJbmZvLnBhdGgpOwogCiAgICAgaWYgKHBsdWdpblBy
b2Nlc3NBdHRyaWJ1dGVzLnNhbmRib3hQb2xpY3kgPT0gUGx1Z2luUHJvY2Vzc1NhbmRib3hQb2xp
Y3lVbnNhbmRib3hlZCkgewotICAgICAgICBpZiAoIXByb2Nlc3NJc1NhbmRib3hlZChnZXRwaWQo
KSkpCisgICAgICAgIGlmICghY3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCgpKQogICAgICAgICAg
ICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5hZGQoImRpc2FibGUtc2Fu
ZGJveCIsICIxIik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIFdURkxvZ0Fsd2F5cygiTWFp
biBwcm9jZXNzIGlzIHNhbmRib3hlZCwgaWdub3JpbmcgcGx1Zy1pbiBzYW5kYm94IHBvbGljeSIp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306542</attachid>
            <date>2017-04-07 15:42:27 -0700</date>
            <delta_ts>2017-04-07 15:44:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170616-20170407154224.patch</filename>
            <type>text/plain</type>
            <size>9483</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGF1ZGl0X3Rva2VuX3QgaW5z
dGVhZCBvZiBwaWRfdCBmb3IgY2hlY2tpbmcgc2FuZGJveCBvZiBvdGhlciBwcm9jZXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDYxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzExNTgxODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg6Cisg
ICAgICAgIERlY2xhcmUgbW9yZSBTUEkuCisKIDIwMTctMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gU3VwcHJlc3Mgd2FybmluZ3Mg
aW4gR0NDCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAkocmV2aXNp
b24gMjE0OTQ0KQorKysgU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBTYW5kYm94U1BJX2gKLSNkZWZpbmUgU2FuZGJveFNQSV9oCisjcHJhZ21hIG9uY2UKIAog
I2lmIE9TKERBUldJTikKIApAQCAtNDUsMTEgKzQ0LDEwIEBAIFdURl9FWFRFUk5fQ19CRUdJTgog
CiBleHRlcm4gY29uc3QgZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlIFNBTkRCT1hfQ0hFQ0tfTk9f
UkVQT1JUOwogaW50IHNhbmRib3hfY2hlY2socGlkX3QsIGNvbnN0IGNoYXIgKm9wZXJhdGlvbiwg
ZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlLCAuLi4pOworaW50IHNhbmRib3hfY2hlY2tfYnlfYXVk
aXRfdG9rZW4oYXVkaXRfdG9rZW5fdCwgY29uc3QgY2hhciAqb3BlcmF0aW9uLCBlbnVtIHNhbmRi
b3hfZmlsdGVyX3R5cGUsIC4uLik7CiBpbnQgc2FuZGJveF9jb250YWluZXJfcGF0aF9mb3JfcGlk
KHBpZF90LCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZzaXplKTsKIGludCBzYW5kYm94X2luaXRf
d2l0aF9wYXJhbWV0ZXJzKGNvbnN0IGNoYXIgKnByb2ZpbGUsIHVpbnQ2NF90IGZsYWdzLCBjb25z
dCBjaGFyICpjb25zdCBwYXJhbWV0ZXJzW10sIGNoYXIgKiplcnJvcmJ1Zik7CiAKIFdURl9FWFRF
Uk5fQ19FTkQKIAogI2VuZGlmIC8vIE9TKERBUldJTikKLQotI2VuZGlmIC8vIFNhbmRib3hTUElf
aApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1MTE2KQorKysgU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTctMDQtMDcgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgYXVk
aXRfdG9rZW5fdCBpbnN0ZWFkIG9mIHBpZF90IGZvciBjaGVja2luZyBzYW5kYm94IG9mIG90aGVy
IHByb2Nlc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTE1ODE4OT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwaWQncyBjYW4gYmUgcmV1c2Vk
LCBzbyBpdCdzIHRoZW9yZXRpY2FsbHkgdW5zYWZlIHRvIHVzZSB0aGUgcGlkIG9mIGFub3RoZXIg
cHJvY2VzcyB0byBjaGVjayB3aGV0aGVyIGl0J3Mgc2FuZGJveGVkLgorICAgICAgICBVc2UgYW4g
YXVkaXRfdG9rZW5fdCBpbnN0ZWFkIHRvIGJlIG1vcmUgc3VyZSB0aGF0IHdlIGFyZSBub3QgbWlz
dGFrZW5seSBjaGVja2luZyBhIG5ldyBwcm9jZXNzIHRoYXQgaGFzIHJldXNlZCB0aGUKKyAgICAg
ICAgb2xkIHByb2Nlc3MncyBwaWQuIEZvciB0aGUgY3VycmVudCBwcm9jZXNzLCB0aG91Z2gsIHdl
IGhhdmUgbm8geHBjX2Nvbm5lY3Rpb25fdCB0byB0aGUgcHJvY2VzcyBiZWNhdXNlIHdlIGFyZSB0
aGUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94
KToKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9Y
UENTZXJ2aWNlRW50cnlQb2ludC5tbToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUluaXRp
YWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKToKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1NhbmRib3hVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRp
ZXMubW06CisgICAgICAgIChXZWJLaXQ6OmN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAg
ICAgICAoV2ViS2l0Ojpjb25uZWN0ZWRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAgICAgICAoV2Vi
S2l0Ojpwcm9jZXNzSXNTYW5kYm94ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1Bs
dWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
SW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5z
L21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblBy
b2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKToKKwogMjAxNy0wNC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGNv
bnZlcnNpb24gZnJvbSB3aW5kb3cgdG8gY29udGVudCBjb29yZGluYXRlcyB3aGVuIGFkanVzdGlu
ZyB1bm9ic2N1cmVkIGNvbnRlbnQgcmVjdHMgZm9yIGlucHV0IHZpZXcKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQko
cmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1
Z2luUHJvY2Vzc01hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjIwLDEzICs2MjAsMTMgQEAgdm9p
ZCBQbHVnaW5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjbwogewogICAgIC8vIFBsdWdpblBy
b2Nlc3MgbWF5IGFscmVhZHkgYmUgc2FuZGJveGVkIGlmIGl0cyBwYXJlbnQgcHJvY2VzcyB3YXMg
c2FuZGJveGVkLCBhbmQgbGF1bmNoZWQgYSBjaGlsZCBwcm9jZXNzIGluc3RlYWQgb2YgYW4gWFBD
IHNlcnZpY2UuCiAgICAgLy8gVGhpcyBpcyBnZW5lcmFsbHkgbm90IGV4cGVjdGVkLCBob3dldmVy
IHdlIGN1cnJlbnRseSBhbHdheXMgc3Bhd24gYSBjaGlsZCBwcm9jZXNzIHRvIGNyZWF0ZSBhIE1J
TUUgdHlwZSBwcmVmZXJlbmNlcyBmaWxlLgotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0
cGlkKCkpKSB7CisgICAgaWYgKGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25u
ZWN0aW9uKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvY2Vzc0lzU2FuZGJveGVkKGdldHBw
aWQoKSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50UHJvY2Vzc0lzU2FuZGJveGVk
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBwYXJlbnRJc1NhbmRib3hl
ZCA9IHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIueHBjQ29ubmVjdGlvbiAmJiBwcm9j
ZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChwYXJhbWV0ZXJzLmNvbm5lY3Rp
b25JZGVudGlmaWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpKTsKKyAgICBib29sIHBhcmVudElzU2Fu
ZGJveGVkID0gcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25uZWN0aW9uICYm
IGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlm
aWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpOwogCiAgICAgaWYgKHBhcmFtZXRlcnMuZXh0cmFJbml0
aWFsaXphdGlvbkRhdGEuZ2V0KCJkaXNhYmxlLXNhbmRib3giKSA9PSAiMSIpIHsKICAgICAgICAg
aWYgKHBhcmVudElzU2FuZGJveGVkKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50
cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9t
YWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQkocmV2aXNpb24gMjE0OTQ0KQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZp
Y2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEs
NyBAQCBib29sIFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlOjpoYXNFCiAKIGJvb2wgWFBD
U2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKCkKIHsKLSAgICBy
ZXR1cm4gcHJvY2Vzc0lzU2FuZGJveGVkKHhwY19jb25uZWN0aW9uX2dldF9waWQobV9jb25uZWN0
aW9uLmdldCgpKSk7CisgICAgcmV0dXJuIGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChtX2Nv
bm5lY3Rpb24uZ2V0KCkpOwogfQogCiB2b2lkIFhQQ1NlcnZpY2VFeGl0KE9TT2JqZWN0UHRyPHhw
Y19vYmplY3RfdD4mJiBwcmlvcml0eUJvb3N0TWVzc2FnZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMjMsMTUgKzIzLDE5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBTYW5kYm94VXRpbGl0aWVzX2gKLSNkZWZpbmUgU2FuZGJveFV0aWxp
dGllc19oCisjcHJhZ21hIG9uY2UKIAogI2ltcG9ydCA8c3lzL3R5cGVzLmg+CiAjaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgogCisjaWYgIVVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8
d3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
LWJvb2wgcHJvY2Vzc0lzU2FuZGJveGVkKHBpZF90KTsKK2Jvb2wgY29ubmVjdGVkUHJvY2Vzc0lz
U2FuZGJveGVkKHhwY19jb25uZWN0aW9uX3QpOworYm9vbCBjdXJyZW50UHJvY2Vzc0lzU2FuZGJv
eGVkKCk7CiBib29sIHByb2Nlc3NIYXNDb250YWluZXIoKTsKIAogLy8gUmV0dXJucyBhbiBlbXB0
eSBzdHJpbmcgaWYgdGhlIHByb2Nlc3MgaXMgbm90IGluIGEgY29udGFpbmVyLgpAQCAtNDAsNSAr
NDQsMyBAQCBTdHJpbmcgcGF0aEZvclByb2Nlc3NDb250YWluZXIoKTsKIGJvb2wgcHJvY2Vzc0hh
c0VudGl0bGVtZW50KE5TU3RyaW5nICplbnRpdGxlbWVudCk7CiAKIH0KLQotI2VuZGlmIC8vIFNh
bmRib3hVdGlsaXRpZXNfaApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94
VXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2Fu
ZGJveFV0aWxpdGllcy5tbQkocmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMyArMzAs
MjEgQEAKICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2ltcG9ydCA8d3RmL3NwaS9jb2NvYS9TZWN1
cml0eVNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oPgorI2ltcG9y
dCA8d3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgcHJvY2Vzc0lzU2FuZGJveGVkKHBpZF90
IHBpZCkKK2Jvb2wgY3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCgpCiB7Ci0gICAgcmV0dXJuIHNh
bmRib3hfY2hlY2socGlkLCBudWxscHRyLCBTQU5EQk9YX0ZJTFRFUl9OT05FKTsKKyAgICByZXR1
cm4gc2FuZGJveF9jaGVjayhnZXRwaWQoKSwgbnVsbHB0ciwgU0FOREJPWF9GSUxURVJfTk9ORSk7
Cit9CisKK2Jvb2wgY29ubmVjdGVkUHJvY2Vzc0lzU2FuZGJveGVkKHhwY19jb25uZWN0aW9uX3Qg
Y29ubmVjdGlvblRvUGFyZW50KQoreworICAgIGF1ZGl0X3Rva2VuX3QgdG9rZW47CisgICAgeHBj
X2Nvbm5lY3Rpb25fZ2V0X2F1ZGl0X3Rva2VuKGNvbm5lY3Rpb25Ub1BhcmVudCwgJnRva2VuKTsK
KyAgICByZXR1cm4gc2FuZGJveF9jaGVja19ieV9hdWRpdF90b2tlbih0b2tlbiwgbnVsbHB0ciwg
U0FOREJPWF9GSUxURVJfTk9ORSk7CiB9CiAKIHN0YXRpYyBib29sIHByb2Nlc3NIYXNDb250YWlu
ZXIocGlkX3QgcGlkKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjE0OTQ0KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjUsNyArMTI1LDcgQEAgUmVmUHRyPE9iakNPYmplY3RHcmFwaD4gV2Vi
UHJvY2Vzc1Byb3h5OgogYm9vbCBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtSXNCZWluZ0RlYnVn
Z2VkKCkgY29uc3QKIHsKICAgICAvLyBJZiB0aGUgVUkgcHJvY2VzcyBpcyBzYW5kYm94ZWQsIGl0
IGNhbm5vdCBmaW5kIG91dCB3aGV0aGVyIG90aGVyIHByb2Nlc3NlcyBhcmUgYmVpbmcgZGVidWdn
ZWQuCi0gICAgaWYgKHByb2Nlc3NJc1NhbmRib3hlZChnZXRwaWQoKSkpCisgICAgaWYgKGN1cnJl
bnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgc3Ry
dWN0IGtpbmZvX3Byb2MgaW5mbzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQkocmV2aXNpb24g
MjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbklu
Zm9TdG9yZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAwLDcgKzEwMCw3IEBAIGJvb2wgUGx1
Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4oVmUKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0cGlkKCkpICYmICFwbHVnaW4u
aGFzU2FuZGJveFByb2ZpbGUpIHsKKyAgICBpZiAoY3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCgp
ICYmICFwbHVnaW4uaGFzU2FuZGJveFByb2ZpbGUpIHsKICAgICAgICAgTE9HKFBsdWdpbnMsICJJ
Z25vcmluZyB1bnNhbmRib3hlZCBwbHVnLWluICVzIiwgcGx1Z2luLmJ1bmRsZUlkZW50aWZpZXIu
dXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVn
aW5Qcm9jZXNzUHJveHlNYWMubW0JKHJldmlzaW9uIDIxNDk0NCkKKysrIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFBsdWdpblByb2Nlc3NQcm94eTo6cGxhdGZv
cm1HZXRMYXVuCiAgICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5hZGQo
InBsdWdpbi1wYXRoIiwgcGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMubW9kdWxlSW5mby5wYXRoKTsK
IAogICAgIGlmIChwbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5zYW5kYm94UG9saWN5ID09IFBsdWdp
blByb2Nlc3NTYW5kYm94UG9saWN5VW5zYW5kYm94ZWQpIHsKLSAgICAgICAgaWYgKCFwcm9jZXNz
SXNTYW5kYm94ZWQoZ2V0cGlkKCkpKQorICAgICAgICBpZiAoIWN1cnJlbnRQcm9jZXNzSXNTYW5k
Ym94ZWQoKSkKICAgICAgICAgICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFJbml0aWFsaXphdGlvbkRh
dGEuYWRkKCJkaXNhYmxlLXNhbmRib3giLCAiMSIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBXVEZMb2dBbHdheXMoIk1haW4gcHJvY2VzcyBpcyBzYW5kYm94ZWQsIGlnbm9yaW5nIHBsdWct
aW4gc2FuZGJveCBwb2xpY3kiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306543</attachid>
            <date>2017-04-07 15:44:04 -0700</date>
            <delta_ts>2017-04-07 16:17:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170616-20170407154401.patch</filename>
            <type>text/plain</type>
            <size>9442</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGF1ZGl0X3Rva2VuX3QgaW5z
dGVhZCBvZiBwaWRfdCBmb3IgY2hlY2tpbmcgc2FuZGJveCBvZiBvdGhlciBwcm9jZXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDYxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzExNTgxODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmg6Cisg
ICAgICAgIERlY2xhcmUgbW9yZSBTUEkuCisKIDIwMTctMDQtMDUgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gU3VwcHJlc3Mgd2FybmluZ3Mg
aW4gR0NDCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9zcGkvZGFyd2luL1NhbmRib3hTUEkuaAkocmV2aXNp
b24gMjE0OTQ0KQorKysgU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDggKzIzLDcgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
bmRlZiBTYW5kYm94U1BJX2gKLSNkZWZpbmUgU2FuZGJveFNQSV9oCisjcHJhZ21hIG9uY2UKIAog
I2lmIE9TKERBUldJTikKIApAQCAtNDUsMTEgKzQ0LDEwIEBAIFdURl9FWFRFUk5fQ19CRUdJTgog
CiBleHRlcm4gY29uc3QgZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlIFNBTkRCT1hfQ0hFQ0tfTk9f
UkVQT1JUOwogaW50IHNhbmRib3hfY2hlY2socGlkX3QsIGNvbnN0IGNoYXIgKm9wZXJhdGlvbiwg
ZW51bSBzYW5kYm94X2ZpbHRlcl90eXBlLCAuLi4pOworaW50IHNhbmRib3hfY2hlY2tfYnlfYXVk
aXRfdG9rZW4oYXVkaXRfdG9rZW5fdCwgY29uc3QgY2hhciAqb3BlcmF0aW9uLCBlbnVtIHNhbmRi
b3hfZmlsdGVyX3R5cGUsIC4uLik7CiBpbnQgc2FuZGJveF9jb250YWluZXJfcGF0aF9mb3JfcGlk
KHBpZF90LCBjaGFyICpidWZmZXIsIHNpemVfdCBidWZzaXplKTsKIGludCBzYW5kYm94X2luaXRf
d2l0aF9wYXJhbWV0ZXJzKGNvbnN0IGNoYXIgKnByb2ZpbGUsIHVpbnQ2NF90IGZsYWdzLCBjb25z
dCBjaGFyICpjb25zdCBwYXJhbWV0ZXJzW10sIGNoYXIgKiplcnJvcmJ1Zik7CiAKIFdURl9FWFRF
Uk5fQ19FTkQKIAogI2VuZGlmIC8vIE9TKERBUldJTikKLQotI2VuZGlmIC8vIFNhbmRib3hTUElf
aApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMjE1MTE2KQorKysgU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTctMDQtMDcgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgYXVk
aXRfdG9rZW5fdCBpbnN0ZWFkIG9mIHBpZF90IGZvciBjaGVja2luZyBzYW5kYm94IG9mIG90aGVy
IHByb2Nlc3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTcwNjE2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zMTE1ODE4OT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwaWQncyBjYW4gYmUgcmV1c2Vk
LCBzbyBpdCdzIHRoZW9yZXRpY2FsbHkgdW5zYWZlIHRvIHVzZSB0aGUgcGlkIG9mIGFub3RoZXIg
cHJvY2VzcyB0byBjaGVjayB3aGV0aGVyIGl0J3Mgc2FuZGJveGVkLgorICAgICAgICBVc2UgYW4g
YXVkaXRfdG9rZW5fdCBpbnN0ZWFkIHRvIGJlIG1vcmUgc3VyZSB0aGF0IHdlIGFyZSBub3QgbWlz
dGFrZW5seSBjaGVja2luZyBhIG5ldyBwcm9jZXNzIHRoYXQgaGFzIHJldXNlZCB0aGUKKyAgICAg
ICAgb2xkIHByb2Nlc3MncyBwaWQuIEZvciB0aGUgY3VycmVudCBwcm9jZXNzLCB0aG91Z2gsIHdl
IGhhdmUgbm8geHBjX2Nvbm5lY3Rpb25fdCB0byB0aGUgcHJvY2VzcyBiZWNhdXNlIHdlIGFyZSB0
aGUgcHJvY2Vzcy4KKworICAgICAgICAqIFBsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94
KToKKyAgICAgICAgKiBTaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9Y
UENTZXJ2aWNlRW50cnlQb2ludC5tbToKKyAgICAgICAgKFdlYktpdDo6WFBDU2VydmljZUluaXRp
YWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKToKKyAgICAgICAgKiBTaGFyZWQvbWFj
L1NhbmRib3hVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRp
ZXMubW06CisgICAgICAgIChXZWJLaXQ6OmN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAg
ICAgICAoV2ViS2l0Ojpjb25uZWN0ZWRQcm9jZXNzSXNTYW5kYm94ZWQpOgorICAgICAgICAoV2Vi
S2l0Ojpwcm9jZXNzSXNTYW5kYm94ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUlzQmVpbmdEZWJ1Z2dlZCk6CisgICAgICAgICogVUlQcm9jZXNzL1Bs
dWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
SW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5z
L21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBsdWdpblBy
b2Nlc3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuY2hPcHRpb25zKToKKwogMjAxNy0wNC0wNyAgV2Vu
c29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBNaXNzaW5nIGNv
bnZlcnNpb24gZnJvbSB3aW5kb3cgdG8gY29udGVudCBjb29yZGluYXRlcyB3aGVuIGFkanVzdGlu
ZyB1bm9ic2N1cmVkIGNvbnRlbnQgcmVjdHMgZm9yIGlucHV0IHZpZXcKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQko
cmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1
Z2luUHJvY2Vzc01hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjIwLDEzICs2MjAsMTMgQEAgdm9p
ZCBQbHVnaW5Qcm9jZXNzOjppbml0aWFsaXplU2FuZGJveChjbwogewogICAgIC8vIFBsdWdpblBy
b2Nlc3MgbWF5IGFscmVhZHkgYmUgc2FuZGJveGVkIGlmIGl0cyBwYXJlbnQgcHJvY2VzcyB3YXMg
c2FuZGJveGVkLCBhbmQgbGF1bmNoZWQgYSBjaGlsZCBwcm9jZXNzIGluc3RlYWQgb2YgYW4gWFBD
IHNlcnZpY2UuCiAgICAgLy8gVGhpcyBpcyBnZW5lcmFsbHkgbm90IGV4cGVjdGVkLCBob3dldmVy
IHdlIGN1cnJlbnRseSBhbHdheXMgc3Bhd24gYSBjaGlsZCBwcm9jZXNzIHRvIGNyZWF0ZSBhIE1J
TUUgdHlwZSBwcmVmZXJlbmNlcyBmaWxlLgotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0
cGlkKCkpKSB7CisgICAgaWYgKGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkgewogICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25u
ZWN0aW9uKTsKLSAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJvY2Vzc0lzU2FuZGJveGVkKGdldHBw
aWQoKSkpOworICAgICAgICBSRUxFQVNFX0FTU0VSVChjdXJyZW50UHJvY2Vzc0lzU2FuZGJveGVk
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYm9vbCBwYXJlbnRJc1NhbmRib3hl
ZCA9IHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZpZXIueHBjQ29ubmVjdGlvbiAmJiBwcm9j
ZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChwYXJhbWV0ZXJzLmNvbm5lY3Rp
b25JZGVudGlmaWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpKTsKKyAgICBib29sIHBhcmVudElzU2Fu
ZGJveGVkID0gcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25uZWN0aW9uICYm
IGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlm
aWVyLnhwY0Nvbm5lY3Rpb24uZ2V0KCkpOwogCiAgICAgaWYgKHBhcmFtZXRlcnMuZXh0cmFJbml0
aWFsaXphdGlvbkRhdGEuZ2V0KCJkaXNhYmxlLXNhbmRib3giKSA9PSAiMSIpIHsKICAgICAgICAg
aWYgKHBhcmVudElzU2FuZGJveGVkKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50
cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9t
YWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQkocmV2aXNpb24gMjE0OTQ0KQor
KysgU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZp
Y2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTEyMSw3ICsxMjEs
NyBAQCBib29sIFhQQ1NlcnZpY2VJbml0aWFsaXplckRlbGVnYXRlOjpoYXNFCiAKIGJvb2wgWFBD
U2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6OmlzQ2xpZW50U2FuZGJveGVkKCkKIHsKLSAgICBy
ZXR1cm4gcHJvY2Vzc0lzU2FuZGJveGVkKHhwY19jb25uZWN0aW9uX2dldF9waWQobV9jb25uZWN0
aW9uLmdldCgpKSk7CisgICAgcmV0dXJuIGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZChtX2Nv
bm5lY3Rpb24uZ2V0KCkpOwogfQogCiB2b2lkIFhQQ1NlcnZpY2VFeGl0KE9TT2JqZWN0UHRyPHhw
Y19vYmplY3RfdD4mJiBwcmlvcml0eUJvb3N0TWVzc2FnZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuaAkod29ya2luZyBjb3B5
KQpAQCAtMjMsMTUgKzIzLDE2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8KIAotI2lmbmRlZiBTYW5kYm94VXRpbGl0aWVzX2gKLSNkZWZpbmUgU2FuZGJveFV0aWxp
dGllc19oCisjcHJhZ21hIG9uY2UKIAogI2ltcG9ydCA8c3lzL3R5cGVzLmg+CiAjaW1wb3J0IDx3
dGYvRm9yd2FyZC5oPgorI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1ib29sIHByb2Nlc3NJc1NhbmRib3hlZChwaWRfdCk7Citib29sIGNv
bm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZCh4cGNfY29ubmVjdGlvbl90KTsKK2Jvb2wgY3VycmVu
dFByb2Nlc3NJc1NhbmRib3hlZCgpOwogYm9vbCBwcm9jZXNzSGFzQ29udGFpbmVyKCk7CiAKIC8v
IFJldHVybnMgYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBwcm9jZXNzIGlzIG5vdCBpbiBhIGNvbnRh
aW5lci4KQEAgLTQwLDUgKzQxLDMgQEAgU3RyaW5nIHBhdGhGb3JQcm9jZXNzQ29udGFpbmVyKCk7
CiBib29sIHByb2Nlc3NIYXNFbnRpdGxlbWVudChOU1N0cmluZyAqZW50aXRsZW1lbnQpOwogCiB9
Ci0KLSNlbmRpZiAvLyBTYW5kYm94VXRpbGl0aWVzX2gKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMubW0JKHJldmlzaW9uIDIxNDk0NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMzAsMTMgKzMwLDIxIEBACiAjaW1wb3J0IDxzeXMvcGFyYW0uaD4KICNpbXBvcnQgPHd0
Zi9zcGkvY29jb2EvU2VjdXJpdHlTUEkuaD4KICNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL1NhbmRi
b3hTUEkuaD4KKyNpbXBvcnQgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgogI2ltcG9ydCA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1ib29sIHByb2Nlc3NJ
c1NhbmRib3hlZChwaWRfdCBwaWQpCitib29sIGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKQog
ewotICAgIHJldHVybiBzYW5kYm94X2NoZWNrKHBpZCwgbnVsbHB0ciwgU0FOREJPWF9GSUxURVJf
Tk9ORSk7CisgICAgcmV0dXJuIHNhbmRib3hfY2hlY2soZ2V0cGlkKCksIG51bGxwdHIsIFNBTkRC
T1hfRklMVEVSX05PTkUpOworfQorCitib29sIGNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZCh4
cGNfY29ubmVjdGlvbl90IGNvbm5lY3Rpb25Ub1BhcmVudCkKK3sKKyAgICBhdWRpdF90b2tlbl90
IHRva2VuOworICAgIHhwY19jb25uZWN0aW9uX2dldF9hdWRpdF90b2tlbihjb25uZWN0aW9uVG9Q
YXJlbnQsICZ0b2tlbik7CisgICAgcmV0dXJuIHNhbmRib3hfY2hlY2tfYnlfYXVkaXRfdG9rZW4o
dG9rZW4sIG51bGxwdHIsIFNBTkRCT1hfRklMVEVSX05PTkUpOwogfQogCiBzdGF0aWMgYm9vbCBw
cm9jZXNzSGFzQ29udGFpbmVyKHBpZF90IHBpZCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHJldmlzaW9u
IDIxNDk0NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJv
eHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIFJlZlB0cjxPYmpD
T2JqZWN0R3JhcGg+IFdlYlByb2Nlc3NQcm94eToKIGJvb2wgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0
Zm9ybUlzQmVpbmdEZWJ1Z2dlZCgpIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhlIFVJIHByb2Nlc3Mg
aXMgc2FuZGJveGVkLCBpdCBjYW5ub3QgZmluZCBvdXQgd2hldGhlciBvdGhlciBwcm9jZXNzZXMg
YXJlIGJlaW5nIGRlYnVnZ2VkLgotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0cGlkKCkp
KQorICAgIGlmIChjdXJyZW50UHJvY2Vzc0lzU2FuZGJveGVkKCkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAogICAgIHN0cnVjdCBraW5mb19wcm9jIGluZm87CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVN
YWMubW0JKHJldmlzaW9uIDIxNDk0NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMCw3ICsx
MDAsNyBAQCBib29sIFBsdWdpbkluZm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKFZlCiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAocHJvY2Vzc0lzU2FuZGJveGVkKGdldHBp
ZCgpKSAmJiAhcGx1Z2luLmhhc1NhbmRib3hQcm9maWxlKSB7CisgICAgaWYgKGN1cnJlbnRQcm9j
ZXNzSXNTYW5kYm94ZWQoKSAmJiAhcGx1Z2luLmhhc1NhbmRib3hQcm9maWxlKSB7CiAgICAgICAg
IExPRyhQbHVnaW5zLCAiSWdub3JpbmcgdW5zYW5kYm94ZWQgcGx1Zy1pbiAlcyIsIHBsdWdpbi5i
dW5kbGVJZGVudGlmaWVyLnV0ZjgoKS5kYXRhKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpblBy
b2Nlc3NQcm94eU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tCShyZXZpc2lvbiAyMTQ5NDQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsNyArMTA1LDcgQEAgdm9pZCBQbHVnaW5Qcm9j
ZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bgogICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFJbml0aWFs
aXphdGlvbkRhdGEuYWRkKCJwbHVnaW4tcGF0aCIsIHBsdWdpblByb2Nlc3NBdHRyaWJ1dGVzLm1v
ZHVsZUluZm8ucGF0aCk7CiAKICAgICBpZiAocGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMuc2FuZGJv
eFBvbGljeSA9PSBQbHVnaW5Qcm9jZXNzU2FuZGJveFBvbGljeVVuc2FuZGJveGVkKSB7Ci0gICAg
ICAgIGlmICghcHJvY2Vzc0lzU2FuZGJveGVkKGdldHBpZCgpKSkKKyAgICAgICAgaWYgKCFjdXJy
ZW50UHJvY2Vzc0lzU2FuZGJveGVkKCkpCiAgICAgICAgICAgICBsYXVuY2hPcHRpb25zLmV4dHJh
SW5pdGlhbGl6YXRpb25EYXRhLmFkZCgiZGlzYWJsZS1zYW5kYm94IiwgIjEiKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJNYWluIHByb2Nlc3MgaXMgc2FuZGJveGVk
LCBpZ25vcmluZyBwbHVnLWluIHNhbmRib3ggcG9saWN5Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>306547</attachid>
            <date>2017-04-07 16:17:30 -0700</date>
            <delta_ts>2017-04-07 17:25:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170616-20170407161727.patch</filename>
            <type>text/plain</type>
            <size>9384</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDE3LTA0LTA3ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGF1ZGl0X3Rva2VuX3QgaW5z
dGVhZCBvZiBwaWRfdCBmb3IgY2hlY2tpbmcgc2FuZGJveCBvZiBvdGhlciBwcm9jZXNzZXMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDYxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzExNTgxODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFu
aWVsIEJhdGVzLgorCisgICAgICAgICogd3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oOgorICAg
ICAgICBEZWNsYXJlIG1vcmUgU1BJLgorCiAyMDE3LTA0LTA1ICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIFN1cHByZXNzIHdhcm5pbmdzIGlu
IEdDQwpJbmRleDogU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi93dGYvc3BpL2Rhcndpbi9TYW5kYm94U1BJLmgJKHJldmlzaW9u
IDIxNDk0NCkKKysrIFNvdXJjZS9XVEYvd3RmL3NwaS9kYXJ3aW4vU2FuZGJveFNQSS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMyw4ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5k
ZWYgU2FuZGJveFNQSV9oCi0jZGVmaW5lIFNhbmRib3hTUElfaAorI3ByYWdtYSBvbmNlCiAKICNp
ZiBPUyhEQVJXSU4pCiAKQEAgLTQ1LDExICs0NCwxMCBAQCBXVEZfRVhURVJOX0NfQkVHSU4KIAog
ZXh0ZXJuIGNvbnN0IGVudW0gc2FuZGJveF9maWx0ZXJfdHlwZSBTQU5EQk9YX0NIRUNLX05PX1JF
UE9SVDsKIGludCBzYW5kYm94X2NoZWNrKHBpZF90LCBjb25zdCBjaGFyICpvcGVyYXRpb24sIGVu
dW0gc2FuZGJveF9maWx0ZXJfdHlwZSwgLi4uKTsKK2ludCBzYW5kYm94X2NoZWNrX2J5X2F1ZGl0
X3Rva2VuKGF1ZGl0X3Rva2VuX3QsIGNvbnN0IGNoYXIgKm9wZXJhdGlvbiwgZW51bSBzYW5kYm94
X2ZpbHRlcl90eXBlLCAuLi4pOwogaW50IHNhbmRib3hfY29udGFpbmVyX3BhdGhfZm9yX3BpZChw
aWRfdCwgY2hhciAqYnVmZmVyLCBzaXplX3QgYnVmc2l6ZSk7CiBpbnQgc2FuZGJveF9pbml0X3dp
dGhfcGFyYW1ldGVycyhjb25zdCBjaGFyICpwcm9maWxlLCB1aW50NjRfdCBmbGFncywgY29uc3Qg
Y2hhciAqY29uc3QgcGFyYW1ldGVyc1tdLCBjaGFyICoqZXJyb3JidWYpOwogCiBXVEZfRVhURVJO
X0NfRU5ECiAKICNlbmRpZiAvLyBPUyhEQVJXSU4pCi0KLSNlbmRpZiAvLyBTYW5kYm94U1BJX2gK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTExNikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE3LTA0LTA3ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGF1ZGl0
X3Rva2VuX3QgaW5zdGVhZCBvZiBwaWRfdCBmb3IgY2hlY2tpbmcgc2FuZGJveCBvZiBvdGhlciBw
cm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MDYxNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzExNTgxODk+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAgIHBpZCdzIGNhbiBiZSByZXVzZWQsIHNv
IGl0J3MgdGhlb3JldGljYWxseSB1bnNhZmUgdG8gdXNlIHRoZSBwaWQgb2YgYW5vdGhlciBwcm9j
ZXNzIHRvIGNoZWNrIHdoZXRoZXIgaXQncyBzYW5kYm94ZWQuCisgICAgICAgIFVzZSBhbiBhdWRp
dF90b2tlbl90IGluc3RlYWQgdG8gYmUgbW9yZSBzdXJlIHRoYXQgd2UgYXJlIG5vdCBtaXN0YWtl
bmx5IGNoZWNraW5nIGEgbmV3IHByb2Nlc3MgdGhhdCBoYXMgcmV1c2VkIHRoZQorICAgICAgICBv
bGQgcHJvY2VzcydzIHBpZC4gRm9yIHRoZSBjdXJyZW50IHByb2Nlc3MsIHRob3VnaCwgd2UgaGF2
ZSBubyB4cGNfY29ubmVjdGlvbl90IHRvIHRoZSBwcm9jZXNzIGJlY2F1c2Ugd2UgYXJlIHRoZSBw
cm9jZXNzLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5t
bToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3gpOgor
ICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1Nl
cnZpY2VFbnRyeVBvaW50Lm1tOgorICAgICAgICAoV2ViS2l0OjpYUENTZXJ2aWNlSW5pdGlhbGl6
ZXJEZWxlZ2F0ZTo6aXNDbGllbnRTYW5kYm94ZWQpOgorICAgICAgICAqIFNoYXJlZC9tYWMvU2Fu
ZGJveFV0aWxpdGllcy5oOgorICAgICAgICAqIFNoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5t
bToKKyAgICAgICAgKFdlYktpdDo6Y3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCk6CisgICAgICAg
IChXZWJLaXQ6OmNvbm5lY3RlZFByb2Nlc3NJc1NhbmRib3hlZCk6CisgICAgICAgIChXZWJLaXQ6
OnByb2Nlc3NJc1NhbmRib3hlZCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJv
eHk6OnBsYXRmb3JtSXNCZWluZ0RlYnVnZ2VkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lu
cy9tYWMvUGx1Z2luSW5mb1N0b3JlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZv
U3RvcmU6OnNob3VsZFVzZVBsdWdpbik6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvbWFj
L1BsdWdpblByb2Nlc3NQcm94eU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMpOgorCiAyMDE3LTA0LTA3ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE1pc3NpbmcgY29udmVy
c2lvbiBmcm9tIHdpbmRvdyB0byBjb250ZW50IGNvb3JkaW5hdGVzIHdoZW4gYWRqdXN0aW5nIHVu
b2JzY3VyZWQgY29udGVudCByZWN0cyBmb3IgaW5wdXQgdmlldwpJbmRleDogU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCShyZXZp
c2lvbiAyMTQ5NDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Q
cm9jZXNzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MjAsMTMgKzYyMCwxMiBAQCB2b2lkIFBs
dWdpblByb2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KGNvCiB7CiAgICAgLy8gUGx1Z2luUHJvY2Vz
cyBtYXkgYWxyZWFkeSBiZSBzYW5kYm94ZWQgaWYgaXRzIHBhcmVudCBwcm9jZXNzIHdhcyBzYW5k
Ym94ZWQsIGFuZCBsYXVuY2hlZCBhIGNoaWxkIHByb2Nlc3MgaW5zdGVhZCBvZiBhbiBYUEMgc2Vy
dmljZS4KICAgICAvLyBUaGlzIGlzIGdlbmVyYWxseSBub3QgZXhwZWN0ZWQsIGhvd2V2ZXIgd2Ug
Y3VycmVudGx5IGFsd2F5cyBzcGF3biBhIGNoaWxkIHByb2Nlc3MgdG8gY3JlYXRlIGEgTUlNRSB0
eXBlIHByZWZlcmVuY2VzIGZpbGUuCi0gICAgaWYgKHByb2Nlc3NJc1NhbmRib3hlZChnZXRwaWQo
KSkpIHsKKyAgICBpZiAoY3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCgpKSB7CiAgICAgICAgIFJF
TEVBU0VfQVNTRVJUKCFwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlmaWVyLnhwY0Nvbm5lY3Rp
b24pOwotICAgICAgICBSRUxFQVNFX0FTU0VSVChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0cHBpZCgp
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBib29sIHBhcmVudElzU2FuZGJveGVk
ID0gcGFyYW1ldGVycy5jb25uZWN0aW9uSWRlbnRpZmllci54cGNDb25uZWN0aW9uICYmIHByb2Nl
c3NJc1NhbmRib3hlZCh4cGNfY29ubmVjdGlvbl9nZXRfcGlkKHBhcmFtZXRlcnMuY29ubmVjdGlv
bklkZW50aWZpZXIueHBjQ29ubmVjdGlvbi5nZXQoKSkpOworICAgIGJvb2wgcGFyZW50SXNTYW5k
Ym94ZWQgPSBwYXJhbWV0ZXJzLmNvbm5lY3Rpb25JZGVudGlmaWVyLnhwY0Nvbm5lY3Rpb24gJiYg
Y29ubmVjdGVkUHJvY2Vzc0lzU2FuZGJveGVkKHBhcmFtZXRlcnMuY29ubmVjdGlvbklkZW50aWZp
ZXIueHBjQ29ubmVjdGlvbi5nZXQoKSk7CiAKICAgICBpZiAocGFyYW1ldGVycy5leHRyYUluaXRp
YWxpemF0aW9uRGF0YS5nZXQoImRpc2FibGUtc2FuZGJveCIpID09ICIxIikgewogICAgICAgICBp
ZiAocGFyZW50SXNTYW5kYm94ZWQpIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRy
eVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21h
Yy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lm1tCShyZXZpc2lvbiAyMTQ5NDQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2Vydmlj
ZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbQkod29ya2luZyBjb3B5KQpAQCAtMTIxLDcgKzEyMSw3
IEBAIGJvb2wgWFBDU2VydmljZUluaXRpYWxpemVyRGVsZWdhdGU6Omhhc0UKIAogYm9vbCBYUENT
ZXJ2aWNlSW5pdGlhbGl6ZXJEZWxlZ2F0ZTo6aXNDbGllbnRTYW5kYm94ZWQoKQogewotICAgIHJl
dHVybiBwcm9jZXNzSXNTYW5kYm94ZWQoeHBjX2Nvbm5lY3Rpb25fZ2V0X3BpZChtX2Nvbm5lY3Rp
b24uZ2V0KCkpKTsKKyAgICByZXR1cm4gY29ubmVjdGVkUHJvY2Vzc0lzU2FuZGJveGVkKG1fY29u
bmVjdGlvbi5nZXQoKSk7CiB9CiAKIHZvaWQgWFBDU2VydmljZUV4aXQoT1NPYmplY3RQdHI8eHBj
X29iamVjdF90PiYmIHByaW9yaXR5Qm9vc3RNZXNzYWdlKQpJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmgJKHJldmlzaW9uIDIxNDk0NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMywxNSArMjMsMTYgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAqLwogCi0jaWZuZGVmIFNhbmRib3hVdGlsaXRpZXNfaAotI2RlZmluZSBTYW5kYm94VXRpbGl0
aWVzX2gKKyNwcmFnbWEgb25jZQogCiAjaW1wb3J0IDxzeXMvdHlwZXMuaD4KICNpbXBvcnQgPHd0
Zi9Gb3J3YXJkLmg+CisjaW1wb3J0IDx3dGYvc3BpL2Rhcndpbi9YUENTUEkuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKLWJvb2wgcHJvY2Vzc0lzU2FuZGJveGVkKHBpZF90KTsKK2Jvb2wgY29u
bmVjdGVkUHJvY2Vzc0lzU2FuZGJveGVkKHhwY19jb25uZWN0aW9uX3QpOworYm9vbCBjdXJyZW50
UHJvY2Vzc0lzU2FuZGJveGVkKCk7CiBib29sIHByb2Nlc3NIYXNDb250YWluZXIoKTsKIAogLy8g
UmV0dXJucyBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIHByb2Nlc3MgaXMgbm90IGluIGEgY29udGFp
bmVyLgpAQCAtNDAsNSArNDEsMyBAQCBTdHJpbmcgcGF0aEZvclByb2Nlc3NDb250YWluZXIoKTsK
IGJvb2wgcHJvY2Vzc0hhc0VudGl0bGVtZW50KE5TU3RyaW5nICplbnRpdGxlbWVudCk7CiAKIH0K
LQotI2VuZGlmIC8vIFNhbmRib3hVdGlsaXRpZXNfaApJbmRleDogU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5tbQkocmV2aXNpb24gMjE0OTQ0KQorKysgU291
cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0zMCwxMyArMzAsMjEgQEAKICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2ltcG9ydCA8d3Rm
L3NwaS9jb2NvYS9TZWN1cml0eVNQSS5oPgogI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vU2FuZGJv
eFNQSS5oPgorI2ltcG9ydCA8d3RmL3NwaS9kYXJ3aW4vWFBDU1BJLmg+CiAjaW1wb3J0IDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgcHJvY2Vzc0lz
U2FuZGJveGVkKHBpZF90IHBpZCkKK2Jvb2wgY3VycmVudFByb2Nlc3NJc1NhbmRib3hlZCgpCiB7
Ci0gICAgcmV0dXJuIHNhbmRib3hfY2hlY2socGlkLCBudWxscHRyLCBTQU5EQk9YX0ZJTFRFUl9O
T05FKTsKKyAgICByZXR1cm4gc2FuZGJveF9jaGVjayhnZXRwaWQoKSwgbnVsbHB0ciwgU0FOREJP
WF9GSUxURVJfTk9ORSk7Cit9CisKK2Jvb2wgY29ubmVjdGVkUHJvY2Vzc0lzU2FuZGJveGVkKHhw
Y19jb25uZWN0aW9uX3QgY29ubmVjdGlvblRvUGFyZW50KQoreworICAgIGF1ZGl0X3Rva2VuX3Qg
dG9rZW47CisgICAgeHBjX2Nvbm5lY3Rpb25fZ2V0X2F1ZGl0X3Rva2VuKGNvbm5lY3Rpb25Ub1Bh
cmVudCwgJnRva2VuKTsKKyAgICByZXR1cm4gc2FuZGJveF9jaGVja19ieV9hdWRpdF90b2tlbih0
b2tlbiwgbnVsbHB0ciwgU0FOREJPWF9GSUxURVJfTk9ORSk7CiB9CiAKIHN0YXRpYyBib29sIHBy
b2Nlc3NIYXNDb250YWluZXIocGlkX3QgcGlkKQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24g
MjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyArMTI1LDcgQEAgUmVmUHRyPE9iakNP
YmplY3RHcmFwaD4gV2ViUHJvY2Vzc1Byb3h5OgogYm9vbCBXZWJQcm9jZXNzUHJveHk6OnBsYXRm
b3JtSXNCZWluZ0RlYnVnZ2VkKCkgY29uc3QKIHsKICAgICAvLyBJZiB0aGUgVUkgcHJvY2VzcyBp
cyBzYW5kYm94ZWQsIGl0IGNhbm5vdCBmaW5kIG91dCB3aGV0aGVyIG90aGVyIHByb2Nlc3NlcyBh
cmUgYmVpbmcgZGVidWdnZWQuCi0gICAgaWYgKHByb2Nlc3NJc1NhbmRib3hlZChnZXRwaWQoKSkp
CisgICAgaWYgKGN1cnJlbnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCiAgICAgc3RydWN0IGtpbmZvX3Byb2MgaW5mbzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1h
Yy5tbQkocmV2aXNpb24gMjE0OTQ0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAwLDcgKzEw
MCw3IEBAIGJvb2wgUGx1Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4oVmUKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIGlmIChwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0cGlk
KCkpICYmICFwbHVnaW4uaGFzU2FuZGJveFByb2ZpbGUpIHsKKyAgICBpZiAoY3VycmVudFByb2Nl
c3NJc1NhbmRib3hlZCgpICYmICFwbHVnaW4uaGFzU2FuZGJveFByb2ZpbGUpIHsKICAgICAgICAg
TE9HKFBsdWdpbnMsICJJZ25vcmluZyB1bnNhbmRib3hlZCBwbHVnLWluICVzIiwgcGx1Z2luLmJ1
bmRsZUlkZW50aWZpZXIudXRmOCgpLmRhdGEoKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJv
Y2Vzc1Byb3h5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0JKHJldmlzaW9uIDIxNDk0NCkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlN
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lkIFBsdWdpblByb2Nl
c3NQcm94eTo6cGxhdGZvcm1HZXRMYXVuCiAgICAgbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxp
emF0aW9uRGF0YS5hZGQoInBsdWdpbi1wYXRoIiwgcGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMubW9k
dWxlSW5mby5wYXRoKTsKIAogICAgIGlmIChwbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5zYW5kYm94
UG9saWN5ID09IFBsdWdpblByb2Nlc3NTYW5kYm94UG9saWN5VW5zYW5kYm94ZWQpIHsKLSAgICAg
ICAgaWYgKCFwcm9jZXNzSXNTYW5kYm94ZWQoZ2V0cGlkKCkpKQorICAgICAgICBpZiAoIWN1cnJl
bnRQcm9jZXNzSXNTYW5kYm94ZWQoKSkKICAgICAgICAgICAgIGxhdW5jaE9wdGlvbnMuZXh0cmFJ
bml0aWFsaXphdGlvbkRhdGEuYWRkKCJkaXNhYmxlLXNhbmRib3giLCAiMSIpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICBXVEZMb2dBbHdheXMoIk1haW4gcHJvY2VzcyBpcyBzYW5kYm94ZWQs
IGlnbm9yaW5nIHBsdWctaW4gc2FuZGJveCBwb2xpY3kiKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>