<?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>127170</bug_id>
          
          <creation_ts>2014-01-17 03:59:04 -0800</creation_ts>
          <short_desc>[GTK] Add GUniquePtr</short_desc>
          <delta_ts>2014-01-24 02:33:17 -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>Web Template Framework</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>969102</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 03:59:04 -0800</bug_when>
    <thetext>The idea is to replace GOwnPtr with a new simpler class derived the std:unique_ptr. Not everything can be replaced, though, because GOwnPtr::outPtr() doesn&apos;t seem to be possible to implement with unique_ptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969103</commentid>
    <comment_count>1</comment_count>
      <attachid>221454</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 04:07:07 -0800</bug_when>
    <thetext>Created attachment 221454
Patch

This is a first patch adding support for glib types already supported by GOwnPtr, except GError that is usually used with GOwnPtr::outPtr(). Then, adding support for Soup and GTK/GDK types would be a matter of defining a macro  FOR_EACH_SOUP_DELETER, FOR_EACH_GDK_DELETER, etc and call it with DEFINE_DELETER. I&apos;ll also start porting existing code to GUniquePtr once/if this patch lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969111</commentid>
    <comment_count>2</comment_count>
      <attachid>221457</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 04:55:50 -0800</bug_when>
    <thetext>Created attachment 221457
Updated patch

Undef the FOR_EACH_GLIB_DELETER after using it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969112</commentid>
    <comment_count>3</comment_count>
      <attachid>221458</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 04:59:13 -0800</bug_when>
    <thetext>Created attachment 221458
Updated patch

Forgot to git add the tests makefile changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969125</commentid>
    <comment_count>4</comment_count>
      <attachid>221461</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 06:06:04 -0800</bug_when>
    <thetext>Created attachment 221461
Updated patch

Simply made the operator() of the deleters const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>969140</commentid>
    <comment_count>5</comment_count>
      <attachid>221470</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-17 08:53:39 -0800</bug_when>
    <thetext>Created attachment 221470
Even simpler patch using template alias

This is even simpler now using a template alias as suggested in bug #126255</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970282</commentid>
    <comment_count>6</comment_count>
      <attachid>221754</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-21 09:26:00 -0800</bug_when>
    <thetext>Created attachment 221754
Updated patch

Added deleter for GError and prefixed the DEFINE_DELETER macro with WTF since it&apos;s public macro to be used by others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970296</commentid>
    <comment_count>7</comment_count>
      <attachid>221754</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2014-01-21 09:58:57 -0800</bug_when>
    <thetext>Comment on attachment 221754
Updated patch

LGTM, pitty we can&apos;t extend std::unique_ptr, but then again, not sure how sane that would be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970675</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-22 05:59:06 -0800</bug_when>
    <thetext>Committed r162516: &lt;http://trac.webkit.org/changeset/162516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971559</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-01-24 02:33:17 -0800</bug_when>
    <thetext>*** Bug 126255 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221454</attachid>
            <date>2014-01-17 04:07:07 -0800</date>
            <delta_ts>2014-01-17 04:55:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wtf-g-unique-ptr.diff</filename>
            <type>text/plain</type>
            <size>8899</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNjRmMTMyNC4uNjNkMGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgbmV3IHNpbXBs
ZXIgY2xhc3MgZGVyaXZlZAorICAgICAgICBmcm9tIHN0ZDp1bmlxdWVfcHRyLiBOb3QgZXZlcnl0
aGluZyBjYW4gYmUgcmVwbGFjZWQsIHRob3VnaCwKKyAgICAgICAgYmVjYXVzZSBHT3duUHRyOjpv
dXRQdHIoKSBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgdG8gaW1wbGVtZW50CisgICAgICAg
IHdpdGggdW5pcXVlX3B0ci4gVGhpcyBzbWFydCBwb2ludGVyIGlzIG1vcmUgZmxleGlibGUgdGhh
biBHT3duUHRyCisgICAgICAgIGFuZCBhbGxvd3MgdG8gdHJhbnNmZXIgdGhlIG93bmVyc2hpcCBv
ZiB0aGUgcG9pbnRlciB1c2luZyBzdGQ6Om1vdmUoKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IEFkZCBuZXcgZmlsZSB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiB3dGYvZ29i
amVjdC9HVW5pcXVlUHRyLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpHUHRyRGVsZXRlcjo6b3Bl
cmF0b3IoKSk6CisKIDIwMTQtMDEtMTYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIE5peCBmcm9tIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGY4NzZkZGYuLjQ1M2UxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIxNCw2
ICsyMTQsNyBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9H
UmVmUHRyLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9HUmVmUHRyLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmggXAorICAgIFNvdXJjZS9XVEYvd3Rm
L2dvYmplY3QvR1VuaXF1ZVB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJV
dGlsaXRpZXMuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMu
aCBcCiAgICAgU291cmNlL1dURi93dGYvZ3RrL01haW5UaHJlYWRHdGsuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYv
Z29iamVjdC9HVW5pcXVlUHRyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MzU2MjIyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1
ZVB0ci5oCkBAIC0wLDAgKzEsNzUgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE0IElnYWxp
YSBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIEdVbmlxdWVQdHJfaAorI2RlZmluZSBHVW5p
cXVlUHRyX2gKKworI2lmIFVTRShHTElCKQorCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBHUHRyRGVsZXRlciB7
CisgICAgdm9pZCBvcGVyYXRvcigpKFQqIHB0cikgeyBnX2ZyZWUocHRyKTsgfQorfTsKKwordGVt
cGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgR1VuaXF1ZVB0cjogcHVibGljIHN0ZDo6dW5pcXVl
X3B0cjxULCBHUHRyRGVsZXRlcjxUPj4geworICAgIEdVbmlxdWVQdHIoKQorICAgICAgICA6IHN0
ZDo6dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj4obnVsbHB0cikKKyAgICB7CisgICAgfQor
CisgICAgR1VuaXF1ZVB0cihUKiBwdHIpCisgICAgICAgIDogc3RkOjp1bmlxdWVfcHRyPFQsIEdQ
dHJEZWxldGVyPFQ+PihwdHIpCisgICAgeworICAgIH0KK307CisKKyNkZWZpbmUgRk9SX0VBQ0hf
R0xJQl9ERUxFVEVSKG1hY3JvKSBcCisgICAgbWFjcm8oR0xpc3QsIGdfbGlzdF9mcmVlKSBcCisg
ICAgbWFjcm8oR1NMaXN0LCBnX3NsaXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHUGF0dGVyblNwZWMs
IGdfcGF0dGVybl9zcGVjX2ZyZWUpIFwKKyAgICBtYWNybyhHRGlyLCBnX2Rpcl9jbG9zZSkgXAor
ICAgIG1hY3JvKEdUaW1lciwgZ190aW1lcl9kZXN0cm95KSBcCisgICAgbWFjcm8oR0tleUZpbGUs
IGdfa2V5X2ZpbGVfZnJlZSkKKworI2RlZmluZSBERUZJTkVfREVMRVRFUih0eXBlTmFtZSwgZGVs
ZXRlckZ1bmMpIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBHUHRyRGVsZXRlcjx0eXBlTmFtZT4g
XAorICAgIHsgXAorICAgICAgICB2b2lkIG9wZXJhdG9yKCkgKHR5cGVOYW1lKiBwdHIpIFwKKyAg
ICAgICAgeyBcCisgICAgICAgICAgICBpZiAocHRyKSBcCisgICAgICAgICAgICAgICAgZGVsZXRl
ckZ1bmMocHRyKTsgXAorICAgICAgICB9IFwKKyAgICB9OworCitGT1JfRUFDSF9HTElCX0RFTEVU
RVIoREVGSU5FX0RFTEVURVIpCisKK30gLy8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OkdV
bmlxdWVQdHI7CisKKyNlbmRpZiAvLyBVU0UoR0xJQikKKworI2VuZGlmIC8vIEdVbmlxdWVQdHJf
aAorCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
MjM5YWFkMi4uMWY0MWNlYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTAxLTE3ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBBZGQgR1VuaXF1ZVB0
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MTcw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHVu
aXQgdGVzdHMgZm9yIEdVbmlxdWVQdHIuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwOiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAg
ICAgICh0YWtlTG9nU3RyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE0
LTAxLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEF1dG9t
YXRlIERvWW91RXZlbkJlbmNoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvZ29iamVjdC9HVW5pcXVlUHRyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5mZWI3YzAzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvZ29iamVjdC9HVW5pcXVlUHRyLmNwcApAQCAtMCwwICsxLDEzNiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisKK2lubGluZSBzdGQ6Om9zdHJpbmdzdHJlYW0m
IGxvZygpCit7CisgICAgc3RhdGljIHN0ZDo6b3N0cmluZ3N0cmVhbSBsb2c7CisgICAgcmV0dXJu
IGxvZzsKK30KKworaW5saW5lIHN0ZDo6c3RyaW5nIHRha2VMb2dTdHIoKQoreworICAgIHN0ZDo6
c3RyaW5nIHN0cmluZyA9IGxvZygpLnN0cigpOworICAgIGxvZygpLnN0cigiIik7CisgICAgcmV0
dXJuIHN0cmluZzsKK30KKworc3RhdGljIHZvaWQgKCogX2dfZnJlZSkodm9pZCopID0gZ19mcmVl
OworI2RlZmluZSBnX2ZyZWUoeCkgXAorICAgIGxvZygpIDw8ICJnX2ZyZWUoIiA8PCBwdHIgPDwg
Iik7IjsgXAorICAgIF9nX2ZyZWUoeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX2xpc3RfZnJlZSko
R0xpc3QqKSA9IGdfbGlzdF9mcmVlOworI2RlZmluZSBnX2xpc3RfZnJlZSh4KSBcCisgICAgbG9n
KCkgPDwgImdfbGlzdF9mcmVlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19saXN0X2ZyZWUo
eCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX3NsaXN0X2ZyZWUpKEdTTGlzdCopID0gZ19zbGlzdF9m
cmVlOworI2RlZmluZSBnX3NsaXN0X2ZyZWUoeCkgXAorICAgIGxvZygpIDw8ICJnX3NsaXN0X2Zy
ZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX3NsaXN0X2ZyZWUoeCk7CisKK3N0YXRpYyB2
b2lkICgqIF9nX3BhdHRlcm5fc3BlY19mcmVlKShHUGF0dGVyblNwZWMqKSA9IGdfcGF0dGVybl9z
cGVjX2ZyZWU7CisjZGVmaW5lIGdfcGF0dGVybl9zcGVjX2ZyZWUoeCkgXAorICAgIGxvZygpIDw8
ICJnX3BhdHRlcm5fc3BlY19mcmVlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19wYXR0ZXJu
X3NwZWNfZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfZGlyX2Nsb3NlKShHRGlyKikgPSBn
X2Rpcl9jbG9zZTsKKyNkZWZpbmUgZ19kaXJfY2xvc2UoeCkgXAorICAgIGxvZygpIDw8ICJnX2Rp
cl9jbG9zZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfZGlyX2Nsb3NlKHgpOworCitzdGF0
aWMgdm9pZCAoKiBfZ190aW1lcl9kZXN0cm95KShHVGltZXIqKSA9IGdfdGltZXJfZGVzdHJveTsK
KyNkZWZpbmUgZ190aW1lcl9kZXN0cm95KHgpIFwKKyAgICBsb2coKSA8PCAiZ190aW1lcl9kZXN0
cm95KCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ190aW1lcl9kZXN0cm95KHgpOworCitzdGF0
aWMgdm9pZCAoKiBfZ19rZXlfZmlsZV9mcmVlKShHS2V5RmlsZSopID0gZ19rZXlfZmlsZV9mcmVl
OworI2RlZmluZSBnX2tleV9maWxlX2ZyZWUoeCkgXAorICAgIGxvZygpIDw8ICJnX2tleV9maWxl
X2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX2tleV9maWxlX2ZyZWUoeCk7CisKKyNp
bmNsdWRlIDx3dGYvZ29iamVjdC9HVW5pcXVlUHRyLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0
QVBJIHsKKworVEVTVChXVEZfR1VuaXF1ZVB0ciwgQmFzaWMpCit7CisgICAgc3RkOjpvc3RyaW5n
c3RyZWFtIGFjdHVhbDsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBhKGdfc3Ry
ZHVwKCJhIikpOworICAgICAgICBhY3R1YWwgPDwgImdfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7
IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9n
U3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdV
bmlxdWVQdHI8R0xpc3Q+IGEoZ19saXN0X3ByZXBlbmQobnVsbHB0ciwgZ19zdHJkdXAoImEiKSkp
OworICAgICAgICBhY3R1YWwgPDwgImdfbGlzdF9mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOwor
ICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIo
KS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1
ZVB0cjxHU0xpc3Q+IGEoZ19zbGlzdF9wcmVwZW5kKG51bGxwdHIsIGdfc3RyZHVwKCJhIikpKTsK
KyAgICAgICAgYWN0dWFsIDw8ICJnX3NsaXN0X2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7Cisg
ICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigp
LmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVl
UHRyPEdQYXR0ZXJuU3BlYz4gYShnX3BhdHRlcm5fc3BlY19uZXcoImEiKSk7CisgICAgICAgIGFj
dHVhbCA8PCAiZ19wYXR0ZXJuX3NwZWNfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9
CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19z
dHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8
R0Rpcj4gYShnX2Rpcl9vcGVuKCIvdG1wIiwgMCwgbnVsbHB0cikpOworICAgICAgICBhY3R1YWwg
PDwgImdfZGlyX2Nsb3NlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRf
U1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBh
Y3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHVGltZXI+IGEoZ190
aW1lcl9uZXcoKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ190aW1lcl9kZXN0cm95KCIgPDwgYS5n
ZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3Ry
KCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsK
KyAgICAgICAgR1VuaXF1ZVB0cjxHS2V5RmlsZT4gYShnX2tleV9maWxlX25ldygpKTsKKyAgICAg
ICAgYWN0dWFsIDw8ICJnX2tleV9maWxlX2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAg
fQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNf
c3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221457</attachid>
            <date>2014-01-17 04:55:50 -0800</date>
            <delta_ts>2014-01-17 04:59:13 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wtf-g-unique-ptr2.diff</filename>
            <type>text/plain</type>
            <size>8929</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNjRmMTMyNC4uNjNkMGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgbmV3IHNpbXBs
