<?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>73632</bug_id>
          
          <creation_ts>2011-12-01 23:58:46 -0800</creation_ts>
          <short_desc>Upstream 7 files into WebCore/platform/blackberry</short_desc>
          <delta_ts>2011-12-07 10:24:58 -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>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>513572</commentid>
    <comment_count>0</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-01 23:58:46 -0800</bug_when>
    <thetext>Upstream following 7 files into WebCore/platform/blackberry:
PopupMenuBlackBerry.cpp  ScrollbarBlackBerry.cpp       ScrollViewBlackBerry.cpp       SearchPopupMenuBlackBerry.h
PopupMenuBlackBerry.h    ScrollbarThemeBlackBerry.cpp  SearchPopupMenuBlackBerry.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513575</commentid>
    <comment_count>1</comment_count>
      <attachid>117582</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-02 00:02:01 -0800</bug_when>
    <thetext>Created attachment 117582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514583</commentid>
    <comment_count>2</comment_count>
      <attachid>117582</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-03 14:20:50 -0800</bug_when>
    <thetext>Comment on attachment 117582
Patch

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

&gt; Source/WebCore/platform/blackberry/PopupMenuBlackBerry.cpp:31
&gt; +    // no-op

These comments don&apos;t add anythign.

&gt; Source/WebCore/platform/blackberry/SearchPopupMenuBlackBerry.cpp:52
&gt; +    // FIXME: remove 0 template parameter when this is implemented

Why is the 0 template parameter there in the first place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514823</commentid>
    <comment_count>3</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 18:42:00 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 117582 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=117582&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/blackberry/PopupMenuBlackBerry.cpp:31
&gt; &gt; +    // no-op
&gt; 
&gt; These comments don&apos;t add anythign.
&gt; 
&gt; &gt; Source/WebCore/platform/blackberry/SearchPopupMenuBlackBerry.cpp:52
&gt; &gt; +    // FIXME: remove 0 template parameter when this is implemented
&gt; 
&gt; Why is the 0 template parameter there in the first place?

ok, thanks. Will update...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514824</commentid>
    <comment_count>4</comment_count>
      <attachid>117822</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 18:42:43 -0800</bug_when>
    <thetext>Created attachment 117822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514840</commentid>
    <comment_count>5</comment_count>
      <attachid>117822</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-04 19:31:43 -0800</bug_when>
    <thetext>Comment on attachment 117822
Patch

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

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514890</commentid>
    <comment_count>6</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-04 21:26:59 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 117822 [details])
&gt; Attachment 117822 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10734542
&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>514951</commentid>
    <comment_count>7</comment_count>
      <attachid>117822</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-12-05 00:18:37 -0800</bug_when>
    <thetext>Comment on attachment 117822
Patch

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

&gt; Source/WebCore/platform/blackberry/PopupMenuBlackBerry.cpp:33
&gt; +void PopupMenuBlackBerry::show(const IntRect&amp; r, FrameView* v, int index)

All of these parameters are unused. Either we need to use UNUSED_PARAM() or we need to omit them from the signature here or this may cause unused variable warnings depending on the compiler warning level.

