<?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>88014</bug_id>
          
          <creation_ts>2012-05-31 14:55:30 -0700</creation_ts>
          <short_desc>sandbox directive in X-WebKit-CSP header unable to create a unique origin</short_desc>
          <delta_ts>2012-06-01 02:26:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>mihaip</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638741</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-31 14:55:30 -0700</bug_when>
    <thetext>sandbox directive in X-WebKit-CSP header unable to create a unique origin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638745</commentid>
    <comment_count>1</comment_count>
      <attachid>145164</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-31 15:02:09 -0700</bug_when>
    <thetext>Created attachment 145164
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638756</commentid>
    <comment_count>2</comment_count>
      <attachid>145164</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-31 15:29:31 -0700</bug_when>
    <thetext>Comment on attachment 145164
Patch

Attachment 145164 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12868326</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638869</commentid>
    <comment_count>3</comment_count>
      <attachid>145185</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-31 18:13:59 -0700</bug_when>
    <thetext>Created attachment 145185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638896</commentid>
    <comment_count>4</comment_count>
      <attachid>145185</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-05-31 18:51:59 -0700</bug_when>
    <thetext>Comment on attachment 145185
Patch

Attachment 145185 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12860493</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638913</commentid>
    <comment_count>5</comment_count>
      <attachid>145196</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-31 19:22:39 -0700</bug_when>
    <thetext>Created attachment 145196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638944</commentid>
    <comment_count>6</comment_count>
      <attachid>145196</attachid>
    <who name="Mihai Parparita">mihaip</who>
    <bug_when>2012-05-31 20:40:39 -0700</bug_when>
    <thetext>Comment on attachment 145196
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        the SandboxOrigin bit. This patch is more complicated than you migh

Typo: migh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638984</commentid>
    <comment_count>7</comment_count>
      <attachid>145196</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-31 23:01:28 -0700</bug_when>
    <thetext>Comment on attachment 145196
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        sandbox directive in CSP couldn&apos;t create a unique origin.

Please add URLs of the relevant specs.

&gt; Source/WebCore/dom/Document.cpp:5036
&gt; -void Document::initContentSecurityPolicy()
&gt; +void Document::didUpdateSecurityOrigin()

Could you swap the order of these two functions so that the diff looks saner?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639003</commentid>
    <comment_count>8</comment_count>
      <attachid>145218</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-31 23:44:00 -0700</bug_when>
    <thetext>Created attachment 145218
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639119</commentid>
    <comment_count>9</comment_count>
      <attachid>145218</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 02:26:45 -0700</bug_when>
    <thetext>Comment on attachment 145218
Patch for landing

Clearing flags on attachment: 145218

Committed r119204: &lt;http://trac.webkit.org/changeset/119204&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>639120</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-01 02:26:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145164</attachid>
            <date>2012-05-31 15:02:09 -0700</date>
            <delta_ts>2012-05-31 18:13:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88014-20120531150208.patch</filename>
            <type>text/plain</type>
            <size>9088</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE1MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA1LTMxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJveCBkaXJlY3RpdmUgaW4g