ZXIgY2xhc3MgZGVyaXZlZAorICAgICAgICBmcm9tIHN0ZDp1bmlxdWVfcHRyLiBOb3QgZXZlcnl0
aGluZyBjYW4gYmUgcmVwbGFjZWQsIHRob3VnaCwKKyAgICAgICAgYmVjYXVzZSBHT3duUHRyOjpv
dXRQdHIoKSBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgdG8gaW1wbGVtZW50CisgICAgICAg
IHdpdGggdW5pcXVlX3B0ci4gVGhpcyBzbWFydCBwb2ludGVyIGlzIG1vcmUgZmxleGlibGUgdGhh
biBHT3duUHRyCisgICAgICAgIGFuZCBhbGxvd3MgdG8gdHJhbnNmZXIgdGhlIG93bmVyc2hpcCBv
ZiB0aGUgcG9pbnRlciB1c2luZyBzdGQ6Om1vdmUoKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IEFkZCBuZXcgZmlsZSB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiB3dGYvZ29i
amVjdC9HVW5pcXVlUHRyLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpHUHRyRGVsZXRlcjo6b3Bl
cmF0b3IoKSk6CisKIDIwMTQtMDEtMTYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIE5peCBmcm9tIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGY4NzZkZGYuLjQ1M2UxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIxNCw2
ICsyMTQsNyBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9H
UmVmUHRyLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9HUmVmUHRyLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmggXAorICAgIFNvdXJjZS9XVEYvd3Rm
L2dvYmplY3QvR1VuaXF1ZVB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJV
dGlsaXRpZXMuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMu
aCBcCiAgICAgU291cmNlL1dURi93dGYvZ3RrL01haW5UaHJlYWRHdGsuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYv
Z29iamVjdC9HVW5pcXVlUHRyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YmQyNTkwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1
ZVB0ci5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE0IElnYWxp
YSBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIEdVbmlxdWVQdHJfaAorI2RlZmluZSBHVW5p
cXVlUHRyX2gKKworI2lmIFVTRShHTElCKQorCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBHUHRyRGVsZXRlciB7
CisgICAgdm9pZCBvcGVyYXRvcigpKFQqIHB0cikgeyBnX2ZyZWUocHRyKTsgfQorfTsKKwordGVt
cGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgR1VuaXF1ZVB0cjogcHVibGljIHN0ZDo6dW5pcXVl
X3B0cjxULCBHUHRyRGVsZXRlcjxUPj4geworICAgIEdVbmlxdWVQdHIoKQorICAgICAgICA6IHN0
ZDo6dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj4obnVsbHB0cikKKyAgICB7CisgICAgfQor
CisgICAgR1VuaXF1ZVB0cihUKiBwdHIpCisgICAgICAgIDogc3RkOjp1bmlxdWVfcHRyPFQsIEdQ
dHJEZWxldGVyPFQ+PihwdHIpCisgICAgeworICAgIH0KK307CisKKyNkZWZpbmUgRk9SX0VBQ0hf
R0xJQl9ERUxFVEVSKG1hY3JvKSBcCisgICAgbWFjcm8oR0xpc3QsIGdfbGlzdF9mcmVlKSBcCisg
ICAgbWFjcm8oR1NMaXN0LCBnX3NsaXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHUGF0dGVyblNwZWMs
IGdfcGF0dGVybl9zcGVjX2ZyZWUpIFwKKyAgICBtYWNybyhHRGlyLCBnX2Rpcl9jbG9zZSkgXAor
ICAgIG1hY3JvKEdUaW1lciwgZ190aW1lcl9kZXN0cm95KSBcCisgICAgbWFjcm8oR0tleUZpbGUs
IGdfa2V5X2ZpbGVfZnJlZSkKKworI2RlZmluZSBERUZJTkVfREVMRVRFUih0eXBlTmFtZSwgZGVs
ZXRlckZ1bmMpIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBHUHRyRGVsZXRlcjx0eXBlTmFtZT4g
XAorICAgIHsgXAorICAgICAgICB2b2lkIG9wZXJhdG9yKCkgKHR5cGVOYW1lKiBwdHIpIFwKKyAg
ICAgICAgeyBcCisgICAgICAgICAgICBpZiAocHRyKSBcCisgICAgICAgICAgICAgICAgZGVsZXRl
ckZ1bmMocHRyKTsgXAorICAgICAgICB9IFwKKyAgICB9OworCitGT1JfRUFDSF9HTElCX0RFTEVU
RVIoREVGSU5FX0RFTEVURVIpCisjdW5kZWYgRk9SX0VBQ0hfR0xJQl9ERUxFVEVSCisKK30gLy8g
bmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OkdVbmlxdWVQdHI7CisKKyNlbmRpZiAvLyBVU0Uo
R0xJQikKKworI2VuZGlmIC8vIEdVbmlxdWVQdHJfaAorCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM5YWFkMi4uMWY0MWNlYiAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDE0LTAxLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXSBBZGQgR1VuaXF1ZVB0cgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3MTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHVuaXQgdGVzdHMgZm9yIEdVbmlxdWVQdHIuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAgICAgICh0YWtlTG9nU3RyKToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE0LTAxLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEF1dG9tYXRlIERvWW91RXZlbkJlbmNoCmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZ29iamVjdC9HVW5pcXVlUHRyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWI3YzAzCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZ29iamVjdC9HVW5pcXVlUHRyLmNw
cApAQCAtMCwwICsxLDEzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+
CisKK2lubGluZSBzdGQ6Om9zdHJpbmdzdHJlYW0mIGxvZygpCit7CisgICAgc3RhdGljIHN0ZDo6
b3N0cmluZ3N0cmVhbSBsb2c7CisgICAgcmV0dXJuIGxvZzsKK30KKworaW5saW5lIHN0ZDo6c3Ry
aW5nIHRha2VMb2dTdHIoKQoreworICAgIHN0ZDo6c3RyaW5nIHN0cmluZyA9IGxvZygpLnN0cigp
OworICAgIGxvZygpLnN0cigiIik7CisgICAgcmV0dXJuIHN0cmluZzsKK30KKworc3RhdGljIHZv
aWQgKCogX2dfZnJlZSkodm9pZCopID0gZ19mcmVlOworI2RlZmluZSBnX2ZyZWUoeCkgXAorICAg
IGxvZygpIDw8ICJnX2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX2ZyZWUoeCk7CisK
K3N0YXRpYyB2b2lkICgqIF9nX2xpc3RfZnJlZSkoR0xpc3QqKSA9IGdfbGlzdF9mcmVlOworI2Rl
ZmluZSBnX2xpc3RfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdfbGlzdF9mcmVlKCIgPDwgcHRy
IDw8ICIpOyI7IFwKKyAgICBfZ19saXN0X2ZyZWUoeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX3Ns
aXN0X2ZyZWUpKEdTTGlzdCopID0gZ19zbGlzdF9mcmVlOworI2RlZmluZSBnX3NsaXN0X2ZyZWUo
eCkgXAorICAgIGxvZygpIDw8ICJnX3NsaXN0X2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAg
IF9nX3NsaXN0X2ZyZWUoeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX3BhdHRlcm5fc3BlY19mcmVl
KShHUGF0dGVyblNwZWMqKSA9IGdfcGF0dGVybl9zcGVjX2ZyZWU7CisjZGVmaW5lIGdfcGF0dGVy
bl9zcGVjX2ZyZWUoeCkgXAorICAgIGxvZygpIDw8ICJnX3BhdHRlcm5fc3BlY19mcmVlKCIgPDwg
cHRyIDw8ICIpOyI7IFwKKyAgICBfZ19wYXR0ZXJuX3NwZWNfZnJlZSh4KTsKKworc3RhdGljIHZv
aWQgKCogX2dfZGlyX2Nsb3NlKShHRGlyKikgPSBnX2Rpcl9jbG9zZTsKKyNkZWZpbmUgZ19kaXJf
Y2xvc2UoeCkgXAorICAgIGxvZygpIDw8ICJnX2Rpcl9jbG9zZSgiIDw8IHB0ciA8PCAiKTsiOyBc
CisgICAgX2dfZGlyX2Nsb3NlKHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ190aW1lcl9kZXN0cm95
KShHVGltZXIqKSA9IGdfdGltZXJfZGVzdHJveTsKKyNkZWZpbmUgZ190aW1lcl9kZXN0cm95KHgp
IFwKKyAgICBsb2coKSA8PCAiZ190aW1lcl9kZXN0cm95KCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAg
ICBfZ190aW1lcl9kZXN0cm95KHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19rZXlfZmlsZV9mcmVl
KShHS2V5RmlsZSopID0gZ19rZXlfZmlsZV9mcmVlOworI2RlZmluZSBnX2tleV9maWxlX2ZyZWUo
eCkgXAorICAgIGxvZygpIDw8ICJnX2tleV9maWxlX2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAor
ICAgIF9nX2tleV9maWxlX2ZyZWUoeCk7CisKKyNpbmNsdWRlIDx3dGYvZ29iamVjdC9HVW5pcXVl
UHRyLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKKworVEVTVChXVEZfR1VuaXF1ZVB0
ciwgQmFzaWMpCit7CisgICAgc3RkOjpvc3RyaW5nc3RyZWFtIGFjdHVhbDsKKworICAgIHsKKyAg
ICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBhKGdfc3RyZHVwKCJhIikpOworICAgICAgICBhY3R1YWwg
PDwgImdfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVR
KGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFs
LnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8R0xpc3Q+IGEoZ19saXN0X3By
ZXBlbmQobnVsbHB0ciwgZ19zdHJkdXAoImEiKSkpOworICAgICAgICBhY3R1YWwgPDwgImdfbGlz
dF9mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0
dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3Ry
KCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHU0xpc3Q+IGEoZ19zbGlzdF9wcmVw
ZW5kKG51bGxwdHIsIGdfc3RyZHVwKCJhIikpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX3NsaXN0
X2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1
YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIo
IiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdQYXR0ZXJuU3BlYz4gYShnX3BhdHRl
cm5fc3BlY19uZXcoImEiKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19wYXR0ZXJuX3NwZWNfZnJl
ZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5z
dHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7
CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8R0Rpcj4gYShnX2Rpcl9vcGVuKCIvdG1wIiwg
MCwgbnVsbHB0cikpOworICAgICAgICBhY3R1YWwgPDwgImdfZGlyX2Nsb3NlKCIgPDwgYS5nZXQo
KSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCks
IHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAg
ICAgICAgR1VuaXF1ZVB0cjxHVGltZXI+IGEoZ190aW1lcl9uZXcoKSk7CisgICAgICAgIGFjdHVh
bCA8PCAiZ190aW1lcl9kZXN0cm95KCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBB
U1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsK
KyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHS2V5Rmls
ZT4gYShnX2tleV9maWxlX25ldygpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX2tleV9maWxlX2Zy
ZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwu
c3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIp
OworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221458</attachid>
            <date>2014-01-17 04:59:13 -0800</date>
            <delta_ts>2014-01-17 06:06:04 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wtf-g-unique-ptr3.diff</filename>
            <type>text/plain</type>
            <size>9591</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNjRmMTMyNC4uNjNkMGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgbmV3IHNpbXBs
