<?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>96194</bug_id>
          
          <creation_ts>2012-09-08 23:52:05 -0700</creation_ts>
          <short_desc>Switch to entering the sandbox directly from main(), rather than waiting for the initialization message</short_desc>
          <delta_ts>2013-01-14 16:42:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>715424</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-09-08 23:52:05 -0700</bug_when>
    <thetext>Switch to entering the sandbox directly from main(), rather than waiting for the intialization message</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715538</commentid>
    <comment_count>1</comment_count>
      <attachid>163003</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-09-09 11:07:41 -0700</bug_when>
    <thetext>Created attachment 163003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715547</commentid>
    <comment_count>2</comment_count>
      <attachid>163003</attachid>
    <who name="">mitz</who>
    <bug_when>2012-09-09 11:55:40 -0700</bug_when>
    <thetext>Comment on attachment 163003
Patch

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Pass a client identifier to WebProcess as an command line argument

Typo: an

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:101
&gt; +    // Initialize the sandbox.

Useless comment.

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:145
&gt; +        ASSERT(clientIdentifier);

We can’t make assertions about what’s passed on the command line, since that’s outside of WebKit’s control. You should replace this with error logging and, presumably, exiting with an error code.

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:235
&gt; +    // Initialize the shim.

Useless comment.

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:238
&gt; +    // Initialize the sandbox.

Useless comment.

&gt; Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm:244
&gt; +    // Register with AX as a remote app.

Extremely useless comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715551</commentid>
    <comment_count>3</comment_count>
      <attachid>163006</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-09-09 12:46:28 -0700</bug_when>
    <thetext>Created attachment 163006
Update patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715556</commentid>
    <comment_count>4</comment_count>
      <attachid>163006</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-09 12:53:40 -0700</bug_when>
    <thetext>Comment on attachment 163006
Update patch

Attachment 163006 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13798547</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715624</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2012-09-09 15:47:28 -0700</bug_when>
    <thetext>Committed r128003: &lt;http://trac.webkit.org/changeset/128003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806763</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-01-14 16:42:38 -0800</bug_when>
    <thetext>Sandboxing follow-up in bug 106840.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163003</attachid>
            <date>2012-09-09 11:07:41 -0700</date>
            <delta_ts>2012-09-09 12:46:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patchForReview.diff</filename>
            <type>text/plain</type>
            <size>12900</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzk3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTA4ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIHRvIGVudGVyaW5nIHRoZSBz