WC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9yaWdpbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwMTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBwcm9jZXNzIHRo
ZSBIVFRQIGhlYWRlcnMgZm9yIGEgcmVzcG9uc2UgYWZ0ZXIgd2UgY3JlYXRlIGEgZG9jdW1lbnQK
KyAgICAgICAgb2JqZWN0IGZvciB0aGUgcmVzcG9uc2UuIFByZXZpb3VzbHksIHRoZSBTZWN1cml0
eU9yaWdpbiBvZiBhIGRvY3VtZW50CisgICAgICAgIHdhcyBkZXRlcm1pbmVkIHdoZW4gdGhlIGRv
Y3VtZW50IHdhcyBjcmVhdGVkLCB3aGljaCBtZWFudCB0aGF0IHRoZQorICAgICAgICBzYW5kYm94
IGRpcmVjdGl2ZSBpbiBDU1AgY291bGRuJ3QgY3JlYXRlIGEgdW5pcXVlIG9yaWdpbi4KKworICAg
ICAgICBJbiB0aGlzIHBhdGNoLCB3ZSB0cmFuc2l0aW9uIHRvIGEgdW5pcXVlIG9yaWdpbiB3aGVu
IHdlIHN0YXJ0IGVuZm9yY2luZworICAgICAgICB0aGUgU2FuZGJveE9yaWdpbiBiaXQuIFRoaXMg
cGF0Y2ggaXMgbW9yZSBjb21wbGljYXRlZCB0aGFuIHlvdSBtaWdoCisgICAgICAgIGV4cGVjdCBi
ZWNhdXNlIHdlIHJlZHVuZGFudGx5IHN0b3JlIHRoZSBTZWN1cml0eU9yaWdpbiBvYmplY3QgaW4K
KyAgICAgICAgRE9NV2luZG93LiBSZW1vdmluZyB0aGF0IHJlZHVuZGFudCBzdGF0ZSBpcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTMuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1pbi1odHRwLWhlYWRlci5odG1sCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmRpZFVwZGF0ZVNlY3VyaXR5T3JpZ2luKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojppbml0Q29udGVudFNlY3VyaXR5UG9saWN5KToKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKiBk
b20vU2VjdXJpdHlDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5Q29udGV4
dDo6ZW5mb3JjZVNhbmRib3hGbGFncyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlY3VyaXR5Q29udGV4dDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4pOgorICAgICAg
ICAqIGRvbS9TZWN1cml0eUNvbnRleHQuaDoKKyAgICAgICAgKFNlY3VyaXR5Q29udGV4dCk6CisK
IDIwMTItMDUtMzEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvZGUgaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9y
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDExOTEyOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwMzMsMTYgKzUw
MzMsMjAgQEAgdm9pZCBEb2N1bWVudDo6aW5pdFNlY3VyaXR5Q29udGV4dCgpCiAgICAgc2V0U2Vj
dXJpdHlPcmlnaW4ob3duZXJGcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CiB9
CiAKLXZvaWQgRG9jdW1lbnQ6OmluaXRDb250ZW50U2VjdXJpdHlQb2xpY3koKQordm9pZCBEb2N1
bWVudDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKQogewotICAgIGlmICghbV9mcmFtZS0+dHJl
ZSgpLT5wYXJlbnQoKSB8fCAhc2hvdWxkSW5oZXJpdFNlY3VyaXR5T3JpZ2luRnJvbU93bmVyKG1f
dXJsKSkKKyAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVybjsKLSAgICBjb250ZW50U2Vj
dXJpdHlQb2xpY3koKS0+Y29weVN0YXRlRnJvbShtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpLT5k
b2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CisgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCByZW1vdmUgRE9NV2luZG93OjptX3NlY3VyaXR5T3JpZ2luIHNvIHRoYXQgd2UgZG9uJ3Qg
bmVlZCB0byBrZWVwIHRoZW0gaW4gc3luYy4KKyAgICAvLyBTZWUgPGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5Mz4uCisgICAgbV9mcmFtZS0+ZG9tV2luZG93KCkt
PnNldFNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKCkpOwogfQogCi12b2lkIERvY3VtZW50
OjpzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBvcmlnaW4pCit2
b2lkIERvY3VtZW50Ojppbml0Q29udGVudFNlY3VyaXR5UG9saWN5KCkKIHsKLSAgICBTZWN1cml0
eUNvbnRleHQ6OnNldFNlY3VyaXR5T3JpZ2luKG9yaWdpbik7CisgICAgaWYgKCFtX2ZyYW1lLT50
cmVlKCktPnBhcmVudCgpIHx8ICFzaG91bGRJbmhlcml0U2VjdXJpdHlPcmlnaW5Gcm9tT3duZXIo
bV91cmwpKQorICAgICAgICByZXR1cm47CisgICAgY29udGVudFNlY3VyaXR5UG9saWN5KCktPmNv
cHlTdGF0ZUZyb20obV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKS0+ZG9jdW1lbnQoKS0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCkpOwogfQogCiBib29sIERvY3VtZW50Ojppc0NvbnRleHRUaHJlYWQo
KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDExOTEyOCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQ4LDExICsx
MDQ4LDYgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdFNlY3VyaXR5Q29udGV4dCgpOwogICAgIHZv
aWQgaW5pdENvbnRlbnRTZWN1cml0eVBvbGljeSgpOwogCi0gICAgLy8gRXhwbGljaXRseSBvdmVy
cmlkZSB0aGUgc2VjdXJpdHkgb3JpZ2luIGZvciB0aGlzIGRvY3VtZW50LgotICAgIC8vIE5vdGU6
IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBhIGRvY3Vt
ZW50Ci0gICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5zIGNvbnRlbnQuCi0gICAgdm9p
ZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7Ci0KICAgICB2
b2lkIHVwZGF0ZVVSTEZvclB1c2hPclJlcGxhY2VTdGF0ZShjb25zdCBLVVJMJik7CiAgICAgdm9p
ZCBzdGF0ZVBvcHBlZChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogCkBAIC0x
MTY4LDYgKzExNjMsOCBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAgICAgRG9jdW1lbnQoRnJhbWUq
LCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCk7CiAKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKSBPVkVSUklERTsKKwogICAgIHZvaWQgY2xl
YXJYTUxWZXJzaW9uKCkgeyBtX3htbFZlcnNpb24gPSBTdHJpbmcoKTsgfQogCiBwcml2YXRlOgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAJKHJldmlzaW9uIDExOTEy
OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02Nyw2ICs2NywyMiBAQCBib29sIFNlY3VyaXR5Q29udGV4dDo6aXNTZWN1cmVUcmFu
c2l0aW9uCiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2VzcyhvdGhlci5nZXQo
KSk7CiB9CiAKK3ZvaWQgU2VjdXJpdHlDb250ZXh0OjplbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRi
b3hGbGFncyBtYXNrKQoreworICAgIG1fc2FuZGJveEZsYWdzIHw9IG1hc2s7CisKKyAgICAvLyBU
aGUgU2FuZGJveE9yaWdpbiBpcyBzdG9yZWQgcmVkdW5kYW50bHkgaW4gdGhlIHNlY3VyaXR5IG9y
aWdpbi4KKyAgICBpZiAoaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdpbikgJiYgc2VjdXJpdHlPcmln
aW4oKSAmJiAhc2VjdXJpdHlPcmlnaW4oKS0+aXNVbmlxdWUoKSkgeworICAgICAgICBzZXRTZWN1
cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVlKCkpOworICAgICAgICBkaWRV
cGRhdGVTZWN1cml0eU9yaWdpbigpOworICAgIH0KK30KKwordm9pZCBTZWN1cml0eUNvbnRleHQ6
OmRpZFVwZGF0ZVNlY3VyaXR5T3JpZ2luKCkKK3sKKyAgICAvLyBTdWJjbGFzc2VzIGNhbiBvdmVy
cmlkZSB0aGlzIGZ1bmN0aW9uIGlmIHRoZSBuZWVkIHRvIGRvIGV4dHJhIHdvcmsgd2hlbiB0aGUg
c2VjdXJpdHkgb3JpZ2luIGNoYW5nZXMuCit9CisKIFNhbmRib3hGbGFncyBTZWN1cml0eUNvbnRl
eHQ6OnBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSkKIHsKICAgICAvLyBo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90aGUtaWZyYW1lLWVsZW1lbnQuaHRtbCNhdHRyLWlm
cmFtZS1zYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5oCShyZXZp
c2lvbiAxMTkxMjgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTYyLDE5ICs2MiwyMiBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzU2Vj
dXJlVHJhbnNpdGlvblRvKGNvbnN0IEtVUkwmKSBjb25zdDsKIAotICAgIHZvaWQgZW5mb3JjZVNh
bmRib3hGbGFncyhTYW5kYm94RmxhZ3MgbWFzaykgeyBtX3NhbmRib3hGbGFncyB8PSBtYXNrOyB9
CisgICAgdm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKTsKICAgICBi
b29sIGlzU2FuZGJveGVkKFNhbmRib3hGbGFncyBtYXNrKSBjb25zdCB7IHJldHVybiBtX3NhbmRi
b3hGbGFncyAmIG1hc2s7IH0KIAorICAgIC8vIEV4cGxpY2l0bHkgb3ZlcnJpZGUgdGhlIHNlY3Vy
aXR5IG9yaWdpbiBmb3IgdGhpcyBzZWN1cml0eSBjb250ZXh0LgorICAgIC8vIE5vdGU6IEl0IGlz
IGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdpbiBvZiBhIHNjcmlwdCBjb250
ZXh0CisgICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5zIGNvbnRlbnQuCisgICAgdm9p
ZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7CisKICAgICBz
dGF0aWMgU2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBvbGlj
eSk7CiAKIHByb3RlY3RlZDoKICAgICBTZWN1cml0eUNvbnRleHQoKTsKICAgICB+U2VjdXJpdHlD
b250ZXh0KCk7CiAKLSAgICAvLyBFeHBsaWNpdGx5IG92ZXJyaWRlIHRoZSBzZWN1cml0eSBvcmln
aW4gZm9yIHRoaXMgc2VjdXJpdHkgY29udGV4dC4KLSAgICAvLyBOb3RlOiBJdCBpcyBkYW5nZXJv
dXMgdG8gY2hhbmdlIHRoZSBzZWN1cml0eSBvcmlnaW4gb2YgYSBzY3JpcHQgY29udGV4dAotICAg
IC8vICAgICAgIHRoYXQgYWxyZWFkeSBjb250YWlucyBjb250ZW50LgotICAgIHZvaWQgc2V0U2Vj
dXJpdHlPcmlnaW4oUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4pOworICAgIHZpcnR1YWwgdm9p
ZCBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpOworCiAgICAgdm9pZCBzZXRDb250ZW50U2VjdXJp
dHlQb2xpY3koUGFzc093blB0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+KTsKIAogICAgIHZvaWQg
ZGlkRmFpbFRvSW5pdGlhbGl6ZVNlY3VyaXR5T3JpZ2luKCkgeyBtX2hhdmVJbml0aWFsaXplZFNl
Y3VyaXR5T3JpZ2luID0gZmFsc2U7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE1MykKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEy
LTA1LTMxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJv
eCBkaXJlY3RpdmUgaW4gWC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5p
cXVlIG9yaWdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODgwMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9z
YW5kYm94LnBocDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtaW4taHR0cC1oZWFkZXIuaHRtbDogQWRkZWQuCisKIDIwMTItMDUtMzEgIEplc3NpZSBC
ZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luXSA1IGZhc3QvZXZlbnRz
L3BvcHVwLSogdGVzdHMgZmFpbApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw0IEBACitDT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVt
cHQgdG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwIGZyb20gZnJhbWUg
d2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQg
cG9ydHMgbXVzdCBtYXRjaC4KKworQUxFUlQ6IFBBU1M6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUg
b3JpZ2luCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWluLWh0dHAtaGVhZGVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVh
ZGVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGlmcmFtZSBzcmM9InJlc291cmNlcy9zYW5kYm94LnBocCI+PC9pZnJhbWU+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIg
ZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07CisgICAg
aWYgKGZyYW1lLmNvbnRlbnREb2N1bWVudCkKKyAgICAgICAgYWxlcnQoIkZBSUw6IElmcmFtZSB3
YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbiIpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoIlBB
U1M6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9OworPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXNvdXJjZXMvc2FuZGJveC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDUgQEAKKzw/cGhwCitoZWFkZXIoIlgtV2ViS2l0LUNTUDogc2FuZGJveCIpOworPz4KKzwhRE9D
VFlQRSBodG1sPgorPHA+UmVhZHk8L3A+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145185</attachid>
            <date>2012-05-31 18:13:59 -0700</date>
            <delta_ts>2012-05-31 19:22:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88014-20120531181358.patch</filename>
            <type>text/plain</type>
            <size>15291</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA1LTMxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJveCBkaXJlY3RpdmUgaW4g
