<?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>67879</bug_id>
          
          <creation_ts>2011-09-09 18:57:56 -0700</creation_ts>
          <short_desc>Generate a SharedWorker constructor of V8 using the IDL &apos;Constructor&apos; extended attribute</short_desc>
          <delta_ts>2011-10-18 23:56:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>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>
          
          <blocked>65839</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>dominicc</cc>
    
    <cc>haraken</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>465183</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-09 18:57:56 -0700</bug_when>
    <thetext>Currently, the SharedWorker constructor is written manually as a custom constructor. We should replace this with automatically generated code by the IDL &apos;Constructor&apos; extended attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>465484</commentid>
    <comment_count>1</comment_count>
      <attachid>107020</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-11 22:13:11 -0700</bug_when>
    <thetext>Created attachment 107020
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474604</commentid>
    <comment_count>2</comment_count>
      <attachid>108986</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-09-28 02:03:44 -0700</bug_when>
    <thetext>Created attachment 108986
rebased patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479906</commentid>
    <comment_count>3</comment_count>
      <attachid>110114</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-07 02:53:49 -0700</bug_when>
    <thetext>Created attachment 110114
rebased patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484927</commentid>
    <comment_count>4</comment_count>
      <attachid>107020</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-10-16 22:34:14 -0700</bug_when>
    <thetext>Comment on attachment 107020
Patch

Marking obsolete as new one being available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484930</commentid>
    <comment_count>5</comment_count>
      <attachid>110114</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-10-16 22:41:57 -0700</bug_when>
    <thetext>Comment on attachment 110114
rebased patch for review

RIP out poor custom constructor. 
By the way, could you add a new test which verifies &quot;name&quot; parameter of SharedWorker?
I guess we don&apos;t have any test which checks worker side stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484966</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-17 00:18:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 110114 [details])
&gt; By the way, could you add a new test which verifies &quot;name&quot; parameter of SharedWorker?
&gt; I guess we don&apos;t have any test which checks worker side stuff.

Isn&apos;t fast/workers/shared-worker-name.html enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485070</commentid>
    <comment_count>7</comment_count>
      <attachid>111247</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-17 05:16:34 -0700</bug_when>
    <thetext>Created attachment 111247
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>485071</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-10-17 05:21:28 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 110114 [details])
&gt; RIP out poor custom constructor. 
&gt; By the way, could you add a new test which verifies &quot;name&quot; parameter of SharedWorker?
&gt; I guess we don&apos;t have any test which checks worker side stuff.

morrita: Upon rebase, I needed to make a non-trivial change. Would you please take another look at the patch?

- Moved a ScriptExecutionContext parameter of SharedWorker::create() to the beginning, i.e. SharedWorker::create(..., context, ec) ==&gt; SharedWorker::create(context, ..., ec). c.f. bug 69799.
- Added test cases for an undefined name and a null name on fast/workers/resources/shared-worker-name.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486582</commentid>
    <comment_count>9</comment_count>
      <attachid>111247</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-18 23:56:45 -0700</bug_when>
    <thetext>Comment on attachment 111247
Patch

Clearing flags on attachment: 111247

Committed r97836: &lt;http://trac.webkit.org/changeset/97836&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486583</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-18 23:56:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107020</attachid>
            <date>2011-09-11 22:13:11 -0700</date>
            <delta_ts>2011-10-16 22:34:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67879-20110912141309.patch</filename>
            <type>text/plain</type>
            <size>11548</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ5NDQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiYTBiNzI4ODliZjBmYzY2YjgxMGQ4
