<?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>81570</bug_id>
          
          <creation_ts>2012-03-19 15:22:15 -0700</creation_ts>
          <short_desc>Properly align members in WebInputEvent and subclasses to make Valgrind happy</short_desc>
          <delta_ts>2012-04-05 11:48:25 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lei Zhang">thestig</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582313</commentid>
    <comment_count>0</comment_count>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-03-19 15:22:15 -0700</bug_when>
    <thetext>Currently, on 64-bit Linux, WebInputEvents have alignment issues with its data members that leave gaps in the in-memory representation. So even though one has initialized all the data members, Valgrind will still complain about uninitialized memory when Chromium readys WebInputEvents byte-by-byte when sending WebInputEvents over IPC.

To fix this, I&apos;ve rearranged the data member order and added dummy padding members as needed. To ensure this problem does not occur in the future, I&apos;ve added COMPILE_ASSERT() checks for all the classes to make sure there&apos;s no gaps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582316</commentid>
    <comment_count>1</comment_count>
      <attachid>132684</attachid>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-03-19 15:23:41 -0700</bug_when>
    <thetext>Created attachment 132684
patch to fix the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582317</commentid>
    <comment_count>2</comment_count>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-03-19 15:24:58 -0700</bug_when>
    <thetext>Tony: can you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582338</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-19 15:38:56 -0700</bug_when>
    <thetext>Should we just use #pragma pack(push, 4) instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582361</commentid>
    <comment_count>4</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-19 15:53:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Should we just use #pragma pack(push, 4) instead?

I&apos;m dumb. Will pointed out that we would still need to reorder variables to make sure doubles come before ints.

Here&apos;s another idea from Will: Can we memset the struct before memcpy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582384</commentid>
    <comment_count>5</comment_count>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-03-19 16:06:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Should we just use #pragma pack(push, 4) instead?
&gt; 
&gt; I&apos;m dumb. Will pointed out that we would still need to reorder variables to make sure doubles come before ints.
&gt; 
&gt; Here&apos;s another idea from Will: Can we memset the struct before memcpy?

The downside to using memset is that we cannot use initializer lists.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582422</commentid>
    <comment_count>6</comment_count>
      <attachid>132684</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-19 16:29:03 -0700</bug_when>
    <thetext>Comment on attachment 132684
patch to fix the bug

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

You&apos;re right, memset won&apos;t work in this case.  Reordering seems unavoidable considering how content/public/common/webkit_param_traits.h handles WebInputEvent*.  It might still be worth packing to 4 bytes to avoid having padding ints.