WC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9yaWdpbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwMTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBwcm9jZXNzIHRo
ZSBIVFRQIGhlYWRlcnMgZm9yIGEgcmVzcG9uc2UgYWZ0ZXIgd2UgY3JlYXRlIGEgZG9jdW1lbnQK
KyAgICAgICAgb2JqZWN0IGZvciB0aGUgcmVzcG9uc2UuIFByZXZpb3VzbHksIHRoZSBTZWN1cml0
eU9yaWdpbiBvZiBhIGRvY3VtZW50CisgICAgICAgIHdhcyBkZXRlcm1pbmVkIHdoZW4gdGhlIGRv
Y3VtZW50IHdhcyBjcmVhdGVkLCB3aGljaCBtZWFudCB0aGF0IHRoZQorICAgICAgICBzYW5kYm94
IGRpcmVjdGl2ZSBpbiBDU1AgY291bGRuJ3QgY3JlYXRlIGEgdW5pcXVlIG9yaWdpbi4KKworICAg
ICAgICBJbiB0aGlzIHBhdGNoLCB3ZSB0cmFuc2l0aW9uIHRvIGEgdW5pcXVlIG9yaWdpbiB3aGVu
IHdlIHN0YXJ0IGVuZm9yY2luZworICAgICAgICB0aGUgU2FuZGJveE9yaWdpbiBiaXQuIFRoaXMg
cGF0Y2ggaXMgbW9yZSBjb21wbGljYXRlZCB0aGFuIHlvdSBtaWdoCisgICAgICAgIGV4cGVjdCBi
ZWNhdXNlIHdlIHJlZHVuZGFudGx5IHN0b3JlIHRoZSBTZWN1cml0eU9yaWdpbiBvYmplY3QgaW4K
KyAgICAgICAgRE9NV2luZG93LiBSZW1vdmluZyB0aGF0IHJlZHVuZGFudCBzdGF0ZSBpcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTMuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAorICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFs
bG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNv
bnRyb2wuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwKKworICAgICAgICAqIGRvbS9E
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJp
dHlPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmluaXRDb250ZW50U2VjdXJp
dHlQb2xpY3kpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQp
OgorICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VjdXJpdHlDb250ZXh0OjplbmZvcmNlU2FuZGJveEZsYWdzKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0OjpkaWRVcGRhdGVTZWN1cml0eU9y
aWdpbik6CisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJp
dHlDb250ZXh0KToKKwogMjAxMi0wNS0zMSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFNpbmdsZSB0aHJlYWQgcHJveHkgc2hvdWxkIG5v
dCB0aWNrIGFuaW1hdGlvbnMgdW5sZXNzIHRoZSBsYXllciByZW5kZXJlciBoYXMgYmVlbiBpbml0
aWFsaXplZApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5jcHAJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTIsNiArNTkyLDgg
QEAgdm9pZCBWOERPTVdpbmRvd1NoZWxsOjpuYW1lZEl0ZW1SZW1vdmVkKAogCiB2b2lkIFY4RE9N
V2luZG93U2hlbGw6OnVwZGF0ZVNlY3VyaXR5T3JpZ2luKCkKIHsKKyAgICBpZiAobV9jb250ZXh0
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsK
ICAgICBzZXRTZWN1cml0eVRva2VuKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUwMzMsMTYgKzUwMzMsMjEgQEAgdm9pZCBEb2N1bWVudDo6aW5pdFNl
Y3VyaXR5Q29udGV4dCgpCiAgICAgc2V0U2VjdXJpdHlPcmlnaW4ob3duZXJGcmFtZS0+ZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmluaXRDb250ZW50
U2VjdXJpdHlQb2xpY3koKQordm9pZCBEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4o
KQogewotICAgIGlmICghbV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKSB8fCAhc2hvdWxkSW5oZXJp
dFNlY3VyaXR5T3JpZ2luRnJvbU93bmVyKG1fdXJsKSkKKyAgICBpZiAoIW1fZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKLSAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+Y29weVN0YXRlRnJvbSht
X2ZyYW1lLT50cmVlKCktPnBhcmVudCgpLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKSk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZW1vdmUgRE9NV2luZG93OjptX3NlY3Vy
aXR5T3JpZ2luIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBrZWVwIHRoZW0gaW4gc3luYy4KKyAg
ICAvLyBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5Mz4u
CisgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPnNldFNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3Jp
Z2luKCkpOworICAgIG1fZnJhbWUtPnNjcmlwdCgpLT51cGRhdGVTZWN1cml0eU9yaWdpbigpOwog
fQogCi12b2lkIERvY3VtZW50OjpzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiBvcmlnaW4pCit2b2lkIERvY3VtZW50Ojppbml0Q29udGVudFNlY3VyaXR5UG9saWN5
KCkKIHsKLSAgICBTZWN1cml0eUNvbnRleHQ6OnNldFNlY3VyaXR5T3JpZ2luKG9yaWdpbik7Cisg
ICAgaWYgKCFtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpIHx8ICFzaG91bGRJbmhlcml0U2VjdXJp
dHlPcmlnaW5Gcm9tT3duZXIobV91cmwpKQorICAgICAgICByZXR1cm47CisgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5KCktPmNvcHlTdGF0ZUZyb20obV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKS0+
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogfQogCiBib29sIERvY3VtZW50
Ojppc0NvbnRleHRUaHJlYWQoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlz
aW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDQ4LDExICsxMDQ4LDYgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdFNlY3VyaXR5
Q29udGV4dCgpOwogICAgIHZvaWQgaW5pdENvbnRlbnRTZWN1cml0eVBvbGljeSgpOwogCi0gICAg
Ly8gRXhwbGljaXRseSBvdmVycmlkZSB0aGUgc2VjdXJpdHkgb3JpZ2luIGZvciB0aGlzIGRvY3Vt
ZW50LgotICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5
IG9yaWdpbiBvZiBhIGRvY3VtZW50Ci0gICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5z
IGNvbnRlbnQuCi0gICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPik7Ci0KICAgICB2b2lkIHVwZGF0ZVVSTEZvclB1c2hPclJlcGxhY2VTdGF0ZShjb25z
dCBLVVJMJik7CiAgICAgdm9pZCBzdGF0ZVBvcHBlZChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4pOwogCkBAIC0xMTY3LDYgKzExNjIsOCBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRN
TCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKSBPVkVSUklE
RTsKKwogICAgIHZvaWQgY2xlYXJYTUxWZXJzaW9uKCkgeyBtX3htbFZlcnNpb24gPSBTdHJpbmco
KTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5j
cHAJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2NywyMiBAQCBib29sIFNlY3VyaXR5Q29u
dGV4dDo6aXNTZWN1cmVUcmFuc2l0aW9uCiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luKCktPmNh
bkFjY2VzcyhvdGhlci5nZXQoKSk7CiB9CiAKK3ZvaWQgU2VjdXJpdHlDb250ZXh0OjplbmZvcmNl
U2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKQoreworICAgIG1fc2FuZGJveEZsYWdzIHw9
IG1hc2s7CisKKyAgICAvLyBUaGUgU2FuZGJveE9yaWdpbiBpcyBzdG9yZWQgcmVkdW5kYW50bHkg
aW4gdGhlIHNlY3VyaXR5IG9yaWdpbi4KKyAgICBpZiAoaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdp
bikgJiYgc2VjdXJpdHlPcmlnaW4oKSAmJiAhc2VjdXJpdHlPcmlnaW4oKS0+aXNVbmlxdWUoKSkg
eworICAgICAgICBzZXRTZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVl
KCkpOworICAgICAgICBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpOworICAgIH0KK30KKwordm9p
ZCBTZWN1cml0eUNvbnRleHQ6OmRpZFVwZGF0ZVNlY3VyaXR5T3JpZ2luKCkKK3sKKyAgICAvLyBT
dWJjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGlmIHRoZSBuZWVkIHRvIGRvIGV4
dHJhIHdvcmsgd2hlbiB0aGUgc2VjdXJpdHkgb3JpZ2luIGNoYW5nZXMuCit9CisKIFNhbmRib3hG
bGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBv
bGljeSkKIHsKICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90aGUtaWZyYW1lLWVs
ZW1lbnQuaHRtbCNhdHRyLWlmcmFtZS1zYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
U2VjdXJpdHlDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3Vy
aXR5Q29udGV4dC5oCShyZXZpc2lvbiAxMTkxNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Vj
dXJpdHlDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDE5ICs2MiwyMiBAQCBwdWJsaWM6
CiAKICAgICBib29sIGlzU2VjdXJlVHJhbnNpdGlvblRvKGNvbnN0IEtVUkwmKSBjb25zdDsKIAot
ICAgIHZvaWQgZW5mb3JjZVNhbmRib3hGbGFncyhTYW5kYm94RmxhZ3MgbWFzaykgeyBtX3NhbmRi
b3hGbGFncyB8PSBtYXNrOyB9CisgICAgdm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hG
bGFncyBtYXNrKTsKICAgICBib29sIGlzU2FuZGJveGVkKFNhbmRib3hGbGFncyBtYXNrKSBjb25z
dCB7IHJldHVybiBtX3NhbmRib3hGbGFncyAmIG1hc2s7IH0KIAorICAgIC8vIEV4cGxpY2l0bHkg
b3ZlcnJpZGUgdGhlIHNlY3VyaXR5IG9yaWdpbiBmb3IgdGhpcyBzZWN1cml0eSBjb250ZXh0Lgor
ICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdp
biBvZiBhIHNjcmlwdCBjb250ZXh0CisgICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5z
IGNvbnRlbnQuCisgICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPik7CisKICAgICBzdGF0aWMgU2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShj
b25zdCBTdHJpbmcmIHBvbGljeSk7CiAKIHByb3RlY3RlZDoKICAgICBTZWN1cml0eUNvbnRleHQo
KTsKICAgICB+U2VjdXJpdHlDb250ZXh0KCk7CiAKLSAgICAvLyBFeHBsaWNpdGx5IG92ZXJyaWRl
IHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgc2VjdXJpdHkgY29udGV4dC4KLSAgICAvLyBO
b3RlOiBJdCBpcyBkYW5nZXJvdXMgdG8gY2hhbmdlIHRoZSBzZWN1cml0eSBvcmlnaW4gb2YgYSBz
Y3JpcHQgY29udGV4dAotICAgIC8vICAgICAgIHRoYXQgYWxyZWFkeSBjb250YWlucyBjb250ZW50
LgotICAgIHZvaWQgc2V0U2VjdXJpdHlPcmlnaW4oUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4p
OworICAgIHZpcnR1YWwgdm9pZCBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpOworCiAgICAgdm9p
ZCBzZXRDb250ZW50U2VjdXJpdHlQb2xpY3koUGFzc093blB0cjxDb250ZW50U2VjdXJpdHlQb2xp
Y3k+KTsKIAogICAgIHZvaWQgZGlkRmFpbFRvSW5pdGlhbGl6ZVNlY3VyaXR5T3JpZ2luKCkgeyBt
X2hhdmVJbml0aWFsaXplZFNlY3VyaXR5T3JpZ2luID0gZmFsc2U7IH0KSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDExOTE3NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIwIEBACisyMDEyLTA1LTMxICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgc2FuZGJveCBkaXJlY3RpdmUgaW4gWC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFi
bGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9yaWdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwMTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWlu
LWh0dHAtaGVhZGVyLWNvbnRyb2wtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVh
ZGVyLWNvbnRyb2wuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwOiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWlu
LWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTMxICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgW1dpbl0gNCBjc3MzIHRlc3RzIGZhaWwKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxs
b3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItY29u
dHJvbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQUxFUlQ6IFNj
cmlwdCBleGVjdXRlZCBpbiBpZnJhbWUuCitBTEVSVDogUEFTUzogSWZyYW1lIHdhcyBub3QgaW4g
YSB1bmlxdWUgb3JpZ2luCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRl
ci1jb250cm9sLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAt
aGVhZGVyLWNvbnRyb2wuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1p
bi1odHRwLWhlYWRlci1jb250cm9sLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGlmcmFtZSBzcmM9InJlc291cmNlcy9zYW5kYm94LnBocD9zYW5k
Ym94PWFsbG93LXNjcmlwdHMlMjBhbGxvdy1zYW1lLW9yaWdpbiI+PC9pZnJhbWU+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2
YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07Cisg
ICAgdmFyIHNlY3JldCA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuc2VjcmV0OworICAgIGlmIChzZWNy
ZXQpCisgICAgICAgIGFsZXJ0KCJQQVNTOiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBvcmln
aW4iKTsKKyAgICBlbHNlCisgICAgICAgIGFsZXJ0KCJGQUlMOiBJZnJhbWUgd2FzIGluIGEgdW5p
cXVlIG9yaWdpbiIpOworfTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWlu
LWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlw
dHMtaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxv
dy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1IEBACitBTEVSVDogU2NyaXB0IGV4ZWN1dGVkIGluIGlmcmFtZS4KK0NPTlNPTEUgTUVT
U0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNv
dXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy1zY3JpcHRzIGZyb20gZnJhbWUgd2l0aCBV
UkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbC4gRG9tYWlucywgcHJvdG9j
b2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorCitBTEVSVDogUEFTUzogSWZyYW1lIHdhcyBpbiBh
IHVuaXF1ZSBvcmlnaW4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLmh0
bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aWZyYW1l
IHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxsb3ctc2NyaXB0cyI+PC9pZnJh
bWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZy
YW1lIilbMF07CisgICAgdmFyIHNlY3JldCA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuc2VjcmV0Owor
ICAgIGlmIChzZWNyZXQpCisgICAgICAgIGFsZXJ0KCJGQUlMOiBJZnJhbWUgd2FzIG5vdCBpbiBh
IHVuaXF1ZSBvcmlnaW46ICIgKyBzZWNyZXQpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoIlBB
U1M6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9OworPC9zY3JpcHQ+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtaW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDIgQEAKK0FMRVJUOiBQQVNTOiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBv
cmlnaW4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhw
P3NhbmRib3g9YWxsb3ctdG9wLW5hdmlnYXRpb24lMjBhbGxvdy1zYW1lLW9yaWdpbiI+PC9pZnJh
bWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlv
bigpIHsKKyAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZy
YW1lIilbMF07CisgICAgaWYgKGZyYW1lLmNvbnRlbnREb2N1bWVudCkKKyAgICAgICAgYWxlcnQo
IlBBU1M6IElmcmFtZSB3YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbiIpOworICAgIGVsc2UKKyAg
ICAgICAgYWxlcnQoIkZBSUw6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9Owor
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nl
c3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy10b3AtbmF2
aWdhdGlvbiBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1sLiBEb21h
aW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCisKK0FMRVJUOiBQQVNTOiBJZnJh
bWUgd2FzIGluIGEgdW5pcXVlIG9yaWdpbgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5waHA/c2Fu
ZGJveD1hbGxvdy10b3AtbmF2aWdhdGlvbiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07CisgICAgaWYgKGZyYW1l
LmNvbnRlbnREb2N1bWVudCkKKyAgICAgICAgYWxlcnQoIkZBSUw6IElmcmFtZSB3YXMgbm90IGlu
IGEgdW5pcXVlIG9yaWdpbiIpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoIlBBU1M6IElmcmFt
ZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9OworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMv
c2FuZGJveC5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvcmVzb3VyY2VzL3NhbmRib3gucGhwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzw/
cGhwCitoZWFkZXIoIlgtV2ViS2l0LUNTUDogc2FuZGJveCAiIC4gJF9HRVRbInNhbmRib3giXSk7
Cis/PgorPCFET0NUWVBFIGh0bWw+Cis8cD5SZWFkeTwvcD4KKzxzY3JpcHQ+CithbGVydCgiU2Ny
aXB0IGV4ZWN1dGVkIGluIGlmcmFtZS4iKTsKK3dpbmRvdy5zZWNyZXQgPSAiSSBhbSBhIHNlY3Jl
dCI7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145196</attachid>
            <date>2012-05-31 19:22:39 -0700</date>
            <delta_ts>2012-05-31 23:43:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88014-20120531192238.patch</filename>
            <type>text/plain</type>
            <size>15324</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA1LTMxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJveCBkaXJlY3RpdmUgaW4g
