<?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>33635</bug_id>
          
          <creation_ts>2010-01-13 16:04:16 -0800</creation_ts>
          <short_desc>[DnD] effectAllowed and dropEffect can be set to bogus values</short_desc>
          <delta_ts>2010-02-24 07:23:46 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>aroben</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>noel.gordon</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180446</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 16:04:16 -0800</bug_when>
    <thetext>event.dataTransfer.dropEffect = &quot;bogus&quot;

and

event.dataTransfer.effectAllowed = &quot;bogus&quot;

Both work, and can cause strange behavior in drag and drop behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180457</commentid>
    <comment_count>1</comment_count>
      <attachid>46524</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 16:26:00 -0800</bug_when>
    <thetext>Created attachment 46524
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180459</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-13 16:30:37 -0800</bug_when>
    <thetext>Attachment 46524 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/185881</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180462</commentid>
    <comment_count>3</comment_count>
      <attachid>46526</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 16:34:09 -0800</bug_when>
    <thetext>Created attachment 46526
[PATCH] Fix without breaking Mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180558</commentid>
    <comment_count>4</comment_count>
      <attachid>46526</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-13 22:56:36 -0800</bug_when>
    <thetext>Comment on attachment 46526
[PATCH] Fix without breaking Mac

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180777</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 10:39:05 -0800</bug_when>
    <thetext>Looks like this broke 5 tests on Snow Leopard:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r53270%20(4299)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180779</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 10:40:06 -0800</bug_when>
    <thetext>And one test on Qt:
http://build.webkit.org/results/Qt%20Linux%20Release/r53270%20(5993)/fast/events/bogus-dropEffect-effectAllowed-pretty-diff.html

I expect Brian is fully aware of the issues. :)  Just noticed and thought I should record them on the off chance he missed them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180786</commentid>
    <comment_count>7</comment_count>
      <attachid>46526</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 10:49:34 -0800</bug_when>
    <thetext>Comment on attachment 46526
[PATCH] Fix without breaking Mac

This broke 5 layout tests on Mac, it was landed in r53270, but rolled out in r53272. I will fix the tests, and upload new results for Mac + GTK + Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180826</commentid>
    <comment_count>8</comment_count>
      <attachid>46591</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 11:49:09 -0800</bug_when>
    <thetext>Created attachment 46591
[PATCH] Fix + Fixed Layout Tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180854</commentid>
    <comment_count>9</comment_count>
      <attachid>46591</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-14 12:33:49 -0800</bug_when>
    <thetext>Comment on attachment 46591
[PATCH] Fix + Fixed Layout Tests

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180861</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 12:48:30 -0800</bug_when>
    <thetext>Landed in r53287.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180878</commentid>
    <comment_count>11</comment_count>
      <attachid>46601</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 13:06:31 -0800</bug_when>
    <thetext>Created attachment 46601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180880</commentid>
    <comment_count>12</comment_count>
      <attachid>46601</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-14 13:08:17 -0800</bug_when>
    <thetext>Comment on attachment 46601
Patch

r=me

Can we make an even stronger assertion: that m_effectAllowed and m_dropEffect are one of the allowed values?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180883</commentid>
    <comment_count>13</comment_count>
      <attachid>46602</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 13:12:47 -0800</bug_when>
    <thetext>Created attachment 46602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180885</commentid>
    <comment_count>14</comment_count>
      <attachid>46602</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-14 13:15:15 -0800</bug_when>
    <thetext>Comment on attachment 46602
Patch

This looks OK. r=me. But now these functions always return true. Let&apos;s get rid of the boolean return value and just return a DragOperation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180990</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 16:21:25 -0800</bug_when>
    <thetext>This broke Leopard Debug due to a bad ASSERT:
http://build.webkit.org/results/Leopard%20Intel%20Debug%20(Tests)/r53288%20(9281)/fast/events/drag-and-drop-stderr.txt

ASSERTION FAILED: op == DragOperationCopy || op == DragOperationNone || op == DragOperationLink || op == DragOperationMove
(/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebCore/dom/Clipboard.cpp:113 bool WebCore::Clipboard::destinationOperation(WebCore::DragOperation&amp;) const)