OTYwZWQ5ODY1NjljMjhhNDYzLi5kYWViYzEzM2Y5ZjE1MGQzMTllYTRkYjdmZTdhNmRjYjNlZTk3
ZDVjIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMTEgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBHZW5lcmF0ZSBhIFNoYXJlZFdvcmtlciBjb25z
dHJ1Y3RvciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmli
dXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHRlc3QgY2FzZXMgZm9yIHVuZGVmaW5lZCBuYW1lIGFuZCBudWxsIG5hbWUgb24gU2hhcmVkV29y
a2VyIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQt
d29ya2VyLWNvbnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogVXBk
YXRlZCBTeW50YXhFcnJvciB3aXRoIFR5cGVFcnJvci4gVGhlIHJlYXNvbiB3aHkgdWlfdGVzdHMg
aGFzIGJlZW4gc28gZmFyIHdvcmtpbmcgd2l0aG91dCB1cGRhdGluZyB0aGlzIGVycm9yIHR5cGUg
aXMgdGhhdCBzaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwgaXMgbWFya2VkIEZMQUtZIGlu
IGNocm9taXVtLgorCiAyMDExLTA5LTExICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0ZSBjaHJvbWl1bSB0ZXN0IGV4cGVjdGF0
aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2Vy
LWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFy
ZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCBkOWYyNGZlM2IzNDk4NTA3
MjRkYmU4YmUxZGNkNjljMzg4M2YyODYwLi41MjllMWVjOGQ5M2JjNWQ4YmYxODI2ZjFmMGU5Y2M3
OGM0ZThkN2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3Jr
ZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsOCBA
QCBQQVNTOiB0b1N0cmluZyBleGNlcHRpb24gcHJvcGFnYXRlZCBjb3JyZWN0bHkuCiBQQVNTOiB0
cnlpbmcgdG8gY3JlYXRlIHdvcmtlcnMgcmVjdXJzaXZlbHkgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0
aW9uIChSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4pCiBQQVNT
OiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBhcmd1bWVudHMgcmVz
dWx0ZWQgaW4gYW4gZXhjZXB0aW9uIChUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzKQog
UEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGhvdXQgbmFtZSBkaWQg
bm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24KK1BBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBj
b25zdHJ1Y3RvciB3aXRoIG51bGwgbmFtZSBkaWQgbm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24K
K1BBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5lZCBu
YW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgogUEFTUzogU2hhcmVkV29ya2VyIGNv
bnN0cnVjdG9yIHN1Y2NlZWRlZDogW29iamVjdCBTaGFyZWRXb3JrZXJdCiBET05FCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rv
ci5odG1sCmluZGV4IDcxNjBjYmExOWVkZWQ5OWJhNmRhMjZmMmQyZTcxZThmZTVlNWNjMzAuLjk4
NTJhYzNlNjY4YTk4MjAwNGZkZjcyMjExZDYyODZiMzZkYWMxZTMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3IuaHRtbApA
QCAtNDUsNiArNDUsMjAgQEAgdHJ5IHsKIH0KIAogdHJ5IHsKKyAgICBuZXcgU2hhcmVkV29ya2Vy
KCJyZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jb21tb24uanMiLCBudWxsKTsKKyAgICBsb2coIlBB
U1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIG51bGwgbmFtZSBkaWQg
bm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24iKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgbG9nKCJG
QUlMOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aCBudWxsIG5hbWUgcmVz
dWx0ZWQgaW4gYW4gZXhjZXB0aW9uICgiICsgZXggKyAiKSIpOworfQorCit0cnkgeworICAgIG5l
dyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcyIsIHVuZGVm
aW5lZCk7CisgICAgbG9nKCJQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Ig
d2l0aCB1bmRlZmluZWQgbmFtZSBkaWQgbm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24iKTsKK30g
Y2F0Y2ggKGV4KSB7CisgICAgbG9nKCJGQUlMOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3Ry
dWN0b3Igd2l0aCB1bmRlZmluZWQgbmFtZSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKCIgKyBl
eCArICIpIik7Cit9CisKK3RyeSB7CiAgICAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIo
InJlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcyIsICJuYW1lIik7CiAgICAgbG9nICgi
UEFTUzogU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHN1Y2NlZWRlZDogIiArIHdvcmtlcik7CiB9
IGNhdGNoIChleCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0t
d2luL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKaW5kZXggYjFiYTFjMWQ5MDFkMWVjOTE1YmU2
NmU1NDdiNmI2MDM3MTk1NDY0ZC4uNDlkNjk2OWNlYzZiYzY3ZjI4YWJlOWRkOTIwYWNhNGYwNTMx
OTMzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qv
d29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsMTAgQEAgVGVzdCBTaGFyZWRXb3Jr
ZXIgY29uc3RydWN0b3IgZnVuY3Rpb25hbGl0eS4gU2hvdWxkIHByaW50IGEgc2VyaWVzIG9mIFBB
U1MgbWVzc2EKIAogUEFTUzogdG9TdHJpbmcgZXhjZXB0aW9uIHByb3BhZ2F0ZWQgY29ycmVjdGx5
LgogUEFTUzogdHJ5aW5nIHRvIGNyZWF0ZSB3b3JrZXJzIHJlY3Vyc2l2ZWx5IHJlc3VsdGVkIGlu
IGFuIGV4Y2VwdGlvbiAoUmFuZ2VFcnJvcjogTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVk
ZWQpCi1QQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBhcmd1
bWVudHMgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0aW9uIChTeW50YXhFcnJvcjogTm90IGVub3VnaCBh
cmd1bWVudHMpCitQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91
dCBhcmd1bWVudHMgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0aW9uIChUeXBlRXJyb3I6IE5vdCBlbm91
Z2ggYXJndW1lbnRzKQogUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdp
dGhvdXQgbmFtZSBkaWQgbm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24KK1BBU1M6IGludm9raW5n
IFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIG51bGwgbmFtZSBkaWQgbm90IHJlc3VsdCBp
biBhbiBleGNlcHRpb24KK1BBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3
aXRoIHVuZGVmaW5lZCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgogUEFTUzog
U2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHN1Y2NlZWRlZDogW29iamVjdCBTaGFyZWRXb3JrZXJd
CiBET05FCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNmIyOTI5NmRhMjhjZmExY2ZmZjc2Y2NlMTA4MGFiMTFh
YzJjMWYwLi4wMzNiZjZiYmJhOGQ2MzZjMjhjMDg5ZDQ3ZTUzMjFkMGM3MzFmNGNiIDEwMDc1NQot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMTEgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Z29vZ2xlLmNvbT4KKworICAgICAgICBHZW5lcmF0ZSBhIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3Rv
ciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmlidXRlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg3OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6
Ly9kZXYudzMub3JnL2h0bWw1L3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUtc2hhcmVk
d29ya2VyLWludGVyZmFjZQorCisgICAgICAgIFRlc3Q6IHVpX3Rlc3RzOldvcmtlclRlc3QuRkxB
S1lfU2hhcmVkV29ya2VyRmFzdENvbnN0cnVjdG9yCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6
IFJlbW92ZWQgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcAorICAg
ICAgICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20v
VjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHdvcmtlcnMvU2hh
cmVkV29ya2VyLmlkbDogQWRkZWQgdGhlIElETCAnQ29uc3RydWN0b3InIGV4dGVuZGVkIGF0dHJp
YnV0ZS4KKwogMjAxMS0wOS0xMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHI4NzM1MSk6IHRvZ2dsaW5nIGRpc3BsYXkgb2Yg
bG90cyAodGhvdXNhbmRzKSBvZiBlbGVtZW50cyB3aXRoIGRpc3BsYXk6bm9uZSBpcyB2ZXJ5IHNs
b3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyOGI3NWJlNDkxMjg4MTcxMTFmOTllYzRiOWIzZTM2ZTU5
MzgzNmJjLi5hYTJiMmVlOTZiMzY1NTRkOTljNDYyYjkzNjg2Yzc4OTdkMTNlYTlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0yMjEzLDcgKzIyMTMsNiBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOFNWR1BhdGhTZWdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwJywKLSAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCcsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUucHJvCmluZGV4IDgwMzBjZDk4NTEyNWM4OThkNDkzNzEzYWQ2NjA2NzlhYWM4NDE5ZGEuLjdm
MDU4NWEzNDc2YmUxNmNmMjk3ZDNlZDg3YzcwOTUwYmE3M2MzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBA
IC0yMDMsNyArMjAzLDYgQEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxU
cmFuc2FjdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhXZWJT
b2NrZXRDdXN0b20uY3BwIFwKICAgICAgICAgXAotICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U3RvcmFnZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNo
ZWV0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRM
aXN0Q3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9j
dXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjFmNjJlYmQwMzRlYTJhOTBhZjg5MjYzMDIwNGY0ZWYxZDEwMjY4YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsOTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQot
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
LSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJMRShTSEFSRURf
V09SS0VSUykKLQotI2luY2x1ZGUgIlY4U2hhcmVkV29ya2VyLmgiCi0KLSNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJWOEJpbmRpbmcuaCIK
LSNpbmNsdWRlICJWOFByb3h5LmgiCi0jaW5jbHVkZSAiVjhVdGlsaXRpZXMuaCIKLSNpbmNsdWRl
ICJXb3JrZXJDb250ZXh0LmgiCi0jaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4U2hh
cmVkV29ya2VyOjpjb25zdHJ1Y3RvckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Mp
Ci17Ci0gICAgSU5DX1NUQVRTKEwiRE9NLlNoYXJlZFdvcmtlci5Db25zdHJ1Y3RvciIpOwotCi0g
ICAgaWYgKCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJv
cigiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24u
IiwgVjhQcm94eTo6VHlwZUVycm9yKTsKLQotICAgIGlmICghYXJncy5MZW5ndGgoKSkKLSAgICAg
ICAgcmV0dXJuIHRocm93RXJyb3IoIk5vdCBlbm91Z2ggYXJndW1lbnRzIiwgVjhQcm94eTo6VHlw
ZUVycm9yKTsKLQotICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRjaDsKLSAgICB2ODo6SGFuZGxlPHY4
OjpTdHJpbmc+IHNjcmlwdFVybCA9IGFyZ3NbMF0tPlRvU3RyaW5nKCk7Ci0gICAgU3RyaW5nIG5h
bWU7Ci0gICAgaWYgKGFyZ3MuTGVuZ3RoKCkgPiAxKQotICAgICAgICBuYW1lID0gdG9XZWJDb3Jl
U3RyaW5nKGFyZ3NbMV0tPlRvU3RyaW5nKCkpOwotCi0gICAgaWYgKHRyeUNhdGNoLkhhc0NhdWdo
dCgpKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcih0cnlDYXRjaC5FeGNlcHRpb24oKSk7Ci0K
LSAgICBpZiAoc2NyaXB0VXJsLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKLQotICAgIC8vIEdldCB0aGUgc2NyaXB0IGV4ZWN1dGlvbiBjb250ZXh0LgotICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBnZXRTY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7Ci0gICAgaWYgKCFjb250ZXh0KQotICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwot
Ci0gICAgLy8gQ3JlYXRlIHRoZSBTaGFyZWRXb3JrZXIgb2JqZWN0LgotICAgIC8vIE5vdGU6IGl0
J3MgT0sgdG8gbGV0IHRoaXMgUmVmUHRyIGdvIG91dCBvZiBzY29wZSBiZWNhdXNlIHdlIGFsc28g
Y2FsbCBTZXRET01XcmFwcGVyKCksIHdoaWNoIGVmZmVjdGl2ZWx5IGhvbGRzIGEgcmVmZXJlbmNl
IHRvIG9iai4KLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBSZWZQdHI8U2hhcmVkV29y
a2VyPiBvYmogPSBTaGFyZWRXb3JrZXI6OmNyZWF0ZSh0b1dlYkNvcmVTdHJpbmcoc2NyaXB0VXJs
KSwgbmFtZSwgY29udGV4dCwgZWMpOwotICAgIGlmIChlYykKLSAgICAgICAgcmV0dXJuIHRocm93
RXJyb3IoZWMpOwotCi0gICAgLy8gU2V0dXAgdGhlIHN0YW5kYXJkIHdyYXBwZXIgb2JqZWN0IGlu
dGVybmFsIGZpZWxkcy4KLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXBwZXJPYmplY3Qg
PSBhcmdzLkhvbGRlcigpOwotICAgIFY4RE9NV3JhcHBlcjo6c2V0RE9NV3JhcHBlcih3cmFwcGVy
T2JqZWN0LCAmaW5mbywgb2JqLmdldCgpKTsKLQotICAgIG9iai0+cmVmKCk7Ci0gICAgVjhET01X
cmFwcGVyOjpzZXRKU1dyYXBwZXJGb3JBY3RpdmVET01PYmplY3Qob2JqLmdldCgpLCB2ODo6UGVy
c2lzdGVudDx2ODo6T2JqZWN0Pjo6TmV3KHdyYXBwZXJPYmplY3QpKTsKLQotICAgIHJldHVybiB3
cmFwcGVyT2JqZWN0OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoU0hBUkVEX1dPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5p
ZGwKaW5kZXggNTJiMDJjNzk2NGU0MWExZDQ2ZTI4MTBiODJmMGIyMmViYWZlNTk3NC4uZTM4ODE0
MjE4NGMzOTI2MGMwNjBlMjI3ZGMxNTdkZWFkNGFlNmFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyLmlkbApAQCAtMzcsNyArMzcsMTAgQEAgbW9kdWxlIHRocmVhZHMgewog
ICAgICAgICBDYW5CZUNvbnN0cnVjdGVkLAogICAgICAgICBDdXN0b21Db25zdHJ1Y3RGdW5jdGlv
biwKICAgICAgICAgQ29uc3RydWN0b3JQYXJhbWV0ZXJzPTIsCi0gICAgICAgIFY4Q3VzdG9tQ29u
c3RydWN0b3IsCisgICAgICAgIENvbnN0cnVjdG9yKGluIERPTVN0cmluZyBzY3JpcHRVUkwsIGlu
IFtPcHRpb25hbD1DYWxsV2l0aE51bGxWYWx1ZV0gRE9NU3RyaW5nIG5hbWUpLAorICAgICAgICBD
b25zdHJ1Y3RvcldpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKKyAgICAgICAgQ29uc3RydWN0
b3JSYWlzZXNFeGNlcHRpb24sCisgICAgICAgIFY4Q29uc3RydWN0b3JTZXRzQWN0aXZlRE9NV3Jh
cHBlciwKICAgICAgICAgQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgICAgICBHZW5lcmF0ZU5hdGl2
ZUNvbnZlcnRlciwKICAgICAgICAgR2VuZXJhdGVUb0pTCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108986</attachid>
            <date>2011-09-28 02:03:44 -0700</date>
            <delta_ts>2011-10-07 02:53:42 -0700</delta_ts>
            <desc>rebased patch for review</desc>
            <filename>bug-67879-20110928180342.patch</filename>
            <type>text/plain</type>
            <size>11499</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTYxODAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYWMwZGRlMmI4M2QwNjNhMzA2Njlk