&gt; WebKit/chromium/public/WebInputEvent.h:225
&gt; +    sizeof(WebInputEvent) == (sizeof(WebInputEvent::timeStampSeconds) +
&gt; +                              sizeof(WebInputEvent::size) +

We normally just make a reference struct and make sure the real object has the same size as the reference struct.  See for example the SameSizeAsCSSValue class in WebKit/Source/WebCore/css/CSSValue.cpp.  For your SameSizeAs* class, you can just put doubles in them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583544</commentid>
    <comment_count>7</comment_count>
      <attachid>132917</attachid>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-03-20 15:57:39 -0700</bug_when>
    <thetext>Created attachment 132917
address comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596058</commentid>
    <comment_count>8</comment_count>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-04-04 16:10:29 -0700</bug_when>
    <thetext>ping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596079</commentid>
    <comment_count>9</comment_count>
      <attachid>132917</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-04 16:27:57 -0700</bug_when>
    <thetext>Comment on attachment 132917
address comments

Sorry, missed the update.  I&apos;ll get a patch that applies and put it in the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596082</commentid>
    <comment_count>10</comment_count>
      <attachid>135714</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-04 16:30:42 -0700</bug_when>
    <thetext>Created attachment 135714
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596084</commentid>
    <comment_count>11</comment_count>
      <attachid>135715</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-04 16:32:43 -0700</bug_when>
    <thetext>Created attachment 135715
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596094</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 16:46:00 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596095</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 16:46:25 -0700</bug_when>
    <thetext>Attachment 135715 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1
Source/WebKit/chromium/public/WebInputEvent.h:155:  One space before end of line comments  [whitespace/comments] [5]
Source/WebKit/chromium/public/WebInputEvent.h:239:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebKit/chromium/public/WebInputEvent.h:407:  input_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit/chromium/public/WebInputEvent.h:411:  keyboard_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit/chromium/public/WebInputEvent.h:415:  mouse_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit/chromium/public/WebInputEvent.h:419:  mousewheel_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit/chromium/public/WebInputEvent.h:423:  gesture_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebKit/chromium/public/WebInputEvent.h:427:  touch_data is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 8 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596109</commentid>
    <comment_count>14</comment_count>
      <attachid>135724</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-04 17:00:19 -0700</bug_when>
    <thetext>Created attachment 135724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596161</commentid>
    <comment_count>15</comment_count>
      <attachid>135724</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 18:05:56 -0700</bug_when>
    <thetext>Comment on attachment 135724
Patch

Attachment 135724 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12340043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596231</commentid>
    <comment_count>16</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-04 19:26:48 -0700</bug_when>
    <thetext>Alternate idea: can we make valgrind smarter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596263</commentid>
    <comment_count>17</comment_count>
    <who name="Lei Zhang">thestig</who>
    <bug_when>2012-04-04 20:36:21 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Alternate idea: can we make valgrind smarter?

base/third_party/valgrind/memcheck.h has macros like VALGRIND_MAKE_MEM_DEFINED to say &quot;trust me, this block of data is defined.&quot; But I think the problem is we would need to use it in every place that accesses these data structures byte by byte.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596324</commentid>
    <comment_count>18</comment_count>
      <attachid>135724</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-04-04 23:18:45 -0700</bug_when>
    <thetext>Comment on attachment 135724
Patch

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

&gt; Source/WebKit/chromium/public/WebInputEvent.h:406
&gt; +class SameSizeAsWebInputEvent {

nit: consider putting this code into a nested namespace b/c these classes
are never meant to be used by consumers of the WebKit API.

WebKit::Internal:: perhaps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596664</commentid>
    <comment_count>19</comment_count>
      <attachid>135848</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-04-05 10:14:47 -0700</bug_when>
    <thetext>Created attachment 135848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596753</commentid>
    <comment_count>20</comment_count>
      <attachid>135848</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 11:48:05 -0700</bug_when>
    <thetext>Comment on attachment 135848
Patch

Clearing flags on attachment: 135848

Committed r113344: &lt;http://trac.webkit.org/changeset/113344&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596754</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-05 11:48:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132684</attachid>
            <date>2012-03-19 15:23:41 -0700</date>
            <delta_ts>2012-03-20 15:57:39 -0700</delta_ts>
            <desc>patch to fix the bug</desc>
            <filename>81570.diff</filename>
            <type>text/plain</type>
            <size>11846</size>
            <attacher name="Lei Zhang">thestig</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTExMTI0KQorKysgV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTE3ICBMZWkg
WmhhbmcgIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFByb3Bl
cmx5IGFsaWduIG1lbWJlcnMgaW4gV2ViSW5wdXRFdmVudCBhbmQgc3ViY2xhc3NlcyB0byBtYWtl
IFZhbGdyaW5kIGhhcHB5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODE1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnB1dEV2ZW50OjpXZWJJbnB1dEV2ZW50KToKKyAgICAgICAgKFdl
YktleWJvYXJkRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJUb3VjaEV2ZW50OjpXZWJUb3Vj
aEV2ZW50KToKKwogMjAxMi0wMy0xNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gVW5pZnkgdGhlIGRyYXdpbmcgbG9naWMgZm9yIGRp
ZmZlcmVudCBsYXllciB0eXBlcyB0aGF0IG91dHB1dCB0ZXh0dXJlcyB0byB0aGUgY29tcG9zaXRv
cgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgJKHJldmlzaW9uIDEx
MTEyNCkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NSwxNiArNDUsMzEgQEAKIC8vIFdBUk5JTkchIFRoZXNlIGNsYXNzZXMgbXVz
dCByZW1haW4gUE9EcyAocGxhaW4gb2xkIGRhdGEpLiAgVGhleSBhcmUKIC8vIGludGVuZGVkIHRv
IGJlICJzZXJpYWxpemFibGUiIGJ5IGNvcHlpbmcgdGhlaXIgcmF3IGJ5dGVzLCBzbyB0aGV5IG11
c3QKIC8vIG5vdCBjb250YWluIGFueSBub24tYml0LWNvcHlhYmxlIG1lbWJlciB2YXJpYWJsZXMh
CisvLworLy8gRnVydGhlcm1vcmUsIHRoZSBjbGFzcyBtZW1iZXJzIG5lZWQgdG8gYmUgY2FyZWZ1
bGx5IGxhaWQgb3V0IGluIG1lbW9yeQorLy8gc28gdGhleSBhcmUgYWxpZ25lZCBwcm9wZXJseSwg
b3RoZXJ3aXNlIG1lbW9yeSBjaGVjayB0b29scyBsaWtlIFZhbGdyaW5kCisvLyB3aWxsIGNvbXBs
YWluIGFib3V0IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHVzYWdlIHdoZW4gdHJhbnNmZXJyaW5nIHRo
ZXNlCisvLyBjbGFzc2VzIG92ZXIgdGhlIHdpcmUuCisvLyBGb3IgaW5zdGFuY2UsIHVzZSBpbnRz
IGluc3RlYWQgb2YgYm9vbHMsIGFuZCBhdm9pZDoKKy8vICAgaW50IGZvbzsgICAgIC8vIHNpemUg
PSA0LCBvZmZzZXQgPSAwCisvLyAgIGRvdWJsZSBiYXI7ICAvLyBzaXplID0gOCwgb2Zmc2V0ID0g
OCAtPiBsZWF2ZXMgYSA0IGJ5dGUgZ2FwIQorLy8gICBpbnQgcXV4OyAgICAgLy8gc2l6ZSA9IDQs
IG9mZnNldCA9IDE2CisvLyAgIC8vIE1heSBsZWF2ZSBhbm90aGVyIDQgYnl0ZXMgdW5pbml0aWFs
aXplZCBhdCB0aGUgZW5kIQorLy8gaW5zdGVhZCwgZG86CisvLyAgIGRvdWJsZSBiYXI7ICAvLyBz
aXplID0gOCwgb2Zmc2V0ID0gMAorLy8gICBpbnQgZm9vOyAgICAgLy8gc2l6ZSA9IDQsIG9mZnNl
dCA9IDgKKy8vICAgaW50IHF1eDsgICAgIC8vIHNpemUgPSA0LCBvZmZzZXQgPSAxMgogCiAvLyBX
ZWJJbnB1dEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIGNsYXNzIFdlYklucHV0RXZlbnQgewogcHVibGljOgogICAg
IFdlYklucHV0RXZlbnQodW5zaWduZWQgc2l6ZVBhcmFtID0gc2l6ZW9mKFdlYklucHV0RXZlbnQp
KQotICAgICAgICA6IHNpemUoc2l6ZVBhcmFtKQorICAgICAgICA6IHRpbWVTdGFtcFNlY29uZHMo
MC4wKQorICAgICAgICAsIHNpemUoc2l6ZVBhcmFtKQogICAgICAgICAsIHR5cGUoVW5kZWZpbmVk
KQogICAgICAgICAsIG1vZGlmaWVycygwKQotICAgICAgICAsIHRpbWVTdGFtcFNlY29uZHMoMC4w
KSB7IH0KKyAgICAgICAgLCBwYWRkaW5nKDApIHsgfQogCiAgICAgLy8gV2hlbiB3ZSB1c2UgYW4g
aW5wdXQgbWV0aG9kIChvciBhbiBpbnB1dCBtZXRob2QgZWRpdG9yKSwgd2UgcmVjZWl2ZQogICAg
IC8vIHR3byBldmVudHMgZm9yIGEga2V5cHJlc3MuIFRoZSBmb3JtZXIgZXZlbnQgaXMgYSBrZXlk
b3duLCB3aGljaApAQCAtMTQ1LDExICsxNjAsMTQgQEAKIAogICAgIHN0YXRpYyBjb25zdCBpbnQg
SW5wdXRNb2RpZmllcnMgPSBTaGlmdEtleSB8IENvbnRyb2xLZXkgfCBBbHRLZXkgfCBNZXRhS2V5
OwogCisgICAgZG91YmxlIHRpbWVTdGFtcFNlY29uZHM7ICAgLy8gU2Vjb25kcyBzaW5jZSBlcG9j
aC4KICAgICB1bnNpZ25lZCBzaXplOyAgIC8vIFRoZSBzaXplIG9mIHRoaXMgc3RydWN0dXJlLCBm
b3Igc2VyaWFsaXphdGlvbi4KICAgICBUeXBlIHR5cGU7CiAgICAgaW50IG1vZGlmaWVyczsKLSAg
ICBkb3VibGUgdGltZVN0YW1wU2Vjb25kczsgICAvLyBTZWNvbmRzIHNpbmNlIGVwb2NoLgogCisg
ICAgLy8gU2VlIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3Igd2h5IHRoaXMgaXMg
aGVyZS4KKyAgICBpbnQgcGFkZGluZzsKKwogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgV2Vi
SW5wdXRFdmVudCB8dHlwZXwgaXMgYSBtb3VzZSBldmVudC4KICAgICBzdGF0aWMgYm9vbCBpc01v
dXNlRXZlbnRUeXBlKGludCB0eXBlKQogICAgIHsKQEAgLTIwMiw2ICsyMjAsMTUgQEAKICAgICB9
CiB9OwogCitDT01QSUxFX0FTU0VSVCgKKyAgICBzaXplb2YoV2ViSW5wdXRFdmVudCkgPT0gKHNp
emVvZihXZWJJbnB1dEV2ZW50Ojp0aW1lU3RhbXBTZWNvbmRzKSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplb2YoV2ViSW5wdXRFdmVudDo6c2l6ZSkgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYklucHV0RXZlbnQ6OnR5cGUpICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJJbnB1dEV2ZW50Ojptb2RpZmllcnMpICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJJbnB1dEV2ZW50OjpwYWRk
aW5nKSksCisgICAgV2ViSW5wdXRFdmVudF9taXNhbGlnbmVkCispOworCiAvLyBXZWJLZXlib2Fy
ZEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKIGNsYXNzIFdlYktleWJvYXJkRXZlbnQgOiBwdWJsaWMgV2ViSW5wdXRFdmVu
dCB7CkBAIC0yNDMsMTAgKzI3MCw3IEBACiAgICAgLy8gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNv
bS9lbi11cy9saWJyYXJ5L21zNjQ2Mjg2KFZTLjg1KS5hc3B4IGZvcgogICAgIC8vIGRldGFpbHMp
LiAgT3RoZXIgcGxhdGZvcm1zIGRvbid0IGhhdmUgdGhpcyBjb25jZXB0LCBidXQgaXQncyBqdXN0
CiAgICAgLy8gZWFzaWVyIHRvIGxlYXZlIGl0IGFsd2F5cyBmYWxzZSB0aGFuIGlmZGVmLgotICAg
IC8vIGludCBpcyB1c2VkIGluc3RlYWQgb2YgYm9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhp
cyBzdHJ1Y3R1cmUgaXMKLSAgICAvLyBzdHJpY3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQg
Ynl0ZXMsIG90aGVyd2lzZSBtZW1vcnkgY2hlY2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5k
IG1heSBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAg
Ly8gdHJhbnNmZXJpbmcgaXQgb3ZlciB0aGUgd2lyZS4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0
aGUgdG9wIG9mIHRoZSBmaWxlIGZvciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KICAgICBpbnQg
aXNTeXN0ZW1LZXk7CiAKICAgICBXZWJLZXlib2FyZEV2ZW50KHVuc2lnbmVkIHNpemVQYXJhbSA9
IHNpemVvZihXZWJLZXlib2FyZEV2ZW50KSkKQEAgLTI2NSw2ICsyODksMjEgQEAKICAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgc2V0S2V5SWRlbnRpZmllckZyb21XaW5kb3dzS2V5Q29kZSgpOwogfTsK
IAorQ09NUElMRV9BU1NFUlQoCisgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQpID09IChzaXpl
b2YoV2ViS2V5Ym9hcmRFdmVudDo6dGltZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQ6OnNpemUpICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJLZXlib2FyZEV2ZW50Ojp0eXBl
KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViS2V5Ym9hcmRF
dmVudDo6bW9kaWZpZXJzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
b2YoV2ViS2V5Ym9hcmRFdmVudDo6cGFkZGluZykgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQ6OndpbmRvd3NLZXlDb2RlKSArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudDo6bmF0
aXZlS2V5Q29kZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdl
YktleWJvYXJkRXZlbnQ6OnRleHQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJLZXlib2FyZEV2ZW50Ojp1bm1vZGlmaWVkVGV4dCkgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQ6OmtleUlkZW50aWZp
ZXIpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJLZXlib2Fy
ZEV2ZW50Ojppc1N5c3RlbUtleSkpLAorICAgIFdlYktleWJvYXJkRXZlbnRfbWlzZ2FsaWduZWQK
Kyk7CisKIC8vIFdlYk1vdXNlRXZlbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogY2xhc3MgV2ViTW91c2VFdmVudCA6IHB1
YmxpYyBXZWJJbnB1dEV2ZW50IHsKQEAgLTMwNCw2ICszNDMsMjUgQEAKICAgICB9CiB9OwogCitD
T01QSUxFX0FTU0VSVCgKKyAgICBzaXplb2YoV2ViTW91c2VFdmVudCkgPT0gKHNpemVvZihXZWJN
b3VzZUV2ZW50Ojp0aW1lU3RhbXBTZWNvbmRzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6c2l6ZSkgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6OnR5cGUpICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZUV2ZW50Ojptb2RpZmllcnMpICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZUV2ZW50OjpwYWRkaW5nKSArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6YnV0dG9u
KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6
eCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6
OnkpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZUV2ZW50
Ojp3aW5kb3dYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91
c2VFdmVudDo6d2luZG93WSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFdlYk1vdXNlRXZlbnQ6Omdsb2JhbFgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJNb3VzZUV2ZW50OjpnbG9iYWxZKSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6bW92ZW1lbnRYKSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6bW92ZW1lbnRZKSArCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6Y2xpY2tDb3Vu
dCkpLAorICAgIFdlYk1vdXNlRXZlbnRfbWlzZ2FsaWduZWQKKyk7CisKIC8vIFdlYk1vdXNlV2hl
ZWxFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogY2xhc3MgV2ViTW91c2VXaGVlbEV2ZW50IDogcHVibGljIFdlYk1vdXNlRXZl
bnQgewpAQCAtMzIzLDEzICszODEsMTEgQEAKICAgICBmbG9hdCB3aGVlbFRpY2tzWDsKICAgICBm
bG9hdCB3aGVlbFRpY2tzWTsKIAotICAgIC8vIGludCBpcyB1c2VkIGluc3RlYWQgb2YgYm9vbCB0
byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMKLSAgICAvLyBzdHJpY3RseSBh
bGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVyd2lzZSBtZW1vcnkgY2hlY2sgdG9v
bHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVk
IG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJpbmcgaXQgb3ZlciB0aGUgd2lyZS4K
KyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciB3aHkgYW4gaW50
IGlzIHVzZWQgaGVyZS4KICAgICBpbnQgc2Nyb2xsQnlQYWdlOwogCi0gICAgYm9vbCBoYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzOworICAgIC8vIFNlZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhl
IGZpbGUgZm9yIHdoeSBhbiBpbnQgaXMgdXNlZCBoZXJlLgorICAgIGludCBoYXNQcmVjaXNlU2Ny
b2xsaW5nRGVsdGFzOwogICAgIFBoYXNlIHBoYXNlOwogICAgIFBoYXNlIG1vbWVudHVtUGhhc2U7
CiAKQEAgLTM0Nyw2ICs0MDMsMzMgQEAKICAgICB9CiB9OwogCitDT01QSUxFX0FTU0VSVCgKKyAg
ICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50KSA9PSAoc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVu
dDo6dGltZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50OjpzaXplKSArCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OnR5cGUpICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6
bW9kaWZpZXJzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihX
ZWJNb3VzZVdoZWVsRXZlbnQ6OnBhZGRpbmcpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6YnV0dG9uKSArCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OngpICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxF
dmVudDo6eSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2Vi
TW91c2VXaGVlbEV2ZW50Ojp3aW5kb3dYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OndpbmRvd1kpICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6Z2xvYmFs
WCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VX
aGVlbEV2ZW50OjpnbG9iYWxZKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6Om1vdmVtZW50WCkgKworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50Ojptb3ZlbWVudFkp
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hl
ZWxFdmVudDo6Y2xpY2tDb3VudCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50OjpkZWx0YVgpICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6ZGVsdGFZKSArCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZl
bnQ6OndoZWVsVGlja3NYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OndoZWVsVGlja3NZKSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OnNjcm9sbEJ5UGFn
ZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VX
aGVlbEV2ZW50OjpoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzKSArCisgICAgc2l6ZW9mKFdlYk1v
dXNlV2hlZWxFdmVudDo6cGhhc2UpICsKKyAgICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50Ojpt
b21lbnR1bVBoYXNlKSksCisgICAgV2ViTW91c2VXaGVlbEV2ZW50X21pc2dhbGlnbmVkCispOwor
CiAvLyBXZWJHZXN0dXJlRXZlbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogY2xhc3MgV2ViR2VzdHVyZUV2ZW50IDogcHVi
bGljIFdlYklucHV0RXZlbnQgewpAQCAtMzcyLDMzICs0NTUsNjkgQEAKICAgICB9CiB9OwogCitD
T01QSUxFX0FTU0VSVCgKKyAgICBzaXplb2YoV2ViR2VzdHVyZUV2ZW50KSA9PSAoc2l6ZW9mKFdl
Ykdlc3R1cmVFdmVudDo6dGltZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoV2ViR2VzdHVyZUV2ZW50OjpzaXplKSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJHZXN0dXJlRXZlbnQ6OnR5cGUpICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYkdlc3R1cmVFdmVudDo6bW9kaWZp
ZXJzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJHZXN0dXJl
RXZlbnQ6OnBhZGRpbmcpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFdlYkdlc3R1cmVFdmVudDo6eCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplb2YoV2ViR2VzdHVyZUV2ZW50Ojp5KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVvZihXZWJHZXN0dXJlRXZlbnQ6Omdsb2JhbFgpICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKFdlYkdlc3R1cmVFdmVudDo6Z2xvYmFsWSkgKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViR2VzdHVyZUV2ZW50OjpkZWx0YVgp
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYkdlc3R1cmVFdmVu
dDo6ZGVsdGFZKSksCisgICAgV2ViR2VzdHVyZUV2ZW50X21pc2dhbGlnbmVkCispOworCiAvLyBX
ZWJUb3VjaEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIGNsYXNzIFdlYlRvdWNoRXZlbnQgOiBwdWJsaWMgV2ViSW5w
dXRFdmVudCB7CiBwdWJsaWM6CiAgICAgZW51bSB7IHRvdWNoZXNMZW5ndGhDYXAgPSA4IH07CiAK
LSAgICB1bnNpZ25lZCB0b3VjaGVzTGVuZ3RoOwogICAgIC8vIExpc3Qgb2YgYWxsIHRvdWNoZXMg
d2hpY2ggYXJlIGN1cnJlbnRseSBkb3duLgogICAgIFdlYlRvdWNoUG9pbnQgdG91Y2hlc1t0b3Vj
aGVzTGVuZ3RoQ2FwXTsKIAotICAgIHVuc2lnbmVkIGNoYW5nZWRUb3VjaGVzTGVuZ3RoOwogICAg
IC8vIExpc3Qgb2YgYWxsIHRvdWNoZXMgd2hvc2Ugc3RhdGUgaGFzIGNoYW5nZWQgc2luY2UgdGhl
IGxhc3QgV2ViVG91Y2hFdmVudAogICAgIFdlYlRvdWNoUG9pbnQgY2hhbmdlZFRvdWNoZXNbdG91
Y2hlc0xlbmd0aENhcF07CiAKLSAgICB1bnNpZ25lZCB0YXJnZXRUb3VjaGVzTGVuZ3RoOwogICAg
IC8vIExpc3Qgb2YgYWxsIHRvdWNoZXMgd2hpY2ggYXJlIGN1cnJlbnRseSBkb3duIGFuZCBhcmUg
dGFyZ2V0aW5nIHRoZSBldmVudCByZWNpcGllbnQuCiAgICAgV2ViVG91Y2hQb2ludCB0YXJnZXRU
b3VjaGVzW3RvdWNoZXNMZW5ndGhDYXBdOwogCisgICAgdW5zaWduZWQgdG91Y2hlc0xlbmd0aDsK
KyAgICB1bnNpZ25lZCBjaGFuZ2VkVG91Y2hlc0xlbmd0aDsKKyAgICB1bnNpZ25lZCB0YXJnZXRU
b3VjaGVzTGVuZ3RoOworCisgICAgLy8gU2VlIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgZmls
ZSBmb3Igd2h5IHRoaXMgaXMgaGVyZS4KKyAgICBpbnQgcGFkZGluZzI7CisKICAgICBXZWJUb3Vj
aEV2ZW50KHVuc2lnbmVkIHNpemVQYXJhbSA9IHNpemVvZihXZWJUb3VjaEV2ZW50KSkKICAgICAg
ICAgOiBXZWJJbnB1dEV2ZW50KHNpemVQYXJhbSkKICAgICAgICAgLCB0b3VjaGVzTGVuZ3RoKDAp
CiAgICAgICAgICwgY2hhbmdlZFRvdWNoZXNMZW5ndGgoMCkKICAgICAgICAgLCB0YXJnZXRUb3Vj
aGVzTGVuZ3RoKDApCisgICAgICAgICwgcGFkZGluZzIoMCkKICAgICB7CiAgICAgfQogfTsKIAor
Q09NUElMRV9BU1NFUlQoCisgICAgc2l6ZW9mKFdlYlRvdWNoRXZlbnQpID09IChzaXplb2YoV2Vi
VG91Y2hFdmVudDo6dGltZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6c2l6ZSkgKworICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6dHlwZSkgKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6bW9kaWZp
ZXJzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJUb3Vj
aEV2ZW50OjpwYWRkaW5nKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp
emVvZihXZWJUb3VjaEV2ZW50Ojp0b3VjaGVzKSArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVvZihXZWJUb3VjaEV2ZW50OjpjaGFuZ2VkVG91Y2hlcykgKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6dGFyZ2V0
VG91Y2hlcykgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2Vi
VG91Y2hFdmVudDo6dG91Y2hlc0xlbmd0aCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6Y2hhbmdlZFRvdWNoZXNMZW5ndGgpICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYlRvdWNoRXZlbnQ6OnRh
cmdldFRvdWNoZXNMZW5ndGgpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2l6ZW9mKFdlYlRvdWNoRXZlbnQ6OnBhZGRpbmcyKSksCisgICAgV2ViVG91Y2hFdmVudF9taXNn
YWxpZ25lZAorKTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZgo=
</data>
<flag name="review"
          id="136407"
          type_id="1"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132917</attachid>
            <date>2012-03-20 15:57:39 -0700</date>
            <delta_ts>2012-04-04 16:30:37 -0700</delta_ts>
            <desc>address comments</desc>
            <filename>81570_2.diff</filename>
            <type>text/plain</type>
            <size>6070</size>
            <attacher name="Lei Zhang">thestig</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTExMTI0KQorKysgV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTAzLTE3ICBMZWkg
WmhhbmcgIDx0aGVzdGlnQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFByb3Bl
cmx5IGFsaWduIG1lbWJlcnMgaW4gV2ViSW5wdXRFdmVudCBhbmQgc3ViY2xhc3NlcyB0byBtYWtl
IFZhbGdyaW5kIGhhcHB5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODE1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJbnB1dEV2ZW50OjpXZWJJbnB1dEV2ZW50KToKKyAgICAgICAgKFdl
YktleWJvYXJkRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJUb3VjaEV2ZW50OjpXZWJUb3Vj
aEV2ZW50KToKKwogMjAxMi0wMy0xNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gVW5pZnkgdGhlIGRyYXdpbmcgbG9naWMgZm9yIGRp
ZmZlcmVudCBsYXllciB0eXBlcyB0aGF0IG91dHB1dCB0ZXh0dXJlcyB0byB0aGUgY29tcG9zaXRv
cgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgJKHJldmlzaW9uIDEx
MTM4NSkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NSwxNiArNDUsMjMgQEAKIC8vIFdBUk5JTkchIFRoZXNlIGNsYXNzZXMgbXVz
dCByZW1haW4gUE9EcyAocGxhaW4gb2xkIGRhdGEpLiAgVGhleSBhcmUKIC8vIGludGVuZGVkIHRv
IGJlICJzZXJpYWxpemFibGUiIGJ5IGNvcHlpbmcgdGhlaXIgcmF3IGJ5dGVzLCBzbyB0aGV5IG11
c3QKIC8vIG5vdCBjb250YWluIGFueSBub24tYml0LWNvcHlhYmxlIG1lbWJlciB2YXJpYWJsZXMh
CisvLworLy8gRnVydGhlcm1vcmUsIHRoZSBjbGFzcyBtZW1iZXJzIG5lZWQgdG8gYmUgcGFja2Vk
IHNvIHRoZXkgYXJlIGFsaWduZWQKKy8vIHByb3Blcmx5IGFuZCBkb24ndCBoYXZlIHBhZGRpbmdz
L2dhcHMsIG90aGVyd2lzZSBtZW1vcnkgY2hlY2sgdG9vbHMKKy8vIGxpa2UgVmFsZ3JpbmQgd2ls
bCBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCisvLyB0cmFu
c2ZlcnJpbmcgdGhlc2UgY2xhc3NlcyBvdmVyIHRoZSB3aXJlLgogCisjcHJhZ21hIHBhY2socHVz
aCwgNCkKKwogLy8gV2ViSW5wdXRFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJJbnB1dEV2ZW50IHsK
IHB1YmxpYzoKICAgICBXZWJJbnB1dEV2ZW50KHVuc2lnbmVkIHNpemVQYXJhbSA9IHNpemVvZihX
ZWJJbnB1dEV2ZW50KSkKLSAgICAgICAgOiBzaXplKHNpemVQYXJhbSkKKyAgICAgICAgOiB0aW1l
U3RhbXBTZWNvbmRzKDAuMCkKKyAgICAgICAgLCBzaXplKHNpemVQYXJhbSkKICAgICAgICAgLCB0
eXBlKFVuZGVmaW5lZCkKLSAgICAgICAgLCBtb2RpZmllcnMoMCkKLSAgICAgICAgLCB0aW1lU3Rh
bXBTZWNvbmRzKDAuMCkgeyB9CisgICAgICAgICwgbW9kaWZpZXJzKDApIHsgfQogCiAgICAgLy8g
V2hlbiB3ZSB1c2UgYW4gaW5wdXQgbWV0aG9kIChvciBhbiBpbnB1dCBtZXRob2QgZWRpdG9yKSwg
d2UgcmVjZWl2ZQogICAgIC8vIHR3byBldmVudHMgZm9yIGEga2V5cHJlc3MuIFRoZSBmb3JtZXIg
ZXZlbnQgaXMgYSBrZXlkb3duLCB3aGljaApAQCAtMTQ1LDEwICsxNTIsMTAgQEAKIAogICAgIHN0
YXRpYyBjb25zdCBpbnQgSW5wdXRNb2RpZmllcnMgPSBTaGlmdEtleSB8IENvbnRyb2xLZXkgfCBB
bHRLZXkgfCBNZXRhS2V5OwogCisgICAgZG91YmxlIHRpbWVTdGFtcFNlY29uZHM7ICAgLy8gU2Vj
b25kcyBzaW5jZSBlcG9jaC4KICAgICB1bnNpZ25lZCBzaXplOyAgIC8vIFRoZSBzaXplIG9mIHRo
aXMgc3RydWN0dXJlLCBmb3Igc2VyaWFsaXphdGlvbi4KICAgICBUeXBlIHR5cGU7CiAgICAgaW50
IG1vZGlmaWVyczsKLSAgICBkb3VibGUgdGltZVN0YW1wU2Vjb25kczsgICAvLyBTZWNvbmRzIHNp
bmNlIGVwb2NoLgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBXZWJJbnB1dEV2ZW50IHx0
eXBlfCBpcyBhIG1vdXNlIGV2ZW50LgogICAgIHN0YXRpYyBib29sIGlzTW91c2VFdmVudFR5cGUo
aW50IHR5cGUpCkBAIC0yMjYsNiArMjMzLDE0IEBACiAgICAgLy8gZG9lc24ndCBodXJ0IHRvIGhh
dmUgdGhpcyBvbmUgYXJvdW5kLgogICAgIGludCBuYXRpdmVLZXlDb2RlOwogCisgICAgLy8gVGhp
cyBpZGVudGlmaWVzIHdoZXRoZXIgdGhpcyBldmVudCB3YXMgdGFnZ2VkIGJ5IHRoZSBzeXN0ZW0g
YXMgYmVpbmcKKyAgICAvLyBhICJzeXN0ZW0ga2V5IiBldmVudCAoc2VlCisgICAgLy8gaHR0cDov
L21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjQ2Mjg2KFZTLjg1KS5hc3B4IGZv
cgorICAgIC8vIGRldGFpbHMpLiAgT3RoZXIgcGxhdGZvcm1zIGRvbid0IGhhdmUgdGhpcyBjb25j
ZXB0LCBidXQgaXQncyBqdXN0CisgICAgLy8gZWFzaWVyIHRvIGxlYXZlIGl0IGFsd2F5cyBmYWxz
ZSB0aGFuIGlmZGVmLgorICAgIC8vIFNlZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUg
Zm9yIHdoeSBhbiBpbnQgaXMgdXNlZCBoZXJlLgorICAgIGJvb2wgaXNTeXN0ZW1LZXk7CisKICAg
ICAvLyB8dGV4dHwgaXMgdGhlIHRleHQgZ2VuZXJhdGVkIGJ5IHRoaXMga2V5c3Ryb2tlLiAgfHVu
bW9kaWZpZWRUZXh0fCBpcwogICAgIC8vIHx0ZXh0fCwgYnV0IHVubW9kaWZpZWQgYnkgYW4gY29u
Y3VycmVudGx5LWhlbGQgbW9kaWZpZXJzIChleGNlcHQKICAgICAvLyBzaGlmdCkuICBUaGlzIGlz
IHVzZWZ1bCBmb3Igd29ya2luZyBvdXQgc2hvcnRjdXQga2V5cy4gIExpbnV4IGFuZApAQCAtMjM4
LDE3ICsyNTMsNiBAQAogICAgIC8vIFRoaXMgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcgdGhlIGtl
eSBwcmVzc2VkLgogICAgIGNoYXIga2V5SWRlbnRpZmllcltrZXlJZGVudGlmaWVyTGVuZ3RoQ2Fw
XTsKIAotICAgIC8vIFRoaXMgaWRlbnRpZmllcyB3aGV0aGVyIHRoaXMgZXZlbnQgd2FzIHRhZ2dl
ZCBieSB0aGUgc3lzdGVtIGFzIGJlaW5nCi0gICAgLy8gYSAic3lzdGVtIGtleSIgZXZlbnQgKHNl
ZQotICAgIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9tczY0NjI4
NihWUy44NSkuYXNweCBmb3IKLSAgICAvLyBkZXRhaWxzKS4gIE90aGVyIHBsYXRmb3JtcyBkb24n
dCBoYXZlIHRoaXMgY29uY2VwdCwgYnV0IGl0J3MganVzdAotICAgIC8vIGVhc2llciB0byBsZWF2
ZSBpdCBhbHdheXMgZmFsc2UgdGhhbiBpZmRlZi4KLSAgICAvLyBpbnQgaXMgdXNlZCBpbnN0ZWFk
IG9mIGJvb2wgdG8gZW5zdXJlIHRoZSBzaXplIG9mIHRoaXMgc3RydWN0dXJlIGlzCi0gICAgLy8g
c3RyaWN0bHkgYWxpZ25lZCB0byBhIGZhY3RvciBvZiA0IGJ5dGVzLCBvdGhlcndpc2UgbWVtb3J5
IGNoZWNrIHRvb2xzCi0gICAgLy8gbGlrZSB2YWxncmluZCBtYXkgY29tcGxhaW4gYWJvdXQgdW5p
bml0aWFsaXplZCBtZW1vcnkgdXNhZ2Ugd2hlbgotICAgIC8vIHRyYW5zZmVyaW5nIGl0IG92ZXIg
dGhlIHdpcmUuCi0gICAgaW50IGlzU3lzdGVtS2V5OwotCiAgICAgV2ViS2V5Ym9hcmRFdmVudCh1
bnNpZ25lZCBzaXplUGFyYW0gPSBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudCkpCiAgICAgICAgIDog
V2ViSW5wdXRFdmVudChzaXplUGFyYW0pCiAgICAgICAgICwgd2luZG93c0tleUNvZGUoMCkKQEAg
LTMyMywxMyArMzI3LDExIEBACiAgICAgZmxvYXQgd2hlZWxUaWNrc1g7CiAgICAgZmxvYXQgd2hl
ZWxUaWNrc1k7CiAKLSAgICAvLyBpbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIGJvb2wgdG8gZW5zdXJl
IHRoZSBzaXplIG9mIHRoaXMgc3RydWN0dXJlIGlzCi0gICAgLy8gc3RyaWN0bHkgYWxpZ25lZCB0
byBhIGZhY3RvciBvZiA0IGJ5dGVzLCBvdGhlcndpc2UgbWVtb3J5IGNoZWNrIHRvb2xzCi0gICAg
Ly8gbGlrZSB2YWxncmluZCBtYXkgY29tcGxhaW4gYWJvdXQgdW5pbml0aWFsaXplZCBtZW1vcnkg
dXNhZ2Ugd2hlbgotICAgIC8vIHRyYW5zZmVyaW5nIGl0IG92ZXIgdGhlIHdpcmUuCisgICAgLy8g
U2VlIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSBmb3Igd2h5IGFuIGludCBpcyB1c2Vk
IGhlcmUuCiAgICAgaW50IHNjcm9sbEJ5UGFnZTsKIAotICAgIGJvb2wgaGFzUHJlY2lzZVNjcm9s
bGluZ0RlbHRhczsKKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZv
ciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KKyAgICBpbnQgaGFzUHJlY2lzZVNjcm9sbGluZ0Rl
bHRhczsKICAgICBQaGFzZSBwaGFzZTsKICAgICBQaGFzZSBtb21lbnR1bVBoYXNlOwogCkBAIC0z
OTksNiArNDAxLDM5IEBACiAgICAgfQogfTsKIAorI3ByYWdtYSBwYWNrKHBvcCkKKworY2xhc3Mg
U2FtZVNpemVBc1dlYklucHV0RXZlbnQgeworICAgIHVuc2lnbmVkIGNoYXIgaW5wdXRfZGF0YVsy
MF07Cit9OworCitjbGFzcyBTYW1lU2l6ZUFzV2ViS2V5Ym9hcmRFdmVudCA6IHB1YmxpYyBTYW1l
U2l6ZUFzV2ViSW5wdXRFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBrZXlib2FyZF9kYXRhWzQ4
XTsKK307CisKK2NsYXNzIFNhbWVTaXplQXNXZWJNb3VzZUV2ZW50IDogcHVibGljIFNhbWVTaXpl
QXNXZWJJbnB1dEV2ZW50IHsKKyAgICB1bnNpZ25lZCBjaGFyIG1vdXNlX2RhdGFbNDBdOworfTsK
KworY2xhc3MgU2FtZVNpemVBc1dlYk1vdXNlV2hlZWxFdmVudCA6IHB1YmxpYyBTYW1lU2l6ZUFz
V2ViTW91c2VFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBtb3VzZXdoZWVsX2RhdGFbMzJdOwor
fTsKKworY2xhc3MgU2FtZVNpemVBc1dlYkdlc3R1cmVFdmVudCA6IHB1YmxpYyBTYW1lU2l6ZUFz
V2ViSW5wdXRFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBnZXN0dXJlX2RhdGFbMjRdOworfTsK
KworY2xhc3MgU2FtZVNpemVBc1dlYlRvdWNoRXZlbnQgOiBwdWJsaWMgU2FtZVNpemVBc1dlYklu
cHV0RXZlbnQgeworICAgIHVuc2lnbmVkIGNoYXIgdG91Y2hfZGF0YVs5NzJdOworfTsKKworQ09N
UElMRV9BU1NFUlQoc2l6ZW9mKFdlYklucHV0RXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2Vi
SW5wdXRFdmVudCksIFdlYklucHV0RXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6
ZW9mKFdlYktleWJvYXJkRXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViS2V5Ym9hcmRFdmVu
dCksIFdlYktleWJvYXJkRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdl
Yk1vdXNlRXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViTW91c2VFdmVudCksIFdlYk1vdXNl
RXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVu
dCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNXZWJNb3VzZVdoZWVsRXZlbnQpLCBXZWJNb3VzZVdoZWVs
RXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYkdlc3R1cmVFdmVudCkg
PT0gc2l6ZW9mKFNhbWVTaXplQXNXZWJHZXN0dXJlRXZlbnQpLCBXZWJHZXN0dXJlRXZlbnRfaGFz
X2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYlRvdWNoRXZlbnQpID09IHNpemVvZihT
YW1lU2l6ZUFzV2ViVG91Y2hFdmVudCksIFdlYlRvdWNoRXZlbnRfaGFzX2dhcHMpOworCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135714</attachid>
            <date>2012-04-04 16:30:42 -0700</date>
            <delta_ts>2012-04-04 16:32:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81570-20120404163104.patch</filename>
            <type>text/plain</type>
            <size>12042</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDQ5Y2FjN2Y0NjM5OWI3N2NiMmUyYjhkYjBkMDJiNmYwYzIwYjM2MWQuLjg5ZTc4YmZhZTQ4ZjM0
MTA4YWQ2ZjYzMGIwYTUyZWI2YjMwMWMzYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDMtMTcgIExlaSBaaGFuZyAgPHRoZXN0aWdAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUHJvcGVybHkgYWxpZ24gbWVtYmVycyBpbiBXZWJJ
bnB1dEV2ZW50IGFuZCBzdWJjbGFzc2VzIHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFdmVu
dC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFdmVudDo6
V2ViSW5wdXRFdmVudCk6CisgICAgICAgIChXZWJLZXlib2FyZEV2ZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViVG91Y2hFdmVudDo6V2ViVG91Y2hFdmVudCk6CisKIDIwMTItMDQtMDQgIEthdXNh
bHlhIE1hZGh1c3VkaGFuYW4gIDxrbWFkaHVzdUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nv
dmVyaXR5XSBBZGRyZXNzIHNvbWUgdW5pbml0IGNvbnN0cnVjdG9yIHZhbHVlcy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaAppbmRleCAzOGZmZmI4OGY0
ZTNjZDIyNjQwZDRkNjM0OWM0Njk2MTE4MDljNmZiLi42MmI0MTBiNDM0NjhjZThlOTNlYWYyZTFm
ZGVjNWVkZjQwNTEyM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJbnB1dEV2ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
SW5wdXRFdmVudC5oCkBAIC00NSwxNiArNDUsMzEgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAvLyBX
QVJOSU5HISBUaGVzZSBjbGFzc2VzIG11c3QgcmVtYWluIFBPRHMgKHBsYWluIG9sZCBkYXRhKS4g
IFRoZXkgYXJlCiAvLyBpbnRlbmRlZCB0byBiZSAic2VyaWFsaXphYmxlIiBieSBjb3B5aW5nIHRo
ZWlyIHJhdyBieXRlcywgc28gdGhleSBtdXN0CiAvLyBub3QgY29udGFpbiBhbnkgbm9uLWJpdC1j
b3B5YWJsZSBtZW1iZXIgdmFyaWFibGVzIQorLy8KKy8vIEZ1cnRoZXJtb3JlLCB0aGUgY2xhc3Mg
bWVtYmVycyBuZWVkIHRvIGJlIGNhcmVmdWxseSBsYWlkIG91dCBpbiBtZW1vcnkKKy8vIHNvIHRo
ZXkgYXJlIGFsaWduZWQgcHJvcGVybHksIG90aGVyd2lzZSBtZW1vcnkgY2hlY2sgdG9vbHMgbGlr
ZSBWYWxncmluZAorLy8gd2lsbCBjb21wbGFpbiBhYm91dCB1bmluaXRpYWxpemVkIG1lbW9yeSB1
c2FnZSB3aGVuIHRyYW5zZmVycmluZyB0aGVzZQorLy8gY2xhc3NlcyBvdmVyIHRoZSB3aXJlLgor
Ly8gRm9yIGluc3RhbmNlLCB1c2UgaW50cyBpbnN0ZWFkIG9mIGJvb2xzLCBhbmQgYXZvaWQ6Cisv
LyAgIGludCBmb287ICAgICAvLyBzaXplID0gNCwgb2Zmc2V0ID0gMAorLy8gICBkb3VibGUgYmFy
OyAgLy8gc2l6ZSA9IDgsIG9mZnNldCA9IDggLT4gbGVhdmVzIGEgNCBieXRlIGdhcCEKKy8vICAg
aW50IHF1eDsgICAgIC8vIHNpemUgPSA0LCBvZmZzZXQgPSAxNgorLy8gICAvLyBNYXkgbGVhdmUg
YW5vdGhlciA0IGJ5dGVzIHVuaW5pdGlhbGl6ZWQgYXQgdGhlIGVuZCEKKy8vIGluc3RlYWQsIGRv
OgorLy8gICBkb3VibGUgYmFyOyAgLy8gc2l6ZSA9IDgsIG9mZnNldCA9IDAKKy8vICAgaW50IGZv
bzsgICAgIC8vIHNpemUgPSA0LCBvZmZzZXQgPSA4CisvLyAgIGludCBxdXg7ICAgICAvLyBzaXpl
ID0gNCwgb2Zmc2V0ID0gMTIKIAogLy8gV2ViSW5wdXRFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJJ
bnB1dEV2ZW50IHsKIHB1YmxpYzoKICAgICBXZWJJbnB1dEV2ZW50KHVuc2lnbmVkIHNpemVQYXJh
bSA9IHNpemVvZihXZWJJbnB1dEV2ZW50KSkKLSAgICAgICAgOiBzaXplKHNpemVQYXJhbSkKKyAg
ICAgICAgOiB0aW1lU3RhbXBTZWNvbmRzKDAuMCkKKyAgICAgICAgLCBzaXplKHNpemVQYXJhbSkK
ICAgICAgICAgLCB0eXBlKFVuZGVmaW5lZCkKICAgICAgICAgLCBtb2RpZmllcnMoMCkKLSAgICAg
ICAgLCB0aW1lU3RhbXBTZWNvbmRzKDAuMCkgeyB9CisgICAgICAgICwgcGFkZGluZygwKSB7IH0K
IAogICAgIC8vIFdoZW4gd2UgdXNlIGFuIGlucHV0IG1ldGhvZCAob3IgYW4gaW5wdXQgbWV0aG9k
IGVkaXRvciksIHdlIHJlY2VpdmUKICAgICAvLyB0d28gZXZlbnRzIGZvciBhIGtleXByZXNzLiBU
aGUgZm9ybWVyIGV2ZW50IGlzIGEga2V5ZG93biwgd2hpY2gKQEAgLTE0NSwxMCArMTYwLDEzIEBA
IHB1YmxpYzoKIAogICAgIHN0YXRpYyBjb25zdCBpbnQgSW5wdXRNb2RpZmllcnMgPSBTaGlmdEtl
eSB8IENvbnRyb2xLZXkgfCBBbHRLZXkgfCBNZXRhS2V5OwogCisgICAgZG91YmxlIHRpbWVTdGFt
cFNlY29uZHM7ICAgLy8gU2Vjb25kcyBzaW5jZSBlcG9jaC4KICAgICB1bnNpZ25lZCBzaXplOyAg
IC8vIFRoZSBzaXplIG9mIHRoaXMgc3RydWN0dXJlLCBmb3Igc2VyaWFsaXphdGlvbi4KICAgICBU
eXBlIHR5cGU7CiAgICAgaW50IG1vZGlmaWVyczsKLSAgICBkb3VibGUgdGltZVN0YW1wU2Vjb25k
czsgICAvLyBTZWNvbmRzIHNpbmNlIGVwb2NoLgorCisgICAgLy8gU2VlIGNvbW1lbnQgYXQgdGhl
IHRvcCBvZiB0aGUgZmlsZSBmb3Igd2h5IHRoaXMgaXMgaGVyZS4KKyAgICBpbnQgcGFkZGluZzsK
IAogICAgIC8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgV2ViSW5wdXRFdmVudCB8dHlwZXwgaXMgYSBt
b3VzZSBldmVudC4KICAgICBzdGF0aWMgYm9vbCBpc01vdXNlRXZlbnRUeXBlKGludCB0eXBlKQpA
QCAtMjAyLDYgKzIyMCwxNSBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorQ09NUElMRV9BU1NFUlQo
CisgICAgc2l6ZW9mKFdlYklucHV0RXZlbnQpID09IChzaXplb2YoV2ViSW5wdXRFdmVudDo6dGlt
ZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdl
YklucHV0RXZlbnQ6OnNpemUpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv
ZihXZWJJbnB1dEV2ZW50Ojp0eXBlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplb2YoV2ViSW5wdXRFdmVudDo6bW9kaWZpZXJzKSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzaXplb2YoV2ViSW5wdXRFdmVudDo6cGFkZGluZykpLAorICAgIFdlYklucHV0RXZl
bnRfbWlzYWxpZ25lZAorKTsKKwogLy8gV2ViS2V5Ym9hcmRFdmVudCAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJL
ZXlib2FyZEV2ZW50IDogcHVibGljIFdlYklucHV0RXZlbnQgewpAQCAtMjQzLDEwICsyNzAsNyBA
QCBwdWJsaWM6CiAgICAgLy8gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5
L21zNjQ2Mjg2KFZTLjg1KS5hc3B4IGZvcgogICAgIC8vIGRldGFpbHMpLiAgT3RoZXIgcGxhdGZv
cm1zIGRvbid0IGhhdmUgdGhpcyBjb25jZXB0LCBidXQgaXQncyBqdXN0CiAgICAgLy8gZWFzaWVy
IHRvIGxlYXZlIGl0IGFsd2F5cyBmYWxzZSB0aGFuIGlmZGVmLgotICAgIC8vIGludCBpcyB1c2Vk
IGluc3RlYWQgb2YgYm9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMK
LSAgICAvLyBzdHJpY3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVyd2lz
ZSBtZW1vcnkgY2hlY2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFpbiBh
Ym91dCB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJpbmcg
aXQgb3ZlciB0aGUgd2lyZS4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBm
aWxlIGZvciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KICAgICBpbnQgaXNTeXN0ZW1LZXk7CiAK
ICAgICBXZWJLZXlib2FyZEV2ZW50KHVuc2lnbmVkIHNpemVQYXJhbSA9IHNpemVvZihXZWJLZXli
b2FyZEV2ZW50KSkKQEAgLTI2NSw2ICsyODksMjEgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBzZXRLZXlJZGVudGlmaWVyRnJvbVdpbmRvd3NLZXlDb2RlKCk7CiB9OwogCitDT01Q
SUxFX0FTU0VSVCgKKyAgICBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudCkgPT0gKHNpemVvZihXZWJL
ZXlib2FyZEV2ZW50Ojp0aW1lU3RhbXBTZWNvbmRzKSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudDo6c2l6ZSkgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQ6OnR5cGUpICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJLZXlib2FyZEV2ZW50Ojpt
b2RpZmllcnMpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJL
ZXlib2FyZEV2ZW50OjpwYWRkaW5nKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudDo6d2luZG93c0tleUNvZGUpICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJLZXlib2FyZEV2ZW50OjpuYXRpdmVLZXlD
b2RlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViS2V5Ym9h
cmRFdmVudDo6dGV4dCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFdlYktleWJvYXJkRXZlbnQ6OnVubW9kaWZpZWRUZXh0KSArCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudDo6a2V5SWRlbnRpZmllcikgKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQ6
OmlzU3lzdGVtS2V5KSksCisgICAgV2ViS2V5Ym9hcmRFdmVudF9taXNnYWxpZ25lZAorKTsKKwog
Ly8gV2ViTW91c2VFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJNb3VzZUV2ZW50IDogcHVibGljIFdl
YklucHV0RXZlbnQgewpAQCAtMzA0LDYgKzM0MywyNSBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAor
Q09NUElMRV9BU1NFUlQoCisgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQpID09IChzaXplb2YoV2Vi
TW91c2VFdmVudDo6dGltZVN0YW1wU2Vjb25kcykgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6OnNpemUpICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNpemVvZihXZWJNb3VzZUV2ZW50Ojp0eXBlKSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6bW9kaWZpZXJzKSArCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVudDo6cGFkZGluZykgKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6OmJ1dHRv
bikgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6
OngpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZUV2ZW50
Ojp5KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VFdmVu
dDo6d2luZG93WCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1v
dXNlRXZlbnQ6OndpbmRvd1kpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv
ZihXZWJNb3VzZUV2ZW50OjpnbG9iYWxYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBzaXplb2YoV2ViTW91c2VFdmVudDo6Z2xvYmFsWSkgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6Om1vdmVtZW50WCkgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6Om1vdmVtZW50WSkgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlRXZlbnQ6OmNsaWNrQ291
bnQpKSwKKyAgICBXZWJNb3VzZUV2ZW50X21pc2dhbGlnbmVkCispOworCiAvLyBXZWJNb3VzZVdo
ZWVsRXZlbnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKIGNsYXNzIFdlYk1vdXNlV2hlZWxFdmVudCA6IHB1YmxpYyBXZWJNb3VzZUV2
ZW50IHsKQEAgLTMyMywxMyArMzgxLDExIEBAIHB1YmxpYzoKICAgICBmbG9hdCB3aGVlbFRpY2tz
WDsKICAgICBmbG9hdCB3aGVlbFRpY2tzWTsKIAotICAgIC8vIGludCBpcyB1c2VkIGluc3RlYWQg
b2YgYm9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMKLSAgICAvLyBz
dHJpY3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVyd2lzZSBtZW1vcnkg
Y2hlY2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFpbiBhYm91dCB1bmlu
aXRpYWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJpbmcgaXQgb3ZlciB0
aGUgd2lyZS4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciB3
aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KICAgICBpbnQgc2Nyb2xsQnlQYWdlOwogCi0gICAgYm9v
bCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOworICAgIC8vIFNlZSBjb21tZW50IGF0IHRoZSB0
b3Agb2YgdGhlIGZpbGUgZm9yIHdoeSBhbiBpbnQgaXMgdXNlZCBoZXJlLgorICAgIGludCBoYXNQ
cmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwogICAgIFBoYXNlIHBoYXNlOwogICAgIFBoYXNlIG1vbWVu
dHVtUGhhc2U7CiAKQEAgLTM0Nyw2ICs0MDMsMzMgQEAgcHVibGljOgogICAgIH0KIH07CiAKK0NP
TVBJTEVfQVNTRVJUKAorICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQpID09IChzaXplb2Yo
V2ViTW91c2VXaGVlbEV2ZW50Ojp0aW1lU3RhbXBTZWNvbmRzKSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OnNpemUpICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVu
dDo6dHlwZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2Vi
TW91c2VXaGVlbEV2ZW50Ojptb2RpZmllcnMpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6cGFkZGluZykgKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50OjpidXR0
b24pICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNl
V2hlZWxFdmVudDo6eCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl
b2YoV2ViTW91c2VXaGVlbEV2ZW50Ojp5KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OndpbmRvd1gpICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6d2luZG93
WSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VX
aGVlbEV2ZW50OjpnbG9iYWxYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6Omdsb2JhbFkpICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6bW92ZW1lbnRYKSAr
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVs
RXZlbnQ6Om1vdmVtZW50WSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplb2YoV2ViTW91c2VXaGVlbEV2ZW50OjpjbGlja0NvdW50KSArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6OmRlbHRhWCkgKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViTW91c2VXaGVlbEV2
ZW50OjpkZWx0YVkpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFdlYk1vdXNlV2hlZWxFdmVudDo6d2hlZWxUaWNrc1gpICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudDo6d2hlZWxUaWNrc1kpICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYk1vdXNlV2hlZWxF
dmVudDo6c2Nyb2xsQnlQYWdlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQ6Omhhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMpICsK
KyAgICBzaXplb2YoV2ViTW91c2VXaGVlbEV2ZW50OjpwaGFzZSkgKworICAgIHNpemVvZihXZWJN
b3VzZVdoZWVsRXZlbnQ6Om1vbWVudHVtUGhhc2UpKSwKKyAgICBXZWJNb3VzZVdoZWVsRXZlbnRf
bWlzZ2FsaWduZWQKKyk7CisKIC8vIFdlYkdlc3R1cmVFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJH
ZXN0dXJlRXZlbnQgOiBwdWJsaWMgV2ViSW5wdXRFdmVudCB7CkBAIC0zNzIsMzMgKzQ1NSw2OSBA
QCBwdWJsaWM6CiAgICAgfQogfTsKIAorQ09NUElMRV9BU1NFUlQoCisgICAgc2l6ZW9mKFdlYkdl
c3R1cmVFdmVudCkgPT0gKHNpemVvZihXZWJHZXN0dXJlRXZlbnQ6OnRpbWVTdGFtcFNlY29uZHMp
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYkdlc3R1cmVFdmVu
dDo6c2l6ZSkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViR2Vz
dHVyZUV2ZW50Ojp0eXBlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv
ZihXZWJHZXN0dXJlRXZlbnQ6Om1vZGlmaWVycykgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzaXplb2YoV2ViR2VzdHVyZUV2ZW50OjpwYWRkaW5nKSArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJHZXN0dXJlRXZlbnQ6OngpICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYkdlc3R1cmVFdmVudDo6eSkgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViR2VzdHVyZUV2ZW50OjpnbG9i
YWxYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJHZXN0dXJl
RXZlbnQ6Omdsb2JhbFkpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9m
KFdlYkdlc3R1cmVFdmVudDo6ZGVsdGFYKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNpemVvZihXZWJHZXN0dXJlRXZlbnQ6OmRlbHRhWSkpLAorICAgIFdlYkdlc3R1cmVFdmVu
dF9taXNnYWxpZ25lZAorKTsKKwogLy8gV2ViVG91Y2hFdmVudCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBjbGFzcyBXZWJU
b3VjaEV2ZW50IDogcHVibGljIFdlYklucHV0RXZlbnQgewogcHVibGljOgogICAgIGVudW0geyB0
b3VjaGVzTGVuZ3RoQ2FwID0gOCB9OwogCi0gICAgdW5zaWduZWQgdG91Y2hlc0xlbmd0aDsKICAg
ICAvLyBMaXN0IG9mIGFsbCB0b3VjaGVzIHdoaWNoIGFyZSBjdXJyZW50bHkgZG93bi4KICAgICBX
ZWJUb3VjaFBvaW50IHRvdWNoZXNbdG91Y2hlc0xlbmd0aENhcF07CiAKLSAgICB1bnNpZ25lZCBj
aGFuZ2VkVG91Y2hlc0xlbmd0aDsKICAgICAvLyBMaXN0IG9mIGFsbCB0b3VjaGVzIHdob3NlIHN0
YXRlIGhhcyBjaGFuZ2VkIHNpbmNlIHRoZSBsYXN0IFdlYlRvdWNoRXZlbnQKICAgICBXZWJUb3Vj
aFBvaW50IGNoYW5nZWRUb3VjaGVzW3RvdWNoZXNMZW5ndGhDYXBdOwogCi0gICAgdW5zaWduZWQg
dGFyZ2V0VG91Y2hlc0xlbmd0aDsKICAgICAvLyBMaXN0IG9mIGFsbCB0b3VjaGVzIHdoaWNoIGFy
ZSBjdXJyZW50bHkgZG93biBhbmQgYXJlIHRhcmdldGluZyB0aGUgZXZlbnQgcmVjaXBpZW50Lgog
ICAgIFdlYlRvdWNoUG9pbnQgdGFyZ2V0VG91Y2hlc1t0b3VjaGVzTGVuZ3RoQ2FwXTsKIAorICAg
IHVuc2lnbmVkIHRvdWNoZXNMZW5ndGg7CisgICAgdW5zaWduZWQgY2hhbmdlZFRvdWNoZXNMZW5n
dGg7CisgICAgdW5zaWduZWQgdGFyZ2V0VG91Y2hlc0xlbmd0aDsKKworICAgIC8vIFNlZSBjb21t
ZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIHdoeSB0aGlzIGlzIGhlcmUuCisgICAgaW50
IHBhZGRpbmcyOworCiAgICAgV2ViVG91Y2hFdmVudCh1bnNpZ25lZCBzaXplUGFyYW0gPSBzaXpl
b2YoV2ViVG91Y2hFdmVudCkpCiAgICAgICAgIDogV2ViSW5wdXRFdmVudChzaXplUGFyYW0pCiAg
ICAgICAgICwgdG91Y2hlc0xlbmd0aCgwKQogICAgICAgICAsIGNoYW5nZWRUb3VjaGVzTGVuZ3Ro
KDApCiAgICAgICAgICwgdGFyZ2V0VG91Y2hlc0xlbmd0aCgwKQorICAgICAgICAsIHBhZGRpbmcy
KDApCiAgICAgewogICAgIH0KIH07CiAKK0NPTVBJTEVfQVNTRVJUKAorICAgIHNpemVvZihXZWJU
b3VjaEV2ZW50KSA9PSAoc2l6ZW9mKFdlYlRvdWNoRXZlbnQ6OnRpbWVTdGFtcFNlY29uZHMpICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYlRvdWNoRXZlbnQ6
OnNpemUpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYlRv
dWNoRXZlbnQ6OnR5cGUpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6
ZW9mKFdlYlRvdWNoRXZlbnQ6Om1vZGlmaWVycykgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6cGFkZGluZykgKworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6dG91Y2hlcykgKwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoV2ViVG91Y2hFdmVudDo6
Y2hhbmdlZFRvdWNoZXMpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6
ZW9mKFdlYlRvdWNoRXZlbnQ6OnRhcmdldFRvdWNoZXMpICsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZW9mKFdlYlRvdWNoRXZlbnQ6OnRvdWNoZXNMZW5ndGgpICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFdlYlRvdWNoRXZlbnQ6OmNo
YW5nZWRUb3VjaGVzTGVuZ3RoKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNpemVvZihXZWJUb3VjaEV2ZW50Ojp0YXJnZXRUb3VjaGVzTGVuZ3RoKSArCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihXZWJUb3VjaEV2ZW50OjpwYWRkaW5nMikp
LAorICAgIFdlYlRvdWNoRXZlbnRfbWlzZ2FsaWduZWQKKyk7CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdAogCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135715</attachid>
            <date>2012-04-04 16:32:43 -0700</date>
            <delta_ts>2012-04-04 17:00:15 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81570-20120404163305.patch</filename>
            <type>text/plain</type>
            <size>6253</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDQ5Y2FjN2Y0NjM5OWI3N2NiMmUyYjhkYjBkMDJiNmYwYzIwYjM2MWQuLjQ0M2RjMmMwYzg0YjJk
MmIzOThmMmYwMmQ2N2IyOWQ2YTI3MTEyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDMtMTcgIExlaSBaaGFuZyAgPHRoZXN0aWdAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUHJvcGVybHkgYWxpZ24gbWVtYmVycyBpbiBXZWJJ
bnB1dEV2ZW50IGFuZCBzdWJjbGFzc2VzIHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYklucHV0
RXZlbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYklucHV0RXZl
bnQ6OldlYklucHV0RXZlbnQpOgorICAgICAgICAoV2ViS2V5Ym9hcmRFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlRvdWNoRXZlbnQ6OldlYlRvdWNoRXZlbnQpOgorCiAyMDEyLTA0LTA0ICBL
YXVzYWx5YSBNYWRodXN1ZGhhbmFuICA8a21hZGh1c3VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDb3Zlcml0eV0gQWRkcmVzcyBzb21lIHVuaW5pdCBjb25zdHJ1Y3RvciB2YWx1ZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKaW5kZXggMzhmZmZi
ODhmNGUzY2QyMjY0MGQ0ZDYzNDljNDY5NjExODA5YzZmYi4uNmEzNTkyZTk3MWRhNzI0YWJhMmVj
OWU5ZmZjMDVkZjRiMzI1NTI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSW5wdXRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklucHV0RXZlbnQuaApAQCAtNDUsMTYgKzQ1LDIzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Ly8gV0FSTklORyEgVGhlc2UgY2xhc3NlcyBtdXN0IHJlbWFpbiBQT0RzIChwbGFpbiBvbGQgZGF0
YSkuICBUaGV5IGFyZQogLy8gaW50ZW5kZWQgdG8gYmUgInNlcmlhbGl6YWJsZSIgYnkgY29weWlu
ZyB0aGVpciByYXcgYnl0ZXMsIHNvIHRoZXkgbXVzdAogLy8gbm90IGNvbnRhaW4gYW55IG5vbi1i
aXQtY29weWFibGUgbWVtYmVyIHZhcmlhYmxlcyEKKy8vCisvLyBGdXJ0aGVybW9yZSwgdGhlIGNs
YXNzIG1lbWJlcnMgbmVlZCB0byBiZSBwYWNrZWQgc28gdGhleSBhcmUgYWxpZ25lZAorLy8gcHJv
cGVybHkgYW5kIGRvbid0IGhhdmUgcGFkZGluZ3MvZ2Fwcywgb3RoZXJ3aXNlIG1lbW9yeSBjaGVj
ayB0b29scworLy8gbGlrZSBWYWxncmluZCB3aWxsIGNvbXBsYWluIGFib3V0IHVuaW5pdGlhbGl6
ZWQgbWVtb3J5IHVzYWdlIHdoZW4KKy8vIHRyYW5zZmVycmluZyB0aGVzZSBjbGFzc2VzIG92ZXIg
dGhlIHdpcmUuCisKKyNwcmFnbWEgcGFjayhwdXNoLCA0KQogCiAvLyBXZWJJbnB1dEV2ZW50IC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKIGNsYXNzIFdlYklucHV0RXZlbnQgewogcHVibGljOgogICAgIFdlYklucHV0RXZlbnQo
dW5zaWduZWQgc2l6ZVBhcmFtID0gc2l6ZW9mKFdlYklucHV0RXZlbnQpKQotICAgICAgICA6IHNp
emUoc2l6ZVBhcmFtKQorICAgICAgICA6IHRpbWVTdGFtcFNlY29uZHMoMC4wKQorICAgICAgICAs
IHNpemUoc2l6ZVBhcmFtKQogICAgICAgICAsIHR5cGUoVW5kZWZpbmVkKQotICAgICAgICAsIG1v
ZGlmaWVycygwKQotICAgICAgICAsIHRpbWVTdGFtcFNlY29uZHMoMC4wKSB7IH0KKyAgICAgICAg
LCBtb2RpZmllcnMoMCkgeyB9CiAKICAgICAvLyBXaGVuIHdlIHVzZSBhbiBpbnB1dCBtZXRob2Qg
KG9yIGFuIGlucHV0IG1ldGhvZCBlZGl0b3IpLCB3ZSByZWNlaXZlCiAgICAgLy8gdHdvIGV2ZW50
cyBmb3IgYSBrZXlwcmVzcy4gVGhlIGZvcm1lciBldmVudCBpcyBhIGtleWRvd24sIHdoaWNoCkBA
IC0xNDUsMTAgKzE1MiwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3QgaW50IElucHV0
TW9kaWZpZXJzID0gU2hpZnRLZXkgfCBDb250cm9sS2V5IHwgQWx0S2V5IHwgTWV0YUtleTsKIAor
ICAgIGRvdWJsZSB0aW1lU3RhbXBTZWNvbmRzOyAgIC8vIFNlY29uZHMgc2luY2UgZXBvY2guCiAg
ICAgdW5zaWduZWQgc2l6ZTsgICAvLyBUaGUgc2l6ZSBvZiB0aGlzIHN0cnVjdHVyZSwgZm9yIHNl
cmlhbGl6YXRpb24uCiAgICAgVHlwZSB0eXBlOwogICAgIGludCBtb2RpZmllcnM7Ci0gICAgZG91
YmxlIHRpbWVTdGFtcFNlY29uZHM7ICAgLy8gU2Vjb25kcyBzaW5jZSBlcG9jaC4KIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGUgV2ViSW5wdXRFdmVudCB8dHlwZXwgaXMgYSBtb3VzZSBldmVu
dC4KICAgICBzdGF0aWMgYm9vbCBpc01vdXNlRXZlbnRUeXBlKGludCB0eXBlKQpAQCAtMjI2LDYg
KzIzMywxNCBAQCBwdWJsaWM6CiAgICAgLy8gZG9lc24ndCBodXJ0IHRvIGhhdmUgdGhpcyBvbmUg
YXJvdW5kLgogICAgIGludCBuYXRpdmVLZXlDb2RlOwogCisgICAgLy8gVGhpcyBpZGVudGlmaWVz
IHdoZXRoZXIgdGhpcyBldmVudCB3YXMgdGFnZ2VkIGJ5IHRoZSBzeXN0ZW0gYXMgYmVpbmcKKyAg
ICAvLyBhICJzeXN0ZW0ga2V5IiBldmVudCAoc2VlCisgICAgLy8gaHR0cDovL21zZG4ubWljcm9z
b2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjQ2Mjg2KFZTLjg1KS5hc3B4IGZvcgorICAgIC8vIGRl
dGFpbHMpLiAgT3RoZXIgcGxhdGZvcm1zIGRvbid0IGhhdmUgdGhpcyBjb25jZXB0LCBidXQgaXQn
cyBqdXN0CisgICAgLy8gZWFzaWVyIHRvIGxlYXZlIGl0IGFsd2F5cyBmYWxzZSB0aGFuIGlmZGVm
LgorICAgIC8vIFNlZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIHdoeSBhbiBp
bnQgaXMgdXNlZCBoZXJlLgorICAgIGJvb2wgaXNTeXN0ZW1LZXk7CisKICAgICAvLyB8dGV4dHwg
aXMgdGhlIHRleHQgZ2VuZXJhdGVkIGJ5IHRoaXMga2V5c3Ryb2tlLiAgfHVubW9kaWZpZWRUZXh0
fCBpcwogICAgIC8vIHx0ZXh0fCwgYnV0IHVubW9kaWZpZWQgYnkgYW4gY29uY3VycmVudGx5LWhl
bGQgbW9kaWZpZXJzIChleGNlcHQKICAgICAvLyBzaGlmdCkuICBUaGlzIGlzIHVzZWZ1bCBmb3Ig
d29ya2luZyBvdXQgc2hvcnRjdXQga2V5cy4gIExpbnV4IGFuZApAQCAtMjM4LDE3ICsyNTMsNiBA
QCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyBhIHN0cmluZyBpZGVudGlmeWluZyB0aGUga2V5IHBy
ZXNzZWQuCiAgICAgY2hhciBrZXlJZGVudGlmaWVyW2tleUlkZW50aWZpZXJMZW5ndGhDYXBdOwog
Ci0gICAgLy8gVGhpcyBpZGVudGlmaWVzIHdoZXRoZXIgdGhpcyBldmVudCB3YXMgdGFnZ2VkIGJ5
IHRoZSBzeXN0ZW0gYXMgYmVpbmcKLSAgICAvLyBhICJzeXN0ZW0ga2V5IiBldmVudCAoc2VlCi0g
ICAgLy8gaHR0cDovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNjQ2Mjg2KFZT
Ljg1KS5hc3B4IGZvcgotICAgIC8vIGRldGFpbHMpLiAgT3RoZXIgcGxhdGZvcm1zIGRvbid0IGhh
dmUgdGhpcyBjb25jZXB0LCBidXQgaXQncyBqdXN0Ci0gICAgLy8gZWFzaWVyIHRvIGxlYXZlIGl0
IGFsd2F5cyBmYWxzZSB0aGFuIGlmZGVmLgotICAgIC8vIGludCBpcyB1c2VkIGluc3RlYWQgb2Yg
Ym9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMKLSAgICAvLyBzdHJp
Y3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVyd2lzZSBtZW1vcnkgY2hl
Y2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFpbiBhYm91dCB1bmluaXRp
YWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJpbmcgaXQgb3ZlciB0aGUg
d2lyZS4KLSAgICBpbnQgaXNTeXN0ZW1LZXk7Ci0KICAgICBXZWJLZXlib2FyZEV2ZW50KHVuc2ln
bmVkIHNpemVQYXJhbSA9IHNpemVvZihXZWJLZXlib2FyZEV2ZW50KSkKICAgICAgICAgOiBXZWJJ
bnB1dEV2ZW50KHNpemVQYXJhbSkKICAgICAgICAgLCB3aW5kb3dzS2V5Q29kZSgwKQpAQCAtMzIz
LDEzICszMjcsMTEgQEAgcHVibGljOgogICAgIGZsb2F0IHdoZWVsVGlja3NYOwogICAgIGZsb2F0
IHdoZWVsVGlja3NZOwogCi0gICAgLy8gaW50IGlzIHVzZWQgaW5zdGVhZCBvZiBib29sIHRvIGVu
c3VyZSB0aGUgc2l6ZSBvZiB0aGlzIHN0cnVjdHVyZSBpcwotICAgIC8vIHN0cmljdGx5IGFsaWdu
ZWQgdG8gYSBmYWN0b3Igb2YgNCBieXRlcywgb3RoZXJ3aXNlIG1lbW9yeSBjaGVjayB0b29scwot
ICAgIC8vIGxpa2UgdmFsZ3JpbmQgbWF5IGNvbXBsYWluIGFib3V0IHVuaW5pdGlhbGl6ZWQgbWVt
b3J5IHVzYWdlIHdoZW4KLSAgICAvLyB0cmFuc2ZlcmluZyBpdCBvdmVyIHRoZSB3aXJlLgorICAg
IC8vIFNlZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIHdoeSBhbiBpbnQgaXMg
dXNlZCBoZXJlLgogICAgIGludCBzY3JvbGxCeVBhZ2U7CiAKLSAgICBib29sIGhhc1ByZWNpc2VT
Y3JvbGxpbmdEZWx0YXM7CisgICAgLy8gU2VlIGNvbW1lbnQgYXQgdGhlIHRvcCBvZiB0aGUgZmls
ZSBmb3Igd2h5IGFuIGludCBpcyB1c2VkIGhlcmUuCisgICAgaW50IGhhc1ByZWNpc2VTY3JvbGxp
bmdEZWx0YXM7CiAgICAgUGhhc2UgcGhhc2U7CiAgICAgUGhhc2UgbW9tZW50dW1QaGFzZTsKIApA
QCAtMzk5LDYgKzQwMSwzOSBAQCBwdWJsaWM6CiAgICAgfQogfTsKIAorI3ByYWdtYSBwYWNrKHBv
cCkKKworY2xhc3MgU2FtZVNpemVBc1dlYklucHV0RXZlbnQgeworICAgIHVuc2lnbmVkIGNoYXIg
aW5wdXRfZGF0YVsyMF07Cit9OworCitjbGFzcyBTYW1lU2l6ZUFzV2ViS2V5Ym9hcmRFdmVudCA6
IHB1YmxpYyBTYW1lU2l6ZUFzV2ViSW5wdXRFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBrZXli
b2FyZF9kYXRhWzQ4XTsKK307CisKK2NsYXNzIFNhbWVTaXplQXNXZWJNb3VzZUV2ZW50IDogcHVi
bGljIFNhbWVTaXplQXNXZWJJbnB1dEV2ZW50IHsKKyAgICB1bnNpZ25lZCBjaGFyIG1vdXNlX2Rh
dGFbNDBdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYk1vdXNlV2hlZWxFdmVudCA6IHB1Ymxp
YyBTYW1lU2l6ZUFzV2ViTW91c2VFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBtb3VzZXdoZWVs
X2RhdGFbMzJdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYkdlc3R1cmVFdmVudCA6IHB1Ymxp
YyBTYW1lU2l6ZUFzV2ViSW5wdXRFdmVudCB7CisgICAgdW5zaWduZWQgY2hhciBnZXN0dXJlX2Rh
dGFbMjRdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYlRvdWNoRXZlbnQgOiBwdWJsaWMgU2Ft
ZVNpemVBc1dlYklucHV0RXZlbnQgeworICAgIHVuc2lnbmVkIGNoYXIgdG91Y2hfZGF0YVs5NzJd
OworfTsKKworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYklucHV0RXZlbnQpID09IHNpemVvZihT
YW1lU2l6ZUFzV2ViSW5wdXRFdmVudCksIFdlYklucHV0RXZlbnRfaGFzX2dhcHMpOworQ09NUElM
RV9BU1NFUlQoc2l6ZW9mKFdlYktleWJvYXJkRXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2Vi
S2V5Ym9hcmRFdmVudCksIFdlYktleWJvYXJkRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NF
UlQoc2l6ZW9mKFdlYk1vdXNlRXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViTW91c2VFdmVu
dCksIFdlYk1vdXNlRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYk1v
dXNlV2hlZWxFdmVudCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNXZWJNb3VzZVdoZWVsRXZlbnQpLCBX
ZWJNb3VzZVdoZWVsRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYkdl
c3R1cmVFdmVudCkgPT0gc2l6ZW9mKFNhbWVTaXplQXNXZWJHZXN0dXJlRXZlbnQpLCBXZWJHZXN0
dXJlRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYlRvdWNoRXZlbnQp
ID09IHNpemVvZihTYW1lU2l6ZUFzV2ViVG91Y2hFdmVudCksIFdlYlRvdWNoRXZlbnRfaGFzX2dh
cHMpOworCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135724</attachid>
            <date>2012-04-04 17:00:19 -0700</date>
            <delta_ts>2012-04-05 10:14:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81570-20120404170041.patch</filename>
            <type>text/plain</type>
            <size>6284</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDQ5Y2FjN2Y0NjM5OWI3N2NiMmUyYjhkYjBkMDJiNmYwYzIwYjM2MWQuLjQ0M2RjMmMwYzg0YjJk
MmIzOThmMmYwMmQ2N2IyOWQ2YTI3MTEyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDMtMTcgIExlaSBaaGFuZyAgPHRoZXN0aWdAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUHJvcGVybHkgYWxpZ24gbWVtYmVycyBpbiBXZWJJ
bnB1dEV2ZW50IGFuZCBzdWJjbGFzc2VzIHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYklucHV0
RXZlbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYklucHV0RXZl
bnQ6OldlYklucHV0RXZlbnQpOgorICAgICAgICAoV2ViS2V5Ym9hcmRFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlRvdWNoRXZlbnQ6OldlYlRvdWNoRXZlbnQpOgorCiAyMDEyLTA0LTA0ICBL
YXVzYWx5YSBNYWRodXN1ZGhhbmFuICA8a21hZGh1c3VAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFtDb3Zlcml0eV0gQWRkcmVzcyBzb21lIHVuaW5pdCBjb25zdHJ1Y3RvciB2YWx1ZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50LmgKaW5kZXggMzhmZmZi
ODhmNGUzY2QyMjY0MGQ0ZDYzNDljNDY5NjExODA5YzZmYi4uYjYxM2MyYzk1MDBlNTQ4NjI4Mzgw
YmIwNWRkM2NmMDA0MWUyOWExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSW5wdXRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYklucHV0RXZlbnQuaApAQCAtNDUsMTYgKzQ1LDIzIEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
Ly8gV0FSTklORyEgVGhlc2UgY2xhc3NlcyBtdXN0IHJlbWFpbiBQT0RzIChwbGFpbiBvbGQgZGF0
YSkuICBUaGV5IGFyZQogLy8gaW50ZW5kZWQgdG8gYmUgInNlcmlhbGl6YWJsZSIgYnkgY29weWlu
ZyB0aGVpciByYXcgYnl0ZXMsIHNvIHRoZXkgbXVzdAogLy8gbm90IGNvbnRhaW4gYW55IG5vbi1i
aXQtY29weWFibGUgbWVtYmVyIHZhcmlhYmxlcyEKKy8vCisvLyBGdXJ0aGVybW9yZSwgdGhlIGNs
YXNzIG1lbWJlcnMgbmVlZCB0byBiZSBwYWNrZWQgc28gdGhleSBhcmUgYWxpZ25lZAorLy8gcHJv
cGVybHkgYW5kIGRvbid0IGhhdmUgcGFkZGluZ3MvZ2Fwcywgb3RoZXJ3aXNlIG1lbW9yeSBjaGVj
ayB0b29scworLy8gbGlrZSBWYWxncmluZCB3aWxsIGNvbXBsYWluIGFib3V0IHVuaW5pdGlhbGl6
ZWQgbWVtb3J5IHVzYWdlIHdoZW4KKy8vIHRyYW5zZmVycmluZyB0aGVzZSBjbGFzc2VzIG92ZXIg
dGhlIHdpcmUuCisKKyNwcmFnbWEgcGFjayhwdXNoLCA0KQogCiAvLyBXZWJJbnB1dEV2ZW50IC0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKIGNsYXNzIFdlYklucHV0RXZlbnQgewogcHVibGljOgogICAgIFdlYklucHV0RXZlbnQo
dW5zaWduZWQgc2l6ZVBhcmFtID0gc2l6ZW9mKFdlYklucHV0RXZlbnQpKQotICAgICAgICA6IHNp
emUoc2l6ZVBhcmFtKQorICAgICAgICA6IHRpbWVTdGFtcFNlY29uZHMoMC4wKQorICAgICAgICAs
IHNpemUoc2l6ZVBhcmFtKQogICAgICAgICAsIHR5cGUoVW5kZWZpbmVkKQotICAgICAgICAsIG1v
ZGlmaWVycygwKQotICAgICAgICAsIHRpbWVTdGFtcFNlY29uZHMoMC4wKSB7IH0KKyAgICAgICAg
LCBtb2RpZmllcnMoMCkgeyB9CiAKICAgICAvLyBXaGVuIHdlIHVzZSBhbiBpbnB1dCBtZXRob2Qg
KG9yIGFuIGlucHV0IG1ldGhvZCBlZGl0b3IpLCB3ZSByZWNlaXZlCiAgICAgLy8gdHdvIGV2ZW50
cyBmb3IgYSBrZXlwcmVzcy4gVGhlIGZvcm1lciBldmVudCBpcyBhIGtleWRvd24sIHdoaWNoCkBA
IC0xNDUsMTAgKzE1MiwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgY29uc3QgaW50IElucHV0
TW9kaWZpZXJzID0gU2hpZnRLZXkgfCBDb250cm9sS2V5IHwgQWx0S2V5IHwgTWV0YUtleTsKIAot
ICAgIHVuc2lnbmVkIHNpemU7ICAgLy8gVGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUsIGZvciBz
ZXJpYWxpemF0aW9uLgorICAgIGRvdWJsZSB0aW1lU3RhbXBTZWNvbmRzOyAvLyBTZWNvbmRzIHNp
bmNlIGVwb2NoLgorICAgIHVuc2lnbmVkIHNpemU7IC8vIFRoZSBzaXplIG9mIHRoaXMgc3RydWN0
dXJlLCBmb3Igc2VyaWFsaXphdGlvbi4KICAgICBUeXBlIHR5cGU7CiAgICAgaW50IG1vZGlmaWVy
czsKLSAgICBkb3VibGUgdGltZVN0YW1wU2Vjb25kczsgICAvLyBTZWNvbmRzIHNpbmNlIGVwb2No
LgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBXZWJJbnB1dEV2ZW50IHx0eXBlfCBpcyBh
IG1vdXNlIGV2ZW50LgogICAgIHN0YXRpYyBib29sIGlzTW91c2VFdmVudFR5cGUoaW50IHR5cGUp
CkBAIC0yMjYsNiArMjMzLDE0IEBAIHB1YmxpYzoKICAgICAvLyBkb2Vzbid0IGh1cnQgdG8gaGF2
ZSB0aGlzIG9uZSBhcm91bmQuCiAgICAgaW50IG5hdGl2ZUtleUNvZGU7CiAKKyAgICAvLyBUaGlz
IGlkZW50aWZpZXMgd2hldGhlciB0aGlzIGV2ZW50IHdhcyB0YWdnZWQgYnkgdGhlIHN5c3RlbSBh
cyBiZWluZworICAgIC8vIGEgInN5c3RlbSBrZXkiIGV2ZW50IChzZWUKKyAgICAvLyBodHRwOi8v
bXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM2NDYyODYoVlMuODUpLmFzcHggZm9y
CisgICAgLy8gZGV0YWlscykuIE90aGVyIHBsYXRmb3JtcyBkb24ndCBoYXZlIHRoaXMgY29uY2Vw
dCwgYnV0IGl0J3MganVzdAorICAgIC8vIGVhc2llciB0byBsZWF2ZSBpdCBhbHdheXMgZmFsc2Ug
dGhhbiBpZmRlZi4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZv
ciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KKyAgICBib29sIGlzU3lzdGVtS2V5OworCiAgICAg
Ly8gfHRleHR8IGlzIHRoZSB0ZXh0IGdlbmVyYXRlZCBieSB0aGlzIGtleXN0cm9rZS4gIHx1bm1v
ZGlmaWVkVGV4dHwgaXMKICAgICAvLyB8dGV4dHwsIGJ1dCB1bm1vZGlmaWVkIGJ5IGFuIGNvbmN1
cnJlbnRseS1oZWxkIG1vZGlmaWVycyAoZXhjZXB0CiAgICAgLy8gc2hpZnQpLiAgVGhpcyBpcyB1
c2VmdWwgZm9yIHdvcmtpbmcgb3V0IHNob3J0Y3V0IGtleXMuICBMaW51eCBhbmQKQEAgLTIzOCwx
NyArMjUzLDYgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMgYSBzdHJpbmcgaWRlbnRpZnlpbmcg
dGhlIGtleSBwcmVzc2VkLgogICAgIGNoYXIga2V5SWRlbnRpZmllcltrZXlJZGVudGlmaWVyTGVu
Z3RoQ2FwXTsKIAotICAgIC8vIFRoaXMgaWRlbnRpZmllcyB3aGV0aGVyIHRoaXMgZXZlbnQgd2Fz
IHRhZ2dlZCBieSB0aGUgc3lzdGVtIGFzIGJlaW5nCi0gICAgLy8gYSAic3lzdGVtIGtleSIgZXZl
bnQgKHNlZQotICAgIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9t
czY0NjI4NihWUy44NSkuYXNweCBmb3IKLSAgICAvLyBkZXRhaWxzKS4gIE90aGVyIHBsYXRmb3Jt
cyBkb24ndCBoYXZlIHRoaXMgY29uY2VwdCwgYnV0IGl0J3MganVzdAotICAgIC8vIGVhc2llciB0
byBsZWF2ZSBpdCBhbHdheXMgZmFsc2UgdGhhbiBpZmRlZi4KLSAgICAvLyBpbnQgaXMgdXNlZCBp
bnN0ZWFkIG9mIGJvb2wgdG8gZW5zdXJlIHRoZSBzaXplIG9mIHRoaXMgc3RydWN0dXJlIGlzCi0g
ICAgLy8gc3RyaWN0bHkgYWxpZ25lZCB0byBhIGZhY3RvciBvZiA0IGJ5dGVzLCBvdGhlcndpc2Ug
bWVtb3J5IGNoZWNrIHRvb2xzCi0gICAgLy8gbGlrZSB2YWxncmluZCBtYXkgY29tcGxhaW4gYWJv
dXQgdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2Ugd2hlbgotICAgIC8vIHRyYW5zZmVyaW5nIGl0
IG92ZXIgdGhlIHdpcmUuCi0gICAgaW50IGlzU3lzdGVtS2V5OwotCiAgICAgV2ViS2V5Ym9hcmRF
dmVudCh1bnNpZ25lZCBzaXplUGFyYW0gPSBzaXplb2YoV2ViS2V5Ym9hcmRFdmVudCkpCiAgICAg
ICAgIDogV2ViSW5wdXRFdmVudChzaXplUGFyYW0pCiAgICAgICAgICwgd2luZG93c0tleUNvZGUo
MCkKQEAgLTMyMywxMyArMzI3LDExIEBAIHB1YmxpYzoKICAgICBmbG9hdCB3aGVlbFRpY2tzWDsK
ICAgICBmbG9hdCB3aGVlbFRpY2tzWTsKIAotICAgIC8vIGludCBpcyB1c2VkIGluc3RlYWQgb2Yg
Ym9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUgaXMKLSAgICAvLyBzdHJp
Y3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVyd2lzZSBtZW1vcnkgY2hl
Y2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFpbiBhYm91dCB1bmluaXRp
YWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJpbmcgaXQgb3ZlciB0aGUg
d2lyZS4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciB3aHkg
YW4gaW50IGlzIHVzZWQgaGVyZS4KICAgICBpbnQgc2Nyb2xsQnlQYWdlOwogCi0gICAgYm9vbCBo
YXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOworICAgIC8vIFNlZSBjb21tZW50IGF0IHRoZSB0b3Ag
b2YgdGhlIGZpbGUgZm9yIHdoeSBhbiBpbnQgaXMgdXNlZCBoZXJlLgorICAgIGludCBoYXNQcmVj
aXNlU2Nyb2xsaW5nRGVsdGFzOwogICAgIFBoYXNlIHBoYXNlOwogICAgIFBoYXNlIG1vbWVudHVt
UGhhc2U7CiAKQEAgLTM5OSw2ICs0MDEsNDAgQEAgcHVibGljOgogICAgIH0KIH07CiAKKyNwcmFn
bWEgcGFjayhwb3ApCisKK2NsYXNzIFNhbWVTaXplQXNXZWJJbnB1dEV2ZW50IHsKKyAgICBpbnQg
aW5wdXREYXRhWzVdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYktleWJvYXJkRXZlbnQgOiBw
dWJsaWMgU2FtZVNpemVBc1dlYklucHV0RXZlbnQgeworICAgIGludCBrZXlib2FyZERhdGFbMTJd
OworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYk1vdXNlRXZlbnQgOiBwdWJsaWMgU2FtZVNpemVB
c1dlYklucHV0RXZlbnQgeworICAgIGludCBtb3VzZURhdGFbMTBdOworfTsKKworY2xhc3MgU2Ft
ZVNpemVBc1dlYk1vdXNlV2hlZWxFdmVudCA6IHB1YmxpYyBTYW1lU2l6ZUFzV2ViTW91c2VFdmVu
dCB7CisgICAgaW50IG1vdXNld2hlZWxEYXRhWzhdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dl
Ykdlc3R1cmVFdmVudCA6IHB1YmxpYyBTYW1lU2l6ZUFzV2ViSW5wdXRFdmVudCB7CisgICAgaW50
IGdlc3R1cmVEYXRhWzZdOworfTsKKworY2xhc3MgU2FtZVNpemVBc1dlYlRvdWNoRXZlbnQgOiBw
dWJsaWMgU2FtZVNpemVBc1dlYklucHV0RXZlbnQgeworICAgIFdlYlRvdWNoUG9pbnQgdG91Y2hQ
b2ludHNbM107CisgICAgaW50IHRvdWNoRGF0YVszXTsKK307CisKK0NPTVBJTEVfQVNTRVJUKHNp
emVvZihXZWJJbnB1dEV2ZW50KSA9PSBzaXplb2YoU2FtZVNpemVBc1dlYklucHV0RXZlbnQpLCBX
ZWJJbnB1dEV2ZW50X2hhc19nYXBzKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihXZWJLZXlib2Fy
ZEV2ZW50KSA9PSBzaXplb2YoU2FtZVNpemVBc1dlYktleWJvYXJkRXZlbnQpLCBXZWJLZXlib2Fy
ZEV2ZW50X2hhc19nYXBzKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihXZWJNb3VzZUV2ZW50KSA9
PSBzaXplb2YoU2FtZVNpemVBc1dlYk1vdXNlRXZlbnQpLCBXZWJNb3VzZUV2ZW50X2hhc19nYXBz
KTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihXZWJNb3VzZVdoZWVsRXZlbnQpID09IHNpemVvZihT
YW1lU2l6ZUFzV2ViTW91c2VXaGVlbEV2ZW50KSwgV2ViTW91c2VXaGVlbEV2ZW50X2hhc19nYXBz
KTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihXZWJHZXN0dXJlRXZlbnQpID09IHNpemVvZihTYW1l
U2l6ZUFzV2ViR2VzdHVyZUV2ZW50KSwgV2ViR2VzdHVyZUV2ZW50X2hhc19nYXBzKTsKK0NPTVBJ
TEVfQVNTRVJUKHNpemVvZihXZWJUb3VjaEV2ZW50KSA9PSBzaXplb2YoU2FtZVNpemVBc1dlYlRv
dWNoRXZlbnQpLCBXZWJUb3VjaEV2ZW50X2hhc19nYXBzKTsKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135848</attachid>
            <date>2012-04-05 10:14:47 -0700</date>
            <delta_ts>2012-04-05 11:48:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81570-20120405101509.patch</filename>
            <type>text/plain</type>
            <size>6795</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMzMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDVjMjZkOGI4YzM5Zjg5ZmRiMzJhOTc4MzZhMzQzYTZhZTZmNThiZWIuLmQ0NmU1NjA5NGE2YmUw
M2ZkN2I1ZTRjNjllM2EyOGFiNmFmMjA1NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDMtMTcgIExlaSBaaGFuZyAgPHRoZXN0aWdAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gUHJvcGVybHkgYWxpZ24gbWVtYmVycyBpbiBXZWJJ
bnB1dEV2ZW50IGFuZCBzdWJjbGFzc2VzIHRvIG1ha2UgVmFsZ3JpbmQgaGFwcHkuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU3MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYklucHV0
RXZlbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYklucHV0RXZl
bnQ6OldlYklucHV0RXZlbnQpOgorICAgICAgICAoV2ViS2V5Ym9hcmRFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlRvdWNoRXZlbnQ6OldlYlRvdWNoRXZlbnQpOgorCiAyMDEyLTA0LTA1ICBQ
YXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFtjaHJvbWl1bV0gY2xlYW4gdXAgV0RURkM6OnNhdmVBcyBhZnRlciBtaWdyYXRpb24g
dG8gc2F2ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
bnB1dEV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEV2ZW50
LmgKaW5kZXggMzhmZmZiODhmNGUzY2QyMjY0MGQ0ZDYzNDljNDY5NjExODA5YzZmYi4uYTQyN2M4
Zjc0MTk3MjE1ODFmZDljYzhkYTNlZGY1YzA3YzllMDJiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklucHV0RXZlbnQuaApAQCAtNDUsMTYgKzQ1LDIzIEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogLy8gV0FSTklORyEgVGhlc2UgY2xhc3NlcyBtdXN0IHJlbWFpbiBQT0Rz
IChwbGFpbiBvbGQgZGF0YSkuICBUaGV5IGFyZQogLy8gaW50ZW5kZWQgdG8gYmUgInNlcmlhbGl6
YWJsZSIgYnkgY29weWluZyB0aGVpciByYXcgYnl0ZXMsIHNvIHRoZXkgbXVzdAogLy8gbm90IGNv
bnRhaW4gYW55IG5vbi1iaXQtY29weWFibGUgbWVtYmVyIHZhcmlhYmxlcyEKKy8vCisvLyBGdXJ0
aGVybW9yZSwgdGhlIGNsYXNzIG1lbWJlcnMgbmVlZCB0byBiZSBwYWNrZWQgc28gdGhleSBhcmUg
YWxpZ25lZAorLy8gcHJvcGVybHkgYW5kIGRvbid0IGhhdmUgcGFkZGluZ3MvZ2Fwcywgb3RoZXJ3
aXNlIG1lbW9yeSBjaGVjayB0b29scworLy8gbGlrZSBWYWxncmluZCB3aWxsIGNvbXBsYWluIGFi
b3V0IHVuaW5pdGlhbGl6ZWQgbWVtb3J5IHVzYWdlIHdoZW4KKy8vIHRyYW5zZmVycmluZyB0aGVz
ZSBjbGFzc2VzIG92ZXIgdGhlIHdpcmUuCisKKyNwcmFnbWEgcGFjayhwdXNoLCA0KQogCiAvLyBX
ZWJJbnB1dEV2ZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKIGNsYXNzIFdlYklucHV0RXZlbnQgewogcHVibGljOgogICAg
IFdlYklucHV0RXZlbnQodW5zaWduZWQgc2l6ZVBhcmFtID0gc2l6ZW9mKFdlYklucHV0RXZlbnQp
KQotICAgICAgICA6IHNpemUoc2l6ZVBhcmFtKQorICAgICAgICA6IHRpbWVTdGFtcFNlY29uZHMo
MC4wKQorICAgICAgICAsIHNpemUoc2l6ZVBhcmFtKQogICAgICAgICAsIHR5cGUoVW5kZWZpbmVk
KQotICAgICAgICAsIG1vZGlmaWVycygwKQotICAgICAgICAsIHRpbWVTdGFtcFNlY29uZHMoMC4w
KSB7IH0KKyAgICAgICAgLCBtb2RpZmllcnMoMCkgeyB9CiAKICAgICAvLyBXaGVuIHdlIHVzZSBh
biBpbnB1dCBtZXRob2QgKG9yIGFuIGlucHV0IG1ldGhvZCBlZGl0b3IpLCB3ZSByZWNlaXZlCiAg
ICAgLy8gdHdvIGV2ZW50cyBmb3IgYSBrZXlwcmVzcy4gVGhlIGZvcm1lciBldmVudCBpcyBhIGtl
eWRvd24sIHdoaWNoCkBAIC0xNDUsMTAgKzE1MiwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMg
Y29uc3QgaW50IElucHV0TW9kaWZpZXJzID0gU2hpZnRLZXkgfCBDb250cm9sS2V5IHwgQWx0S2V5
IHwgTWV0YUtleTsKIAotICAgIHVuc2lnbmVkIHNpemU7ICAgLy8gVGhlIHNpemUgb2YgdGhpcyBz
dHJ1Y3R1cmUsIGZvciBzZXJpYWxpemF0aW9uLgorICAgIGRvdWJsZSB0aW1lU3RhbXBTZWNvbmRz
OyAvLyBTZWNvbmRzIHNpbmNlIGVwb2NoLgorICAgIHVuc2lnbmVkIHNpemU7IC8vIFRoZSBzaXpl
IG9mIHRoaXMgc3RydWN0dXJlLCBmb3Igc2VyaWFsaXphdGlvbi4KICAgICBUeXBlIHR5cGU7CiAg
ICAgaW50IG1vZGlmaWVyczsKLSAgICBkb3VibGUgdGltZVN0YW1wU2Vjb25kczsgICAvLyBTZWNv
bmRzIHNpbmNlIGVwb2NoLgogCiAgICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBXZWJJbnB1dEV2
ZW50IHx0eXBlfCBpcyBhIG1vdXNlIGV2ZW50LgogICAgIHN0YXRpYyBib29sIGlzTW91c2VFdmVu
dFR5cGUoaW50IHR5cGUpCkBAIC0yMjYsNiArMjMzLDE0IEBAIHB1YmxpYzoKICAgICAvLyBkb2Vz
bid0IGh1cnQgdG8gaGF2ZSB0aGlzIG9uZSBhcm91bmQuCiAgICAgaW50IG5hdGl2ZUtleUNvZGU7
CiAKKyAgICAvLyBUaGlzIGlkZW50aWZpZXMgd2hldGhlciB0aGlzIGV2ZW50IHdhcyB0YWdnZWQg
YnkgdGhlIHN5c3RlbSBhcyBiZWluZworICAgIC8vIGEgInN5c3RlbSBrZXkiIGV2ZW50IChzZWUK
KyAgICAvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM2NDYyODYo
VlMuODUpLmFzcHggZm9yCisgICAgLy8gZGV0YWlscykuIE90aGVyIHBsYXRmb3JtcyBkb24ndCBo
YXZlIHRoaXMgY29uY2VwdCwgYnV0IGl0J3MganVzdAorICAgIC8vIGVhc2llciB0byBsZWF2ZSBp
dCBhbHdheXMgZmFsc2UgdGhhbiBpZmRlZi4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9w
IG9mIHRoZSBmaWxlIGZvciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KKyAgICBib29sIGlzU3lz
dGVtS2V5OworCiAgICAgLy8gfHRleHR8IGlzIHRoZSB0ZXh0IGdlbmVyYXRlZCBieSB0aGlzIGtl
eXN0cm9rZS4gIHx1bm1vZGlmaWVkVGV4dHwgaXMKICAgICAvLyB8dGV4dHwsIGJ1dCB1bm1vZGlm
aWVkIGJ5IGFuIGNvbmN1cnJlbnRseS1oZWxkIG1vZGlmaWVycyAoZXhjZXB0CiAgICAgLy8gc2hp
ZnQpLiAgVGhpcyBpcyB1c2VmdWwgZm9yIHdvcmtpbmcgb3V0IHNob3J0Y3V0IGtleXMuICBMaW51
eCBhbmQKQEAgLTIzOCwxNyArMjUzLDYgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMgYSBzdHJp
bmcgaWRlbnRpZnlpbmcgdGhlIGtleSBwcmVzc2VkLgogICAgIGNoYXIga2V5SWRlbnRpZmllcltr
ZXlJZGVudGlmaWVyTGVuZ3RoQ2FwXTsKIAotICAgIC8vIFRoaXMgaWRlbnRpZmllcyB3aGV0aGVy
IHRoaXMgZXZlbnQgd2FzIHRhZ2dlZCBieSB0aGUgc3lzdGVtIGFzIGJlaW5nCi0gICAgLy8gYSAi
c3lzdGVtIGtleSIgZXZlbnQgKHNlZQotICAgIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20v
ZW4tdXMvbGlicmFyeS9tczY0NjI4NihWUy44NSkuYXNweCBmb3IKLSAgICAvLyBkZXRhaWxzKS4g
IE90aGVyIHBsYXRmb3JtcyBkb24ndCBoYXZlIHRoaXMgY29uY2VwdCwgYnV0IGl0J3MganVzdAot
ICAgIC8vIGVhc2llciB0byBsZWF2ZSBpdCBhbHdheXMgZmFsc2UgdGhhbiBpZmRlZi4KLSAgICAv
LyBpbnQgaXMgdXNlZCBpbnN0ZWFkIG9mIGJvb2wgdG8gZW5zdXJlIHRoZSBzaXplIG9mIHRoaXMg
c3RydWN0dXJlIGlzCi0gICAgLy8gc3RyaWN0bHkgYWxpZ25lZCB0byBhIGZhY3RvciBvZiA0IGJ5
dGVzLCBvdGhlcndpc2UgbWVtb3J5IGNoZWNrIHRvb2xzCi0gICAgLy8gbGlrZSB2YWxncmluZCBt
YXkgY29tcGxhaW4gYWJvdXQgdW5pbml0aWFsaXplZCBtZW1vcnkgdXNhZ2Ugd2hlbgotICAgIC8v
IHRyYW5zZmVyaW5nIGl0IG92ZXIgdGhlIHdpcmUuCi0gICAgaW50IGlzU3lzdGVtS2V5OwotCiAg
ICAgV2ViS2V5Ym9hcmRFdmVudCh1bnNpZ25lZCBzaXplUGFyYW0gPSBzaXplb2YoV2ViS2V5Ym9h
cmRFdmVudCkpCiAgICAgICAgIDogV2ViSW5wdXRFdmVudChzaXplUGFyYW0pCiAgICAgICAgICwg
d2luZG93c0tleUNvZGUoMCkKQEAgLTMyMywxMyArMzI3LDExIEBAIHB1YmxpYzoKICAgICBmbG9h
dCB3aGVlbFRpY2tzWDsKICAgICBmbG9hdCB3aGVlbFRpY2tzWTsKIAotICAgIC8vIGludCBpcyB1
c2VkIGluc3RlYWQgb2YgYm9vbCB0byBlbnN1cmUgdGhlIHNpemUgb2YgdGhpcyBzdHJ1Y3R1cmUg
aXMKLSAgICAvLyBzdHJpY3RseSBhbGlnbmVkIHRvIGEgZmFjdG9yIG9mIDQgYnl0ZXMsIG90aGVy
d2lzZSBtZW1vcnkgY2hlY2sgdG9vbHMKLSAgICAvLyBsaWtlIHZhbGdyaW5kIG1heSBjb21wbGFp
biBhYm91dCB1bmluaXRpYWxpemVkIG1lbW9yeSB1c2FnZSB3aGVuCi0gICAgLy8gdHJhbnNmZXJp
bmcgaXQgb3ZlciB0aGUgd2lyZS4KKyAgICAvLyBTZWUgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRo
ZSBmaWxlIGZvciB3aHkgYW4gaW50IGlzIHVzZWQgaGVyZS4KICAgICBpbnQgc2Nyb2xsQnlQYWdl
OwogCi0gICAgYm9vbCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOworICAgIC8vIFNlZSBjb21t
ZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIHdoeSBhbiBpbnQgaXMgdXNlZCBoZXJlLgor
ICAgIGludCBoYXNQcmVjaXNlU2Nyb2xsaW5nRGVsdGFzOwogICAgIFBoYXNlIHBoYXNlOwogICAg
IFBoYXNlIG1vbWVudHVtUGhhc2U7CiAKQEAgLTM5OSw2ICs0MDEsOCBAQCBwdWJsaWM6CiAgICAg
fQogfTsKIAorI3ByYWdtYSBwYWNrKHBvcCkKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50LmNwcAppbmRl
eCA4Y2ExY2ZmZDQwZGQyMDNjYWQyMjU4NDIyNjZkZTExYzAzYjMxYTVjLi5lNjFiNGFjNjUyMTAz
MzMyZjk2NzBiMTY3Y2VhMjU1NjFmZTk5ZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJJbnB1dEV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJJbnB1dEV2ZW50LmNwcApAQCAtNDMsNiArNDMsMzggQEAgdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBTYW1lU2l6ZUFzV2ViSW5w
dXRFdmVudCB7CisgICAgaW50IGlucHV0RGF0YVs1XTsKK307CisKK2NsYXNzIFNhbWVTaXplQXNX
ZWJLZXlib2FyZEV2ZW50IDogcHVibGljIFNhbWVTaXplQXNXZWJJbnB1dEV2ZW50IHsKKyAgICBp
bnQga2V5Ym9hcmREYXRhWzEyXTsKK307CisKK2NsYXNzIFNhbWVTaXplQXNXZWJNb3VzZUV2ZW50
IDogcHVibGljIFNhbWVTaXplQXNXZWJJbnB1dEV2ZW50IHsKKyAgICBpbnQgbW91c2VEYXRhWzEw
XTsKK307CisKK2NsYXNzIFNhbWVTaXplQXNXZWJNb3VzZVdoZWVsRXZlbnQgOiBwdWJsaWMgU2Ft
ZVNpemVBc1dlYk1vdXNlRXZlbnQgeworICAgIGludCBtb3VzZXdoZWVsRGF0YVs4XTsKK307CisK
K2NsYXNzIFNhbWVTaXplQXNXZWJHZXN0dXJlRXZlbnQgOiBwdWJsaWMgU2FtZVNpemVBc1dlYklu
cHV0RXZlbnQgeworICAgIGludCBnZXN0dXJlRGF0YVs2XTsKK307CisKK2NsYXNzIFNhbWVTaXpl
QXNXZWJUb3VjaEV2ZW50IDogcHVibGljIFNhbWVTaXplQXNXZWJJbnB1dEV2ZW50IHsKKyAgICBX
ZWJUb3VjaFBvaW50IHRvdWNoUG9pbnRzWzMgKiBXZWJUb3VjaEV2ZW50Ojp0b3VjaGVzTGVuZ3Ro
Q2FwXTsKKyAgICBpbnQgdG91Y2hEYXRhWzNdOworfTsKKworQ09NUElMRV9BU1NFUlQoc2l6ZW9m
KFdlYklucHV0RXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViSW5wdXRFdmVudCksIFdlYklu
cHV0RXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYktleWJvYXJkRXZl
bnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViS2V5Ym9hcmRFdmVudCksIFdlYktleWJvYXJkRXZl
bnRfaGFzX2dhcHMpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYk1vdXNlRXZlbnQpID09IHNp
emVvZihTYW1lU2l6ZUFzV2ViTW91c2VFdmVudCksIFdlYk1vdXNlRXZlbnRfaGFzX2dhcHMpOwor
Q09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYk1vdXNlV2hlZWxFdmVudCkgPT0gc2l6ZW9mKFNhbWVT
aXplQXNXZWJNb3VzZVdoZWVsRXZlbnQpLCBXZWJNb3VzZVdoZWVsRXZlbnRfaGFzX2dhcHMpOwor
Q09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYkdlc3R1cmVFdmVudCkgPT0gc2l6ZW9mKFNhbWVTaXpl
QXNXZWJHZXN0dXJlRXZlbnQpLCBXZWJHZXN0dXJlRXZlbnRfaGFzX2dhcHMpOworQ09NUElMRV9B
U1NFUlQoc2l6ZW9mKFdlYlRvdWNoRXZlbnQpID09IHNpemVvZihTYW1lU2l6ZUFzV2ViVG91Y2hF
dmVudCksIFdlYlRvdWNoRXZlbnRfaGFzX2dhcHMpOworCiBzdGF0aWMgY29uc3QgY2hhciogc3Rh
dGljS2V5SWRlbnRpZmllcnModW5zaWduZWQgc2hvcnQga2V5Q29kZSkKIHsKICAgICBzd2l0Y2gg
KGtleUNvZGUpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>