<?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>73541</bug_id>
          
          <creation_ts>2011-12-01 01:50:18 -0800</creation_ts>
          <short_desc>upstream 5 files into WebCore/platform/blackberry</short_desc>
          <delta_ts>2011-12-07 22:01:28 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73144</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Mary Wu">mawu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dbates</cc>
    
    <cc>dglazkov</cc>
    
    <cc>leo.yang</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>512632</commentid>
    <comment_count>0</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-01 01:50:18 -0800</bug_when>
    <thetext>add 5 files to WebCore/platform/blackberry: 
PlatformScreenBlackBerry.cpp  SoundBlackBerry.cpp  SSLKeyGeneratorBlackBerry.cpp  WheelEventBlackBerry.cpp  WidgetBlackBerry.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512634</commentid>
    <comment_count>1</comment_count>
      <attachid>117381</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-01 01:52:42 -0800</bug_when>
    <thetext>Created attachment 117381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512637</commentid>
    <comment_count>2</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2011-12-01 02:03:24 -0800</bug_when>
    <thetext>Please capitalise the first character of the bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512648</commentid>
    <comment_count>3</comment_count>
      <attachid>117387</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-01 02:29:38 -0800</bug_when>
    <thetext>Created attachment 117387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514742</commentid>
    <comment_count>4</comment_count>
      <attachid>117387</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-12-04 12:45:29 -0800</bug_when>
    <thetext>Comment on attachment 117387
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Upstream 5 files into WebCore/platform/blackberry
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=73541
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

You could write at least one line about the content and sense of the files :)

&gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:46
&gt; +    return FloatRect(FloatPoint(0, 0), FloatSize(IntSize(BlackBerry::Platform::Graphics::Screen::size())));

just FloatPoint()

&gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:51
&gt; +    return FloatRect(FloatPoint(0, 0), FloatSize(IntSize(BlackBerry::Platform::Graphics::Screen::size())));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514827</commentid>
    <comment_count>5</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 18:53:08 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 117387 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=117387&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:6
&gt; &gt; +        Upstream 5 files into WebCore/platform/blackberry
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=73541
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; 
&gt; You could write at least one line about the content and sense of the files :)
&gt; 
&gt; &gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:46
&gt; &gt; +    return FloatRect(FloatPoint(0, 0), FloatSize(IntSize(BlackBerry::Platform::Graphics::Screen::size())));
&gt; 
&gt; just FloatPoint()
&gt; 
&gt; &gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:51
&gt; &gt; +    return FloatRect(FloatPoint(0, 0), FloatSize(IntSize(BlackBerry::Platform::Graphics::Screen::size())));
&gt; 
&gt; Ditto.

OK, thanks for your comments, will update...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514833</commentid>
    <comment_count>6</comment_count>
      <attachid>117824</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 19:11:33 -0800</bug_when>
    <thetext>Created attachment 117824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514883</commentid>
    <comment_count>7</comment_count>
      <attachid>117824</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-04 21:17:31 -0800</bug_when>
    <thetext>Comment on attachment 117824
Patch

Attachment 117824 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10728575

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514886</commentid>
    <comment_count>8</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 21:25:57 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 117824 [details])
&gt; Attachment 117824 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10728575
&gt; 
&gt; New failing tests:
&gt; svg/custom/linking-uri-01-b.svg

it&apos;s blackberry specific porting, shouldn&apos;t impact chrome test/build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516939</commentid>
    <comment_count>9</comment_count>
      <attachid>117824</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-12-07 14:52:09 -0800</bug_when>
    <thetext>Comment on attachment 117824
Patch

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

Looking quite good, some small stuff left, so r- for now.

&gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:44
&gt; +FloatRect screenAvailableRect(Widget* widget)

widget not used, so can be removed.

&gt; Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp:49
&gt; +FloatRect screenRect(Widget* widget)

Ditto.

&gt; Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:27
&gt; +

Extra empty line not needed.

&gt; Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:30
&gt; +void getSupportedKeySizes(Vector&lt;String&gt;&amp; sizes)

sizes not used, so can be removed.

&gt; Source/WebCore/platform/blackberry/WidgetBlackBerry.cpp:27
&gt; +#include &quot;ScrollView.h&quot;

Is ScrollView include needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517122</commentid>
    <comment_count>10</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-07 19:38:09 -0800</bug_when>
    <thetext>Thanks, Rob. All comments accepted, except:

&gt;&gt; Source/WebCore/platform/blackberry/WidgetBlackBerry.cpp:27
&gt;&gt; +#include &quot;ScrollView.h&quot;

&gt;Is ScrollView include needed?

ScrollView was needed in line 12.

PlatformPageClient pageClient = root()-&gt;hostWindow()-&gt;platformPageClient();

root() was ScrollView, so can&apos;t remove the header file. 

And looks WheelEventBlackBerry.cpp was an empty file, so I removed from makefile list. 

Pls see update patch...thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517125</commentid>
    <comment_count>11</comment_count>
      <attachid>118313</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-07 19:48:50 -0800</bug_when>
    <thetext>Created attachment 118313
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517184</commentid>
    <comment_count>12</comment_count>
      <attachid>118313</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 22:01:23 -0800</bug_when>
    <thetext>Comment on attachment 118313
Patch

Clearing flags on attachment: 118313

Committed r102314: &lt;http://trac.webkit.org/changeset/102314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517185</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 22:01:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117381</attachid>
            <date>2011-12-01 01:52:42 -0800</date>
            <delta_ts>2011-12-01 02:29:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73541-20111201175239.patch</filename>
            <type>text/plain</type>
            <size>10034</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uMTVjNTAzMmE4N2UwMzg3ZjQxZDc4YjM1ZjQwNmU1