Perhaps this was fixed in http://trac.webkit.org/changeset/53296?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180991</commentid>
    <comment_count>16</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-14 16:21:53 -0800</bug_when>
    <thetext>Actually, this broke all debug builds. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180993</commentid>
    <comment_count>17</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-14 16:23:52 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Actually, this broke all debug builds. :(

I have a fix, but am trying to figure out why dragOpFromIEOp returns DragOperationGeneric instead of DragOperationMove.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>193341</commentid>
    <comment_count>18</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2010-02-24 07:23:46 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Actually, this broke all debug builds. :(

Is it still in that state?  And I noticed your reference to a related
change http://trac.webkit.org/changeset/53296, which removed some old
IE compat code.  So does 

  http://www.whatwg.org/demos/2008-sept/dnd/dnd.html

work for you on a webkit nightly?  Broken on chrome-dev for me, works
fine in Chrome4, Firefox 3.5.7/3.6, and IE6.  Other examples:

  http://html5demos.com/drag#</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46524</attachid>
            <date>2010-01-13 16:26:00 -0800</date>
            <delta_ts>2010-01-13 16:34:09 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>no_bogus_values.patch</filename>
            <type>text/plain</type>
            <size>13918</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzIxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDEtMTMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtEbkRdIGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgY2FuIGJlIHNldCB0byBib2d1
cyB2YWx1ZXMuCisgICAgICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM2MzU+LgorICAgICAgICAKKyAgICAgICAgVGVzdCB0byBtYWtlIGF1cmUgZHJv
cEVmZmVjdCBhbmQgZWZmZWN0QWxsb3dlZCBhcmUgYmVpbmcgc2V0IHRvIHZhbGlkIHZhbHVlcwor
ICAgICAgICB3aGVuIHRoZXkgYXJlIGJlaW5nIHNldCAobGlzdCBvZiB2YWxpZCB2YWx1ZXMgZ2l2
ZW4gYnkgSFRNTDUgc3BlY2lmaWNhdGlvbikuCisgICAgICAgIAorICAgICAgICBBbHNvLCBkcml2
ZSBieSBjaGFuZ2UgdG8gaW5pdGlhbGl6ZSBkcm9wRWZmZWN0IHRvIG5vbmUgKGFzIGRlc2NyaWJl
ZCBpbiBzcGVjKS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0
LWVmZmVjdEFsbG93ZWQuaHRtbAorCisgICAgICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBib2FyZCk6IEluaXRpYWxpemUgbV9kcm9wRWZm
ZWN0IHRvICJub25lIi4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2V0RHJvcEVmZmVj
dCk6IENoZWNrIGlmIGRyb3BFZmZlY3QgaXMgYmVpbmcgc2V0IHRvIGEgdmFsaWQgdmFsdWUuCisg
ICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNldEVmZmVjdEFsbG93ZWQpOiBDaGVjayBpZiBl
ZmZlY3RBbGxvd2VkIGlzIGJlaW5nIHNldCB0byBhIHZhbGlkIHZhbHVlLgorCiAyMDEwLTAxLTEz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAJKHJldmlzaW9uIDUzMjEwKQor
KysgV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBDbGlwYm9hcmQ6OkNsaXBib2FyZChDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBib29sIGlzRm9yRHJhZ2dpbmcpIAogICAgIDogbV9wb2xpY3ko
cG9saWN5KSAKICAgICAsIG1fZWZmZWN0QWxsb3dlZCgidW5pbml0aWFsaXplZCIpCisgICAgLCBt
X2Ryb3BFZmZlY3QoIm5vbmUiKQogICAgICwgbV9kcmFnU3RhcnRlZChmYWxzZSkKICAgICAsIG1f
Zm9yRHJhZ2dpbmcoaXNGb3JEcmFnZ2luZykKICAgICAsIG1fZHJhZ0ltYWdlKDApCkBAIC0xMzAs
NiArMTMxLDEwIEBAIHZvaWQgQ2xpcGJvYXJkOjpzZXREcm9wRWZmZWN0KGNvbnN0IFN0cmkKICAg
ICBpZiAoIW1fZm9yRHJhZ2dpbmcpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIFRoZSBhdHRy
aWJ1dGUgbXVzdCBpZ25vcmUgYW55IGF0dGVtcHRzIHRvIHNldCBpdCB0byBhIHZhbHVlIG90aGVy
IHRoYW4gbm9uZSwgY29weSwgbGluaywgYW5kIG1vdmUuIAorICAgIGlmIChlZmZlY3QgIT0gIm5v
bmUiICYmIGVmZmVjdCAhPSAiY29weSIgICYmIGVmZmVjdCAhPSAibGluayIgJiYgZWZmZWN0ICE9
ICJtb3ZlIikKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKG1fcG9saWN5ID09IENsaXBib2Fy
ZFJlYWRhYmxlIHx8IG1fcG9saWN5ID09IENsaXBib2FyZFR5cGVzUmVhZGFibGUpCiAgICAgICAg
IG1fZHJvcEVmZmVjdCA9IGVmZmVjdDsKIH0KQEAgLTEzOSw2ICsxNDQsMTcgQEAgdm9pZCBDbGlw
Ym9hcmQ6OnNldEVmZmVjdEFsbG93ZWQoY29uc3QgUwogICAgIGlmICghbV9mb3JEcmFnZ2luZykK
ICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGRyYWdPcEZyb21JRU9wKGVmZmVjdCkgPT0gRHJh
Z09wZXJhdGlvblByaXZhdGUpIHsKKyAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHRoZXJlIHdh
cyBubyBjb252ZXJzaW9uLCBhbmQgdGhlIGVmZmVjdEFsbG93ZWQgdGhhdAorICAgICAgICAvLyB3
ZSBhcmUgcGFzc2VkIGlzbid0IGEgdmFsaWQgZWZmZWN0QWxsb3dlZCwgc28gd2Ugc2hvdWxkIGln
bm9yZSBpdCwKKyAgICAgICAgLy8gYW5kIG5vdCBzZXQgbV9lZmZlY3RBbGxvd2VkLgorCisgICAg
ICAgIC8vIFRoZSBhdHRyaWJ1dGUgbXVzdCBpZ25vcmUgYW55IGF0dGVtcHRzIHRvIHNldCBpdCB0
byBhIHZhbHVlIG90aGVyIHRoYW4gCisgICAgICAgIC8vIG5vbmUsIGNvcHksIGNvcHlMaW5rLCBj
b3B5TW92ZSwgbGluaywgbGlua01vdmUsIG1vdmUsIGFsbCwgYW5kIHVuaW5pdGlhbGl6ZWQuCisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKwogICAgIGlmIChtX3BvbGljeSA9PSBDbGlwYm9hcmRX
cml0YWJsZSkKICAgICAgICAgbV9lZmZlY3RBbGxvd2VkID0gZWZmZWN0OwogfQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gNTMyMTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMC0wMS0xMyAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVp
bkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW0RuRF0gZWZmZWN0QWxsb3dlZCBhbmQgZHJvcEVmZmVjdCBjYW4gYmUgc2V0IHRvIGJv
Z3VzIHZhbHVlcy4KKyAgICAgICAgRml4ZXMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMzYzNT4uCisgICAgICAgIAorICAgICAgICBBZGRlZCBhIHRlc3QgdG8gY2hl
Y2sgdGhlIGhhbmRsaW5nIG9mIHNldHRpbmcgZWZmZWN0QWxsb3dlZCBhbmQKKyAgICAgICAgZHJv
cEVmZmVjdCB0byBib2d1cyB2YWx1ZXMgKHRoYXQgaXQgZ2V0cyBpZ25vcmVkKSwgYW5kIHVwZGF0
ZWQgcmVzdWx0cworICAgICAgICB0byBkcmFnLWFuZC1kcm9wIGJlY2F1c2UgaXQgdXNlcyBhIGR1
bW15IHZhbHVlLgorCisgICAgICAgICogZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZl
Y3RBbGxvd2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvYm9n
dXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2RyYWctYW5kLWRyb3AuaHRtbDoKKwogMjAxMC0wMS0xMyAgRHVtaXRydSBEYW5pbGl1YyAgPGR1
bWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxs
b3dlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
Ym9ndXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxsb3dl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTYgQEAKK1RoaXMgdGVzdCBj
aGVja3MgdGhhdCBlZmZlY3RBbGxvd2VkIGFuZCBkcm9wRWZmZWN0IGNhbm5vdCBiZSBzZXQgdG8g
dmFsdWVzIHRoYXQgYXJlbid0IGRlZmluZWQgaW4gdGhlIHNwZWMKKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMg
ImFsbCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHkiCitQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5IgorUEFTUyBldmVu
dC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29weUxpbmsiCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TGluayIKK1BBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHlNb3ZlIgorUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29weU1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxs
b3dlZCBpcyAibGlua01vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2Vk
IGlzICJtb3ZlIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAibm9u
ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6
ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxp
emVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFs
aXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlh
bGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRp
YWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5Igor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zl
ci5kcm9wRWZmZWN0IGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUi
CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVu
dC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZm
ZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9u
ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2
ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BF
ZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJj
b3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJv
cEVmZmVjdCBpcyAibGluayIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
Im1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5k
cm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBp
cyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYm9ndXMtZHJv
cEVmZmVjdC1lZmZlY3RBbGxvd2VkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93
ZWQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNDYgQEAKKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KKyNkcm9wVGFyZ2V0LCAjZHJhZ01lIHsgdGV4dC1hbGlnbjogY2VudGVy
OyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIH0KKyNkcm9wVGFy
Z2V0IHt3aWR0aDogMjU2cHg7IGhlaWdodDogMjU2cHg7IGJvcmRlcjogMXB4IGRhc2hlZH0KKyNk
cmFnTWUgey13ZWJraXQtdXNlci1kcmFnOiBlbGVtZW50OyAtd2Via2l0LXVzZXItc2VsZWN0OiBu
b25lOyBiYWNrZ3JvdW5kOiAjZmYwMDAwOyB3aWR0aDogNjRweDsgaGVpZ2h0OiA2NHB4OyBjb2xv
cjogd2hpdGV9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgICB2YXIgZHJhZ01lOworICAgIHZhciBk
cm9wVGFyZ2V0OworICAgIHZhciBlZmZlY3RBbGxvd2VkRWxlbTsKKyAgICB2YXIgZHJvcEVmZmVj
dEVsZW07CisgICAgdmFyIGNvbnNvbGVFbG07CisgICAgdmFyIGV2ZW50OworICAgIAorICAgIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCisgICAgeworICAgICAgICBkcmFnTWUgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZHJhZ01lIik7CisgICAgICAgIGRyb3BUYXJnZXQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZHJvcFRhcmdldCIpOworICAgICAgICBjb25zb2xlRWxtID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICAgICAgCisgICAgICAgIGlmICgh
ZHJhZ01lIHx8ICFkcm9wVGFyZ2V0IHx8ICFjb25zb2xlRWxtKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAKKyAgICAgICAgZHJhZ01lLm9uZHJhZ3N0YXJ0ID0gZHJhZ1N0YXJ0OworICAg
ICAgICBkcmFnTWUub25kcmFnZW5kID0gZHJhZ0VuZDsKKyAgICAgICAgCisgICAgICAgIGRyb3BU
YXJnZXQub25kcmFnZW50ZXIgPSBkcmFnRW50ZXJlZDsKKyAgICAgICAgZHJvcFRhcmdldC5vbmRy
YWdvdmVyID0gZHJhZ092ZXI7CisgICAgICAgIGRyb3BUYXJnZXQub25kcm9wID0gZHJvcDsKKyAg
ICAgICAgCisgICAgICAgIHJ1blRlc3QoKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gZHJh
Z1N0YXJ0KGUpCisgICAgeworICAgICAgICB2YXIgdmFsaWRFZmZlY3RBbGxvd2VkTGlzdCA9IFsi
YWxsIiwgImNvcHkiLCAiY29weUxpbmsiLCAiY29weU1vdmUiLCAibGluayIsICJsaW5rTW92ZSIs
ICJtb3ZlIiwgIm5vbmUiLCAidW5pbml0aWFsaXplZCJdOworICAgICAgICB2YXIgZWZmZWN0QWxs
b3dlZExpc3RUb1Rlc3QgPSBbImFsbCIsICJjb3B5IiwgImJvZ3VzIiwgImNvcHlMaW5rIiwgIndy
b25nIiwgImNvcHlNb3ZlIiwgImxpbmtDb3B5TW92ZSIsICJsaW5rIiwKKyAgICAgICAgICAgICJs
aW5rTW92ZSIsICJtb3ZlIiwgIm5vbmUiLCAidW5pbml0aWFsaXplZCIsICJkdW1teSIsICJib2d1
cyIsICJmYWtlIiwgImlsbGVnYWwiXTsKKyAgICAgICAgCisgICAgICAgIGV2ZW50ID0gZTsKKyAg
ICAgICAgCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWZmZWN0QWxsb3dlZExpc3RUb1Rl
c3QubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBlZmZlY3RBbGxvd2VkQmVmb3JlID0g
ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZDsKKyAgICAgICAgICAgIGUuZGF0YVRyYW5zZmVy
LmVmZmVjdEFsbG93ZWQgPSBlZmZlY3RBbGxvd2VkTGlzdFRvVGVzdFtpXTsKKyAgICAgICAgICAg
IGlmICh2YWxpZEVmZmVjdEFsbG93ZWRMaXN0LmluZGV4T2YoZWZmZWN0QWxsb3dlZExpc3RUb1Rl
c3RbaV0pICE9IC0xKQorICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZl
bnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQiLCBlZmZlY3RBbGxvd2VkTGlzdFRvVGVzdFtp
XSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCIsIGVmZmVjdEFsbG93ZWRCZWZv
cmUpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBlLmRhdGFUcmFuc2Zlci5zZXREYXRh
KCdUZXh0JywgZS50YXJnZXQudGV4dENvbnRlbnQpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlv
biBkcmFnRW5kKGUpCisgICAgeworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIGZ1
bmN0aW9uIGRyYWdFbnRlcmVkKGUpCisgICAgeworICAgICAgICBkcmFnRW50ZXJlZEFuZFVwZGF0
ZWQoZSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRyYWdPdmVyKGUpCisgICAgeworICAg
ICAgICBkcmFnRW50ZXJlZEFuZFVwZGF0ZWQoZSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9u
IGRyYWdFbnRlcmVkQW5kVXBkYXRlZChlKQorICAgIHsKKyAgICAgICAgdmFyIHZhbGlkRHJvcEVm
ZmVjdExpc3QgPSBbIm5vbmUiLCAiY29weSIsICJsaW5rIiwgIm1vdmUiLCAibGluayJdOworICAg
ICAgICB2YXIgZHJvcEVmZmVjdExpc3RUb1Rlc3QgPSBbImFsbCIsICJjb3B5IiwgImJvZ3VzIiwg
ImNvcHlMaW5rIiwgIndyb25nIiwgImNvcHlNb3ZlIiwgImxpbmtDb3B5TW92ZSIsICJsaW5rIiwK
KyAgICAgICAgICAgICJsaW5rTW92ZSIsICJtb3ZlIiwgIm5vbmUiLCAidW5pbml0aWFsaXplZCIs
ICJkdW1teSIsICJib2d1cyIsICJmYWtlIiwgImlsbGVnYWwiXTsKKyAgICAgICAgCisgICAgICAg
IGV2ZW50ID0gZTsKKyAgICAgICAgCisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZHJvcEVm
ZmVjdExpc3RUb1Rlc3QubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBkcm9wRWZmZWN0
QmVmb3JlID0gZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdDsKKyAgICAgICAgICAgIGUuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgPSBkcm9wRWZmZWN0TGlzdFRvVGVzdFtpXTsKKworICAgICAgICAg
ICAgaWYgKHZhbGlkRHJvcEVmZmVjdExpc3QuaW5kZXhPZihkcm9wRWZmZWN0TGlzdFRvVGVzdFtp
XSkgIT0gLTEpCisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCIsIGRyb3BFZmZlY3RMaXN0VG9UZXN0W2ldKTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IiwgZHJvcEVmZmVjdEJlZm9yZSk7CisKKyAgICAgICAg
fQorCisgICAgICAgIGNhbmNlbERyYWcoZSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRy
b3AoZSkKKyAgICB7CisgICAgICAgIGNhbmNlbERyYWcoZSk7CisgICAgfQorICAgIAorICAgIGZ1
bmN0aW9uIGNhbmNlbERyYWcoZSkKKyAgICB7CisgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICB7CisgICAgICAgIGlmICghd2lu
ZG93LmV2ZW50U2VuZGVyKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAg
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAKKyAgICAgICAgdmFyIHN0
YXJ0WCA9IGRyYWdNZS5vZmZzZXRMZWZ0ICsgMTA7CisgICAgICAgIHZhciBzdGFydFkgPSBkcmFn
TWUub2Zmc2V0VG9wICsgZHJhZ01lLm9mZnNldEhlaWdodCAvIDI7CisgICAgICAgIHZhciBlbmRY
ID0gZHJvcFRhcmdldC5vZmZzZXRMZWZ0ICsgMTA7CisgICAgICAgIHZhciBlbmRZID0gZHJvcFRh
cmdldC5vZmZzZXRUb3AgKyBkcm9wVGFyZ2V0Lm9mZnNldEhlaWdodCAvIDI7CisgICAgICAgIAor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAg
IGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2Fy
ZCgxMDApOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbmRYLCBlbmRZKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworCisgICAgICAgIHZhciB0ZXN0Q29udGFpbmVy
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QtY29udGFpbmVyIik7CisgICAgICAgIGlm
ICh0ZXN0Q29udGFpbmVyKQorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0
ZXN0Q29udGFpbmVyKTsKKyAgICAgICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNzIj5U
RVNUIENPTVBMRVRFPC9zcGFuPicpOworICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
CisgICAgPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CisgICAgPGRpdiBpZD0idGVzdC1jb250YWlu
ZXIiPgorICAgICAgICA8YnIvPjxici8+CisgICAgICAgIDxkaXYgaWQ9ImRyb3BUYXJnZXQiPkRy
b3AgdGhlIHJlZCBzcXVhcmUgb250byBtZS48YnIvPjxici8+PC9kaXY+CisgICAgICAgIDxoci8+
CisgICAgICAgIDxwPkl0ZW1zIHRoYXQgY2FuIGJlIGRyYWdnZWQgdG8gdGhlIGRyb3AgdGFyZ2V0
OjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZHJhZ01lIiBkcmFnZ2FibGU9InRydWUiPlNxdWFyZTwv
ZGl2PgorICAgICAgICA8aHIvPgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgZWZmZWN0QWxsb3dlZCBhbmQgZHJvcEVmZmVjdCBjYW5ub3QgYmUgc2V0IHRvIHZhbHVl
cyB0aGF0IGFyZW4ndCBkZWZpbmVkIGluIHRoZSBzcGVjIik7CisgICAgICAgIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDUzMjEwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1h
bmQtZHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTkyLDEwICs5MiwxNSBAQCBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJuCiAKIFdoZW4gZWZmZWN0QWxs
b3dlZCA9PSAiZHVtbXkiCiAKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQg
aXMgInVuaW5pdGlhbGl6ZWQiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlz
ICJub25lIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKLVBB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCi1QQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxv
d2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVu
aW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5r
IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXpl
ZCIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiAKIFRFU1Qg
Q09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLmh0
bWwJKHJldmlzaW9uIDUzMjEwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQt
ZHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSwxNiBAQAogICAgICAgICAgICAg
Y2hvc2VuRWZmZWN0QWxsb3dlZCA9ICJ1bmluaXRpYWxpemVkIjsKICAgICAgICAgfQogICAgICAg
ICAKKyAgICAgICAgaWYgKGNob3NlbkVmZmVjdEFsbG93ZWQgPT09ICJkdW1teSIpIHsKKyAgICAg
ICAgICAgIC8vIElmIGEgYmFkIGVmZmVjdEFsbG93ZWQgaXMgYXR0ZW1wdGVkIHRvIGJlIHNldCwg
aXQgc2hvdWxkIG5ldmVyIGJlIHNldCwgYW5kIHRoZQorICAgICAgICAgICAgLy8gZWZmZWN0QWxs
b3dlZCBzaG91bGQgYmUgdW5pbml0aWFsaXplZC4KKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQiLCAidW5pbml0aWFsaXpl
ZCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBUaGVuIHNldCB0aGUgY2hvc2VuRWZm
ZWN0QWxsb3dlZCBzbyBpc0Ryb3BFZmZlY3RBbGxvd2VkIG1hdGNoZXMgdGhlIEhUTUw1IHNwZWMs
IGFuZAorICAgICAgICAgICAgLy8gZG9lc24ndCBuZWVkIHNwZWNpYWwgY2FzZXMgZm9yIHVuZGVm
aW5lZC4KKyAgICAgICAgICAgIGNob3NlbkVmZmVjdEFsbG93ZWQgPSAidW5pbml0aWFsaXplZCI7
CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmIChpc0Ryb3BFZmZlY3RBbGxvd2VkKGNo
b3NlbkRyb3BFZmZlY3QsIGNob3NlbkVmZmVjdEFsbG93ZWQpKQogICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcsIGRyb3BFZmZl
Y3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUpOwogICAg
ICAgICBlbHNlCg==
</data>
<flag name="commit-queue"
          id="28806"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46526</attachid>
            <date>2010-01-13 16:34:09 -0800</date>
            <delta_ts>2010-01-14 11:49:09 -0800</delta_ts>
            <desc>[PATCH] Fix without breaking Mac</desc>
            <filename>no_bogus_values.patch</filename>
            <type>text/plain</type>
            <size>13923</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzIxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDEtMTMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtEbkRdIGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgY2FuIGJlIHNldCB0byBib2d1
cyB2YWx1ZXMuCisgICAgICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM2MzU+LgorICAgICAgICAKKyAgICAgICAgVGVzdCB0byBtYWtlIGF1cmUgZHJv
cEVmZmVjdCBhbmQgZWZmZWN0QWxsb3dlZCBhcmUgYmVpbmcgc2V0IHRvIHZhbGlkIHZhbHVlcwor
ICAgICAgICB3aGVuIHRoZXkgYXJlIGJlaW5nIHNldCAobGlzdCBvZiB2YWxpZCB2YWx1ZXMgZ2l2
ZW4gYnkgSFRNTDUgc3BlY2lmaWNhdGlvbikuCisgICAgICAgIAorICAgICAgICBBbHNvLCBkcml2
ZSBieSBjaGFuZ2UgdG8gaW5pdGlhbGl6ZSBkcm9wRWZmZWN0IHRvIG5vbmUgKGFzIGRlc2NyaWJl
ZCBpbiBzcGVjKS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0
LWVmZmVjdEFsbG93ZWQuaHRtbAorCisgICAgICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBib2FyZCk6IEluaXRpYWxpemUgbV9kcm9wRWZm
ZWN0IHRvICJub25lIi4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2V0RHJvcEVmZmVj
dCk6IENoZWNrIGlmIGRyb3BFZmZlY3QgaXMgYmVpbmcgc2V0IHRvIGEgdmFsaWQgdmFsdWUuCisg
ICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNldEVmZmVjdEFsbG93ZWQpOiBDaGVjayBpZiBl
ZmZlY3RBbGxvd2VkIGlzIGJlaW5nIHNldCB0byBhIHZhbGlkIHZhbHVlLgorCiAyMDEwLTAxLTEz
ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhbiBCZXJuc3RlaW4uCkluZGV4OiBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAJKHJldmlzaW9uIDUzMjEwKQor
KysgV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUs
OCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDbGlwYm9hcmQ6OkNsaXBib2FyZChDbGlwYm9h
cmRBY2Nlc3NQb2xpY3kgcG9saWN5LCBib29sIGlzRm9yRHJhZ2dpbmcpIAotICAgIDogbV9wb2xp
Y3kocG9saWN5KSAKKyAgICA6IG1fcG9saWN5KHBvbGljeSkKKyAgICAsIG1fZHJvcEVmZmVjdCgi
bm9uZSIpCiAgICAgLCBtX2VmZmVjdEFsbG93ZWQoInVuaW5pdGlhbGl6ZWQiKQogICAgICwgbV9k
cmFnU3RhcnRlZChmYWxzZSkKICAgICAsIG1fZm9yRHJhZ2dpbmcoaXNGb3JEcmFnZ2luZykKQEAg
LTEzMCw2ICsxMzEsMTAgQEAgdm9pZCBDbGlwYm9hcmQ6OnNldERyb3BFZmZlY3QoY29uc3QgU3Ry
aQogICAgIGlmICghbV9mb3JEcmFnZ2luZykKICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gVGhl
IGF0dHJpYnV0ZSBtdXN0IGlnbm9yZSBhbnkgYXR0ZW1wdHMgdG8gc2V0IGl0IHRvIGEgdmFsdWUg
b3RoZXIgdGhhbiBub25lLCBjb3B5LCBsaW5rLCBhbmQgbW92ZS4gCisgICAgaWYgKGVmZmVjdCAh
PSAibm9uZSIgJiYgZWZmZWN0ICE9ICJjb3B5IiAgJiYgZWZmZWN0ICE9ICJsaW5rIiAmJiBlZmZl
Y3QgIT0gIm1vdmUiKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAobV9wb2xpY3kgPT0gQ2xp
cGJvYXJkUmVhZGFibGUgfHwgbV9wb2xpY3kgPT0gQ2xpcGJvYXJkVHlwZXNSZWFkYWJsZSkKICAg
ICAgICAgbV9kcm9wRWZmZWN0ID0gZWZmZWN0OwogfQpAQCAtMTM5LDYgKzE0NCwxNyBAQCB2b2lk
IENsaXBib2FyZDo6c2V0RWZmZWN0QWxsb3dlZChjb25zdCBTCiAgICAgaWYgKCFtX2ZvckRyYWdn
aW5nKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoZHJhZ09wRnJvbUlFT3AoZWZmZWN0KSA9
PSBEcmFnT3BlcmF0aW9uUHJpdmF0ZSkgeworICAgICAgICAvLyBUaGlzIG1lYW5zIHRoYXQgdGhl
cmUgd2FzIG5vIGNvbnZlcnNpb24sIGFuZCB0aGUgZWZmZWN0QWxsb3dlZCB0aGF0CisgICAgICAg
IC8vIHdlIGFyZSBwYXNzZWQgaXNuJ3QgYSB2YWxpZCBlZmZlY3RBbGxvd2VkLCBzbyB3ZSBzaG91
bGQgaWdub3JlIGl0LAorICAgICAgICAvLyBhbmQgbm90IHNldCBtX2VmZmVjdEFsbG93ZWQuCisK
KyAgICAgICAgLy8gVGhlIGF0dHJpYnV0ZSBtdXN0IGlnbm9yZSBhbnkgYXR0ZW1wdHMgdG8gc2V0
IGl0IHRvIGEgdmFsdWUgb3RoZXIgdGhhbiAKKyAgICAgICAgLy8gbm9uZSwgY29weSwgY29weUxp
bmssIGNvcHlNb3ZlLCBsaW5rLCBsaW5rTW92ZSwgbW92ZSwgYWxsLCBhbmQgdW5pbml0aWFsaXpl
ZC4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworCiAgICAgaWYgKG1fcG9saWN5ID09IENsaXBi
b2FyZFdyaXRhYmxlKQogICAgICAgICBtX2VmZmVjdEFsbG93ZWQgPSBlZmZlY3Q7CiB9CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA1MzIxNCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTAxLTEzICBCcmlhbiBXZWluc3RlaW4gIDxid2Vp
bnN0ZWluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBbRG5EXSBlZmZlY3RBbGxvd2VkIGFuZCBkcm9wRWZmZWN0IGNhbiBiZSBzZXQg
dG8gYm9ndXMgdmFsdWVzLgorICAgICAgICBGaXhlcyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTMzNjM1Pi4KKyAgICAgICAgCisgICAgICAgIEFkZGVkIGEgdGVzdCB0
byBjaGVjayB0aGUgaGFuZGxpbmcgb2Ygc2V0dGluZyBlZmZlY3RBbGxvd2VkIGFuZAorICAgICAg
ICBkcm9wRWZmZWN0IHRvIGJvZ3VzIHZhbHVlcyAodGhhdCBpdCBnZXRzIGlnbm9yZWQpLCBhbmQg
dXBkYXRlZCByZXN1bHRzCisgICAgICAgIHRvIGRyYWctYW5kLWRyb3AgYmVjYXVzZSBpdCB1c2Vz
IGEgZHVtbXkgdmFsdWUuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0
LWVmZmVjdEFsbG93ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9l
dmVudHMvZHJhZy1hbmQtZHJvcC5odG1sOgorCiAyMDEwLTAxLTEzICBEdW1pdHJ1IERhbmlsaXVj
ICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6
a292LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZl
Y3RBbGxvd2VkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZlY3RB
bGxvd2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NiBAQAorVGhpcyB0
ZXN0IGNoZWNrcyB0aGF0IGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgY2Fubm90IGJlIHNl
dCB0byB2YWx1ZXMgdGhhdCBhcmVuJ3QgZGVmaW5lZCBpbiB0aGUgc3BlYworCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dl
ZCBpcyAiYWxsIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29w
eSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHkiCitQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TGluayIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHlMaW5rIgorUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29weU1vdmUiCitQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmVmZmVjdEFsbG93ZWQgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZl
Y3RBbGxvd2VkIGlzICJsaW5rTW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFs
bG93ZWQgaXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlz
ICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0
aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVuaW5p
dGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmlu
aXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5p
bml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVu
aW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25l
IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVm
ZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNv
cHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIKK1BBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJtb3ZlIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
bm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRy
b3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlz
ICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5Igor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zl
ci5kcm9wRWZmZWN0IGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUi
CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVu
dC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZm
ZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9u
ZSIKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ib2d1
cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0
QWxsb3dlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0NiBAQAorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHN0eWxlPgorI2Ryb3BUYXJnZXQsICNkcmFnTWUgeyB0ZXh0LWFsaWduOiBj
ZW50ZXI7IGRpc3BsYXk6IHRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgfQorI2Ry
b3BUYXJnZXQge3dpZHRoOiAyNTZweDsgaGVpZ2h0OiAyNTZweDsgYm9yZGVyOiAxcHggZGFzaGVk
fQorI2RyYWdNZSB7LXdlYmtpdC11c2VyLWRyYWc6IGVsZW1lbnQ7IC13ZWJraXQtdXNlci1zZWxl
Y3Q6IG5vbmU7IGJhY2tncm91bmQ6ICNmZjAwMDA7IHdpZHRoOiA2NHB4OyBoZWlnaHQ6IDY0cHg7
IGNvbG9yOiB3aGl0ZX0KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIHZhciBkcmFnTWU7CisgICAg
dmFyIGRyb3BUYXJnZXQ7CisgICAgdmFyIGVmZmVjdEFsbG93ZWRFbGVtOworICAgIHZhciBkcm9w
RWZmZWN0RWxlbTsKKyAgICB2YXIgY29uc29sZUVsbTsKKyAgICB2YXIgZXZlbnQ7CisgICAgCisg
ICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGRyYWdNZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcmFnTWUiKTsKKyAgICAgICAgZHJvcFRhcmdldCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcm9wVGFyZ2V0Iik7CisgICAgICAgIGNvbnNvbGVFbG0g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgICAgICAKKyAgICAgICAg
aWYgKCFkcmFnTWUgfHwgIWRyb3BUYXJnZXQgfHwgIWNvbnNvbGVFbG0pCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIAorICAgICAgICBkcmFnTWUub25kcmFnc3RhcnQgPSBkcmFnU3RhcnQ7
CisgICAgICAgIGRyYWdNZS5vbmRyYWdlbmQgPSBkcmFnRW5kOworICAgICAgICAKKyAgICAgICAg
ZHJvcFRhcmdldC5vbmRyYWdlbnRlciA9IGRyYWdFbnRlcmVkOworICAgICAgICBkcm9wVGFyZ2V0
Lm9uZHJhZ292ZXIgPSBkcmFnT3ZlcjsKKyAgICAgICAgZHJvcFRhcmdldC5vbmRyb3AgPSBkcm9w
OworICAgICAgICAKKyAgICAgICAgcnVuVGVzdCgpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlv
biBkcmFnU3RhcnQoZSkKKyAgICB7CisgICAgICAgIHZhciB2YWxpZEVmZmVjdEFsbG93ZWRMaXN0
ID0gWyJhbGwiLCAiY29weSIsICJjb3B5TGluayIsICJjb3B5TW92ZSIsICJsaW5rIiwgImxpbmtN
b3ZlIiwgIm1vdmUiLCAibm9uZSIsICJ1bmluaXRpYWxpemVkIl07CisgICAgICAgIHZhciBlZmZl
Y3RBbGxvd2VkTGlzdFRvVGVzdCA9IFsiYWxsIiwgImNvcHkiLCAiYm9ndXMiLCAiY29weUxpbmsi
LCAid3JvbmciLCAiY29weU1vdmUiLCAibGlua0NvcHlNb3ZlIiwgImxpbmsiLAorICAgICAgICAg
ICAgImxpbmtNb3ZlIiwgIm1vdmUiLCAibm9uZSIsICJ1bmluaXRpYWxpemVkIiwgImR1bW15Iiwg
ImJvZ3VzIiwgImZha2UiLCAiaWxsZWdhbCJdOworICAgICAgICAKKyAgICAgICAgZXZlbnQgPSBl
OworICAgICAgICAKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlZmZlY3RBbGxvd2VkTGlz
dFRvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGVmZmVjdEFsbG93ZWRCZWZv
cmUgPSBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkOworICAgICAgICAgICAgZS5kYXRhVHJh
bnNmZXIuZWZmZWN0QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWRMaXN0VG9UZXN0W2ldOworICAgICAg
ICAgICAgaWYgKHZhbGlkRWZmZWN0QWxsb3dlZExpc3QuaW5kZXhPZihlZmZlY3RBbGxvd2VkTGlz
dFRvVGVzdFtpXSkgIT0gLTEpCisgICAgICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCIsIGVmZmVjdEFsbG93ZWRMaXN0VG9U
ZXN0W2ldKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIiwgZWZmZWN0QWxsb3dl
ZEJlZm9yZSk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGUuZGF0YVRyYW5zZmVyLnNl
dERhdGEoJ1RleHQnLCBlLnRhcmdldC50ZXh0Q29udGVudCk7CisgICAgfQorICAgIAorICAgIGZ1
bmN0aW9uIGRyYWdFbmQoZSkKKyAgICB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisg
ICAgZnVuY3Rpb24gZHJhZ0VudGVyZWQoZSkKKyAgICB7CisgICAgICAgIGRyYWdFbnRlcmVkQW5k
VXBkYXRlZChlKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gZHJhZ092ZXIoZSkKKyAgICB7
CisgICAgICAgIGRyYWdFbnRlcmVkQW5kVXBkYXRlZChlKTsKKyAgICB9CisgICAgCisgICAgZnVu
Y3Rpb24gZHJhZ0VudGVyZWRBbmRVcGRhdGVkKGUpCisgICAgeworICAgICAgICB2YXIgdmFsaWRE
cm9wRWZmZWN0TGlzdCA9IFsibm9uZSIsICJjb3B5IiwgImxpbmsiLCAibW92ZSIsICJsaW5rIl07
CisgICAgICAgIHZhciBkcm9wRWZmZWN0TGlzdFRvVGVzdCA9IFsiYWxsIiwgImNvcHkiLCAiYm9n
dXMiLCAiY29weUxpbmsiLCAid3JvbmciLCAiY29weU1vdmUiLCAibGlua0NvcHlNb3ZlIiwgImxp
bmsiLAorICAgICAgICAgICAgImxpbmtNb3ZlIiwgIm1vdmUiLCAibm9uZSIsICJ1bmluaXRpYWxp
emVkIiwgImR1bW15IiwgImJvZ3VzIiwgImZha2UiLCAiaWxsZWdhbCJdOworICAgICAgICAKKyAg
ICAgICAgZXZlbnQgPSBlOworICAgICAgICAKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBk
cm9wRWZmZWN0TGlzdFRvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGRyb3BF
ZmZlY3RCZWZvcmUgPSBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0OworICAgICAgICAgICAgZS5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IGRyb3BFZmZlY3RMaXN0VG9UZXN0W2ldOworCisgICAg
ICAgICAgICBpZiAodmFsaWREcm9wRWZmZWN0TGlzdC5pbmRleE9mKGRyb3BFZmZlY3RMaXN0VG9U
ZXN0W2ldKSAhPSAtMSkKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2
ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IiwgZHJvcEVmZmVjdExpc3RUb1Rlc3RbaV0pOwor
ICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QiLCBkcm9wRWZmZWN0QmVmb3JlKTsKKworICAg
ICAgICB9CisKKyAgICAgICAgY2FuY2VsRHJhZyhlKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rp
b24gZHJvcChlKQorICAgIHsKKyAgICAgICAgY2FuY2VsRHJhZyhlKTsKKyAgICB9CisgICAgCisg
ICAgZnVuY3Rpb24gY2FuY2VsRHJhZyhlKQorICAgIHsKKyAgICAgICAgZS5wcmV2ZW50RGVmYXVs
dCgpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQorICAgIHsKKyAgICAgICAgaWYg
KCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAK
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIAorICAgICAgICB2
YXIgc3RhcnRYID0gZHJhZ01lLm9mZnNldExlZnQgKyAxMDsKKyAgICAgICAgdmFyIHN0YXJ0WSA9
IGRyYWdNZS5vZmZzZXRUb3AgKyBkcmFnTWUub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAgICAgdmFy
IGVuZFggPSBkcm9wVGFyZ2V0Lm9mZnNldExlZnQgKyAxMDsKKyAgICAgICAgdmFyIGVuZFkgPSBk
cm9wVGFyZ2V0Lm9mZnNldFRvcCArIGRyb3BUYXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICAg
ICAgCisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0WCwgc3RhcnRZKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgIGV2ZW50U2VuZGVyLmxlYXBG
b3J3YXJkKDEwMCk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGVuZFgsIGVuZFkp
OworICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisKKyAgICAgICAgdmFyIHRlc3RDb250
YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdC1jb250YWluZXIiKTsKKyAgICAg
ICAgaWYgKHRlc3RDb250YWluZXIpCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNo
aWxkKHRlc3RDb250YWluZXIpOworICAgICAgICBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xhc3M9InBh
c3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CisgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8ZGl2IGlkPSJ0ZXN0LWNv
bnRhaW5lciI+CisgICAgICAgIDxici8+PGJyLz4KKyAgICAgICAgPGRpdiBpZD0iZHJvcFRhcmdl
dCI+RHJvcCB0aGUgcmVkIHNxdWFyZSBvbnRvIG1lLjxici8+PGJyLz48L2Rpdj4KKyAgICAgICAg
PGhyLz4KKyAgICAgICAgPHA+SXRlbXMgdGhhdCBjYW4gYmUgZHJhZ2dlZCB0byB0aGUgZHJvcCB0
YXJnZXQ6PC9wPgorICAgICAgICA8ZGl2IGlkPSJkcmFnTWUiIGRyYWdnYWJsZT0idHJ1ZSI+U3F1
YXJlPC9kaXY+CisgICAgICAgIDxoci8+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBj
aGVja3MgdGhhdCBlZmZlY3RBbGxvd2VkIGFuZCBkcm9wRWZmZWN0IGNhbm5vdCBiZSBzZXQgdG8g
dmFsdWVzIHRoYXQgYXJlbid0IGRlZmluZWQgaW4gdGhlIHNwZWMiKTsKKyAgICAgICAgdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNTMyMTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
cmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOTIsMTAgKzkyLDE1
IEBAIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm4KIAogV2hlbiBlZmZl
Y3RBbGxvd2VkID09ICJkdW1teSIKIAorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxs
b3dlZCBpcyAidW5pbml0aWFsaXplZCIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgIm5vbmUiCi1QQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25l
IgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKLVBBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVj
dEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJtb3ZlIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBp
cyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMg
ImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRp
YWxpemVkIgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKIAog
VEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJv
cC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRy
b3AuaHRtbAkocmV2aXNpb24gNTMyMTApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFn
LWFuZC1kcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTk5LDYgKzk5LDE2IEBACiAgICAgICAg
ICAgICBjaG9zZW5FZmZlY3RBbGxvd2VkID0gInVuaW5pdGlhbGl6ZWQiOwogICAgICAgICB9CiAg
ICAgICAgIAorICAgICAgICBpZiAoY2hvc2VuRWZmZWN0QWxsb3dlZCA9PT0gImR1bW15Iikgewor
ICAgICAgICAgICAgLy8gSWYgYSBiYWQgZWZmZWN0QWxsb3dlZCBpcyBhdHRlbXB0ZWQgdG8gYmUg
c2V0LCBpdCBzaG91bGQgbmV2ZXIgYmUgc2V0LCBhbmQgdGhlCisgICAgICAgICAgICAvLyBlZmZl
Y3RBbGxvd2VkIHNob3VsZCBiZSB1bmluaXRpYWxpemVkLgorICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCIsICJ1bmluaXRp
YWxpemVkIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIFRoZW4gc2V0IHRoZSBjaG9z
ZW5FZmZlY3RBbGxvd2VkIHNvIGlzRHJvcEVmZmVjdEFsbG93ZWQgbWF0Y2hlcyB0aGUgSFRNTDUg
c3BlYywgYW5kCisgICAgICAgICAgICAvLyBkb2Vzbid0IG5lZWQgc3BlY2lhbCBjYXNlcyBmb3Ig
dW5kZWZpbmVkLgorICAgICAgICAgICAgY2hvc2VuRWZmZWN0QWxsb3dlZCA9ICJ1bmluaXRpYWxp
emVkIjsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgaWYgKGlzRHJvcEVmZmVjdEFsbG93
ZWQoY2hvc2VuRHJvcEVmZmVjdCwgY2hvc2VuRWZmZWN0QWxsb3dlZCkpCiAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2V2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0JywgZHJv
cEVmZmVjdEVsZW0ub3B0aW9uc1tkcm9wRWZmZWN0RWxlbS5zZWxlY3RlZEluZGV4XS52YWx1ZSk7
CiAgICAgICAgIGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46591</attachid>
            <date>2010-01-14 11:49:09 -0800</date>
            <delta_ts>2010-01-14 13:06:26 -0800</delta_ts>
            <desc>[PATCH] Fix + Fixed Layout Tests</desc>
            <filename>drag_and_drop_layout_tests_fixed.patch</filename>
            <type>text/plain</type>
            <size>20396</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzIwMykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTAtMDEtMTQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFtEbkRdIGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgY2FuIGJlIHNldCB0byBib2d1
cyB2YWx1ZXMuCisgICAgICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzM2MzU+LgorICAgICAgICAKKyAgICAgICAgVGVzdCB0byBtYWtlIGF1cmUgZHJv
cEVmZmVjdCBhbmQgZWZmZWN0QWxsb3dlZCBhcmUgYmVpbmcgc2V0IHRvIHZhbGlkIHZhbHVlcwor
ICAgICAgICB3aGVuIHRoZXkgYXJlIGJlaW5nIHNldCAobGlzdCBvZiB2YWxpZCB2YWx1ZXMgZ2l2
ZW4gYnkgSFRNTDUgc3BlY2lmaWNhdGlvbikuCisgICAgICAgIAorICAgICAgICBBbHNvLCBkcml2
ZSBieSBjaGFuZ2UgdG8gaW5pdGlhbGl6ZSBkcm9wRWZmZWN0IHRvIG5vbmUgKGFzIGRlc2NyaWJl
ZCBpbiBzcGVjKS4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0
LWVmZmVjdEFsbG93ZWQuaHRtbAorCisgICAgICAgICogZG9tL0NsaXBib2FyZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OkNsaXBib2FyZCk6IEluaXRpYWxpemUgbV9kcm9wRWZm
ZWN0IHRvICJub25lIi4KKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6c2V0RHJvcEVmZmVj
dCk6IENoZWNrIGlmIGRyb3BFZmZlY3QgaXMgYmVpbmcgc2V0IHRvIGEgdmFsaWQgdmFsdWUuCisg
ICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OnNldEVmZmVjdEFsbG93ZWQpOiBDaGVjayBpZiBl
ZmZlY3RBbGxvd2VkIGlzIGJlaW5nIHNldCB0byBhIHZhbGlkIHZhbHVlLgorCiAyMDEwLTAxLTEz
ICBCcmlhbiBXZWluc3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCShyZXZpc2lvbiA1MzI3MikKKysr
IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDgg
QEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ2xpcGJvYXJkOjpDbGlwYm9hcmQoQ2xpcGJvYXJk
QWNjZXNzUG9saWN5IHBvbGljeSwgYm9vbCBpc0ZvckRyYWdnaW5nKSAKLSAgICA6IG1fcG9saWN5
KHBvbGljeSkgCisgICAgOiBtX3BvbGljeShwb2xpY3kpCisgICAgLCBtX2Ryb3BFZmZlY3QoIm5v
bmUiKQogICAgICwgbV9lZmZlY3RBbGxvd2VkKCJ1bmluaXRpYWxpemVkIikKICAgICAsIG1fZHJh
Z1N0YXJ0ZWQoZmFsc2UpCiAgICAgLCBtX2ZvckRyYWdnaW5nKGlzRm9yRHJhZ2dpbmcpCkBAIC0x
MzAsNiArMTMxLDEwIEBAIHZvaWQgQ2xpcGJvYXJkOjpzZXREcm9wRWZmZWN0KGNvbnN0IFN0cmkK
ICAgICBpZiAoIW1fZm9yRHJhZ2dpbmcpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIFRoZSBh
dHRyaWJ1dGUgbXVzdCBpZ25vcmUgYW55IGF0dGVtcHRzIHRvIHNldCBpdCB0byBhIHZhbHVlIG90
aGVyIHRoYW4gbm9uZSwgY29weSwgbGluaywgYW5kIG1vdmUuIAorICAgIGlmIChlZmZlY3QgIT0g
Im5vbmUiICYmIGVmZmVjdCAhPSAiY29weSIgICYmIGVmZmVjdCAhPSAibGluayIgJiYgZWZmZWN0
ICE9ICJtb3ZlIikKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKG1fcG9saWN5ID09IENsaXBi
b2FyZFJlYWRhYmxlIHx8IG1fcG9saWN5ID09IENsaXBib2FyZFR5cGVzUmVhZGFibGUpCiAgICAg
ICAgIG1fZHJvcEVmZmVjdCA9IGVmZmVjdDsKIH0KQEAgLTEzOSw2ICsxNDQsMTcgQEAgdm9pZCBD
bGlwYm9hcmQ6OnNldEVmZmVjdEFsbG93ZWQoY29uc3QgUwogICAgIGlmICghbV9mb3JEcmFnZ2lu
ZykKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKGRyYWdPcEZyb21JRU9wKGVmZmVjdCkgPT0g
RHJhZ09wZXJhdGlvblByaXZhdGUpIHsKKyAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHRoZXJl
IHdhcyBubyBjb252ZXJzaW9uLCBhbmQgdGhlIGVmZmVjdEFsbG93ZWQgdGhhdAorICAgICAgICAv
LyB3ZSBhcmUgcGFzc2VkIGlzbid0IGEgdmFsaWQgZWZmZWN0QWxsb3dlZCwgc28gd2Ugc2hvdWxk
IGlnbm9yZSBpdCwKKyAgICAgICAgLy8gYW5kIG5vdCBzZXQgbV9lZmZlY3RBbGxvd2VkLgorCisg
ICAgICAgIC8vIFRoZSBhdHRyaWJ1dGUgbXVzdCBpZ25vcmUgYW55IGF0dGVtcHRzIHRvIHNldCBp
dCB0byBhIHZhbHVlIG90aGVyIHRoYW4gCisgICAgICAgIC8vIG5vbmUsIGNvcHksIGNvcHlMaW5r
LCBjb3B5TW92ZSwgbGluaywgbGlua01vdmUsIG1vdmUsIGFsbCwgYW5kIHVuaW5pdGlhbGl6ZWQu
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKwogICAgIGlmIChtX3BvbGljeSA9PSBDbGlwYm9h
cmRXcml0YWJsZSkKICAgICAgICAgbV9lZmZlY3RBbGxvd2VkID0gZWZmZWN0OwogfQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTMyMDMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wMS0xNCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5z
dGVpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgW0RuRF0gZWZmZWN0QWxsb3dlZCBhbmQgZHJvcEVmZmVjdCBjYW4gYmUgc2V0IHRv
IGJvZ3VzIHZhbHVlcy4KKyAgICAgICAgRml4ZXMgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMzYzNT4uCisgICAgICAgIAorICAgICAgICBBZGRlZCBhIHRlc3QgdG8g
Y2hlY2sgdGhlIGhhbmRsaW5nIG9mIHNldHRpbmcgZWZmZWN0QWxsb3dlZCBhbmQKKyAgICAgICAg
ZHJvcEVmZmVjdCB0byBib2d1cyB2YWx1ZXMgKHRoYXQgaXQgZ2V0cyBpZ25vcmVkKSwgYW5kIHVw
ZGF0ZWQgcmVzdWx0cworICAgICAgICB0byBkcmFnLWFuZC1kcm9wIGJlY2F1c2UgaXQgdXNlcyBh
IGR1bW15IHZhbHVlLgorICAgICAgICAKKyAgICAgICAgQWxzbywgZml4ZWQgYSBmZXcgdGVzdHMg
dGhhdCBicm9rZSB3aGVuIHRoZSBkZWZhdWx0IGRyb3BFZmZlY3Qgd2FzIHNldCB0bworICAgICAg
ICBub25lIHRvIG1hdGNoIHRoZSBzcGVjLgorCisgICAgICAgICogZmFzdC9ldmVudHMvYm9ndXMt
ZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVj
dEFsbG93ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0
L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQuaHRtbDogQWRkZWQuCisKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLmh0bWw6CisgICAgICAgICogZWRpdGluZy9wYXN0
ZWJvYXJkL3NjcmlwdC10ZXN0cy9maWxlcy1kdXJpbmctcGFnZS1kcmFncy5qczoKKyAgICAgICAg
KiBlZGl0aW5nL3Bhc3RlYm9hcmQvZ2V0LWRhdGEtdGV4dC1wbGFpbi1kcm9wLmh0bWw6CisgICAg
ICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2RyYWctaW4tZnJhbWVzLXJpZ2h0Lmh0bWw6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1kcmFnZ2VkLWZpbGUuanM6
CisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2J1YmJsZS1kcmFnLWV2ZW50cy5odG1sOgorCiAy
MDEwLTAxLTEzICBCcmlhbiBXZWluc3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9w
YXN0ZWJvYXJkL2dldC1kYXRhLXRleHQtcGxhaW4tZHJvcC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2FyZC9nZXQtZGF0YS10ZXh0LXBsYWluLWRyb3AuaHRt
bAkocmV2aXNpb24gNTMxOTMpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvZ2V0
LWRhdGEtdGV4dC1wbGFpbi1kcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIwLDYgKzIwLDcg
QEAgdmFyIGhhbmRsZURyb3AgPSBmdW5jdGlvbihlKSB7CiB9CiAKIHZhciBoYW5kbGVEcmFnID0g
ZnVuY3Rpb24oZSkgeworICAgIGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAiY29weSI7CiAg
ICAgLy8gQ2FuY2VsIHRoZSBkcmFnLCBzbyB3ZSBnZXQgdGhlIGRyb3AuCiAgICAgZS5wcmV2ZW50
RGVmYXVsdCgpOwogfQpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9wYXN0ZWJvYXJkL3Njcmlw
dC10ZXN0cy9maWxlcy1kdXJpbmctcGFnZS1kcmFncy5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9lZGl0aW5nL3Bhc3RlYm9hcmQvc2NyaXB0LXRlc3RzL2ZpbGVzLWR1cmluZy1wYWdlLWRy
YWdzLmpzCShyZXZpc2lvbiA1MzE5MykKKysrIExheW91dFRlc3RzL2VkaXRpbmcvcGFzdGVib2Fy
ZC9zY3JpcHQtdGVzdHMvZmlsZXMtZHVyaW5nLXBhZ2UtZHJhZ3MuanMJKHdvcmtpbmcgY29weSkK
QEAgLTE0LDYgKzE0LDcgQEAgZHJhZ1RhcmdldC5vbmRyYWdlbnRlciA9IGZ1bmN0aW9uKCkgewog
ICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gImNvcHkiOwogfQogZHJhZ1Rhcmdl
dC5vbmRyYWdvdmVyID0gZnVuY3Rpb24oKSB7CisgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BF
ZmZlY3QgPSAiY29weSI7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKIH0KIGRyYWdUYXJn
ZXQub25kcm9wID0gZnVuY3Rpb24oKSB7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9i
b2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxsb3dlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9ib2d1
cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDU2IEBACitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgZWZmZWN0QWxsb3dlZCBhbmQgZHJv
cEVmZmVjdCBjYW5ub3QgYmUgc2V0IHRvIHZhbHVlcyB0aGF0IGFyZW4ndCBkZWZpbmVkIGluIHRo
ZSBzcGVjCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJhbGwiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxs
b3dlZCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMg
ImNvcHlMaW5rIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29w
eUxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TW92
ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHlNb3ZlIgor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAibGluayIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImxpbmtNb3ZlIgorUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAibW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmVmZmVjdEFsbG93ZWQgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZl
Y3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZm
ZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVm
ZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0
IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIK
K1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5r
IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVm
ZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5v
bmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
Y29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImNvcHkiCitQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRy
b3BFZmZlY3QgaXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlz
ICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIKK1BB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJtb3ZlIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zl
ci5kcm9wRWZmZWN0IGlzICJub25lIgorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxsb3dlZC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0
QWxsb3dlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvYm9n
dXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2VkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MTQ2IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjZHJvcFRhcmdldCwgI2Ry
YWdNZSB7IHRleHQtYWxpZ246IGNlbnRlcjsgZGlzcGxheTogdGFibGUtY2VsbDsgdmVydGljYWwt
YWxpZ246IG1pZGRsZSB9CisjZHJvcFRhcmdldCB7d2lkdGg6IDI1NnB4OyBoZWlnaHQ6IDI1NnB4
OyBib3JkZXI6IDFweCBkYXNoZWR9CisjZHJhZ01lIHstd2Via2l0LXVzZXItZHJhZzogZWxlbWVu
dDsgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgYmFja2dyb3VuZDogI2ZmMDAwMDsgd2lkdGg6
IDY0cHg7IGhlaWdodDogNjRweDsgY29sb3I6IHdoaXRlfQorPC9zdHlsZT4KKzxzY3JpcHQ+Cisg
ICAgdmFyIGRyYWdNZTsKKyAgICB2YXIgZHJvcFRhcmdldDsKKyAgICB2YXIgZWZmZWN0QWxsb3dl
ZEVsZW07CisgICAgdmFyIGRyb3BFZmZlY3RFbGVtOworICAgIHZhciBjb25zb2xlRWxtOworICAg
IHZhciBldmVudDsKKyAgICAKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgZHJhZ01lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyYWdNZSIpOworICAg
ICAgICBkcm9wVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyb3BUYXJnZXQiKTsK
KyAgICAgICAgY29uc29sZUVsbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7
CisgICAgICAgIAorICAgICAgICBpZiAoIWRyYWdNZSB8fCAhZHJvcFRhcmdldCB8fCAhY29uc29s
ZUVsbSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgCisgICAgICAgIGRyYWdNZS5vbmRy
YWdzdGFydCA9IGRyYWdTdGFydDsKKyAgICAgICAgZHJhZ01lLm9uZHJhZ2VuZCA9IGRyYWdFbmQ7
CisgICAgICAgIAorICAgICAgICBkcm9wVGFyZ2V0Lm9uZHJhZ2VudGVyID0gZHJhZ0VudGVyZWQ7
CisgICAgICAgIGRyb3BUYXJnZXQub25kcmFnb3ZlciA9IGRyYWdPdmVyOworICAgICAgICBkcm9w
VGFyZ2V0Lm9uZHJvcCA9IGRyb3A7CisgICAgICAgIAorICAgICAgICBydW5UZXN0KCk7CisgICAg
fQorICAgIAorICAgIGZ1bmN0aW9uIGRyYWdTdGFydChlKQorICAgIHsKKyAgICAgICAgdmFyIHZh
bGlkRWZmZWN0QWxsb3dlZExpc3QgPSBbImFsbCIsICJjb3B5IiwgImNvcHlMaW5rIiwgImNvcHlN
b3ZlIiwgImxpbmsiLCAibGlua01vdmUiLCAibW92ZSIsICJub25lIiwgInVuaW5pdGlhbGl6ZWQi
XTsKKyAgICAgICAgdmFyIGVmZmVjdEFsbG93ZWRMaXN0VG9UZXN0ID0gWyJhbGwiLCAiY29weSIs
ICJib2d1cyIsICJjb3B5TGluayIsICJ3cm9uZyIsICJjb3B5TW92ZSIsICJsaW5rQ29weU1vdmUi
LCAibGluayIsCisgICAgICAgICAgICAibGlua01vdmUiLCAibW92ZSIsICJub25lIiwgInVuaW5p
dGlhbGl6ZWQiLCAiZHVtbXkiLCAiYm9ndXMiLCAiZmFrZSIsICJpbGxlZ2FsIl07CisgICAgICAg
IAorICAgICAgICBldmVudCA9IGU7CisgICAgICAgIAorICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IGVmZmVjdEFsbG93ZWRMaXN0VG9UZXN0Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2
YXIgZWZmZWN0QWxsb3dlZEJlZm9yZSA9IGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ7Cisg
ICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZExp
c3RUb1Rlc3RbaV07CisgICAgICAgICAgICBpZiAodmFsaWRFZmZlY3RBbGxvd2VkTGlzdC5pbmRl
eE9mKGVmZmVjdEFsbG93ZWRMaXN0VG9UZXN0W2ldKSAhPSAtMSkKKyAgICAgICAgICAgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIiwg
ZWZmZWN0QWxsb3dlZExpc3RUb1Rlc3RbaV0pOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFs
bG93ZWQiLCBlZmZlY3RBbGxvd2VkQmVmb3JlKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAg
ICAgZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgnVGV4dCcsIGUudGFyZ2V0LnRleHRDb250ZW50KTsK
KyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gZHJhZ0VuZChlKQorICAgIHsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBkcmFnRW50ZXJlZChlKQorICAgIHsKKyAg
ICAgICAgZHJhZ0VudGVyZWRBbmRVcGRhdGVkKGUpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlv
biBkcmFnT3ZlcihlKQorICAgIHsKKyAgICAgICAgZHJhZ0VudGVyZWRBbmRVcGRhdGVkKGUpOwor
ICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBkcmFnRW50ZXJlZEFuZFVwZGF0ZWQoZSkKKyAgICB7
CisgICAgICAgIHZhciB2YWxpZERyb3BFZmZlY3RMaXN0ID0gWyJub25lIiwgImNvcHkiLCAibGlu
ayIsICJtb3ZlIiwgImxpbmsiXTsKKyAgICAgICAgdmFyIGRyb3BFZmZlY3RMaXN0VG9UZXN0ID0g
WyJhbGwiLCAiY29weSIsICJib2d1cyIsICJjb3B5TGluayIsICJ3cm9uZyIsICJjb3B5TW92ZSIs
ICJsaW5rQ29weU1vdmUiLCAibGluayIsCisgICAgICAgICAgICAibGlua01vdmUiLCAibW92ZSIs
ICJub25lIiwgInVuaW5pdGlhbGl6ZWQiLCAiZHVtbXkiLCAiYm9ndXMiLCAiZmFrZSIsICJpbGxl
Z2FsIl07CisgICAgICAgIAorICAgICAgICBldmVudCA9IGU7CisgICAgICAgIAorICAgICAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGRyb3BFZmZlY3RMaXN0VG9UZXN0Lmxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgICAgICB2YXIgZHJvcEVmZmVjdEJlZm9yZSA9IGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3Q7CisgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gZHJvcEVmZmVjdExp
c3RUb1Rlc3RbaV07CisKKyAgICAgICAgICAgIGlmICh2YWxpZERyb3BFZmZlY3RMaXN0LmluZGV4
T2YoZHJvcEVmZmVjdExpc3RUb1Rlc3RbaV0pICE9IC0xKQorICAgICAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QiLCBkcm9wRWZm
ZWN0TGlzdFRvVGVzdFtpXSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCIsIGRyb3BF
ZmZlY3RCZWZvcmUpOworCisgICAgICAgIH0KKworICAgICAgICBjYW5jZWxEcmFnKGUpOworICAg
IH0KKyAgICAKKyAgICBmdW5jdGlvbiBkcm9wKGUpCisgICAgeworICAgICAgICBjYW5jZWxEcmFn
KGUpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBjYW5jZWxEcmFnKGUpCisgICAgeworICAg
ICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CisgICAgeworICAgICAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIAorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICAgICAgCisgICAgICAgIHZhciBzdGFydFggPSBkcmFnTWUub2Zmc2V0TGVmdCArIDEwOwor
ICAgICAgICB2YXIgc3RhcnRZID0gZHJhZ01lLm9mZnNldFRvcCArIGRyYWdNZS5vZmZzZXRIZWln
aHQgLyAyOworICAgICAgICB2YXIgZW5kWCA9IGRyb3BUYXJnZXQub2Zmc2V0TGVmdCArIDEwOwor
ICAgICAgICB2YXIgZW5kWSA9IGRyb3BUYXJnZXQub2Zmc2V0VG9wICsgZHJvcFRhcmdldC5vZmZz
ZXRIZWlnaHQgLyAyOworICAgICAgICAKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
c3RhcnRYLCBzdGFydFkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAg
ICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTAwKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oZW5kWCwgZW5kWSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKwor
ICAgICAgICB2YXIgdGVzdENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
LWNvbnRhaW5lciIpOworICAgICAgICBpZiAodGVzdENvbnRhaW5lcikKKyAgICAgICAgICAgIGRv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisgICAgICAgIGRlYnVnKCc8
YnIgLz48c3BhbiBjbGFzcz0icGFzcyI+VEVTVCBDT01QTEVURTwvc3Bhbj4nKTsKKyAgICB9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
ICAgIDxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgICAgICAgPGJyLz48YnIvPgorICAgICAg
ICA8ZGl2IGlkPSJkcm9wVGFyZ2V0Ij5Ecm9wIHRoZSByZWQgc3F1YXJlIG9udG8gbWUuPGJyLz48
YnIvPjwvZGl2PgorICAgICAgICA8aHIvPgorICAgICAgICA8cD5JdGVtcyB0aGF0IGNhbiBiZSBk
cmFnZ2VkIHRvIHRoZSBkcm9wIHRhcmdldDo8L3A+CisgICAgICAgIDxkaXYgaWQ9ImRyYWdNZSIg
ZHJhZ2dhYmxlPSJ0cnVlIj5TcXVhcmU8L2Rpdj4KKyAgICAgICAgPGhyLz4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNj
cmlwdGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZl
Y3QgY2Fubm90IGJlIHNldCB0byB2YWx1ZXMgdGhhdCBhcmVuJ3QgZGVmaW5lZCBpbiB0aGUgc3Bl
YyIpOworICAgICAgICB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICA8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWct
YW5kLWRyb3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MzI3MikKKysrIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC05MiwxMCArOTIsMTUgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibgogCiBXaGVuIGVmZmVjdEFsbG93ZWQgPT0gImR1bW15IgogCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgogUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKLVBBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmRyb3BFZmZlY3QgaXMgIm5vbmUiCi1QQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0
IGlzICJub25lIgotUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIK
K1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQi
CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVu
dC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVj
dEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJub25lIgogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9kcmFnLWFuZC1kcm9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCShyZXZpc2lvbiA1MzI3MikKKysrIExheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtOTks
NiArOTksMTYgQEAKICAgICAgICAgICAgIGNob3NlbkVmZmVjdEFsbG93ZWQgPSAidW5pbml0aWFs
aXplZCI7CiAgICAgICAgIH0KICAgICAgICAgCisgICAgICAgIGlmIChjaG9zZW5FZmZlY3RBbGxv
d2VkID09PSAiZHVtbXkiKSB7CisgICAgICAgICAgICAvLyBJZiBhIGJhZCBlZmZlY3RBbGxvd2Vk
IGlzIGF0dGVtcHRlZCB0byBiZSBzZXQsIGl0IHNob3VsZCBuZXZlciBiZSBzZXQsIGFuZCB0aGUK
KyAgICAgICAgICAgIC8vIGVmZmVjdEFsbG93ZWQgc2hvdWxkIGJlIHVuaW5pdGlhbGl6ZWQuCisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImV2ZW50LmRhdGFUcmFuc2Zlci5lZmZl
Y3RBbGxvd2VkIiwgInVuaW5pdGlhbGl6ZWQiKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAg
Ly8gVGhlbiBzZXQgdGhlIGNob3NlbkVmZmVjdEFsbG93ZWQgc28gaXNEcm9wRWZmZWN0QWxsb3dl
ZCBtYXRjaGVzIHRoZSBIVE1MNSBzcGVjLCBhbmQKKyAgICAgICAgICAgIC8vIGRvZXNuJ3QgbmVl
ZCBzcGVjaWFsIGNhc2VzIGZvciB1bmRlZmluZWQuCisgICAgICAgICAgICBjaG9zZW5FZmZlY3RB
bGxvd2VkID0gInVuaW5pdGlhbGl6ZWQiOworICAgICAgICB9CisgICAgICAgIAogICAgICAgICBp
ZiAoaXNEcm9wRWZmZWN0QWxsb3dlZChjaG9zZW5Ecm9wRWZmZWN0LCBjaG9zZW5FZmZlY3RBbGxv
d2VkKSkKICAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZXZlbnQuZGF0YVRyYW5z
ZmVyLmRyb3BFZmZlY3QnLCBkcm9wRWZmZWN0RWxlbS5vcHRpb25zW2Ryb3BFZmZlY3RFbGVtLnNl
bGVjdGVkSW5kZXhdLnZhbHVlKTsKICAgICAgICAgZWxzZQpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvcmVzb3VyY2VzL2RyYWctaW4tZnJhbWVzLXJpZ2h0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2RyYWctaW4tZnJhbWVzLXJpZ2h0
Lmh0bWwJKHJldmlzaW9uIDUzMTkzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3Vy
Y2VzL2RyYWctaW4tZnJhbWVzLXJpZ2h0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIy
LDcgQEAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKICAgICAgb25kcmFnc3RhcnQ9ImFsZXJ0KCdv
bmRyYWdzdGFydCByaWdodCB0YXJnZXQnKSIKICAgICAgb25kcmFnZW5kPSJhbGVydCgnb25kcmFn
ZW5kIHJpZ2h0IHRhcmdldCcpIgogICAgICBvbmRyYWdlbnRlcj0ibG9nKCdvbmRyYWdlbnRlciBy
aWdodCB0YXJnZXQnKTsgcmV0dXJuIGZhbHNlOyIKLSAgICAgb25kcmFnb3Zlcj0ibG9nKCdvbmRy
YWdvdmVyIHJpZ2h0IHRhcmdldCcpOyByZXR1cm4gZmFsc2U7IgorICAgICBvbmRyYWdvdmVyPSJs
b2coJ29uZHJhZ292ZXIgcmlnaHQgdGFyZ2V0Jyk7IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZm
ZWN0ID0gJ2NvcHknOyByZXR1cm4gZmFsc2U7IgogICAgICBvbmRyYWdsZWF2ZT0ibG9nKCdvbmRy
YWdsZWF2ZSByaWdodCB0YXJnZXQnKSIKICAgICAgb25kcm9wPSJsb2coJ29uZHJvcCByaWdodCB0
YXJnZXQnKSI+CiAgIDxzcGFuIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHRvcDogNTAiPkFu
ZCBoZXJlPC9zcGFuPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJj
ZXMvc2VuZC1kcmFnZ2VkLWZpbGUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1kcmFnZ2VkLWZpbGUuanMJKHJldmlzaW9uIDUzMTkz
KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9sb2NhbC9yZXNvdXJjZXMvc2VuZC1kcmFnZ2Vk
LWZpbGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTEyLDYgKzEyLDcgQEAgZmlsZUlucHV0LmFkZEV2
ZW50TGlzdGVuZXIoImRyYWdlbnRlciIsIAogfSwgZmFsc2UpOwogCiBmaWxlSW5wdXQuYWRkRXZl
bnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAgICBldmVudC5kYXRhVHJhbnNm
ZXIuZHJvcEVmZmVjdCA9ICJjb3B5IjsKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogfSwg
ZmFsc2UpOwogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL21pc2MvYnViYmxlLWRyYWct
ZXZlbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9taXNjL2J1
YmJsZS1kcmFnLWV2ZW50cy5odG1sCShyZXZpc2lvbiA1MzE5MykKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbWlzYy9idWJibGUtZHJhZy1ldmVudHMuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MTMsNiArMTMsNyBAQCBmdW5jdGlvbiB0ZXN0RHJhZ0V2ZW50QnViYmxpbmcoZHJhZ1RhcmdlCiAg
ICAgfQogICAgIGRyYWdUYXJnZXRQYXJlbnQub25kcmFnb3ZlciA9IGZ1bmN0aW9uKCkgewogICAg
ICAgICBsb2coIm9uZHJhZ292ZXIiKTsKKyAgICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BF
ZmZlY3QgPSAiY29weSI7CiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICAvLyBDYW5j
ZWwgdGhlIGRyYWcsIHNvIHdlIGdldCB0aGUgZHJvcC4KICAgICB9CiAgICAgZHJhZ1RhcmdldFBh
cmVudC5vbmRyYWdsZWF2ZSA9IGZ1bmN0aW9uKCkgewpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2Zhc3QvZXZlbnRzL2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxsb3dlZC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvZXZlbnRz
L2JvZ3VzLWRyb3BFZmZlY3QtZWZmZWN0QWxsb3dlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVj
dC1lZmZlY3RBbGxvd2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNCBA
QAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZlY3QgY2Fu
bm90IGJlIHNldCB0byB2YWx1ZXMgdGhhdCBhcmVuJ3QgZGVmaW5lZCBpbiB0aGUgc3BlYworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZm
ZWN0QWxsb3dlZCBpcyAiYWxsIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dl
ZCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNv
cHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TGluayIK
K1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHlMaW5rIgorUEFT
UyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29weU1vdmUiCitQQVNTIGV2
ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TW92ZSIKK1BBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5lZmZlY3RBbGxvd2VkIGlzICJsaW5rTW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVy
LmVmZmVjdEFsbG93ZWQgaXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RB
bGxvd2VkIGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBp
cyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQg
aXMgInVuaW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2Vk
IGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dl
ZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93
ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9ldmVudHMvYm9ndXMtZHJvcEVmZmVjdC1lZmZlY3RBbGxvd2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2V2ZW50cy9ib2d1cy1kcm9wRWZmZWN0LWVmZmVjdEFsbG93ZWQtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9ldmVudHMvYm9ndXMtZHJv
cEVmZmVjdC1lZmZlY3RBbGxvd2VkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyNCBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGVmZmVjdEFsbG93ZWQgYW5kIGRyb3BFZmZl
Y3QgY2Fubm90IGJlIHNldCB0byB2YWx1ZXMgdGhhdCBhcmVuJ3QgZGVmaW5lZCBpbiB0aGUgc3Bl
YworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZWZmZWN0QWxsb3dlZCBpcyAiYWxsIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0
QWxsb3dlZCBpcyAiY29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQg
aXMgImNvcHkiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5
TGluayIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImNvcHlMaW5r
IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCBpcyAiY29weU1vdmUiCitQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJjb3B5TW92ZSIKK1BBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgImxpbmsiCitQQVNTIGV2ZW50LmRh
dGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJsaW5rTW92ZSIKK1BBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkIGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxs
b3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFs
bG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RB
bGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0
QWxsb3dlZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVj
dEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCisKK1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46601</attachid>
            <date>2010-01-14 13:06:31 -0800</date>
            <delta_ts>2010-01-14 13:12:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33635-20100114130629.patch</filename>
            <type>text/plain</type>
            <size>1476</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzI4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMTQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZvbGxvdyB1cCB0byA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMzNjM1Pi4KKyAgICAgICAgCisgICAgICAgIE5vdyB0aGF0IGRyb3BFZmZlY3QgYW5kIGVmZmVj
dEFsbG93ZWQgYXJlIGd1YXJhbnRlZWQgdG8gbm90IGJlCisgICAgICAgIG51bGwsIGNoYW5nZSBu
dWxsIGNoZWNrcyBpbnRvIGFzc2VydHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEp
CisKKyAgICAgICAgKiBkb20vQ2xpcGJvYXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBi
b2FyZDo6c291cmNlT3BlcmF0aW9uKTogQ2hhbmdlIG51bGwgY2hlY2sgdG8gYXNzZXJ0LgorICAg
ICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpkZXN0aW5hdGlvbk9wZXJhdGlvbik6IERpdHRvLgor
CiAyMDEwLTAxLTE0ICBCcmlhbiBXZWluc3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IFdlYkNvcmUvZG9tL0NsaXBi
b2FyZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAkocmV2aXNp
b24gNTMyODcpCisrKyBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDIsMTYgKzEwMiwxNCBAQCBzdGF0aWMgU3RyaW5nIElFT3BGcm9tRHJhZ09wKERyYWdPcGVy
YXRpCiAKIGJvb2wgQ2xpcGJvYXJkOjpzb3VyY2VPcGVyYXRpb24oRHJhZ09wZXJhdGlvbiYgb3Ap
IGNvbnN0CiB7Ci0gICAgaWYgKG1fZWZmZWN0QWxsb3dlZC5pc051bGwoKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIEFTU0VSVCghbV9lZmZlY3RBbGxvd2VkLmlzTnVsbCgpKTsKICAgICBv
cCA9IGRyYWdPcEZyb21JRU9wKG1fZWZmZWN0QWxsb3dlZCk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKIGJvb2wgQ2xpcGJvYXJkOjpkZXN0aW5hdGlvbk9wZXJhdGlvbihEcmFnT3BlcmF0aW9uJiBv
cCkgY29uc3QKIHsKLSAgICBpZiAobV9kcm9wRWZmZWN0LmlzTnVsbCgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgQVNTRVJUKCFtX2Ryb3BFZmZlY3QuaXNOdWxsKCkpOwogICAgIG9wID0g
ZHJhZ09wRnJvbUlFT3AobV9kcm9wRWZmZWN0KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46602</attachid>
            <date>2010-01-14 13:12:47 -0800</date>
            <delta_ts>2010-01-14 13:15:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-33635-20100114131246.patch</filename>
            <type>text/plain</type>
            <size>1629</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzI4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMDEtMTQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZvbGxvdyB1cCB0byA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMzNjM1Pi4KKyAgICAgICAgCisgICAgICAgIE5vdyB0aGF0IGRyb3BFZmZlY3QgYW5kIGVmZmVj
dEFsbG93ZWQgYXJlIGd1YXJhbnRlZWQgdG8gbm90IGJlCisgICAgICAgIG51bGwsIGNoYW5nZSBu
dWxsIGNoZWNrcyBpbnRvIGFzc2VydHMgdG8gbWFrZSBzdXJlIHdlIGFyZSByZXR1cm5pbmcKKyAg
ICAgICAgYSBwcm9wZXIgRHJhZ09wZXJhdGlvbiB2YWx1ZS4KKworICAgICAgICBObyBuZXcgdGVz
dHMuIChPT1BTISkKKworICAgICAgICAqIGRvbS9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q2xpcGJvYXJkOjpzb3VyY2VPcGVyYXRpb24pOiBDaGFuZ2UgbnVsbCBjaGVjayB0byBh
c3NlcnQuCisgICAgICAgIChXZWJDb3JlOjpDbGlwYm9hcmQ6OmRlc3RpbmF0aW9uT3BlcmF0aW9u
KTogRGl0dG8uCisKIDIwMTAtMDEtMTQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogV2ViQ29y
ZS9kb20vQ2xpcGJvYXJkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9DbGlwYm9hcmQu
Y3BwCShyZXZpc2lvbiA1MzI4NykKKysrIFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEwMiwxNyArMTAyLDE1IEBAIHN0YXRpYyBTdHJpbmcgSUVPcEZyb21EcmFn
T3AoRHJhZ09wZXJhdGkKIAogYm9vbCBDbGlwYm9hcmQ6OnNvdXJjZU9wZXJhdGlvbihEcmFnT3Bl
cmF0aW9uJiBvcCkgY29uc3QKIHsKLSAgICBpZiAobV9lZmZlY3RBbGxvd2VkLmlzTnVsbCgpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgb3AgPSBkcmFnT3BGcm9tSUVPcChtX2VmZmVjdEFs
bG93ZWQpOworICAgIEFTU0VSVChvcCAhPSBEcmFnT3BlcmF0aW9uUHJpdmF0ZSk7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKIGJvb2wgQ2xpcGJvYXJkOjpkZXN0aW5hdGlvbk9wZXJhdGlvbihEcmFn
T3BlcmF0aW9uJiBvcCkgY29uc3QKIHsKLSAgICBpZiAobV9kcm9wRWZmZWN0LmlzTnVsbCgpKQot
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgb3AgPSBkcmFnT3BGcm9tSUVPcChtX2Ryb3BFZmZl
Y3QpOworICAgIEFTU0VSVChvcCA9PSBEcmFnT3BlcmF0aW9uQ29weSB8fCBvcCA9PSBEcmFnT3Bl
cmF0aW9uTm9uZSB8fCBvcCA9PSBEcmFnT3BlcmF0aW9uTGluayB8fCBvcCA9PSBEcmFnT3BlcmF0
aW9uTW92ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
</data>
<flag name="review"
          id="28900"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>