YW5kYm94IGRpcmVjdGx5IGZyb20gbWFpbigpLCByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciB0aGUg
aW5pdGlhbGl6YXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTYxOTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgor
ICAgICAgICBQYXNzIGEgY2xpZW50IGlkZW50aWZpZXIgdG8gV2ViUHJvY2VzcyBhcyBhbiBjb21t
YW5kIGxpbmUgYXJndW1lbnQKKyAgICAgICAgc28gdGhhdCBpdCBjYW4gYmUgdXNlZCB0byBjcmVh
dGUgcHJpdmF0ZSB0ZW1wb3JhcnkgYW5kIGNhY2hlIGRpcmVjdG9yaWVzLgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJQcm9jZXNzKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjppbml0aWFsaXplU2FuZGJveCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6
OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICBFeHBvc2UgdGhlIGluaXRp
YWxpemVTYW5kYm94KCkgZnVuY3Rpb24gYW5kIHN0b3AgY2FsbGluZyBpdCBmcm9tIHBsYXRmb3Jt
SW5pdGlhbGl6ZVdlYlByb2Nlc3MoKQorICAgICAgICBzaW5jZSBpdCBpcyBub3cgZ29pbmcgdG8g
YmUgY2FsbGVkIGZyb20gV2ViUHJvY2Vzc01haW4uICBBbHNvLCBtb3ZlIGNoYW5naW5nIHRoZSBj
dXJyZW50IHdvcmtpbmcKKyAgICAgICAgZGlyZWN0b3J5IHRvIHNhbmRib3ggaW5pdGlhbGl6YXRp
b24gZnVuY3Rpb24gYW5kIHJlcGxhY2UgdXNlIG9mIGNyZWF0aW9uIHBhcmFtZXRlcnMgd2l0aCBq
dXN0CisgICAgICAgIHRoZSBjbGllbnQgaWRlbnRpZmllci4KKworICAgICAgICAqIFdlYlByb2Nl
c3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW46CisgICAgICAgIEFkZCBzb21lIG5ldyBleGNl
cHRpb25zIHRoYXQgY29tZSBmcm9tIGVudGVyaW5nIHRoZSBzYW5kYm94IGVhcmxpZXIgaW4gdGhl
IEFwcEtpdAorICAgICAgICBpbml0aWFsaXphdGlvbiBwcm9jZXNzLiBEb24ndCBhbGxvdyBhY2Nl
c3MgdG8gY29tLmFwcGxlLmNvcmVzZXJ2aWNlcy5hcHBsZWV2ZW50cy4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWluTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzTWFpblhQQyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWluKToKKyAgICAg
ICAgRW50ZXIgdGhlIHNhbmRib3ggZXhwbGljaXRseSwgbm90IHdhaXRpbmcgdW50aWwgdGhlIGlu
aXRpYWxpemF0aW9uIG1lc3NhZ2UuICBBbHNvLAorICAgICAgICBzaW5jZSB3ZSBub3cgaGF2ZSBh
biBleHRyYSBwYXJhbWV0ZXIgZm9yIHRoZSBjbGllbnQgaWRlbnRpZmllciwgbWFrZSB0aGUgV2Vi
UHJvY2VzcworICAgICAgICBsYXVuY2hlcyB0aGUgVUlQcm9jZXNzIGNvZGUgcGF0aCB3b3JrIGJ5
IGV4dHJhY3RpbmcgYSBjbGllbnQgaWRlbnRpZmllciBmcm9tIHRoZSAKKyAgICAgICAgY2xpZW50
IGV4ZWN1dGFibGUgcGF0aC4KKwogMjAxMi0wOS0wOCAgSmlud29vIFNvbmcgIDxqaW53b283LnNv
bmdAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF1bV0syXSBNaW5pYnJvd3NlciBjcmFzaGVz
IG9uIHJpZ2h0IG1vdXNlIGNsaWNrCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQkocmV2aXNp
b24gMTI3OTczKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9j
ZXNzTGF1bmNoZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIyMiwxMSArMjIyLDE0IEBAIHZv
aWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKIAogICAgICAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IGNmTG9jYWxpemF0aW9uKEFkb3B0Q0YsIFdLQ29weUNGTG9jYWxpemF0aW9u
UHJlZmVycmVkTmFtZShOVUxMKSk7CiAgICAgICAgIENTdHJpbmcgbG9jYWxpemF0aW9uID0gU3Ry
aW5nKGNmTG9jYWxpemF0aW9uLmdldCgpKS51dGY4KCk7Ci0gICAgICAgIAorCisgICAgICAgIE5T
U3RyaW5nICpidW5kbGVJZGVudGlmaWVyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVJ
ZGVudGlmaWVyXTsKKyAgICAgICAgQ1N0cmluZyBjbGllbnRJZGVudGlmaWVyID0gYnVuZGxlSWRl
bnRpZmllciA/IFN0cmluZyhbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlkZW50aWZpZXJd
KS51dGY4KCkgOiAqX05TR2V0UHJvZ25hbWUoKTsKKwogICAgICAgICAvLyBNYWtlIGEgdW5pcXVl
LCBwZXIgcGlkLCBwZXIgcHJvY2VzcyBsYXVuY2hlciB3ZWIgcHJvY2VzcyBzZXJ2aWNlIG5hbWUu
CiAgICAgICAgIENTdHJpbmcgc2VydmljZU5hbWUgPSBTdHJpbmc6OmZvcm1hdCgiY29tLmFwcGxl
LldlYktpdC5XZWJQcm9jZXNzLSVkLSVwIiwgZ2V0cGlkKCksIHRoaXMpLnV0ZjgoKTsKIAotICAg
ICAgICBjb25zdCBjaGFyKiBhcmdzW10gPSB7IFtwcm9jZXNzQXBwRXhlY3V0YWJsZVBhdGggZmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uXSwgZnJhbWV3b3JrRXhlY3V0YWJsZVBhdGgsICItdHlwZSIs
IHByb2Nlc3NUeXBlQXNTdHJpbmcobV9sYXVuY2hPcHRpb25zLnByb2Nlc3NUeXBlKSwgIi1zZXJ2
aWNlbmFtZSIsIHNlcnZpY2VOYW1lLmRhdGEoKSwgIi1sb2NhbGl6YXRpb24iLCBsb2NhbGl6YXRp
b24uZGF0YSgpLCAwIH07CisgICAgICAgIGNvbnN0IGNoYXIqIGFyZ3NbXSA9IHsgW3Byb2Nlc3NB
cHBFeGVjdXRhYmxlUGF0aCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb25dLCBmcmFtZXdvcmtFeGVj
dXRhYmxlUGF0aCwgIi10eXBlIiwgcHJvY2Vzc1R5cGVBc1N0cmluZyhtX2xhdW5jaE9wdGlvbnMu
cHJvY2Vzc1R5cGUpLCAiLXNlcnZpY2VuYW1lIiwgc2VydmljZU5hbWUuZGF0YSgpLCAiLWxvY2Fs
aXphdGlvbiIsIGxvY2FsaXphdGlvbi5kYXRhKCksICItY2xpZW50LWlkZW50aWZpZXIiLCBjbGll
bnRJZGVudGlmaWVyLmRhdGEoKSwgMCB9OwogCiAgICAgICAgIC8vIFJlZ2lzdGVyIG91cnNlbHZl
cy4KICAgICAgICAga2Vybl9yZXR1cm5fdCBrciA9IGJvb3RzdHJhcF9yZWdpc3RlcjIoYm9vdHN0
cmFwX3BvcnQsIGNvbnN0X2Nhc3Q8Y2hhcio+KHNlcnZpY2VOYW1lLmRhdGEoKSksIGxpc3Rlbmlu
Z1BvcnQsIDApOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJKHJl
dmlzaW9uIDEyNzk3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjgsNiArMTI4LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgIHZvaWQgaW5pdGlhbGl6ZVNoaW0oKTsKKyAgICB2b2lkIGluaXRpYWxpemVT
YW5kYm94KGNvbnN0IFN0cmluZyYgY2xpZW50SWRlbnRpZmllcik7CiAKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCiAgICAgbWFjaF9wb3J0X3QgY29tcG9zaXRpbmdSZW5kZXJTZXJ2
ZXJQb3J0KCkgY29uc3QgeyByZXR1cm4gbV9jb21wb3NpdGluZ1JlbmRlclNlcnZlclBvcnQ7IH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2Iu
aW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbgkocmV2aXNpb24gMTI3OTczKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgkod29ya2luZyBjb3B5KQpAQCAtNTEsNiAr
NTEsNyBAQAogICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5h
cHBsZS5XZWJGb3VuZGF0aW9uLnBsaXN0IikKICAgICAgICAoaG9tZS1saXRlcmFsICIvTGlicmFy
eS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuc2VjdXJpdHkucGxpc3QiKQogICAgICAgIChob21lLWxp
dGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5zZWN1cml0eS5yZXZvY2F0aW9u
LnBsaXN0IikKKyAgICAgICAoaG9tZS1saXRlcmFsICIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb20u
YXBwbGUuc3BlZWNoLnJlY29nbml0aW9uLkFwcGxlU3BlZWNoUmVjb2duaXRpb24ucHJlZnMucGxp
c3QiKQogICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQv
U3luY1NlcnZpY2VzL0xvY2FsL0NsaWVudHNXaXRoQ2hhbmdlcy9jb20uYXBwbGUuS2V5Y2hhaW4i
KQogICAgICAgIChob21lLXJlZ2V4ICMiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tXC5hcHBsZVwu
ZHJpdmVyXC4oQXBwbGVCbHVldG9vdGhNdWx0aXRvdWNoXC5tb3VzZXxBcHBsZUJsdWV0b290aE11
bHRpdG91Y2hcLnRyYWNrcGFkfEFwcGxlSElETW91c2UpXC5wbGlzdCQiKQogCkBAIC03MCw3ICs3
MSw5IEBACiAgICAgICAgKHN1YnBhdGggIi9MaWJyYXJ5L1ZpZGVvL1BsdWctSW5zIikKICAgICAg
ICAoc3VicGF0aCAiL0xpYnJhcnkvUXVpY2tUaW1lIikKIAotICAgICAgIChob21lLXN1YnBhdGgg
Ii9MaWJyYXJ5L0RpY3Rpb25hcmllcyIpKQorICAgICAgIChob21lLXN1YnBhdGggIi9MaWJyYXJ5
L0RpY3Rpb25hcmllcyIpCisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvS2V5Ym9hcmQg
TGF5b3V0cyIpCisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkvSW5wdXQgTWV0aG9kcyIp
KQogCiA7OyBUaGlzIHNob3VsZCBiZSB1cGRhdGVkIHdoZW4gPHJkYXI6Ly9wcm9ibGVtLzkzNTU4
MzA+IGlzIGZpeGVkLgogOzsgUmVhZC1vbmx5IGV4dGVuc2lvbnMgZnJvbSBVSVByb2Nlc3MKQEAg
LTE0Nyw2ICsxNTAsNyBAQAogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLndpbmRvd3Nl
cnZlci5hY3RpdmUiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNmbmV0d29yay5B
dXRoQnJva2VyQWdlbnQiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLlBvd2VyTWFu
YWdlbWVudC5jb250cm9sIikKKyAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBsZS5zcGVlY2gu
cmVjb2duaXRpb25zZXJ2ZXIiKQogCiAgICAgICAgOzsgRklYTUU6IFRoaXMgc2hvdWxkIGJlIHJl
bW92ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vOTI3NjM5Mz4gaXMgZml4ZWQuCiAgICAgICAgKGds
b2JhbC1uYW1lICJjb20uYXBwbGUubWV0YWRhdGEubWRzIikpCkBAIC0xODcsMyArMTkxLDYgQEAK
ICAgICAgICA7OyBGSVhNRTogU2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgPHJkYXI6Ly9wcm9ibGVt
LzEwNDYzODgxPiBpcyBmaXhlZC4KICAgICAgICAoaG9tZS1saXRlcmFsICIvTGlicmFyeS9QcmVm
ZXJlbmNlcy9jb20uYXBwbGUuTGF1bmNoU2VydmljZXMuUXVhcmFudGluZUV2ZW50c1YyIikKICAg
ICAgICAoaG9tZS1saXRlcmFsICIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb20uYXBwbGUuTGF1bmNo
U2VydmljZXMuUXVhcmFudGluZUV2ZW50c1YyLWpvdXJuYWwiKSkKKworKGRlbnkgbWFjaC1sb29r
dXAgKHdpdGggbm8tbG9nKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNvcmVzZXJ2
aWNlcy5hcHBsZWV2ZW50cyIpKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9tYWMv
V2ViUHJvY2Vzc01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L21hYy9XZWJQcm9jZXNzTWFjLm1tCShyZXZpc2lvbiAxMjc5NzMpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xODAs
OCArMTgwLDEwIEBAIHN0YXRpYyB2b2lkIGFwcGVuZFJlYWR3cml0ZVNhbmRib3hEaXJlY3QKIAog
I2VuZGlmCiAKLXN0YXRpYyB2b2lkIGluaXRpYWxpemVTYW5kYm94KGNvbnN0IFdlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxp
emVTYW5kYm94KGNvbnN0IFN0cmluZyYgY2xpZW50SWRlbnRpZmllcikKIHsKKyAgICBbW05TRmls
ZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNoYW5nZUN1cnJlbnREaXJlY3RvcnlQYXRoOltbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlUGF0aF1dOworCiAjaWYgRU5BQkxFKFdFQl9QUk9DRVNT
X1NBTkRCT1gpCiAKICNpZiBERUJVR19CWVBBU1NfU0FOREJPWApAQCAtMTkxLDcgKzE5Myw3IEBA
IHN0YXRpYyB2b2lkIGluaXRpYWxpemVTYW5kYm94KGNvbnN0IFdlYlAKIAogI2lmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA4MAogICAgIC8vIFVzZSBwcml2YXRlIHRlbXBv
cmFyeSBhbmQgY2FjaGUgZGlyZWN0b3JpZXMuCi0gICAgU3RyaW5nIHN5c3RlbURpcmVjdG9yeVN1
ZmZpeCA9ICJjb20uYXBwbGUuV2ViUHJvY2VzcysiICsgcGFyYW1ldGVycy51aVByb2Nlc3NCdW5k
bGVJZGVudGlmaWVyOworICAgIFN0cmluZyBzeXN0ZW1EaXJlY3RvcnlTdWZmaXggPSAiY29tLmFw
cGxlLldlYlByb2Nlc3MrIiArIGNsaWVudElkZW50aWZpZXI7CiAgICAgc2V0ZW52KCJESVJIRUxQ
RVJfVVNFUl9ESVJfU1VGRklYIiwgZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHN5c3RlbURpcmVj
dG9yeVN1ZmZpeCkuZGF0YSgpLCAwKTsKICAgICBjaGFyIHRlbXBvcmFyeURpcmVjdG9yeVtQQVRI
X01BWF07CiAgICAgaWYgKCFjb25mc3RyKF9DU19EQVJXSU5fVVNFUl9URU1QX0RJUiwgdGVtcG9y
YXJ5RGlyZWN0b3J5LCBzaXplb2YodGVtcG9yYXJ5RGlyZWN0b3J5KSkpIHsKQEAgLTI0OCwxMCAr
MjUwLDYgQEAgc3RhdGljIGlkIE5TQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5Rm9jdQogICAgIAog
dm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciopCiB7Ci0gICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjaGFuZ2VDdXJy
ZW50RGlyZWN0b3J5UGF0aDpbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZVBhdGhdXTsKLQot
ICAgIGluaXRpYWxpemVTYW5kYm94KHBhcmFtZXRlcnMpOwotCiAgICAgU2FuZGJveEV4dGVuc2lv
bjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMudWlQcm9jZXNzQnVuZGxlUmVzb3VyY2VQ
YXRoRXh0ZW5zaW9uSGFuZGxlKTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFu
ZW50bHkocGFyYW1ldGVycy5sb2NhbFN0b3JhZ2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwog
ICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLmRhdGFi
YXNlRGlyZWN0b3J5RXh0ZW5zaW9uSGFuZGxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWluTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWluTWFjLm1tCShyZXZpc2lvbiAxMjc5NzMp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9XZWJQcm9jZXNzTWFpbk1hYy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiQ29tbWFuZExpbmUuaCIK
ICNpbXBvcnQgIkVudmlyb25tZW50VXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJFbnZpcm9ubWVudFZh
cmlhYmxlcy5oIgorI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXZWJQcm9j
ZXNzLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPFdlYkNvcmUv
UnVuTG9vcC5oPgpAQCAtOTcsNiArOTgsMTAgQEAgaW50IFdlYlByb2Nlc3NNYWluWFBDKHhwY19j
b25uZWN0aW9uX3QgeAogICAgIC8vIEZJWE1FOiBNYWtlIHRoZSBzaGltIHdvcmsuCiAgICAgV2Vi
UHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZVNoaW0oKTsKIAorICAgIC8vIEluaXRpYWxpemUg
dGhlIHNhbmRib3guCisgICAgLy8gRklYTUU6IFBhc3MgdGhlIGNsaWVudCBpZGVudGlmaWVyIGhl
cmUuCisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZVNhbmRib3goU3RyaW5nKCkp
OworCiAgICAgLy8gQ3JlYXRlIHRoZSBjb25uZWN0aW9uLgogICAgIFdlYlByb2Nlc3M6OnNoYXJl
ZCgpLmluaXRpYWxpemUoQ29yZUlQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcihzZXJ2ZXJQb3J0
LCB4cGNDb25uZWN0aW9uKSwgUnVuTG9vcDo6bWFpbigpKTsKIApAQCAtMTI1LDYgKzEzMCw4IEBA
IGludCBXZWJQcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGluZSYgY28KICAgICBpZiAoc2Vydmlj
ZU5hbWUuaXNFbXB0eSgpICYmIGNsaWVudEV4ZWN1dGFibGUuaXNFbXB0eSgpKQogICAgICAgICBy
ZXR1cm4gRVhJVF9GQUlMVVJFOwogCisgICAgU3RyaW5nIGNsaWVudElkZW50aWZpZXI7CisKICAg
ICAvLyBHZXQgdGhlIHNlcnZlciBwb3J0LgogICAgIG1hY2hfcG9ydF90IHNlcnZlclBvcnQ7CiAg
ICAgaWYgKGNsaWVudEV4ZWN1dGFibGUuaXNFbXB0eSgpKSB7CkBAIC0xMzMsNiArMTQwLDkgQEAg
aW50IFdlYlByb2Nlc3NNYWluKGNvbnN0IENvbW1hbmRMaW5lJiBjbwogICAgICAgICAgICAgV1RG
TG9nQWx3YXlzKCJib290c3RyYXBfbG9va191cCByZXN1bHQ6ICVzICgleClcbiIsIG1hY2hfZXJy
b3Jfc3RyaW5nKGtyKSwga3IpOwogICAgICAgICAgICAgcmV0dXJuIDI7CiAgICAgICAgIH0KKyAg
ICAgICAgCisgICAgICAgIGNsaWVudElkZW50aWZpZXIgPSBjb21tYW5kTGluZVsiY2xpZW50LWlk
ZW50aWZpZXIiXTsKKyAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZpZXIpOwogICAgIH0KICNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwNzAKICAgICBlbHNlIHsKQEAg
LTE4NSw2ICsxOTUsMTMgQEAgaW50IFdlYlByb2Nlc3NNYWluKGNvbnN0IENvbW1hbmRMaW5lJiBj
bwogICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJGYWlsZWQgdG8gb2J0YWluIHNlbmQgcmlnaHQg
Zm9yIHBvcnQgcmVjZWl2ZWQgZnJvbSB0aGUgVUkgcHJvY2Vzcy5cbiIpOwogICAgICAgICAgICAg
cmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICAgICAgfQorCisgICAgICAgIFJldGFpblB0cjxOU1VS
TD4gY2xpZW50RXhlY3V0YWJsZVVSTCA9IGFkb3B0TlMoW1tOU1VSTCBhbGxvY10gaW5pdEZpbGVV
UkxXaXRoUGF0aDpuc1N0cmluZ0Zyb21XZWJDb3JlU3RyaW5nKGNsaWVudEV4ZWN1dGFibGUpXSk7
CisgICAgICAgIFJldGFpblB0cjxDRlVSTFJlZj4gY2xpZW50QnVuZGxlVVJMID0gYWRvcHRDRihX
S0NvcHlCdW5kbGVVUkxGb3JFeGVjdXRhYmxlVVJMKChDRlVSTFJlZiljbGllbnRFeGVjdXRhYmxl
VVJMLmdldCgpKSk7CisgICAgICAgIFJldGFpblB0cjxOU0J1bmRsZT4gY2xpZW50QnVuZGxlID0g
YWRvcHROUyhbW05TQnVuZGxlIGFsbG9jXSBpbml0V2l0aFVSTDooTlNVUkwgKiljbGllbnRCdW5k
bGVVUkwuZ2V0KCldKTsKKyAgICAgICAgCisgICAgICAgIGNsaWVudElkZW50aWZpZXIgPSBbY2xp
ZW50QnVuZGxlLmdldCgpIGJ1bmRsZUlkZW50aWZpZXJdOworICAgICAgICBBU1NFUlQoY2xpZW50
SWRlbnRpZmllcik7CiAgICAgfQogI2VuZGlmIC8vIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTA3MAogCkBAIC0yMDYsMTQgKzIyMyw2IEBAIGludCBXZWJQcm9jZXNzTWFpbihj
b25zdCBDb21tYW5kTGluZSYgY28KICAgICBXVEY6OmluaXRpYWxpemVNYWluVGhyZWFkKCk7CiAg
ICAgUnVuTG9vcDo6aW5pdGlhbGl6ZU1haW5SdW5Mb29wKCk7CiAKLSAgICAvLyBJbml0aWFsaXpl
IHRoZSBzaGltLgotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemVTaGltKCk7Ci0K
LSAgICAvLyBDcmVhdGUgdGhlIGNvbm5lY3Rpb24uCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
aW5pdGlhbGl6ZShDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKHNlcnZlclBvcnQpLCBS
dW5Mb29wOjptYWluKCkpOwotCi0gICAgW3Bvb2wgZHJhaW5dOwotCiAjaWYgVVNFKEFQUEtJVCkK
ICAgICAgLy8gSW5pdGlhbGl6ZSBBcHBLaXQuCiAgICAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBw
bGljYXRpb25dOwpAQCAtMjIzLDggKzIzMiwyMCBAQCBpbnQgV2ViUHJvY2Vzc01haW4oY29uc3Qg
Q29tbWFuZExpbmUmIGNvCiAgICAgW1tOU0FwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBf
aW5zdGFsbEF1dG9yZWxlYXNlUG9vbHNPbkN1cnJlbnRUaHJlYWRJZk5lY2Vzc2FyeV07CiAjZW5k
aWYKIAorICAgIC8vIEluaXRpYWxpemUgdGhlIHNoaW0uCisgICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkuaW5pdGlhbGl6ZVNoaW0oKTsKKworICAgIC8vIEluaXRpYWxpemUgdGhlIHNhbmRib3guCisg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZVNhbmRib3goY2xpZW50SWRlbnRpZmll
cik7CisKKyAgICAvLyBDcmVhdGUgdGhlIGNvbm5lY3Rpb24uCisgICAgV2ViUHJvY2Vzczo6c2hh
cmVkKCkuaW5pdGlhbGl6ZShDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKHNlcnZlclBv
cnQpLCBSdW5Mb29wOjptYWluKCkpOworCisgICAgLy8gUmVnaXN0ZXIgd2l0aCBBWCBhcyBhIHJl
bW90ZSBhcHAuCiAgICAgV0tBWFJlZ2lzdGVyUmVtb3RlQXBwKCk7Ci0gICAgCisKKyAgICBbcG9v
bCBkcmFpbl07CisKICAgICBSdW5Mb29wOjpydW4oKTsKIAogICAgIC8vIEZJWE1FOiBEbyBtb3Jl
IGNsZWFudXAgaGVyZS4KSW5kZXg6IFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3OTczKQorKysgV2Vi
S2l0TGlicmFyaWVzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisy
MDEyLTA5LTA4ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNo
IHRvIGVudGVyaW5nIHRoZSBzYW5kYm94IGRpcmVjdGx5IGZyb20gbWFpbigpLCByYXRoZXIgdGhh
biB3YWl0aW5nIGZvciB0aGUgaW5pdGlhbGl6YXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYxOTQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgV0tTSSB3aXRoIFNQSSBmb3Ig
Z2V0dGluZyB0aGUgYnVuZGxlIFVSTCBmcm9tIGFuIGV4ZWN1dGFibGUgVVJMLgorCisgICAgICAg
ICogV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg6CisgICAgICAgICogbGliV2ViS2l0U3lzdGVtSW50
ZXJmYWNlTGlvbi5hOgorICAgICAgICAqIGxpYldlYktpdFN5c3RlbUludGVyZmFjZU1vdW50YWlu
TGlvbi5hOgorICAgICAgICAqIGxpYldlYktpdFN5c3RlbUludGVyZmFjZVNub3dMZW9wYXJkLmE6
CisgICAgICAgIEFkZHMgV0tDb3B5QnVuZGxlVVJMRm9yRXhlY3V0YWJsZVVSTCgpLgorCiAyMDEy
LTA4LTI5ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IEVOQUJMRV9DU1MzX0ZMRVhCT1ggY29tcGlsZSB0aW1lIGZsYWcKSW5kZXg6IFdlYktpdExpYnJh
cmllcy9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJp
ZXMvV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgJKHJldmlzaW9uIDEyNzk3MykKKysrIFdlYktpdExp
YnJhcmllcy9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ5LDYg
KzI0OSw4IEBAIHZvaWQgV0tDRlVSTFJlcXVlc3RTZXRIVFRQUmVxdWVzdEJvZHlQYXIKIAogdm9p
ZCBXS1NldFZpc2libGVBcHBsaWNhdGlvbk5hbWUoQ0ZTdHJpbmdSZWYpOwogCitDRlVSTFJlZiBX
S0NvcHlCdW5kbGVVUkxGb3JFeGVjdXRhYmxlVVJMKENGVVJMUmVmKTsKKwogdHlwZWRlZiBlbnVt
IHsKICAgICBXS01lZGlhVUlQYXJ0RnVsbHNjcmVlbkJ1dHRvbiAgID0gMCwKICAgICBXS01lZGlh
VUlQYXJ0TXV0ZUJ1dHRvbiwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163006</attachid>
            <date>2012-09-09 12:46:28 -0700</date>
            <delta_ts>2012-09-09 13:22:27 -0700</delta_ts>
            <desc>Update patch</desc>
            <filename>patchForReview.diff</filename>
            <type>text/plain</type>
            <size>13124</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNzk3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA5LTA4ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgU3dpdGNoIHRvIGVudGVyaW5nIHRoZSBz