MmQ0YTM2YWM4MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDExLTEyLTAxICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgdXBzdHJlYW0gNSBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvUGxhdGZv
cm1TY3JlZW5CbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5J
c01vbm9jaHJvbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRGVwdGhQZXJDb21wb25lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRGVwdGgpOgorICAgICAgICAoV2ViQ29yZTo6c2Ny
ZWVuQXZhaWxhYmxlUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5SZWN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldFN1cHBvcnRlZEtleVNpemVzKToKKyAgICAgICAg
KFdlYkNvcmU6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyk6CisgICAgICAgICog
cGxhdGZvcm0vYmxhY2tiZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvV2hl
ZWxFdmVudEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2Jl
cnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdl
dDo6V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6fldpZGdldCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWRnZXQ6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpwYWlu
dCk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisgICAgICAgIChXZWJD
b3JlOjpXaWRnZXQ6OnNldEZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0RnJh
bWVSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0SXNTZWxlY3RlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0Ojpm
cmFtZVJlY3QpOgorCiAyMDExLTExLTMwICBKZWZmIFRpbWFudXMgIDx0d2l6QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBBbHRlciBhbiBlYXJseSByZXR1cm4gdGhhdCB3YXMgcHJldmVudGluZyBI
VE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyBub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxh
Y2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU2MzY3ZGVjY2UwNzFmNmRjMzA3Y2JlZWVmYjg4MTg0
YjVhNGY2MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvUGxhdGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgorCisjaW5jbHVkZSAiRmxv
YXRSZWN0LmgiCisjaW5jbHVkZSAiV2lkZ2V0LmgiCisKKyNpbmNsdWRlIDxCbGFja0JlcnJ5UGxh
dGZvcm1TY3JlZW4uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIHNjcmVlbklzTW9u
b2Nocm9tZShXaWRnZXQqKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IHNjcmVlbkRl
cHRoUGVyQ29tcG9uZW50KFdpZGdldCopCit7CisgICAgcmV0dXJuIDg7Cit9CisKK2ludCBzY3Jl
ZW5EZXB0aChXaWRnZXQqKQoreworICAgIHJldHVybiAyNDsKK30KKworRmxvYXRSZWN0IHNjcmVl
bkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgcmV0dXJuIEZsb2F0UmVjdChG
bG9hdFBvaW50KDAsIDApLCBGbG9hdFNpemUoSW50U2l6ZShCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
R3JhcGhpY3M6OlNjcmVlbjo6c2l6ZSgpKSkpOworfQorCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChX
aWRnZXQqIHdpZGdldCkKK3sKKyAgICByZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwgMCks
IEZsb2F0U2l6ZShJbnRTaXplKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpHcmFwaGljczo6U2NyZWVu
OjpzaXplKCkpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJy
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NTTEtleUdlbmVyYXRv
ckJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzN2ExNmY3MzA1MjRjNzQxZmU0MmI4OTlkZTYx
MGNmZTQzMzlmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsNDIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNTTEtleUdlbmVyYXRvci5oIgorCisjaW5jbHVkZSAiS1VSTC5oIgor
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlICJWZWN0b3IuaCIKKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgZ2V0
U3VwcG9ydGVkS2V5U2l6ZXMoV1RGOjpWZWN0b3I8U3RyaW5nLCAwdT4mKQoreworICAgIC8vIEZJ
WE1FOiByZW1vdmUgMCB0ZW1wbGF0ZSBwYXJhbSB3aGVuIHRoaXMgaXMgaW1wbGVtZW50ZWQKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCitTdHJpbmcgc2lnbmVkUHVibGljS2V5QW5kQ2hhbGxl
bmdlU3RyaW5nKHVuc2lnbmVkIGludCwgU3RyaW5nIGNvbnN0JiwgS1VSTCBjb25zdCYpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU291bmRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU291bmRCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTQyOTNjODJhOWNlMDE4ODQ0
MjE3YmZlYmI0OGJiNzM2MTA1N2UzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsMzEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdW5kLmgiCisKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgc3lzdGVtQmVlcCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaGVlbEV2ZW50Qmxh
Y2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1doZWVsRXZl
bnRCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTY5NzEyNjc0ZTlhOTFlOTRjOTUwNDhiMDM1
YzQwMTI0NDQ1NmQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9XaGVlbEV2ZW50QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSwyNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvV2lkZ2V0QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMTVlYTRhYjRkNmRj
MTYzZmY5MjViNGY0NzkzMTdkYWM3MGMyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEs
ODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldpZGdldC5oIgorCisjaW5jbHVkZSAi
Q3Vyc29yLmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSG9zdFdp
bmRvdy5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgorI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXaWRn
ZXQ6OldpZGdldChQbGF0Zm9ybVdpZGdldCB3aWRnZXQpCit7CisgICAgaW5pdCh3aWRnZXQpOwor
fQorCitXaWRnZXQ6On5XaWRnZXQoKQoreworfQorCit2b2lkIFdpZGdldDo6aGlkZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29u
dGV4dCosIEludFJlY3QgY29uc3QmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgV2lkZ2V0OjpzZXRDdXJzb3IoQ3Vyc29yIGNvbnN0JiBjdXJzb3IpCit7CisgICAgUGxhdGZv
cm1QYWdlQ2xpZW50IHBhZ2VDbGllbnQgPSByb290KCktPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1Q
YWdlQ2xpZW50KCk7CisKKyAgICBpZiAocGFnZUNsaWVudCkKKyAgICAgICAgcGFnZUNsaWVudC0+
c2V0Q3Vyc29yKGN1cnNvci5pbXBsKCkpOworfQorCit2b2lkIFdpZGdldDo6c2V0Rm9jdXMoYm9v
bCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2V0RnJhbWVS
ZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgbV9mcmFtZSA9IHJlY3Q7CisKKyAgICBm
cmFtZVJlY3RzQ2hhbmdlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2V0SXNTZWxlY3RlZChib29s
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2lkZ2V0OjpzaG93KCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitJbnRSZWN0IFdpZGdldDo6ZnJhbWVSZWN0KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117387</attachid>
            <date>2011-12-01 02:29:38 -0800</date>
            <delta_ts>2011-12-04 19:11:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73541-20111201182936.patch</filename>
            <type>text/plain</type>
            <size>10034</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uZTAxMmIzZTZmOTExYzdkNzkwYmVhOWMwNDI4NjNi