YjAyMDgzZGQ1MzgzZmZhYzJmLi4zYzJjZTQ1MDM1MTQ0Mzc1YzE5OTc3NjBhOWNjMmQ2OWJjMjY3
NzVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMjcgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBHZW5lcmF0ZSBhIFNoYXJlZFdvcmtlciBjb25z
dHJ1Y3RvciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmli
dXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHRlc3QgY2FzZXMgZm9yIHVuZGVmaW5lZCBuYW1lIGFuZCBudWxsIG5hbWUgb24gU2hhcmVkV29y
a2VyIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQt
d29ya2VyLWNvbnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogVXBk
YXRlZCBTeW50YXhFcnJvciB3aXRoIFR5cGVFcnJvci4gVGhlIHJlYXNvbiB3aHkgdWlfdGVzdHMg
aGFzIGJlZW4gc28gZmFyIHdvcmtpbmcgd2l0aG91dCB1cGRhdGluZyB0aGlzIGVycm9yIHR5cGUg
aXMgdGhhdCBzaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwgaXMgbWFya2VkIEZMQUtZIGlu
IGNocm9taXVtLgorCiAyMDExLTA5LTI3ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVt
LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYSBQYWdlVHJhbnNpdGlvbkV2ZW50IGNvbnN0cnVj
dG9yIGZvciBWOApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13
b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJz
L3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IGQ5ZjI0ZmUzYjM0
OTg1MDcyNGRiZThiZTFkY2Q2OWMzODgzZjI4NjAuLjUyOWUxZWM4ZDkzYmM1ZDhiZjE4MjZmMWYw
ZTljYzc4YzRlOGQ3YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFy
ZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTQsNiAr
NCw4IEBAIFBBU1M6IHRvU3RyaW5nIGV4Y2VwdGlvbiBwcm9wYWdhdGVkIGNvcnJlY3RseS4KIFBB
U1M6IHRyeWluZyB0byBjcmVhdGUgd29ya2VycyByZWN1cnNpdmVseSByZXN1bHRlZCBpbiBhbiBl
eGNlcHRpb24gKFJhbmdlRXJyb3I6IE1heGltdW0gY2FsbCBzdGFjayBzaXplIGV4Y2VlZGVkLikK
IFBBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRob3V0IGFyZ3VtZW50
cyByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVu
dHMpCiBQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBuYW1l
IGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29y
a2VyIGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2Vw
dGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggdW5kZWZp
bmVkIG5hbWUgZGlkIG5vdCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uCiBQQVNTOiBTaGFyZWRXb3Jr
ZXIgY29uc3RydWN0b3Igc3VjY2VlZGVkOiBbb2JqZWN0IFNoYXJlZFdvcmtlcl0KIERPTkUKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3Ry
dWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0
cnVjdG9yLmh0bWwKaW5kZXggNzE2MGNiYTE5ZWRlZDk5YmE2ZGEyNmYyZDJlNzFlOGZlNWU1Y2Mz
MC4uOTg1MmFjM2U2NjhhOTgyMDA0ZmRmNzIyMTFkNjI4NmIzNmRhYzFlMyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3IuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci5o
dG1sCkBAIC00NSw2ICs0NSwyMCBAQCB0cnkgewogfQogCiB0cnkgeworICAgIG5ldyBTaGFyZWRX
b3JrZXIoInJlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcyIsIG51bGwpOworICAgIGxv
ZygiUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1l
IGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiIpOworfSBjYXRjaCAoZXgpIHsKKyAgICBs
b2coIkZBSUw6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIG51bGwgbmFt
ZSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKCIgKyBleCArICIpIik7Cit9CisKK3RyeSB7Cisg
ICAgbmV3IFNoYXJlZFdvcmtlcigicmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29tbW9uLmpzIiwg
dW5kZWZpbmVkKTsKKyAgICBsb2coIlBBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1
Y3RvciB3aXRoIHVuZGVmaW5lZCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiIp
OworfSBjYXRjaCAoZXgpIHsKKyAgICBsb2coIkZBSUw6IGludm9raW5nIFNoYXJlZFdvcmtlciBj
b25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5lZCBuYW1lIHJlc3VsdGVkIGluIGFuIGV4Y2VwdGlvbiAo
IiArIGV4ICsgIikiKTsKK30KKwordHJ5IHsKICAgICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdv
cmtlcigicmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29tbW9uLmpzIiwgIm5hbWUiKTsKICAgICBs
b2cgKCJQQVNTOiBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igc3VjY2VlZGVkOiAiICsgd29ya2Vy
KTsKIH0gY2F0Y2ggKGV4KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS13aW4vZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29ya2Vycy9zaGFy
ZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAppbmRleCBiMWJhMWMxZDkwMWQxZWM5
MTViZTY2ZTU0N2I2YjYwMzcxOTU0NjRkLi40OWQ2OTY5Y2VjNmJjNjdmMjhhYmU5ZGQ5MjBhY2E0
ZjA1MzE5MzM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4v
ZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLXdpbi9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTIsOCArMiwxMCBAQCBUZXN0IFNoYXJl
ZFdvcmtlciBjb25zdHJ1Y3RvciBmdW5jdGlvbmFsaXR5LiBTaG91bGQgcHJpbnQgYSBzZXJpZXMg
b2YgUEFTUyBtZXNzYQogCiBQQVNTOiB0b1N0cmluZyBleGNlcHRpb24gcHJvcGFnYXRlZCBjb3Jy
ZWN0bHkuCiBQQVNTOiB0cnlpbmcgdG8gY3JlYXRlIHdvcmtlcnMgcmVjdXJzaXZlbHkgcmVzdWx0
ZWQgaW4gYW4gZXhjZXB0aW9uIChSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBl
eGNlZWRlZCkKLVBBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRob3V0
IGFyZ3VtZW50cyByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFN5bnRheEVycm9yOiBOb3QgZW5v
dWdoIGFyZ3VtZW50cykKK1BBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3
aXRob3V0IGFyZ3VtZW50cyByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMpCiBQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0
b3Igd2l0aG91dCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52
b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3QgcmVz
dWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVj
dG9yIHdpdGggdW5kZWZpbmVkIG5hbWUgZGlkIG5vdCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uCiBQ
QVNTOiBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igc3VjY2VlZGVkOiBbb2JqZWN0IFNoYXJlZFdv
cmtlcl0KIERPTkUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ1NTQ1NjdjYzkxODIyNDAyNTMxYzU2YjRiN2I4
MmI2NjM4ZmViYTYuLmM3NGNmMGMyMzk5Y2MwNmM1NmIyZGUzNjViZTJiZGUyNzUzM2Q4NDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMS0wOS0yNyAgS2VudGFybyBIYXJhICA8aGFy
YWtlbkBnb29nbGUuY29tPgorCisgICAgICAgIEdlbmVyYXRlIGEgU2hhcmVkV29ya2VyIGNvbnN0
cnVjdG9yIG9mIFY4IHVzaW5nIHRoZSBJREwgJ0NvbnN0cnVjdG9yJyBleHRlbmRlZCBhdHRyaWJ1
dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODc5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzog
aHR0cDovL2Rldi53My5vcmcvaHRtbDUvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRoZS1z
aGFyZWR3b3JrZXItaW50ZXJmYWNlCisKKyAgICAgICAgVGVzdDogdWlfdGVzdHM6V29ya2VyVGVz
dC5GTEFLWV9TaGFyZWRXb3JrZXJGYXN0Q29uc3RydWN0b3IKKworICAgICAgICAqIFdlYkNvcmUu
Z3lwaTogUmVtb3ZlZCBiaW5kaW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3Bw
CisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd29ya2Vy
cy9TaGFyZWRXb3JrZXIuaWRsOiBBZGRlZCB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQg
YXR0cmlidXRlLgorCiAyMDExLTA5LTI3ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVt
LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYSBQYWdlVHJhbnNpdGlvbkV2ZW50IGNvbnN0cnVj
dG9yIGZvciBWOApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDFjM2JjMDA4NGFjNzI2MzRjZGI3YmM1NzMy
MzdhNmNmZWE5NjQzYTcuLmFjMDA1YzIzODkzZDg5OTM5ZDdlYjY1ZTYxYzVhZDVhNzRlNzBkZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyMTIsNyArMjIxMiw2IEBACiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHUGF0aFNlZ0N1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVDdXN0b20uY3BwJywKICAgICAgICAgICAg
ICdiaW5kaW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlTm9kZUN1c3RvbS5jcHAnLAotICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAnLAog
ICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0Q3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldExpc3RDdXN0b20uY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5wcm8KaW5kZXggNzlhZTQwMzA0NDBiMGUzMTA4NWNkMGEzNzU1MDg4ZGZlOTBh
ZjQyOS4uZmJhMzg3NzQ1Mzc4NWVjZTJiOTg5ZDIzMGZhMGM1NGE1OTZjZjgyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5wcm8KQEAgLTE5OCw3ICsxOTgsNiBAQCB2OCB7CiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOFdlYlNvY2tldEN1c3RvbS5jcHAgXAogICAgICAgICBcCi0gICAgICAgIGJpbmRpbmdzL3Y4
L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OFN0eWxlU2hlZXRDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5
bGVTaGVldExpc3RDdXN0b20uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiMWY2MmViZDAzNGVhMmE5MGFmODkyNjMwMjA0ZjRlZjFkMTAyNjhh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw5MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJTKQotCi0jaW5jbHVkZSAiVjhTaGFyZWRXb3JrZXIuaCIKLQotI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlY4Qmlu
ZGluZy5oIgotI2luY2x1ZGUgIlY4UHJveHkuaCIKLSNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgot
I2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKLSNpbmNsdWRlICJXb3JrZXJDb250ZXh0RXhlY3V0
aW9uUHJveHkuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi12ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gVjhTaGFyZWRXb3JrZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncykKLXsKLSAgICBJTkNfU1RBVFMoTCJET00uU2hhcmVkV29ya2VyLkNvbnN0cnVjdG9y
Iik7Ci0KLSAgICBpZiAoIWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKCJET00gb2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBm
dW5jdGlvbi4iLCBWOFByb3h5OjpUeXBlRXJyb3IpOwotCi0gICAgaWYgKCFhcmdzLkxlbmd0aCgp
KQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFBy
b3h5OjpUeXBlRXJyb3IpOwotCi0gICAgdjg6OlRyeUNhdGNoIHRyeUNhdGNoOwotICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4gc2NyaXB0VXJsID0gYXJnc1swXS0+VG9TdHJpbmcoKTsKLSAgICBT
dHJpbmcgbmFtZTsKLSAgICBpZiAoYXJncy5MZW5ndGgoKSA+IDEpCi0gICAgICAgIG5hbWUgPSB0
b1dlYkNvcmVTdHJpbmcoYXJnc1sxXS0+VG9TdHJpbmcoKSk7Ci0KLSAgICBpZiAodHJ5Q2F0Y2gu
SGFzQ2F1Z2h0KCkpCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRyeUNhdGNoLkV4Y2VwdGlv
bigpKTsKLQotICAgIGlmIChzY3JpcHRVcmwuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdjg6
OlVuZGVmaW5lZCgpOwotCi0gICAgLy8gR2V0IHRoZSBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQu
Ci0gICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsKLSAgICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiB2ODo6VW5kZWZp
bmVkKCk7Ci0KLSAgICAvLyBDcmVhdGUgdGhlIFNoYXJlZFdvcmtlciBvYmplY3QuCi0gICAgLy8g
Tm90ZTogaXQncyBPSyB0byBsZXQgdGhpcyBSZWZQdHIgZ28gb3V0IG9mIHNjb3BlIGJlY2F1c2Ug
d2UgYWxzbyBjYWxsIFNldERPTVdyYXBwZXIoKSwgd2hpY2ggZWZmZWN0aXZlbHkgaG9sZHMgYSBy
ZWZlcmVuY2UgdG8gb2JqLgotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFJlZlB0cjxT
aGFyZWRXb3JrZXI+IG9iaiA9IFNoYXJlZFdvcmtlcjo6Y3JlYXRlKHRvV2ViQ29yZVN0cmluZyhz
Y3JpcHRVcmwpLCBuYW1lLCBjb250ZXh0LCBlYyk7Ci0gICAgaWYgKGVjKQotICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcihlYyk7Ci0KLSAgICAvLyBTZXR1cCB0aGUgc3RhbmRhcmQgd3JhcHBlciBv
YmplY3QgaW50ZXJuYWwgZmllbGRzLgotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBl
ck9iamVjdCA9IGFyZ3MuSG9sZGVyKCk7Ci0gICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVy
KHdyYXBwZXJPYmplY3QsICZpbmZvLCBvYmouZ2V0KCkpOwotCi0gICAgb2JqLT5yZWYoKTsKLSAg
ICBWOERPTVdyYXBwZXI6OnNldEpTV3JhcHBlckZvckFjdGl2ZURPTU9iamVjdChvYmouZ2V0KCks
IHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcod3JhcHBlck9iamVjdCkpOwotCi0gICAg
cmV0dXJuIHdyYXBwZXJPYmplY3Q7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2Vu
ZGlmIC8vIEVOQUJMRShTSEFSRURfV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyLmlkbAppbmRleCA1MmIwMmM3OTY0ZTQxYTFkNDZlMjgxMGI4MmYwYjIyZWJhZmU1OTc0
Li5lMzg4MTQyMTg0YzM5MjYwYzA2MGUyMjdkYzE1N2RlYWQ0YWU2YWYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCkBAIC0zNyw3ICszNywxMCBAQCBtb2R1bGUgdGhy
ZWFkcyB7CiAgICAgICAgIENhbkJlQ29uc3RydWN0ZWQsCiAgICAgICAgIEN1c3RvbUNvbnN0cnVj
dEZ1bmN0aW9uLAogICAgICAgICBDb25zdHJ1Y3RvclBhcmFtZXRlcnM9MiwKLSAgICAgICAgVjhD
dXN0b21Db25zdHJ1Y3RvciwKKyAgICAgICAgQ29uc3RydWN0b3IoaW4gRE9NU3RyaW5nIHNjcmlw
dFVSTCwgaW4gW09wdGlvbmFsPUNhbGxXaXRoTnVsbFZhbHVlXSBET01TdHJpbmcgbmFtZSksCisg
ICAgICAgIENvbnN0cnVjdG9yV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0LAorICAgICAgICBD
b25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiwKKyAgICAgICAgVjhDb25zdHJ1Y3RvclNldHNBY3Rp
dmVET01XcmFwcGVyLAogICAgICAgICBDdXN0b21NYXJrRnVuY3Rpb24sCiAgICAgICAgIEdlbmVy
YXRlTmF0aXZlQ29udmVydGVyLAogICAgICAgICBHZW5lcmF0ZVRvSlMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110114</attachid>
            <date>2011-10-07 02:53:49 -0700</date>
            <delta_ts>2011-10-17 05:16:25 -0700</delta_ts>
            <desc>rebased patch for review</desc>
            <filename>bug-67879-20111007185348.patch</filename>
            <type>text/plain</type>
            <size>11555</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY5MjEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NzFjMDc2Njg5OTg3YzY4YTc2NDUz