ZXIgY2xhc3MgZGVyaXZlZAorICAgICAgICBmcm9tIHN0ZDp1bmlxdWVfcHRyLiBOb3QgZXZlcnl0
aGluZyBjYW4gYmUgcmVwbGFjZWQsIHRob3VnaCwKKyAgICAgICAgYmVjYXVzZSBHT3duUHRyOjpv
dXRQdHIoKSBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgdG8gaW1wbGVtZW50CisgICAgICAg
IHdpdGggdW5pcXVlX3B0ci4gVGhpcyBzbWFydCBwb2ludGVyIGlzIG1vcmUgZmxleGlibGUgdGhh
biBHT3duUHRyCisgICAgICAgIGFuZCBhbGxvd3MgdG8gdHJhbnNmZXIgdGhlIG93bmVyc2hpcCBv
ZiB0aGUgcG9pbnRlciB1c2luZyBzdGQ6Om1vdmUoKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IEFkZCBuZXcgZmlsZSB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiB3dGYvZ29i
amVjdC9HVW5pcXVlUHRyLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpHUHRyRGVsZXRlcjo6b3Bl
cmF0b3IoKSk6CisKIDIwMTQtMDEtMTYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIE5peCBmcm9tIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGY4NzZkZGYuLjQ1M2UxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIxNCw2
ICsyMTQsNyBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9H
UmVmUHRyLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9HUmVmUHRyLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmggXAorICAgIFNvdXJjZS9XVEYvd3Rm
L2dvYmplY3QvR1VuaXF1ZVB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJV
dGlsaXRpZXMuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMu
aCBcCiAgICAgU291cmNlL1dURi93dGYvZ3RrL01haW5UaHJlYWRHdGsuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYv
Z29iamVjdC9HVW5pcXVlUHRyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YmQyNTkwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1
ZVB0ci5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE0IElnYWxp
YSBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIEdVbmlxdWVQdHJfaAorI2RlZmluZSBHVW5p
cXVlUHRyX2gKKworI2lmIFVTRShHTElCKQorCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBHUHRyRGVsZXRlciB7
CisgICAgdm9pZCBvcGVyYXRvcigpKFQqIHB0cikgeyBnX2ZyZWUocHRyKTsgfQorfTsKKwordGVt
cGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgR1VuaXF1ZVB0cjogcHVibGljIHN0ZDo6dW5pcXVl
X3B0cjxULCBHUHRyRGVsZXRlcjxUPj4geworICAgIEdVbmlxdWVQdHIoKQorICAgICAgICA6IHN0
ZDo6dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj4obnVsbHB0cikKKyAgICB7CisgICAgfQor
CisgICAgR1VuaXF1ZVB0cihUKiBwdHIpCisgICAgICAgIDogc3RkOjp1bmlxdWVfcHRyPFQsIEdQ
dHJEZWxldGVyPFQ+PihwdHIpCisgICAgeworICAgIH0KK307CisKKyNkZWZpbmUgRk9SX0VBQ0hf
R0xJQl9ERUxFVEVSKG1hY3JvKSBcCisgICAgbWFjcm8oR0xpc3QsIGdfbGlzdF9mcmVlKSBcCisg
ICAgbWFjcm8oR1NMaXN0LCBnX3NsaXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHUGF0dGVyblNwZWMs
IGdfcGF0dGVybl9zcGVjX2ZyZWUpIFwKKyAgICBtYWNybyhHRGlyLCBnX2Rpcl9jbG9zZSkgXAor
ICAgIG1hY3JvKEdUaW1lciwgZ190aW1lcl9kZXN0cm95KSBcCisgICAgbWFjcm8oR0tleUZpbGUs
IGdfa2V5X2ZpbGVfZnJlZSkKKworI2RlZmluZSBERUZJTkVfREVMRVRFUih0eXBlTmFtZSwgZGVs
ZXRlckZ1bmMpIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBHUHRyRGVsZXRlcjx0eXBlTmFtZT4g
XAorICAgIHsgXAorICAgICAgICB2b2lkIG9wZXJhdG9yKCkgKHR5cGVOYW1lKiBwdHIpIFwKKyAg
ICAgICAgeyBcCisgICAgICAgICAgICBpZiAocHRyKSBcCisgICAgICAgICAgICAgICAgZGVsZXRl
ckZ1bmMocHRyKTsgXAorICAgICAgICB9IFwKKyAgICB9OworCitGT1JfRUFDSF9HTElCX0RFTEVU
RVIoREVGSU5FX0RFTEVURVIpCisjdW5kZWYgRk9SX0VBQ0hfR0xJQl9ERUxFVEVSCisKK30gLy8g
bmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OkdVbmlxdWVQdHI7CisKKyNlbmRpZiAvLyBVU0Uo
R0xJQikKKworI2VuZGlmIC8vIEdVbmlxdWVQdHJfaAorCmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM5YWFkMi4uOTQzZTAzZSAxMDA2NDQKLS0t
IGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBA
CisyMDE0LTAxLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworCisgICAgICAgIFtHVEtdIEFkZCBHVW5pcXVlUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdW5pdCB0ZXN0cyBmb3IgR1VuaXF1ZVB0ci4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06IEFkZCBuZXcgZmlsZSB0
byBjb21waWxhdGlvbi4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0
L0dVbmlxdWVQdHIuY3BwOiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAgICAgICh0YWtlTG9n
U3RyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE0LTAxLTE2ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEF1dG9tYXRlIERvWW91RXZl
bkJlbmNoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZmJkMzkxLi4zZDMwYzJh
IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW0KQEAgLTIyOCw2ICsyMjgsNyBAQCBQcm9n
cmFtc19UZXN0V2ViS2l0QVBJX1dURl9UZXN0V1RGX1NPVVJDRVMgPSBcCiAJVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nT3BlcmF0b3JzLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvVGVtcG9yYXJ5Q2hhbmdlLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvVmVjdG9yLmNwcCBcCisJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
Z29iamVjdC9HVW5pcXVlUHRyLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9XVEZTdHJpbmdV
dGlsaXRpZXMuaAogCiBQcm9ncmFtc19UZXN0V2ViS2l0QVBJX0phdmFTY3JpcHRDb3JlX1Rlc3RK
YXZhU2NyaXB0Q29yZV9DUFBGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL2dvYmplY3QvR1VuaXF1ZVB0ci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmZlYjdjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwCkBAIC0wLDAgKzEsMTM2IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2luY2x1ZGUgPGdpby9naW8uaD4KKworaW5saW5lIHN0ZDo6b3N0cmlu
Z3N0cmVhbSYgbG9nKCkKK3sKKyAgICBzdGF0aWMgc3RkOjpvc3RyaW5nc3RyZWFtIGxvZzsKKyAg
ICByZXR1cm4gbG9nOworfQorCitpbmxpbmUgc3RkOjpzdHJpbmcgdGFrZUxvZ1N0cigpCit7Cisg
ICAgc3RkOjpzdHJpbmcgc3RyaW5nID0gbG9nKCkuc3RyKCk7CisgICAgbG9nKCkuc3RyKCIiKTsK
KyAgICByZXR1cm4gc3RyaW5nOworfQorCitzdGF0aWMgdm9pZCAoKiBfZ19mcmVlKSh2b2lkKikg
PSBnX2ZyZWU7CisjZGVmaW5lIGdfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdfZnJlZSgiIDw8
IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfbGlz
dF9mcmVlKShHTGlzdCopID0gZ19saXN0X2ZyZWU7CisjZGVmaW5lIGdfbGlzdF9mcmVlKHgpIFwK
KyAgICBsb2coKSA8PCAiZ19saXN0X2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX2xp
c3RfZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfc2xpc3RfZnJlZSkoR1NMaXN0KikgPSBn
X3NsaXN0X2ZyZWU7CisjZGVmaW5lIGdfc2xpc3RfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdf
c2xpc3RfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfc2xpc3RfZnJlZSh4KTsKKwor
c3RhdGljIHZvaWQgKCogX2dfcGF0dGVybl9zcGVjX2ZyZWUpKEdQYXR0ZXJuU3BlYyopID0gZ19w
YXR0ZXJuX3NwZWNfZnJlZTsKKyNkZWZpbmUgZ19wYXR0ZXJuX3NwZWNfZnJlZSh4KSBcCisgICAg
bG9nKCkgPDwgImdfcGF0dGVybl9zcGVjX2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9n
X3BhdHRlcm5fc3BlY19mcmVlKHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19kaXJfY2xvc2UpKEdE
aXIqKSA9IGdfZGlyX2Nsb3NlOworI2RlZmluZSBnX2Rpcl9jbG9zZSh4KSBcCisgICAgbG9nKCkg
PDwgImdfZGlyX2Nsb3NlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19kaXJfY2xvc2UoeCk7
CisKK3N0YXRpYyB2b2lkICgqIF9nX3RpbWVyX2Rlc3Ryb3kpKEdUaW1lciopID0gZ190aW1lcl9k
ZXN0cm95OworI2RlZmluZSBnX3RpbWVyX2Rlc3Ryb3koeCkgXAorICAgIGxvZygpIDw8ICJnX3Rp
bWVyX2Rlc3Ryb3koIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX3RpbWVyX2Rlc3Ryb3koeCk7
CisKK3N0YXRpYyB2b2lkICgqIF9nX2tleV9maWxlX2ZyZWUpKEdLZXlGaWxlKikgPSBnX2tleV9m
aWxlX2ZyZWU7CisjZGVmaW5lIGdfa2V5X2ZpbGVfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdf
a2V5X2ZpbGVfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfa2V5X2ZpbGVfZnJlZSh4
KTsKKworI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dVbmlxdWVQdHIuaD4KKworbmFtZXNwYWNlIFRl
c3RXZWJLaXRBUEkgeworCitURVNUKFdURl9HVW5pcXVlUHRyLCBCYXNpYykKK3sKKyAgICBzdGQ6
Om9zdHJpbmdzdHJlYW0gYWN0dWFsOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPGNoYXI+
IGEoZ19zdHJkdXAoImEiKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19mcmVlKCIgPDwgYS5nZXQo
KSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCks
IHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAg
ICAgICAgR1VuaXF1ZVB0cjxHTGlzdD4gYShnX2xpc3RfcHJlcGVuZChudWxscHRyLCBnX3N0cmR1
cCgiYSIpKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19saXN0X2ZyZWUoIiA8PCBhLmdldCgpIDw8
ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFr
ZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAg
ICBHVW5pcXVlUHRyPEdTTGlzdD4gYShnX3NsaXN0X3ByZXBlbmQobnVsbHB0ciwgZ19zdHJkdXAo
ImEiKSkpOworICAgICAgICBhY3R1YWwgPDwgImdfc2xpc3RfZnJlZSgiIDw8IGEuZ2V0KCkgPDwg
Iik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtl
TG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7CisgICAgICAg
IEdVbmlxdWVQdHI8R1BhdHRlcm5TcGVjPiBhKGdfcGF0dGVybl9zcGVjX25ldygiYSIpKTsKKyAg
ICAgICAgYWN0dWFsIDw8ICJnX3BhdHRlcm5fc3BlY19mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsi
OworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dT
dHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1Vu
aXF1ZVB0cjxHRGlyPiBhKGdfZGlyX29wZW4oIi90bXAiLCAwLCBudWxscHRyKSk7CisgICAgICAg
IGFjdHVhbCA8PCAiZ19kaXJfY2xvc2UoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAg
IEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkp
OworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdUaW1l
cj4gYShnX3RpbWVyX25ldygpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX3RpbWVyX2Rlc3Ryb3ko
IiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3Ry
KCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOwor
CisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdLZXlGaWxlPiBhKGdfa2V5X2ZpbGVfbmV3KCkp
OworICAgICAgICBhY3R1YWwgPDwgImdfa2V5X2ZpbGVfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7
IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9n
U3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221461</attachid>
            <date>2014-01-17 06:06:04 -0800</date>
            <delta_ts>2014-01-17 08:53:39 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wtf-g-unique-ptr4.diff</filename>
            <type>text/plain</type>
            <size>9603</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNjRmMTMyNC4uNjNkMGIzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgbmV3IHNpbXBs
