<?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>155166</bug_id>
          
          <creation_ts>2016-03-08 02:42:10 -0800</creation_ts>
          <short_desc>Implement rel=noopener</short_desc>
          <delta_ts>2016-10-25 13:20:32 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>http://code.google.com/p/chromium/issues/detail?id=168988</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=163960</see_also>
          <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="Mathias Bynens">mathias</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>alwillis</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>mathias</cc>
    
    <cc>m.goleb+bugzilla</cc>
    
    <cc>mkwst</cc>
    
    <cc>sam</cc>
    
    <cc>teppeis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171998</commentid>
    <comment_count>0</comment_count>
    <who name="Mathias Bynens">mathias</who>
    <bug_when>2016-03-08 02:42:10 -0800</bug_when>
    <thetext>Spec: https://html.spec.whatwg.org/multipage/semantics.html#link-type-noopener

Discussion/background: https://github.com/whatwg/html/pull/290

Explainer: https://mathiasbynens.github.io/rel-noopener/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175330</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2016-03-16 05:20:59 -0700</bug_when>
    <thetext>CCing potentially interested folks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1175371</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-03-16 09:38:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/25193787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244010</commentid>
    <comment_count>3</comment_count>
      <attachid>292690</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-24 18:17:22 -0700</bug_when>
    <thetext>Created attachment 292690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244017</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-24 18:23:14 -0700</bug_when>
    <thetext>We should also support the &quot;noopener&quot; feature for window.open(). I&apos;ll file a separate bug about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244043</commentid>
    <comment_count>5</comment_count>
      <attachid>292690</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-24 19:06:10 -0700</bug_when>
    <thetext>Comment on attachment 292690
Patch

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

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:-252
&gt; -        // Update HTMLAnchorElement::relList() if more rel attributes values are supported.

I didn&apos;t mean to remove this comment. I&apos;ll restore it before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244061</commentid>
    <comment_count>6</comment_count>
      <attachid>292690</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-10-24 20:10:56 -0700</bug_when>
    <thetext>Comment on attachment 292690
Patch

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

r=me

&gt; Source/WebCore/html/HTMLAnchorElement.h:-55
&gt; -//     RelationUp          = 0x00020000,

Are all of these implemented now? :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244062</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-24 20:13:17 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 292690 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=292690&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/html/HTMLAnchorElement.h:-55
&gt; &gt; -//     RelationUp          = 0x00020000,
&gt; 
&gt; Are all of these implemented now? :-)

No, but there&apos;s no point in leaving the list of unimplemented values in a comment. The HTML spec is the right place for that list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244063</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-24 20:13:54 -0700</bug_when>
    <thetext>And thanks for the review :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244301</commentid>
    <comment_count>9</comment_count>
      <attachid>292786</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-25 11:11:06 -0700</bug_when>
    <thetext>Created attachment 292786
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244324</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 11:58:44 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 292786:

transitions/default-timing-function.html bug 138901 (author: simon.fraser@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244325</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 11:58:49 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 292786:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244382</commentid>
    <comment_count>12</comment_count>
      <attachid>292786</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 13:20:26 -0700</bug_when>
    <thetext>Comment on attachment 292786
Patch

Clearing flags on attachment: 292786

Committed r207840: &lt;http://trac.webkit.org/changeset/207840&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244383</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-25 13:20:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292690</attachid>
            <date>2016-10-24 18:17:22 -0700</date>
            <delta_ts>2016-10-25 11:11:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155166-20161024181337.patch</filename>
            <type>text/plain</type>
            <size>18924</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg3NWZmM2RmY2EzNTli
ODA0ODJjMjE3ZmUyYzZkNTMyZmY3ZGJjYy4uMDE1ZDczNGRiZjI0N2E0ODcxM2Q1M2JjMTJkNjBi
NzM2NjEyZTNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTI0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcmVsPW5vb3Bl
bmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUx
NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1MTkzNzg3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIHJlbD1ub29w
ZW5lciB0byBhIGFuZCBhcmVhIGVsZW1lbnRzLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9X
aW5kb3cvYS1yZWwtbm9vcGVuZXIuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vV2luZG93
L2FyZWEtcmVsLW5vb3BlbmVyLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEFuY2hvckVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OkhUTUxBbmNob3JF
bGVtZW50KTogU3RvcHBlZCBpbml0aWFsaXppbmcgbV9saW5rUmVsYXRpb25zIHRvIDAuCisgICAg
ICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBEZWNsYXJl
ZCBzdGF0aWMgQXRvbWljU3RyaW5ncyBmb3IgIm5vcmVmZXJyZXIiCisgICAgICAgIGFuZCAibm9v
cGVuZXIiLCBhbmQgY3JlYXRlZCBhIFNwYWNlU3BsaXRTdHJpbmcgZnJvbSB0aGUgcmVsIGF0dHJp
YnV0ZSB2YWx1ZSB0byB0ZXN0IGZvciB0aGVzZQorICAgICAgICB0d28gdmFsdWVzLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6Omhhc1JlbCk6IFVwZGF0ZWQgdG8gdXNlIE9w
dGlvblNldDo6Y29udGFpbnMoKS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50
OjpyZWxMaXN0KTogQWRkZWQgYSBjaGVjayBmb3IgIm5vb3BlbmVyIi4KKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayk6IFBhc3NlZCBOZXdGcmFtZU9wZW5l
clBvbGljeTo6U3VwcHJlc3MgdG8KKyAgICAgICAgRnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKCkg
aWYgcmVsPW5vb3BlbmVyIHdhcyBzcGVjaWZpZWQuCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5oOiBDaGFuZ2VkIHRoZSBSZWxhdGlvbiBlbnVtIHRvIGFuIGVudW0gY2xhc3MsIHJl
bW92ZWQgdW51c2VkIGVudW0KKyAgICAgICAgdmFsdWVzLCBhbmQgY2hhbmdlZCBtX2xpbmtSZWxh
dGlvbnMgZnJvbSBhIDMwLWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIGFuIE9wdGlvblNldDxSZWxh
dGlvbj4KKyAgICAgICAgKEhUTUxBbmNob3JFbGVtZW50IGlzIHN0aWxsIDEyOCBieXRlcyBvbiA2
NC1iaXQpLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQpOiBDaGFuZ2VkIHRvIG9ubHkgY29tcHV0ZSBh
IE5ld0ZyYW1lT3BlbmVyUG9saWN5IGZyb20gdGhlCisgICAgICAgIHJlZmVycmVyIHBvbGljeSBp
ZiBhbiBleHBsaWNpdCBOZXdGcmFtZU9wZW5lclBvbGljeSBpc24ndCBzcGVjaWZpZWQuIFJlbW92
ZWQgdGhlIHZlcnNpb24gb2YKKyAgICAgICAgdXJsU2VsZWN0ZWQoKSB0aGF0IGRpZCBub3QgdGFr
ZSBhIGRvd25sb2FkQXR0cmlidXRlIHBhcmFtZXRlci4KKyAgICAgICAgKiBsb2FkZXIvRnJhbWVM
b2FkZXIuaDogQWRkZWQgYW4gT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+IHBhcmFtZXRl
ciB0byB1cmxTZWxlY3RlZCgpLAorICAgICAgICBhbmQgc2V0IGEgZGVmYXVsdCBhcmd1bWVudCBm
b3IgZG93bmxvYWRBdHRyaWJ1dGUgaW5zdGVhZCBvZiBoYXZpbmcgYSBzZWNvbmQgdmVyc2lvbiBv
ZgorICAgICAgICB1cmxTZWxlY3RlZCgpLgorCiAyMDE2LTEwLTI0ICBaYW4gRG9iZXJzZWsgIDx6
ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbQ29kZUdlbmVyYXRvcl0gT25seSBhbGxv
dyBhIHNpbmdsZSBpbnRlcmZhY2Ugb3Igc3RhbmRhbG9uZSBkaWN0aW9uYXJ5IHBlciBXZWJJREwg
ZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAppbmRleCA3YjZj
NGVlMTY4Y2Q2NWRmMDg0NjI1ZTBiNmI5NzdjNGM4ZDUwNzY2Li5mOTM4NWY1Y2M5MWJjNzdjOTkx
ZjAyOGExZDRiYzJhMjU5NzliZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcApAQCAtNTksNyArNTksNiBAQCBIVE1MQW5jaG9yRWxlbWVudDo6SFRNTEFuY2hv
ckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvYwogICAg
IDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCiAgICAgLCBtX2hhc1Jvb3RFZGl0YWJs
ZUVsZW1lbnRGb3JTZWxlY3Rpb25Pbk1vdXNlRG93bihmYWxzZSkKICAgICAsIG1fd2FzU2hpZnRL
ZXlEb3duT25Nb3VzZURvd24oZmFsc2UpCi0gICAgLCBtX2xpbmtSZWxhdGlvbnMoMCkKICAgICAs
IG1fY2FjaGVkVmlzaXRlZExpbmtIYXNoKDApCiB7CiB9CkBAIC0yNDksOSArMjQ4LDE0IEBAIHZv
aWQgSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b21pY1N0CiAgICAgfSBlbHNlIGlmIChuYW1lID09IG5hbWVBdHRyIHx8
IG5hbWUgPT0gdGl0bGVBdHRyKSB7CiAgICAgICAgIC8vIERvIG5vdGhpbmcuCiAgICAgfSBlbHNl
IGlmIChuYW1lID09IHJlbEF0dHIpIHsKLSAgICAgICAgLy8gVXBkYXRlIEhUTUxBbmNob3JFbGVt
ZW50OjpyZWxMaXN0KCkgaWYgbW9yZSByZWwgYXR0cmlidXRlcyB2YWx1ZXMgYXJlIHN1cHBvcnRl
ZC4KLSAgICAgICAgaWYgKFNwYWNlU3BsaXRTdHJpbmc6OnNwYWNlU3BsaXRTdHJpbmdDb250YWlu
c1ZhbHVlKHZhbHVlLCAibm9yZWZlcnJlciIsIHRydWUpKQotICAgICAgICAgICAgbV9saW5rUmVs
YXRpb25zIHw9IFJlbGF0aW9uTm9SZWZlcnJlcjsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEF0b21pY1N0cmluZz4gbm9SZWZlcnJlcigibm9yZWZlcnJlciIsIEF0b21pY1N0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRv
bWljU3RyaW5nPiBub09wZW5lcigibm9vcGVuZXIiLCBBdG9taWNTdHJpbmc6OkNvbnN0cnVjdEZy
b21MaXRlcmFsKTsKKyAgICAgICAgY29uc3QgYm9vbCBzaG91bGRGb2xkQ2FzZSA9IHRydWU7Cisg
ICAgICAgIFNwYWNlU3BsaXRTdHJpbmcgcmVsVmFsdWUodmFsdWUsIHNob3VsZEZvbGRDYXNlKTsK
KyAgICAgICAgaWYgKHJlbFZhbHVlLmNvbnRhaW5zKG5vUmVmZXJyZXIpKQorICAgICAgICAgICAg
bV9saW5rUmVsYXRpb25zIHw9IFJlbGF0aW9uOjpOb1JlZmVycmVyOworICAgICAgICBpZiAocmVs
VmFsdWUuY29udGFpbnMobm9PcGVuZXIpKQorICAgICAgICAgICAgbV9saW5rUmVsYXRpb25zIHw9
IFJlbGF0aW9uOjpOb09wZW5lcjsKICAgICAgICAgaWYgKG1fcmVsTGlzdCkKICAgICAgICAgICAg
IG1fcmVsTGlzdC0+YXNzb2NpYXRlZEF0dHJpYnV0ZVZhbHVlQ2hhbmdlZCh2YWx1ZSk7CiAgICAg
fQpAQCAtMjk2LDE2ICszMDAsMTYgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0SHJlZihj
b25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQogICAgIHNldEF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oaHJlZkF0dHIsIHZhbHVlKTsKIH0KIAotYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6
aGFzUmVsKHVpbnQzMl90IHJlbGF0aW9uKSBjb25zdAorYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6
aGFzUmVsKFJlbGF0aW9uIHJlbGF0aW9uKSBjb25zdAogewotICAgIHJldHVybiBtX2xpbmtSZWxh
dGlvbnMgJiByZWxhdGlvbjsKKyAgICByZXR1cm4gbV9saW5rUmVsYXRpb25zLmNvbnRhaW5zKHJl
bGF0aW9uKTsKIH0KIAogRE9NVG9rZW5MaXN0JiBIVE1MQW5jaG9yRWxlbWVudDo6cmVsTGlzdCgp
CiB7CiAgICAgaWYgKCFtX3JlbExpc3QpIAogICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2Vf
dW5pcXVlPERPTVRva2VuTGlzdD4oKnRoaXMsIEhUTUxOYW1lczo6cmVsQXR0ciwgW10oU3RyaW5n
VmlldyB0b2tlbikgewotICAgICAgICAgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2Uo
dG9rZW4sICJub3JlZmVycmVyIik7CisgICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FT
Q0lJQ2FzZSh0b2tlbiwgIm5vcmVmZXJyZXIiKSB8fCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKHRv
a2VuLCAibm9vcGVuZXIiKTsKICAgICAgICAgfSk7CiAgICAgcmV0dXJuICptX3JlbExpc3Q7CiB9
CkBAIC0zODksNyArMzkzLDkgQEAgdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6aGFuZGxlQ2xpY2so
RXZlbnQmIGV2ZW50KQogICAgIH0KICNlbmRpZgogCi0gICAgZnJhbWUtPmxvYWRlcigpLnVybFNl
bGVjdGVkKGNvbXBsZXRlZFVSTCwgdGFyZ2V0KCksICZldmVudCwgTG9ja0hpc3Rvcnk6Ok5vLCBM
b2NrQmFja0ZvcndhcmRMaXN0OjpObywgaGFzUmVsKFJlbGF0aW9uTm9SZWZlcnJlcikgPyBOZXZl
clNlbmRSZWZlcnJlciA6IE1heWJlU2VuZFJlZmVycmVyLCBkb2N1bWVudCgpLnNob3VsZE9wZW5F
eHRlcm5hbFVSTHNQb2xpY3lUb1Byb3BhZ2F0ZSgpLCBkb3dubG9hZEF0dHJpYnV0ZSk7CisgICAg
U2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciA9IGhhc1JlbChSZWxhdGlvbjo6
Tm9SZWZlcnJlcikgPyBOZXZlclNlbmRSZWZlcnJlciA6IE1heWJlU2VuZFJlZmVycmVyOworICAg
IGF1dG8gbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBoYXNSZWwoUmVsYXRpb246Ok5vT3BlbmVyKSA/
IG1ha2VPcHRpb25hbChOZXdGcmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3MpIDogTnVsbG9wdDsK
KyAgICBmcmFtZS0+bG9hZGVyKCkudXJsU2VsZWN0ZWQoY29tcGxldGVkVVJMLCB0YXJnZXQoKSwg
JmV2ZW50LCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBzaG91bGRT
ZW5kUmVmZXJyZXIsIGRvY3VtZW50KCkuc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeVRvUHJv
cGFnYXRlKCksIG5ld0ZyYW1lT3BlbmVyUG9saWN5LCBkb3dubG9hZEF0dHJpYnV0ZSk7CiAKICAg
ICBzZW5kUGluZ3MoY29tcGxldGVkVVJMKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaAppbmRleCAzNjY1ZTRhNjZiNzk2MTNhMzg2MjU5M2E4OTdjMTMwOTJjNGI4OWIy
Li5hN2JjNjA5OWUxMjU5MWU1MmE3MGMxYjVjY2NkYjNiZDcwMDg1NGY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0yLDcgKzIsNyBAQAogICogQ29weXJpZ2h0
IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDE5
OTkgQW50dGkgS29pdmlzdG8gKGtvaXZpc3RvQGtkZS5vcmcpCiAgKiAgICAgICAgICAgKEMpIDIw
MDAgU2ltb24gSGF1c21hbm4gPGhhdXNtYW5uQGtkZS5vcmc+Ci0gKiBDb3B5cmlnaHQgKEMpIDIw
MDcsIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA3LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yNywzMiArMjcsMTYgQEAKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIlVSTFV0aWxzLmgiCisjaW5j
bHVkZSA8d3RmL09wdGlvblNldC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERP
TVRva2VuTGlzdDsKIAogLy8gTGluayByZWxhdGlvbiBiaXRtYXNrIHZhbHVlcy4KLS8vIEZJWE1F
OiBVbmNvbW1lbnQgYXMgdGhlIHZhcmlvdXMgbGluayByZWxhdGlvbnMgYXJlIGltcGxlbWVudGVk
LgotZW51bSB7Ci0vLyAgICAgUmVsYXRpb25BbHRlcm5hdGUgICA9IDB4MDAwMDAwMDEsCi0vLyAg
ICAgUmVsYXRpb25BcmNoaXZlcyAgICA9IDB4MDAwMDAwMDIsCi0vLyAgICAgUmVsYXRpb25BdXRo
b3IgICAgICA9IDB4MDAwMDAwMDQsCi0vLyAgICAgUmVsYXRpb25Cb29tYXJrICAgICA9IDB4MDAw
MDAwMDgsCi0vLyAgICAgUmVsYXRpb25FeHRlcm5hbCAgICA9IDB4MDAwMDAwMTAsCi0vLyAgICAg
UmVsYXRpb25GaXJzdCAgICAgICA9IDB4MDAwMDAwMjAsCi0vLyAgICAgUmVsYXRpb25IZWxwICAg
ICAgICA9IDB4MDAwMDAwNDAsCi0vLyAgICAgUmVsYXRpb25JbmRleCAgICAgICA9IDB4MDAwMDAw
ODAsCi0vLyAgICAgUmVsYXRpb25MYXN0ICAgICAgICA9IDB4MDAwMDAxMDAsCi0vLyAgICAgUmVs
YXRpb25MaWNlbnNlICAgICA9IDB4MDAwMDAyMDAsCi0vLyAgICAgUmVsYXRpb25OZXh0ICAgICAg
ICA9IDB4MDAwMDA0MDAsCi0vLyAgICAgUmVsYXRpb25Ob0ZvbG93ICAgID0gMHgwMDAwMDgwMCwK
LSAgICBSZWxhdGlvbk5vUmVmZXJyZXIgICAgID0gMHgwMDAwMTAwMCwKLS8vICAgICBSZWxhdGlv
blByZXYgICAgICAgID0gMHgwMDAwMjAwMCwKLS8vICAgICBSZWxhdGlvblNlYXJjaCAgICAgID0g
MHgwMDAwNDAwMCwKLS8vICAgICBSZWxhdGlvblNpZGViYXIgICAgID0gMHgwMDAwODAwMCwKLS8v
ICAgICBSZWxhdGlvblRhZyAgICAgICAgID0gMHgwMDAxMDAwMCwKLS8vICAgICBSZWxhdGlvblVw
ICAgICAgICAgID0gMHgwMDAyMDAwMCwKK2VudW0gY2xhc3MgUmVsYXRpb24geworICAgIE5vUmVm
ZXJyZXIgPSAxIDw8IDAsCisgICAgTm9PcGVuZXIgPSAxIDw8IDEsCiB9OwogCiBjbGFzcyBIVE1M
QW5jaG9yRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGljIFVSTFV0aWxzPEhUTUxB
bmNob3JFbGVtZW50PiB7CkBAIC03Niw3ICs2MCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgd2ls
bFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBmaW5hbDsKIAotICAgIGJvb2wgaGFzUmVsKHVp
bnQzMl90IHJlbGF0aW9uKSBjb25zdDsKKyAgICBib29sIGhhc1JlbChSZWxhdGlvbikgY29uc3Q7
CiAgICAgCiAgICAgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNoKCkgY29uc3Q7CiAgICAgdm9pZCBp
bnZhbGlkYXRlQ2FjaGVkVmlzaXRlZExpbmtIYXNoKCkgeyBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFz
aCA9IDA7IH0KQEAgLTExNyw5ICsxMDEsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0Um9vdEVk
aXRhYmxlRWxlbWVudEZvclNlbGVjdGlvbk9uTW91c2VEb3duKEVsZW1lbnQqKTsKICAgICB2b2lk
IGNsZWFyUm9vdEVkaXRhYmxlRWxlbWVudEZvclNlbGVjdGlvbk9uTW91c2VEb3duKCk7CiAKLSAg
ICBib29sIG1faGFzUm9vdEVkaXRhYmxlRWxlbWVudEZvclNlbGVjdGlvbk9uTW91c2VEb3duIDog
MTsKLSAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25Nb3VzZURvd24gOiAxOwotICAgIHVpbnQz
Ml90IG1fbGlua1JlbGF0aW9ucyA6IDMwOworICAgIGJvb2wgbV9oYXNSb290RWRpdGFibGVFbGVt
ZW50Rm9yU2VsZWN0aW9uT25Nb3VzZURvd247CisgICAgYm9vbCBtX3dhc1NoaWZ0S2V5RG93bk9u
TW91c2VEb3duOworICAgIE9wdGlvblNldDxSZWxhdGlvbj4gbV9saW5rUmVsYXRpb25zOwogICAg
IG11dGFibGUgTGlua0hhc2ggbV9jYWNoZWRWaXNpdGVkTGlua0hhc2g7CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8RE9NVG9rZW5MaXN0PiBtX3JlbExpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcAppbmRleCAyMGE4MmFkZmFlNTM2Y2M1NGU1OGFhYTM4MGY1OGVjMGRlNGEwOGE0
Li44ZmRiYzM5NTIwMzlkYmJiNmZiMmVlNGYwMmQ1ZThmYjhkNjgwMDMyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTM0NSwyMCArMzQ1LDEyIEBAIHZvaWQgRnJhbWVM
b2FkZXI6OmNoYW5nZUxvY2F0aW9uKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJlcXVlc3QpCiAg
ICAgdXJsU2VsZWN0ZWQocmVxdWVzdCwgbnVsbHB0cik7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6
OnVybFNlbGVjdGVkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3NlZFRhcmdldCwg
RXZlbnQqIHRyaWdnZXJpbmdFdmVudCwgTG9ja0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNr
Rm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyIHNob3Vs
ZFNlbmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSBzaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5LCBjb25zdCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlKQor
dm9pZCBGcmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgcGFzc2VkVGFyZ2V0LCBFdmVudCogdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2Nr
SGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRT
ZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9s
aWN5IHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIE9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVy
UG9saWN5PiBvcGVuZXJQb2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1
dGUpCiB7Ci0gICAgTmV3RnJhbWVPcGVuZXJQb2xpY3kgbmV3RnJhbWVPcGVuZXJQb2xpY3kgPSBz
aG91bGRTZW5kUmVmZXJyZXIgPT0gTmV2ZXJTZW5kUmVmZXJyZXIgPyBOZXdGcmFtZU9wZW5lclBv
bGljeTo6U3VwcHJlc3MgOiBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3c7Ci0KKyAgICBOZXdG
cmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSA9IG9wZW5lclBvbGljeS52YWx1
ZU9yKHNob3VsZFNlbmRSZWZlcnJlciA9PSBOZXZlclNlbmRSZWZlcnJlciA/IE5ld0ZyYW1lT3Bl
bmVyUG9saWN5OjpTdXBwcmVzcyA6IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdyk7CiAgICAg
dXJsU2VsZWN0ZWQoRnJhbWVMb2FkUmVxdWVzdChtX2ZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5
T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCh1cmwpLCBwYXNzZWRUYXJnZXQsIGxvY2tIaXN0b3J5
LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBzaG91bGRTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlv
blRvSW52YWxpZFVSTDo6WWVzLCBuZXdGcmFtZU9wZW5lclBvbGljeSwgRG9Ob3RSZXBsYWNlRG9j
dW1lbnRJZkphdmFTY3JpcHRVUkwsIHNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIGRvd25s
b2FkQXR0cmlidXRlKSwgdHJpZ2dlcmluZ0V2ZW50KTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBF
dmVudCogdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tG
b3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxk
U2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3kpCi17Ci0gICAgTmV3RnJhbWVPcGVuZXJQb2xpY3kgbmV3RnJhbWVPcGVu
ZXJQb2xpY3kgPSBzaG91bGRTZW5kUmVmZXJyZXIgPT0gTmV2ZXJTZW5kUmVmZXJyZXIgPyBOZXdG
cmFtZU9wZW5lclBvbGljeTo6U3VwcHJlc3MgOiBOZXdGcmFtZU9wZW5lclBvbGljeTo6QWxsb3c7
Ci0KLSAgICB1cmxTZWxlY3RlZChGcmFtZUxvYWRSZXF1ZXN0KG1fZnJhbWUuZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KHVybCksIHBhc3NlZFRhcmdldCwgbG9j
a0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExpc3QsIHNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMsIG5ld0ZyYW1lT3BlbmVyUG9saWN5LCBEb05vdFJl
cGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGlj
eSwgbnVsbEF0b20pLCB0cmlnZ2VyaW5nRXZlbnQpOwotfQotCiB2b2lkIEZyYW1lTG9hZGVyOjp1
cmxTZWxlY3RlZChjb25zdCBGcmFtZUxvYWRSZXF1ZXN0JiBwYXNzZWRSZXF1ZXN0LCBFdmVudCog
dHJpZ2dlcmluZ0V2ZW50KQogewogICAgIFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKaW5kZXggNjE0ZTUyNmM5MGYyYWE5Y2I5OTg1ZWM5
N2NlYzRiNDkzZGU4Yzg4ZC4uNGNkNWRkZThkZmNhNmQ5ZmNhNzhhY2NhMjJmNTgxN2JiNWRkNTQy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmgKQEAgLTExOSw4ICsxMTksNyBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgbG9uZyBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9s
aWN5LCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFJlZlB0cjxTaGFyZWRCdWZm
ZXI+JiBkYXRhKTsKIAogICAgIHZvaWQgY2hhbmdlTG9jYXRpb24oY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdXJsU2VsZWN0ZWQoY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiB0YXJnZXQsIEV2ZW50KiwgTG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2Fy
ZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwg
Y29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSk7Ci0gICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCB1cmxTZWxlY3RlZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgRXZl
bnQqLCBMb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVy
LCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IHVybFNlbGVjdGVkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBFdmVudCosIExv
Y2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIsIFNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3ksIE9wdGlvbmFsPE5ld0ZyYW1lT3BlbmVyUG9saWN5PiA9
IE51bGxvcHQsIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUgPSBudWxsQXRv
bSk7CiAgICAgdm9pZCBzdWJtaXRGb3JtKFBhc3NSZWZQdHI8Rm9ybVN1Ym1pc3Npb24+KTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVsb2FkKGJvb2wgZW5kVG9FbmRSZWxvYWQgPSBmYWxz
ZSwgYm9vbCBjb250ZW50QmxvY2tlcnNFbmFibGVkID0gdHJ1ZSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWI0MDBiZGJk
OWZhNjNlMzY2OTBmODEyZGYxODVlNWZiNjZmNDFhMC4uMjk1OGUyMjVkZjA2MjVkYzUzYmRjZDhk
YTg1ZWI1MjFjYWZhNjJjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTEwLTI0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcmVsPW5vb3Bl
bmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUx
NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1MTkzNzg3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vRE9NVG9rZW5MaXN0LXN1
cHBvcnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9ET01Ub2tlbkxpc3Qtc3Vw
cG9ydHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVu
ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3Bl
bmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2FyZWEt
cmVsLW5vb3BlbmVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9yZXNv
dXJjZXMvcmVsLW5vb3BlbmVyLmpzOiBBZGRlZC4KKwogMjAxNi0xMC0yNCAgRGF2ZSBIeWF0dCAg
PGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgQ1NTQ2hhcnNldFJ1bGUgZnJvbSB0
aGUgQ1NTIE9NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01Ub2tlbkxpc3Qt
c3VwcG9ydHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NVG9rZW5MaXN0
LXN1cHBvcnRzLWV4cGVjdGVkLnR4dAppbmRleCA4MjMyMDRkYzFhZjAwOWIzODgzZmYzZWZmOTVh
ZDZhNmMxNGNmMjMwLi45ZjllZjY1YWUwMDM1MzMwMWEyNzYxNTc1YjlhMmQ0ODUyY2ZhNzQzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01Ub2tlbkxpc3Qtc3VwcG9ydHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVRva2VuTGlzdC1zdXBwb3J0
cy1leHBlY3RlZC50eHQKQEAgLTIxLDEyICsyMSwxNiBAQCBQQVNTIGxpbmsucmVsTGlzdC5zdXBw
b3J0cygndW5zdXBwb3J0ZWQnKSBpcyBmYWxzZQogUEFTUyBhbmNob3IucmVsTGlzdC5fX3Byb3Rv
X18gaXMgRE9NVG9rZW5MaXN0LnByb3RvdHlwZQogUEFTUyBhbmNob3IucmVsTGlzdC5zdXBwb3J0
cyhhbmNob3JSZWxTdXBwb3J0ZWRWYWx1ZXNbaV0pIGlzIHRydWUKIFBBU1MgYW5jaG9yLnJlbExp
c3Quc3VwcG9ydHMoYW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzW2ldLnRvVXBwZXJDYXNlKCkpIGlz
IHRydWUKK1BBU1MgYW5jaG9yLnJlbExpc3Quc3VwcG9ydHMoYW5jaG9yUmVsU3VwcG9ydGVkVmFs
dWVzW2ldKSBpcyB0cnVlCitQQVNTIGFuY2hvci5yZWxMaXN0LnN1cHBvcnRzKGFuY2hvclJlbFN1
cHBvcnRlZFZhbHVlc1tpXS50b1VwcGVyQ2FzZSgpKSBpcyB0cnVlCiBQQVNTIGFuY2hvci5yZWxM
aXN0LnN1cHBvcnRzKCd1bnN1cHBvcnRlZCcpIGlzIGZhbHNlCiAKICogSFRNTEFyZWFFbGVtZW50
LnJlbExpc3QKIFBBU1MgYXJlYS5yZWxMaXN0Ll9fcHJvdG9fXyBpcyBET01Ub2tlbkxpc3QucHJv
dG90eXBlCiBQQVNTIGFyZWEucmVsTGlzdC5zdXBwb3J0cyhhcmVhUmVsU3VwcG9ydGVkVmFsdWVz
W2ldKSBpcyB0cnVlCiBQQVNTIGFyZWEucmVsTGlzdC5zdXBwb3J0cyhhcmVhUmVsU3VwcG9ydGVk
VmFsdWVzW2ldLnRvVXBwZXJDYXNlKCkpIGlzIHRydWUKK1BBU1MgYXJlYS5yZWxMaXN0LnN1cHBv
cnRzKGFyZWFSZWxTdXBwb3J0ZWRWYWx1ZXNbaV0pIGlzIHRydWUKK1BBU1MgYXJlYS5yZWxMaXN0
LnN1cHBvcnRzKGFyZWFSZWxTdXBwb3J0ZWRWYWx1ZXNbaV0udG9VcHBlckNhc2UoKSkgaXMgdHJ1
ZQogUEFTUyBhcmVhLnJlbExpc3Quc3VwcG9ydHMoJ3Vuc3VwcG9ydGVkJykgaXMgZmFsc2UKIAog
KiBIVE1MSUZyYW1lRWxlbWVudC5zYW5kYm94CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9ET01Ub2tlbkxpc3Qtc3VwcG9ydHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RP
TVRva2VuTGlzdC1zdXBwb3J0cy5odG1sCmluZGV4IDA5NTY1MzUyNDgwMThlNjg0Zjg1NWM2ZGFm
YWJmMzI4MDYxYzNhYzQuLjViNjRkNGNmNDYxOTI1ODljNzIzZDNiNGYxMmEwNDMxOTkzZDVhMGEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVRva2VuTGlzdC1zdXBwb3J0cy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVRva2VuTGlzdC1zdXBwb3J0cy5odG1s
CkBAIC0yMiw3ICsyMiw3IEBAIGRlYnVnKCIiKTsKIGRlYnVnKCIqIEhUTUxBbmNob3JFbGVtZW50
LnJlbExpc3QiKTsKIHZhciBhbmNob3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7CiBz
aG91bGRCZSgiYW5jaG9yLnJlbExpc3QuX19wcm90b19fIiwgIkRPTVRva2VuTGlzdC5wcm90b3R5
cGUiKTsKLXZhciBhbmNob3JSZWxTdXBwb3J0ZWRWYWx1ZXMgPSBbIm5vcmVmZXJyZXIiXTsKK3Zh
ciBhbmNob3JSZWxTdXBwb3J0ZWRWYWx1ZXMgPSBbIm5vcmVmZXJyZXIiLCAibm9vcGVuZXIiXTsK
IGZvciAodmFyIGkgPSAwOyBpIDwgYW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzLmxlbmd0aDsgaSsr
KSB7CiAgICAgc2hvdWxkQmVUcnVlKCJhbmNob3IucmVsTGlzdC5zdXBwb3J0cyhhbmNob3JSZWxT
dXBwb3J0ZWRWYWx1ZXNbaV0pIik7CiAgICAgc2hvdWxkQmVUcnVlKCJhbmNob3IucmVsTGlzdC5z
dXBwb3J0cyhhbmNob3JSZWxTdXBwb3J0ZWRWYWx1ZXNbaV0udG9VcHBlckNhc2UoKSkiKTsKQEAg
LTMzLDcgKzMzLDcgQEAgZGVidWcoIiIpOwogZGVidWcoIiogSFRNTEFyZWFFbGVtZW50LnJlbExp
c3QiKTsKIHZhciBhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYXJlYSIpOwogc2hvdWxk
QmUoImFyZWEucmVsTGlzdC5fX3Byb3RvX18iLCAiRE9NVG9rZW5MaXN0LnByb3RvdHlwZSIpOwot
dmFyIGFyZWFSZWxTdXBwb3J0ZWRWYWx1ZXMgPSBbIm5vcmVmZXJyZXIiXTsKK3ZhciBhcmVhUmVs
U3VwcG9ydGVkVmFsdWVzID0gWyJub3JlZmVycmVyIiwgIm5vb3BlbmVyIl07CiBmb3IgKHZhciBp
ID0gMDsgaSA8IGFyZWFSZWxTdXBwb3J0ZWRWYWx1ZXMubGVuZ3RoOyBpKyspIHsKICAgICBzaG91
bGRCZVRydWUoImFyZWEucmVsTGlzdC5zdXBwb3J0cyhhcmVhUmVsU3VwcG9ydGVkVmFsdWVzW2ld
KSIpOwogICAgIHNob3VsZEJlVHJ1ZSgiYXJlYS5yZWxMaXN0LnN1cHBvcnRzKGFyZWFSZWxTdXBw
b3J0ZWRWYWx1ZXNbaV0udG9VcHBlckNhc2UoKSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhlODcwNGFlOGIzNDg5NjkzNmY0ZjVkY2NlMjRiZWRkZmU0YzkyNDgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMyBAQAorVGVzdCB0aGF0IHdpbmRvdy5vcGVuZXIgaXMgbnVsbCB3aGVu
IGEgbmV3IHdpbmRvdyBpcyBvcGVuZWQgZnJvbSBhbiBhbmNob3IgZWxlbWVudCB3aXRoIHJlbD0n
bm9vcGVuZXInLgorCitQQVNTOiB3aW5kb3cub3BlbmVyIGlzIG51bGwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vV2luZG93L2EtcmVsLW5vb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAwNGQ5
MzdlMmQ3ZjY3OWRiZjc2NjljYjVjNWEzYmU4YWUwNTI5ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci5odG1sCkBAIC0wLDAgKzEs
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorICAgIDxwPlRlc3QgdGhhdCB3
aW5kb3cub3BlbmVyIGlzIG51bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4g
YW5jaG9yIGVsZW1lbnQgd2l0aCByZWw9J25vb3BlbmVyJy48L3A+CisgICAgPGEgaWQ9Imxpbmsi
IGhyZWY9ImEtcmVsLW5vb3BlbmVyLmh0bWwjbmV3LXdpbmRvdyIgdGFyZ2V0PSJfYmxhbmsiIHJl
bD0ibm9vcGVuZXIiPjwvYT4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3JlbC1ub29wZW5lci5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYXJlYS1yZWwt
bm9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEt
cmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmVjZThiNTlhNTY4YjBlNWZl
OWIxYmRlMGUzYTU1YTNlOTY5OTFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKK1Rlc3QgdGhhdCB3aW5kb3cub3BlbmVyIGlzIG51bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMg
b3BlbmVkIGZyb20gYW4gYXJlYSBlbGVtZW50IHdpdGggcmVsPSdub29wZW5lcicuCisKKworUEFT
Uzogd2luZG93Lm9wZW5lciBpcyBudWxsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvYXJlYS1yZWwtbm9vcGVuZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy9hcmVhLXJlbC1ub29wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwMGRlYjQ1YTQwZDYzY2E5
NjUzZDdmNDRkZTIxNzFiYjBhZmExNGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvYXJlYS1yZWwtbm9vcGVuZXIuaHRtbApAQCAtMCwwICsxLDEyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+CisgICAgPHA+VGVzdCB0aGF0IHdpbmRvdy5v
cGVuZXIgaXMgbnVsbCB3aGVuIGEgbmV3IHdpbmRvdyBpcyBvcGVuZWQgZnJvbSBhbiBhcmVhIGVs
ZW1lbnQgd2l0aCByZWw9J25vb3BlbmVyJy48L3A+CisgICAgPGltZyBzcmM9Im5vbi1leGlzdGFu
dC5qcGciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB1c2VtYXA9IiNtYXAiPgorICAgIDxtYXAg
bmFtZT0ibWFwIj4KKyAgICAgICAgPGFyZWEgaWQ9ImxpbmsiIHNoYXBlPSJyZWN0IiBjb29yZHM9
IjAsMCwxMjgsMTI4IiBocmVmPSJhcmVhLXJlbC1ub29wZW5lci5odG1sI25ldy13aW5kb3ciIHRh
cmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4KKyAgICA8L21hcD4KKyAgICA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlbC1ub29wZW5lci5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL1dpbmRvdy9yZXNvdXJjZXMvcmVsLW5vb3BlbmVyLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJiNWQ0
NmVhZTM5N2EzZWRmMWFkYTU3ODlmNWJmNjllYzFhMmQ3YjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qcwpAQCAt
MCwwICsxLDE3IEBACitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLnNl
dENhbk9wZW5XaW5kb3dzKHRydWUpOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitpZiAoZG9jdW1lbnQubG9jYXRpb24u
aGFzaCA9PT0gIiNuZXctd2luZG93IikgeworICAgIHZhciBjb25zb2xlID0gd2luZG93Lm9wZW4o
IiIsICJvcmlnaW5hbFdpbmRvdyIpLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7
CisgICAgaWYgKHdpbmRvdy5vcGVuZXIpCisgICAgICAgIGNvbnNvbGUuaW5uZXJUZXh0ID0gIkZB
SUw6IHdpbmRvdy5vcGVuZXIgaXMgbm9uLW51bGwiOworICAgIGVsc2UKKyAgICAgICAgY29uc29s
ZS5pbm5lclRleHQgPSAiUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsIjsKKyAgICB0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKK30gZWxzZSB7CisgICAgd2luZG93Lm5hbWUgPSAib3JpZ2luYWxX
aW5kb3ciOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaW5rIikuY2xpY2soKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292786</attachid>
            <date>2016-10-25 11:11:06 -0700</date>
            <delta_ts>2016-10-25 13:20:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-155166-20161025110720.patch</filename>
            <type>text/plain</type>
            <size>18865</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg3NWZmM2RmY2EzNTli
ODA0ODJjMjE3ZmUyYzZkNTMyZmY3ZGJjYy4uZmY0NWMzMDc4ZjkzNGE3YjQ3OGMyZGJkZjNhNTQ5
NzRmYTVjYzE3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTEwLTI0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgcmVsPW5vb3Bl
bmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUx
NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1MTkzNzg3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgcmVsPW5vb3Bl
bmVyIHRvIGEgYW5kIGFyZWEgZWxlbWVudHMuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL1dp
bmRvdy9hLXJlbC1ub29wZW5lci5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9XaW5kb3cv
YXJlYS1yZWwtbm9vcGVuZXIuaHRtbAorCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6SFRNTEFuY2hvckVs
ZW1lbnQpOiBTdG9wcGVkIGluaXRpYWxpemluZyBtX2xpbmtSZWxhdGlvbnMgdG8gMC4KKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6IERlY2xhcmVk
IHN0YXRpYyBBdG9taWNTdHJpbmdzIGZvciAibm9yZWZlcnJlciIKKyAgICAgICAgYW5kICJub29w
ZW5lciIsIGFuZCBjcmVhdGVkIGEgU3BhY2VTcGxpdFN0cmluZyBmcm9tIHRoZSByZWwgYXR0cmli
dXRlIHZhbHVlIHRvIHRlc3QgZm9yIHRoZXNlCisgICAgICAgIHR3byB2YWx1ZXMuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6aGFzUmVsKTogVXBkYXRlZCB0byB1c2UgT3B0
aW9uU2V0Ojpjb250YWlucygpLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6
OnJlbExpc3QpOiBBZGRlZCBhIGNoZWNrIGZvciAibm9vcGVuZXIiLgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFuY2hvckVsZW1lbnQ6OmhhbmRsZUNsaWNrKTogUGFzc2VkIE5ld0ZyYW1lT3BlbmVy
UG9saWN5OjpTdXBwcmVzcyB0bworICAgICAgICBGcmFtZUxvYWRlcjo6dXJsU2VsZWN0ZWQoKSBp
ZiByZWw9bm9vcGVuZXIgd2FzIHNwZWNpZmllZC4KKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50Lmg6IENoYW5nZWQgdGhlIFJlbGF0aW9uIGVudW0gdG8gYW4gZW51bSBjbGFzcywgcmVt
b3ZlZCB1bnVzZWQgZW51bQorICAgICAgICB2YWx1ZXMsIGFuZCBjaGFuZ2VkIG1fbGlua1JlbGF0
aW9ucyBmcm9tIGEgMzAtYml0IHVuc2lnbmVkIGludGVnZXIgdG8gYW4gT3B0aW9uU2V0PFJlbGF0
aW9uPgorICAgICAgICAoSFRNTEFuY2hvckVsZW1lbnQgaXMgc3RpbGwgMTI4IGJ5dGVzIG9uIDY0
LWJpdCkuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyOjp1cmxTZWxlY3RlZCk6IENoYW5nZWQgdG8gb25seSBjb21wdXRlIGEg
TmV3RnJhbWVPcGVuZXJQb2xpY3kgZnJvbSB0aGUKKyAgICAgICAgcmVmZXJyZXIgcG9saWN5IGlm
IGFuIGV4cGxpY2l0IE5ld0ZyYW1lT3BlbmVyUG9saWN5IGlzbid0IHNwZWNpZmllZC4gUmVtb3Zl
ZCB0aGUgdmVyc2lvbiBvZgorICAgICAgICB1cmxTZWxlY3RlZCgpIHRoYXQgZGlkIG5vdCB0YWtl
IGEgZG93bmxvYWRBdHRyaWJ1dGUgcGFyYW1ldGVyLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxv
YWRlci5oOiBBZGRlZCBhbiBPcHRpb25hbDxOZXdGcmFtZU9wZW5lclBvbGljeT4gcGFyYW1ldGVy
IHRvIHVybFNlbGVjdGVkKCksCisgICAgICAgIGFuZCBzZXQgYSBkZWZhdWx0IGFyZ3VtZW50IGZv
ciBkb3dubG9hZEF0dHJpYnV0ZSBpbnN0ZWFkIG9mIGhhdmluZyBhIHNlY29uZCB2ZXJzaW9uIG9m
CisgICAgICAgIHVybFNlbGVjdGVkKCkuCisKIDIwMTYtMTAtMjQgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb2RlR2VuZXJhdG9yXSBPbmx5IGFsbG93
IGEgc2luZ2xlIGludGVyZmFjZSBvciBzdGFuZGFsb25lIGRpY3Rpb25hcnkgcGVyIFdlYklETCBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDdiNmM0
ZWUxNjhjZDY1ZGYwODQ2MjVlMGI2Yjk3N2M0YzhkNTA3NjYuLjE2ZmFjMGUyZDc4YjU3YmY4ZmM4
NGU2YTU4OGZlMGNkOThkNDFiZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEFuY2hvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuY3BwCkBAIC01OSw3ICs1OSw2IEBAIEhUTUxBbmNob3JFbGVtZW50OjpIVE1MQW5jaG9y
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jCiAgICAg
OiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIG1faGFzUm9vdEVkaXRhYmxl
RWxlbWVudEZvclNlbGVjdGlvbk9uTW91c2VEb3duKGZhbHNlKQogICAgICwgbV93YXNTaGlmdEtl
eURvd25Pbk1vdXNlRG93bihmYWxzZSkKLSAgICAsIG1fbGlua1JlbGF0aW9ucygwKQogICAgICwg
bV9jYWNoZWRWaXNpdGVkTGlua0hhc2goMCkKIHsKIH0KQEAgLTI1MCw4ICsyNDksMTQgQEAgdm9p
ZCBIVE1MQW5jaG9yRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
bmFtZSwgY29uc3QgQXRvbWljU3QKICAgICAgICAgLy8gRG8gbm90aGluZy4KICAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gcmVsQXR0cikgewogICAgICAgICAvLyBVcGRhdGUgSFRNTEFuY2hvckVsZW1l
bnQ6OnJlbExpc3QoKSBpZiBtb3JlIHJlbCBhdHRyaWJ1dGVzIHZhbHVlcyBhcmUgc3VwcG9ydGVk
LgotICAgICAgICBpZiAoU3BhY2VTcGxpdFN0cmluZzo6c3BhY2VTcGxpdFN0cmluZ0NvbnRhaW5z
VmFsdWUodmFsdWUsICJub3JlZmVycmVyIiwgdHJ1ZSkpCi0gICAgICAgICAgICBtX2xpbmtSZWxh
dGlvbnMgfD0gUmVsYXRpb25Ob1JlZmVycmVyOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8QXRvbWljU3RyaW5nPiBub1JlZmVycmVyKCJub3JlZmVycmVyIiwgQXRvbWljU3RyaW5nOjpD
b25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9t
aWNTdHJpbmc+IG5vT3BlbmVyKCJub29wZW5lciIsIEF0b21pY1N0cmluZzo6Q29uc3RydWN0RnJv
bUxpdGVyYWwpOworICAgICAgICBjb25zdCBib29sIHNob3VsZEZvbGRDYXNlID0gdHJ1ZTsKKyAg
ICAgICAgU3BhY2VTcGxpdFN0cmluZyByZWxWYWx1ZSh2YWx1ZSwgc2hvdWxkRm9sZENhc2UpOwor
ICAgICAgICBpZiAocmVsVmFsdWUuY29udGFpbnMobm9SZWZlcnJlcikpCisgICAgICAgICAgICBt
X2xpbmtSZWxhdGlvbnMgfD0gUmVsYXRpb246Ok5vUmVmZXJyZXI7CisgICAgICAgIGlmIChyZWxW
YWx1ZS5jb250YWlucyhub09wZW5lcikpCisgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMgfD0g
UmVsYXRpb246Ok5vT3BlbmVyOwogICAgICAgICBpZiAobV9yZWxMaXN0KQogICAgICAgICAgICAg
bV9yZWxMaXN0LT5hc3NvY2lhdGVkQXR0cmlidXRlVmFsdWVDaGFuZ2VkKHZhbHVlKTsKICAgICB9
CkBAIC0yOTYsMTYgKzMwMSwxNiBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpzZXRIcmVmKGNv
bnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCiAgICAgc2V0QXR0cmlidXRlV2l0aG91dFN5bmNocm9u
aXphdGlvbihocmVmQXR0ciwgdmFsdWUpOwogfQogCi1ib29sIEhUTUxBbmNob3JFbGVtZW50Ojpo
YXNSZWwodWludDMyX3QgcmVsYXRpb24pIGNvbnN0Citib29sIEhUTUxBbmNob3JFbGVtZW50Ojpo
YXNSZWwoUmVsYXRpb24gcmVsYXRpb24pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbGlua1JlbGF0
aW9ucyAmIHJlbGF0aW9uOworICAgIHJldHVybiBtX2xpbmtSZWxhdGlvbnMuY29udGFpbnMocmVs
YXRpb24pOwogfQogCiBET01Ub2tlbkxpc3QmIEhUTUxBbmNob3JFbGVtZW50OjpyZWxMaXN0KCkK
IHsKICAgICBpZiAoIW1fcmVsTGlzdCkgCiAgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6bWFrZV91
bmlxdWU8RE9NVG9rZW5MaXN0PigqdGhpcywgSFRNTE5hbWVzOjpyZWxBdHRyLCBbXShTdHJpbmdW
aWV3IHRva2VuKSB7Ci0gICAgICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZSh0
b2tlbiwgIm5vcmVmZXJyZXIiKTsKKyAgICAgICAgICAgIHJldHVybiBlcXVhbElnbm9yaW5nQVND
SUlDYXNlKHRva2VuLCAibm9yZWZlcnJlciIpIHx8IGVxdWFsSWdub3JpbmdBU0NJSUNhc2UodG9r
ZW4sICJub29wZW5lciIpOwogICAgICAgICB9KTsKICAgICByZXR1cm4gKm1fcmVsTGlzdDsKIH0K
QEAgLTM4OSw3ICszOTQsOSBAQCB2b2lkIEhUTUxBbmNob3JFbGVtZW50OjpoYW5kbGVDbGljayhF
dmVudCYgZXZlbnQpCiAgICAgfQogI2VuZGlmCiAKLSAgICBmcmFtZS0+bG9hZGVyKCkudXJsU2Vs
ZWN0ZWQoY29tcGxldGVkVVJMLCB0YXJnZXQoKSwgJmV2ZW50LCBMb2NrSGlzdG9yeTo6Tm8sIExv
Y2tCYWNrRm9yd2FyZExpc3Q6Ok5vLCBoYXNSZWwoUmVsYXRpb25Ob1JlZmVycmVyKSA/IE5ldmVy
U2VuZFJlZmVycmVyIDogTWF5YmVTZW5kUmVmZXJyZXIsIGRvY3VtZW50KCkuc2hvdWxkT3BlbkV4
dGVybmFsVVJMc1BvbGljeVRvUHJvcGFnYXRlKCksIGRvd25sb2FkQXR0cmlidXRlKTsKKyAgICBT
aG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2VuZFJlZmVycmVyID0gaGFzUmVsKFJlbGF0aW9uOjpO
b1JlZmVycmVyKSA/IE5ldmVyU2VuZFJlZmVycmVyIDogTWF5YmVTZW5kUmVmZXJyZXI7CisgICAg
YXV0byBuZXdGcmFtZU9wZW5lclBvbGljeSA9IGhhc1JlbChSZWxhdGlvbjo6Tm9PcGVuZXIpID8g
bWFrZU9wdGlvbmFsKE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzcykgOiBOdWxsb3B0Owor
ICAgIGZyYW1lLT5sb2FkZXIoKS51cmxTZWxlY3RlZChjb21wbGV0ZWRVUkwsIHRhcmdldCgpLCAm
ZXZlbnQsIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIHNob3VsZFNl
bmRSZWZlcnJlciwgZG9jdW1lbnQoKS5zaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5VG9Qcm9w
YWdhdGUoKSwgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIGRvd25sb2FkQXR0cmlidXRlKTsKIAogICAg
IHNlbmRQaW5ncyhjb21wbGV0ZWRVUkwpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5oCmluZGV4IDM2NjVlNGE2NmI3OTYxM2EzODYyNTkzYTg5N2MxMzA5MmM0Yjg5YjIu
LmE3YmM2MDk5ZTEyNTkxZTUyYTcwYzFiNWNjY2RiM2JkNzAwODU0ZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTIsNyArMiw3IEBACiAgKiBDb3B5cmlnaHQg
KEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMTk5
OSBBbnR0aSBLb2l2aXN0byAoa29pdmlzdG9Aa2RlLm9yZykKICAqICAgICAgICAgICAoQykgMjAw
MCBTaW1vbiBIYXVzbWFubiA8aGF1c21hbm5Aa2RlLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAw
NywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDctMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI3LDMyICsyNywxNiBAQAogI2luY2x1ZGUgIkhUTUxOYW1l
cy5oIgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCiAjaW5jbHVkZSAiVVJMVXRpbHMuaCIKKyNpbmNs
dWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRE9N
VG9rZW5MaXN0OwogCiAvLyBMaW5rIHJlbGF0aW9uIGJpdG1hc2sgdmFsdWVzLgotLy8gRklYTUU6
IFVuY29tbWVudCBhcyB0aGUgdmFyaW91cyBsaW5rIHJlbGF0aW9ucyBhcmUgaW1wbGVtZW50ZWQu
Ci1lbnVtIHsKLS8vICAgICBSZWxhdGlvbkFsdGVybmF0ZSAgID0gMHgwMDAwMDAwMSwKLS8vICAg
ICBSZWxhdGlvbkFyY2hpdmVzICAgID0gMHgwMDAwMDAwMiwKLS8vICAgICBSZWxhdGlvbkF1dGhv
ciAgICAgID0gMHgwMDAwMDAwNCwKLS8vICAgICBSZWxhdGlvbkJvb21hcmsgICAgID0gMHgwMDAw
MDAwOCwKLS8vICAgICBSZWxhdGlvbkV4dGVybmFsICAgID0gMHgwMDAwMDAxMCwKLS8vICAgICBS
ZWxhdGlvbkZpcnN0ICAgICAgID0gMHgwMDAwMDAyMCwKLS8vICAgICBSZWxhdGlvbkhlbHAgICAg
ICAgID0gMHgwMDAwMDA0MCwKLS8vICAgICBSZWxhdGlvbkluZGV4ICAgICAgID0gMHgwMDAwMDA4
MCwKLS8vICAgICBSZWxhdGlvbkxhc3QgICAgICAgID0gMHgwMDAwMDEwMCwKLS8vICAgICBSZWxh
dGlvbkxpY2Vuc2UgICAgID0gMHgwMDAwMDIwMCwKLS8vICAgICBSZWxhdGlvbk5leHQgICAgICAg
ID0gMHgwMDAwMDQwMCwKLS8vICAgICBSZWxhdGlvbk5vRm9sb3cgICAgPSAweDAwMDAwODAwLAot
ICAgIFJlbGF0aW9uTm9SZWZlcnJlciAgICAgPSAweDAwMDAxMDAwLAotLy8gICAgIFJlbGF0aW9u
UHJldiAgICAgICAgPSAweDAwMDAyMDAwLAotLy8gICAgIFJlbGF0aW9uU2VhcmNoICAgICAgPSAw
eDAwMDA0MDAwLAotLy8gICAgIFJlbGF0aW9uU2lkZWJhciAgICAgPSAweDAwMDA4MDAwLAotLy8g
ICAgIFJlbGF0aW9uVGFnICAgICAgICAgPSAweDAwMDEwMDAwLAotLy8gICAgIFJlbGF0aW9uVXAg
ICAgICAgICAgPSAweDAwMDIwMDAwLAorZW51bSBjbGFzcyBSZWxhdGlvbiB7CisgICAgTm9SZWZl
cnJlciA9IDEgPDwgMCwKKyAgICBOb09wZW5lciA9IDEgPDwgMSwKIH07CiAKIGNsYXNzIEhUTUxB
bmNob3JFbGVtZW50IDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMgVVJMVXRpbHM8SFRNTEFu
Y2hvckVsZW1lbnQ+IHsKQEAgLTc2LDcgKzYwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB3aWxs
UmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpIGZpbmFsOwogCi0gICAgYm9vbCBoYXNSZWwodWlu
dDMyX3QgcmVsYXRpb24pIGNvbnN0OworICAgIGJvb2wgaGFzUmVsKFJlbGF0aW9uKSBjb25zdDsK
ICAgICAKICAgICBMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2goKSBjb25zdDsKICAgICB2b2lkIGlu
dmFsaWRhdGVDYWNoZWRWaXNpdGVkTGlua0hhc2goKSB7IG1fY2FjaGVkVmlzaXRlZExpbmtIYXNo
ID0gMDsgfQpAQCAtMTE3LDkgKzEwMSw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRSb290RWRp
dGFibGVFbGVtZW50Rm9yU2VsZWN0aW9uT25Nb3VzZURvd24oRWxlbWVudCopOwogICAgIHZvaWQg
Y2xlYXJSb290RWRpdGFibGVFbGVtZW50Rm9yU2VsZWN0aW9uT25Nb3VzZURvd24oKTsKIAotICAg
IGJvb2wgbV9oYXNSb290RWRpdGFibGVFbGVtZW50Rm9yU2VsZWN0aW9uT25Nb3VzZURvd24gOiAx
OwotICAgIGJvb2wgbV93YXNTaGlmdEtleURvd25Pbk1vdXNlRG93biA6IDE7Ci0gICAgdWludDMy
X3QgbV9saW5rUmVsYXRpb25zIDogMzA7CisgICAgYm9vbCBtX2hhc1Jvb3RFZGl0YWJsZUVsZW1l
bnRGb3JTZWxlY3Rpb25Pbk1vdXNlRG93bjsKKyAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25N
b3VzZURvd247CisgICAgT3B0aW9uU2V0PFJlbGF0aW9uPiBtX2xpbmtSZWxhdGlvbnM7CiAgICAg
bXV0YWJsZSBMaW5rSGFzaCBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaDsKIAogICAgIHN0ZDo6dW5p
cXVlX3B0cjxET01Ub2tlbkxpc3Q+IG1fcmVsTGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCmluZGV4IDIwYTgyYWRmYWU1MzZjYzU0ZTU4YWFhMzgwZjU4ZWMwZGU0YTA4YTQu
LjhmZGJjMzk1MjAzOWRiYmI2ZmIyZWU0ZjAyZDVlOGZiOGQ2ODAwMzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzQ1LDIwICszNDUsMTIgQEAgdm9pZCBGcmFtZUxv
YWRlcjo6Y2hhbmdlTG9jYXRpb24oY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCkKICAg
ICB1cmxTZWxlY3RlZChyZXF1ZXN0LCBudWxscHRyKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBF
dmVudCogdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tG
b3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxk
U2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5IHNob3VsZE9wZW5FeHRl
cm5hbFVSTHNQb2xpY3ksIGNvbnN0IEF0b21pY1N0cmluZyYgZG93bmxvYWRBdHRyaWJ1dGUpCit2
b2lkIEZyYW1lTG9hZGVyOjp1cmxTZWxlY3RlZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBwYXNzZWRUYXJnZXQsIEV2ZW50KiB0cmlnZ2VyaW5nRXZlbnQsIExvY2tIaXN0b3J5IGxvY2tI
aXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0IGxvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNl
bmRSZWZlcnJlciBzaG91bGRTZW5kUmVmZXJyZXIsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xp
Y3kgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQ
b2xpY3k+IG9wZW5lclBvbGljeSwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0
ZSkKIHsKLSAgICBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5lclBvbGljeSA9IHNo
b3VsZFNlbmRSZWZlcnJlciA9PSBOZXZlclNlbmRSZWZlcnJlciA/IE5ld0ZyYW1lT3BlbmVyUG9s
aWN5OjpTdXBwcmVzcyA6IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsKLQorICAgIE5ld0Zy
YW1lT3BlbmVyUG9saWN5IG5ld0ZyYW1lT3BlbmVyUG9saWN5ID0gb3BlbmVyUG9saWN5LnZhbHVl
T3Ioc2hvdWxkU2VuZFJlZmVycmVyID09IE5ldmVyU2VuZFJlZmVycmVyID8gTmV3RnJhbWVPcGVu
ZXJQb2xpY3k6OlN1cHByZXNzIDogTmV3RnJhbWVPcGVuZXJQb2xpY3k6OkFsbG93KTsKICAgICB1
cmxTZWxlY3RlZChGcmFtZUxvYWRSZXF1ZXN0KG1fZnJhbWUuZG9jdW1lbnQoKS0+c2VjdXJpdHlP
cmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KHVybCksIHBhc3NlZFRhcmdldCwgbG9ja0hpc3Rvcnks
IGxvY2tCYWNrRm9yd2FyZExpc3QsIHNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMOjpZZXMsIG5ld0ZyYW1lT3BlbmVyUG9saWN5LCBEb05vdFJlcGxhY2VEb2N1
bWVudElmSmF2YVNjcmlwdFVSTCwgc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSwgZG93bmxv
YWRBdHRyaWJ1dGUpLCB0cmlnZ2VyaW5nRXZlbnQpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjp1
cmxTZWxlY3RlZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBwYXNzZWRUYXJnZXQsIEV2
ZW50KiB0cmlnZ2VyaW5nRXZlbnQsIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBMb2NrQmFja0Zv
cndhcmRMaXN0IGxvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciBzaG91bGRT
ZW5kUmVmZXJyZXIsIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kgc2hvdWxkT3BlbkV4dGVy
bmFsVVJMc1BvbGljeSkKLXsKLSAgICBOZXdGcmFtZU9wZW5lclBvbGljeSBuZXdGcmFtZU9wZW5l
clBvbGljeSA9IHNob3VsZFNlbmRSZWZlcnJlciA9PSBOZXZlclNlbmRSZWZlcnJlciA/IE5ld0Zy
YW1lT3BlbmVyUG9saWN5OjpTdXBwcmVzcyA6IE5ld0ZyYW1lT3BlbmVyUG9saWN5OjpBbGxvdzsK
LQotICAgIHVybFNlbGVjdGVkKEZyYW1lTG9hZFJlcXVlc3QobV9mcmFtZS5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLCBSZXNvdXJjZVJlcXVlc3QodXJsKSwgcGFzc2VkVGFyZ2V0LCBsb2Nr
SGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgc2hvdWxkU2VuZFJlZmVycmVyLCBBbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcywgbmV3RnJhbWVPcGVuZXJQb2xpY3ksIERvTm90UmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBzaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5
LCBudWxsQXRvbSksIHRyaWdnZXJpbmdFdmVudCk7Ci19Ci0KIHZvaWQgRnJhbWVMb2FkZXI6OnVy
bFNlbGVjdGVkKGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHBhc3NlZFJlcXVlc3QsIEV2ZW50KiB0
cmlnZ2VyaW5nRXZlbnQpCiB7CiAgICAgUmVmPEZyYW1lPiBwcm90ZWN0KG1fZnJhbWUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAppbmRleCA2MTRlNTI2YzkwZjJhYTljYjk5ODVlYzk3
Y2VjNGI0OTNkZThjODhkLi40Y2Q1ZGRlOGRmY2E2ZDlmY2E3OGFjY2EyMmY1ODE3YmI1ZGQ1NDJj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaApAQCAtMTE5LDggKzExOSw3IEBAIHB1
YmxpYzoKICAgICB1bnNpZ25lZCBsb25nIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHMsIENsaWVudENyZWRlbnRpYWxQb2xp
Y3ksIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4mIGRhdGEpOwogCiAgICAgdm9pZCBjaGFuZ2VMb2NhdGlvbihjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0Jik7Ci0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCB1cmxTZWxlY3RlZChjb25zdCBVUkwmLCBj
b25zdCBTdHJpbmcmIHRhcmdldCwgRXZlbnQqLCBMb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJk
TGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBj
b25zdCBBdG9taWNTdHJpbmcmIGRvd25sb2FkQXR0cmlidXRlKTsKLSAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHVybFNlbGVjdGVkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBFdmVu
dCosIExvY2tIaXN0b3J5LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIs
IFNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
dXJsU2VsZWN0ZWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiB0YXJnZXQsIEV2ZW50KiwgTG9j
a0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJlciwgU2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeSwgT3B0aW9uYWw8TmV3RnJhbWVPcGVuZXJQb2xpY3k+ID0g
TnVsbG9wdCwgY29uc3QgQXRvbWljU3RyaW5nJiBkb3dubG9hZEF0dHJpYnV0ZSA9IG51bGxBdG9t
KTsKICAgICB2b2lkIHN1Ym1pdEZvcm0oUGFzc1JlZlB0cjxGb3JtU3VibWlzc2lvbj4pOwogCiAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCByZWxvYWQoYm9vbCBlbmRUb0VuZFJlbG9hZCA9IGZhbHNl
LCBib29sIGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgPSB0cnVlKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYjQwMGJkYmQ5
ZmE2M2UzNjY5MGY4MTJkZjE4NWU1ZmI2NmY0MWEwLi45NTI1YjdiODE2NmU3NWE1ZDljOWIzNWNh
ZjhjMWVmYTU0MzQzYzkwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMTAtMjQgIEFuZHkg
RXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCByZWw9bm9vcGVu
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTE2
NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjUxOTM3ODc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICAqIGZhc3QvZG9tL0RPTVRva2VuTGlzdC1zdXBw
b3J0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vRE9NVG9rZW5MaXN0LXN1cHBv
cnRzLmh0bWw6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L2EtcmVsLW5vb3BlbmVyLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vV2luZG93L2EtcmVsLW5vb3BlbmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5l
ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy9hcmVhLXJl
bC1ub29wZW5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvcmVzb3Vy
Y2VzL3JlbC1ub29wZW5lci5qczogQWRkZWQuCisKIDIwMTYtMTAtMjQgIERhdmUgSHlhdHQgIDxo
eWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIENTU0NoYXJzZXRSdWxlIGZyb20gdGhl
IENTUyBPTQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NVG9rZW5MaXN0LXN1
cHBvcnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0RPTVRva2VuTGlzdC1z
dXBwb3J0cy1leHBlY3RlZC50eHQKaW5kZXggODIzMjA0ZGMxYWYwMDliMzg4M2ZmM2VmZjk1YWQ2
YTZjMTRjZjIzMC4uOWY5ZWY2NWFlMDAzNTMzMDFhMjc2MTU3NWI5YTJkNDg1MmNmYTc0MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vRE9NVG9rZW5MaXN0LXN1cHBvcnRzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01Ub2tlbkxpc3Qtc3VwcG9ydHMt
ZXhwZWN0ZWQudHh0CkBAIC0yMSwxMiArMjEsMTYgQEAgUEFTUyBsaW5rLnJlbExpc3Quc3VwcG9y
dHMoJ3Vuc3VwcG9ydGVkJykgaXMgZmFsc2UKIFBBU1MgYW5jaG9yLnJlbExpc3QuX19wcm90b19f
IGlzIERPTVRva2VuTGlzdC5wcm90b3R5cGUKIFBBU1MgYW5jaG9yLnJlbExpc3Quc3VwcG9ydHMo
YW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzW2ldKSBpcyB0cnVlCiBQQVNTIGFuY2hvci5yZWxMaXN0
LnN1cHBvcnRzKGFuY2hvclJlbFN1cHBvcnRlZFZhbHVlc1tpXS50b1VwcGVyQ2FzZSgpKSBpcyB0
cnVlCitQQVNTIGFuY2hvci5yZWxMaXN0LnN1cHBvcnRzKGFuY2hvclJlbFN1cHBvcnRlZFZhbHVl
c1tpXSkgaXMgdHJ1ZQorUEFTUyBhbmNob3IucmVsTGlzdC5zdXBwb3J0cyhhbmNob3JSZWxTdXBw
b3J0ZWRWYWx1ZXNbaV0udG9VcHBlckNhc2UoKSkgaXMgdHJ1ZQogUEFTUyBhbmNob3IucmVsTGlz
dC5zdXBwb3J0cygndW5zdXBwb3J0ZWQnKSBpcyBmYWxzZQogCiAqIEhUTUxBcmVhRWxlbWVudC5y
ZWxMaXN0CiBQQVNTIGFyZWEucmVsTGlzdC5fX3Byb3RvX18gaXMgRE9NVG9rZW5MaXN0LnByb3Rv
dHlwZQogUEFTUyBhcmVhLnJlbExpc3Quc3VwcG9ydHMoYXJlYVJlbFN1cHBvcnRlZFZhbHVlc1tp
XSkgaXMgdHJ1ZQogUEFTUyBhcmVhLnJlbExpc3Quc3VwcG9ydHMoYXJlYVJlbFN1cHBvcnRlZFZh
bHVlc1tpXS50b1VwcGVyQ2FzZSgpKSBpcyB0cnVlCitQQVNTIGFyZWEucmVsTGlzdC5zdXBwb3J0
cyhhcmVhUmVsU3VwcG9ydGVkVmFsdWVzW2ldKSBpcyB0cnVlCitQQVNTIGFyZWEucmVsTGlzdC5z
dXBwb3J0cyhhcmVhUmVsU3VwcG9ydGVkVmFsdWVzW2ldLnRvVXBwZXJDYXNlKCkpIGlzIHRydWUK
IFBBU1MgYXJlYS5yZWxMaXN0LnN1cHBvcnRzKCd1bnN1cHBvcnRlZCcpIGlzIGZhbHNlCiAKICog
SFRNTElGcmFtZUVsZW1lbnQuc2FuZGJveApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vRE9NVG9rZW5MaXN0LXN1cHBvcnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01U
b2tlbkxpc3Qtc3VwcG9ydHMuaHRtbAppbmRleCAwOTU2NTM1MjQ4MDE4ZTY4NGY4NTVjNmRhZmFi
ZjMyODA2MWMzYWM0Li41YjY0ZDRjZjQ2MTkyNTg5YzcyM2QzYjRmMTJhMDQzMTk5M2Q1YTBhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01Ub2tlbkxpc3Qtc3VwcG9ydHMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9ET01Ub2tlbkxpc3Qtc3VwcG9ydHMuaHRtbApA
QCAtMjIsNyArMjIsNyBAQCBkZWJ1ZygiIik7CiBkZWJ1ZygiKiBIVE1MQW5jaG9yRWxlbWVudC5y
ZWxMaXN0Iik7CiB2YXIgYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwogc2hv
dWxkQmUoImFuY2hvci5yZWxMaXN0Ll9fcHJvdG9fXyIsICJET01Ub2tlbkxpc3QucHJvdG90eXBl
Iik7Ci12YXIgYW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzID0gWyJub3JlZmVycmVyIl07Cit2YXIg
YW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzID0gWyJub3JlZmVycmVyIiwgIm5vb3BlbmVyIl07CiBm
b3IgKHZhciBpID0gMDsgaSA8IGFuY2hvclJlbFN1cHBvcnRlZFZhbHVlcy5sZW5ndGg7IGkrKykg
ewogICAgIHNob3VsZEJlVHJ1ZSgiYW5jaG9yLnJlbExpc3Quc3VwcG9ydHMoYW5jaG9yUmVsU3Vw
cG9ydGVkVmFsdWVzW2ldKSIpOwogICAgIHNob3VsZEJlVHJ1ZSgiYW5jaG9yLnJlbExpc3Quc3Vw
cG9ydHMoYW5jaG9yUmVsU3VwcG9ydGVkVmFsdWVzW2ldLnRvVXBwZXJDYXNlKCkpIik7CkBAIC0z
Myw3ICszMyw3IEBAIGRlYnVnKCIiKTsKIGRlYnVnKCIqIEhUTUxBcmVhRWxlbWVudC5yZWxMaXN0
Iik7CiB2YXIgYXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImFyZWEiKTsKIHNob3VsZEJl
KCJhcmVhLnJlbExpc3QuX19wcm90b19fIiwgIkRPTVRva2VuTGlzdC5wcm90b3R5cGUiKTsKLXZh
ciBhcmVhUmVsU3VwcG9ydGVkVmFsdWVzID0gWyJub3JlZmVycmVyIl07Cit2YXIgYXJlYVJlbFN1
cHBvcnRlZFZhbHVlcyA9IFsibm9yZWZlcnJlciIsICJub29wZW5lciJdOwogZm9yICh2YXIgaSA9
IDA7IGkgPCBhcmVhUmVsU3VwcG9ydGVkVmFsdWVzLmxlbmd0aDsgaSsrKSB7CiAgICAgc2hvdWxk
QmVUcnVlKCJhcmVhLnJlbExpc3Quc3VwcG9ydHMoYXJlYVJlbFN1cHBvcnRlZFZhbHVlc1tpXSki
KTsKICAgICBzaG91bGRCZVRydWUoImFyZWEucmVsTGlzdC5zdXBwb3J0cyhhcmVhUmVsU3VwcG9y
dGVkVmFsdWVzW2ldLnRvVXBwZXJDYXNlKCkpIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vV2luZG93L2EtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
ZTg3MDRhZThiMzQ4OTY5MzZmNGY1ZGNjZTI0YmVkZGZlNGM5MjQ4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2EtcmVsLW5vb3BlbmVyLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDMgQEAKK1Rlc3QgdGhhdCB3aW5kb3cub3BlbmVyIGlzIG51bGwgd2hlbiBh
IG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYW5jaG9yIGVsZW1lbnQgd2l0aCByZWw9J25v
b3BlbmVyJy4KKworUEFTUzogd2luZG93Lm9wZW5lciBpcyBudWxsCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9hLXJlbC1ub29wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMDRkOTM3
ZTJkN2Y2NzlkYmY3NjY5Y2I1YzVhM2JlOGFlMDUyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvYS1yZWwtbm9vcGVuZXIuaHRtbApAQCAtMCwwICsxLDkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKyAgICA8cD5UZXN0IHRoYXQgd2lu
ZG93Lm9wZW5lciBpcyBudWxsIHdoZW4gYSBuZXcgd2luZG93IGlzIG9wZW5lZCBmcm9tIGFuIGFu
Y2hvciBlbGVtZW50IHdpdGggcmVsPSdub29wZW5lcicuPC9wPgorICAgIDxhIGlkPSJsaW5rIiBo
cmVmPSJhLXJlbC1ub29wZW5lci5odG1sI25ldy13aW5kb3ciIHRhcmdldD0iX2JsYW5rIiByZWw9
Im5vb3BlbmVyIj48L2E+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZWwtbm9vcGVuZXIuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L2FyZWEtcmVsLW5v
b3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9hcmVhLXJl
bC1ub29wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZlY2U4YjU5YTU2OGIwZTVmZTli
MWJkZTBlM2E1NWEzZTk2OTkxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9hcmVhLXJlbC1ub29wZW5lci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBA
CitUZXN0IHRoYXQgd2luZG93Lm9wZW5lciBpcyBudWxsIHdoZW4gYSBuZXcgd2luZG93IGlzIG9w
ZW5lZCBmcm9tIGFuIGFyZWEgZWxlbWVudCB3aXRoIHJlbD0nbm9vcGVuZXInLgorCisKK1BBU1M6
IHdpbmRvdy5vcGVuZXIgaXMgbnVsbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
V2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvYXJlYS1yZWwtbm9vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDBkZWI0NWE0MGQ2M2NhOTY1
M2Q3ZjQ0ZGUyMTcxYmIwYWZhMTRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L2FyZWEtcmVsLW5vb3BlbmVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorICAgIDxwPlRlc3QgdGhhdCB3aW5kb3cub3Bl
bmVyIGlzIG51bGwgd2hlbiBhIG5ldyB3aW5kb3cgaXMgb3BlbmVkIGZyb20gYW4gYXJlYSBlbGVt
ZW50IHdpdGggcmVsPSdub29wZW5lcicuPC9wPgorICAgIDxpbWcgc3JjPSJub24tZXhpc3RhbnQu
anBnIiB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdXNlbWFwPSIjbWFwIj4KKyAgICA8bWFwIG5h
bWU9Im1hcCI+CisgICAgICAgIDxhcmVhIGlkPSJsaW5rIiBzaGFwZT0icmVjdCIgY29vcmRzPSIw
LDAsMTI4LDEyOCIgaHJlZj0iYXJlYS1yZWwtbm9vcGVuZXIuaHRtbCNuZXctd2luZG93IiB0YXJn
ZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+CisgICAgPC9tYXA+CisgICAgPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWwtbm9vcGVuZXIuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9XaW5kb3cvcmVzb3VyY2VzL3JlbC1ub29wZW5lci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYjVkNDZl
YWUzOTdhM2VkZjFhZGE1Nzg5ZjViZjY5ZWMxYTJkN2I5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Jlc291cmNlcy9yZWwtbm9vcGVuZXIuanMKQEAgLTAs
MCArMSwxNyBAQAoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5zZXRD
YW5PcGVuV2luZG93cyh0cnVlKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0
ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworaWYgKGRvY3VtZW50LmxvY2F0aW9uLmhh
c2ggPT09ICIjbmV3LXdpbmRvdyIpIHsKKyAgICB2YXIgY29uc29sZSA9IHdpbmRvdy5vcGVuKCIi
LCAib3JpZ2luYWxXaW5kb3ciKS5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOwor
ICAgIGlmICh3aW5kb3cub3BlbmVyKQorICAgICAgICBjb25zb2xlLmlubmVyVGV4dCA9ICJGQUlM
OiB3aW5kb3cub3BlbmVyIGlzIG5vbi1udWxsIjsKKyAgICBlbHNlCisgICAgICAgIGNvbnNvbGUu
aW5uZXJUZXh0ID0gIlBBU1M6IHdpbmRvdy5vcGVuZXIgaXMgbnVsbCI7CisgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Cit9IGVsc2UgeworICAgIHdpbmRvdy5uYW1lID0gIm9yaWdpbmFsV2lu
ZG93IjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGluayIpLmNsaWNrKCk7Cit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>