MTcxN2IwYTVlYSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDExLTEyLTAxICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNSBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvUGxhdGZv
cm1TY3JlZW5CbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5J
c01vbm9jaHJvbWUpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRGVwdGhQZXJDb21wb25lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRGVwdGgpOgorICAgICAgICAoV2ViQ29yZTo6c2Ny
ZWVuQXZhaWxhYmxlUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5SZWN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmdldFN1cHBvcnRlZEtleVNpemVzKToKKyAgICAgICAg
KFdlYkNvcmU6OnNpZ25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyk6CisgICAgICAgICog
cGxhdGZvcm0vYmxhY2tiZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OnN5c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvV2hl
ZWxFdmVudEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2Jl
cnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldpZGdl
dDo6V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6fldpZGdldCk6CisgICAgICAg
IChXZWJDb3JlOjpXaWRnZXQ6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpwYWlu
dCk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEN1cnNvcik6CisgICAgICAgIChXZWJD
b3JlOjpXaWRnZXQ6OnNldEZvY3VzKToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0RnJh
bWVSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0SXNTZWxlY3RlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0Ojpm
cmFtZVJlY3QpOgorCiAyMDExLTExLTMwICBKZWZmIFRpbWFudXMgIDx0d2l6QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBBbHRlciBhbiBlYXJseSByZXR1cm4gdGhhdCB3YXMgcHJldmVudGluZyBI
VE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyBub3RpZmljYXRpb25zCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxh
Y2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU2MzY3ZGVjY2UwNzFmNmRjMzA3Y2JlZWVmYjg4MTg0
YjVhNGY2MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvUGxhdGZvcm1TY3JlZW5CbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVNjcmVlbi5oIgorCisjaW5jbHVkZSAiRmxv
YXRSZWN0LmgiCisjaW5jbHVkZSAiV2lkZ2V0LmgiCisKKyNpbmNsdWRlIDxCbGFja0JlcnJ5UGxh
dGZvcm1TY3JlZW4uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIHNjcmVlbklzTW9u
b2Nocm9tZShXaWRnZXQqKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IHNjcmVlbkRl
cHRoUGVyQ29tcG9uZW50KFdpZGdldCopCit7CisgICAgcmV0dXJuIDg7Cit9CisKK2ludCBzY3Jl
ZW5EZXB0aChXaWRnZXQqKQoreworICAgIHJldHVybiAyNDsKK30KKworRmxvYXRSZWN0IHNjcmVl
bkF2YWlsYWJsZVJlY3QoV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgcmV0dXJuIEZsb2F0UmVjdChG
bG9hdFBvaW50KDAsIDApLCBGbG9hdFNpemUoSW50U2l6ZShCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
R3JhcGhpY3M6OlNjcmVlbjo6c2l6ZSgpKSkpOworfQorCitGbG9hdFJlY3Qgc2NyZWVuUmVjdChX
aWRnZXQqIHdpZGdldCkKK3sKKyAgICByZXR1cm4gRmxvYXRSZWN0KEZsb2F0UG9pbnQoMCwgMCks
IEZsb2F0U2l6ZShJbnRTaXplKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpHcmFwaGljczo6U2NyZWVu
OjpzaXplKCkpKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJy
eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NTTEtleUdlbmVyYXRv
ckJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzN2ExNmY3MzA1MjRjNzQxZmU0MmI4OTlkZTYx
MGNmZTQzMzlmZDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsNDIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNTTEtleUdlbmVyYXRvci5oIgorCisjaW5jbHVkZSAiS1VSTC5oIgor
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIK
KyNpbmNsdWRlICJWZWN0b3IuaCIKKworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgZ2V0
U3VwcG9ydGVkS2V5U2l6ZXMoV1RGOjpWZWN0b3I8U3RyaW5nLCAwdT4mKQoreworICAgIC8vIEZJ
WE1FOiByZW1vdmUgMCB0ZW1wbGF0ZSBwYXJhbSB3aGVuIHRoaXMgaXMgaW1wbGVtZW50ZWQKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCitTdHJpbmcgc2lnbmVkUHVibGljS2V5QW5kQ2hhbGxl
bmdlU3RyaW5nKHVuc2lnbmVkIGludCwgU3RyaW5nIGNvbnN0JiwgS1VSTCBjb25zdCYpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU291bmRCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU291bmRCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTQyOTNjODJhOWNlMDE4ODQ0
MjE3YmZlYmI0OGJiNzM2MTA1N2UzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsMzEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNvdW5kLmgiCisKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgc3lzdGVtQmVlcCgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaGVlbEV2ZW50Qmxh
Y2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1doZWVsRXZl
bnRCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTY5NzEyNjc0ZTlhOTFlOTRjOTUwNDhiMDM1
YzQwMTI0NDQ1NmQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9XaGVlbEV2ZW50QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSwyNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiV2hlZWxFdmVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvV2lkZ2V0QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJjMTVlYTRhYjRkNmRj
MTYzZmY5MjViNGY0NzkzMTdkYWM3MGMyZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEs
ODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldpZGdldC5oIgorCisjaW5jbHVkZSAi
Q3Vyc29yLmgiCisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSG9zdFdp
bmRvdy5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5o
IgorI2luY2x1ZGUgIlNjcm9sbFZpZXcuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXaWRn
ZXQ6OldpZGdldChQbGF0Zm9ybVdpZGdldCB3aWRnZXQpCit7CisgICAgaW5pdCh3aWRnZXQpOwor
fQorCitXaWRnZXQ6On5XaWRnZXQoKQoreworfQorCit2b2lkIFdpZGdldDo6aGlkZSgpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXaWRnZXQ6OnBhaW50KEdyYXBoaWNzQ29u
dGV4dCosIEludFJlY3QgY29uc3QmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgV2lkZ2V0OjpzZXRDdXJzb3IoQ3Vyc29yIGNvbnN0JiBjdXJzb3IpCit7CisgICAgUGxhdGZv
cm1QYWdlQ2xpZW50IHBhZ2VDbGllbnQgPSByb290KCktPmhvc3RXaW5kb3coKS0+cGxhdGZvcm1Q
YWdlQ2xpZW50KCk7CisKKyAgICBpZiAocGFnZUNsaWVudCkKKyAgICAgICAgcGFnZUNsaWVudC0+
c2V0Q3Vyc29yKGN1cnNvci5pbXBsKCkpOworfQorCit2b2lkIFdpZGdldDo6c2V0Rm9jdXMoYm9v
bCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2V0RnJhbWVS
ZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgbV9mcmFtZSA9IHJlY3Q7CisKKyAgICBm
cmFtZVJlY3RzQ2hhbmdlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2V0SXNTZWxlY3RlZChib29s
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2lkZ2V0OjpzaG93KCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitJbnRSZWN0IFdpZGdldDo6ZnJhbWVSZWN0KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117824</attachid>
            <date>2011-12-04 19:11:33 -0800</date>
            <delta_ts>2011-12-07 19:48:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73541-20111205111131.patch</filename>
            <type>text/plain</type>
            <size>10089</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uMGZlNjE5MTA2MWQ5NmVjMTk3MDBjODMwNTlmY2Nh
YWYzOWIzNDcwNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTA0ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNSBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCbGFja0JlcnJ5IHBvcnRpbmcgb2Ygc2V2ZXJh
bCBjbGFzc2VzLCBpbml0aWFsIHVwc3RyZWFtIAorICAgICAgICB2ZXJzaW9uOiBQbGF0Zm9ybVNj
cmVlbi9TU0xLZXlHZW5lcmF0b3IvU291bmQvV2hlZWxFdmVudC9XaWRnZXQuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuSXNNb25vY2hyb21lKToKKyAgICAgICAgKFdlYkNv
cmU6OnNjcmVlbkRlcHRoUGVyQ29tcG9uZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlbkRl
cHRoKToKKyAgICAgICAgKFdlYkNvcmU6OnNjcmVlbkF2YWlsYWJsZVJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6c2NyZWVuUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9TU0xL
ZXlHZW5lcmF0b3JCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpnZXRT
dXBwb3J0ZWRLZXlTaXplcyk6CisgICAgICAgIChXZWJDb3JlOjpzaWduZWRQdWJsaWNLZXlBbmRD
aGFsbGVuZ2VTdHJpbmcpOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvU291bmRCbGFj
a0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzeXN0ZW1CZWVwKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1doZWVsRXZlbnRCbGFja0JlcnJ5LmNwcDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9XaWRnZXRCbGFja0JlcnJ5LmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OldpZGdldCk6CisgICAgICAgIChXZWJDb3Jl
OjpXaWRnZXQ6On5XaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpoaWRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldpZGdldDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0
OjpzZXRDdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGb2N1cyk6CisgICAg
ICAgIChXZWJDb3JlOjpXaWRnZXQ6OnNldEZyYW1lUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpX
aWRnZXQ6OnNldElzU2VsZWN0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzaG93KToK
KyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6ZnJhbWVSZWN0KToKKwogMjAxMS0xMS0zMCAgSmVm
ZiBUaW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWx0ZXIgYW4gZWFybHkg
cmV0dXJuIHRoYXQgd2FzIHByZXZlbnRpbmcgSFRNTENhbnZhc0VsZW1lbnQ6OmRpZERyYXcgbm90
aWZpY2F0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9QbGF0Zm9ybVNjcmVlbkJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9QbGF0Zm9ybVNjcmVlbkJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyNmU1
NTY2NDljNWRkMzEzNmExYmNlZDVjNTgxMjYxMDE0YjViMTcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJy
eS5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwg
MjAxMSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZv
cm1TY3JlZW4uaCIKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIldpZGdldC5o
IgorCisjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtU2NyZWVuLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUoV2lkZ2V0KikKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2ludCBzY3JlZW5EZXB0aFBlckNvbXBvbmVudChXaWRnZXQqKQorewor
ICAgIHJldHVybiA4OworfQorCitpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KikKK3sKKyAgICByZXR1
cm4gMjQ7Cit9CisKK0Zsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0
KQoreworICAgIHJldHVybiBGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUoSW50U2l6
ZShCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6R3JhcGhpY3M6OlNjcmVlbjo6c2l6ZSgpKSkpOworfQor
CitGbG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKK3sKKyAgICByZXR1cm4gRmxv
YXRSZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJyeTo6UGxhdGZv
cm06OkdyYXBoaWNzOjpTY3JlZW46OnNpemUoKSkpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TU0xL
ZXlHZW5lcmF0b3JCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA0ZWMzNjhj
MjlmYzVmYmUwMDIyOTY0OGQ1ZGJhNWJmMWJjYmExZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJyeS5j
cHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU1NMS2V5R2VuZXJhdG9yLmgiCisK
KyNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRl
ICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlZlY3Rvci5oIgorCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKwordm9pZCBnZXRTdXBwb3J0ZWRLZXlTaXplcyhWZWN0b3I8U3RyaW5nPiYgc2l6
ZXMpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworU3RyaW5nIHNpZ25lZFB1YmxpY0tl
eUFuZENoYWxsZW5nZVN0cmluZyh1bnNpZ25lZCBpbnQsIFN0cmluZyBjb25zdCYsIEtVUkwgY29u
c3QmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIFN0cmluZygpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1NvdW5kQmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1NvdW5kQmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWFhY2MwY2M0
N2Q0Y2FkYzI3ZmNjYmY3NjcxYzdlMTU5ZWRjYmQ5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU291bmRCbGFja0JlcnJ5LmNwcApAQCAtMCww
ICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTb3VuZC5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIHN5c3RlbUJlZXAoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvV2hlZWxFdmVudEJsYWNr
QmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaGVlbEV2ZW50
QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE2OTcxMjY3NGU5YTkxZTk0Yzk1MDQ4YjAzNWM0
MDEyNDQ0NTZkMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvV2hlZWxFdmVudEJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsMjQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDkgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy
ZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldoZWVsRXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9XaWRnZXRCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYzE1ZWE0YWI0ZDZkYzE2
M2ZmOTI1YjRmNDc5MzE3ZGFjNzBjMmUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaWRnZXRCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDg1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1v
dGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXaWRnZXQuaCIKKworI2luY2x1ZGUgIkN1
cnNvci5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgorI2luY2x1ZGUgIkhvc3RXaW5k
b3cuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIK
KyNpbmNsdWRlICJTY3JvbGxWaWV3LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV2lkZ2V0
OjpXaWRnZXQoUGxhdGZvcm1XaWRnZXQgd2lkZ2V0KQoreworICAgIGluaXQod2lkZ2V0KTsKK30K
KworV2lkZ2V0Ojp+V2lkZ2V0KCkKK3sKK30KKwordm9pZCBXaWRnZXQ6OmhpZGUoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2lkZ2V0OjpwYWludChHcmFwaGljc0NvbnRl
eHQqLCBJbnRSZWN0IGNvbnN0JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lk
IFdpZGdldDo6c2V0Q3Vyc29yKEN1cnNvciBjb25zdCYgY3Vyc29yKQoreworICAgIFBsYXRmb3Jt
UGFnZUNsaWVudCBwYWdlQ2xpZW50ID0gcm9vdCgpLT5ob3N0V2luZG93KCktPnBsYXRmb3JtUGFn
ZUNsaWVudCgpOworCisgICAgaWYgKHBhZ2VDbGllbnQpCisgICAgICAgIHBhZ2VDbGllbnQtPnNl
dEN1cnNvcihjdXJzb3IuaW1wbCgpKTsKK30KKwordm9pZCBXaWRnZXQ6OnNldEZvY3VzKGJvb2wp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXaWRnZXQ6OnNldEZyYW1lUmVj
dChjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1fZnJhbWUgPSByZWN0OworCisgICAgZnJh
bWVSZWN0c0NoYW5nZWQoKTsKK30KKwordm9pZCBXaWRnZXQ6OnNldElzU2VsZWN0ZWQoYm9vbCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2hvdygpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworSW50UmVjdCBXaWRnZXQ6OmZyYW1lUmVjdCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118313</attachid>
            <date>2011-12-07 19:48:50 -0800</date>
            <delta_ts>2011-12-07 22:01:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73541-20111208114843.patch</filename>
            <type>text/plain</type>
            <size>9486</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2ZmNDk4OWJkYmQ5MDYz