ZXIgY2xhc3MgZGVyaXZlZAorICAgICAgICBmcm9tIHN0ZDp1bmlxdWVfcHRyLiBOb3QgZXZlcnl0
aGluZyBjYW4gYmUgcmVwbGFjZWQsIHRob3VnaCwKKyAgICAgICAgYmVjYXVzZSBHT3duUHRyOjpv
dXRQdHIoKSBkb2Vzbid0IHNlZW0gdG8gYmUgcG9zc2libGUgdG8gaW1wbGVtZW50CisgICAgICAg
IHdpdGggdW5pcXVlX3B0ci4gVGhpcyBzbWFydCBwb2ludGVyIGlzIG1vcmUgZmxleGlibGUgdGhh
biBHT3duUHRyCisgICAgICAgIGFuZCBhbGxvd3MgdG8gdHJhbnNmZXIgdGhlIG93bmVyc2hpcCBv
ZiB0aGUgcG9pbnRlciB1c2luZyBzdGQ6Om1vdmUoKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxl
Lmxpc3QuYW06IEFkZCBuZXcgZmlsZSB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiB3dGYvZ29i
amVjdC9HVW5pcXVlUHRyLmg6IEFkZGVkLgorICAgICAgICAoV1RGOjpHUHRyRGVsZXRlcjo6b3Bl
cmF0b3IoKSk6CisKIDIwMTQtMDEtMTYgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIE5peCBmcm9tIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dURi9HTlVtYWtlZmlsZS5saXN0LmFt
CmluZGV4IGY4NzZkZGYuLjQ1M2UxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTIxNCw2
ICsyMTQsNyBAQCB3dGZfc291cmNlcyArPSBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9H
UmVmUHRyLmNwcCBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9HUmVmUHRyLmggXAogICAg
IFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1R5cGVkZWZzLmggXAorICAgIFNvdXJjZS9XVEYvd3Rm
L2dvYmplY3QvR1VuaXF1ZVB0ci5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJV
dGlsaXRpZXMuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dsaWJVdGlsaXRpZXMu
aCBcCiAgICAgU291cmNlL1dURi93dGYvZ3RrL01haW5UaHJlYWRHdGsuY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oIGIvU291cmNlL1dURi93dGYv
Z29iamVjdC9HVW5pcXVlUHRyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MzljZWFiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL2dvYmplY3QvR1VuaXF1
ZVB0ci5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDE0IElnYWxp
YSBTLkwuCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICoKKyAqLworCisjaWZuZGVmIEdVbmlxdWVQdHJfaAorI2RlZmluZSBHVW5p
cXVlUHRyX2gKKworI2lmIFVTRShHTElCKQorCisjaW5jbHVkZSA8Z2lvL2dpby5oPgorCituYW1l
c3BhY2UgV1RGIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVD4KK3N0cnVjdCBHUHRyRGVsZXRlciB7
CisgICAgdm9pZCBvcGVyYXRvcigpKFQqIHB0cikgY29uc3QgeyBnX2ZyZWUocHRyKTsgfQorfTsK
KwordGVtcGxhdGUgPHR5cGVuYW1lIFQ+CitzdHJ1Y3QgR1VuaXF1ZVB0cjogcHVibGljIHN0ZDo6
dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj4geworICAgIEdVbmlxdWVQdHIoKQorICAgICAg
ICA6IHN0ZDo6dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj4obnVsbHB0cikKKyAgICB7Cisg
ICAgfQorCisgICAgR1VuaXF1ZVB0cihUKiBwdHIpCisgICAgICAgIDogc3RkOjp1bmlxdWVfcHRy
PFQsIEdQdHJEZWxldGVyPFQ+PihwdHIpCisgICAgeworICAgIH0KK307CisKKyNkZWZpbmUgRk9S
X0VBQ0hfR0xJQl9ERUxFVEVSKG1hY3JvKSBcCisgICAgbWFjcm8oR0xpc3QsIGdfbGlzdF9mcmVl
KSBcCisgICAgbWFjcm8oR1NMaXN0LCBnX3NsaXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHUGF0dGVy
blNwZWMsIGdfcGF0dGVybl9zcGVjX2ZyZWUpIFwKKyAgICBtYWNybyhHRGlyLCBnX2Rpcl9jbG9z
ZSkgXAorICAgIG1hY3JvKEdUaW1lciwgZ190aW1lcl9kZXN0cm95KSBcCisgICAgbWFjcm8oR0tl
eUZpbGUsIGdfa2V5X2ZpbGVfZnJlZSkKKworI2RlZmluZSBERUZJTkVfREVMRVRFUih0eXBlTmFt
ZSwgZGVsZXRlckZ1bmMpIFwKKyAgICB0ZW1wbGF0ZTw+IHN0cnVjdCBHUHRyRGVsZXRlcjx0eXBl
TmFtZT4gXAorICAgIHsgXAorICAgICAgICB2b2lkIG9wZXJhdG9yKCkgKHR5cGVOYW1lKiBwdHIp
IGNvbnN0IFwKKyAgICAgICAgeyBcCisgICAgICAgICAgICBpZiAocHRyKSBcCisgICAgICAgICAg
ICAgICAgZGVsZXRlckZ1bmMocHRyKTsgXAorICAgICAgICB9IFwKKyAgICB9OworCitGT1JfRUFD
SF9HTElCX0RFTEVURVIoREVGSU5FX0RFTEVURVIpCisjdW5kZWYgRk9SX0VBQ0hfR0xJQl9ERUxF
VEVSCisKK30gLy8gbmFtZXNwYWNlIFdURgorCit1c2luZyBXVEY6OkdVbmlxdWVQdHI7CisKKyNl
bmRpZiAvLyBVU0UoR0xJQikKKworI2VuZGlmIC8vIEdVbmlxdWVQdHJfaAorCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjM5YWFkMi4uOTQzZTAz
ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE5IEBACisyMDE0LTAxLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFA
aWdhbGlhLmNvbT4KKworCisgICAgICAgIFtHVEtdIEFkZCBHVW5pcXVlUHRyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjcxNzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdW5pdCB0ZXN0cyBmb3Ig
R1VuaXF1ZVB0ci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06IEFk
ZCBuZXcgZmlsZSB0byBjb21waWxhdGlvbi4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwOiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAg
ICAgICh0YWtlTG9nU3RyKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE0
LTAxLTE2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEF1dG9t
YXRlIERvWW91RXZlbkJlbmNoCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1h
a2VmaWxlLmFtIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZmJk
MzkxLi4zZDMwYzJhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxl
LmFtCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW0KQEAgLTIyOCw2ICsy
MjgsNyBAQCBQcm9ncmFtc19UZXN0V2ViS2l0QVBJX1dURl9UZXN0V1RGX1NPVVJDRVMgPSBcCiAJ
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvU3RyaW5nT3BlcmF0b3JzLmNwcCBcCiAJVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVGVtcG9yYXJ5Q2hhbmdlLmNwcCBcCiAJVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvVmVjdG9yLmNwcCBcCisJVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvZ29iamVjdC9HVW5pcXVlUHRyLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQ
SS9XVEZTdHJpbmdVdGlsaXRpZXMuaAogCiBQcm9ncmFtc19UZXN0V2ViS2l0QVBJX0phdmFTY3Jp
cHRDb3JlX1Rlc3RKYXZhU2NyaXB0Q29yZV9DUFBGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2dvYmplY3QvR1VuaXF1ZVB0ci5jcHAgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlYjdjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwCkBAIC0wLDAg
KzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IElnYWxpYSBTLkwuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPGdpby9naW8uaD4KKworaW5saW5l
IHN0ZDo6b3N0cmluZ3N0cmVhbSYgbG9nKCkKK3sKKyAgICBzdGF0aWMgc3RkOjpvc3RyaW5nc3Ry
ZWFtIGxvZzsKKyAgICByZXR1cm4gbG9nOworfQorCitpbmxpbmUgc3RkOjpzdHJpbmcgdGFrZUxv
Z1N0cigpCit7CisgICAgc3RkOjpzdHJpbmcgc3RyaW5nID0gbG9nKCkuc3RyKCk7CisgICAgbG9n
KCkuc3RyKCIiKTsKKyAgICByZXR1cm4gc3RyaW5nOworfQorCitzdGF0aWMgdm9pZCAoKiBfZ19m
cmVlKSh2b2lkKikgPSBnX2ZyZWU7CisjZGVmaW5lIGdfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwg
ImdfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfZnJlZSh4KTsKKworc3RhdGljIHZv
aWQgKCogX2dfbGlzdF9mcmVlKShHTGlzdCopID0gZ19saXN0X2ZyZWU7CisjZGVmaW5lIGdfbGlz
dF9mcmVlKHgpIFwKKyAgICBsb2coKSA8PCAiZ19saXN0X2ZyZWUoIiA8PCBwdHIgPDwgIik7Ijsg
XAorICAgIF9nX2xpc3RfZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfc2xpc3RfZnJlZSko
R1NMaXN0KikgPSBnX3NsaXN0X2ZyZWU7CisjZGVmaW5lIGdfc2xpc3RfZnJlZSh4KSBcCisgICAg
bG9nKCkgPDwgImdfc2xpc3RfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfc2xpc3Rf
ZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfcGF0dGVybl9zcGVjX2ZyZWUpKEdQYXR0ZXJu
U3BlYyopID0gZ19wYXR0ZXJuX3NwZWNfZnJlZTsKKyNkZWZpbmUgZ19wYXR0ZXJuX3NwZWNfZnJl
ZSh4KSBcCisgICAgbG9nKCkgPDwgImdfcGF0dGVybl9zcGVjX2ZyZWUoIiA8PCBwdHIgPDwgIik7
IjsgXAorICAgIF9nX3BhdHRlcm5fc3BlY19mcmVlKHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19k
aXJfY2xvc2UpKEdEaXIqKSA9IGdfZGlyX2Nsb3NlOworI2RlZmluZSBnX2Rpcl9jbG9zZSh4KSBc
CisgICAgbG9nKCkgPDwgImdfZGlyX2Nsb3NlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19k
aXJfY2xvc2UoeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX3RpbWVyX2Rlc3Ryb3kpKEdUaW1lciop
ID0gZ190aW1lcl9kZXN0cm95OworI2RlZmluZSBnX3RpbWVyX2Rlc3Ryb3koeCkgXAorICAgIGxv
ZygpIDw8ICJnX3RpbWVyX2Rlc3Ryb3koIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX3RpbWVy
X2Rlc3Ryb3koeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX2tleV9maWxlX2ZyZWUpKEdLZXlGaWxl
KikgPSBnX2tleV9maWxlX2ZyZWU7CisjZGVmaW5lIGdfa2V5X2ZpbGVfZnJlZSh4KSBcCisgICAg
bG9nKCkgPDwgImdfa2V5X2ZpbGVfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfa2V5
X2ZpbGVfZnJlZSh4KTsKKworI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dVbmlxdWVQdHIuaD4KKwor
bmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitURVNUKFdURl9HVW5pcXVlUHRyLCBCYXNpYykK
K3sKKyAgICBzdGQ6Om9zdHJpbmdzdHJlYW0gYWN0dWFsOworCisgICAgeworICAgICAgICBHVW5p
cXVlUHRyPGNoYXI+IGEoZ19zdHJkdXAoImEiKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19mcmVl
KCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0
cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsK
KworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHTGlzdD4gYShnX2xpc3RfcHJlcGVuZChudWxs
cHRyLCBnX3N0cmR1cCgiYSIpKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19saXN0X2ZyZWUoIiA8
PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCku
Y19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisg
ICAgeworICAgICAgICBHVW5pcXVlUHRyPEdTTGlzdD4gYShnX3NsaXN0X3ByZXBlbmQobnVsbHB0
ciwgZ19zdHJkdXAoImEiKSkpOworICAgICAgICBhY3R1YWwgPDwgImdfc2xpc3RfZnJlZSgiIDw8
IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5j
X3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAg
ICB7CisgICAgICAgIEdVbmlxdWVQdHI8R1BhdHRlcm5TcGVjPiBhKGdfcGF0dGVybl9zcGVjX25l
dygiYSIpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX3BhdHRlcm5fc3BlY19mcmVlKCIgPDwgYS5n
ZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3Ry
KCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsK
KyAgICAgICAgR1VuaXF1ZVB0cjxHRGlyPiBhKGdfZGlyX29wZW4oIi90bXAiLCAwLCBudWxscHRy
KSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19kaXJfY2xvc2UoIiA8PCBhLmdldCgpIDw8ICIpOyI7
CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0
cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5p
cXVlUHRyPEdUaW1lcj4gYShnX3RpbWVyX25ldygpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX3Rp
bWVyX2Rlc3Ryb3koIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJF
UShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVh
bC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdLZXlGaWxlPiBhKGdfa2V5
X2ZpbGVfbmV3KCkpOworICAgICAgICBhY3R1YWwgPDwgImdfa2V5X2ZpbGVfZnJlZSgiIDw8IGEu
Z2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0
cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221470</attachid>
            <date>2014-01-17 08:53:39 -0800</date>
            <delta_ts>2014-01-21 09:26:00 -0800</delta_ts>
            <desc>Even simpler patch using template alias</desc>
            <filename>wtf-g-unique-ptr5.diff</filename>
            <type>text/plain</type>
            <size>9408</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNjRmMTMyNC4uZDdiYjcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgdGVtcGxhdGUg
YWxpYXMgb2YKKyAgICAgICAgc3RkOnVuaXF1ZV9wdHIuIE5vdCBldmVyeXRoaW5nIGNhbiBiZSBy
ZXBsYWNlZCwgdGhvdWdoLCBiZWNhdXNlCisgICAgICAgIEdPd25QdHI6Om91dFB0cigpIGRvZXNu
J3Qgc2VlbSB0byBiZSBwb3NzaWJsZSB0byBpbXBsZW1lbnQgd2l0aAorICAgICAgICB1bmlxdWVf
cHRyLiBUaGlzIHNtYXJ0IHBvaW50ZXIgaXMgbW9yZSBmbGV4aWJsZSB0aGFuIEdPd25QdHIgYW5k
CisgICAgICAgIGFsbG93cyB0byB0cmFuc2ZlciB0aGUgb3duZXJzaGlwIG9mIHRoZSBwb2ludGVy
IHVzaW5nCisgICAgICAgIHN0ZDo6bW92ZSgpLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbTogQWRkIG5ldyBmaWxlIHRvIGNvbXBpbGF0aW9uLgorICAgICAgICAqIHd0Zi9nb2JqZWN0
L0dVbmlxdWVQdHIuaDogQWRkZWQuCisgICAgICAgIChXVEY6OkdQdHJEZWxldGVyOjpvcGVyYXRv
cigpKToKKwogMjAxNC0wMS0xNiAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgTml4IGZyb20gV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggZjg3NmRkZi4uNDUzZTE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9HTlVtYWtlZmlsZS5s
aXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMjE0LDYgKzIx
NCw3IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dSZWZQ
dHIuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dSZWZQdHIuaCBcCiAgICAgU291
cmNlL1dURi93dGYvZ29iamVjdC9HVHlwZWRlZnMuaCBcCisgICAgU291cmNlL1dURi93dGYvZ29i
amVjdC9HVW5pcXVlUHRyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR2xpYlV0aWxp
dGllcy5jcHAgXAogICAgIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR2xpYlV0aWxpdGllcy5oIFwK
ICAgICBTb3VyY2UvV1RGL3d0Zi9ndGsvTWFpblRocmVhZEd0ay5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvZ29iamVjdC9HVW5pcXVlUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9nb2Jq
ZWN0L0dVbmlxdWVQdHIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmUz
NjZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvZ29iamVjdC9HVW5pcXVlUHRy
LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMu
TC4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgR1VuaXF1ZVB0cl9oCisjZGVmaW5lIEdVbmlxdWVQ
dHJfaAorCisjaWYgVVNFKEdMSUIpCisKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+CisKK25hbWVzcGFj
ZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IEdQdHJEZWxldGVyIHsKKyAg
ICB2b2lkIG9wZXJhdG9yKCkoVCogcHRyKSBjb25zdCB7IGdfZnJlZShwdHIpOyB9Cit9OworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgordXNpbmcgR1VuaXF1ZVB0ciA9IHN0ZDo6dW5pcXVlX3B0cjxU
LCBHUHRyRGVsZXRlcjxUPj47CisKKyNkZWZpbmUgRk9SX0VBQ0hfR0xJQl9ERUxFVEVSKG1hY3Jv
KSBcCisgICAgbWFjcm8oR0xpc3QsIGdfbGlzdF9mcmVlKSBcCisgICAgbWFjcm8oR1NMaXN0LCBn
X3NsaXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHUGF0dGVyblNwZWMsIGdfcGF0dGVybl9zcGVjX2Zy
ZWUpIFwKKyAgICBtYWNybyhHRGlyLCBnX2Rpcl9jbG9zZSkgXAorICAgIG1hY3JvKEdUaW1lciwg
Z190aW1lcl9kZXN0cm95KSBcCisgICAgbWFjcm8oR0tleUZpbGUsIGdfa2V5X2ZpbGVfZnJlZSkK
KworI2RlZmluZSBERUZJTkVfREVMRVRFUih0eXBlTmFtZSwgZGVsZXRlckZ1bmMpIFwKKyAgICB0
ZW1wbGF0ZTw+IHN0cnVjdCBHUHRyRGVsZXRlcjx0eXBlTmFtZT4gXAorICAgIHsgXAorICAgICAg
ICB2b2lkIG9wZXJhdG9yKCkgKHR5cGVOYW1lKiBwdHIpIGNvbnN0IFwKKyAgICAgICAgeyBcCisg
ICAgICAgICAgICBpZiAocHRyKSBcCisgICAgICAgICAgICAgICAgZGVsZXRlckZ1bmMocHRyKTsg
XAorICAgICAgICB9IFwKKyAgICB9OworCitGT1JfRUFDSF9HTElCX0RFTEVURVIoREVGSU5FX0RF
TEVURVIpCisjdW5kZWYgRk9SX0VBQ0hfR0xJQl9ERUxFVEVSCisKK30gLy8gbmFtZXNwYWNlIFdU
RgorCit1c2luZyBXVEY6OkdVbmlxdWVQdHI7CisKKyNlbmRpZiAvLyBVU0UoR0xJQikKKworI2Vu
ZGlmIC8vIEdVbmlxdWVQdHJfaAorCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29s
cy9DaGFuZ2VMb2cKaW5kZXggMjM5YWFkMi4uOTQzZTAzZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAxLTE3
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworCisgICAgICAg
IFtHVEtdIEFkZCBHVW5pcXVlUHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjcxNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgdW5pdCB0ZXN0cyBmb3IgR1VuaXF1ZVB0ci4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvR05VbWFrZWZpbGUuYW06IEFkZCBuZXcgZmlsZSB0byBjb21waWxhdGlv
bi4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKGxvZyk6CisgICAgICAgICh0YWtlTG9nU3RyKToKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE0LTAxLTE2ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEF1dG9tYXRlIERvWW91RXZlbkJlbmNoCmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9HTlVtYWtlZmlsZS5hbQppbmRleCA0ZmJkMzkxLi4zZDMwYzJhIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvR05VbWFrZWZpbGUuYW0KQEAgLTIyOCw2ICsyMjgsNyBAQCBQcm9ncmFtc19UZXN0V2Vi
S2l0QVBJX1dURl9UZXN0V1RGX1NPVVJDRVMgPSBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvU3RyaW5nT3BlcmF0b3JzLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvVGVtcG9yYXJ5Q2hhbmdlLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
VmVjdG9yLmNwcCBcCisJVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZ29iamVjdC9HVW5p
cXVlUHRyLmNwcCBcCiAJVG9vbHMvVGVzdFdlYktpdEFQSS9XVEZTdHJpbmdVdGlsaXRpZXMuaAog
CiBQcm9ncmFtc19UZXN0V2ViS2l0QVBJX0phdmFTY3JpcHRDb3JlX1Rlc3RKYXZhU2NyaXB0Q29y
ZV9DUFBGTEFHUyA9IFwKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L2dvYmplY3QvR1VuaXF1ZVB0ci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9n
b2JqZWN0L0dVbmlxdWVQdHIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmZlYjdjMDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwCkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KworI2luY2x1ZGUgPGdpby9naW8uaD4KKworaW5saW5lIHN0ZDo6b3N0cmluZ3N0cmVhbSYgbG9n
KCkKK3sKKyAgICBzdGF0aWMgc3RkOjpvc3RyaW5nc3RyZWFtIGxvZzsKKyAgICByZXR1cm4gbG9n
OworfQorCitpbmxpbmUgc3RkOjpzdHJpbmcgdGFrZUxvZ1N0cigpCit7CisgICAgc3RkOjpzdHJp
bmcgc3RyaW5nID0gbG9nKCkuc3RyKCk7CisgICAgbG9nKCkuc3RyKCIiKTsKKyAgICByZXR1cm4g
c3RyaW5nOworfQorCitzdGF0aWMgdm9pZCAoKiBfZ19mcmVlKSh2b2lkKikgPSBnX2ZyZWU7Cisj
ZGVmaW5lIGdfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdfZnJlZSgiIDw8IHB0ciA8PCAiKTsi
OyBcCisgICAgX2dfZnJlZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfbGlzdF9mcmVlKShHTGlz
dCopID0gZ19saXN0X2ZyZWU7CisjZGVmaW5lIGdfbGlzdF9mcmVlKHgpIFwKKyAgICBsb2coKSA8
PCAiZ19saXN0X2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX2xpc3RfZnJlZSh4KTsK
Kworc3RhdGljIHZvaWQgKCogX2dfc2xpc3RfZnJlZSkoR1NMaXN0KikgPSBnX3NsaXN0X2ZyZWU7
CisjZGVmaW5lIGdfc2xpc3RfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdfc2xpc3RfZnJlZSgi
IDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfc2xpc3RfZnJlZSh4KTsKKworc3RhdGljIHZvaWQg
KCogX2dfcGF0dGVybl9zcGVjX2ZyZWUpKEdQYXR0ZXJuU3BlYyopID0gZ19wYXR0ZXJuX3NwZWNf
ZnJlZTsKKyNkZWZpbmUgZ19wYXR0ZXJuX3NwZWNfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdf
cGF0dGVybl9zcGVjX2ZyZWUoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX3BhdHRlcm5fc3Bl
Y19mcmVlKHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19kaXJfY2xvc2UpKEdEaXIqKSA9IGdfZGly
X2Nsb3NlOworI2RlZmluZSBnX2Rpcl9jbG9zZSh4KSBcCisgICAgbG9nKCkgPDwgImdfZGlyX2Ns
b3NlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19kaXJfY2xvc2UoeCk7CisKK3N0YXRpYyB2
b2lkICgqIF9nX3RpbWVyX2Rlc3Ryb3kpKEdUaW1lciopID0gZ190aW1lcl9kZXN0cm95OworI2Rl
ZmluZSBnX3RpbWVyX2Rlc3Ryb3koeCkgXAorICAgIGxvZygpIDw8ICJnX3RpbWVyX2Rlc3Ryb3ko
IiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX3RpbWVyX2Rlc3Ryb3koeCk7CisKK3N0YXRpYyB2
b2lkICgqIF9nX2tleV9maWxlX2ZyZWUpKEdLZXlGaWxlKikgPSBnX2tleV9maWxlX2ZyZWU7Cisj
ZGVmaW5lIGdfa2V5X2ZpbGVfZnJlZSh4KSBcCisgICAgbG9nKCkgPDwgImdfa2V5X2ZpbGVfZnJl
ZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfa2V5X2ZpbGVfZnJlZSh4KTsKKworI2luY2x1
ZGUgPHd0Zi9nb2JqZWN0L0dVbmlxdWVQdHIuaD4KKworbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkg
eworCitURVNUKFdURl9HVW5pcXVlUHRyLCBCYXNpYykKK3sKKyAgICBzdGQ6Om9zdHJpbmdzdHJl
YW0gYWN0dWFsOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IGEoZ19zdHJkdXAo
ImEiKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOwor
ICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIo
KS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1
ZVB0cjxHTGlzdD4gYShnX2xpc3RfcHJlcGVuZChudWxscHRyLCBnX3N0cmR1cCgiYSIpKSk7Cisg
ICAgICAgIGFjdHVhbCA8PCAiZ19saXN0X2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAg
fQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNf
c3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRy
PEdTTGlzdD4gYShnX3NsaXN0X3ByZXBlbmQobnVsbHB0ciwgZ19zdHJkdXAoImEiKSkpOworICAg
ICAgICBhY3R1YWwgPDwgImdfc2xpc3RfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9
CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19z
dHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8
R1BhdHRlcm5TcGVjPiBhKGdfcGF0dGVybl9zcGVjX25ldygiYSIpKTsKKyAgICAgICAgYWN0dWFs
IDw8ICJnX3BhdHRlcm5fc3BlY19mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAg
ICBBU1NFUlRfU1RSRVEoYWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigp
KTsKKyAgICBhY3R1YWwuc3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHRGly
PiBhKGdfZGlyX29wZW4oIi90bXAiLCAwLCBudWxscHRyKSk7CisgICAgICAgIGFjdHVhbCA8PCAi
Z19kaXJfY2xvc2UoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJF
UShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVh
bC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdUaW1lcj4gYShnX3RpbWVy
X25ldygpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX3RpbWVyX2Rlc3Ryb3koIiA8PCBhLmdldCgp
IDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwg
dGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisgICAgeworICAg
ICAgICBHVW5pcXVlUHRyPEdLZXlGaWxlPiBhKGdfa2V5X2ZpbGVfbmV3KCkpOworICAgICAgICBh
Y3R1YWwgPDwgImdfa2V5X2ZpbGVfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9Cisg
ICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIo
KSk7CisgICAgYWN0dWFsLnN0cigiIik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRB
UEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221754</attachid>
            <date>2014-01-21 09:26:00 -0800</date>
            <delta_ts>2014-01-21 09:58:57 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>wtf-g-unique-ptr.diff</filename>
            <type>text/plain</type>
            <size>9902</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZDQyYWY1Yy4uYTdlMzY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wMS0xNyAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dU