&gt; Source/WebCore/platform/blackberry/ScrollViewBlackBerry.cpp:22
&gt; +namespace WebCore {

Why do we need to commit this almost empty file?

&gt; Source/WebCore/platform/blackberry/ScrollbarBlackBerry.cpp:22
&gt; +namespace WebCore {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514966</commentid>
    <comment_count>8</comment_count>
      <attachid>117854</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-05 01:08:02 -0800</bug_when>
    <thetext>Created attachment 117854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515105</commentid>
    <comment_count>9</comment_count>
      <attachid>117854</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 08:46:00 -0800</bug_when>
    <thetext>Comment on attachment 117854
Patch

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

New failing tests:
svg/custom/linking-uri-01-b.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515124</commentid>
    <comment_count>10</comment_count>
      <attachid>117854</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-12-05 09:11:36 -0800</bug_when>
    <thetext>Comment on attachment 117854
Patch

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

Looks good, nearly there, could be improved a bit, so r-.

&gt; Source/WebCore/platform/blackberry/PopupMenuBlackBerry.h:23
&gt; +#include &quot;PopupMenuClient.h&quot;

I think a forward reference for PopupMenuClient should do.

&gt; Source/WebCore/platform/blackberry/ScrollbarThemeBlackBerry.cpp:29
&gt; +    static ScrollbarTheme theme;

Can DEFINE_STATIC_LOCAL be used here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515599</commentid>
    <comment_count>11</comment_count>
      <attachid>117979</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2011-12-05 19:27:28 -0800</bug_when>
    <thetext>Created attachment 117979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516662</commentid>
    <comment_count>12</comment_count>
      <attachid>117979</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-12-07 08:49:34 -0800</bug_when>
    <thetext>Comment on attachment 117979
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516719</commentid>
    <comment_count>13</comment_count>
      <attachid>117979</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 10:24:53 -0800</bug_when>
    <thetext>Comment on attachment 117979
Patch

Clearing flags on attachment: 117979

Committed r102249: &lt;http://trac.webkit.org/changeset/102249&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516721</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 10:24:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117582</attachid>
            <date>2011-12-02 00:02:01 -0800</date>
            <delta_ts>2011-12-04 18:42:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73632-20111202160158.patch</filename>
            <type>text/plain</type>
            <size>13349</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uZDU1NjdlMzY4NTNhNDUwNjUwNzhiMWY5ODQ1ZmE2
YjQxNWQxYWY0OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDExLTEyLTAyICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNyBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBN
ZW51QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1l
bnVCbGFja0JlcnJ5Ojp+UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQ
b3B1cE1lbnVCbGFja0JlcnJ5OjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVudUJs
YWNrQmVycnk6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tCZXJyeTo6
dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tCZXJy
eTo6ZGlzY29ubmVjdENsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Qb3B1
cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6Y2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbFZp
ZXdCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9T
Y3JvbGxiYXJCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2ti
ZXJyeS9TY3JvbGxiYXJUaGVtZUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSk6CisgICAgICAgICogcGxhdGZvcm0vYmxh
Y2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjpTZWFyY2hQb3B1cE1lbnVCbGFja0Jl
cnJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OnBvcHVw
TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjplbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OnNhdmVS
ZWNlbnRTZWFyY2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0Jl
cnJ5Ojpsb2FkUmVjZW50U2VhcmNoZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkv
U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oOiBBZGRlZC4KKwogMjAxMS0xMS0zMCAgSmVmZiBU
aW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWx0ZXIgYW4gZWFybHkgcmV0
dXJuIHRoYXQgd2FzIHByZXZlbnRpbmcgSFRNTENhbnZhc0VsZW1lbnQ6OmRpZERyYXcgbm90aWZp
Y2F0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Q
b3B1cE1lbnVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYzMGNhYzRmYmQ0YjlkYzAx
MmQyOGRlMTlmZDI2OTIxMzM5ZDk3MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1BvcHVwTWVudUJsYWNrQmVycnk6OlBvcHVwTWVudUJsYWNrQmVycnkoUG9w
dXBNZW51Q2xpZW50KiBjbGllbnQpCisgICAgOiBtX3BvcHVwQ2xpZW50KGNsaWVudCkKK3sKK30K
KworUG9wdXBNZW51QmxhY2tCZXJyeTo6flBvcHVwTWVudUJsYWNrQmVycnkoKQoreworICAgIC8v
IG5vLW9wCit9CisKK3ZvaWQgUG9wdXBNZW51QmxhY2tCZXJyeTo6c2hvdyhjb25zdCBJbnRSZWN0
JiByLCBGcmFtZVZpZXcqIHYsIGludCBpbmRleCkKK3sKKyAgICAvLyBuby1vcAorfQorCit2b2lk
IFBvcHVwTWVudUJsYWNrQmVycnk6OmhpZGUoKQoreworICAgIG1fcG9wdXBDbGllbnQtPnBvcHVw
RGlkSGlkZSgpOworfQorCit2b2lkIFBvcHVwTWVudUJsYWNrQmVycnk6OnVwZGF0ZUZyb21FbGVt
ZW50KCkKK3sKKyAgICAvLyBuby1vcAorfQorCit2b2lkIFBvcHVwTWVudUJsYWNrQmVycnk6OmRp
c2Nvbm5lY3RDbGllbnQoKQoreworICAgIG1fcG9wdXBDbGllbnQgPSAwOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L1BvcHVwTWVudUJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MDhhZTMyNGZlM2Q3
MWUxNGYyOGMwZjFkMjg1ZTIzMjliYjUwYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BvcHVwTWVudUJsYWNrQmVycnkuaApAQCAtMCwwICsx
LDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1p
dGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYg
UG9wdXBNZW51QmxhY2tCZXJyeV9oCisjZGVmaW5lIFBvcHVwTWVudUJsYWNrQmVycnlfaAorCisj
aW5jbHVkZSAiUG9wdXBNZW51LmgiCisjaW5jbHVkZSAiUG9wdXBNZW51Q2xpZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUG9wdXBNZW51QmxhY2tCZXJyeSA6IHB1YmxpYyBQ
b3B1cE1lbnUgeworcHVibGljOgorICAgIFBvcHVwTWVudUJsYWNrQmVycnkoUG9wdXBNZW51Q2xp
ZW50Kik7CisgICAgflBvcHVwTWVudUJsYWNrQmVycnkoKTsKKworICAgIHZpcnR1YWwgdm9pZCBz
aG93KGNvbnN0IEludFJlY3QmLCBGcmFtZVZpZXcqLCBpbnQgaW5kZXgpOworICAgIHZpcnR1YWwg
dm9pZCBoaWRlKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAg
dmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGllbnQoKTsKKworcHJpdmF0ZToKKyAgICBQb3B1cE1l
bnVDbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9wdXBDbGllbnQ7IH0KKworICAg
IFBvcHVwTWVudUNsaWVudCogbV9wb3B1cENsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFj
a2JlcnJ5L1Njcm9sbFZpZXdCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvU2Nyb2xsVmlld0JsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MzlhY2I4
ZTA2M2IxYjI2MjIzNjE1MWNkZTgxOWUyOGI0M2U5YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbFZpZXdCbGFja0JlcnJ5LmNwcApA
QCAtMCwwICsxLDI0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJlc2VhcmNoIEluIE1v
dGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3Jp
dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTY3JvbGxWaWV3LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJCbGFja0JlcnJ5LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2Nyb2xsYmFyQmxhY2tCZXJyeS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmNiY2ZjNGM1MjQyZTZjZjExMGI1NzgwNjdhYWI1NjVkYWE4NjQ4MQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2Nyb2xs
YmFyQmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSwyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjEx
MC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xs
YmFyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJU
aGVtZUJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9T
Y3JvbGxiYXJUaGVtZUJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4M2ZjNzBmNzg1Yjc3ODM0
NmZkZWFjYmE3MGE1OTY1NTI5YzUyZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJhclRoZW1lQmxhY2tCZXJyeS5jcHAKQEAgLTAs
MCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKKworI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2Nyb2xsYmFyVGhl
bWUqIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICBzdGF0aWMgU2Nyb2xsYmFyVGhlbWUgdGhlbWU7CisgICAgcmV0dXJuICZ0aGVtZTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjY1YWViM2M0NjM3YzI2MzJiNDIwNzM0NGI3YzY1YzdkZWYyMTIzYgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2Vh
cmNoUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwOSwgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC
b3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCisjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjpTZWFyY2hQb3B1cE1l
bnVCbGFja0JlcnJ5KFBvcHVwTWVudUNsaWVudCogY2xpZW50KQorICAgIDogbV9wb3B1cChhZG9w
dFJlZihuZXcgUG9wdXBNZW51QmxhY2tCZXJyeShjbGllbnQpKSkKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorCitQb3B1cE1lbnUqIFNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OnBvcHVw
TWVudSgpCit7CisgICAgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7Cit9CisKK2Jvb2wgU2VhcmNoUG9w
dXBNZW51QmxhY2tCZXJyeTo6ZW5hYmxlZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6c2F2
ZVJlY2VudFNlYXJjaGVzKEF0b21pY1N0cmluZyBjb25zdCYsIFdURjo6VmVjdG9yPFN0cmluZywg
MHU+IGNvbnN0JikKK3sKKyAgICAvLyBGSVhNRTogcmVtb3ZlIDAgdGVtcGxhdGUgcGFyYW1ldGVy
IHdoZW4gdGhpcyBpcyBpbXBsZW1lbnRlZAorICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6bG9hZFJlY2VudFNlYXJjaGVzKEF0b21pY1N0
cmluZyBjb25zdCYsIFdURjo6VmVjdG9yPFN0cmluZywgMHU+JikKK3sKKyAgICAvLyBGSVhNRTog
cmVtb3ZlIDAgdGVtcGxhdGUgcGFyYW1ldGVyIHdoZW4gdGhpcyBpcyBpbXBsZW1lbnRlZAorICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51Qmxh
Y2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1
cE1lbnVCbGFja0JlcnJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2NlZDBhODFiYjdmZDRiMWYwOWNjNzdkOWYz
MWJjODVhOTE3ZjQxMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oCkBAIC0wLDAgKzEsNDIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBT
ZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5X2gKKyNkZWZpbmUgU2VhcmNoUG9wdXBNZW51QmxhY2tC
ZXJyeV9oCisKKyNpbmNsdWRlICJQb3B1cE1lbnVCbGFja0JlcnJ5LmgiCisjaW5jbHVkZSAiU2Vh
cmNoUG9wdXBNZW51LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2VhcmNoUG9w
dXBNZW51QmxhY2tCZXJyeSA6IHB1YmxpYyBTZWFyY2hQb3B1cE1lbnUgeworcHVibGljOgorICAg
IFNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkoUG9wdXBNZW51Q2xpZW50Kik7CisKKyAgICB2aXJ0
dWFsIFBvcHVwTWVudSogcG9wdXBNZW51KCk7CisgICAgdmlydHVhbCB2b2lkIHNhdmVSZWNlbnRT
ZWFyY2hlcyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
ZWFyY2hJdGVtcyk7CisgICAgdmlydHVhbCB2b2lkIGxvYWRSZWNlbnRTZWFyY2hlcyhjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWUsIFZlY3RvcjxTdHJpbmc+JiBzZWFyY2hJdGVtcyk7CisgICAgdmly
dHVhbCBib29sIGVuYWJsZWQoKTsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8UG9wdXBNZW51Qmxh
Y2tCZXJyeT4gbV9wb3B1cDsKK307CisKK30KKworI2VuZGlmIC8vIFNlYXJjaFBvcHVwTWVudUJs
YWNrQmVycnlfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117822</attachid>
            <date>2011-12-04 18:42:43 -0800</date>
            <delta_ts>2011-12-05 01:07:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73632-20111205104242.patch</filename>
            <type>text/plain</type>
            <size>13176</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uZDU1NjdlMzY4NTNhNDUwNjUwNzhiMWY5ODQ1ZmE2
YjQxNWQxYWY0OSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDExLTEyLTAyICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNyBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBN
ZW51QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQb3B1cE1l
bnVCbGFja0JlcnJ5Ojp+UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQ
b3B1cE1lbnVCbGFja0JlcnJ5OjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTWVudUJs
YWNrQmVycnk6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tCZXJyeTo6
dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tCZXJy
eTo6ZGlzY29ubmVjdENsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9Qb3B1
cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6Y2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbFZp
ZXdCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9T
Y3JvbGxiYXJCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vYmxhY2ti
ZXJyeS9TY3JvbGxiYXJUaGVtZUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSk6CisgICAgICAgICogcGxhdGZvcm0vYmxh
Y2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjpTZWFyY2hQb3B1cE1lbnVCbGFja0Jl
cnJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OnBvcHVw
TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjplbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OnNhdmVS
ZWNlbnRTZWFyY2hlcyk6CisgICAgICAgIChXZWJDb3JlOjpTZWFyY2hQb3B1cE1lbnVCbGFja0Jl
cnJ5Ojpsb2FkUmVjZW50U2VhcmNoZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkv
U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oOiBBZGRlZC4KKwogMjAxMS0xMS0zMCAgSmVmZiBU
aW1hbnVzICA8dHdpekBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWx0ZXIgYW4gZWFybHkgcmV0
dXJuIHRoYXQgd2FzIHByZXZlbnRpbmcgSFRNTENhbnZhc0VsZW1lbnQ6OmRpZERyYXcgbm90aWZp
Y2F0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Q
b3B1cE1lbnVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVy
cnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA3NDU3YzA1ZWIyN2U1N2Vh
NmI4MDMwNWUzNTlhODM4NWYzZjcwNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRl
ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBG
cmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1BvcHVwTWVudUJsYWNrQmVycnk6OlBvcHVwTWVudUJsYWNrQmVycnkoUG9w
dXBNZW51Q2xpZW50KiBjbGllbnQpCisgICAgOiBtX3BvcHVwQ2xpZW50KGNsaWVudCkKK3sKK30K
KworUG9wdXBNZW51QmxhY2tCZXJyeTo6flBvcHVwTWVudUJsYWNrQmVycnkoKQoreworfQorCit2
b2lkIFBvcHVwTWVudUJsYWNrQmVycnk6OnNob3coY29uc3QgSW50UmVjdCYgciwgRnJhbWVWaWV3
KiB2LCBpbnQgaW5kZXgpCit7Cit9CisKK3ZvaWQgUG9wdXBNZW51QmxhY2tCZXJyeTo6aGlkZSgp
Cit7CisgICAgbV9wb3B1cENsaWVudC0+cG9wdXBEaWRIaWRlKCk7Cit9CisKK3ZvaWQgUG9wdXBN
ZW51QmxhY2tCZXJyeTo6dXBkYXRlRnJvbUVsZW1lbnQoKQoreworfQorCit2b2lkIFBvcHVwTWVu
dUJsYWNrQmVycnk6OmRpc2Nvbm5lY3RDbGllbnQoKQoreworICAgIG1fcG9wdXBDbGllbnQgPSAw
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BvcHVwTWVudUJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU5MDhhZTMyNGZlM2Q3MWUxNGYyOGMwZjFkMjg1ZTIzMjliYjUwYjkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BvcHVwTWVudUJsYWNrQmVy
cnkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIFJlc2VhcmNo
IEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQor
ICovCisKKyNpZm5kZWYgUG9wdXBNZW51QmxhY2tCZXJyeV9oCisjZGVmaW5lIFBvcHVwTWVudUJs
YWNrQmVycnlfaAorCisjaW5jbHVkZSAiUG9wdXBNZW51LmgiCisjaW5jbHVkZSAiUG9wdXBNZW51
Q2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUG9wdXBNZW51QmxhY2tC
ZXJyeSA6IHB1YmxpYyBQb3B1cE1lbnUgeworcHVibGljOgorICAgIFBvcHVwTWVudUJsYWNrQmVy
cnkoUG9wdXBNZW51Q2xpZW50Kik7CisgICAgflBvcHVwTWVudUJsYWNrQmVycnkoKTsKKworICAg
IHZpcnR1YWwgdm9pZCBzaG93KGNvbnN0IEludFJlY3QmLCBGcmFtZVZpZXcqLCBpbnQgaW5kZXgp
OworICAgIHZpcnR1YWwgdm9pZCBoaWRlKCk7CisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUZyb21F
bGVtZW50KCk7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGllbnQoKTsKKworcHJpdmF0
ZToKKyAgICBQb3B1cE1lbnVDbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9wdXBD
bGllbnQ7IH0KKworICAgIFBvcHVwTWVudUNsaWVudCogbV9wb3B1cENsaWVudDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbFZpZXdCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2Nyb2xsVmlld0JsYWNrQmVycnkuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY2MzlhY2I4ZTA2M2IxYjI2MjIzNjE1MWNkZTgxOWUyOGI0M2U5YTUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbFZpZXdC
bGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDI0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEz
MDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTY3JvbGxWaWV3
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJCbGFj
a0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2Nyb2xsYmFy
QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmNiY2ZjNGM1MjQyZTZjZjExMGI1NzgwNjdhYWI1
NjVkYWE4NjQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvU2Nyb2xsYmFyQmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSwyNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAwOSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBC
b3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiU2Nyb2xsYmFyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2ti
ZXJyeS9TY3JvbGxiYXJUaGVtZUJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJUaGVtZUJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI4
M2ZjNzBmNzg1Yjc3ODM0NmZkZWFjYmE3MGE1OTY1NTI5YzUyZjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJhclRoZW1lQmxhY2tC
ZXJyeS5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBSZXNl
YXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBp
ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBV
U0EKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUu
aCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworU2Nyb2xsYmFyVGhlbWUqIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBzdGF0aWMgU2Nyb2xsYmFyVGhlbWUgdGhlbWU7CisgICAg
cmV0dXJuICZ0aGVtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBN
ZW51QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDQzYWM5M2MzZTQzODRiNGYyMzZkZWFiYmM0
M2JmYTk1MzYzYzFkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGlt
aXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2Vy
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCisj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5
OjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5KFBvcHVwTWVudUNsaWVudCogY2xpZW50KQorICAg
IDogbV9wb3B1cChhZG9wdFJlZihuZXcgUG9wdXBNZW51QmxhY2tCZXJyeShjbGllbnQpKSkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitQb3B1cE1lbnUqIFNlYXJjaFBvcHVwTWVudUJs
YWNrQmVycnk6OnBvcHVwTWVudSgpCit7CisgICAgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7Cit9CisK
K2Jvb2wgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6ZW5hYmxlZCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU2VhcmNoUG9wdXBNZW51
QmxhY2tCZXJyeTo6c2F2ZVJlY2VudFNlYXJjaGVzKEF0b21pY1N0cmluZyBjb25zdCYsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBzZWFyY2hJdGVtKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKK3ZvaWQgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6bG9hZFJlY2VudFNlYXJjaGVzKEF0
b21pY1N0cmluZyBjb25zdCYsIFZlY3RvcjxTdHJpbmc+JiBzZWFyY2hJdGVtcykKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJsYWNr
QmVycnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBN
ZW51QmxhY2tCZXJyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNjZWQwYTgxYmI3ZmQ0YjFmMDljYzc3ZDlmMzFi
Yzg1YTkxN2Y0MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuaApAQCAtMCwwICsxLDQyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYgU2Vh
cmNoUG9wdXBNZW51QmxhY2tCZXJyeV9oCisjZGVmaW5lIFNlYXJjaFBvcHVwTWVudUJsYWNrQmVy
cnlfaAorCisjaW5jbHVkZSAiUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorI2luY2x1ZGUgIlNlYXJj
aFBvcHVwTWVudS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNlYXJjaFBvcHVw
TWVudUJsYWNrQmVycnkgOiBwdWJsaWMgU2VhcmNoUG9wdXBNZW51IHsKK3B1YmxpYzoKKyAgICBT
ZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5KFBvcHVwTWVudUNsaWVudCopOworCisgICAgdmlydHVh
bCBQb3B1cE1lbnUqIHBvcHVwTWVudSgpOworICAgIHZpcnR1YWwgdm9pZCBzYXZlUmVjZW50U2Vh
cmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2Vh
cmNoSXRlbXMpOworICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVjZW50U2VhcmNoZXMoY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lLCBWZWN0b3I8U3RyaW5nPiYgc2VhcmNoSXRlbXMpOworICAgIHZpcnR1
YWwgYm9vbCBlbmFibGVkKCk7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPFBvcHVwTWVudUJsYWNr
QmVycnk+IG1fcG9wdXA7Cit9OworCit9CisKKyNlbmRpZiAvLyBTZWFyY2hQb3B1cE1lbnVCbGFj
a0JlcnJ5X2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117854</attachid>
            <date>2011-12-05 01:08:02 -0800</date>
            <delta_ts>2011-12-05 19:27:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73632-20111205170800.patch</filename>
            <type>text/plain</type>
            <size>11335</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uNGI4YjczYjQ2ODExODFlZDRhODU2NDk1MGQ0OTgw
YWFkZjM3NjlmNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTA1ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNSBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsIHVwc3RyZWFtLCBubyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6IFJlbW92ZSB0d28gZW1w
dHkgZmlsZXMgZnJvbSBidWlsZCBsaXN0LgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkv
UG9wdXBNZW51QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBN
ZW51QmxhY2tCZXJyeTo6UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQ
b3B1cE1lbnVCbGFja0JlcnJ5Ojp+UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJD
b3JlOjpQb3B1cE1lbnVCbGFja0JlcnJ5OjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
TWVudUJsYWNrQmVycnk6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tC
ZXJyeTo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6ZGlzY29ubmVjdENsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJy
eS9Qb3B1cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBN
ZW51QmxhY2tCZXJyeTo6Y2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Nj
cm9sbGJhclRoZW1lQmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5
L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6cG9wdXBNZW51KToK
KyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OmVuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6c2F2ZVJlY2VudFNl
YXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6Omxv
YWRSZWNlbnRTZWFyY2hlcyk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQ
b3B1cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorCiAyMDExLTExLTMwICBKZWZmIFRpbWFudXMg
IDx0d2l6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbHRlciBhbiBlYXJseSByZXR1cm4gdGhh
dCB3YXMgcHJldmVudGluZyBIVE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyBub3RpZmljYXRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKaW5kZXggOTY2OTQ4MDFiYzM0
NzYwOWFjOWVhYmQ2OThkNjRjODcwNDYxMzk2Yy4uNDdkYTJmZDYxYWI2MmVjZmEzNDk3M2E0ODE1
OWY4MDRmYjAxY2Y3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0Jl
cnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpA
QCAtMTU1LDggKzE1NSw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRm
b3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ibGFj
a2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ibGFja2JlcnJ5
L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwCi0gICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9T
Y3JvbGxWaWV3QmxhY2tCZXJyeS5jcHAKLSAgICBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJh
ckJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJUaGVtZUJs
YWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFj
a0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvU2hhcmVkVGltZXJCbGFja0JlcnJ5
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Qb3B1
cE1lbnVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkv
UG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjVjYjdlM2VlZmZhODUwMDljYTRk
OTEyMTc1Y2UwNzhkZTI0ODhhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1BvcHVwTWVudUJsYWNrQmVycnk6OlBvcHVwTWVudUJsYWNrQmVycnkoUG9wdXBN
ZW51Q2xpZW50KiBjbGllbnQpCisgICAgOiBtX3BvcHVwQ2xpZW50KGNsaWVudCkKK3sKK30KKwor
UG9wdXBNZW51QmxhY2tCZXJyeTo6flBvcHVwTWVudUJsYWNrQmVycnkoKQoreworfQorCit2b2lk
IFBvcHVwTWVudUJsYWNrQmVycnk6OnNob3coY29uc3QgSW50UmVjdCYsIEZyYW1lVmlldyosIGlu
dCkKK3sKK30KKwordm9pZCBQb3B1cE1lbnVCbGFja0JlcnJ5OjpoaWRlKCkKK3sKKyAgICBtX3Bv
cHVwQ2xpZW50LT5wb3B1cERpZEhpZGUoKTsKK30KKwordm9pZCBQb3B1cE1lbnVCbGFja0JlcnJ5
Ojp1cGRhdGVGcm9tRWxlbWVudCgpCit7Cit9CisKK3ZvaWQgUG9wdXBNZW51QmxhY2tCZXJyeTo6
ZGlzY29ubmVjdENsaWVudCgpCit7CisgICAgbV9wb3B1cENsaWVudCA9IDA7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9Qb3B1cE1lbnVCbGFja0JlcnJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwOGFlMzI0ZmUz
ZDcxZTE0ZjI4YzBmMWQyODVlMjMyOWJiNTBiOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5oCkBAIC0wLDAg
KzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9uIExp
bWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRl
ZiBQb3B1cE1lbnVCbGFja0JlcnJ5X2gKKyNkZWZpbmUgUG9wdXBNZW51QmxhY2tCZXJyeV9oCisK
KyNpbmNsdWRlICJQb3B1cE1lbnUuaCIKKyNpbmNsdWRlICJQb3B1cE1lbnVDbGllbnQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQb3B1cE1lbnVCbGFja0JlcnJ5IDogcHVibGlj
IFBvcHVwTWVudSB7CitwdWJsaWM6CisgICAgUG9wdXBNZW51QmxhY2tCZXJyeShQb3B1cE1lbnVD
bGllbnQqKTsKKyAgICB+UG9wdXBNZW51QmxhY2tCZXJyeSgpOworCisgICAgdmlydHVhbCB2b2lk
IHNob3coY29uc3QgSW50UmVjdCYsIEZyYW1lVmlldyosIGludCBpbmRleCk7CisgICAgdmlydHVh
bCB2b2lkIGhpZGUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdENsaWVudCgpOworCitwcml2YXRlOgorICAgIFBvcHVw
TWVudUNsaWVudCogY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9wb3B1cENsaWVudDsgfQorCisg
ICAgUG9wdXBNZW51Q2xpZW50KiBtX3BvcHVwQ2xpZW50OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Js
YWNrYmVycnkvU2Nyb2xsYmFyVGhlbWVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvU2Nyb2xsYmFyVGhlbWVCbGFja0JlcnJ5LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iODNmYzcwZjc4NWI3NzgzNDZmZGVhY2JhNzBhNTk2NTUyOWM1MmY4Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJUaGVtZUJs
YWNrQmVycnkuY3BwCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNjcm9sbGJhclRo
ZW1lLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1Njcm9sbGJhclRoZW1lKiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgc3RhdGljIFNjcm9sbGJhclRoZW1lIHRoZW1lOwor
ICAgIHJldHVybiAmdGhlbWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51Qmxh
Y2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NlYXJjaFBv
cHVwTWVudUJsYWNrQmVycnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3MTkxNjdlM2U0NDljOGU3YjQ4MTBh
OWNlNjJhZGU1NzAwODNmNzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ibGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuY3BwCkBAIC0wLDAgKzEs
NTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuaCIK
KworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
aWNTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTZWFyY2hQb3B1cE1lbnVCbGFj
a0JlcnJ5OjpTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5KFBvcHVwTWVudUNsaWVudCogY2xpZW50
KQorICAgIDogbV9wb3B1cChhZG9wdFJlZihuZXcgUG9wdXBNZW51QmxhY2tCZXJyeShjbGllbnQp
KSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitQb3B1cE1lbnUqIFNlYXJjaFBvcHVw
TWVudUJsYWNrQmVycnk6OnBvcHVwTWVudSgpCit7CisgICAgcmV0dXJuIG1fcG9wdXAuZ2V0KCk7
Cit9CisKK2Jvb2wgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6ZW5hYmxlZCgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgU2VhcmNoUG9w
dXBNZW51QmxhY2tCZXJyeTo6c2F2ZVJlY2VudFNlYXJjaGVzKEF0b21pY1N0cmluZyBjb25zdCYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIFNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OmxvYWRSZWNlbnRTZWFyY2hlcyhBdG9taWNT
dHJpbmcgY29uc3QmLCBWZWN0b3I8U3RyaW5nPiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jY2VkMGE4MWJiN2ZkNGIxZjA5Y2M3N2Q5ZjMxYmM4NWE5MTdmNDExCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQ
b3B1cE1lbnVCbGFja0JlcnJ5LmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwOSwgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s
IE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIFNlYXJjaFBvcHVwTWVudUJsYWNr
QmVycnlfaAorI2RlZmluZSBTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5X2gKKworI2luY2x1ZGUg
IlBvcHVwTWVudUJsYWNrQmVycnkuaCIKKyNpbmNsdWRlICJTZWFyY2hQb3B1cE1lbnUuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5IDog
cHVibGljIFNlYXJjaFBvcHVwTWVudSB7CitwdWJsaWM6CisgICAgU2VhcmNoUG9wdXBNZW51Qmxh
Y2tCZXJyeShQb3B1cE1lbnVDbGllbnQqKTsKKworICAgIHZpcnR1YWwgUG9wdXBNZW51KiBwb3B1
cE1lbnUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2F2ZVJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNlYXJjaEl0ZW1zKTsKKyAgICB2
aXJ0dWFsIHZvaWQgbG9hZFJlY2VudFNlYXJjaGVzKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSwg
VmVjdG9yPFN0cmluZz4mIHNlYXJjaEl0ZW1zKTsKKyAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgp
OworCitwcml2YXRlOgorICAgIFJlZlB0cjxQb3B1cE1lbnVCbGFja0JlcnJ5PiBtX3BvcHVwOwor
fTsKKworfQorCisjZW5kaWYgLy8gU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117979</attachid>
            <date>2011-12-05 19:27:28 -0800</date>
            <delta_ts>2011-12-07 10:24:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73632-20111206112724.patch</filename>
            <type>text/plain</type>
            <size>11382</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg4OTMyYjc1ZDNkZjgz
NDgyOTY5OWVmMTYxZTRmNzkwNzRhNjk1NS4uNGI4YjczYjQ2ODExODFlZDRhODU2NDk1MGQ0OTgw
YWFkZjM3NjlmNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDExLTEyLTA1ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgVXBzdHJlYW0gNSBm
aWxlcyBpbnRvIFdlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsIHVwc3RyZWFtLCBubyBuZXcgdGVz
dHMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2U6IFJlbW92ZSB0d28gZW1w
dHkgZmlsZXMgZnJvbSBidWlsZCBsaXN0LgorICAgICAgICAqIHBsYXRmb3JtL2JsYWNrYmVycnkv
UG9wdXBNZW51QmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBN
ZW51QmxhY2tCZXJyeTo6UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJDb3JlOjpQ
b3B1cE1lbnVCbGFja0JlcnJ5Ojp+UG9wdXBNZW51QmxhY2tCZXJyeSk6CisgICAgICAgIChXZWJD
b3JlOjpQb3B1cE1lbnVCbGFja0JlcnJ5OjpzaG93KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
TWVudUJsYWNrQmVycnk6OmhpZGUpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51QmxhY2tC
ZXJyeTo6dXBkYXRlRnJvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51Qmxh
Y2tCZXJyeTo6ZGlzY29ubmVjdENsaWVudCk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJy
eS9Qb3B1cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBN
ZW51QmxhY2tCZXJyeTo6Y2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Nj
cm9sbGJhclRoZW1lQmxhY2tCZXJyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5
L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6cG9wdXBNZW51KToK
KyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OmVuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeTo6c2F2ZVJlY2VudFNl
YXJjaGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6Omxv
YWRSZWNlbnRTZWFyY2hlcyk6CisgICAgICAgICogcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQ
b3B1cE1lbnVCbGFja0JlcnJ5Lmg6IEFkZGVkLgorCiAyMDExLTExLTMwICBKZWZmIFRpbWFudXMg
IDx0d2l6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBbHRlciBhbiBlYXJseSByZXR1cm4gdGhh
dCB3YXMgcHJldmVudGluZyBIVE1MQ2FudmFzRWxlbWVudDo6ZGlkRHJhdyBub3RpZmljYXRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UgYi9T
b3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKaW5kZXggOTY2OTQ4MDFiYzM0
NzYwOWFjOWVhYmQ2OThkNjRjODcwNDYxMzk2Yy4uNDdkYTJmZDYxYWI2MmVjZmEzNDk3M2E0ODE1
OWY4MDRmYjAxY2Y3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1CbGFja0Jl
cnJ5LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQpA
QCAtMTU1LDggKzE1NSw2IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRm
b3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ibGFj
a2JlcnJ5L1JlbmRlclRoZW1lQmxhY2tCZXJyeS5jcHAKICAgICBwbGF0Zm9ybS9ibGFja2JlcnJ5
L1NTTEtleUdlbmVyYXRvckJsYWNrQmVycnkuY3BwCi0gICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9T
Y3JvbGxWaWV3QmxhY2tCZXJyeS5jcHAKLSAgICBwbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJh
ckJsYWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9TY3JvbGxiYXJUaGVtZUJs
YWNrQmVycnkuY3BwCiAgICAgcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFj
a0JlcnJ5LmNwcAogICAgIHBsYXRmb3JtL2JsYWNrYmVycnkvU2hhcmVkVGltZXJCbGFja0JlcnJ5
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Qb3B1
cE1lbnVCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkv
UG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDU2ZmI2MmY2MjM1ZTA1NDBhMmUz
NDc1Yjk4NjBkNzUzYzk1ZWU2OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1MyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCisjaW5jbHVkZSAiUG9w
dXBNZW51Q2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUG9wdXBNZW51QmxhY2tC
ZXJyeTo6UG9wdXBNZW51QmxhY2tCZXJyeShQb3B1cE1lbnVDbGllbnQqIGNsaWVudCkKKyAgICA6
IG1fcG9wdXBDbGllbnQoY2xpZW50KQoreworfQorCitQb3B1cE1lbnVCbGFja0JlcnJ5Ojp+UG9w
dXBNZW51QmxhY2tCZXJyeSgpCit7Cit9CisKK3ZvaWQgUG9wdXBNZW51QmxhY2tCZXJyeTo6c2hv
dyhjb25zdCBJbnRSZWN0JiwgRnJhbWVWaWV3KiwgaW50KQoreworfQorCit2b2lkIFBvcHVwTWVu
dUJsYWNrQmVycnk6OmhpZGUoKQoreworICAgIG1fcG9wdXBDbGllbnQtPnBvcHVwRGlkSGlkZSgp
OworfQorCit2b2lkIFBvcHVwTWVudUJsYWNrQmVycnk6OnVwZGF0ZUZyb21FbGVtZW50KCkKK3sK
K30KKwordm9pZCBQb3B1cE1lbnVCbGFja0JlcnJ5OjpkaXNjb25uZWN0Q2xpZW50KCkKK3sKKyAg
ICBtX3BvcHVwQ2xpZW50ID0gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Qb3B1cE1lbnVCbGFja0Jl
cnJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BvcHVwTWVudUJsYWNr
QmVycnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jODRlZGNkZGEzZjQ3YWMwNGJiZjIzNGY1MmJkNzAzMDc4ZTUz
M2MxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJy
eS9Qb3B1cE1lbnVCbGFja0JlcnJ5LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B
ICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIFBvcHVwTWVudUJsYWNrQmVycnlfaAor
I2RlZmluZSBQb3B1cE1lbnVCbGFja0JlcnJ5X2gKKworI2luY2x1ZGUgIlBvcHVwTWVudS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFBvcHVwTWVudUNsaWVudDsKKworY2xhc3Mg
UG9wdXBNZW51QmxhY2tCZXJyeSA6IHB1YmxpYyBQb3B1cE1lbnUgeworcHVibGljOgorICAgIFBv
cHVwTWVudUJsYWNrQmVycnkoUG9wdXBNZW51Q2xpZW50Kik7CisgICAgflBvcHVwTWVudUJsYWNr
QmVycnkoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzaG93KGNvbnN0IEludFJlY3QmLCBGcmFtZVZp
ZXcqLCBpbnQgaW5kZXgpOworICAgIHZpcnR1YWwgdm9pZCBoaWRlKCk7CisgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZUZyb21FbGVtZW50KCk7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RDbGll
bnQoKTsKKworcHJpdmF0ZToKKyAgICBQb3B1cE1lbnVDbGllbnQqIGNsaWVudCgpIGNvbnN0IHsg
cmV0dXJuIG1fcG9wdXBDbGllbnQ7IH0KKworICAgIFBvcHVwTWVudUNsaWVudCogbV9wb3B1cENs
aWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJhclRoZW1lQmxhY2tC
ZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Njcm9sbGJhclRo
ZW1lQmxhY2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNlYTQzOWIxYjFiZmIzMmIwYmVmMjUzODhj
NjMxMzZjYWEwNjNiMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2JsYWNrYmVycnkvU2Nyb2xsYmFyVGhlbWVCbGFja0JlcnJ5LmNwcApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTY3JvbGxiYXJUaGVtZSogU2Nyb2xs
YmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU2Nyb2xsYmFyVGhlbWUsIHRoZW1lLCAoKSk7CisgICAgcmV0dXJu
ICZ0aGVtZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9TZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51Qmxh
Y2tCZXJyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDcxOTE2N2UzZTQ0OWM4ZTdiNDgxMGE5Y2U2MmFkZTU3
MDA4M2Y3MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNr
YmVycnkvU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oIgorCisjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnk6OlNl
YXJjaFBvcHVwTWVudUJsYWNrQmVycnkoUG9wdXBNZW51Q2xpZW50KiBjbGllbnQpCisgICAgOiBt
X3BvcHVwKGFkb3B0UmVmKG5ldyBQb3B1cE1lbnVCbGFja0JlcnJ5KGNsaWVudCkpKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1BvcHVwTWVudSogU2VhcmNoUG9wdXBNZW51QmxhY2tC
ZXJyeTo6cG9wdXBNZW51KCkKK3sKKyAgICByZXR1cm4gbV9wb3B1cC5nZXQoKTsKK30KKworYm9v
bCBTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5OjplbmFibGVkKCkKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBTZWFyY2hQb3B1cE1lbnVCbGFj
a0JlcnJ5OjpzYXZlUmVjZW50U2VhcmNoZXMoQXRvbWljU3RyaW5nIGNvbnN0JiwgY29uc3QgVmVj
dG9yPFN0cmluZz4mKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgU2VhcmNo
UG9wdXBNZW51QmxhY2tCZXJyeTo6bG9hZFJlY2VudFNlYXJjaGVzKEF0b21pY1N0cmluZyBjb25z
dCYsIFZlY3RvcjxTdHJpbmc+JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9i
bGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2JsYWNrYmVycnkvU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNjZWQwYTgxYmI3ZmQ0YjFmMDljYzc3ZDlmMzFiYzg1YTkxN2Y0MTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1NlYXJjaFBvcHVwTWVudUJs
YWNrQmVycnkuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAy
MDEwIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw
LTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYgU2VhcmNoUG9wdXBNZW51QmxhY2tCZXJyeV9oCisj
ZGVmaW5lIFNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnlfaAorCisjaW5jbHVkZSAiUG9wdXBNZW51
QmxhY2tCZXJyeS5oIgorI2luY2x1ZGUgIlNlYXJjaFBvcHVwTWVudS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNlYXJjaFBvcHVwTWVudUJsYWNrQmVycnkgOiBwdWJsaWMgU2Vh
cmNoUG9wdXBNZW51IHsKK3B1YmxpYzoKKyAgICBTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5KFBv
cHVwTWVudUNsaWVudCopOworCisgICAgdmlydHVhbCBQb3B1cE1lbnUqIHBvcHVwTWVudSgpOwor
ICAgIHZpcnR1YWwgdm9pZCBzYXZlUmVjZW50U2VhcmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiBu
YW1lLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2VhcmNoSXRlbXMpOworICAgIHZpcnR1YWwgdm9p
ZCBsb2FkUmVjZW50U2VhcmNoZXMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBWZWN0b3I8U3Ry
aW5nPiYgc2VhcmNoSXRlbXMpOworICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCk7CisKK3ByaXZh
dGU6CisgICAgUmVmUHRyPFBvcHVwTWVudUJsYWNrQmVycnk+IG1fcG9wdXA7Cit9OworCit9CisK
KyNlbmRpZiAvLyBTZWFyY2hQb3B1cE1lbnVCbGFja0JlcnJ5X2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>