NGZmMGZhNjhkMDM5ZjhiMDFiMDRiYzgyNS4uMjMwOTc1OTk0NjQzN2I3OTA1NmFjMDRjNGVhNGNk
MmY5NzA1YzA4ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDExLTEyLTA3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNCBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsIHVwc3RyZWFtIG9mIEJsYWNrQmVy
cnkgcG9ydGluZyBvZiBQbGF0Zm9ybVNjcmVlbi8KKyAgICAgICAgU1NMS2V5R2VuZXJhdG9yL1Nv
dW5kL1dpZGdldCwgbm8gbmV3IHRlc3RzLgorCisgICAgICAgICogUGxhdGZvcm1CbGFja0JlcnJ5
LmNtYWtlOiBNb2RpZmllZCB0byByZW1vdmUgZW1wdHkgZmlsZSAiV2hlZWxFdmVudEJsYWNrQmVy
cnkuY3BwIgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvUGxhdGZvcm1TY3JlZW5CbGFj
a0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5Jc01vbm9jaHJvbWUp
OgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuRGVwdGhQZXJDb21wb25lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6c2NyZWVuRGVwdGgpOgorICAgICAgICAoV2ViQ29yZTo6c2NyZWVuQXZhaWxhYmxl
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpzY3JlZW5SZWN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ibGFja2JlcnJ5L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OmdldFN1cHBvcnRlZEtleVNpemVzKToKKyAgICAgICAgKFdlYkNvcmU6OnNp
Z25lZFB1YmxpY0tleUFuZENoYWxsZW5nZVN0cmluZyk6CisgICAgICAgICogcGxhdGZvcm0vYmxh
Y2tiZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnN5
c3RlbUJlZXApOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvV2lkZ2V0QmxhY2tCZXJy
eS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpXaWRnZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6V2lkZ2V0Ojp+V2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6
aGlkZSk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OnBhaW50KToKKyAgICAgICAgKFdlYkNv
cmU6OldpZGdldDo6c2V0Q3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdldDo6c2V0Rm9j
dXMpOgorICAgICAgICAoV2ViQ29yZTo6V2lkZ2V0OjpzZXRGcmFtZVJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6V2lkZ2V0OjpzZXRJc1NlbGVjdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OldpZGdl
dDo6c2hvdyk6CisgICAgICAgIChXZWJDb3JlOjpXaWRnZXQ6OmZyYW1lUmVjdCk6CisKIDIwMTEt
MTItMDcgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgPGxp
IHZhbHVlPSIwIj4gYmVoYXZlcyBsaWtlIDxsaT4gKHRoZSBzYW1lIGZvciBuZWdhdGl2ZSBudW1i
ZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCmluZGV4IGVlMTljMjYy
ODBhYzNkOTZlMzYyM2VmNWUzNzBkZGRmOGIyMTE4NDAuLmEwZmE2NDNlOTU0YjZiMzhlMDkzOTVj
MDExNzE1MzJiZWQ4ZGJkNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxh
Y2tCZXJyeS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21h
a2UKQEAgLTE2MCw3ICsxNjAsNiBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBw
bGF0Zm9ybS9ibGFja2JlcnJ5L1NvdW5kQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ibGFj
a2JlcnJ5L1N5c3RlbVRpbWVCbGFja0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkv
VGVtcG9yYXJ5TGlua1N0dWJzLmNwcAotICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvV2hlZWxFdmVu
dEJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9XaWRnZXRCbGFja0JlcnJ5
LmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvRmxvYXRQb2ludEJsYWNrQmVy
cnkuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9GbG9hdFJlY3RCbGFja0Jl
cnJ5LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Q
bGF0Zm9ybVNjcmVlbkJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QbGF0Zm9ybVNjcmVlbkJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyNmU1NTY2
NDljNWRkMzEzNmExYmNlZDVjNTgxMjYxMDE0YjViMTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3JtU2NyZWVuQmxhY2tCZXJyeS5j
cHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAx
MSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1T
Y3JlZW4uaCIKKworI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIldpZGdldC5oIgor
CisjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtU2NyZWVuLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworYm9vbCBzY3JlZW5Jc01vbm9jaHJvbWUoV2lkZ2V0KikKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2ludCBzY3JlZW5EZXB0aFBlckNvbXBvbmVudChXaWRnZXQqKQoreworICAg
IHJldHVybiA4OworfQorCitpbnQgc2NyZWVuRGVwdGgoV2lkZ2V0KikKK3sKKyAgICByZXR1cm4g
MjQ7Cit9CisKK0Zsb2F0UmVjdCBzY3JlZW5BdmFpbGFibGVSZWN0KFdpZGdldCogd2lkZ2V0KQor
eworICAgIHJldHVybiBGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBGbG9hdFNpemUoSW50U2l6ZShC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6R3JhcGhpY3M6OlNjcmVlbjo6c2l6ZSgpKSkpOworfQorCitG
bG9hdFJlY3Qgc2NyZWVuUmVjdChXaWRnZXQqIHdpZGdldCkKK3sKKyAgICByZXR1cm4gRmxvYXRS
ZWN0KEZsb2F0UG9pbnQoKSwgRmxvYXRTaXplKEludFNpemUoQmxhY2tCZXJyeTo6UGxhdGZvcm06
OkdyYXBoaWNzOjpTY3JlZW46OnNpemUoKSkpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TU0xLZXlH
ZW5lcmF0b3JCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM5ODM1Y2E5YTE4
ODE3NTMzYjI0OTFkZmY2NmJkNmU5MjNhMTI1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU1NMS2V5R2VuZXJhdG9yQmxhY2tCZXJyeS5jcHAK
QEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdy
aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU1NMS2V5R2VuZXJhdG9yLmgiCisKKyNp
bmNsdWRlICJLVVJMLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlZlY3Rvci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK3ZvaWQgZ2V0U3VwcG9ydGVkS2V5U2l6ZXMoVmVjdG9yPFN0cmluZz4mKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1N0cmluZyBzaWduZWRQdWJsaWNLZXlBbmRDaGFsbGVu
Z2VTdHJpbmcodW5zaWduZWQgaW50LCBTdHJpbmcgY29uc3QmLCBLVVJMIGNvbnN0JikKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2ti
ZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2ti
ZXJyeS9Tb3VuZEJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhYWNjMGNjNDdkNGNhZGMyN2Zj
Y2JmNzY3MWM3ZTE1OWVkY2JkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ibGFja2JlcnJ5L1NvdW5kQmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSwzMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiU291bmQuaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBzeXN0ZW1CZWVwKCkKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1dpZGdldEJsYWNrQmVycnkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaWRnZXRCbGFja0JlcnJ5LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yYzE1ZWE0YWI0ZDZkYzE2M2ZmOTI1YjRmNDc5MzE3ZGFjNzBjMmUyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9XaWRnZXRCbGFj
a0JlcnJ5LmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
ZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg
IDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
aWRnZXQuaCIKKworI2luY2x1ZGUgIkN1cnNvci5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgorI2luY2x1ZGUgIkhvc3RXaW5kb3cuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJTY3JvbGxWaWV3LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworV2lkZ2V0OjpXaWRnZXQoUGxhdGZvcm1XaWRnZXQgd2lkZ2V0KQor
eworICAgIGluaXQod2lkZ2V0KTsKK30KKworV2lkZ2V0Ojp+V2lkZ2V0KCkKK3sKK30KKwordm9p
ZCBXaWRnZXQ6OmhpZGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2lk
Z2V0OjpwYWludChHcmFwaGljc0NvbnRleHQqLCBJbnRSZWN0IGNvbnN0JikKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdpZGdldDo6c2V0Q3Vyc29yKEN1cnNvciBjb25zdCYg
Y3Vyc29yKQoreworICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwYWdlQ2xpZW50ID0gcm9vdCgpLT5o
b3N0V2luZG93KCktPnBsYXRmb3JtUGFnZUNsaWVudCgpOworCisgICAgaWYgKHBhZ2VDbGllbnQp
CisgICAgICAgIHBhZ2VDbGllbnQtPnNldEN1cnNvcihjdXJzb3IuaW1wbCgpKTsKK30KKwordm9p
ZCBXaWRnZXQ6OnNldEZvY3VzKGJvb2wpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwor
dm9pZCBXaWRnZXQ6OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIG1f
ZnJhbWUgPSByZWN0OworCisgICAgZnJhbWVSZWN0c0NoYW5nZWQoKTsKK30KKwordm9pZCBXaWRn
ZXQ6OnNldElzU2VsZWN0ZWQoYm9vbCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIFdpZGdldDo6c2hvdygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworSW50UmVj
dCBXaWRnZXQ6OmZyYW1lUmVjdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhbWU7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>