YW5kYm94IGRpcmVjdGx5IGZyb20gbWFpbigpLCByYXRoZXIgdGhhbiB3YWl0aW5nIGZvciB0aGUg
aW5pdGlhbGl6YXRpb24gbWVzc2FnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTYxOTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFj
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgor
ICAgICAgICBQYXNzIGEgY2xpZW50IGlkZW50aWZpZXIgdG8gV2ViUHJvY2VzcyBhcyBhIGNvbW1h
bmQgbGluZSBhcmd1bWVudAorICAgICAgICBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIHRvIGNyZWF0
ZSBwcml2YXRlIHRlbXBvcmFyeSBhbmQgY2FjaGUgZGlyZWN0b3JpZXMuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYlByb2Nlc3MpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3M6OmluaXRpYWxpemVTYW5kYm94KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIEV4cG9zZSB0aGUgaW5pdGlh
bGl6ZVNhbmRib3goKSBmdW5jdGlvbiBhbmQgc3RvcCBjYWxsaW5nIGl0IGZyb20gcGxhdGZvcm1J
bml0aWFsaXplV2ViUHJvY2VzcygpCisgICAgICAgIHNpbmNlIGl0IGlzIG5vdyBnb2luZyB0byBi
ZSBjYWxsZWQgZnJvbSBXZWJQcm9jZXNzTWFpbi4gIEFsc28sIG1vdmUgY2hhbmdpbmcgdGhlIGN1
cnJlbnQgd29ya2luZworICAgICAgICBkaXJlY3RvcnkgdG8gc2FuZGJveCBpbml0aWFsaXphdGlv
biBmdW5jdGlvbiBhbmQgcmVwbGFjZSB1c2Ugb2YgY3JlYXRpb24gcGFyYW1ldGVycyB3aXRoIGp1
c3QKKyAgICAgICAgdGhlIGNsaWVudCBpZGVudGlmaWVyLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbjoKKyAgICAgICAgQWRkIHNvbWUgbmV3IGV4Y2Vw
dGlvbnMgdGhhdCBjb21lIGZyb20gZW50ZXJpbmcgdGhlIHNhbmRib3ggZWFybGllciBpbiB0aGUg
QXBwS2l0CisgICAgICAgIGluaXRpYWxpemF0aW9uIHByb2Nlc3MuIERvbid0IGFsbG93IGFjY2Vz
cyB0byBjb20uYXBwbGUuY29yZXNlcnZpY2VzLmFwcGxlZXZlbnRzLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01haW5NYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBy
b2Nlc3NNYWluWFBDKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW4pOgorICAgICAg
ICBFbnRlciB0aGUgc2FuZGJveCBleHBsaWNpdGx5LCBub3Qgd2FpdGluZyB1bnRpbCB0aGUgaW5p
dGlhbGl6YXRpb24gbWVzc2FnZS4gIEFsc28sCisgICAgICAgIHNpbmNlIHdlIG5vdyBoYXZlIGFu
IGV4dHJhIHBhcmFtZXRlciBmb3IgdGhlIGNsaWVudCBpZGVudGlmaWVyLCBtYWtlIHRoZSBXZWJQ
cm9jZXNzCisgICAgICAgIGxhdW5jaGVzIHRoZSBVSVByb2Nlc3MgY29kZSBwYXRoIHdvcmsgYnkg
ZXh0cmFjdGluZyBhIGNsaWVudCBpZGVudGlmaWVyIGZyb20gdGhlIAorICAgICAgICBjbGllbnQg
ZXhlY3V0YWJsZSBwYXRoLgorCiAyMDEyLTA5LTA4ICBKaW53b28gU29uZyAgPGppbndvbzcuc29u
Z0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIE1pbmlicm93c2VyIGNyYXNoZXMg
b24gcmlnaHQgbW91c2UgY2xpY2sKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCShyZXZpc2lv
biAxMjc5NzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nl
c3NMYXVuY2hlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjIyLDExICsyMjIsMTQgQEAgdm9p
ZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQogCiAgICAgICAgIFJldGFpblB0cjxD
RlN0cmluZ1JlZj4gY2ZMb2NhbGl6YXRpb24oQWRvcHRDRiwgV0tDb3B5Q0ZMb2NhbGl6YXRpb25Q
cmVmZXJyZWROYW1lKE5VTEwpKTsKICAgICAgICAgQ1N0cmluZyBsb2NhbGl6YXRpb24gPSBTdHJp
bmcoY2ZMb2NhbGl6YXRpb24uZ2V0KCkpLnV0ZjgoKTsKLSAgICAgICAgCisKKyAgICAgICAgTlNT
dHJpbmcgKmJ1bmRsZUlkZW50aWZpZXIgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIGJ1bmRsZUlk
ZW50aWZpZXJdOworICAgICAgICBDU3RyaW5nIGNsaWVudElkZW50aWZpZXIgPSBidW5kbGVJZGVu
dGlmaWVyID8gU3RyaW5nKFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlSWRlbnRpZmllcl0p
LnV0ZjgoKSA6ICpfTlNHZXRQcm9nbmFtZSgpOworCiAgICAgICAgIC8vIE1ha2UgYSB1bmlxdWUs
IHBlciBwaWQsIHBlciBwcm9jZXNzIGxhdW5jaGVyIHdlYiBwcm9jZXNzIHNlcnZpY2UgbmFtZS4K
ICAgICAgICAgQ1N0cmluZyBzZXJ2aWNlTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCJjb20uYXBwbGUu
V2ViS2l0LldlYlByb2Nlc3MtJWQtJXAiLCBnZXRwaWQoKSwgdGhpcykudXRmOCgpOwogCi0gICAg
ICAgIGNvbnN0IGNoYXIqIGFyZ3NbXSA9IHsgW3Byb2Nlc3NBcHBFeGVjdXRhYmxlUGF0aCBmaWxl
U3lzdGVtUmVwcmVzZW50YXRpb25dLCBmcmFtZXdvcmtFeGVjdXRhYmxlUGF0aCwgIi10eXBlIiwg
cHJvY2Vzc1R5cGVBc1N0cmluZyhtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUpLCAiLXNlcnZp
Y2VuYW1lIiwgc2VydmljZU5hbWUuZGF0YSgpLCAiLWxvY2FsaXphdGlvbiIsIGxvY2FsaXphdGlv
bi5kYXRhKCksIDAgfTsKKyAgICAgICAgY29uc3QgY2hhciogYXJnc1tdID0geyBbcHJvY2Vzc0Fw
cEV4ZWN1dGFibGVQYXRoIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbl0sIGZyYW1ld29ya0V4ZWN1
dGFibGVQYXRoLCAiLXR5cGUiLCBwcm9jZXNzVHlwZUFzU3RyaW5nKG1fbGF1bmNoT3B0aW9ucy5w
cm9jZXNzVHlwZSksICItc2VydmljZW5hbWUiLCBzZXJ2aWNlTmFtZS5kYXRhKCksICItbG9jYWxp
emF0aW9uIiwgbG9jYWxpemF0aW9uLmRhdGEoKSwgIi1jbGllbnQtaWRlbnRpZmllciIsIGNsaWVu
dElkZW50aWZpZXIuZGF0YSgpLCAwIH07CiAKICAgICAgICAgLy8gUmVnaXN0ZXIgb3Vyc2VsdmVz
LgogICAgICAgICBrZXJuX3JldHVybl90IGtyID0gYm9vdHN0cmFwX3JlZ2lzdGVyMihib290c3Ry
YXBfcG9ydCwgY29uc3RfY2FzdDxjaGFyKj4oc2VydmljZU5hbWUuZGF0YSgpKSwgbGlzdGVuaW5n
UG9ydCwgMCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2
aXNpb24gMTI3OTczKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOCw2ICsxMjgsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgdm9pZCBpbml0aWFsaXplU2hpbSgpOworICAgIHZvaWQgaW5pdGlhbGl6ZVNh
bmRib3goY29uc3QgU3RyaW5nJiBjbGllbnRJZGVudGlmaWVyKTsKIAogI2lmIFVTRShBQ0NFTEVS
QVRFRF9DT01QT1NJVElORykKICAgICBtYWNoX3BvcnRfdCBjb21wb3NpdGluZ1JlbmRlclNlcnZl
clBvcnQoKSBjb25zdCB7IHJldHVybiBtX2NvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydDsgfQpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQ
cm9jZXNzLnNiLmluCShyZXZpc2lvbiAxMjc5NzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1
MSw3IEBACiAgICAgICAgKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFw
cGxlLldlYkZvdW5kYXRpb24ucGxpc3QiKQogICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5
L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5zZWN1cml0eS5wbGlzdCIpCiAgICAgICAgKGhvbWUtbGl0
ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMvY29tLmFwcGxlLnNlY3VyaXR5LnJldm9jYXRpb24u
cGxpc3QiKQorICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5h
cHBsZS5zcGVlY2gucmVjb2duaXRpb24uQXBwbGVTcGVlY2hSZWNvZ25pdGlvbi5wcmVmcy5wbGlz
dCIpCiAgICAgICAgKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvQXBwbGljYXRpb24gU3VwcG9ydC9T
eW5jU2VydmljZXMvTG9jYWwvQ2xpZW50c1dpdGhDaGFuZ2VzL2NvbS5hcHBsZS5LZXljaGFpbiIp
CiAgICAgICAgKGhvbWUtcmVnZXggIyIvTGlicmFyeS9QcmVmZXJlbmNlcy9jb21cLmFwcGxlXC5k
cml2ZXJcLihBcHBsZUJsdWV0b290aE11bHRpdG91Y2hcLm1vdXNlfEFwcGxlQmx1ZXRvb3RoTXVs
dGl0b3VjaFwudHJhY2twYWR8QXBwbGVISURNb3VzZSlcLnBsaXN0JCIpCiAKQEAgLTcwLDcgKzcx
LDkgQEAKICAgICAgICAoc3VicGF0aCAiL0xpYnJhcnkvVmlkZW8vUGx1Zy1JbnMiKQogICAgICAg
IChzdWJwYXRoICIvTGlicmFyeS9RdWlja1RpbWUiKQogCi0gICAgICAgKGhvbWUtc3VicGF0aCAi
L0xpYnJhcnkvRGljdGlvbmFyaWVzIikpCisgICAgICAgKGhvbWUtc3VicGF0aCAiL0xpYnJhcnkv
RGljdGlvbmFyaWVzIikKKyAgICAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9LZXlib2FyZCBM
YXlvdXRzIikKKyAgICAgICAoaG9tZS1zdWJwYXRoICIvTGlicmFyeS9JbnB1dCBNZXRob2RzIikp
CiAKIDs7IFRoaXMgc2hvdWxkIGJlIHVwZGF0ZWQgd2hlbiA8cmRhcjovL3Byb2JsZW0vOTM1NTgz
MD4gaXMgZml4ZWQuCiA7OyBSZWFkLW9ubHkgZXh0ZW5zaW9ucyBmcm9tIFVJUHJvY2VzcwpAQCAt
MTQ3LDYgKzE1MCw3IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUud2luZG93c2Vy
dmVyLmFjdGl2ZSIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY2ZuZXR3b3JrLkF1
dGhCcm9rZXJBZ2VudCIpCiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuUG93ZXJNYW5h
Z2VtZW50LmNvbnRyb2wiKQorICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLnNwZWVjaC5y
ZWNvZ25pdGlvbnNlcnZlciIpCiAKICAgICAgICA7OyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcmVt
b3ZlZCB3aGVuIDxyZGFyOi8vcHJvYmxlbS85Mjc2MzkzPiBpcyBmaXhlZC4KICAgICAgICAoZ2xv
YmFsLW5hbWUgImNvbS5hcHBsZS5tZXRhZGF0YS5tZHMiKSkKQEAgLTE4NywzICsxOTEsNiBAQAog
ICAgICAgIDs7IEZJWE1FOiBTaG91bGQgYmUgcmVtb3ZlZCBhZnRlciA8cmRhcjovL3Byb2JsZW0v
MTA0NjM4ODE+IGlzIGZpeGVkLgogICAgICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZl
cmVuY2VzL2NvbS5hcHBsZS5MYXVuY2hTZXJ2aWNlcy5RdWFyYW50aW5lRXZlbnRzVjIiKQogICAg
ICAgIChob21lLWxpdGVyYWwgIi9MaWJyYXJ5L1ByZWZlcmVuY2VzL2NvbS5hcHBsZS5MYXVuY2hT
ZXJ2aWNlcy5RdWFyYW50aW5lRXZlbnRzVjItam91cm5hbCIpKQorCisoZGVueSBtYWNoLWxvb2t1
cCAod2l0aCBuby1sb2cpCisgICAgICAgKGdsb2JhbC1uYW1lICJjb20uYXBwbGUuY29yZXNlcnZp
Y2VzLmFwcGxlZXZlbnRzIikpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL21hYy9X
ZWJQcm9jZXNzTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
bWFjL1dlYlByb2Nlc3NNYWMubW0JKHJldmlzaW9uIDEyNzk3MykKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE4MCw4
ICsxODAsMTAgQEAgc3RhdGljIHZvaWQgYXBwZW5kUmVhZHdyaXRlU2FuZGJveERpcmVjdAogCiAj
ZW5kaWYKIAotc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3goY29uc3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3ZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6
ZVNhbmRib3goY29uc3QgU3RyaW5nJiBjbGllbnRJZGVudGlmaWVyKQogeworICAgIFtbTlNGaWxl
TWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gY2hhbmdlQ3VycmVudERpcmVjdG9yeVBhdGg6W1tOU0J1
bmRsZSBtYWluQnVuZGxlXSBidW5kbGVQYXRoXV07CisKICNpZiBFTkFCTEUoV0VCX1BST0NFU1Nf
U0FOREJPWCkKIAogI2lmIERFQlVHX0JZUEFTU19TQU5EQk9YCkBAIC0xOTEsNyArMTkzLDcgQEAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZVNhbmRib3goY29uc3QgV2ViUAogCiAjaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDgwCiAgICAgLy8gVXNlIHByaXZhdGUgdGVtcG9y
YXJ5IGFuZCBjYWNoZSBkaXJlY3Rvcmllcy4KLSAgICBTdHJpbmcgc3lzdGVtRGlyZWN0b3J5U3Vm
Zml4ID0gImNvbS5hcHBsZS5XZWJQcm9jZXNzKyIgKyBwYXJhbWV0ZXJzLnVpUHJvY2Vzc0J1bmRs
ZUlkZW50aWZpZXI7CisgICAgU3RyaW5nIHN5c3RlbURpcmVjdG9yeVN1ZmZpeCA9ICJjb20uYXBw
bGUuV2ViUHJvY2VzcysiICsgY2xpZW50SWRlbnRpZmllcjsKICAgICBzZXRlbnYoIkRJUkhFTFBF
Ul9VU0VSX0RJUl9TVUZGSVgiLCBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oc3lzdGVtRGlyZWN0
b3J5U3VmZml4KS5kYXRhKCksIDApOwogICAgIGNoYXIgdGVtcG9yYXJ5RGlyZWN0b3J5W1BBVEhf
TUFYXTsKICAgICBpZiAoIWNvbmZzdHIoX0NTX0RBUldJTl9VU0VSX1RFTVBfRElSLCB0ZW1wb3Jh
cnlEaXJlY3RvcnksIHNpemVvZih0ZW1wb3JhcnlEaXJlY3RvcnkpKSkgewpAQCAtMjQ4LDEwICsy
NTAsNiBAQCBzdGF0aWMgaWQgTlNBcHBsaWNhdGlvbkFjY2Vzc2liaWxpdHlGb2N1CiAgICAgCiB2
b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MoY29uc3QgV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ29yZUlQQzo6QXJndW1lbnREZWNv
ZGVyKikKIHsKLSAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNoYW5nZUN1cnJl
bnREaXJlY3RvcnlQYXRoOltbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gYnVuZGxlUGF0aF1dOwotCi0g
ICAgaW5pdGlhbGl6ZVNhbmRib3gocGFyYW1ldGVycyk7Ci0KICAgICBTYW5kYm94RXh0ZW5zaW9u
Ojpjb25zdW1lUGVybWFuZW50bHkocGFyYW1ldGVycy51aVByb2Nlc3NCdW5kbGVSZXNvdXJjZVBh
dGhFeHRlbnNpb25IYW5kbGUpOwogICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseShwYXJhbWV0ZXJzLmxvY2FsU3RvcmFnZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAg
ICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuZGF0YWJh
c2VEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9tYWMvV2ViUHJvY2Vzc01haW5NYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc01haW5NYWMubW0JKHJldmlzaW9uIDEyNzk3MykK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvbWFjL1dlYlByb2Nlc3NNYWluTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJDb21tYW5kTGluZS5oIgog
I2ltcG9ydCAiRW52aXJvbm1lbnRVdGlsaXRpZXMuaCIKICNpbXBvcnQgIkVudmlyb25tZW50VmFy
aWFibGVzLmgiCisjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKICNpbXBvcnQgIldlYlByb2Nl
c3MuaCIKICNpbXBvcnQgIldlYlN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8V2ViQ29yZS9S
dW5Mb29wLmg+CkBAIC05MywxMSArOTQsMTAgQEAgaW50IFdlYlByb2Nlc3NNYWluWFBDKHhwY19j
b25uZWN0aW9uX3QgeAogICAgIFdURjo6aW5pdGlhbGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5M
b29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsKIAotICAgIC8vIEluaXRpYWxpemUgdGhlIHNo
aW0uCiAgICAgLy8gRklYTUU6IE1ha2UgdGhlIHNoaW0gd29yay4KICAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5pbml0aWFsaXplU2hpbSgpOwotCi0gICAgLy8gQ3JlYXRlIHRoZSBjb25uZWN0aW9u
LgorICAgIC8vIEZJWE1FOiBQYXNzIHRoZSBjbGllbnQgaWRlbnRpZmllciBoZXJlLgorICAgIFdl
YlByb2Nlc3M6OnNoYXJlZCgpLmluaXRpYWxpemVTYW5kYm94KFN0cmluZygpKTsKICAgICBXZWJQ
cm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplKENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZp
ZXIoc2VydmVyUG9ydCwgeHBjQ29ubmVjdGlvbiksIFJ1bkxvb3A6Om1haW4oKSk7CiAKICAgICBX
S0FYUmVnaXN0ZXJSZW1vdGVBcHAoKTsKQEAgLTEyNSw2ICsxMjUsOCBAQCBpbnQgV2ViUHJvY2Vz
c01haW4oY29uc3QgQ29tbWFuZExpbmUmIGNvCiAgICAgaWYgKHNlcnZpY2VOYW1lLmlzRW1wdHko
KSAmJiBjbGllbnRFeGVjdXRhYmxlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJ
TFVSRTsKIAorICAgIFN0cmluZyBjbGllbnRJZGVudGlmaWVyOworCiAgICAgLy8gR2V0IHRoZSBz
ZXJ2ZXIgcG9ydC4KICAgICBtYWNoX3BvcnRfdCBzZXJ2ZXJQb3J0OwogICAgIGlmIChjbGllbnRF
eGVjdXRhYmxlLmlzRW1wdHkoKSkgewpAQCAtMTMzLDYgKzEzNSwxMiBAQCBpbnQgV2ViUHJvY2Vz
c01haW4oY29uc3QgQ29tbWFuZExpbmUmIGNvCiAgICAgICAgICAgICBXVEZMb2dBbHdheXMoImJv
b3RzdHJhcF9sb29rX3VwIHJlc3VsdDogJXMgKCV4KVxuIiwgbWFjaF9lcnJvcl9zdHJpbmcoa3Ip
LCBrcik7CiAgICAgICAgICAgICByZXR1cm4gMjsKICAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgY2xpZW50SWRlbnRpZmllciA9IGNvbW1hbmRMaW5lWyJjbGllbnQtaWRlbnRpZmllciJdOwor
ICAgICAgICBpZiAoIWNsaWVudElkZW50aWZpZXIpIHsKKyAgICAgICAgICAgIFdURkxvZ0Fsd2F5
cygiTm8gY2xpZW50IGlkZW50aWZpZXIgcGFzc2VkIHRvIHRoZSBXZWJQcm9jZXNzIik7CisgICAg
ICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOworICAgICAgICB9CiAgICAgfQogI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA3MAogICAgIGVsc2UgewpAQCAtMTg1LDYg
KzE5MywxNiBAQCBpbnQgV2ViUHJvY2Vzc01haW4oY29uc3QgQ29tbWFuZExpbmUmIGNvCiAgICAg
ICAgICAgICBXVEZMb2dBbHdheXMoIkZhaWxlZCB0byBvYnRhaW4gc2VuZCByaWdodCBmb3IgcG9y
dCByZWNlaXZlZCBmcm9tIHRoZSBVSSBwcm9jZXNzLlxuIik7CiAgICAgICAgICAgICByZXR1cm4g
RVhJVF9GQUlMVVJFOwogICAgICAgICB9CisKKyAgICAgICAgUmV0YWluUHRyPE5TVVJMPiBjbGll
bnRFeGVjdXRhYmxlVVJMID0gYWRvcHROUyhbW05TVVJMIGFsbG9jXSBpbml0RmlsZVVSTFdpdGhQ
YXRoOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcoY2xpZW50RXhlY3V0YWJsZSldKTsKKyAgICAg
ICAgUmV0YWluUHRyPENGVVJMUmVmPiBjbGllbnRCdW5kbGVVUkwgPSBhZG9wdENGKFdLQ29weUJ1
bmRsZVVSTEZvckV4ZWN1dGFibGVVUkwoKENGVVJMUmVmKWNsaWVudEV4ZWN1dGFibGVVUkwuZ2V0
KCkpKTsKKyAgICAgICAgUmV0YWluUHRyPE5TQnVuZGxlPiBjbGllbnRCdW5kbGUgPSBhZG9wdE5T
KFtbTlNCdW5kbGUgYWxsb2NdIGluaXRXaXRoVVJMOihOU1VSTCAqKWNsaWVudEJ1bmRsZVVSTC5n
ZXQoKV0pOworICAgICAgICAKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciA9IFtjbGllbnRCdW5k
bGUuZ2V0KCkgYnVuZGxlSWRlbnRpZmllcl07CisgICAgICAgIGlmICghY2xpZW50SWRlbnRpZmll
cikgeworICAgICAgICAgICAgV1RGTG9nQWx3YXlzKCJGYWlsZWQgdG8gb2J0YWluIGJ1bmRsZSBp
ZGVudGlmaWVyIGZyb20gdGhlIGNsaWVudCBleGVjdXRhYmxlLiAuXG4iKTsKKyAgICAgICAgICAg
IHJldHVybiBFWElUX0ZBSUxVUkU7CisgICAgICAgIH0KICAgICB9CiAjZW5kaWYgLy8gX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDcwCiAKQEAgLTIwNiwxNCArMjI0LDYgQEAg
aW50IFdlYlByb2Nlc3NNYWluKGNvbnN0IENvbW1hbmRMaW5lJiBjbwogICAgIFdURjo6aW5pdGlh
bGl6ZU1haW5UaHJlYWQoKTsKICAgICBSdW5Mb29wOjppbml0aWFsaXplTWFpblJ1bkxvb3AoKTsK
IAotICAgIC8vIEluaXRpYWxpemUgdGhlIHNoaW0uCi0gICAgV2ViUHJvY2Vzczo6c2hhcmVkKCku
aW5pdGlhbGl6ZVNoaW0oKTsKLQotICAgIC8vIENyZWF0ZSB0aGUgY29ubmVjdGlvbi4KLSAgICBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplKENvcmVJUEM6OkNvbm5lY3Rpb246OklkZW50
aWZpZXIoc2VydmVyUG9ydCksIFJ1bkxvb3A6Om1haW4oKSk7Ci0KLSAgICBbcG9vbCBkcmFpbl07
Ci0KICNpZiBVU0UoQVBQS0lUKQogICAgICAvLyBJbml0aWFsaXplIEFwcEtpdC4KICAgICBbTlNB
cHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl07CkBAIC0yMjMsOCArMjMzLDE0IEBAIGludCBX
ZWJQcm9jZXNzTWFpbihjb25zdCBDb21tYW5kTGluZSYgY28KICAgICBbW05TQXBwbGljYXRpb24g
c2hhcmVkQXBwbGljYXRpb25dIF9pbnN0YWxsQXV0b3JlbGVhc2VQb29sc09uQ3VycmVudFRocmVh
ZElmTmVjZXNzYXJ5XTsKICNlbmRpZgogCisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlh
bGl6ZVNoaW0oKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplU2FuZGJveChj
bGllbnRJZGVudGlmaWVyKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5pbml0aWFsaXplKENv
cmVJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIoc2VydmVyUG9ydCksIFJ1bkxvb3A6Om1haW4o
KSk7CisKICAgICBXS0FYUmVnaXN0ZXJSZW1vdGVBcHAoKTsKLSAgICAKKworICAgIFtwb29sIGRy
YWluXTsKKwogICAgIFJ1bkxvb3A6OnJ1bigpOwogCiAgICAgLy8gRklYTUU6IERvIG1vcmUgY2xl
YW51cCBoZXJlLgpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMjc5NzMpCisrKyBXZWJLaXRM
aWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDktMDggIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBTd2l0Y2ggdG8g
ZW50ZXJpbmcgdGhlIHNhbmRib3ggZGlyZWN0bHkgZnJvbSBtYWluKCksIHJhdGhlciB0aGFuIHdh
aXRpbmcgZm9yIHRoZSBpbml0aWFsaXphdGlvbiBtZXNzYWdlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjE5NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBXS1NJIHdpdGggU1BJIGZvciBnZXR0
aW5nIHRoZSBidW5kbGUgVVJMIGZyb20gYW4gZXhlY3V0YWJsZSBVUkwuCisKKyAgICAgICAgKiBX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBsaWJXZWJLaXRTeXN0ZW1JbnRlcmZh
Y2VMaW9uLmE6CisgICAgICAgICogbGliV2ViS2l0U3lzdGVtSW50ZXJmYWNlTW91bnRhaW5MaW9u
LmE6CisgICAgICAgICogbGliV2ViS2l0U3lzdGVtSW50ZXJmYWNlU25vd0xlb3BhcmQuYToKKyAg
ICAgICAgQWRkcyBXS0NvcHlCdW5kbGVVUkxGb3JFeGVjdXRhYmxlVVJMKCkuCisKIDIwMTItMDgt
MjkgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5B
QkxFX0NTUzNfRkxFWEJPWCBjb21waWxlIHRpbWUgZmxhZwpJbmRleDogV2ViS2l0TGlicmFyaWVz
L1dlYktpdFN5c3RlbUludGVyZmFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExpYnJhcmllcy9X
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaAkocmV2aXNpb24gMTI3OTczKQorKysgV2ViS2l0TGlicmFy
aWVzL1dlYktpdFN5c3RlbUludGVyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDksNiArMjQ5
LDggQEAgdm9pZCBXS0NGVVJMUmVxdWVzdFNldEhUVFBSZXF1ZXN0Qm9keVBhcgogCiB2b2lkIFdL
U2V0VmlzaWJsZUFwcGxpY2F0aW9uTmFtZShDRlN0cmluZ1JlZik7CiAKK0NGVVJMUmVmIFdLQ29w
eUJ1bmRsZVVSTEZvckV4ZWN1dGFibGVVUkwoQ0ZVUkxSZWYpOworCiB0eXBlZGVmIGVudW0gewog
ICAgIFdLTWVkaWFVSVBhcnRGdWxsc2NyZWVuQnV0dG9uICAgPSAwLAogICAgIFdLTWVkaWFVSVBh
cnRNdXRlQnV0dG9uLAo=
</data>
<flag name="review"
          id="174293"
          type_id="1"
          status="+"
          setter="mitz"
    />
    <flag name="commit-queue"
          id="174295"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>