<?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>152839</bug_id>
          
          <creation_ts>2016-01-07 11:05:17 -0800</creation_ts>
          <short_desc>prepare-ChangeLog should include radar number</short_desc>
          <delta_ts>2016-01-08 10:18:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>lforschler</cc>
    
    <cc>matthew_hanson</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1153466</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 11:05:17 -0800</bug_when>
    <thetext>* SUMMARY
I use `prepare-ChangeLog -b ###` for all of my bugs. That adds a ChangeLog title like:

        prepare-ChangeLog should include radar number
        https://bugs.webkit.org/show_bug.cgi?id=152839

However a lot of bugzilla bugs also have &lt;rdar://problem/####&gt; links in the Bugzilla comments (e.g. webkit-bug-importer@group.apple.com).

It would be great if `prepare-ChangeLog -b ####` detected this and created a title like:

        prepare-ChangeLog should include radar number
        https://bugs.webkit.org/show_bug.cgi?id=152839
        &lt;rdar://problem/########&gt;

* NOTES
- A lamer but probably acceptable way to do this would be add a `prepare-ChangeLog -b ### -r ###` which at least removes the inconvenience of manually modifying every ChangeLog, but I still have to have found and copied the radar number myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153467</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-01-07 11:06:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/24093563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153521</commentid>
    <comment_count>2</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-01-07 12:47:09 -0800</bug_when>
    <thetext>If prepare-changelog and its downstream webkitperl used the bugzilla JSON API, this would be pretty easy to do by looking for &lt;rdar in a comment. I don&apos;t think it will be easy right now, since it&apos;s not listed in a well-defined field for scraping. I don&apos;t know if any other functionality needs to scrape comments HTML in bugzilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153529</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 13:13:56 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; If prepare-changelog and its downstream webkitperl used the bugzilla JSON
&gt; API, this would be pretty easy to do by looking for &lt;rdar in a comment. I
&gt; don&apos;t think it will be easy right now, since it&apos;s not listed in a
&gt; well-defined field for scraping. I don&apos;t know if any other functionality
&gt; needs to scrape comments HTML in bugzilla.

Currently `prepare-ChangeLog -b ###` will fetch the XML data for a bug:
$ curl --insecure --silent &apos;https://bugs.webkit.org/show_bug.cgi?id=152839&amp;ctype=xml&amp;excludefield=attachmentdata&apos;

Which includes comments. Importer comments would be easy to recognize:

&gt; &lt;long_desc isprivate=&quot;0&quot;&gt;
&gt;   &lt;commentid&gt;1153467&lt;/commentid&gt;
&gt;   &lt;who name=&quot;Radar WebKit Bug Importer&quot;&gt;webkit-bug-importer&lt;/who&gt;
&gt;   &lt;bug_when&gt;2016-01-07 11:06:14 -0800&lt;/bug_when&gt;
&gt;   &lt;thetext&gt;&amp;lt;rdar://problem/24093563&amp;gt;&lt;/thetext&gt;
&gt; &lt;/long_desc&gt;

I suppose I could hack in just searching for that single radar link comment. That will at least handle the importer pattern (which is all I really about).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153547</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 13:30:41 -0800</bug_when>
    <thetext>Yep, I have this working, I&apos;ll clean it up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153557</commentid>
    <comment_count>5</comment_count>
      <attachid>268480</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 13:40:27 -0800</bug_when>
    <thetext>Created attachment 268480
[PATCH] Proposed Fix

Test cases:

&gt; # Bad Bug ID
&gt; $ prepare-ChangeLog pco --git-index -b 99999999
&gt;   Running status to find changed, added, or removed files.
&gt;   Reviewing diff to determine which lines changed.
&gt;   Extracting affected function names from source files.
&gt;   Change author: Joseph Pecoraro &lt;pecoraro@apple.com&gt;.
&gt;   Bug 99999999 has no bug description. Maybe you set wrong bug ID?
&gt;   The bug URL: https://bugs.webkit.org/show_bug.cgi?id=99999999
&gt; 
&gt; # Bug with Radar URL Comment
&gt; $ prepare-ChangeLog --git-index -b 152839
&gt;   Running status to find changed, added, or removed files.
&gt;   Reviewing diff to determine which lines changed.
&gt;   Extracting affected function names from source files.
&gt;   Change author: Joseph Pecoraro &lt;pecoraro@apple.com&gt;.
&gt;   Description from bug 152839:
&gt;     &quot;prepare-ChangeLog should include radar number&quot;.
&gt;   Radar URL from bug 152839:
&gt;     &quot;&lt;rdar://problem/24093563&gt;&quot;.
&gt;   Editing the ../Tools/ChangeLog file.
&gt; -- Please remember to include a detailed description in your ChangeLog entry. --
&gt; -- See &lt;http://webkit.org/coding/contributing.html&gt; for more info --
&gt;   Opening the edited ChangeLog files.
&gt; 
&gt; # Bug without Radar URL Comment
&gt; $ prepare-ChangeLog --git-index -b 152838
&gt;   Running status to find changed, added, or removed files.
&gt;   Reviewing diff to determine which lines changed.
&gt;   Extracting affected function names from source files.
&gt;   Change author: Joseph Pecoraro &lt;pecoraro@apple.com&gt;.
&gt;   Description from bug 152838:
&gt;     &quot;[mips] GPRInfo::toArgumentRegister missing&quot;.
&gt;   Editing the ../Tools/ChangeLog file.
&gt; -- Please remember to include a detailed description in your ChangeLog entry. --
&gt; -- See &lt;http://webkit.org/coding/contributing.html&gt; for more info --
&gt;   Opening the edited ChangeLog files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153559</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-01-07 13:47:39 -0800</bug_when>
    <thetext>Holy cow, Joe! This is fantastic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153560</commentid>
    <comment_count>7</comment_count>
      <attachid>268480</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-01-07 13:51:30 -0800</bug_when>
    <thetext>Comment on attachment 268480
[PATCH] Proposed Fix

Very nice! r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153571</commentid>
    <comment_count>8</comment_count>
      <attachid>268480</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-01-07 14:07:49 -0800</bug_when>
    <thetext>Comment on attachment 268480
[PATCH] Proposed Fix

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

&gt; Tools/Scripts/prepare-ChangeLog:467
&gt; +    return &quot;&quot; if $bugXMLData !~ /&lt;thetext&gt;\s*(&amp;lt;rdar:\/\/problem\/\d+&amp;gt;)/;

I would prefer to leave the &lt;&gt; out of the log. The JSC ChangeLog entries that have rdar links follow that format, and it looks nicer next to the http links.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153572</commentid>
    <comment_count>9</comment_count>
      <attachid>268480</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-07 14:08:10 -0800</bug_when>
    <thetext>Comment on attachment 268480
[PATCH] Proposed Fix

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

&gt; Tools/Scripts/prepare-ChangeLog:463
&gt; +sub fetchRadarURLFromBugXMLData($$)

We have infrastructure to support writing a unit test for this function. You can use &lt;http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl&gt; as an example.

&gt; Tools/Scripts/prepare-ChangeLog:467
&gt; +    return &quot;&quot; if $bugXMLData !~ /&lt;thetext&gt;\s*(&amp;lt;rdar:\/\/problem\/\d+&amp;gt;)/;

This is OK as-is. For your consideration, I suggest we chose another regular expression delimiter, say &apos;|&apos;. Then we can avoid escaping &apos;/&apos; characters:

return &quot;&quot; if $bugXMLData !~ m|&lt;thetext&gt;\s*(&amp;lt;rdar://problem/\d+&amp;gt;)|;

The benefit of using a different regular expression delimiter is that it makes the regular expression more straightforward to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153574</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:09:01 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 268480 [details]
&gt; [PATCH] Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=268480&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/prepare-ChangeLog:463
&gt; &gt; +sub fetchRadarURLFromBugXMLData($$)
&gt; 
&gt; We have infrastructure to support writing a unit test for this function. You
&gt; can use
&gt; &lt;http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitperl/prepare-
&gt; ChangeLog_unittest/extractLineRangeBeforeAndAfterChange.pl&gt; as an example.

Look into this now.

&gt; &gt; Tools/Scripts/prepare-ChangeLog:467
&gt; &gt; +    return &quot;&quot; if $bugXMLData !~ /&lt;thetext&gt;\s*(&amp;lt;rdar:\/\/problem\/\d+&amp;gt;)/;
&gt; 
&gt; This is OK as-is. For your consideration, I suggest we chose another regular
&gt; expression delimiter, say &apos;|&apos;. Then we can avoid escaping &apos;/&apos; characters:
&gt; 
&gt; return &quot;&quot; if $bugXMLData !~ m|&lt;thetext&gt;\s*(&amp;lt;rdar://problem/\d+&amp;gt;)|;
&gt; 
&gt; The benefit of using a different regular expression delimiter is that it
&gt; makes the regular expression more straightforward to read.

I agree!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153597</commentid>
    <comment_count>11</comment_count>
      <attachid>268490</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:26:06 -0800</bug_when>
    <thetext>Created attachment 268490
[PATCH] Proposed Fix

With tests:

&gt; shell&gt; ./Tools/Scripts/test-webkitperl 
&gt; ...
&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl ................. Variable &quot;%attributeCache&quot; is not available at (eval 12) line 1999.
&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl ................. ok   
&gt; ...
&gt; All tests successful.
&gt; Files=35, Tests=571,  3 wallclock secs ( 0.14 usr  0.08 sys +  2.32 cusr  0.42 csys =  2.96 CPU)
&gt; Result: PASS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153602</commentid>
    <comment_count>12</comment_count>
      <attachid>268490</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:28:13 -0800</bug_when>
    <thetext>Comment on attachment 268490
[PATCH] Proposed Fix

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

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/fetchRadarURLFromBugXMLData.pl:42
&gt; +# But for these tests I will simplify the XML to just the &lt;thetext&gt; blocks.

Hmm, I&apos;ll change &quot;I&quot; to &quot;we&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153604</commentid>
    <comment_count>13</comment_count>
      <attachid>268493</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:29:26 -0800</bug_when>
    <thetext>Created attachment 268493
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153608</commentid>
    <comment_count>14</comment_count>
      <attachid>268493</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-01-07 14:32:13 -0800</bug_when>
    <thetext>Comment on attachment 268493
[PATCH] Proposed Fix

Thank you Joe for adding tests!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153611</commentid>
    <comment_count>15</comment_count>
      <attachid>268493</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:34:01 -0800</bug_when>
    <thetext>Comment on attachment 268493
[PATCH] Proposed Fix

Clearing cq while we debate if we should have &lt;&gt;s or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153630</commentid>
    <comment_count>16</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 14:56:54 -0800</bug_when>
    <thetext>Relating bug 119766. Would be nice if the Bugzilla Bug URL was also the shorthand syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153702</commentid>
    <comment_count>17</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-01-07 17:29:03 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Relating bug 119766. Would be nice if the Bugzilla Bug URL was also the
&gt; shorthand syntax.

Didn&apos;t Ryosuke point out that this broke some tool back when Dean originally tried to switch? (I can&apos;t find the reference at the moment).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153722</commentid>
    <comment_count>18</comment_count>
      <attachid>268493</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 18:18:19 -0800</bug_when>
    <thetext>Comment on attachment 268493
[PATCH] Proposed Fix

Clearing flags on attachment: 268493

Committed r194749: &lt;http://trac.webkit.org/changeset/194749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153724</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 18:18:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153854</commentid>
    <comment_count>20</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-01-08 10:18:56 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; Relating bug 119766. Would be nice if the Bugzilla Bug URL was also the
&gt; &gt; shorthand syntax.
&gt; 
&gt; Didn&apos;t Ryosuke point out that this broke some tool back when Dean originally
&gt; tried to switch? (I can&apos;t find the reference at the moment).

Quote from the linked bug: 

&quot;There are just too many tools that rely on the old format.  Using wekbit.org/b/&lt;~&gt; URL is good but wrapping them in &lt;&gt; and putting the URL and bug title isn&apos;t.

It makes the long way too long for some bugs and wrapping it in &lt; &gt; breaks all sorts of tools.&quot;

This sounds like it&apos;s trivial to fix, honestly. There are a lot of cases where we regex search such as var regexp = /\/show_bug.cgi\?id=(\d+)/; that could be changed to also search for \/b\/(\d+). I filed &lt;https://webkit.org/b/152898&gt; to track any blockers.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268480</attachid>
            <date>2016-01-07 13:40:27 -0800</date>
            <delta_ts>2016-01-07 14:26:06 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>pco-with-radar.patch</filename>
            <type>text/plain</type>
            <size>7123</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMTk5
NWY1Li5hZTkyNTU5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTYtMDEtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBwcmVwYXJlLUNoYW5nZUxvZyBzaG91bGQgaW5j
bHVkZSByYWRhciBudW1iZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MjgzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBydW5uaW5n
IGBwcmVwYXJlLUNoYW5nZUxvZyAtYiAjIyNgLCBjaGVjayBmb3IgYSBidWd6aWxsYSBjb21tZW50
IHRoYXQKKyAgICAgICAgc3RhcnRzIHdpdGggYSAiPHJkYXI6Ly9wcm9ibGVtLyMjIyM+IiBVUkwu
IElmIGZvdW5kLCBpbmNsdWRlIHRoYXQgcmFkYXIgVVJMCisgICAgICAgIGluIHRoZSBDaGFuZ2VM
b2cgZGVzY3JpcHRpb24gYWZ0ZXIgdGhlIGJ1ZyBVUkwuCisKKyAgICAgICAgKiBTY3JpcHRzL3By
ZXBhcmUtQ2hhbmdlTG9nOgorICAgICAgICAobWFpbik6IFVwZGF0ZSBzaWduYXR1cmVzLgorICAg
ICAgICAoZmV0Y2hCdWdYTUxEYXRhKTogWE1MIERhdGEgaXMgbm93IHVzZWQgZm9yIG11bHRpcGxl
IHJlYXNvbnMuIEV4dHJhY3QgdGhpcyB0byBqdXN0IGdldCB0aGUgZGF0YS4KKyAgICAgICAgKGZl
dGNoQnVnRGVzY3JpcHRpb25Gcm9tQnVnWE1MRGF0YSk6IFNlYXJjaCBkYXRhIGZvciA8c2hvcnRf
ZGVzYz4uCisgICAgICAgIChmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEpOiBTZWFyY2ggY29t
bWVudCB0ZXh0IGZvciByYWRhciBVUkwuCisgICAgICAgIChnZW5lcmF0ZU5ld0NoYW5nZUxvZ3Mp
OiBJbmNsdWRlIHJhZGFyIFVSTCBpZiB3ZSBmb3VuZCBvbmUuCisKIDIwMTYtMDEtMDcgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbYnVpbGRi
b3RdIGNsZWFuLWJ1aWxkIHNjcmlwdCBzaG91bGQgcmVtb3ZlIHVudHJhY2tlZCBmaWxlcyBhbmQg
cmV2ZXJ0IGxvY2FsIGNoYW5nZXMgdG9vCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3ByZXBh
cmUtQ2hhbmdlTG9nIGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwppbmRleCBlZTFk
ODE3Li45MjQ4ZGJiIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKQEAgLTc2LDEzICs3NiwxNSBA
QCBzdWIgZGlmZkZyb21Ub1N0cmluZygkJCQpOwogc3ViIGRpZmZIZWFkZXJGb3JtYXQoKTsKIHN1
YiBleHRyYWN0TGluZVJhbmdlQWZ0ZXJDaGFuZ2UoJCk7CiBzdWIgZXh0cmFjdExpbmVSYW5nZUJl
Zm9yZUNoYW5nZSgkKTsKLXN1YiBmZXRjaEJ1Z0Rlc2NyaXB0aW9uRnJvbVVSTCgkJCk7CitzdWIg
ZmV0Y2hCdWdYTUxEYXRhKCQkKTsKK3N1YiBmZXRjaEJ1Z0Rlc2NyaXB0aW9uRnJvbUJ1Z1hNTERh
dGEoJCQkKTsKK3N1YiBmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEoJCQpOwogc3ViIGZpbmRD
aGFuZ2VMb2dzKCQkKTsKIHN1YiBmaW5kT3JpZ2luYWxGaWxlRnJvbVN2bigkKTsKIHN1YiBnZW5l
cmF0ZUZpbGVMaXN0KFwlJCQkKTsKIHN1YiBnZW5lcmF0ZUZ1bmN0aW9uTGlzdHMoJCQkJCQpOwog
c3ViIGdlbmVyYXRlRnVuY3Rpb25MaXN0c0J5UmFuZ2VzKCQkJCQpOwotc3ViIGdlbmVyYXRlTmV3
Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkKTsKK3N1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQk
JCQkJCQkJCQkJCQpOwogc3ViIGdldExhdGVzdENoYW5nZUxvZ3MoJCk7CiBzdWIgZ2V0X2Z1bmN0
aW9uX2xpbmVfcmFuZ2VzKCQkKTsKIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXNfZm9yX2Nw
cCgkJCk7CkBAIC0xMjksNiArMTMxLDcgQEAgZXhpdChtYWluKCkpOwogc3ViIG1haW4oKQogewog
ICAgIG15ICRidWdEZXNjcmlwdGlvbjsKKyAgICBteSAkYnVnUmFkYXJVUkw7CiAgICAgbXkgJGJ1
Z051bWJlcjsKICAgICBteSAkbmFtZTsKICAgICBteSAkZW1haWxBZGRyZXNzOwpAQCAtMjIxLDcg
KzIyNCw5IEBAIHN1YiBtYWluKCkKICAgICB9CiAKICAgICBpZiAoJGJ1Z051bWJlciAmJiAhJGJ1
Z0Rlc2NyaXB0aW9uKSB7Ci0gICAgICAgICRidWdEZXNjcmlwdGlvbiA9IGZldGNoQnVnRGVzY3Jp
cHRpb25Gcm9tVVJMKCRidWdVUkwsICRidWdOdW1iZXIpOworICAgICAgICBteSAkYnVnWE1MRGF0
YSA9IGZldGNoQnVnWE1MRGF0YSgkYnVnVVJMLCAkYnVnTnVtYmVyKTsKKyAgICAgICAgJGJ1Z0Rl
c2NyaXB0aW9uID0gZmV0Y2hCdWdEZXNjcmlwdGlvbkZyb21CdWdYTUxEYXRhKCRidWdVUkwsICRi
dWdOdW1iZXIsICRidWdYTUxEYXRhKTsKKyAgICAgICAgJGJ1Z1JhZGFyVVJMID0gZmV0Y2hSYWRh
clVSTEZyb21CdWdYTUxEYXRhKCRidWdOdW1iZXIsICRidWdYTUxEYXRhKTsKICAgICB9CiAKICAg
ICBteSAoJGZpbGVzSW5DaGFuZ2VMb2csICRwcmVmaXhlcykgPSBmaW5kQ2hhbmdlTG9ncygkZnVu
Y3Rpb25MaXN0cywgJHdyaXRlQ2hhbmdlTG9ncyk7CkBAIC0yMzMsNyArMjM4LDcgQEAgc3ViIG1h
aW4oKQogICAgICAgICByZXNvbHZlQ29uZmxpY3RlZENoYW5nZUxvZ3MoJGNoYW5nZUxvZ3MpOwog
ICAgIH0KIAotICAgIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkcHJlZml4ZXMsICRmaWxlc0luQ2hh
bmdlTG9nLCAkYWRkZWRSZWdyZXNzaW9uVGVzdHMsICRyZXF1aXJlc1Rlc3RzLCAkZnVuY3Rpb25M
aXN0cywgJGJ1Z1VSTCwgJGJ1Z0Rlc2NyaXB0aW9uLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdp
dFJldmlld2VyLCAkZ2l0Q29tbWl0LCAkd3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycyk7Cisg
ICAgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRh
ZGRlZFJlZ3Jlc3Npb25UZXN0cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVn
VVJMLCAkYnVnRGVzY3JpcHRpb24sICRidWdSYWRhclVSTCwgJG5hbWUsICRlbWFpbEFkZHJlc3Ms
ICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGltaXRlcnMp
OwogCiAgICAgaWYgKCR3cml0ZUNoYW5nZUxvZ3MpIHsKICAgICAgICAgcHJpbnQgU1RERVJSICIt
LSBQbGVhc2UgcmVtZW1iZXIgdG8gaW5jbHVkZSBhIGRldGFpbGVkIGRlc2NyaXB0aW9uIGluIHlv
dXIgQ2hhbmdlTG9nIGVudHJ5LiAtLVxuLS0gU2VlIDxodHRwOi8vd2Via2l0Lm9yZy9jb2Rpbmcv
Y29udHJpYnV0aW5nLmh0bWw+IGZvciBtb3JlIGluZm8gLS1cbiI7CkBAIC00MTgsNyArNDIzLDcg
QEAgc3ViIGNoYW5nZUxvZ0VtYWlsQWRkcmVzc0Zyb21BcmdzKCQkKQogICAgIHJldHVybiAkZW1h
aWxBZGRyZXNzRnJvbUFyZ3MgfHwgY2hhbmdlTG9nRW1haWxBZGRyZXNzKCk7CiB9CiAKLXN1YiBm
ZXRjaEJ1Z0Rlc2NyaXB0aW9uRnJvbVVSTCgkJCkKK3N1YiBmZXRjaEJ1Z1hNTERhdGEoJCQpCiB7
CiAgICAgbXkgKCRidWdVUkwsICRidWdOdW1iZXIpID0gQF87CiAKQEAgLTQyNiwyNSArNDMxLDQ2
IEBAIHN1YiBmZXRjaEJ1Z0Rlc2NyaXB0aW9uRnJvbVVSTCgkJCkKICAgICAjIFBlcmwgaGFzIG5v
IGJ1aWx0IGluIFhNTCBwcm9jZXNzaW5nLCBzbyB3ZSdsbCBmZXRjaCBhbmQgcGFyc2Ugd2l0aCBj
dXJsIGFuZCBncmVwCiAgICAgIyBQYXNzIC0taW5zZWN1cmUgYmVjYXVzZSBzb21lIGN5Z3dpbiBp
bnN0YWxscyBoYXZlIG5vIGNlcnRzIHdlIGRvbid0CiAgICAgIyBjYXJlIGFib3V0IHZhbGlkYXRp
bmcgdGhhdCBidWdzLndlYmtpdC5vcmcgaXMgd2hvIGl0IHNheXMgaXQgaXMgaGVyZS4KLSAgICBt
eSAkZGVzY3JpcHRpb25MaW5lID0gYGN1cmwgLS1pbnNlY3VyZSAtLXNpbGVudCAiJGJ1Z1hNTFVS
TCIgfCBncmVwIHNob3J0X2Rlc2NgOwotICAgIGlmICgkZGVzY3JpcHRpb25MaW5lICF+IC88c2hv
cnRfZGVzYz4oLiopPFwvc2hvcnRfZGVzYz4vKSB7CisgICAgbXkgJHhtbERhdGEgPSBgY3VybCAt
LWluc2VjdXJlIC0tc2lsZW50ICIkYnVnWE1MVVJMImA7CisgICAgaWYgKCR4bWxEYXRhICF+IC88
XD94bWwvKSB7CiAgICAgICAgICMgTWF5YmUgdGhlIHJlYXNvbiB0aGUgYWJvdmUgZGlkIG5vdCB3
b3JrIGlzIGJlY2F1c2UgdGhlIGN1cmwgdGhhdCBpcyBpbnN0YWxsZWQgZG9lc24ndAogICAgICAg
ICAjIHN1cHBvcnQgc3NsIGF0IGFsbC4KICAgICAgICAgaWYgKGBjdXJsIC0tdmVyc2lvbiB8IGdy
ZXAgXlByb3RvY29sc2AgIX4gL1xiaHR0cHNcYi8pIHsKICAgICAgICAgICAgIHByaW50IFNUREVS
UiAiICBDb3VsZCBub3QgZ2V0IGRlc2NyaXB0aW9uIGZvciBidWcgJGJ1Z051bWJlci5cbiI7CiAg
ICAgICAgICAgICBwcmludCBTVERFUlIgIiAgSXQgbG9va3MgbGlrZSB5b3VyIHZlcnNpb24gb2Yg
Y3VybCBkb2VzIG5vdCBzdXBwb3J0IHNzbC5cbiI7CiAgICAgICAgICAgICBwcmludCBTVERFUlIg
IiAgSWYgeW91IGFyZSB1c2luZyBtYWNwb3J0cywgdGhpcyBjYW4gYmUgZml4ZWQgd2l0aCBzdWRv
IHBvcnQgaW5zdGFsbCBjdXJsICtzc2wuXG4iOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgcHJpbnQgU1RERVJSICIgIEJ1ZyAkYnVnTnVtYmVyIGhhcyBubyBidWcgZGVzY3JpcHRpb24u
IE1heWJlIHlvdSBzZXQgd3JvbmcgYnVnIElEP1xuIjsKLSAgICAgICAgICAgIHByaW50IFNUREVS
UiAiICBUaGUgYnVnIFVSTDogJGJ1Z1hNTFVSTFxuIjsKICAgICAgICAgfQogICAgICAgICBleGl0
IDE7CiAgICAgfQorICAgIHJldHVybiAkeG1sRGF0YTsKK30KKworc3ViIGZldGNoQnVnRGVzY3Jp
cHRpb25Gcm9tQnVnWE1MRGF0YSgkJCQpCit7CisgICAgbXkgKCRidWdVUkwsICRidWdOdW1iZXIs
ICRidWdYTUxEYXRhKSA9IEBfOworCisgICAgaWYgKCRidWdYTUxEYXRhICF+IC88c2hvcnRfZGVz
Yz4oLiopPFwvc2hvcnRfZGVzYz4vKSB7CisgICAgICAgIHByaW50IFNUREVSUiAiICBCdWcgJGJ1
Z051bWJlciBoYXMgbm8gYnVnIGRlc2NyaXB0aW9uLiBNYXliZSB5b3Ugc2V0IHdyb25nIGJ1ZyBJ
RD9cbiI7CisgICAgICAgIHByaW50IFNUREVSUiAiICBUaGUgYnVnIFVSTDogJGJ1Z1VSTFxuIjsK
KyAgICAgICAgZXhpdCAxOworICAgIH0KKwogICAgIG15ICRidWdEZXNjcmlwdGlvbiA9IGRlY29k
ZUVudGl0aWVzKCQxKTsKICAgICBwcmludCBTVERFUlIgIiAgRGVzY3JpcHRpb24gZnJvbSBidWcg
JGJ1Z051bWJlcjpcbiAgICBcIiRidWdEZXNjcmlwdGlvblwiLlxuIjsKICAgICByZXR1cm4gJGJ1
Z0Rlc2NyaXB0aW9uOwogfQogCitzdWIgZmV0Y2hSYWRhclVSTEZyb21CdWdYTUxEYXRhKCQkKQor
eworICAgIG15ICgkYnVnTnVtYmVyLCAkYnVnWE1MRGF0YSkgPSBAXzsKKworICAgIHJldHVybiAi
IiBpZiAkYnVnWE1MRGF0YSAhfiAvPHRoZXRleHQ+XHMqKCZsdDtyZGFyOlwvXC9wcm9ibGVtXC9c
ZCsmZ3Q7KS87CisKKyAgICBteSAkYnVnUmFkYXJVUkwgPSBkZWNvZGVFbnRpdGllcygkMSk7Cisg
ICAgcHJpbnQgU1RERVJSICIgIFJhZGFyIFVSTCBmcm9tIGJ1ZyAkYnVnTnVtYmVyOlxuICAgIFwi
JGJ1Z1JhZGFyVVJMXCIuXG4iOworICAgIHJldHVybiAkYnVnUmFkYXJVUkw7Cit9CisKIHN1YiBm
aW5kQ2hhbmdlTG9ncygkJCkKIHsKICAgICBteSAoJGZ1bmN0aW9uTGlzdHMsICRyZXF1aXJlQ2hh
bmdlTG9nVG9FeGlzdCkgPSBAXzsKQEAgLTU1Niw5ICs1ODIsOSBAQCBzdWIgcmVzb2x2ZUNvbmZs
aWN0ZWRDaGFuZ2VMb2dzKCQpCiAgICAgY2xvc2UgUkVTT0xWRTsKIH0KIAotc3ViIGdlbmVyYXRl
TmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkKQorc3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygk
JCQkJCQkJCQkJCQkJCkKIHsKLSAgICBteSAoJHByZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywg
JGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWlyZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRi
dWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5hbWUsICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdl
ciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGltaXRlcnMpID0gQF87CisgICAg
bXkgKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywg
JHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24s
ICRidWdSYWRhclVSTCwgJG5hbWUsICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENv
bW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGltaXRlcnMpID0gQF87CiAKICAgICAjIEdlbmVy
YXRlIG5ldyBDaGFuZ2VMb2cgZW50cmllcyBhbmQgKG9wdGlvbmFsbHkpIHdyaXRlIG91dCBuZXcg
Q2hhbmdlTG9nIGZpbGVzLgogICAgIGZvcmVhY2ggbXkgJHByZWZpeCAoQCRwcmVmaXhlcykgewpA
QCAtNTk1LDYgKzYyMSw3IEBAIHN1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQkJCQkJCQkJCQk
JCkKICAgICAgICAgJGJ1Z0Rlc2NyaXB0aW9uID0gIk5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAo
T09QUyEpLlxuICAgICAgICBOZWVkIHRoZSBidWcgVVJMIChPT1BTISkuIiB1bmxlc3MgJGJ1Z0Rl
c2NyaXB0aW9uOwogICAgICAgICBwcmludCBDSEFOR0VfTE9HIG5vcm1hbGl6ZUxpbmVFbmRpbmdz
KCIgICAgICAgICRidWdEZXNjcmlwdGlvblxuIiwgJGVuZGwpIGlmICRidWdEZXNjcmlwdGlvbjsK
ICAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3JtYWxpemVMaW5lRW5kaW5ncygiICAgICAgICAk
YnVnVVJMXG4iLCAkZW5kbCkgaWYgJGJ1Z1VSTDsKKyAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBu
b3JtYWxpemVMaW5lRW5kaW5ncygiICAgICAgICAkYnVnUmFkYXJVUkxcbiIsICRlbmRsKSBpZiAk
YnVnUmFkYXJVUkw7CiAgICAgICAgIHByaW50IENIQU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGlu
Z3MoIlxuIiwgJGVuZGwpOwogCiAgICAgICAgIHByaW50IENIQU5HRV9MT0cgbm9ybWFsaXplTGlu
ZUVuZGluZ3MoIiAgICAgICAgUmV2aWV3ZWQgYnkgJHJldmlld2VyLlxuXG4iLCAkZW5kbCk7Cg==
</data>
<flag name="review"
          id="293444"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268490</attachid>
            <date>2016-01-07 14:26:06 -0800</date>
            <delta_ts>2016-01-07 14:29:26 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>pco-v2.patch</filename>
            <type>text/plain</type>
            <size>11335</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMTk5
NWY1Li4zZTdhZjYwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTYtMDEtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBwcmVwYXJlLUNoYW5nZUxvZyBzaG91bGQgaW5j
bHVkZSByYWRhciBudW1iZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MjgzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBydW5uaW5n
IGBwcmVwYXJlLUNoYW5nZUxvZyAtYiAjIyNgLCBjaGVjayBmb3IgYSBidWd6aWxsYSBjb21tZW50
IHRoYXQKKyAgICAgICAgc3RhcnRzIHdpdGggYSAiPHJkYXI6Ly9wcm9ibGVtLyMjIyM+IiBVUkwu
IElmIGZvdW5kLCBpbmNsdWRlIHRoYXQgcmFkYXIgVVJMCisgICAgICAgIGluIHRoZSBDaGFuZ2VM
b2cgZGVzY3JpcHRpb24gYWZ0ZXIgdGhlIGJ1ZyBVUkwuCisKKyAgICAgICAgKiBTY3JpcHRzL3By
ZXBhcmUtQ2hhbmdlTG9nOgorICAgICAgICAobWFpbik6IFVwZGF0ZSBzaWduYXR1cmVzLgorICAg
ICAgICAoZmV0Y2hCdWdYTUxEYXRhKTogWE1MIERhdGEgaXMgbm93IHVzZWQgZm9yIG11bHRpcGxl
IHJlYXNvbnMuIEV4dHJhY3QgdGhpcyB0byBqdXN0IGdldCB0aGUgZGF0YS4KKyAgICAgICAgKGZl
dGNoQnVnRGVzY3JpcHRpb25Gcm9tQnVnWE1MRGF0YSk6IFNlYXJjaCBkYXRhIGZvciA8c2hvcnRf
ZGVzYz4uCisgICAgICAgIChmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEpOiBTZWFyY2ggY29t
bWVudCB0ZXh0IGZvciByYWRhciBVUkwuCisgICAgICAgIChnZW5lcmF0ZU5ld0NoYW5nZUxvZ3Mp
OiBJbmNsdWRlIHJhZGFyIFVSTCBpZiB3ZSBmb3VuZCBvbmUuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZmV0Y2hSYWRhclVSTEZyb21C
dWdYTUxEYXRhLnBsOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgZm9yIHRoZSByYWRhciBVUkwgZXh0
cmFjdGlvbi4KKwogMjAxNi0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgogCiAgICAgICAgIFtidWlsZGJvdF0gY2xlYW4tYnVpbGQgc2NyaXB0IHNob3Vs
ZCByZW1vdmUgdW50cmFja2VkIGZpbGVzIGFuZCByZXZlcnQgbG9jYWwgY2hhbmdlcyB0b28KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cgYi9Ub29scy9TY3JpcHRz
L3ByZXBhcmUtQ2hhbmdlTG9nCmluZGV4IGVlMWQ4MTcuLjI3MGJjM2MgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysrIGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJl
LUNoYW5nZUxvZwpAQCAtNzYsMTMgKzc2LDE1IEBAIHN1YiBkaWZmRnJvbVRvU3RyaW5nKCQkJCk7
CiBzdWIgZGlmZkhlYWRlckZvcm1hdCgpOwogc3ViIGV4dHJhY3RMaW5lUmFuZ2VBZnRlckNoYW5n
ZSgkKTsKIHN1YiBleHRyYWN0TGluZVJhbmdlQmVmb3JlQ2hhbmdlKCQpOwotc3ViIGZldGNoQnVn
RGVzY3JpcHRpb25Gcm9tVVJMKCQkKTsKK3N1YiBmZXRjaEJ1Z1hNTERhdGEoJCQpOworc3ViIGZl
dGNoQnVnRGVzY3JpcHRpb25Gcm9tQnVnWE1MRGF0YSgkJCQpOworc3ViIGZldGNoUmFkYXJVUkxG
cm9tQnVnWE1MRGF0YSgkJCk7CiBzdWIgZmluZENoYW5nZUxvZ3MoJCQpOwogc3ViIGZpbmRPcmln
aW5hbEZpbGVGcm9tU3ZuKCQpOwogc3ViIGdlbmVyYXRlRmlsZUxpc3QoXCUkJCQpOwogc3ViIGdl
bmVyYXRlRnVuY3Rpb25MaXN0cygkJCQkJCk7CiBzdWIgZ2VuZXJhdGVGdW5jdGlvbkxpc3RzQnlS
YW5nZXMoJCQkJCk7Ci1zdWIgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCQkJCQkJCQkJCQkJCQpOwor
c3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkJCk7CiBzdWIgZ2V0TGF0ZXN0
Q2hhbmdlTG9ncygkKTsKIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXMoJCQpOwogc3ViIGdl
dF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfY3BwKCQkKTsKQEAgLTEyOSw2ICsxMzEsNyBAQCBl
eGl0KG1haW4oKSk7CiBzdWIgbWFpbigpCiB7CiAgICAgbXkgJGJ1Z0Rlc2NyaXB0aW9uOworICAg
IG15ICRidWdSYWRhclVSTDsKICAgICBteSAkYnVnTnVtYmVyOwogICAgIG15ICRuYW1lOwogICAg
IG15ICRlbWFpbEFkZHJlc3M7CkBAIC0yMjEsNyArMjI0LDkgQEAgc3ViIG1haW4oKQogICAgIH0K
IAogICAgIGlmICgkYnVnTnVtYmVyICYmICEkYnVnRGVzY3JpcHRpb24pIHsKLSAgICAgICAgJGJ1
Z0Rlc2NyaXB0aW9uID0gZmV0Y2hCdWdEZXNjcmlwdGlvbkZyb21VUkwoJGJ1Z1VSTCwgJGJ1Z051
bWJlcik7CisgICAgICAgIG15ICRidWdYTUxEYXRhID0gZmV0Y2hCdWdYTUxEYXRhKCRidWdVUkws
ICRidWdOdW1iZXIpOworICAgICAgICAkYnVnRGVzY3JpcHRpb24gPSBmZXRjaEJ1Z0Rlc2NyaXB0
aW9uRnJvbUJ1Z1hNTERhdGEoJGJ1Z1VSTCwgJGJ1Z051bWJlciwgJGJ1Z1hNTERhdGEpOworICAg
ICAgICAkYnVnUmFkYXJVUkwgPSBmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEoJGJ1Z051bWJl
ciwgJGJ1Z1hNTERhdGEpOwogICAgIH0KIAogICAgIG15ICgkZmlsZXNJbkNoYW5nZUxvZywgJHBy
ZWZpeGVzKSA9IGZpbmRDaGFuZ2VMb2dzKCRmdW5jdGlvbkxpc3RzLCAkd3JpdGVDaGFuZ2VMb2dz
KTsKQEAgLTIzMyw3ICsyMzgsNyBAQCBzdWIgbWFpbigpCiAgICAgICAgIHJlc29sdmVDb25mbGlj
dGVkQ2hhbmdlTG9ncygkY2hhbmdlTG9ncyk7CiAgICAgfQogCi0gICAgZ2VuZXJhdGVOZXdDaGFu
Z2VMb2dzKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0
cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRp
b24sICRuYW1lLCAkZW1haWxBZGRyZXNzLCAkZ2l0UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0
ZUNoYW5nZUxvZ3MsICRkZWxpbWl0ZXJzKTsKKyAgICBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJHBy
ZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWly
ZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJGJ1Z1Jh
ZGFyVVJMLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0Q29tbWl0LCAk
d3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycyk7CiAKICAgICBpZiAoJHdyaXRlQ2hhbmdlTG9n
cykgewogICAgICAgICBwcmludCBTVERFUlIgIi0tIFBsZWFzZSByZW1lbWJlciB0byBpbmNsdWRl
IGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gaW4geW91ciBDaGFuZ2VMb2cgZW50cnkuIC0tXG4tLSBT
ZWUgPGh0dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbD4gZm9yIG1vcmUg
aW5mbyAtLVxuIjsKQEAgLTQxOCw3ICs0MjMsNyBAQCBzdWIgY2hhbmdlTG9nRW1haWxBZGRyZXNz
RnJvbUFyZ3MoJCQpCiAgICAgcmV0dXJuICRlbWFpbEFkZHJlc3NGcm9tQXJncyB8fCBjaGFuZ2VM
b2dFbWFpbEFkZHJlc3MoKTsKIH0KIAotc3ViIGZldGNoQnVnRGVzY3JpcHRpb25Gcm9tVVJMKCQk
KQorc3ViIGZldGNoQnVnWE1MRGF0YSgkJCkKIHsKICAgICBteSAoJGJ1Z1VSTCwgJGJ1Z051bWJl
cikgPSBAXzsKIApAQCAtNDI2LDI1ICs0MzEsNDYgQEAgc3ViIGZldGNoQnVnRGVzY3JpcHRpb25G
cm9tVVJMKCQkKQogICAgICMgUGVybCBoYXMgbm8gYnVpbHQgaW4gWE1MIHByb2Nlc3NpbmcsIHNv
IHdlJ2xsIGZldGNoIGFuZCBwYXJzZSB3aXRoIGN1cmwgYW5kIGdyZXAKICAgICAjIFBhc3MgLS1p
bnNlY3VyZSBiZWNhdXNlIHNvbWUgY3lnd2luIGluc3RhbGxzIGhhdmUgbm8gY2VydHMgd2UgZG9u
J3QKICAgICAjIGNhcmUgYWJvdXQgdmFsaWRhdGluZyB0aGF0IGJ1Z3Mud2Via2l0Lm9yZyBpcyB3
aG8gaXQgc2F5cyBpdCBpcyBoZXJlLgotICAgIG15ICRkZXNjcmlwdGlvbkxpbmUgPSBgY3VybCAt
LWluc2VjdXJlIC0tc2lsZW50ICIkYnVnWE1MVVJMIiB8IGdyZXAgc2hvcnRfZGVzY2A7Ci0gICAg
aWYgKCRkZXNjcmlwdGlvbkxpbmUgIX4gLzxzaG9ydF9kZXNjPiguKik8XC9zaG9ydF9kZXNjPi8p
IHsKKyAgICBteSAkeG1sRGF0YSA9IGBjdXJsIC0taW5zZWN1cmUgLS1zaWxlbnQgIiRidWdYTUxV
UkwiYDsKKyAgICBpZiAoJHhtbERhdGEgIX4gLzxcP3htbC8pIHsKICAgICAgICAgIyBNYXliZSB0
aGUgcmVhc29uIHRoZSBhYm92ZSBkaWQgbm90IHdvcmsgaXMgYmVjYXVzZSB0aGUgY3VybCB0aGF0
IGlzIGluc3RhbGxlZCBkb2Vzbid0CiAgICAgICAgICMgc3VwcG9ydCBzc2wgYXQgYWxsLgogICAg
ICAgICBpZiAoYGN1cmwgLS12ZXJzaW9uIHwgZ3JlcCBeUHJvdG9jb2xzYCAhfiAvXGJodHRwc1xi
LykgewogICAgICAgICAgICAgcHJpbnQgU1RERVJSICIgIENvdWxkIG5vdCBnZXQgZGVzY3JpcHRp
b24gZm9yIGJ1ZyAkYnVnTnVtYmVyLlxuIjsKICAgICAgICAgICAgIHByaW50IFNUREVSUiAiICBJ
dCBsb29rcyBsaWtlIHlvdXIgdmVyc2lvbiBvZiBjdXJsIGRvZXMgbm90IHN1cHBvcnQgc3NsLlxu
IjsKICAgICAgICAgICAgIHByaW50IFNUREVSUiAiICBJZiB5b3UgYXJlIHVzaW5nIG1hY3BvcnRz
LCB0aGlzIGNhbiBiZSBmaXhlZCB3aXRoIHN1ZG8gcG9ydCBpbnN0YWxsIGN1cmwgK3NzbC5cbiI7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmludCBTVERFUlIgIiAgQnVnICRidWdO
dW1iZXIgaGFzIG5vIGJ1ZyBkZXNjcmlwdGlvbi4gTWF5YmUgeW91IHNldCB3cm9uZyBidWcgSUQ/
XG4iOwotICAgICAgICAgICAgcHJpbnQgU1RERVJSICIgIFRoZSBidWcgVVJMOiAkYnVnWE1MVVJM
XG4iOwogICAgICAgICB9CiAgICAgICAgIGV4aXQgMTsKICAgICB9CisgICAgcmV0dXJuICR4bWxE
YXRhOworfQorCitzdWIgZmV0Y2hCdWdEZXNjcmlwdGlvbkZyb21CdWdYTUxEYXRhKCQkJCkKK3sK
KyAgICBteSAoJGJ1Z1VSTCwgJGJ1Z051bWJlciwgJGJ1Z1hNTERhdGEpID0gQF87CisKKyAgICBp
ZiAoJGJ1Z1hNTERhdGEgIX4gLzxzaG9ydF9kZXNjPiguKik8XC9zaG9ydF9kZXNjPi8pIHsKKyAg
ICAgICAgcHJpbnQgU1RERVJSICIgIEJ1ZyAkYnVnTnVtYmVyIGhhcyBubyBidWcgZGVzY3JpcHRp
b24uIE1heWJlIHlvdSBzZXQgd3JvbmcgYnVnIElEP1xuIjsKKyAgICAgICAgcHJpbnQgU1RERVJS
ICIgIFRoZSBidWcgVVJMOiAkYnVnVVJMXG4iOworICAgICAgICBleGl0IDE7CisgICAgfQorCiAg
ICAgbXkgJGJ1Z0Rlc2NyaXB0aW9uID0gZGVjb2RlRW50aXRpZXMoJDEpOwogICAgIHByaW50IFNU
REVSUiAiICBEZXNjcmlwdGlvbiBmcm9tIGJ1ZyAkYnVnTnVtYmVyOlxuICAgIFwiJGJ1Z0Rlc2Ny
aXB0aW9uXCIuXG4iOwogICAgIHJldHVybiAkYnVnRGVzY3JpcHRpb247CiB9CiAKK3N1YiBmZXRj
aFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEoJCQpCit7CisgICAgbXkgKCRidWdOdW1iZXIsICRidWdY
TUxEYXRhKSA9IEBfOworCisgICAgcmV0dXJuICIiIGlmICRidWdYTUxEYXRhICF+IG18PHRoZXRl
eHQ+XHMqKCZsdDtyZGFyOi8vcHJvYmxlbS9cZCsmZ3Q7KXw7CisKKyAgICBteSAkYnVnUmFkYXJV
UkwgPSBkZWNvZGVFbnRpdGllcygkMSk7CisgICAgcHJpbnQgU1RERVJSICIgIFJhZGFyIFVSTCBm
cm9tIGJ1ZyAkYnVnTnVtYmVyOlxuICAgIFwiJGJ1Z1JhZGFyVVJMXCIuXG4iOworICAgIHJldHVy
biAkYnVnUmFkYXJVUkw7Cit9CisKIHN1YiBmaW5kQ2hhbmdlTG9ncygkJCkKIHsKICAgICBteSAo
JGZ1bmN0aW9uTGlzdHMsICRyZXF1aXJlQ2hhbmdlTG9nVG9FeGlzdCkgPSBAXzsKQEAgLTU1Niw5
ICs1ODIsOSBAQCBzdWIgcmVzb2x2ZUNvbmZsaWN0ZWRDaGFuZ2VMb2dzKCQpCiAgICAgY2xvc2Ug
UkVTT0xWRTsKIH0KIAotc3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkKQor
c3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkJCkKIHsKLSAgICBteSAoJHBy
ZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWly
ZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5hbWUs
ICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9n
cywgJGRlbGltaXRlcnMpID0gQF87CisgICAgbXkgKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VM
b2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3Rz
LCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24sICRidWdSYWRhclVSTCwgJG5hbWUsICRlbWFpbEFk
ZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGlt
aXRlcnMpID0gQF87CiAKICAgICAjIEdlbmVyYXRlIG5ldyBDaGFuZ2VMb2cgZW50cmllcyBhbmQg
KG9wdGlvbmFsbHkpIHdyaXRlIG91dCBuZXcgQ2hhbmdlTG9nIGZpbGVzLgogICAgIGZvcmVhY2gg
bXkgJHByZWZpeCAoQCRwcmVmaXhlcykgewpAQCAtNTk1LDYgKzYyMSw3IEBAIHN1YiBnZW5lcmF0
ZU5ld0NoYW5nZUxvZ3MoJCQkJCQkJCQkJCQkJCkKICAgICAgICAgJGJ1Z0Rlc2NyaXB0aW9uID0g
Ik5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLlxuICAgICAgICBOZWVkIHRoZSBidWcg
VVJMIChPT1BTISkuIiB1bmxlc3MgJGJ1Z0Rlc2NyaXB0aW9uOwogICAgICAgICBwcmludCBDSEFO
R0VfTE9HIG5vcm1hbGl6ZUxpbmVFbmRpbmdzKCIgICAgICAgICRidWdEZXNjcmlwdGlvblxuIiwg
JGVuZGwpIGlmICRidWdEZXNjcmlwdGlvbjsKICAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3Jt
YWxpemVMaW5lRW5kaW5ncygiICAgICAgICAkYnVnVVJMXG4iLCAkZW5kbCkgaWYgJGJ1Z1VSTDsK
KyAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3JtYWxpemVMaW5lRW5kaW5ncygiICAgICAgICAk
YnVnUmFkYXJVUkxcbiIsICRlbmRsKSBpZiAkYnVnUmFkYXJVUkw7CiAgICAgICAgIHByaW50IENI
QU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGluZ3MoIlxuIiwgJGVuZGwpOwogCiAgICAgICAgIHBy
aW50IENIQU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGluZ3MoIiAgICAgICAgUmV2aWV3ZWQgYnkg
JHJldmlld2VyLlxuXG4iLCAkZW5kbCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZmV0Y2hSYWRhclVSTEZyb21CdWdYTUxE
YXRhLnBsIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0
ZXN0L2ZldGNoUmFkYXJVUkxGcm9tQnVnWE1MRGF0YS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwLi4wNzkwZGIyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L2ZldGNoUmFkYXJVUkxGcm9tQnVn
WE1MRGF0YS5wbApAQCAtMCwwICsxLDEwMiBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjCisjIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMg
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisjIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCit1c2Ugc3RyaWN0OwordXNlIHdh
cm5pbmdzOworCit1c2UgVGVzdDo6TW9yZTsKK3VzZSBGaW5kQmluOwordXNlIGxpYiBGaWxlOjpT
cGVjLT5jYXRkaXIoJEZpbmRCaW46OkJpbiwgIi4uIik7Cit1c2UgTG9hZEFzTW9kdWxlIHF3KFBy
ZXBhcmVDaGFuZ2VMb2cgcHJlcGFyZS1DaGFuZ2VMb2cpOworCisjIE5PVEU6IEEgQnVnemlsbGEg
Q29tbWVudCBYTUwgbG9va3MgbGlrZToKKyMKKyMgICAgIDxsb25nX2Rlc2MgaXNwcml2YXRlPSIw
Ij4KKyMgICAgICAgPGNvbW1lbnRpZD4xMTUzNDY3PC9jb21tZW50aWQ+CisjICAgICAgIDx3aG8g
bmFtZT0iUmFkYXIgV2ViS2l0IEJ1ZyBJbXBvcnRlciI+d2Via2l0LWJ1Zy1pbXBvcnRlcjwvd2hv
PgorIyAgICAgICA8YnVnX3doZW4+MjAxNi0wMS0wNyAxMTowNjoxNCAtMDgwMDwvYnVnX3doZW4+
CisjICAgICAgIDx0aGV0ZXh0PiZsdDtyZGFyOi8vcHJvYmxlbS8yNDA5MzU2MyZndDs8L3RoZXRl
eHQ+CisjICAgICA8L2xvbmdfZGVzYz4KKyMKKyMgQnV0IGZvciB0aGVzZSB0ZXN0cyBJIHdpbGwg
c2ltcGxpZnkgdGhlIFhNTCB0byBqdXN0IHRoZSA8dGhldGV4dD4gYmxvY2tzLgorCitteSBAdGVz
dENhc2VIYXNoUmVmcyA9ICgKKworIyMjCisjICBDb21tZW50cyB3aGVyZSBhIFJhZGFyIFVSTCB3
aWxsIGJlIGRldGVjdGVkLgorIyMKK3sKKyAgICB0ZXN0TmFtZSA9PiAiUmFkYXIgVVJMIGNvbW1l
bnQiLAorICAgIGlucHV0VGV4dCA9PiAiPHRoZXRleHQ+Jmx0O3JkYXI6Ly9wcm9ibGVtLzI0MDkz
NTYzJmd0OzwvdGhldGV4dD4iLAorICAgIGV4cGVjdGVkID0+ICI8cmRhcjovL3Byb2JsZW0vMjQw
OTM1NjM+IgorfSwKK3sKKyAgICB0ZXN0TmFtZSA9PiAiUmFkYXIgVVJMIGNvbW1lbnQgd2l0aCBs
ZWFkaW5nIHdoaXRlc3BhY2UiLAorICAgIGlucHV0VGV4dCA9PiAiPHRoZXRleHQ+ICAgJmx0O3Jk
YXI6Ly9wcm9ibGVtLzI0MDkzNTYzJmd0OzwvdGhldGV4dD4iLAorICAgIGV4cGVjdGVkID0+ICI8
cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+IgorfSwKK3sKKyAgICB0ZXN0TmFtZSA9PiAiUmFkYXIg
VVJMIGNvbW1lbnQgd2l0aCB0cmFpbGluZyB0aXRsZSIsCisgICAgaW5wdXRUZXh0ID0+ICI8dGhl
dGV4dD4mbHQ7cmRhcjovL3Byb2JsZW0vMjQwOTM1NjMmZ3Q7IFJhZGFyIFRpdGxlIEhlcmU8L3Ro
ZXRleHQ+IiwKKyAgICBleHBlY3RlZCA9PiAiPHJkYXI6Ly9wcm9ibGVtLzI0MDkzNTYzPiIKK30s
Cit7CisgICAgdGVzdE5hbWUgPT4gIk11bHRpcGxlIGNvbW1lbnRzLCBkZXRlY3QgZmlyc3QgUmFk
YXIgVVJMIGNvbW1lbnQiLAorICAgIGlucHV0VGV4dCA9PiAiPHRoZXRleHQ+Q29tbWVudCAxPC90
aGV0ZXh0PlxuPHRoZXRleHQ+Jmx0O3JkYXI6Ly9wcm9ibGVtLzI0MDkzNTYzJmd0OzwvdGhldGV4
dD48dGhldGV4dD4mbHQ7cmRhcjovL3Byb2JsZW0vOTk5OTk5OTkmZ3Q7PC90aGV0ZXh0PiIsCisg
ICAgZXhwZWN0ZWQgPT4gIjxyZGFyOi8vcHJvYmxlbS8yNDA5MzU2Mz4iCit9LAorCisKKyMjIwor
IyAgQ29tbWVudHMgd2hlcmUgYSBSYWRhciBVUkwgd2lsbCBub3QgYmUgZGV0ZWN0ZWQuCisjIwor
eworICAgIHRlc3ROYW1lID0+ICJFbXB0eSBjb21tZW50IiwKKyAgICBpbnB1dFRleHQgPT4gIiIs
CisgICAgZXhwZWN0ZWQgPT4gIiIKK30sCit7CisgICAgdGVzdE5hbWUgPT4gIkNvbW1lbnQgd2l0
aG91dCByYWRhciBVUkwgbGluayIsCisgICAgaW5wdXRUZXh0ID0+ICI8dGhldGV4dD5Db21tZW50
IHRleHQ8L3RoZXRleHQ+IiwKKyAgICBleHBlY3RlZCA9PiAiIgorfSwKK3sKKyAgICB0ZXN0TmFt
ZSA9PiAiUmFkYXIgVVJMIGNvbW1lbnQgd2l0aCBsZWFkaW5nIHRleHQiLAorICAgIGlucHV0VGV4
dCA9PiAiPHRoZXRleHQ+Q2hlY2sgb3V0OiAmbHQ7cmRhcjovL3Byb2JsZW0vMjQwOTM1NjMmZ3Q7
PC90aGV0ZXh0PiIsCisgICAgZXhwZWN0ZWQgPT4gIiIKK30sCisKKyk7CisKKyMgSWdub3JlIFNU
REVSUiBvdXRwdXQgZnJvbSBmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEgZm9yIHRoZSB0ZXN0
IGNhc2VzLgorY2xvc2UgU1RERVJSOworCitteSAkdGVzdENhc2VzQ291bnQgPSBAdGVzdENhc2VI
YXNoUmVmczsKK3BsYW4odGVzdHMgPT4gJHRlc3RDYXNlc0NvdW50KTsKKworZm9yZWFjaCBteSAk
dGVzdENhc2UgKEB0ZXN0Q2FzZUhhc2hSZWZzKSB7CisgICAgbXkgJGV4cGVjdGVkID0gJHRlc3RD
YXNlLT57ZXhwZWN0ZWR9OworICAgIG15ICRnb3QgPSBQcmVwYXJlQ2hhbmdlTG9nOjpmZXRjaFJh
ZGFyVVJMRnJvbUJ1Z1hNTERhdGEoMTUyODM5LCAkdGVzdENhc2UtPntpbnB1dFRleHR9KTsKKyAg
ICBpcygkZ290LCAkZXhwZWN0ZWQsICR0ZXN0Q2FzZS0+e3Rlc3ROYW1lfSk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268493</attachid>
            <date>2016-01-07 14:29:26 -0800</date>
            <delta_ts>2016-01-07 18:18:19 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>pco-v3.patch</filename>
            <type>text/plain</type>
            <size>11331</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMTk5
NWY1Li4zZTdhZjYwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTYtMDEtMDcgIEpvc2VwaCBQZWNvcmFybyAgPHBl
Y29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBwcmVwYXJlLUNoYW5nZUxvZyBzaG91bGQgaW5j
bHVkZSByYWRhciBudW1iZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MjgzOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBydW5uaW5n
IGBwcmVwYXJlLUNoYW5nZUxvZyAtYiAjIyNgLCBjaGVjayBmb3IgYSBidWd6aWxsYSBjb21tZW50
IHRoYXQKKyAgICAgICAgc3RhcnRzIHdpdGggYSAiPHJkYXI6Ly9wcm9ibGVtLyMjIyM+IiBVUkwu
IElmIGZvdW5kLCBpbmNsdWRlIHRoYXQgcmFkYXIgVVJMCisgICAgICAgIGluIHRoZSBDaGFuZ2VM
b2cgZGVzY3JpcHRpb24gYWZ0ZXIgdGhlIGJ1ZyBVUkwuCisKKyAgICAgICAgKiBTY3JpcHRzL3By
ZXBhcmUtQ2hhbmdlTG9nOgorICAgICAgICAobWFpbik6IFVwZGF0ZSBzaWduYXR1cmVzLgorICAg
ICAgICAoZmV0Y2hCdWdYTUxEYXRhKTogWE1MIERhdGEgaXMgbm93IHVzZWQgZm9yIG11bHRpcGxl
IHJlYXNvbnMuIEV4dHJhY3QgdGhpcyB0byBqdXN0IGdldCB0aGUgZGF0YS4KKyAgICAgICAgKGZl
dGNoQnVnRGVzY3JpcHRpb25Gcm9tQnVnWE1MRGF0YSk6IFNlYXJjaCBkYXRhIGZvciA8c2hvcnRf
ZGVzYz4uCisgICAgICAgIChmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEpOiBTZWFyY2ggY29t
bWVudCB0ZXh0IGZvciByYWRhciBVUkwuCisgICAgICAgIChnZW5lcmF0ZU5ld0NoYW5nZUxvZ3Mp
OiBJbmNsdWRlIHJhZGFyIFVSTCBpZiB3ZSBmb3VuZCBvbmUuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZmV0Y2hSYWRhclVSTEZyb21C
dWdYTUxEYXRhLnBsOiBBZGRlZC4KKyAgICAgICAgVGVzdHMgZm9yIHRoZSByYWRhciBVUkwgZXh0
cmFjdGlvbi4KKwogMjAxNi0wMS0wNyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgogCiAgICAgICAgIFtidWlsZGJvdF0gY2xlYW4tYnVpbGQgc2NyaXB0IHNob3Vs
ZCByZW1vdmUgdW50cmFja2VkIGZpbGVzIGFuZCByZXZlcnQgbG9jYWwgY2hhbmdlcyB0b28KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cgYi9Ub29scy9TY3JpcHRz
L3ByZXBhcmUtQ2hhbmdlTG9nCmluZGV4IGVlMWQ4MTcuLjI3MGJjM2MgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysrIGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJl
LUNoYW5nZUxvZwpAQCAtNzYsMTMgKzc2LDE1IEBAIHN1YiBkaWZmRnJvbVRvU3RyaW5nKCQkJCk7
CiBzdWIgZGlmZkhlYWRlckZvcm1hdCgpOwogc3ViIGV4dHJhY3RMaW5lUmFuZ2VBZnRlckNoYW5n
ZSgkKTsKIHN1YiBleHRyYWN0TGluZVJhbmdlQmVmb3JlQ2hhbmdlKCQpOwotc3ViIGZldGNoQnVn
RGVzY3JpcHRpb25Gcm9tVVJMKCQkKTsKK3N1YiBmZXRjaEJ1Z1hNTERhdGEoJCQpOworc3ViIGZl
dGNoQnVnRGVzY3JpcHRpb25Gcm9tQnVnWE1MRGF0YSgkJCQpOworc3ViIGZldGNoUmFkYXJVUkxG
cm9tQnVnWE1MRGF0YSgkJCk7CiBzdWIgZmluZENoYW5nZUxvZ3MoJCQpOwogc3ViIGZpbmRPcmln
aW5hbEZpbGVGcm9tU3ZuKCQpOwogc3ViIGdlbmVyYXRlRmlsZUxpc3QoXCUkJCQpOwogc3ViIGdl
bmVyYXRlRnVuY3Rpb25MaXN0cygkJCQkJCk7CiBzdWIgZ2VuZXJhdGVGdW5jdGlvbkxpc3RzQnlS
YW5nZXMoJCQkJCk7Ci1zdWIgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCQkJCQkJCQkJCQkJCQpOwor
c3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkJCk7CiBzdWIgZ2V0TGF0ZXN0
Q2hhbmdlTG9ncygkKTsKIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXMoJCQpOwogc3ViIGdl
dF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfY3BwKCQkKTsKQEAgLTEyOSw2ICsxMzEsNyBAQCBl
eGl0KG1haW4oKSk7CiBzdWIgbWFpbigpCiB7CiAgICAgbXkgJGJ1Z0Rlc2NyaXB0aW9uOworICAg
IG15ICRidWdSYWRhclVSTDsKICAgICBteSAkYnVnTnVtYmVyOwogICAgIG15ICRuYW1lOwogICAg
IG15ICRlbWFpbEFkZHJlc3M7CkBAIC0yMjEsNyArMjI0LDkgQEAgc3ViIG1haW4oKQogICAgIH0K
IAogICAgIGlmICgkYnVnTnVtYmVyICYmICEkYnVnRGVzY3JpcHRpb24pIHsKLSAgICAgICAgJGJ1
Z0Rlc2NyaXB0aW9uID0gZmV0Y2hCdWdEZXNjcmlwdGlvbkZyb21VUkwoJGJ1Z1VSTCwgJGJ1Z051
bWJlcik7CisgICAgICAgIG15ICRidWdYTUxEYXRhID0gZmV0Y2hCdWdYTUxEYXRhKCRidWdVUkws
ICRidWdOdW1iZXIpOworICAgICAgICAkYnVnRGVzY3JpcHRpb24gPSBmZXRjaEJ1Z0Rlc2NyaXB0
aW9uRnJvbUJ1Z1hNTERhdGEoJGJ1Z1VSTCwgJGJ1Z051bWJlciwgJGJ1Z1hNTERhdGEpOworICAg
ICAgICAkYnVnUmFkYXJVUkwgPSBmZXRjaFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEoJGJ1Z051bWJl
ciwgJGJ1Z1hNTERhdGEpOwogICAgIH0KIAogICAgIG15ICgkZmlsZXNJbkNoYW5nZUxvZywgJHBy
ZWZpeGVzKSA9IGZpbmRDaGFuZ2VMb2dzKCRmdW5jdGlvbkxpc3RzLCAkd3JpdGVDaGFuZ2VMb2dz
KTsKQEAgLTIzMyw3ICsyMzgsNyBAQCBzdWIgbWFpbigpCiAgICAgICAgIHJlc29sdmVDb25mbGlj
dGVkQ2hhbmdlTG9ncygkY2hhbmdlTG9ncyk7CiAgICAgfQogCi0gICAgZ2VuZXJhdGVOZXdDaGFu
Z2VMb2dzKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0
cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRp
b24sICRuYW1lLCAkZW1haWxBZGRyZXNzLCAkZ2l0UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0
ZUNoYW5nZUxvZ3MsICRkZWxpbWl0ZXJzKTsKKyAgICBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJHBy
ZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWly
ZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJGJ1Z1Jh
ZGFyVVJMLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0Q29tbWl0LCAk
d3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycyk7CiAKICAgICBpZiAoJHdyaXRlQ2hhbmdlTG9n
cykgewogICAgICAgICBwcmludCBTVERFUlIgIi0tIFBsZWFzZSByZW1lbWJlciB0byBpbmNsdWRl
IGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gaW4geW91ciBDaGFuZ2VMb2cgZW50cnkuIC0tXG4tLSBT
ZWUgPGh0dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbD4gZm9yIG1vcmUg
aW5mbyAtLVxuIjsKQEAgLTQxOCw3ICs0MjMsNyBAQCBzdWIgY2hhbmdlTG9nRW1haWxBZGRyZXNz
RnJvbUFyZ3MoJCQpCiAgICAgcmV0dXJuICRlbWFpbEFkZHJlc3NGcm9tQXJncyB8fCBjaGFuZ2VM
b2dFbWFpbEFkZHJlc3MoKTsKIH0KIAotc3ViIGZldGNoQnVnRGVzY3JpcHRpb25Gcm9tVVJMKCQk
KQorc3ViIGZldGNoQnVnWE1MRGF0YSgkJCkKIHsKICAgICBteSAoJGJ1Z1VSTCwgJGJ1Z051bWJl
cikgPSBAXzsKIApAQCAtNDI2LDI1ICs0MzEsNDYgQEAgc3ViIGZldGNoQnVnRGVzY3JpcHRpb25G
cm9tVVJMKCQkKQogICAgICMgUGVybCBoYXMgbm8gYnVpbHQgaW4gWE1MIHByb2Nlc3NpbmcsIHNv
IHdlJ2xsIGZldGNoIGFuZCBwYXJzZSB3aXRoIGN1cmwgYW5kIGdyZXAKICAgICAjIFBhc3MgLS1p
bnNlY3VyZSBiZWNhdXNlIHNvbWUgY3lnd2luIGluc3RhbGxzIGhhdmUgbm8gY2VydHMgd2UgZG9u
J3QKICAgICAjIGNhcmUgYWJvdXQgdmFsaWRhdGluZyB0aGF0IGJ1Z3Mud2Via2l0Lm9yZyBpcyB3
aG8gaXQgc2F5cyBpdCBpcyBoZXJlLgotICAgIG15ICRkZXNjcmlwdGlvbkxpbmUgPSBgY3VybCAt
LWluc2VjdXJlIC0tc2lsZW50ICIkYnVnWE1MVVJMIiB8IGdyZXAgc2hvcnRfZGVzY2A7Ci0gICAg
aWYgKCRkZXNjcmlwdGlvbkxpbmUgIX4gLzxzaG9ydF9kZXNjPiguKik8XC9zaG9ydF9kZXNjPi8p
IHsKKyAgICBteSAkeG1sRGF0YSA9IGBjdXJsIC0taW5zZWN1cmUgLS1zaWxlbnQgIiRidWdYTUxV
UkwiYDsKKyAgICBpZiAoJHhtbERhdGEgIX4gLzxcP3htbC8pIHsKICAgICAgICAgIyBNYXliZSB0
aGUgcmVhc29uIHRoZSBhYm92ZSBkaWQgbm90IHdvcmsgaXMgYmVjYXVzZSB0aGUgY3VybCB0aGF0
IGlzIGluc3RhbGxlZCBkb2Vzbid0CiAgICAgICAgICMgc3VwcG9ydCBzc2wgYXQgYWxsLgogICAg
ICAgICBpZiAoYGN1cmwgLS12ZXJzaW9uIHwgZ3JlcCBeUHJvdG9jb2xzYCAhfiAvXGJodHRwc1xi
LykgewogICAgICAgICAgICAgcHJpbnQgU1RERVJSICIgIENvdWxkIG5vdCBnZXQgZGVzY3JpcHRp
b24gZm9yIGJ1ZyAkYnVnTnVtYmVyLlxuIjsKICAgICAgICAgICAgIHByaW50IFNUREVSUiAiICBJ
dCBsb29rcyBsaWtlIHlvdXIgdmVyc2lvbiBvZiBjdXJsIGRvZXMgbm90IHN1cHBvcnQgc3NsLlxu
IjsKICAgICAgICAgICAgIHByaW50IFNUREVSUiAiICBJZiB5b3UgYXJlIHVzaW5nIG1hY3BvcnRz
LCB0aGlzIGNhbiBiZSBmaXhlZCB3aXRoIHN1ZG8gcG9ydCBpbnN0YWxsIGN1cmwgK3NzbC5cbiI7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwcmludCBTVERFUlIgIiAgQnVnICRidWdO
dW1iZXIgaGFzIG5vIGJ1ZyBkZXNjcmlwdGlvbi4gTWF5YmUgeW91IHNldCB3cm9uZyBidWcgSUQ/
XG4iOwotICAgICAgICAgICAgcHJpbnQgU1RERVJSICIgIFRoZSBidWcgVVJMOiAkYnVnWE1MVVJM
XG4iOwogICAgICAgICB9CiAgICAgICAgIGV4aXQgMTsKICAgICB9CisgICAgcmV0dXJuICR4bWxE
YXRhOworfQorCitzdWIgZmV0Y2hCdWdEZXNjcmlwdGlvbkZyb21CdWdYTUxEYXRhKCQkJCkKK3sK
KyAgICBteSAoJGJ1Z1VSTCwgJGJ1Z051bWJlciwgJGJ1Z1hNTERhdGEpID0gQF87CisKKyAgICBp
ZiAoJGJ1Z1hNTERhdGEgIX4gLzxzaG9ydF9kZXNjPiguKik8XC9zaG9ydF9kZXNjPi8pIHsKKyAg
ICAgICAgcHJpbnQgU1RERVJSICIgIEJ1ZyAkYnVnTnVtYmVyIGhhcyBubyBidWcgZGVzY3JpcHRp
b24uIE1heWJlIHlvdSBzZXQgd3JvbmcgYnVnIElEP1xuIjsKKyAgICAgICAgcHJpbnQgU1RERVJS
ICIgIFRoZSBidWcgVVJMOiAkYnVnVVJMXG4iOworICAgICAgICBleGl0IDE7CisgICAgfQorCiAg
ICAgbXkgJGJ1Z0Rlc2NyaXB0aW9uID0gZGVjb2RlRW50aXRpZXMoJDEpOwogICAgIHByaW50IFNU
REVSUiAiICBEZXNjcmlwdGlvbiBmcm9tIGJ1ZyAkYnVnTnVtYmVyOlxuICAgIFwiJGJ1Z0Rlc2Ny
aXB0aW9uXCIuXG4iOwogICAgIHJldHVybiAkYnVnRGVzY3JpcHRpb247CiB9CiAKK3N1YiBmZXRj
aFJhZGFyVVJMRnJvbUJ1Z1hNTERhdGEoJCQpCit7CisgICAgbXkgKCRidWdOdW1iZXIsICRidWdY
TUxEYXRhKSA9IEBfOworCisgICAgcmV0dXJuICIiIGlmICRidWdYTUxEYXRhICF+IG18PHRoZXRl
eHQ+XHMqKCZsdDtyZGFyOi8vcHJvYmxlbS9cZCsmZ3Q7KXw7CisKKyAgICBteSAkYnVnUmFkYXJV
UkwgPSBkZWNvZGVFbnRpdGllcygkMSk7CisgICAgcHJpbnQgU1RERVJSICIgIFJhZGFyIFVSTCBm
cm9tIGJ1ZyAkYnVnTnVtYmVyOlxuICAgIFwiJGJ1Z1JhZGFyVVJMXCIuXG4iOworICAgIHJldHVy
biAkYnVnUmFkYXJVUkw7Cit9CisKIHN1YiBmaW5kQ2hhbmdlTG9ncygkJCkKIHsKICAgICBteSAo
JGZ1bmN0aW9uTGlzdHMsICRyZXF1aXJlQ2hhbmdlTG9nVG9FeGlzdCkgPSBAXzsKQEAgLTU1Niw5
ICs1ODIsOSBAQCBzdWIgcmVzb2x2ZUNvbmZsaWN0ZWRDaGFuZ2VMb2dzKCQpCiAgICAgY2xvc2Ug
UkVTT0xWRTsKIH0KIAotc3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkKQor
c3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkJCkKIHsKLSAgICBteSAoJHBy
ZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWly
ZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5hbWUs
ICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9n
cywgJGRlbGltaXRlcnMpID0gQF87CisgICAgbXkgKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VM
b2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3Rz
LCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24sICRidWdSYWRhclVSTCwgJG5hbWUsICRlbWFpbEFk
ZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGlt
aXRlcnMpID0gQF87CiAKICAgICAjIEdlbmVyYXRlIG5ldyBDaGFuZ2VMb2cgZW50cmllcyBhbmQg
KG9wdGlvbmFsbHkpIHdyaXRlIG91dCBuZXcgQ2hhbmdlTG9nIGZpbGVzLgogICAgIGZvcmVhY2gg
bXkgJHByZWZpeCAoQCRwcmVmaXhlcykgewpAQCAtNTk1LDYgKzYyMSw3IEBAIHN1YiBnZW5lcmF0
ZU5ld0NoYW5nZUxvZ3MoJCQkJCQkJCQkJCQkJCkKICAgICAgICAgJGJ1Z0Rlc2NyaXB0aW9uID0g
Ik5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiAoT09QUyEpLlxuICAgICAgICBOZWVkIHRoZSBidWcg
VVJMIChPT1BTISkuIiB1bmxlc3MgJGJ1Z0Rlc2NyaXB0aW9uOwogICAgICAgICBwcmludCBDSEFO
R0VfTE9HIG5vcm1hbGl6ZUxpbmVFbmRpbmdzKCIgICAgICAgICRidWdEZXNjcmlwdGlvblxuIiwg
JGVuZGwpIGlmICRidWdEZXNjcmlwdGlvbjsKICAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3Jt
YWxpemVMaW5lRW5kaW5ncygiICAgICAgICAkYnVnVVJMXG4iLCAkZW5kbCkgaWYgJGJ1Z1VSTDsK
KyAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3JtYWxpemVMaW5lRW5kaW5ncygiICAgICAgICAk
YnVnUmFkYXJVUkxcbiIsICRlbmRsKSBpZiAkYnVnUmFkYXJVUkw7CiAgICAgICAgIHByaW50IENI
QU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGluZ3MoIlxuIiwgJGVuZGwpOwogCiAgICAgICAgIHBy
aW50IENIQU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGluZ3MoIiAgICAgICAgUmV2aWV3ZWQgYnkg
JHJldmlld2VyLlxuXG4iLCAkZW5kbCk7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvZmV0Y2hSYWRhclVSTEZyb21CdWdYTUxE
YXRhLnBsIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0
ZXN0L2ZldGNoUmFkYXJVUkxGcm9tQnVnWE1MRGF0YS5wbApuZXcgZmlsZSBtb2RlIDEwMDc1NQpp
bmRleCAwMDAwMDAwLi5hMTVkODE3Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L2ZldGNoUmFkYXJVUkxGcm9tQnVn
WE1MRGF0YS5wbApAQCAtMCwwICsxLDEwMSBAQAorIyEvdXNyL2Jpbi9wZXJsIC13CisjCisjIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMg
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisjIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisjIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyMgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisjIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisjIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCit1c2Ugc3RyaWN0OwordXNlIHdh
cm5pbmdzOworCit1c2UgVGVzdDo6TW9yZTsKK3VzZSBGaW5kQmluOwordXNlIGxpYiBGaWxlOjpT
cGVjLT5jYXRkaXIoJEZpbmRCaW46OkJpbiwgIi4uIik7Cit1c2UgTG9hZEFzTW9kdWxlIHF3KFBy
ZXBhcmVDaGFuZ2VMb2cgcHJlcGFyZS1DaGFuZ2VMb2cpOworCisjIE5PVEU6IEEgQnVnemlsbGEg
Q29tbWVudCBYTUwgbG9va3MgbGlrZToKKyMKKyMgICAgIDxsb25nX2Rlc2MgaXNwcml2YXRlPSIw
Ij4KKyMgICAgICAgPGNvbW1lbnRpZD4xMTUzNDY3PC9jb21tZW50aWQ+CisjICAgICAgIDx3aG8g
bmFtZT0iUmFkYXIgV2ViS2l0IEJ1ZyBJbXBvcnRlciI+d2Via2l0LWJ1Zy1pbXBvcnRlcjwvd2hv
PgorIyAgICAgICA8YnVnX3doZW4+MjAxNi0wMS0wNyAxMTowNjoxNCAtMDgwMDwvYnVnX3doZW4+
CisjICAgICAgIDx0aGV0ZXh0PiZsdDtyZGFyOi8vcHJvYmxlbS8yNDA5MzU2MyZndDs8L3RoZXRl
eHQ+CisjICAgICA8L2xvbmdfZGVzYz4KKyMKKyMgQnV0IGZvciB0aGVzZSB0ZXN0cyB3ZSBzaW1w
bGlmeSB0aGUgWE1MIHRvIGp1c3QgdGhlIDx0aGV0ZXh0PiBibG9ja3MuCisKK215IEB0ZXN0Q2Fz
ZUhhc2hSZWZzID0gKAorCisjIyMKKyMgIENvbW1lbnRzIHdoZXJlIGEgUmFkYXIgVVJMIHdpbGwg
YmUgZGV0ZWN0ZWQuCisjIworeworICAgIHRlc3ROYW1lID0+ICJSYWRhciBVUkwgY29tbWVudCIs
CisgICAgaW5wdXRUZXh0ID0+ICI8dGhldGV4dD4mbHQ7cmRhcjovL3Byb2JsZW0vMjQwOTM1NjMm
Z3Q7PC90aGV0ZXh0PiIsCisgICAgZXhwZWN0ZWQgPT4gIjxyZGFyOi8vcHJvYmxlbS8yNDA5MzU2
Mz4iCit9LAoreworICAgIHRlc3ROYW1lID0+ICJSYWRhciBVUkwgY29tbWVudCB3aXRoIGxlYWRp
bmcgd2hpdGVzcGFjZSIsCisgICAgaW5wdXRUZXh0ID0+ICI8dGhldGV4dD4gICAmbHQ7cmRhcjov
L3Byb2JsZW0vMjQwOTM1NjMmZ3Q7PC90aGV0ZXh0PiIsCisgICAgZXhwZWN0ZWQgPT4gIjxyZGFy
Oi8vcHJvYmxlbS8yNDA5MzU2Mz4iCit9LAoreworICAgIHRlc3ROYW1lID0+ICJSYWRhciBVUkwg
Y29tbWVudCB3aXRoIHRyYWlsaW5nIHRpdGxlIiwKKyAgICBpbnB1dFRleHQgPT4gIjx0aGV0ZXh0
PiZsdDtyZGFyOi8vcHJvYmxlbS8yNDA5MzU2MyZndDsgUmFkYXIgVGl0bGUgSGVyZTwvdGhldGV4
dD4iLAorICAgIGV4cGVjdGVkID0+ICI8cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+IgorfSwKK3sK
KyAgICB0ZXN0TmFtZSA9PiAiTXVsdGlwbGUgY29tbWVudHMsIGRldGVjdCBmaXJzdCBSYWRhciBV
UkwgY29tbWVudCIsCisgICAgaW5wdXRUZXh0ID0+ICI8dGhldGV4dD5Db21tZW50IDE8L3RoZXRl
eHQ+XG48dGhldGV4dD4mbHQ7cmRhcjovL3Byb2JsZW0vMjQwOTM1NjMmZ3Q7PC90aGV0ZXh0Plxu
PHRoZXRleHQ+Jmx0O3JkYXI6Ly9wcm9ibGVtLzk5OTk5OTk5Jmd0OzwvdGhldGV4dD4iLAorICAg
IGV4cGVjdGVkID0+ICI8cmRhcjovL3Byb2JsZW0vMjQwOTM1NjM+IgorfSwKKworIyMjCisjICBD
b21tZW50cyB3aGVyZSBhIFJhZGFyIFVSTCB3aWxsIG5vdCBiZSBkZXRlY3RlZC4KKyMjCit7Cisg
ICAgdGVzdE5hbWUgPT4gIkVtcHR5IGNvbW1lbnQiLAorICAgIGlucHV0VGV4dCA9PiAiIiwKKyAg
ICBleHBlY3RlZCA9PiAiIgorfSwKK3sKKyAgICB0ZXN0TmFtZSA9PiAiQ29tbWVudCB3aXRob3V0
IHJhZGFyIFVSTCBsaW5rIiwKKyAgICBpbnB1dFRleHQgPT4gIjx0aGV0ZXh0PkNvbW1lbnQgdGV4
dDwvdGhldGV4dD4iLAorICAgIGV4cGVjdGVkID0+ICIiCit9LAoreworICAgIHRlc3ROYW1lID0+
ICJSYWRhciBVUkwgY29tbWVudCB3aXRoIGxlYWRpbmcgdGV4dCIsCisgICAgaW5wdXRUZXh0ID0+
ICI8dGhldGV4dD5DaGVjayBvdXQ6ICZsdDtyZGFyOi8vcHJvYmxlbS8yNDA5MzU2MyZndDs8L3Ro
ZXRleHQ+IiwKKyAgICBleHBlY3RlZCA9PiAiIgorfSwKKworKTsKKworIyBJZ25vcmUgU1RERVJS
IG91dHB1dCBmcm9tIGZldGNoUmFkYXJVUkxGcm9tQnVnWE1MRGF0YSBmb3IgdGhlIHRlc3QgY2Fz
ZXMuCitjbG9zZSBTVERFUlI7CisKK215ICR0ZXN0Q2FzZXNDb3VudCA9IEB0ZXN0Q2FzZUhhc2hS
ZWZzOworcGxhbih0ZXN0cyA9PiAkdGVzdENhc2VzQ291bnQpOworCitmb3JlYWNoIG15ICR0ZXN0
Q2FzZSAoQHRlc3RDYXNlSGFzaFJlZnMpIHsKKyAgICBteSAkZXhwZWN0ZWQgPSAkdGVzdENhc2Ut
PntleHBlY3RlZH07CisgICAgbXkgJGdvdCA9IFByZXBhcmVDaGFuZ2VMb2c6OmZldGNoUmFkYXJV
UkxGcm9tQnVnWE1MRGF0YSgxNTI4MzksICR0ZXN0Q2FzZS0+e2lucHV0VGV4dH0pOworICAgIGlz
KCRnb3QsICRleHBlY3RlZCwgJHRlc3RDYXNlLT57dGVzdE5hbWV9KTsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>