S10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBpZGVhIGlzIHRvIHJlcGxhY2UgR093blB0ciB3aXRoIGEgdGVtcGxhdGUg
YWxpYXMgb2YKKyAgICAgICAgc3RkOnVuaXF1ZV9wdHIuIE5vdCBldmVyeXRoaW5nIGNhbiBiZSBy
ZXBsYWNlZCwgdGhvdWdoLCBiZWNhdXNlCisgICAgICAgIEdPd25QdHI6Om91dFB0cigpIGRvZXNu
J3Qgc2VlbSB0byBiZSBwb3NzaWJsZSB0byBpbXBsZW1lbnQgd2l0aAorICAgICAgICB1bmlxdWVf
cHRyLiBUaGlzIHNtYXJ0IHBvaW50ZXIgaXMgbW9yZSBmbGV4aWJsZSB0aGFuIEdPd25QdHIgYW5k
CisgICAgICAgIGFsbG93cyB0byB0cmFuc2ZlciB0aGUgb3duZXJzaGlwIG9mIHRoZSBwb2ludGVy
IHVzaW5nCisgICAgICAgIHN0ZDo6bW92ZSgpLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlz
dC5hbTogQWRkIG5ldyBmaWxlIHRvIGNvbXBpbGF0aW9uLgorICAgICAgICAqIHd0Zi9nb2JqZWN0
L0dVbmlxdWVQdHIuaDogQWRkZWQuCisgICAgICAgIChXVEY6OkdQdHJEZWxldGVyOjpvcGVyYXRv
cigpKToKKwogMjAxNC0wMS0yMCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBhbiB1bnVzZWQgbWVtYmVyIHZhcmlhYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV1RGL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KaW5kZXggZjg3NmRkZi4uNDUzZTE5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9H
TlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XVEYvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMjE0LDYgKzIxNCw3IEBAIHd0Zl9zb3VyY2VzICs9IFwKICAgICBTb3VyY2UvV1RGL3d0Zi9n
b2JqZWN0L0dSZWZQdHIuY3BwIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dSZWZQdHIu
aCBcCiAgICAgU291cmNlL1dURi93dGYvZ29iamVjdC9HVHlwZWRlZnMuaCBcCisgICAgU291cmNl
L1dURi93dGYvZ29iamVjdC9HVW5pcXVlUHRyLmggXAogICAgIFNvdXJjZS9XVEYvd3RmL2dvYmpl
Y3QvR2xpYlV0aWxpdGllcy5jcHAgXAogICAgIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR2xpYlV0
aWxpdGllcy5oIFwKICAgICBTb3VyY2UvV1RGL3d0Zi9ndGsvTWFpblRocmVhZEd0ay5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvZ29iamVjdC9HVW5pcXVlUHRyLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9nb2JqZWN0L0dVbmlxdWVQdHIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4yMjcxODEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvZ29iamVj
dC9HVW5pcXVlUHRyLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIw
MTQgSWdhbGlhIFMuTC4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgR1VuaXF1ZVB0cl9oCisjZGVm
aW5lIEdVbmlxdWVQdHJfaAorCisjaWYgVVNFKEdMSUIpCisKKyNpbmNsdWRlIDxnaW8vZ2lvLmg+
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorc3RydWN0IEdQdHJE
ZWxldGVyIHsKKyAgICB2b2lkIG9wZXJhdG9yKCkoVCogcHRyKSBjb25zdCB7IGdfZnJlZShwdHIp
OyB9Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUPgordXNpbmcgR1VuaXF1ZVB0ciA9IHN0ZDo6
dW5pcXVlX3B0cjxULCBHUHRyRGVsZXRlcjxUPj47CisKKyNkZWZpbmUgRk9SX0VBQ0hfR0xJQl9E
RUxFVEVSKG1hY3JvKSBcCisgICAgbWFjcm8oR0Vycm9yLCBnX2Vycm9yX2ZyZWUpIFwKKyAgICBt
YWNybyhHTGlzdCwgZ19saXN0X2ZyZWUpIFwKKyAgICBtYWNybyhHU0xpc3QsIGdfc2xpc3RfZnJl
ZSkgXAorICAgIG1hY3JvKEdQYXR0ZXJuU3BlYywgZ19wYXR0ZXJuX3NwZWNfZnJlZSkgXAorICAg
IG1hY3JvKEdEaXIsIGdfZGlyX2Nsb3NlKSBcCisgICAgbWFjcm8oR1RpbWVyLCBnX3RpbWVyX2Rl
c3Ryb3kpIFwKKyAgICBtYWNybyhHS2V5RmlsZSwgZ19rZXlfZmlsZV9mcmVlKQorCisjZGVmaW5l
IFdURl9ERUZJTkVfR1BUUl9ERUxFVEVSKHR5cGVOYW1lLCBkZWxldGVyRnVuYykgXAorICAgIHRl
bXBsYXRlPD4gc3RydWN0IEdQdHJEZWxldGVyPHR5cGVOYW1lPiBcCisgICAgeyBcCisgICAgICAg
IHZvaWQgb3BlcmF0b3IoKSAodHlwZU5hbWUqIHB0cikgY29uc3QgXAorICAgICAgICB7IFwKKyAg
ICAgICAgICAgIGlmIChwdHIpIFwKKyAgICAgICAgICAgICAgICBkZWxldGVyRnVuYyhwdHIpOyBc
CisgICAgICAgIH0gXAorICAgIH07CisKK0ZPUl9FQUNIX0dMSUJfREVMRVRFUihXVEZfREVGSU5F
X0dQVFJfREVMRVRFUikKKyN1bmRlZiBGT1JfRUFDSF9HTElCX0RFTEVURVIKKworfSAvLyBuYW1l
c3BhY2UgV1RGCisKK3VzaW5nIFdURjo6R1VuaXF1ZVB0cjsKKworI2VuZGlmIC8vIFVTRShHTElC
KQorCisjZW5kaWYgLy8gR1VuaXF1ZVB0cl9oCisKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1OWFhZGQxLi4wZmZjYzZiIDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTQtMDEtMTcgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisK
KyAgICAgICAgW0dUS10gQWRkIEdVbmlxdWVQdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzE3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB1bml0IHRlc3RzIGZvciBHVW5pcXVlUHRyLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbTogQWRkIG5ldyBmaWxlIHRvIGNv
bXBpbGF0aW9uLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2dvYmplY3QvR1Vu
aXF1ZVB0ci5jcHA6IEFkZGVkLgorICAgICAgICAobG9nKToKKyAgICAgICAgKHRha2VMb2dTdHIp
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMTQtMDEtMjEgIFNpZGRoYXJ0
aCBNYXRodXIgIDxzLm1hdGh1ckBpZWVlLm9yZz4KIAogICAgICAgICBDaGFuZ2UgbXkgZW1haWwg
YWRkcmVzcyBpbiBjb250cmlidXRvcnMuanNvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvR05VbWFrZWZpbGUuYW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL0dOVW1ha2VmaWxlLmFt
CmluZGV4IDRmYmQzOTEuLjNkMzBjMmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
R05VbWFrZWZpbGUuYW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9HTlVtYWtlZmlsZS5hbQpA
QCAtMjI4LDYgKzIyOCw3IEBAIFByb2dyYW1zX1Rlc3RXZWJLaXRBUElfV1RGX1Rlc3RXVEZfU09V
UkNFUyA9IFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdPcGVyYXRvcnMu
Y3BwIFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9UZW1wb3JhcnlDaGFuZ2UuY3Bw
IFwKIAlUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9WZWN0b3IuY3BwIFwKKwlUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9nb2JqZWN0L0dVbmlxdWVQdHIuY3BwIFwKIAlUb29scy9U
ZXN0V2ViS2l0QVBJL1dURlN0cmluZ1V0aWxpdGllcy5oCiAKIFByb2dyYW1zX1Rlc3RXZWJLaXRB
UElfSmF2YVNjcmlwdENvcmVfVGVzdEphdmFTY3JpcHRDb3JlX0NQUEZMQUdTID0gXApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZ29iamVjdC9HVW5pcXVlUHRyLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2dvYmplY3QvR1VuaXF1ZVB0ci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QyM2I1NwotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2dvYmplY3QvR1VuaXF1ZVB0ci5j
cHAKQEAgLTAsMCArMSwxNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgSWdhbGlhIFMu
TC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8Z2lvL2dpby5o
PgorCitpbmxpbmUgc3RkOjpvc3RyaW5nc3RyZWFtJiBsb2coKQoreworICAgIHN0YXRpYyBzdGQ6
Om9zdHJpbmdzdHJlYW0gbG9nOworICAgIHJldHVybiBsb2c7Cit9CisKK2lubGluZSBzdGQ6OnN0
cmluZyB0YWtlTG9nU3RyKCkKK3sKKyAgICBzdGQ6OnN0cmluZyBzdHJpbmcgPSBsb2coKS5zdHIo
KTsKKyAgICBsb2coKS5zdHIoIiIpOworICAgIHJldHVybiBzdHJpbmc7Cit9CisKK3N0YXRpYyB2
b2lkICgqIF9nX2ZyZWUpKHZvaWQqKSA9IGdfZnJlZTsKKyNkZWZpbmUgZ19mcmVlKHgpIFwKKyAg
ICBsb2coKSA8PCAiZ19mcmVlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19mcmVlKHgpOwor
CitzdGF0aWMgdm9pZCAoKiBfZ19lcnJvcl9mcmVlKShHRXJyb3IqKSA9IGdfZXJyb3JfZnJlZTsK
KyNkZWZpbmUgZ19lcnJvcl9mcmVlKHgpIFwKKyAgICBsb2coKSA8PCAiZ19lcnJvcl9mcmVlKCIg
PDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19lcnJvcl9mcmVlKHgpOworCitzdGF0aWMgdm9pZCAo
KiBfZ19saXN0X2ZyZWUpKEdMaXN0KikgPSBnX2xpc3RfZnJlZTsKKyNkZWZpbmUgZ19saXN0X2Zy
ZWUoeCkgXAorICAgIGxvZygpIDw8ICJnX2xpc3RfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBcCisg
ICAgX2dfbGlzdF9mcmVlKHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19zbGlzdF9mcmVlKShHU0xp
c3QqKSA9IGdfc2xpc3RfZnJlZTsKKyNkZWZpbmUgZ19zbGlzdF9mcmVlKHgpIFwKKyAgICBsb2co
KSA8PCAiZ19zbGlzdF9mcmVlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19zbGlzdF9mcmVl
KHgpOworCitzdGF0aWMgdm9pZCAoKiBfZ19wYXR0ZXJuX3NwZWNfZnJlZSkoR1BhdHRlcm5TcGVj
KikgPSBnX3BhdHRlcm5fc3BlY19mcmVlOworI2RlZmluZSBnX3BhdHRlcm5fc3BlY19mcmVlKHgp
IFwKKyAgICBsb2coKSA8PCAiZ19wYXR0ZXJuX3NwZWNfZnJlZSgiIDw8IHB0ciA8PCAiKTsiOyBc
CisgICAgX2dfcGF0dGVybl9zcGVjX2ZyZWUoeCk7CisKK3N0YXRpYyB2b2lkICgqIF9nX2Rpcl9j
bG9zZSkoR0RpciopID0gZ19kaXJfY2xvc2U7CisjZGVmaW5lIGdfZGlyX2Nsb3NlKHgpIFwKKyAg
ICBsb2coKSA8PCAiZ19kaXJfY2xvc2UoIiA8PCBwdHIgPDwgIik7IjsgXAorICAgIF9nX2Rpcl9j
bG9zZSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfdGltZXJfZGVzdHJveSkoR1RpbWVyKikgPSBn
X3RpbWVyX2Rlc3Ryb3k7CisjZGVmaW5lIGdfdGltZXJfZGVzdHJveSh4KSBcCisgICAgbG9nKCkg
PDwgImdfdGltZXJfZGVzdHJveSgiIDw8IHB0ciA8PCAiKTsiOyBcCisgICAgX2dfdGltZXJfZGVz
dHJveSh4KTsKKworc3RhdGljIHZvaWQgKCogX2dfa2V5X2ZpbGVfZnJlZSkoR0tleUZpbGUqKSA9
IGdfa2V5X2ZpbGVfZnJlZTsKKyNkZWZpbmUgZ19rZXlfZmlsZV9mcmVlKHgpIFwKKyAgICBsb2co
KSA8PCAiZ19rZXlfZmlsZV9mcmVlKCIgPDwgcHRyIDw8ICIpOyI7IFwKKyAgICBfZ19rZXlfZmls
ZV9mcmVlKHgpOworCisjaW5jbHVkZSA8d3RmL2dvYmplY3QvR1VuaXF1ZVB0ci5oPgorCituYW1l
c3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV1RGX0dVbmlxdWVQdHIsIEJhc2ljKQorewor
ICAgIHN0ZDo6b3N0cmluZ3N0cmVhbSBhY3R1YWw7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQ
dHI8Y2hhcj4gYShnX3N0cmR1cCgiYSIpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX2ZyZWUoIiA8
PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1YWwuc3RyKCku
Y19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIoIiIpOworCisg
ICAgeworICAgICAgICBHVW5pcXVlUHRyPEdFcnJvcj4gYShnX2Vycm9yX25ld19saXRlcmFsKEdf
SU9fRVJST1IsIEdfSU9fRVJST1JfTk9UX0ZPVU5ELCAiYSIpKTsKKyAgICAgICAgYWN0dWFsIDw8
ICJnX2Vycm9yX2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9T
VFJFUShhY3R1YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFj
dHVhbC5zdHIoIiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdMaXN0PiBhKGdfbGlz
dF9wcmVwZW5kKG51bGxwdHIsIGdfc3RyZHVwKCJhIikpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJn
X2xpc3RfZnJlZSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVR
KGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFs
LnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8R1NMaXN0PiBhKGdfc2xpc3Rf
cHJlcGVuZChudWxscHRyLCBnX3N0cmR1cCgiYSIpKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19z
bGlzdF9mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEo
YWN0dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwu
c3RyKCIiKTsKKworICAgIHsKKyAgICAgICAgR1VuaXF1ZVB0cjxHUGF0dGVyblNwZWM+IGEoZ19w
YXR0ZXJuX3NwZWNfbmV3KCJhIikpOworICAgICAgICBhY3R1YWwgPDwgImdfcGF0dGVybl9zcGVj
X2ZyZWUoIiA8PCBhLmdldCgpIDw8ICIpOyI7CisgICAgfQorICAgIEFTU0VSVF9TVFJFUShhY3R1
YWwuc3RyKCkuY19zdHIoKSwgdGFrZUxvZ1N0cigpLmNfc3RyKCkpOworICAgIGFjdHVhbC5zdHIo
IiIpOworCisgICAgeworICAgICAgICBHVW5pcXVlUHRyPEdEaXI+IGEoZ19kaXJfb3BlbigiL3Rt
cCIsIDAsIG51bGxwdHIpKTsKKyAgICAgICAgYWN0dWFsIDw8ICJnX2Rpcl9jbG9zZSgiIDw8IGEu
Z2V0KCkgPDwgIik7IjsKKyAgICB9CisgICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0
cigpLCB0YWtlTG9nU3RyKCkuY19zdHIoKSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7
CisgICAgICAgIEdVbmlxdWVQdHI8R1RpbWVyPiBhKGdfdGltZXJfbmV3KCkpOworICAgICAgICBh
Y3R1YWwgPDwgImdfdGltZXJfZGVzdHJveSgiIDw8IGEuZ2V0KCkgPDwgIik7IjsKKyAgICB9Cisg
ICAgQVNTRVJUX1NUUkVRKGFjdHVhbC5zdHIoKS5jX3N0cigpLCB0YWtlTG9nU3RyKCkuY19zdHIo
KSk7CisgICAgYWN0dWFsLnN0cigiIik7CisKKyAgICB7CisgICAgICAgIEdVbmlxdWVQdHI8R0tl
eUZpbGU+IGEoZ19rZXlfZmlsZV9uZXcoKSk7CisgICAgICAgIGFjdHVhbCA8PCAiZ19rZXlfZmls
ZV9mcmVlKCIgPDwgYS5nZXQoKSA8PCAiKTsiOworICAgIH0KKyAgICBBU1NFUlRfU1RSRVEoYWN0
dWFsLnN0cigpLmNfc3RyKCksIHRha2VMb2dTdHIoKS5jX3N0cigpKTsKKyAgICBhY3R1YWwuc3Ry
KCIiKTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>
<flag name="review"
          id="245712"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>