OGNhMzE3MzQ5YjFlMjY5YTNmLi5lYzUwMGYzZjU4MGNkZjE4ODhjMTI4YmFjZmY2OTg4MjMwZWNh
MDhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTAtMDcgIEtlbnRhcm8gSGFyYSAgPGhh
cmFrZW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBHZW5lcmF0ZSBhIFNoYXJlZFdvcmtlciBjb25z
dHJ1Y3RvciBvZiBWOCB1c2luZyB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmli
dXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg3
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IHRlc3QgY2FzZXMgZm9yIHVuZGVmaW5lZCBuYW1lIGFuZCBudWxsIG5hbWUgb24gU2hhcmVkV29y
a2VyIGNvbnN0cnVjdG9yLgorCisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
Y29uc3RydWN0b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQt
d29ya2VyLWNvbnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2lu
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogVXBk
YXRlZCBTeW50YXhFcnJvciB3aXRoIFR5cGVFcnJvci4gVGhlIHJlYXNvbiB3aHkgdWlfdGVzdHMg
aGFzIGJlZW4gc28gZmFyIHdvcmtpbmcgd2l0aG91dCB1cGRhdGluZyB0aGlzIGVycm9yIHR5cGUg
aXMgdGhhdCBzaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwgaXMgbWFya2VkIEZMQUtZIGlu
IGNocm9taXVtLgorCiAyMDExLTEwLTA3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgYmFzZWxpbmVzIGZvcgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3It
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29u
c3RydWN0b3ItZXhwZWN0ZWQudHh0CmluZGV4IGQ5ZjI0ZmUzYjM0OTg1MDcyNGRiZThiZTFkY2Q2
OWMzODgzZjI4NjAuLjUyOWUxZWM4ZDkzYmM1ZDhiZjE4MjZmMWYwZTljYzc4YzRlOGQ3YWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVj
dG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQKQEAgLTQsNiArNCw4IEBAIFBBU1M6IHRvU3Ry
aW5nIGV4Y2VwdGlvbiBwcm9wYWdhdGVkIGNvcnJlY3RseS4KIFBBU1M6IHRyeWluZyB0byBjcmVh
dGUgd29ya2VycyByZWN1cnNpdmVseSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFJhbmdlRXJy
b3I6IE1heGltdW0gY2FsbCBzdGFjayBzaXplIGV4Y2VlZGVkLikKIFBBU1M6IGludm9raW5nIFNo
YXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRob3V0IGFyZ3VtZW50cyByZXN1bHRlZCBpbiBhbiBl
eGNlcHRpb24gKFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMpCiBQQVNTOiBpbnZva2lu
ZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBuYW1lIGRpZCBub3QgcmVzdWx0IGlu
IGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdp
dGggbnVsbCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tp
bmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggdW5kZWZpbmVkIG5hbWUgZGlkIG5vdCBy
ZXN1bHQgaW4gYW4gZXhjZXB0aW9uCiBQQVNTOiBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igc3Vj
Y2VlZGVkOiBbb2JqZWN0IFNoYXJlZFdvcmtlcl0KIERPTkUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwKaW5kZXgg
NzE2MGNiYTE5ZWRlZDk5YmE2ZGEyNmYyZDJlNzFlOGZlNWU1Y2MzMC4uOTg1MmFjM2U2NjhhOTgy
MDA0ZmRmNzIyMTFkNjI4NmIzNmRhYzFlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93
b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci5odG1sCkBAIC00NSw2ICs0NSwy
MCBAQCB0cnkgewogfQogCiB0cnkgeworICAgIG5ldyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9z
aGFyZWQtd29ya2VyLWNvbW1vbi5qcyIsIG51bGwpOworICAgIGxvZygiUEFTUzogaW52b2tpbmcg
U2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3QgcmVzdWx0IGlu
IGFuIGV4Y2VwdGlvbiIpOworfSBjYXRjaCAoZXgpIHsKKyAgICBsb2coIkZBSUw6IGludm9raW5n
IFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIG51bGwgbmFtZSByZXN1bHRlZCBpbiBhbiBl
eGNlcHRpb24gKCIgKyBleCArICIpIik7Cit9CisKK3RyeSB7CisgICAgbmV3IFNoYXJlZFdvcmtl
cigicmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29tbW9uLmpzIiwgdW5kZWZpbmVkKTsKKyAgICBs
b2coIlBBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5l
ZCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiIpOworfSBjYXRjaCAoZXgpIHsK
KyAgICBsb2coIkZBSUw6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVu
ZGVmaW5lZCBuYW1lIHJlc3VsdGVkIGluIGFuIGV4Y2VwdGlvbiAoIiArIGV4ICsgIikiKTsKK30K
KwordHJ5IHsKICAgICB2YXIgd29ya2VyID0gbmV3IFNoYXJlZFdvcmtlcigicmVzb3VyY2VzL3No
YXJlZC13b3JrZXItY29tbW9uLmpzIiwgIm5hbWUiKTsKICAgICBsb2cgKCJQQVNTOiBTaGFyZWRX
b3JrZXIgY29uc3RydWN0b3Igc3VjY2VlZGVkOiAiICsgd29ya2VyKTsKIH0gY2F0Y2ggKGV4KSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC93b3Jr
ZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVj
dG9yLWV4cGVjdGVkLnR4dAppbmRleCBiMWJhMWMxZDkwMWQxZWM5MTViZTY2ZTU0N2I2YjYwMzcx
OTU0NjRkLi40OWQ2OTY5Y2VjNmJjNjdmMjhhYmU5ZGQ5MjBhY2E0ZjA1MzE5MzM2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13aW4vZmFzdC93b3JrZXJzL3NoYXJl
ZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtLXdpbi9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci1l
eHBlY3RlZC50eHQKQEAgLTIsOCArMiwxMCBAQCBUZXN0IFNoYXJlZFdvcmtlciBjb25zdHJ1Y3Rv
ciBmdW5jdGlvbmFsaXR5LiBTaG91bGQgcHJpbnQgYSBzZXJpZXMgb2YgUEFTUyBtZXNzYQogCiBQ
QVNTOiB0b1N0cmluZyBleGNlcHRpb24gcHJvcGFnYXRlZCBjb3JyZWN0bHkuCiBQQVNTOiB0cnlp
bmcgdG8gY3JlYXRlIHdvcmtlcnMgcmVjdXJzaXZlbHkgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0aW9u
IChSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZCkKLVBBU1M6IGlu
dm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRob3V0IGFyZ3VtZW50cyByZXN1bHRl
ZCBpbiBhbiBleGNlcHRpb24gKFN5bnRheEVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cykKK1BB
U1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRob3V0IGFyZ3VtZW50cyBy
ZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMp
CiBQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBuYW1lIGRp
ZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2Vy
IGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlv
bgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggdW5kZWZpbmVk
IG5hbWUgZGlkIG5vdCByZXN1bHQgaW4gYW4gZXhjZXB0aW9uCiBQQVNTOiBTaGFyZWRXb3JrZXIg
Y29uc3RydWN0b3Igc3VjY2VlZGVkOiBbb2JqZWN0IFNoYXJlZFdvcmtlcl0KIERPTkUKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGFjNTc5NGUxN2U3YzdlZWI4ZjczNzY2YjkzMDRjNWJhOTA5ZmYyZWQuLjFlNzQ1
ZjRhNjFmNjlhMTllNjZjMGYwMzMyNjAyZGI1MDkxOGJkN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMS0xMC0wNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBnb29nbGUuY29tPgor
CisgICAgICAgIEdlbmVyYXRlIGEgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIG9mIFY4IHVzaW5n
IHRoZSBJREwgJ0NvbnN0cnVjdG9yJyBleHRlbmRlZCBhdHRyaWJ1dGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODc5CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlYzogaHR0cDovL2Rldi53My5vcmcv
aHRtbDUvd29ya2Vycy8jc2hhcmVkLXdvcmtlcnMtYW5kLXRoZS1zaGFyZWR3b3JrZXItaW50ZXJm
YWNlCisKKyAgICAgICAgVGVzdDogdWlfdGVzdHM6V29ya2VyVGVzdC5GTEFLWV9TaGFyZWRXb3Jr
ZXJGYXN0Q29uc3RydWN0b3IKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaTogUmVtb3ZlZCBiaW5k
aW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwCisgICAgICAgICogV2ViQ29y
ZS5wcm86IERpdHRvLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtl
ckN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRs
OiBBZGRlZCB0aGUgSURMICdDb25zdHJ1Y3RvcicgZXh0ZW5kZWQgYXR0cmlidXRlLgorCiAyMDEx
LTEwLTA3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGFkZCBFbGVtZW50cyBhbmQgTmV0d29yayBwYW5lbHMgdG8gdGhlIGNv
bXBpbGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMWRiMDAxMjBiODg4MDgzZjM3ZTQyOWJhYzU3
MDRmZTkwNmIwNTcyNS4uMjMyNmQ2MjU2MmM3NjJkZjk3ZDZlYjIzOThmYjNkNDFkMTg0NjAzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjIxNCw3ICsyMjE0LDYgQEAKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhTVkdQYXRoU2VnQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNjcmlwdFByb2ZpbGVOb2RlQ3VzdG9tLmNwcCcsCi0gICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdHlsZVNoZWV0TGlzdEN1c3RvbS5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwppbmRleCBiYWM0NDFkZTVlMWFlYzIzZTZlNmQxNGM1ZjRjMzU3NmQyMjhl
YjMzLi5iYTgzZTgyYmZhYTZkMWU3Zjk4MGI3NjBhMzkwYmM0MDU0OWQyOTdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwpAQCAtMjAwLDcgKzIwMCw2IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4U1FMVHJhbnNhY3Rpb25DdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9t
L1Y4V2ViU29ja2V0Q3VzdG9tLmNwcCBcCiAgICAgICAgIFwKLSAgICAgICAgYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOFN0b3JhZ2VDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U3R5bGVTaGVldEN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhTdHls
ZVNoZWV0TGlzdEN1c3RvbS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIxZjYyZWJkMDM0ZWEyYTkwYWY4OTI2MzAyMDRmNGVmMWQxMDI2OGEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDkzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKLSAqIG1ldDoKLSAqCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBFTkFCTEUo
U0hBUkVEX1dPUktFUlMpCi0KLSNpbmNsdWRlICJWOFNoYXJlZFdvcmtlci5oIgotCi0jaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgotI2luY2x1ZGUgIkZyYW1lLmgiCi0jaW5jbHVkZSAiVjhCaW5k
aW5nLmgiCi0jaW5jbHVkZSAiVjhQcm94eS5oIgotI2luY2x1ZGUgIlY4VXRpbGl0aWVzLmgiCi0j
aW5jbHVkZSAiV29ya2VyQ29udGV4dC5oIgotI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVjdXRp
b25Qcm94eS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXY4OjpIYW5kbGU8djg6OlZhbHVl
PiBWOFNoYXJlZFdvcmtlcjo6Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRz
JiBhcmdzKQotewotICAgIElOQ19TVEFUUyhMIkRPTS5TaGFyZWRXb3JrZXIuQ29uc3RydWN0b3Ii
KTsKLQotICAgIGlmICghYXJncy5Jc0NvbnN0cnVjdENhbGwoKSkKLSAgICAgICAgcmV0dXJuIHRo
cm93RXJyb3IoIkRPTSBvYmplY3QgY29uc3RydWN0b3IgY2Fubm90IGJlIGNhbGxlZCBhcyBhIGZ1
bmN0aW9uLiIsIFY4UHJveHk6OlR5cGVFcnJvcik7Ci0KLSAgICBpZiAoIWFyZ3MuTGVuZ3RoKCkp
Ci0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJOb3QgZW5vdWdoIGFyZ3VtZW50cyIsIFY4UHJv
eHk6OlR5cGVFcnJvcik7Ci0KLSAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7Ci0gICAgdjg6Okhh
bmRsZTx2ODo6U3RyaW5nPiBzY3JpcHRVcmwgPSBhcmdzWzBdLT5Ub1N0cmluZygpOwotICAgIFN0
cmluZyBuYW1lOwotICAgIGlmIChhcmdzLkxlbmd0aCgpID4gMSkKLSAgICAgICAgbmFtZSA9IHRv
V2ViQ29yZVN0cmluZyhhcmdzWzFdLT5Ub1N0cmluZygpKTsKLQotICAgIGlmICh0cnlDYXRjaC5I
YXNDYXVnaHQoKSkKLSAgICAgICAgcmV0dXJuIHRocm93RXJyb3IodHJ5Q2F0Y2guRXhjZXB0aW9u
KCkpOwotCi0gICAgaWYgKHNjcmlwdFVybC5Jc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiB2ODo6
VW5kZWZpbmVkKCk7Ci0KLSAgICAvLyBHZXQgdGhlIHNjcmlwdCBleGVjdXRpb24gY29udGV4dC4K
LSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gZ2V0U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOwotICAgIGlmICghY29udGV4dCkKLSAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKLQotICAgIC8vIENyZWF0ZSB0aGUgU2hhcmVkV29ya2VyIG9iamVjdC4KLSAgICAvLyBO
b3RlOiBpdCdzIE9LIHRvIGxldCB0aGlzIFJlZlB0ciBnbyBvdXQgb2Ygc2NvcGUgYmVjYXVzZSB3
ZSBhbHNvIGNhbGwgU2V0RE9NV3JhcHBlcigpLCB3aGljaCBlZmZlY3RpdmVseSBob2xkcyBhIHJl
ZmVyZW5jZSB0byBvYmouCi0gICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgUmVmUHRyPFNo
YXJlZFdvcmtlcj4gb2JqID0gU2hhcmVkV29ya2VyOjpjcmVhdGUodG9XZWJDb3JlU3RyaW5nKHNj
cmlwdFVybCksIG5hbWUsIGNvbnRleHQsIGVjKTsKLSAgICBpZiAoZWMpCi0gICAgICAgIHJldHVy
biB0aHJvd0Vycm9yKGVjKTsKLQotICAgIC8vIFNldHVwIHRoZSBzdGFuZGFyZCB3cmFwcGVyIG9i
amVjdCBpbnRlcm5hbCBmaWVsZHMuCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVy
T2JqZWN0ID0gYXJncy5Ib2xkZXIoKTsKLSAgICBWOERPTVdyYXBwZXI6OnNldERPTVdyYXBwZXIo
d3JhcHBlck9iamVjdCwgJmluZm8sIG9iai5nZXQoKSk7Ci0KLSAgICBvYmotPnJlZigpOwotICAg
IFY4RE9NV3JhcHBlcjo6c2V0SlNXcmFwcGVyRm9yQWN0aXZlRE9NT2JqZWN0KG9iai5nZXQoKSwg
djg6OlBlcnNpc3RlbnQ8djg6Ok9iamVjdD46Ok5ldyh3cmFwcGVyT2JqZWN0KSk7Ci0KLSAgICBy
ZXR1cm4gd3JhcHBlck9iamVjdDsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5k
aWYgLy8gRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXIuaWRsCmluZGV4IDAwNmRiMzM2ODBkZWVkNzVmN2ZhMTBhNzY4YTc2NjgzNzA1ZGM4MGUu
LjRlOGNhYjk3OWVkYTE4NjRhYzUxZWFjNmYwY2U2Y2MyYmU0ZTE1MDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKQEAgLTM1LDggKzM1LDEyIEBAIG1vZHVsZSB0aHJl
YWRzIHsKICAgICAgICAgQ29uZGl0aW9uYWw9U0hBUkVEX1dPUktFUlMsCiAgICAgICAgIEFjdGl2
ZURPTU9iamVjdCwKICAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKLSAgICAgICAgQ3VzdG9tQ29u
c3RydWN0b3IsCisgICAgICAgIEpTQ3VzdG9tQ29uc3RydWN0b3IsCiAgICAgICAgIENvbnN0cnVj
dG9yUGFyYW1ldGVycz0yLAorICAgICAgICBDb25zdHJ1Y3RvcihpbiBET01TdHJpbmcgc2NyaXB0
VVJMLCBpbiBbT3B0aW9uYWw9Q2FsbFdpdGhOdWxsVmFsdWVdIERPTVN0cmluZyBuYW1lKSwKKyAg
ICAgICAgQ29uc3RydWN0b3JXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCisgICAgICAgIENv
bnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAorICAgICAgICBWOENvbnN0cnVjdG9yU2V0c0FjdGl2
ZURPTVdyYXBwZXIsCiAgICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbiwKICAgICAgICAgR2VuZXJh
dGVOYXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIEdlbmVyYXRlVG9KUwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111247</attachid>
            <date>2011-10-17 05:16:34 -0700</date>
            <delta_ts>2011-10-18 23:56:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67879-20111017211632.patch</filename>
            <type>text/plain</type>
            <size>18507</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1ODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1Y2E2MTJmYWY1YmVhMDRl