WC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9yaWdpbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwMTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBwcm9jZXNzIHRo
ZSBIVFRQIGhlYWRlcnMgZm9yIGEgcmVzcG9uc2UgYWZ0ZXIgd2UgY3JlYXRlIGEgZG9jdW1lbnQK
KyAgICAgICAgb2JqZWN0IGZvciB0aGUgcmVzcG9uc2UuIFByZXZpb3VzbHksIHRoZSBTZWN1cml0
eU9yaWdpbiBvZiBhIGRvY3VtZW50CisgICAgICAgIHdhcyBkZXRlcm1pbmVkIHdoZW4gdGhlIGRv
Y3VtZW50IHdhcyBjcmVhdGVkLCB3aGljaCBtZWFudCB0aGF0IHRoZQorICAgICAgICBzYW5kYm94
IGRpcmVjdGl2ZSBpbiBDU1AgY291bGRuJ3QgY3JlYXRlIGEgdW5pcXVlIG9yaWdpbi4KKworICAg
ICAgICBJbiB0aGlzIHBhdGNoLCB3ZSB0cmFuc2l0aW9uIHRvIGEgdW5pcXVlIG9yaWdpbiB3aGVu
IHdlIHN0YXJ0IGVuZm9yY2luZworICAgICAgICB0aGUgU2FuZGJveE9yaWdpbiBiaXQuIFRoaXMg
cGF0Y2ggaXMgbW9yZSBjb21wbGljYXRlZCB0aGFuIHlvdSBtaWdoCisgICAgICAgIGV4cGVjdCBi
ZWNhdXNlIHdlIHJlZHVuZGFudGx5IHN0b3JlIHRoZSBTZWN1cml0eU9yaWdpbiBvYmplY3QgaW4K
KyAgICAgICAgRE9NV2luZG93LiBSZW1vdmluZyB0aGF0IHJlZHVuZGFudCBzdGF0ZSBpcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTMuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAorICAgICAgICAg
ICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFs
bG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNv
bnRyb2wuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwKKworICAgICAgICAqIGRvbS9E
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJp
dHlPcmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmluaXRDb250ZW50U2VjdXJp
dHlQb2xpY3kpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQp
OgorICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2VjdXJpdHlDb250ZXh0OjplbmZvcmNlU2FuZGJveEZsYWdzKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0OjpkaWRVcGRhdGVTZWN1cml0eU9y
aWdpbik6CisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJp
dHlDb250ZXh0KToKKwogMjAxMi0wNS0zMSAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFNpbmdsZSB0aHJlYWQgcHJveHkgc2hvdWxkIG5v
dCB0aWNrIGFuaW1hdGlvbnMgdW5sZXNzIHRoZSBsYXllciByZW5kZXJlciBoYXMgYmVlbiBpbml0
aWFsaXplZApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVs
bC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5k
b3dTaGVsbC5jcHAJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTIsNiArNTkyLDgg
QEAgdm9pZCBWOERPTVdpbmRvd1NoZWxsOjpuYW1lZEl0ZW1SZW1vdmVkKAogCiB2b2lkIFY4RE9N
V2luZG93U2hlbGw6OnVwZGF0ZVNlY3VyaXR5T3JpZ2luKCkKIHsKKyAgICBpZiAobV9jb250ZXh0
LklzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsK
ICAgICBzZXRTZWN1cml0eVRva2VuKCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUwMzMsMTYgKzUwMzMsMjEgQEAgdm9pZCBEb2N1bWVudDo6aW5pdFNl
Y3VyaXR5Q29udGV4dCgpCiAgICAgc2V0U2VjdXJpdHlPcmlnaW4ob3duZXJGcmFtZS0+ZG9jdW1l
bnQoKS0+c2VjdXJpdHlPcmlnaW4oKSk7CiB9CiAKLXZvaWQgRG9jdW1lbnQ6OmluaXRDb250ZW50
U2VjdXJpdHlQb2xpY3koKQordm9pZCBEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4o
KQogewotICAgIGlmICghbV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKSB8fCAhc2hvdWxkSW5oZXJp
dFNlY3VyaXR5T3JpZ2luRnJvbU93bmVyKG1fdXJsKSkKKyAgICBpZiAoIW1fZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKLSAgICBjb250ZW50U2VjdXJpdHlQb2xpY3koKS0+Y29weVN0YXRlRnJvbSht
X2ZyYW1lLT50cmVlKCktPnBhcmVudCgpLT5kb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKSk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCByZW1vdmUgRE9NV2luZG93OjptX3NlY3Vy
aXR5T3JpZ2luIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBrZWVwIHRoZW0gaW4gc3luYy4KKyAg
ICAvLyBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5Mz4u
CisgICAgbV9mcmFtZS0+ZG9tV2luZG93KCktPnNldFNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3Jp
Z2luKCkpOworICAgIG1fZnJhbWUtPnNjcmlwdCgpLT51cGRhdGVTZWN1cml0eU9yaWdpbigpOwog
fQogCi12b2lkIERvY3VtZW50OjpzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiBvcmlnaW4pCit2b2lkIERvY3VtZW50Ojppbml0Q29udGVudFNlY3VyaXR5UG9saWN5
KCkKIHsKLSAgICBTZWN1cml0eUNvbnRleHQ6OnNldFNlY3VyaXR5T3JpZ2luKG9yaWdpbik7Cisg
ICAgaWYgKCFtX2ZyYW1lLT50cmVlKCktPnBhcmVudCgpIHx8ICFzaG91bGRJbmhlcml0U2VjdXJp
dHlPcmlnaW5Gcm9tT3duZXIobV91cmwpKQorICAgICAgICByZXR1cm47CisgICAgY29udGVudFNl
Y3VyaXR5UG9saWN5KCktPmNvcHlTdGF0ZUZyb20obV9mcmFtZS0+dHJlZSgpLT5wYXJlbnQoKS0+
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkpOwogfQogCiBib29sIERvY3VtZW50
Ojppc0NvbnRleHRUaHJlYWQoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlz
aW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDQ4LDExICsxMDQ4LDYgQEAgcHVibGljOgogICAgIHZvaWQgaW5pdFNlY3VyaXR5
Q29udGV4dCgpOwogICAgIHZvaWQgaW5pdENvbnRlbnRTZWN1cml0eVBvbGljeSgpOwogCi0gICAg
Ly8gRXhwbGljaXRseSBvdmVycmlkZSB0aGUgc2VjdXJpdHkgb3JpZ2luIGZvciB0aGlzIGRvY3Vt
ZW50LgotICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5
IG9yaWdpbiBvZiBhIGRvY3VtZW50Ci0gICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5z
IGNvbnRlbnQuCi0gICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPik7Ci0KICAgICB2b2lkIHVwZGF0ZVVSTEZvclB1c2hPclJlcGxhY2VTdGF0ZShjb25z
dCBLVVJMJik7CiAgICAgdm9pZCBzdGF0ZVBvcHBlZChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZT4pOwogCkBAIC0xMTY3LDYgKzExNjIsOCBAQCBwdWJsaWM6CiBwcm90ZWN0ZWQ6CiAg
ICAgRG9jdW1lbnQoRnJhbWUqLCBjb25zdCBLVVJMJiwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRN
TCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKSBPVkVSUklE
RTsKKwogICAgIHZvaWQgY2xlYXJYTUxWZXJzaW9uKCkgeyBtX3htbFZlcnNpb24gPSBTdHJpbmco
KTsgfQogCiBwcml2YXRlOgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5j
cHAJKHJldmlzaW9uIDExOTE3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRl
eHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw2ICs2NywyMiBAQCBib29sIFNlY3VyaXR5Q29u
dGV4dDo6aXNTZWN1cmVUcmFuc2l0aW9uCiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luKCktPmNh
bkFjY2VzcyhvdGhlci5nZXQoKSk7CiB9CiAKK3ZvaWQgU2VjdXJpdHlDb250ZXh0OjplbmZvcmNl
U2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKQoreworICAgIG1fc2FuZGJveEZsYWdzIHw9
IG1hc2s7CisKKyAgICAvLyBUaGUgU2FuZGJveE9yaWdpbiBpcyBzdG9yZWQgcmVkdW5kYW50bHkg
aW4gdGhlIHNlY3VyaXR5IG9yaWdpbi4KKyAgICBpZiAoaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdp
bikgJiYgc2VjdXJpdHlPcmlnaW4oKSAmJiAhc2VjdXJpdHlPcmlnaW4oKS0+aXNVbmlxdWUoKSkg
eworICAgICAgICBzZXRTZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlVW5pcXVl
KCkpOworICAgICAgICBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpOworICAgIH0KK30KKwordm9p
ZCBTZWN1cml0eUNvbnRleHQ6OmRpZFVwZGF0ZVNlY3VyaXR5T3JpZ2luKCkKK3sKKyAgICAvLyBT
dWJjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIGlmIHRoZSBuZWVkIHRvIGRvIGV4
dHJhIHdvcmsgd2hlbiB0aGUgc2VjdXJpdHkgb3JpZ2luIGNoYW5nZXMuCit9CisKIFNhbmRib3hG
bGFncyBTZWN1cml0eUNvbnRleHQ6OnBhcnNlU2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIHBv
bGljeSkKIHsKICAgICAvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNS90aGUtaWZyYW1lLWVs
ZW1lbnQuaHRtbCNhdHRyLWlmcmFtZS1zYW5kYm94CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20v
U2VjdXJpdHlDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NlY3Vy
aXR5Q29udGV4dC5oCShyZXZpc2lvbiAxMTkxNzQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Vj
dXJpdHlDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDE5ICs2MiwyMiBAQCBwdWJsaWM6
CiAKICAgICBib29sIGlzU2VjdXJlVHJhbnNpdGlvblRvKGNvbnN0IEtVUkwmKSBjb25zdDsKIAot
ICAgIHZvaWQgZW5mb3JjZVNhbmRib3hGbGFncyhTYW5kYm94RmxhZ3MgbWFzaykgeyBtX3NhbmRi
b3hGbGFncyB8PSBtYXNrOyB9CisgICAgdm9pZCBlbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hG
bGFncyBtYXNrKTsKICAgICBib29sIGlzU2FuZGJveGVkKFNhbmRib3hGbGFncyBtYXNrKSBjb25z
dCB7IHJldHVybiBtX3NhbmRib3hGbGFncyAmIG1hc2s7IH0KIAorICAgIC8vIEV4cGxpY2l0bHkg
b3ZlcnJpZGUgdGhlIHNlY3VyaXR5IG9yaWdpbiBmb3IgdGhpcyBzZWN1cml0eSBjb250ZXh0Lgor
ICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhlIHNlY3VyaXR5IG9yaWdp
biBvZiBhIHNjcmlwdCBjb250ZXh0CisgICAgLy8gICAgICAgdGhhdCBhbHJlYWR5IGNvbnRhaW5z
IGNvbnRlbnQuCisgICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPik7CisKICAgICBzdGF0aWMgU2FuZGJveEZsYWdzIHBhcnNlU2FuZGJveFBvbGljeShj
b25zdCBTdHJpbmcmIHBvbGljeSk7CiAKIHByb3RlY3RlZDoKICAgICBTZWN1cml0eUNvbnRleHQo
KTsKLSAgICB+U2VjdXJpdHlDb250ZXh0KCk7CisgICAgdmlydHVhbCB+U2VjdXJpdHlDb250ZXh0
KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKTsKIAotICAg
IC8vIEV4cGxpY2l0bHkgb3ZlcnJpZGUgdGhlIHNlY3VyaXR5IG9yaWdpbiBmb3IgdGhpcyBzZWN1
cml0eSBjb250ZXh0LgotICAgIC8vIE5vdGU6IEl0IGlzIGRhbmdlcm91cyB0byBjaGFuZ2UgdGhl
IHNlY3VyaXR5IG9yaWdpbiBvZiBhIHNjcmlwdCBjb250ZXh0Ci0gICAgLy8gICAgICAgdGhhdCBh
bHJlYWR5IGNvbnRhaW5zIGNvbnRlbnQuCi0gICAgdm9pZCBzZXRTZWN1cml0eU9yaWdpbihQYXNz
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPik7CiAgICAgdm9pZCBzZXRDb250ZW50U2VjdXJpdHlQb2xp
Y3koUGFzc093blB0cjxDb250ZW50U2VjdXJpdHlQb2xpY3k+KTsKIAogICAgIHZvaWQgZGlkRmFp
bFRvSW5pdGlhbGl6ZVNlY3VyaXR5T3JpZ2luKCkgeyBtX2hhdmVJbml0aWFsaXplZFNlY3VyaXR5
T3JpZ2luID0gZmFsc2U7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE3NCkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA1LTMx
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJveCBkaXJl
Y3RpdmUgaW4gWC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9y
aWdpbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgw
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2Ny
aXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0
cy1pbi1odHRwLWhlYWRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1p
bi1odHRwLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVz
b3VyY2VzL3NhbmRib3gucGhwOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlw
dHMtaW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1
LTMxICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0g
NCBjc3MzIHRlc3RzIGZhaWwKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRl
ci1jb250cm9sLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMt
aW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItY29udHJvbC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMyBAQAorQUxFUlQ6IFNjcmlwdCBleGVjdXRlZCBpbiBpZnJhbWUu
CitBTEVSVDogUEFTUzogSWZyYW1lIHdhcyBub3QgaW4gYSB1bmlxdWUgb3JpZ2luCisKSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Nh
bmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGlmcmFt
ZSBzcmM9InJlc291cmNlcy9zYW5kYm94LnBocD9zYW5kYm94PWFsbG93LXNjcmlwdHMlMjBhbGxv
dy1zYW1lLW9yaWdpbiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07CisgICAgdmFyIHNlY3JldCA9IGZyYW1lLmNv
bnRlbnRXaW5kb3cuc2VjcmV0OworICAgIGlmIChzZWNyZXQpCisgICAgICAgIGFsZXJ0KCJQQVNT
OiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBvcmlnaW4iKTsKKyAgICBlbHNlCisgICAgICAg
IGFsZXJ0KCJGQUlMOiBJZnJhbWUgd2FzIGluIGEgdW5pcXVlIG9yaWdpbiIpOworfTsKKzwvc2Ny
aXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitBTEVSVDogU2NyaXB0
IGV4ZWN1dGVkIGluIGlmcmFtZS4KK0NPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQg
YXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJv
eD1hbGxvdy1zY3JpcHRzIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAw
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4t
aHR0cC1oZWFkZXIuaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNo
LgorCitBTEVSVDogUEFTUzogSWZyYW1lIHdhcyBpbiBhIHVuaXF1ZSBvcmlnaW4KKwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJv
eC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NhbmRib3gu
cGhwP3NhbmRib3g9YWxsb3ctc2NyaXB0cyI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07CisgICAgdmFyIHNlY3Jl
dCA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuc2VjcmV0OworICAgIGlmIChzZWNyZXQpCisgICAgICAg
IGFsZXJ0KCJGQUlMOiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBvcmlnaW46ICIgKyBzZWNy
ZXQpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoIlBBU1M6IElmcmFtZSB3YXMgaW4gYSB1bmlx
dWUgb3JpZ2luIik7Cit9OworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNv
bnRyb2wtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItY29u
dHJvbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNv
bnRyb2wtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIgQEAKK0FMRVJUOiBQ
QVNTOiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBvcmlnaW4KKwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1o
dHRwLWhlYWRlci1jb250cm9sLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRl
ci1jb250cm9sLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRy
b2wuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aWZyYW1lIHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxsb3ctdG9wLW5hdmln
YXRpb24lMjBhbGxvdy1zYW1lLW9yaWdpbiI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZnJhbWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaWZyYW1lIilbMF07CisgICAgaWYgKGZyYW1l
LmNvbnRlbnREb2N1bWVudCkKKyAgICAgICAgYWxlcnQoIlBBU1M6IElmcmFtZSB3YXMgbm90IGlu
IGEgdW5pcXVlIG9yaWdpbiIpOworICAgIGVsc2UKKyAgICAgICAgYWxlcnQoIkZBSUw6IElmcmFt
ZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9OworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWlu
LWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVh
ZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTog
VW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMv
c2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy10b3AtbmF2aWdhdGlvbiBmcm9tIGZyYW1lIHdpdGgg
VVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c2FuZGJveC1pbi1odHRwLWhlYWRlci5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRz
IG11c3QgbWF0Y2guCisKK0FMRVJUOiBQQVNTOiBJZnJhbWUgd2FzIGluIGEgdW5pcXVlIG9yaWdp
bgorCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1p
bi1odHRwLWhlYWRlci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci5o
dG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxpZnJh
bWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy10b3AtbmF2aWdhdGlv
biI+PC9pZnJhbWU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3dpbmRvdy5vbmxvYWQg
PSBmdW5jdGlvbigpIHsKKyAgICB2YXIgZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiaWZyYW1lIilbMF07CisgICAgaWYgKGZyYW1lLmNvbnRlbnREb2N1bWVudCkKKyAgICAg
ICAgYWxlcnQoIkZBSUw6IElmcmFtZSB3YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbiIpOworICAg
IGVsc2UKKyAgICAgICAgYWxlcnQoIlBBU1M6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2lu
Iik7Cit9OworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2FuZGJveC5waHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
cmVzb3VyY2VzL3NhbmRib3gucGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDkgQEAKKzw/cGhwCitoZWFkZXIoIlgtV2ViS2l0LUNT
UDogc2FuZGJveCAiIC4gJF9HRVRbInNhbmRib3giXSk7Cis/PgorPCFET0NUWVBFIGh0bWw+Cis8
cD5SZWFkeTwvcD4KKzxzY3JpcHQ+CithbGVydCgiU2NyaXB0IGV4ZWN1dGVkIGluIGlmcmFtZS4i
KTsKK3dpbmRvdy5zZWNyZXQgPSAiSSBhbSBhIHNlY3JldCI7Cis8L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145218</attachid>
            <date>2012-05-31 23:44:00 -0700</date>
            <delta_ts>2012-06-01 02:26:45 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-88014-20120531234359.patch</filename>
            <type>text/plain</type>
            <size>15323</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExOTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTA1LTMxICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgc2FuZGJveCBkaXJlY3RpdmUgaW4g
WC1XZWJLaXQtQ1NQIGhlYWRlciB1bmFibGUgdG8gY3JlYXRlIGEgdW5pcXVlIG9yaWdpbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwMTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgV2UgcHJvY2VzcyB0aGUg
SFRUUCBoZWFkZXJzIGZvciBhIHJlc3BvbnNlIGFmdGVyIHdlIGNyZWF0ZSBhIGRvY3VtZW50Cisg
ICAgICAgIG9iamVjdCBmb3IgdGhlIHJlc3BvbnNlLiBQcmV2aW91c2x5LCB0aGUgU2VjdXJpdHlP
cmlnaW4gb2YgYSBkb2N1bWVudAorICAgICAgICB3YXMgZGV0ZXJtaW5lZCB3aGVuIHRoZSBkb2N1
bWVudCB3YXMgY3JlYXRlZCwgd2hpY2ggbWVhbnQgdGhhdCB0aGUKKyAgICAgICAgc2FuZGJveCBk
aXJlY3RpdmUgaW4gQ1NQIGNvdWxkbid0IGNyZWF0ZSBhIHVuaXF1ZSBvcmlnaW4uCisKKyAgICAg
ICAgSW4gdGhpcyBwYXRjaCwgd2UgdHJhbnNpdGlvbiB0byBhIHVuaXF1ZSBvcmlnaW4gd2hlbiB3
ZSBzdGFydCBlbmZvcmNpbmcKKyAgICAgICAgdGhlIFNhbmRib3hPcmlnaW4gYml0LiBUaGlzIHBh
dGNoIGlzIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiB5b3UgbWlnaHQKKyAgICAgICAgZXhwZWN0IGJl
Y2F1c2Ugd2UgcmVkdW5kYW50bHkgc3RvcmUgdGhlIFNlY3VyaXR5T3JpZ2luIG9iamVjdCBpbgor
ICAgICAgICBET01XaW5kb3cuIFJlbW92aW5nIHRoYXQgcmVkdW5kYW50IHN0YXRlIGlzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5My4KKworICAg
ICAgICBUaGUgQ1NQIHNhbmRib3ggZGlyZWN0aXZlIGlzIGRlZmluZWQgaW4KKyAgICAgICAgaHR0
cDovL2R2Y3MudzMub3JnL2hnL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Jhdy1maWxlL3RpcC9j
c3AtMS4wLXNwZWNpZmljYXRpb24uaHRtbAorICAgICAgICBieSByZWZlcmVuY2UgdG8KKyAgICAg
ICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jZm9y
Y2VkLXNhbmRib3hpbmctZmxhZy1zZXQuCisgICAgICAgIFRoZSByZWxhdGlvbiBiZXR3ZWVuIHNh
bmRib3ggYW5kIHVuaXF1ZSBvcmlnaW4gYXJpc2VzIGZyb20KKyAgICAgICAgaHR0cDovL3d3dy53
aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay8jb3JpZ2luLTAuCisKKyAgICAg
ICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJv
eC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAorICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93
LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRy
b2wuaHRtbAorICAgICAgICAgICAgICBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwKKworICAgICAgICAqIGRvbS9Eb2N1
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJpdHlP
cmlnaW4pOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmluaXRDb250ZW50U2VjdXJpdHlQ
b2xpY3kpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgor
ICAgICAgICAqIGRvbS9TZWN1cml0eUNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vj
dXJpdHlDb250ZXh0OjplbmZvcmNlU2FuZGJveEZsYWdzKToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0OjpkaWRVcGRhdGVTZWN1cml0eU9yaWdp
bik6CisgICAgICAgICogZG9tL1NlY3VyaXR5Q29udGV4dC5oOgorICAgICAgICAoU2VjdXJpdHlD
b250ZXh0KToKKwogMjAxMi0wNS0zMSAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMTc1NzIpOiBlZGl0aW5nL3NwZWxsaW5nL3Nw
ZWxsY2hlY2stYXN5bmMtcmVtb3ZlLWZyYW1lLmh0bWwgY3Jhc2hlcyBvbiBNYWMKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCShyZXZp
c2lvbiAxMTkxODcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1No
ZWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTkyLDYgKzU5Miw4IEBAIHZvaWQgVjhET01XaW5k
b3dTaGVsbDo6bmFtZWRJdGVtUmVtb3ZlZCgKIAogdm9pZCBWOERPTVdpbmRvd1NoZWxsOjp1cGRh
dGVTZWN1cml0eU9yaWdpbigpCiB7CisgICAgaWYgKG1fY29udGV4dC5Jc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybjsKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CiAgICAgc2V0U2VjdXJpdHlU
b2tlbigpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxMTkxODcp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MDQwLDkgKzUwNDAsMTQgQEAgdm9pZCBEb2N1bWVudDo6aW5pdENvbnRlbnRTZWN1cml0eVBvbGlj
eQogICAgIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5jb3B5U3RhdGVGcm9tKG1fZnJhbWUtPnRy
ZWUoKS0+cGFyZW50KCktPmRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpKTsKIH0K
IAotdm9pZCBEb2N1bWVudDo6c2V0U2VjdXJpdHlPcmlnaW4oUGFzc1JlZlB0cjxTZWN1cml0eU9y
aWdpbj4gb3JpZ2luKQordm9pZCBEb2N1bWVudDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKQog
ewotICAgIFNlY3VyaXR5Q29udGV4dDo6c2V0U2VjdXJpdHlPcmlnaW4ob3JpZ2luKTsKKyAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybjsKKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHJl
bW92ZSBET01XaW5kb3c6Om1fc2VjdXJpdHlPcmlnaW4gc28gdGhhdCB3ZSBkb24ndCBuZWVkIHRv
IGtlZXAgdGhlbSBpbiBzeW5jLgorICAgIC8vIFNlZSA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTc1NzkzPi4KKyAgICBtX2ZyYW1lLT5kb21XaW5kb3coKS0+c2V0U2Vj
dXJpdHlPcmlnaW4oc2VjdXJpdHlPcmlnaW4oKSk7CisgICAgbV9mcmFtZS0+c2NyaXB0KCktPnVw
ZGF0ZVNlY3VyaXR5T3JpZ2luKCk7CiB9CiAKIGJvb2wgRG9jdW1lbnQ6OmlzQ29udGV4dFRocmVh
ZCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTE5MTg3KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNDgsMTEg
KzEwNDgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0U2VjdXJpdHlDb250ZXh0KCk7CiAgICAg
dm9pZCBpbml0Q29udGVudFNlY3VyaXR5UG9saWN5KCk7CiAKLSAgICAvLyBFeHBsaWNpdGx5IG92
ZXJyaWRlIHRoZSBzZWN1cml0eSBvcmlnaW4gZm9yIHRoaXMgZG9jdW1lbnQuCi0gICAgLy8gTm90
ZTogSXQgaXMgZGFuZ2Vyb3VzIHRvIGNoYW5nZSB0aGUgc2VjdXJpdHkgb3JpZ2luIG9mIGEgZG9j
dW1lbnQKLSAgICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFpbnMgY29udGVudC4KLSAgICB2
b2lkIHNldFNlY3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKLQogICAg
IHZvaWQgdXBkYXRlVVJMRm9yUHVzaE9yUmVwbGFjZVN0YXRlKGNvbnN0IEtVUkwmKTsKICAgICB2
b2lkIHN0YXRlUG9wcGVkKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CiAKQEAg
LTExNjcsNiArMTE2Miw4IEBAIHB1YmxpYzoKIHByb3RlY3RlZDoKICAgICBEb2N1bWVudChGcmFt
ZSosIGNvbnN0IEtVUkwmLCBib29sIGlzWEhUTUwsIGJvb2wgaXNIVE1MKTsKIAorICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpIE9WRVJSSURFOworCiAgICAgdm9pZCBj
bGVhclhNTFZlcnNpb24oKSB7IG1feG1sVmVyc2lvbiA9IFN0cmluZygpOyB9CiAKIHByaXZhdGU6
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmNwcAkocmV2aXNpb24gMTE5
MTg3KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NlY3VyaXR5Q29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDYgKzY3LDIyIEBAIGJvb2wgU2VjdXJpdHlDb250ZXh0Ojppc1NlY3VyZVRy
YW5zaXRpb24KICAgICByZXR1cm4gc2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzKG90aGVyLmdl
dCgpKTsKIH0KIAordm9pZCBTZWN1cml0eUNvbnRleHQ6OmVuZm9yY2VTYW5kYm94RmxhZ3MoU2Fu
ZGJveEZsYWdzIG1hc2spCit7CisgICAgbV9zYW5kYm94RmxhZ3MgfD0gbWFzazsKKworICAgIC8v
IFRoZSBTYW5kYm94T3JpZ2luIGlzIHN0b3JlZCByZWR1bmRhbnRseSBpbiB0aGUgc2VjdXJpdHkg
b3JpZ2luLgorICAgIGlmIChpc1NhbmRib3hlZChTYW5kYm94T3JpZ2luKSAmJiBzZWN1cml0eU9y
aWdpbigpICYmICFzZWN1cml0eU9yaWdpbigpLT5pc1VuaXF1ZSgpKSB7CisgICAgICAgIHNldFNl
Y3VyaXR5T3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVVbmlxdWUoKSk7CisgICAgICAgIGRp
ZFVwZGF0ZVNlY3VyaXR5T3JpZ2luKCk7CisgICAgfQorfQorCit2b2lkIFNlY3VyaXR5Q29udGV4
dDo6ZGlkVXBkYXRlU2VjdXJpdHlPcmlnaW4oKQoreworICAgIC8vIFN1YmNsYXNzZXMgY2FuIG92
ZXJyaWRlIHRoaXMgZnVuY3Rpb24gaWYgdGhlIG5lZWQgdG8gZG8gZXh0cmEgd29yayB3aGVuIHRo
ZSBzZWN1cml0eSBvcmlnaW4gY2hhbmdlcy4KK30KKwogU2FuZGJveEZsYWdzIFNlY3VyaXR5Q29u
dGV4dDo6cGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5KQogewogICAgIC8v
IGh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw1L3RoZS1pZnJhbWUtZWxlbWVudC5odG1sI2F0dHIt
aWZyYW1lLXNhbmRib3gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2VjdXJpdHlDb250ZXh0LmgJKHJl
dmlzaW9uIDExOTE4NykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TZWN1cml0eUNvbnRleHQuaAko
d29ya2luZyBjb3B5KQpAQCAtNjIsMTkgKzYyLDIyIEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNT
ZWN1cmVUcmFuc2l0aW9uVG8oY29uc3QgS1VSTCYpIGNvbnN0OwogCi0gICAgdm9pZCBlbmZvcmNl
U2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKSB7IG1fc2FuZGJveEZsYWdzIHw9IG1hc2s7
IH0KKyAgICB2b2lkIGVuZm9yY2VTYW5kYm94RmxhZ3MoU2FuZGJveEZsYWdzIG1hc2spOwogICAg
IGJvb2wgaXNTYW5kYm94ZWQoU2FuZGJveEZsYWdzIG1hc2spIGNvbnN0IHsgcmV0dXJuIG1fc2Fu
ZGJveEZsYWdzICYgbWFzazsgfQogCisgICAgLy8gRXhwbGljaXRseSBvdmVycmlkZSB0aGUgc2Vj
dXJpdHkgb3JpZ2luIGZvciB0aGlzIHNlY3VyaXR5IGNvbnRleHQuCisgICAgLy8gTm90ZTogSXQg
aXMgZGFuZ2Vyb3VzIHRvIGNoYW5nZSB0aGUgc2VjdXJpdHkgb3JpZ2luIG9mIGEgc2NyaXB0IGNv
bnRleHQKKyAgICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFpbnMgY29udGVudC4KKyAgICB2
b2lkIHNldFNlY3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+KTsKKwogICAg
IHN0YXRpYyBTYW5kYm94RmxhZ3MgcGFyc2VTYW5kYm94UG9saWN5KGNvbnN0IFN0cmluZyYgcG9s
aWN5KTsKIAogcHJvdGVjdGVkOgogICAgIFNlY3VyaXR5Q29udGV4dCgpOwotICAgIH5TZWN1cml0
eUNvbnRleHQoKTsKKyAgICB2aXJ0dWFsIH5TZWN1cml0eUNvbnRleHQoKTsKKworICAgIHZpcnR1
YWwgdm9pZCBkaWRVcGRhdGVTZWN1cml0eU9yaWdpbigpOwogCi0gICAgLy8gRXhwbGljaXRseSBv
dmVycmlkZSB0aGUgc2VjdXJpdHkgb3JpZ2luIGZvciB0aGlzIHNlY3VyaXR5IGNvbnRleHQuCi0g
ICAgLy8gTm90ZTogSXQgaXMgZGFuZ2Vyb3VzIHRvIGNoYW5nZSB0aGUgc2VjdXJpdHkgb3JpZ2lu
IG9mIGEgc2NyaXB0IGNvbnRleHQKLSAgICAvLyAgICAgICB0aGF0IGFscmVhZHkgY29udGFpbnMg
Y29udGVudC4KLSAgICB2b2lkIHNldFNlY3VyaXR5T3JpZ2luKFBhc3NSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+KTsKICAgICB2b2lkIHNldENvbnRlbnRTZWN1cml0eVBvbGljeShQYXNzT3duUHRyPENv
bnRlbnRTZWN1cml0eVBvbGljeT4pOwogCiAgICAgdm9pZCBkaWRGYWlsVG9Jbml0aWFsaXplU2Vj
dXJpdHlPcmlnaW4oKSB7IG1faGF2ZUluaXRpYWxpemVkU2VjdXJpdHlPcmlnaW4gPSBmYWxzZTsg
fQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTE5MTk0KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDUtMzEgIEFkYW0gQmFydGggIDxh
YmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBzYW5kYm94IGRpcmVjdGl2ZSBpbiBYLVdlYktp
dC1DU1AgaGVhZGVyIHVuYWJsZSB0byBjcmVhdGUgYSB1bmlxdWUgb3JpZ2luCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODAxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRl
ci1jb250cm9sLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhw
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1o
dHRwLWhlYWRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIt
Y29udHJvbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTMxICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVwZGF0ZSBDaHJvbWl1bSB0ZXN0IGV4cGVj
dGF0aW9uIG9mIG1lZGlhL3ZpZGVvLXBvc3Rlci1ibG9ja2VkLWJ5LXdpbGxzZW5kcmVxdWVzdC5o
dG1sIHRvIFBBU1MgVEVYVApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
LWNvbnRyb2wtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1p
bi1odHRwLWhlYWRlci1jb250cm9sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
YWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1jb250cm9sLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzIEBACitBTEVSVDogU2NyaXB0IGV4ZWN1dGVkIGluIGlmcmFtZS4K
K0FMRVJUOiBQQVNTOiBJZnJhbWUgd2FzIG5vdCBpbiBhIHVuaXF1ZSBvcmlnaW4KKwpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2Fu
ZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItY29udHJvbC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVyLWNvbnRyb2wuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aWZyYW1l
IHNyYz0icmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxsb3ctc2NyaXB0cyUyMGFsbG93
LXNhbWUtb3JpZ2luIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKword2lu
ZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXTsKKyAgICB2YXIgc2VjcmV0ID0gZnJhbWUuY29u
dGVudFdpbmRvdy5zZWNyZXQ7CisgICAgaWYgKHNlY3JldCkKKyAgICAgICAgYWxlcnQoIlBBU1M6
IElmcmFtZSB3YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbiIpOworICAgIGVsc2UKKyAgICAgICAg
YWxlcnQoIkZBSUw6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2luIik7Cit9OworPC9zY3Jp
cHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK0FMRVJUOiBTY3JpcHQg
ZXhlY3V0ZWQgaW4gaWZyYW1lLgorQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBh
dHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYW5kYm94LnBocD9zYW5kYm94
PWFsbG93LXNjcmlwdHMgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1o
dHRwLWhlYWRlci5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2gu
CisKK0FMRVJUOiBQQVNTOiBJZnJhbWUgd2FzIGluIGEgdW5pcXVlIG9yaWdpbgorCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5k
Ym94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
YWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5w
aHA/c2FuZGJveD1hbGxvdy1zY3JpcHRzIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBmcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXTsKKyAgICB2YXIgc2VjcmV0
ID0gZnJhbWUuY29udGVudFdpbmRvdy5zZWNyZXQ7CisgICAgaWYgKHNlY3JldCkKKyAgICAgICAg
YWxlcnQoIkZBSUw6IElmcmFtZSB3YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbjogIiArIHNlY3Jl
dCk7CisgICAgZWxzZQorICAgICAgICBhbGVydCgiUEFTUzogSWZyYW1lIHdhcyBpbiBhIHVuaXF1
ZSBvcmlnaW4iKTsKK307Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItY29u
dHJvbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1jb250
cm9sLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItY29u
dHJvbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorQUxFUlQ6IFBB
U1M6IElmcmFtZSB3YXMgbm90IGluIGEgdW5pcXVlIG9yaWdpbgorCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0
dHAtaGVhZGVyLWNvbnRyb2wuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVy
LWNvbnRyb2wuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItY29udHJv
bC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxp
ZnJhbWUgc3JjPSJyZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy10b3AtbmF2aWdh
dGlvbiUyMGFsbG93LXNhbWUtb3JpZ2luIj48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1Rl
eHQoKTsKKword2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHZhciBmcmFtZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVswXTsKKyAgICBpZiAoZnJhbWUu
Y29udGVudERvY3VtZW50KQorICAgICAgICBhbGVydCgiUEFTUzogSWZyYW1lIHdhcyBub3QgaW4g
YSB1bmlxdWUgb3JpZ2luIik7CisgICAgZWxzZQorICAgICAgICBhbGVydCgiRkFJTDogSWZyYW1l
IHdhcyBpbiBhIHVuaXF1ZSBvcmlnaW4iKTsKK307Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4t
aHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFk
ZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1pbi1odHRwLWhlYWRlci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBV
bnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8v
MTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9z
YW5kYm94LnBocD9zYW5kYm94PWFsbG93LXRvcC1uYXZpZ2F0aW9uIGZyb20gZnJhbWUgd2l0aCBV
UkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9z
YW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMg
bXVzdCBtYXRjaC4KKworQUxFUlQ6IFBBU1M6IElmcmFtZSB3YXMgaW4gYSB1bmlxdWUgb3JpZ2lu
CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWlu
LWh0dHAtaGVhZGVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0
bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGlmcmFt
ZSBzcmM9InJlc291cmNlcy9zYW5kYm94LnBocD9zYW5kYm94PWFsbG93LXRvcC1uYXZpZ2F0aW9u
Ij48L2lmcmFtZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKword2luZG93Lm9ubG9hZCA9
IGZ1bmN0aW9uKCkgeworICAgIHZhciBmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJpZnJhbWUiKVswXTsKKyAgICBpZiAoZnJhbWUuY29udGVudERvY3VtZW50KQorICAgICAg
ICBhbGVydCgiRkFJTDogSWZyYW1lIHdhcyBub3QgaW4gYSB1bmlxdWUgb3JpZ2luIik7CisgICAg
ZWxzZQorICAgICAgICBhbGVydCgiUEFTUzogSWZyYW1lIHdhcyBpbiBhIHVuaXF1ZSBvcmlnaW4i
KTsKK307Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9zYW5kYm94LnBocAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9y
ZXNvdXJjZXMvc2FuZGJveC5waHAJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2FuZGJveC5waHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorPD9waHAKK2hlYWRlcigiWC1XZWJLaXQtQ1NQ
OiBzYW5kYm94ICIgLiAkX0dFVFsic2FuZGJveCJdKTsKKz8+Cis8IURPQ1RZUEUgaHRtbD4KKzxw
PlJlYWR5PC9wPgorPHNjcmlwdD4KK2FsZXJ0KCJTY3JpcHQgZXhlY3V0ZWQgaW4gaWZyYW1lLiIp
Oword2luZG93LnNlY3JldCA9ICJJIGFtIGEgc2VjcmV0IjsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>