MDlhZjZiNDE2MzQxYjYyYTljMmMxNTY4Li40ZWQ4ZDM0N2Q5YmJlMmYwYmE3N2Y2MzMzNzczZTU3
ZWQ2NTgzYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTcgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEdlbmVyYXRlIGEgU2hh
cmVkV29ya2VyIGNvbnN0cnVjdG9yIG9mIFY4IHVzaW5nIFtDb25zdHJ1Y3Rvcl0gSURMCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzg3OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNwZWM6IGh0dHA6Ly9k
ZXYudzMub3JnL2h0bWw1L3dvcmtlcnMvI3NoYXJlZC13b3JrZXJzLWFuZC10aGUtc2hhcmVkd29y
a2VyLWludGVyZmFjZQorICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZWQgU2hhcmVkV29ya2VyOjpj
cmVhdGUoLi4uLCBjb250ZXh0LCBlYykgdG8KKyAgICAgICAgU2hhcmVkV29ya2VyOjpjcmVhdGUo
Y29udGV4dCwgLi4uLCBlYyksIHNpbmNlIGEgcGFyYW1ldGVyIHNwZWNpZmllZCBieSBbQ2FsbFdp
dGhdCisgICAgICAgIHNob3VsZCBjb21lIGF0IHRoZSBiZWdpbm5pbmcgKGMuZi4gYnVnIDY5Nzk5
KS4KKworICAgICAgICBUZXN0OiB1aV90ZXN0czpXb3JrZXJUZXN0LkZMQUtZX1NoYXJlZFdvcmtl
ckZhc3RDb25zdHJ1Y3RvcgorICAgICAgICAgICAgICB1aV90ZXN0czpXb3JrZXJUZXN0LkZMQUtZ
X1NoYXJlZFdvcmtlckZhc3ROYW1lCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IFJlbW92ZWQg
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U2hhcmVkV29ya2VyQ3VzdG9tLmNwcAorICAgICAgICAqIFdl
YkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1NoYXJlZFdvcmtlckN1
c3RvbS5jcHA6IE1vdmVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgcGFyYW1ldGVyIHRvIHRoZSBi
ZWdpbm5pbmcuCisgICAgICAgIChXZWJDb3JlOjpKU1NoYXJlZFdvcmtlckNvbnN0cnVjdG9yOjpj
b25zdHJ1Y3RKU1NoYXJlZFdvcmtlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U2hhcmVkV29ya2VyQ3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3b3JrZXJzL1NoYXJl
ZFdvcmtlci5jcHA6IE1vdmVkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgcGFyYW1ldGVyIHRvIHRo
ZSBiZWdpbm5pbmcuCisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXI6OmNyZWF0ZSk6IERp
dHRvLgorICAgICAgICAqIHdvcmtlcnMvU2hhcmVkV29ya2VyLmg6IERpdHRvLgorICAgICAgICAq
IHdvcmtlcnMvU2hhcmVkV29ya2VyLmlkbDogQWRkZWQgW0NvbnN0cnVjdG9yXSBJREwuCisKIDIw
MTEtMTAtMTYgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEdlbmVyYXRlIFhNTEh0dHBSZXF1ZXN0IGNvbnN0cnVjdG9yIGZvciBKU0MgYnkgW0NvbnN0cnVj
dG9yXSBJREwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAxZjgzZGYyNjYyMjFjOTU1MjRiMmJmNmE3NTY5
YmI1MjlhNDI2YjMwLi5kMzU5YjQwYmQ1Yjk3NTE3YjE1ODdkYWVhY2E5NjZlYjE1OGQzZDU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0yMjMwLDcgKzIyMzAsNiBAQAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOFNWR1BhdGhTZWdDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5k
aW5ncy92OC9jdXN0b20vVjhTY3JpcHRQcm9maWxlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvY3VzdG9tL1Y4U2NyaXB0UHJvZmlsZU5vZGVDdXN0b20uY3BwJywKLSAgICAg
ICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwJywKICAg
ICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhTdG9yYWdlQ3VzdG9tLmNwcCcsCiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4U3R5bGVTaGVldEN1c3RvbS5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCcs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCmluZGV4IDAxMzQ1OGRiYzZhODgxZjFhZGVhNzFmNDNjODAxNGNlYjU3Mzcz
ZDMuLmVjYmNhZGNhYWQ1YjA2MzZiMmRmNmQzNzQ0NjdjOGJjNmRlYzE5OTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCkBAIC0yMDIsNyArMjAyLDYgQEAgdjggewogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhXZWJTb2NrZXRDdXN0b20uY3BwIFwKICAgICAgICAgXAotICAgICAgICBiaW5kaW5ncy92OC9j
dXN0b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4U3RvcmFnZUN1c3RvbS5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9jdXN0b20vVjhT
dHlsZVNoZWV0Q3VzdG9tLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOFN0eWxl
U2hlZXRMaXN0Q3VzdG9tLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1NoYXJlZFdvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NoYXJlZFdvcmtlckN1c3RvbS5jcHAKaW5kZXggNGQ5ZDIyZDgyODg2YmJhZmU2Y2UxNmNi
ZDY4YTQ0YjA4MjkzZWE3YS4uOTIwZWJkNTJhZDAyODA4ZGUwOTAyYTZmY2VmNjYwNTU0MWM2NWRj
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTaGFyZWRXb3JrZXJD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU2hhcmVkV29ya2Vy
Q3VzdG9tLmNwcApAQCAtNzMsNyArNzMsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IEpTU2hhcmVkV29ya2VyQ29uc3RydWN0b3I6OmNvbnN0cnVjdEpTU2hhcmVkV29ya2VyKAogICAg
IC8vIEZJWE1FOiBXZSBuZWVkIHRvIHVzZSBib3RoIHRoZSBkeW5hbWljIHNjb3BlIGFuZCB0aGUg
bGV4aWNhbCBzY29wZSAoZHluYW1pYyBzY29wZSBmb3IgcmVzb2x2aW5nIHRoZSB3b3JrZXIgVVJM
KQogICAgIERPTVdpbmRvdyogd2luZG93ID0gYXNKU0RPTVdpbmRvdyhleGVjLT5sZXhpY2FsR2xv
YmFsT2JqZWN0KCkpLT5pbXBsKCk7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgUmVm
UHRyPFNoYXJlZFdvcmtlcj4gd29ya2VyID0gU2hhcmVkV29ya2VyOjpjcmVhdGUodXN0cmluZ1Rv
U3RyaW5nKHNjcmlwdFVSTCksIHVzdHJpbmdUb1N0cmluZyhuYW1lKSwgd2luZG93LT5kb2N1bWVu
dCgpLCBlYyk7CisgICAgUmVmUHRyPFNoYXJlZFdvcmtlcj4gd29ya2VyID0gU2hhcmVkV29ya2Vy
OjpjcmVhdGUod2luZG93LT5kb2N1bWVudCgpLCB1c3RyaW5nVG9TdHJpbmcoc2NyaXB0VVJMKSwg
dXN0cmluZ1RvU3RyaW5nKG5hbWUpLCBlYyk7CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIHNldERP
TUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNW
YWx1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNoYXJlZFdvcmtlckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhTaGFyZWRXb3JrZXJDdXN0b20uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiMWY2MmViZDAzNGVhMmE5MGFmODkyNjMwMjA0ZjRlZjFkMTAyNjhhLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNoYXJlZFdvcmtlckN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5
MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6
Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIK
LSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJT
KQotCi0jaW5jbHVkZSAiVjhTaGFyZWRXb3JrZXIuaCIKLQotI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKLSNpbmNsdWRlICJGcmFtZS5oIgotI2luY2x1ZGUgIlY4QmluZGluZy5oIgotI2luY2x1
ZGUgIlY4UHJveHkuaCIKLSNpbmNsdWRlICJWOFV0aWxpdGllcy5oIgotI2luY2x1ZGUgIldvcmtl
ckNvbnRleHQuaCIKLSNpbmNsdWRlICJXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhTaGFyZWRXb3Jr
ZXI6OmNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKLXsKLSAg
ICBJTkNfU1RBVFMoTCJET00uU2hhcmVkV29ya2VyLkNvbnN0cnVjdG9yIik7Ci0KLSAgICBpZiAo
IWFyZ3MuSXNDb25zdHJ1Y3RDYWxsKCkpCi0gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJET00g
b2JqZWN0IGNvbnN0cnVjdG9yIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBmdW5jdGlvbi4iLCBWOFBy
b3h5OjpUeXBlRXJyb3IpOwotCi0gICAgaWYgKCFhcmdzLkxlbmd0aCgpKQotICAgICAgICByZXR1
cm4gdGhyb3dFcnJvcigiTm90IGVub3VnaCBhcmd1bWVudHMiLCBWOFByb3h5OjpUeXBlRXJyb3Ip
OwotCi0gICAgdjg6OlRyeUNhdGNoIHRyeUNhdGNoOwotICAgIHY4OjpIYW5kbGU8djg6OlN0cmlu
Zz4gc2NyaXB0VXJsID0gYXJnc1swXS0+VG9TdHJpbmcoKTsKLSAgICBTdHJpbmcgbmFtZTsKLSAg
ICBpZiAoYXJncy5MZW5ndGgoKSA+IDEpCi0gICAgICAgIG5hbWUgPSB0b1dlYkNvcmVTdHJpbmco
YXJnc1sxXS0+VG9TdHJpbmcoKSk7Ci0KLSAgICBpZiAodHJ5Q2F0Y2guSGFzQ2F1Z2h0KCkpCi0g
ICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHRyeUNhdGNoLkV4Y2VwdGlvbigpKTsKLQotICAgIGlm
IChzY3JpcHRVcmwuSXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwot
Ci0gICAgLy8gR2V0IHRoZSBzY3JpcHQgZXhlY3V0aW9uIGNvbnRleHQuCi0gICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAg
ICBpZiAoIWNvbnRleHQpCi0gICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Ci0KLSAgICAv
LyBDcmVhdGUgdGhlIFNoYXJlZFdvcmtlciBvYmplY3QuCi0gICAgLy8gTm90ZTogaXQncyBPSyB0
byBsZXQgdGhpcyBSZWZQdHIgZ28gb3V0IG9mIHNjb3BlIGJlY2F1c2Ugd2UgYWxzbyBjYWxsIFNl
dERPTVdyYXBwZXIoKSwgd2hpY2ggZWZmZWN0aXZlbHkgaG9sZHMgYSByZWZlcmVuY2UgdG8gb2Jq
LgotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIFJlZlB0cjxTaGFyZWRXb3JrZXI+IG9i
aiA9IFNoYXJlZFdvcmtlcjo6Y3JlYXRlKHRvV2ViQ29yZVN0cmluZyhzY3JpcHRVcmwpLCBuYW1l
LCBjb250ZXh0LCBlYyk7Ci0gICAgaWYgKGVjKQotICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihl
Yyk7Ci0KLSAgICAvLyBTZXR1cCB0aGUgc3RhbmRhcmQgd3JhcHBlciBvYmplY3QgaW50ZXJuYWwg
ZmllbGRzLgotICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlck9iamVjdCA9IGFyZ3Mu
SG9sZGVyKCk7Ci0gICAgVjhET01XcmFwcGVyOjpzZXRET01XcmFwcGVyKHdyYXBwZXJPYmplY3Qs
ICZpbmZvLCBvYmouZ2V0KCkpOwotCi0gICAgb2JqLT5yZWYoKTsKLSAgICBWOERPTVdyYXBwZXI6
OnNldEpTV3JhcHBlckZvckFjdGl2ZURPTU9iamVjdChvYmouZ2V0KCksIHY4OjpQZXJzaXN0ZW50
PHY4OjpPYmplY3Q+OjpOZXcod3JhcHBlck9iamVjdCkpOwotCi0gICAgcmV0dXJuIHdyYXBwZXJP
YmplY3Q7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShT
SEFSRURfV09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcAppbmRl
eCA4NzRlYTY0MDNjMDhkNTBmZDc2NmM4NDRkYWIwMzk1OGNmZmYwZmEzLi5jOThmYjVmMGUwNTg4
Y2U0ZmY2ODRjMTFmYzg1NjlmMTUzMzI4ZTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXIuY3BwCkBAIC00OSw3ICs0OSw3IEBAIGlubGluZSBTaGFyZWRXb3JrZXI6OlNoYXJl
ZFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewogfQogCi1QYXNzUmVm
UHRyPFNoYXJlZFdvcmtlcj4gU2hhcmVkV29ya2VyOjpjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgbmFtZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhj
ZXB0aW9uQ29kZSYgZWMpCitQYXNzUmVmUHRyPFNoYXJlZFdvcmtlcj4gU2hhcmVkV29ya2VyOjpj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgUmVmUHRyPFNo
YXJlZFdvcmtlcj4gd29ya2VyID0gYWRvcHRSZWYobmV3IFNoYXJlZFdvcmtlcihjb250ZXh0KSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oCmluZGV4IDA3YWZmMTkzZDI5MmM1
OGEwNTgzZTM3OTkxMTdiZDkzZDM3MzRmNzUuLjVhNmJlMmE4NTRiN2M0NzA0MjQxYWUwZTAwMTc5
ODFmNjJhYzI4ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaApAQCAtNDAs
NyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTaGFyZWRXb3JrZXIg
OiBwdWJsaWMgQWJzdHJhY3RXb3JrZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8U2hhcmVkV29ya2VyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U2hhcmVkV29ya2VyPiBjcmVhdGUoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2Vw
dGlvbkNvZGUmKTsKICAgICAgICAgdmlydHVhbCB+U2hhcmVkV29ya2VyKCk7CiAKICAgICAgICAg
TWVzc2FnZVBvcnQqIHBvcnQoKSBjb25zdCB7IHJldHVybiBtX3BvcnQuZ2V0KCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbAppbmRleCAwMDZkYjMzNjgwZGVlZDc1Zjdm
YTEwYTc2OGE3NjY4MzcwNWRjODBlLi41YzVlOTc4NGY3Zjc1N2I4ODQyNTgxNDFlOWE5MDU1MDNi
NDcxZThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCkBAIC0zNSw4
ICszNSwxMiBAQCBtb2R1bGUgdGhyZWFkcyB7CiAgICAgICAgIENvbmRpdGlvbmFsPVNIQVJFRF9X
T1JLRVJTLAogICAgICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIENhbkJlQ29uc3RydWN0
ZWQsCi0gICAgICAgIEN1c3RvbUNvbnN0cnVjdG9yLAorICAgICAgICBKU0N1c3RvbUNvbnN0cnVj
dG9yLAogICAgICAgICBDb25zdHJ1Y3RvclBhcmFtZXRlcnM9MiwKKyAgICAgICAgQ29uc3RydWN0
b3IoaW4gRE9NU3RyaW5nIHNjcmlwdFVSTCwgaW4gW09wdGlvbmFsPUNhbGxXaXRoTnVsbFZhbHVl
XSBET01TdHJpbmcgbmFtZSksCisgICAgICAgIENhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQsCisgICAgICAgIENvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9uLAorICAgICAgICBWOENvbnN0
cnVjdG9yU2V0c0FjdGl2ZURPTVdyYXBwZXIsCiAgICAgICAgIEN1c3RvbU1hcmtGdW5jdGlvbiwK
ICAgICAgICAgR2VuZXJhdGVOYXRpdmVDb252ZXJ0ZXIsCiAgICAgICAgIEdlbmVyYXRlVG9KUwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IDUzODY1ZmZkMzE1MjA3NGRjYjA3NTlmNjIwMzU0MjA4YzY1NjMxMzIuLmM1N2IxODEw
NTAyMmU1NGYwZGMzMjg1MmJlZWJhZjQyOWJiZmNiYjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAxMS0xMC0xNyAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgR2VuZXJhdGUgYSBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igb2YgVjggdXNpbmcgW0NvbnN0
cnVjdG9yXSBJREwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY3ODc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgdGVzdCBjYXNlcyBmb3IgYW4gdW5kZWZpbmVkIG5hbWUgYW5kIGEgbnVsbCBuYW1l
IG9uIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3Rvci4KKworICAgICAgICAqIGZhc3Qvd29ya2Vycy9y
ZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1uYW1lLmpzOgorICAgICAgICAodGVzdDcudHJ5Lndvcmtl
ci5wb3J0Lm9ubWVzc2FnZSk6CisgICAgICAgICh0ZXN0Nyk6IEEgdGVzdCBjYXNlIGZvciBhIG51
bGwgbmFtZS4KKyAgICAgICAgKHRlc3Q4Lndvcmtlci5wb3J0Lm9ubWVzc2FnZSk6CisgICAgICAg
ICh0ZXN0OCk6IERpdHRvLgorICAgICAgICAodGVzdDkudHJ5Lndvcmtlci5wb3J0Lm9ubWVzc2Fn
ZSk6CisgICAgICAgICh0ZXN0OSk6IEEgdGVzdCBjYXNlIGZvciBhbiB1bmRlZmluZWQgbmFtZS4K
KyAgICAgICAgKHRlc3QxMC53b3JrZXIucG9ydC5vbm1lc3NhZ2UpOgorICAgICAgICAodGVzdDEw
KTogRGl0dG8uCisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0
b3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNv
bnN0cnVjdG9yLmh0bWw6CisgICAgICAgICogZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItbmFt
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29y
a2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dDogVXBkYXRlZCBTeW50
YXhFcnJvciB3aXRoIFR5cGVFcnJvci4gVGhlIHJlYXNvbiB3aHkgdWlfdGVzdHMgaGFzIGJlZW4g
c28gZmFyIHdvcmtpbmcgd2l0aG91dCB1cGRhdGluZyB0aGlzIGVycm9yIHR5cGUgaXMgdGhhdCBz
aGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwgaXMgbWFya2VkIEZMQUtZIGluIGNocm9taXVt
LgorCiAyMDExLTEwLTE2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVcGRhdGUgdGVzdCBleGVwY3RhdGlvbnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3dvcmtlcnMvcmVzb3VyY2VzL3NoYXJlZC13b3JrZXItbmFtZS5qcyBiL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1uYW1lLmpzCmluZGV4IGViODY2
OGY4NmYzYWNkYWY4MDUzNDBhMzFmNjMxNTMyNTFkYTA2ZDcuLjYwNjkzYmI3Y2M0MDFjMTMwZTc1
ZjY0N2Y2OWRmYzlkYzVlM2U3YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vy
cy9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1uYW1lLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
d29ya2Vycy9yZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1uYW1lLmpzCkBAIC0xOSw4ICsxOSw2IEBA
IGZ1bmN0aW9uIG5leHRUZXN0KCkKICAgICAgICAgZG9uZSgpOwogfQogCi0KLQogZnVuY3Rpb24g
dGVzdDEoKQogewogICAgIC8vIE1ha2Ugc3VyZSB3ZSBjYW4gY3JlYXRlIGEgc2hhcmVkIHdvcmtl
ciB3aXRoIG5vIG5hbWUuCkBAIC05Myw2ICs5MSw2MiBAQCBmdW5jdGlvbiB0ZXN0NigpCiAgICAg
fTsKIH0KIAorZnVuY3Rpb24gdGVzdDcoKQoreworICAgIC8vIE1ha2Ugc3VyZSB3ZSBjYW4gY3Jl
YXRlIGEgc2hhcmVkIHdvcmtlciB3aXRoIG5hbWUgJ251bGwnLgorICAgIHRyeSB7CisgICAgICAg
IHZhciB3b3JrZXIgPSBuZXcgU2hhcmVkV29ya2VyKCdyZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1j
b21tb24uanMnLCAnbnVsbCcpOworICAgICAgICB0ZXN0UGFzc2VkKCJjcmVhdGVkIFNoYXJlZFdv
cmtlciB3aXRoIG5hbWUgJ251bGwnIik7CisgICAgICAgIHdvcmtlci5wb3J0LnBvc3RNZXNzYWdl
KCJldmFsIHNlbGYuZm9vID0gNTY3OCIpOworICAgICAgICB3b3JrZXIucG9ydC5vbm1lc3NhZ2Ug
PSBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbCgic2V0dGluZyBz
ZWxmLmZvbyIsIGV2ZW50LmRhdGEsICJzZWxmLmZvbyA9IDU2Nzg6IDU2NzgiKTsKKyAgICAgICAg
ICAgIG5leHRUZXN0KCk7CisgICAgICAgIH07CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICB0
ZXN0RmFpbGVkKCJTaGFyZWRXb3JrZXIgd2l0aCBuYW1lICdudWxsJyB0aHJldyBhbiBleGNlcHRp
b246ICIgKyBlKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24gdGVzdDgo
KQoreworICAgIC8vIENyZWF0aW5nIGEgd29ya2VyIHdpdGggYSBudWxsIG5hbWUgc2hvdWxkIG1h
dGNoIGFuIGV4aXN0aW5nIHdvcmtlciB3aXRoIG5hbWUgJ251bGwnCisgICAgdmFyIHdvcmtlciA9
IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5qcycsIG51
bGwpOworICAgIHdvcmtlci5wb3J0LnBvc3RNZXNzYWdlKCJldmFsIHNlbGYuZm9vIik7CisgICAg
d29ya2VyLnBvcnQub25tZXNzYWdlID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgc2hvdWxk
QmVFcXVhbCgiY3JlYXRpbmcgd29ya2VyIHdpdGggYSBudWxsIG5hbWUiLCBldmVudC5kYXRhLCAi
c2VsZi5mb286IDU2NzgiKTsKKyAgICAgICAgbmV4dFRlc3QoKTsKKyAgICB9Cit9CisKK2Z1bmN0
aW9uIHRlc3Q5KCkKK3sKKyAgICAvLyBNYWtlIHN1cmUgd2UgY2FuIGNyZWF0ZSBhIHNoYXJlZCB3
b3JrZXIgd2l0aCBuYW1lICd1bmRlZmluZWQnLgorICAgIHRyeSB7CisgICAgICAgIHZhciB3b3Jr
ZXIgPSBuZXcgU2hhcmVkV29ya2VyKCdyZXNvdXJjZXMvc2hhcmVkLXdvcmtlci1jb21tb24uanMn
LCAndW5kZWZpbmVkJyk7CisgICAgICAgIHRlc3RQYXNzZWQoImNyZWF0ZWQgU2hhcmVkV29ya2Vy
IHdpdGggbmFtZSAndW5kZWZpbmVkJyIpOworICAgICAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2Fn
ZSgiZXZhbCBzZWxmLmZvbyA9IDExMTEiKTsKKyAgICAgICAgd29ya2VyLnBvcnQub25tZXNzYWdl
ID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWwoInNldHRpbmcg
c2VsZi5mb28iLCBldmVudC5kYXRhLCAic2VsZi5mb28gPSAxMTExOiAxMTExIik7CisgICAgICAg
ICAgICBuZXh0VGVzdCgpOworICAgICAgICB9OworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAg
dGVzdEZhaWxlZCgiU2hhcmVkV29ya2VyIHdpdGggbmFtZSAndW5kZWZpbmVkJyB0aHJldyBhbiBl
eGNlcHRpb246ICIgKyBlKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KK30KKworZnVuY3Rpb24g
dGVzdDEwKCkKK3sKKyAgICAvLyBDcmVhdGluZyBhIHdvcmtlciB3aXRoIGFuIHVuZGVmaW5lZCBu
YW1lIHNob3VsZCBtYXRjaCBhbiBleGlzdGluZyB3b3JrZXIgd2l0aCBuYW1lICd1bmRlZmluZWQn
CisgICAgdmFyIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9zaGFyZWQtd29y
a2VyLWNvbW1vbi5qcycsIHVuZGVmaW5lZCk7CisgICAgd29ya2VyLnBvcnQucG9zdE1lc3NhZ2Uo
ImV2YWwgc2VsZi5mb28iKTsKKyAgICB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICBzaG91bGRCZUVxdWFsKCJjcmVhdGluZyB3b3JrZXIgd2l0aCBhbiB1
bmRlZmluZWQgbmFtZSIsIGV2ZW50LmRhdGEsICJzZWxmLmZvbzogMTExMSIpOworICAgICAgICBu
ZXh0VGVzdCgpOworICAgIH0KK30KKwogZnVuY3Rpb24gc2hvdWxkQmVFcXVhbChkZXNjcmlwdGlv
biwgYSwgYikKIHsKICAgICBpZiAoYSA9PSBiKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0
CmluZGV4IGQ5ZjI0ZmUzYjM0OTg1MDcyNGRiZThiZTFkY2Q2OWMzODgzZjI4NjAuLjUyOWUxZWM4
ZDkzYmM1ZDhiZjE4MjZmMWYwZTljYzc4YzRlOGQ3YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci1leHBl
Y3RlZC50eHQKQEAgLTQsNiArNCw4IEBAIFBBU1M6IHRvU3RyaW5nIGV4Y2VwdGlvbiBwcm9wYWdh
dGVkIGNvcnJlY3RseS4KIFBBU1M6IHRyeWluZyB0byBjcmVhdGUgd29ya2VycyByZWN1cnNpdmVs
eSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFJhbmdlRXJyb3I6IE1heGltdW0gY2FsbCBzdGFj
ayBzaXplIGV4Y2VlZGVkLikKIFBBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3Rv
ciB3aXRob3V0IGFyZ3VtZW50cyByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMpCiBQQVNTOiBpbnZva2luZyBTaGFyZWRXb3JrZXIgY29uc3Ry
dWN0b3Igd2l0aG91dCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzog
aW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3Qg
cmVzdWx0IGluIGFuIGV4Y2VwdGlvbgorUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0
cnVjdG9yIHdpdGggdW5kZWZpbmVkIG5hbWUgZGlkIG5vdCByZXN1bHQgaW4gYW4gZXhjZXB0aW9u
CiBQQVNTOiBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igc3VjY2VlZGVkOiBbb2JqZWN0IFNoYXJl
ZFdvcmtlcl0KIERPTkUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3No
YXJlZC13b3JrZXItY29uc3RydWN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9z
aGFyZWQtd29ya2VyLWNvbnN0cnVjdG9yLmh0bWwKaW5kZXggNzE2MGNiYTE5ZWRlZDk5YmE2ZGEy
NmYyZDJlNzFlOGZlNWU1Y2MzMC4uOTg1MmFjM2U2NjhhOTgyMDA0ZmRmNzIyMTFkNjI4NmIzNmRh
YzFlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXIt
Y29uc3RydWN0b3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdv
cmtlci1jb25zdHJ1Y3Rvci5odG1sCkBAIC00NSw2ICs0NSwyMCBAQCB0cnkgewogfQogCiB0cnkg
eworICAgIG5ldyBTaGFyZWRXb3JrZXIoInJlc291cmNlcy9zaGFyZWQtd29ya2VyLWNvbW1vbi5q
cyIsIG51bGwpOworICAgIGxvZygiUEFTUzogaW52b2tpbmcgU2hhcmVkV29ya2VyIGNvbnN0cnVj
dG9yIHdpdGggbnVsbCBuYW1lIGRpZCBub3QgcmVzdWx0IGluIGFuIGV4Y2VwdGlvbiIpOworfSBj
YXRjaCAoZXgpIHsKKyAgICBsb2coIkZBSUw6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1
Y3RvciB3aXRoIG51bGwgbmFtZSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24gKCIgKyBleCArICIp
Iik7Cit9CisKK3RyeSB7CisgICAgbmV3IFNoYXJlZFdvcmtlcigicmVzb3VyY2VzL3NoYXJlZC13
b3JrZXItY29tbW9uLmpzIiwgdW5kZWZpbmVkKTsKKyAgICBsb2coIlBBU1M6IGludm9raW5nIFNo
YXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5lZCBuYW1lIGRpZCBub3QgcmVzdWx0
IGluIGFuIGV4Y2VwdGlvbiIpOworfSBjYXRjaCAoZXgpIHsKKyAgICBsb2coIkZBSUw6IGludm9r
aW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5lZCBuYW1lIHJlc3VsdGVk
IGluIGFuIGV4Y2VwdGlvbiAoIiArIGV4ICsgIikiKTsKK30KKwordHJ5IHsKICAgICB2YXIgd29y
a2VyID0gbmV3IFNoYXJlZFdvcmtlcigicmVzb3VyY2VzL3NoYXJlZC13b3JrZXItY29tbW9uLmpz
IiwgIm5hbWUiKTsKICAgICBsb2cgKCJQQVNTOiBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3Igc3Vj
Y2VlZGVkOiAiICsgd29ya2VyKTsKIH0gY2F0Y2ggKGV4KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1uYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5hbWUtZXhwZWN0ZWQudHh0CmluZGV4
IGI2OWFmYTgwOWQ4YTZkMDE5MTkwMTkzNzkxYmRhMDlmODUwNzNiYjkuLjQyODA2Y2M5NWJiYmEw
MWUzM2RhODUzYzVkNDRjYjUyZDk4NmUxZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
d29ya2Vycy9zaGFyZWQtd29ya2VyLW5hbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLW5hbWUtZXhwZWN0ZWQudHh0CkBAIC0xMCw2ICsx
MCwxMiBAQCBQQVNTIGNyZWF0aW5nIHdvcmtlciB3aXRoIGVtcHR5IG5hbWUKIFBBU1MgY3JlYXRp
bmcgd29ya2VyIHdpdGggZGlmZmVyZW50IG5hbWUgYnV0IHNhbWUgVVJMCiBQQVNTIGNyZWF0aW5n
IG5vLW5hbWUgd29ya2VyIHdpdGggYWx0ZXJuYXRlIFVSTAogUEFTUyBjcmVhdGluZyBlbXB0eSBu
YW1lIHdvcmtlciB3aXRoIGFsdGVybmF0ZSBVUkwKK1BBU1MgY3JlYXRlZCBTaGFyZWRXb3JrZXIg
d2l0aCBuYW1lICdudWxsJworUEFTUyBzZXR0aW5nIHNlbGYuZm9vCitQQVNTIGNyZWF0aW5nIHdv
cmtlciB3aXRoIGEgbnVsbCBuYW1lCitQQVNTIGNyZWF0ZWQgU2hhcmVkV29ya2VyIHdpdGggbmFt
ZSAndW5kZWZpbmVkJworUEFTUyBzZXR0aW5nIHNlbGYuZm9vCitQQVNTIGNyZWF0aW5nIHdvcmtl
ciB3aXRoIGFuIHVuZGVmaW5lZCBuYW1lCiAKIFRFU1QgQ09NUExFVEUKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29y
a2VyLWNvbnN0cnVjdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtLXdpbi9mYXN0L3dvcmtlcnMvc2hhcmVkLXdvcmtlci1jb25zdHJ1Y3Rvci1leHBlY3RlZC50
eHQKaW5kZXggYjFiYTFjMWQ5MDFkMWVjOTE1YmU2NmU1NDdiNmI2MDM3MTk1NDY0ZC4uNDlkNjk2
OWNlYzZiYzY3ZjI4YWJlOWRkOTIwYWNhNGYwNTMxOTMzNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0td2luL2Zhc3Qvd29ya2Vycy9zaGFyZWQtd29ya2VyLWNvbnN0
cnVjdG9yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS13
aW4vZmFzdC93b3JrZXJzL3NoYXJlZC13b3JrZXItY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0CkBA
IC0yLDggKzIsMTAgQEAgVGVzdCBTaGFyZWRXb3JrZXIgY29uc3RydWN0b3IgZnVuY3Rpb25hbGl0
eS4gU2hvdWxkIHByaW50IGEgc2VyaWVzIG9mIFBBU1MgbWVzc2EKIAogUEFTUzogdG9TdHJpbmcg
ZXhjZXB0aW9uIHByb3BhZ2F0ZWQgY29ycmVjdGx5LgogUEFTUzogdHJ5aW5nIHRvIGNyZWF0ZSB3
b3JrZXJzIHJlY3Vyc2l2ZWx5IHJlc3VsdGVkIGluIGFuIGV4Y2VwdGlvbiAoUmFuZ2VFcnJvcjog
TWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQpCi1QQVNTOiBpbnZva2luZyBTaGFyZWRX
b3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBhcmd1bWVudHMgcmVzdWx0ZWQgaW4gYW4gZXhjZXB0
aW9uIChTeW50YXhFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMpCitQQVNTOiBpbnZva2luZyBT
aGFyZWRXb3JrZXIgY29uc3RydWN0b3Igd2l0aG91dCBhcmd1bWVudHMgcmVzdWx0ZWQgaW4gYW4g
ZXhjZXB0aW9uIChUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzKQogUEFTUzogaW52b2tp
bmcgU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHdpdGhvdXQgbmFtZSBkaWQgbm90IHJlc3VsdCBp
biBhbiBleGNlcHRpb24KK1BBU1M6IGludm9raW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3
aXRoIG51bGwgbmFtZSBkaWQgbm90IHJlc3VsdCBpbiBhbiBleGNlcHRpb24KK1BBU1M6IGludm9r
aW5nIFNoYXJlZFdvcmtlciBjb25zdHJ1Y3RvciB3aXRoIHVuZGVmaW5lZCBuYW1lIGRpZCBub3Qg
cmVzdWx0IGluIGFuIGV4Y2VwdGlvbgogUEFTUzogU2hhcmVkV29ya2VyIGNvbnN0cnVjdG9yIHN1
Y2NlZWRlZDogW29iamVjdCBTaGFyZWRXb3JrZXJdCiBET05FCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>