<?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>122010</bug_id>
          
          <creation_ts>2013-09-27 05:27:08 -0700</creation_ts>
          <short_desc>[WIN] Make WebHistory compile without USE(CF)</short_desc>
          <delta_ts>2013-10-31 11:01:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          <dependson>119389</dependson>
    
    <dependson>121599</dependson>
    
    <dependson>121801</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>933901</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-27 05:27:08 -0700</bug_when>
    <thetext>[WIN] Make WebHistory compile without USE(CF)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933902</commentid>
    <comment_count>1</comment_count>
      <attachid>212799</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-27 05:32:11 -0700</bug_when>
    <thetext>Created attachment 212799
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933903</commentid>
    <comment_count>2</comment_count>
      <attachid>212800</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-27 05:35:08 -0700</bug_when>
    <thetext>Created attachment 212800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933905</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-27 05:36:40 -0700</bug_when>
    <thetext>Attachment 212800 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/win/COMVariantSetter.h&apos;, u&apos;Source/WebKit/win/ChangeLog&apos;, u&apos;Source/WebKit/win/WebHistory.cpp&apos;, u&apos;Source/WebKit/win/WebHistory.h&apos;]&quot; exit_code: 1
Source/WebKit/win/COMVariantSetter.h:125:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934379</commentid>
    <comment_count>4</comment_count>
      <attachid>212800</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-09-29 13:38:45 -0700</bug_when>
    <thetext>Comment on attachment 212800
Patch

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

&gt; Source/WebKit/win/WebHistory.cpp:88
&gt; -static COMPtr&lt;CFDictionaryPropertyBag&gt; createUserInfoFromArray(BSTR notificationStr, CFArrayRef arrayItem)
&gt; +static COMPtr&lt;IPropertyBag&gt; createUserInfoFromArray(BSTR notificationStr, IWebHistoryItem** data, size_t size)
&gt;  {
&gt; +#if USE(CF)
&gt; +    RetainPtr&lt;CFArrayRef&gt; arrayItem = adoptCF(CFArrayCreate(kCFAllocatorDefault, (const void**)data, size, &amp;MarshallingHelpers::kIUnknownArrayCallBacks));
&gt; +
&gt;      RetainPtr&lt;CFMutableDictionaryRef&gt; dictionary = adoptCF(
&gt;          CFDictionaryCreateMutable(0, 0, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks));
&gt;  
&gt;      RetainPtr&lt;CFStringRef&gt; key = adoptCF(MarshallingHelpers::BSTRToCFStringRef(notificationStr));
&gt; -    CFDictionaryAddValue(dictionary.get(), key.get(), arrayItem);
&gt; +    CFDictionaryAddValue(dictionary.get(), key.get(), arrayItem.get());
&gt;  
&gt;      COMPtr&lt;CFDictionaryPropertyBag&gt; result = CFDictionaryPropertyBag::createInstance();
&gt;      result-&gt;setDictionary(dictionary.get());
&gt; -    return result;
&gt; +    return COMPtr&lt;IPropertyBag&gt;(AdoptCOM, result.leakRef());
&gt; +#else
&gt; +    Vector&lt;COMPtr&lt;IWebHistoryItem&gt;, 1&gt; arrayItem;
&gt; +    arrayItem.reserveInitialCapacity(size);
&gt; +    for (size_t i = 0; i &lt; size; ++i)
&gt; +        arrayItem[i] = data[i];
&gt; +
&gt; +    HashMap&lt;String, Vector&lt;COMPtr&lt;IWebHistoryItem&gt;&gt;&gt; dictionary;
&gt; +    String key(notificationStr, ::SysStringLen(notificationStr));
&gt; +    dictionary.set(key, std::move(arrayItem));
&gt; +    return COMPtr&lt;IPropertyBag&gt;(AdoptCOM, COMPropertyBag&lt;Vector&lt;COMPtr&lt;IWebHistoryItem&gt;&gt;&gt;::adopt(dictionary));
&gt; +#endif
&gt;  }

Does not make sense to have both of these. Why keep the CF version?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>934386</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-29 14:46:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Does not make sense to have both of these. Why keep the CF version?

Maybe someone wants to query the CFDictionaryPropertyBag interface. I don&apos;t know what the Safari (or other windows application) code does to access the values.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945560</commentid>
    <comment_count>6</comment_count>
      <attachid>212800</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-31 10:11:10 -0700</bug_when>
    <thetext>Comment on attachment 212800
Patch

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

Looks good to me. Please correct the bracket placement and we can land this.

&gt;&gt; Source/WebKit/win/COMVariantSetter.h:125
&gt;&gt; +{
&gt; 
&gt; This { should be at the end of the previous line  [whitespace/braces] [4]

Please correct this bracket position.

&gt;&gt; Source/WebKit/win/WebHistory.cpp:88
&gt;&gt;  }
&gt; 
&gt; Does not make sense to have both of these. Why keep the CF version?

We need the CF versions to maintain compatibility with other software.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945569</commentid>
    <comment_count>7</comment_count>
      <attachid>215658</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-10-31 10:24:34 -0700</bug_when>
    <thetext>Created attachment 215658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945575</commentid>
    <comment_count>8</comment_count>
      <attachid>215658</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-10-31 10:30:39 -0700</bug_when>
    <thetext>Comment on attachment 215658
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945587</commentid>
    <comment_count>9</comment_count>
      <attachid>215658</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-31 11:01:06 -0700</bug_when>
    <thetext>Comment on attachment 215658
Patch

Clearing flags on attachment: 215658

Committed r158370: &lt;http://trac.webkit.org/changeset/158370&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>945588</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-31 11:01:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212799</attachid>
            <date>2013-09-27 05:32:11 -0700</date>
            <delta_ts>2013-09-27 05:35:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122010.patch</filename>
            <type>text/plain</type>
            <size>8522</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaAppbmRleCA4Y2U2NTQyLi5iYWIwNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DT01WYXJpYW50U2V0dGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ09NVmFyaWFudFNldHRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlciB7fTsKIApAQCAtMTIwLDYgKzEy
MSwyNSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlcjxDT01Q
dHI8VD4gPiA6IENPTVZhcmlhbnRTZXR0ZXJCYXNlPAogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBDT01WYXJpYW50U2V0dGVyPFZlY3RvcjxUPj4gOiBDT01WYXJpYW50
U2V0dGVyQmFzZTxWZWN0b3I8VD4+Cit7CisgICAgc3RhdGljIGNvbnN0IFZBUlRZUEUgVmFyaWFu
dFR5cGUgPSBWVF9BUlJBWSB8IENPTVZhcmlhbnRTZXR0ZXI8VD46OlZhcmlhbnRUeXBlOworCisg
ICAgc3RhdGljIHZvaWQgc2V0VmFyaWFudChWQVJJQU5UKiB2YXJpYW50LCBjb25zdCBWZWN0b3I8
VD4mIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKFZfVlQodmFyaWFudCkgPT0gVlRfRU1Q
VFkpOworCisgICAgICAgIFNBRkVBUlJBWSogc2FmZUFycmF5ID0gOjpTYWZlQXJyYXlDcmVhdGVW
ZWN0b3IoQ09NVmFyaWFudFNldHRlcjxUPjo6VmFyaWFudFR5cGUsIDAsIHZhbHVlLnNpemUoKSk7
CisgICAgICAgIGZvciAoTE9ORyBpID0gMDsgaSA8IHZhbHVlLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICBDT01WYXJpYW50IGl0ZW0odmFsdWVbaV0pOworICAgICAgICAgICAgOjpTYWZlQXJy
YXlQdXRFbGVtZW50KHNhZmVBcnJheSwgJmksICZpdGVtKTsKKyAgICAgICAgfQorCisgICAgICAg
IFZfVlQodmFyaWFudCkgPSBWYXJpYW50VHlwZTsKKyAgICAgICAgVl9BUlJBWSh2YXJpYW50KSA9
IHNhZmVBcnJheTsKKyAgICB9Cit9OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDT01UeXBlLCB0eXBl
bmFtZSBVbmRlcmx5aW5nVHlwZT4KIHN0cnVjdCBDT01JVW5rbm93blZhcmlhbnRTZXR0ZXIgOiBD
T01WYXJpYW50U2V0dGVyQmFzZTxVbmRlcmx5aW5nVHlwZT4KIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRl
eCA0ZmM1Y2ZmLi5mMzljZGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTMtMDktMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW1dJTl0gTWFrZSBXZWJIaXN0b3J5IGNvbXBpbGUgd2l0aG91dCBVU0UoQ0YpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIwMTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gYWx0ZXJuYXRp
dmUgY29kZSBwYXRoIGZvciAhVVNFKENGKSB0byBiZSBhYmxlIHRvCisgICAgICAgIGNvbXBpbGUg
V2ViSGlzdG9yeSB3aXRob3V0IHRoZSBDb3JlRm91bmRhdGlvbiBsaWJyYXJ5LgorCisgICAgICAg
ICogQ09NVmFyaWFudFNldHRlci5oOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBhIFZlY3Rvci4K
KyAgICAgICAgKiBXZWJIaXN0b3J5LmNwcDoKKyAgICAgICAgKGNyZWF0ZVVzZXJJbmZvRnJvbUFy
cmF5KToKKyAgICAgICAgKGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKToKKyAgICAgICAg
KFdlYkhpc3Rvcnk6OnJlbW92ZUFsbEl0ZW1zKToKKyAgICAgICAgKFdlYkhpc3Rvcnk6OnJlbW92
ZUl0ZW0pOgorICAgICAgICAoV2ViSGlzdG9yeTo6YWRkSXRlbSk6CisgICAgICAgIChXZWJIaXN0
b3J5Ojp2aXNpdGVkVVJMKToKKyAgICAgICAgKiBXZWJIaXN0b3J5Lmg6CisKIDIwMTMtMDktMjUg
IFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10g
QXR0ZW1wdGluZyB0byBzY3JvbGwgZnJvbSBhIG5vbi1zY3JvbGxhYmxlIGxheWVyIHJlc3VsdHMg
dGhlIG1haW4gZG9jdW1lbnQgZ2V0dGluZyBzY3JvbGxlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5j
cHAKaW5kZXggNTNlMWQ1NC4uOGJkY2RmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViSGlzdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKQEAg
LTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJXZWJLaXRETEwuaCIKICNpbmNsdWRlICJXZWJIaXN0
b3J5LmgiCiAKLSNpbmNsdWRlICJDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZy5oIgogI2luY2x1ZGUg
Ik1lbW9yeVN0cmVhbS5oIgogI2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIk1hcnNoYWxs
aW5nSGVscGVycy5oIgpAQCAtMzUsNyArMzQsNiBAQAogI2luY2x1ZGUgIldlYktpdC5oIgogI2lu
Y2x1ZGUgIldlYk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2Vz
LmgiCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0JTdHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJdGVtLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CkBAIC00Niw2ICs0NCwxMyBAQAogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKKyNpZiBVU0UoQ0Yp
CisjaW5jbHVkZSAiQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuaCIKKyNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2Vsc2UKKyNpbmNsdWRlICJDT01Qcm9wZXJ0eUJh
Zy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIApAQCAtNTUsMjUgKzYwLDM2IEBAIHN0YXRpYyBib29sIGFyZUVxdWFsT3JDbG9zZShk
b3VibGUgZDEsIGRvdWJsZSBkMikKICAgICByZXR1cm4gKGRpZmYgPCAuMDAwMDAxICYmIGRpZmYg
PiAtLjAwMDAwMSk7CiB9CiAKLXN0YXRpYyBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+
IGNyZWF0ZVVzZXJJbmZvRnJvbUFycmF5KEJTVFIgbm90aWZpY2F0aW9uU3RyLCBDRkFycmF5UmVm
IGFycmF5SXRlbSkKK3N0YXRpYyBDT01QdHI8SVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zy
b21BcnJheShCU1RSIG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiogZGF0YSwgc2l6
ZV90IHNpemUpCiB7CisjaWYgVVNFKENGKQorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBhcnJh
eUl0ZW0gPSBhZG9wdENGKENGQXJyYXlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0
IHZvaWQqKilkYXRhLCBzaXplLCAmTWFyc2hhbGxpbmdIZWxwZXJzOjprSVVua25vd25BcnJheUNh
bGxCYWNrcykpOworCiAgICAgUmV0YWluUHRyPENGTXV0YWJsZURpY3Rpb25hcnlSZWY+IGRpY3Rp
b25hcnkgPSBhZG9wdENGKAogICAgICAgICBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAsIDAs
ICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVD
YWxsQmFja3MpKTsKIAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4ga2V5ID0gYWRvcHRDRihN
YXJzaGFsbGluZ0hlbHBlcnM6OkJTVFJUb0NGU3RyaW5nUmVmKG5vdGlmaWNhdGlvblN0cikpOwot
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIGtleS5nZXQoKSwgYXJy
YXlJdGVtKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBrZXku
Z2V0KCksIGFycmF5SXRlbS5nZXQoKSk7CiAKICAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVy
dHlCYWc+IHJlc3VsdCA9IENGRGljdGlvbmFyeVByb3BlcnR5QmFnOjpjcmVhdGVJbnN0YW5jZSgp
OwogICAgIHJlc3VsdC0+c2V0RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKLSAgICByZXR1
cm4gcmVzdWx0OworICAgIHJldHVybiBDT01QdHI8SVByb3BlcnR5QmFnPihBZG9wdENPTSwgcmVz
dWx0LmxlYWtSZWYoKSk7CisjZWxzZQorICAgIFZlY3RvcjxDT01QdHI8SVdlYkhpc3RvcnlJdGVt
PiwgMT4gYXJyYXlJdGVtOworICAgIGFycmF5SXRlbS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNp
emUpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBhcnJh
eUl0ZW1baV0gPSBkYXRhW2ldOworCisgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxDT01QdHI8
SVdlYkhpc3RvcnlJdGVtPj4+IGRpY3Rpb25hcnk7CisgICAgU3RyaW5nIGtleShub3RpZmljYXRp
b25TdHIsIDo6U3lzU3RyaW5nTGVuKG5vdGlmaWNhdGlvblN0cikpOworICAgIGRpY3Rpb25hcnku
c2V0KGtleSwgc3RkOjptb3ZlKGFycmF5SXRlbSkpOworICAgIHJldHVybiBDT01QdHI8SVByb3Bl
cnR5QmFnPihBZG9wdENPTSwgQ09NUHJvcGVydHlCYWc8VmVjdG9yPENPTVB0cjxJV2ViSGlzdG9y
eUl0ZW0+Pj46OmFkb3B0KGRpY3Rpb25hcnkpKTsKKyNlbmRpZgogfQogCi1zdGF0aWMgQ09NUHRy
PENGRGljdGlvbmFyeVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbShC
U1RSIG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiBpdGVtKQorc3RhdGljIGlubGlu
ZSBDT01QdHI8SVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbShCU1RS
IG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiBpdGVtKQogewotICAgIC8vIHJlZmVy
ZW5jZSBjb3VudGluZyBvZiBpdGVtIGFkZGVkIHRvIHRoZSBhcnJheSBpcyBtYW5hZ2VkIGJ5IHRo
ZSBDRkFycmF5IHZhbHVlIGNhbGxiYWNrcwotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBpdGVt
TGlzdCA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZSgwLCAoY29uc3Qgdm9pZCoqKSAmaXRlbSwgMSwg
Jk1hcnNoYWxsaW5nSGVscGVyczo6a0lVbmtub3duQXJyYXlDYWxsQmFja3MpKTsKLSAgICBDT01Q
dHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21BcnJh
eShub3RpZmljYXRpb25TdHIsIGl0ZW1MaXN0LmdldCgpKTsKLSAgICByZXR1cm4gaW5mbzsKKyAg
ICByZXR1cm4gY3JlYXRlVXNlckluZm9Gcm9tQXJyYXkobm90aWZpY2F0aW9uU3RyLCAmaXRlbSwg
MSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGREYXlUb1N5c3RlbVRpbWUoU1lTVEVNVElN
RSYgc3lzdGVtVGltZSkKQEAgLTMwNiwxMyArMzIyLDEyIEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViSGlzdG9yeTo6cmVtb3ZlQWxsSXRlbXMoIHZvaWQpCiAgICAgaXRlbXNWZWN0b3Iu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2VudHJpZXNCeVVSTC5zaXplKCkpOwogICAgIGZvciAo
YXV0byBpdCA9IG1fZW50cmllc0J5VVJMLmJlZ2luKCk7IGl0ICE9IG1fZW50cmllc0J5VVJMLmVu
ZCgpOyArK2l0KQogICAgICAgICBpdGVtc1ZlY3Rvci5hcHBlbmQoaXQtPnZhbHVlLmdldCgpKTsK
LSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gYWxsSXRlbXMgPSBhZG9wdENGKENGQXJyYXlDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0IHZvaWQqKilpdGVtc1ZlY3Rvci5kYXRhKCks
IGl0ZW1zVmVjdG9yLnNpemUoKSwgJk1hcnNoYWxsaW5nSGVscGVyczo6a0lVbmtub3duQXJyYXlD
YWxsQmFja3MpKTsKKyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVz
ZXJJbmZvRnJvbUFycmF5KGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlzdG9yeUFsbEl0ZW1z
UmVtb3ZlZE5vdGlmaWNhdGlvbiksIGl0ZW1zVmVjdG9yLmRhdGEoKSwgaXRlbXNWZWN0b3Iuc2l6
ZSgpKTsKIAogICAgIG1fZW50cmllc0J5VVJMLmNsZWFyKCk7CiAKICAgICBQYWdlR3JvdXA6OnJl
bW92ZUFsbFZpc2l0ZWRMaW5rcygpOwogCi0gICAgQ09NUHRyPENGRGljdGlvbmFyeVByb3BlcnR5
QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUFycmF5KGdldE5vdGlmaWNhdGlvblN0
cmluZyhrV2ViSGlzdG9yeUFsbEl0ZW1zUmVtb3ZlZE5vdGlmaWNhdGlvbiksIGFsbEl0ZW1zLmdl
dCgpKTsKICAgICByZXR1cm4gcG9zdE5vdGlmaWNhdGlvbihrV2ViSGlzdG9yeUFsbEl0ZW1zUmVt
b3ZlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8uZ2V0KCkpOwogfQogCkBAIC00NzIsNyArNDg3LDcg
QEAgSFJFU1VMVCBXZWJIaXN0b3J5OjpyZW1vdmVJdGVtKElXZWJIaXN0b3J5SXRlbSogZW50cnkp
CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKIAotICAgIENPTVB0cjxD
RkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4gdXNlckluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21IaXN0
b3J5SXRlbSgKKyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJ
bmZvRnJvbUhpc3RvcnlJdGVtKAogICAgICAgICBnZXROb3RpZmljYXRpb25TdHJpbmcoa1dlYkhp
c3RvcnlJdGVtc1JlbW92ZWROb3RpZmljYXRpb24pLCBlbnRyeSk7CiAgICAgaHIgPSBwb3N0Tm90
aWZpY2F0aW9uKGtXZWJIaXN0b3J5SXRlbXNSZW1vdmVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5n
ZXQoKSk7CiAKQEAgLTUyMCw3ICs1MzUsNyBAQCBIUkVTVUxUIFdlYkhpc3Rvcnk6OmFkZEl0ZW0o
SVdlYkhpc3RvcnlJdGVtKiBlbnRyeSwgYm9vbCBkaXNjYXJkRHVwbGljYXRlLCBib29sKgogCiAg
ICAgbV9lbnRyaWVzQnlVUkwuc2V0KHVybFN0cmluZywgZW50cnkpOwogCi0gICAgQ09NUHRyPENG
RGljdGlvbmFyeVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3Rv
cnlJdGVtKAorICAgIENPTVB0cjxJUHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlcklu
Zm9Gcm9tSGlzdG9yeUl0ZW0oCiAgICAgICAgIGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlz
dG9yeUl0ZW1zQWRkZWROb3RpZmljYXRpb24pLCBlbnRyeSk7CiAgICAgaHIgPSBwb3N0Tm90aWZp
Y2F0aW9uKGtXZWJIaXN0b3J5SXRlbXNBZGRlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8uZ2V0KCkp
OwogCkBAIC01NzYsNyArNTkxLDcgQEAgdm9pZCBXZWJIaXN0b3J5Ojp2aXNpdGVkVVJMKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJgogICAgIENPTVB0
cjxXZWJIaXN0b3J5SXRlbT4gaXRlbShRdWVyeSwgZW50cnkpOwogICAgIGl0ZW0tPmhpc3RvcnlJ
dGVtKCktPnNldFJlZGlyZWN0VVJMcyhudWxscHRyKTsKIAotICAgIENPTVB0cjxDRkRpY3Rpb25h
cnlQcm9wZXJ0eUJhZz4gdXNlckluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbSgK
KyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhp
c3RvcnlJdGVtKAogICAgICAgICBnZXROb3RpZmljYXRpb25TdHJpbmcoa1dlYkhpc3RvcnlJdGVt
c0FkZGVkTm90aWZpY2F0aW9uKSwgZW50cnkpOwogICAgIHBvc3ROb3RpZmljYXRpb24oa1dlYkhp
c3RvcnlJdGVtc0FkZGVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5nZXQoKSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJIaXN0b3J5LmgKaW5kZXggM2M3NWExOC4uYTM1MWU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViSGlzdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3Rvcnku
aApAQCAtMjcsMTEgKzI3LDkgQEAKICNkZWZpbmUgV2ViSGlzdG9yeV9ICiAKICNpbmNsdWRlICJX
ZWJLaXQuaCIKLSNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgS1VSTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
YktpdC5yZXNvdXJjZXMvV2ViS2l0LmFwcyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC5yZXNv
dXJjZXMvV2ViS2l0LmFwcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmEx
N2EwCkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvU291cmNlL1dlYktpdC93aW4vV2ViS2l0
LnJlc291cmNlcy9XZWJLaXQuYXBzIGRpZmZlcgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212800</attachid>
            <date>2013-09-27 05:35:08 -0700</date>
            <delta_ts>2013-10-31 10:24:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122010.patch</filename>
            <type>text/plain</type>
            <size>8289</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaAppbmRleCA4Y2U2NTQyLi5iYWIwNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DT01WYXJpYW50U2V0dGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ09NVmFyaWFudFNldHRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlciB7fTsKIApAQCAtMTIwLDYgKzEy
MSwyNSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlcjxDT01Q
dHI8VD4gPiA6IENPTVZhcmlhbnRTZXR0ZXJCYXNlPAogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBDT01WYXJpYW50U2V0dGVyPFZlY3RvcjxUPj4gOiBDT01WYXJpYW50
U2V0dGVyQmFzZTxWZWN0b3I8VD4+Cit7CisgICAgc3RhdGljIGNvbnN0IFZBUlRZUEUgVmFyaWFu
dFR5cGUgPSBWVF9BUlJBWSB8IENPTVZhcmlhbnRTZXR0ZXI8VD46OlZhcmlhbnRUeXBlOworCisg
ICAgc3RhdGljIHZvaWQgc2V0VmFyaWFudChWQVJJQU5UKiB2YXJpYW50LCBjb25zdCBWZWN0b3I8
VD4mIHZhbHVlKQorICAgIHsKKyAgICAgICAgQVNTRVJUKFZfVlQodmFyaWFudCkgPT0gVlRfRU1Q
VFkpOworCisgICAgICAgIFNBRkVBUlJBWSogc2FmZUFycmF5ID0gOjpTYWZlQXJyYXlDcmVhdGVW
ZWN0b3IoQ09NVmFyaWFudFNldHRlcjxUPjo6VmFyaWFudFR5cGUsIDAsIHZhbHVlLnNpemUoKSk7
CisgICAgICAgIGZvciAoTE9ORyBpID0gMDsgaSA8IHZhbHVlLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICBDT01WYXJpYW50IGl0ZW0odmFsdWVbaV0pOworICAgICAgICAgICAgOjpTYWZlQXJy
YXlQdXRFbGVtZW50KHNhZmVBcnJheSwgJmksICZpdGVtKTsKKyAgICAgICAgfQorCisgICAgICAg
IFZfVlQodmFyaWFudCkgPSBWYXJpYW50VHlwZTsKKyAgICAgICAgVl9BUlJBWSh2YXJpYW50KSA9
IHNhZmVBcnJheTsKKyAgICB9Cit9OworCiB0ZW1wbGF0ZTx0eXBlbmFtZSBDT01UeXBlLCB0eXBl
bmFtZSBVbmRlcmx5aW5nVHlwZT4KIHN0cnVjdCBDT01JVW5rbm93blZhcmlhbnRTZXR0ZXIgOiBD
T01WYXJpYW50U2V0dGVyQmFzZTxVbmRlcmx5aW5nVHlwZT4KIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRl
eCA0ZmM1Y2ZmLi5mMzljZGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTMtMDktMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW1dJTl0gTWFrZSBXZWJIaXN0b3J5IGNvbXBpbGUgd2l0aG91dCBVU0UoQ0YpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjIwMTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gYWx0ZXJuYXRp
dmUgY29kZSBwYXRoIGZvciAhVVNFKENGKSB0byBiZSBhYmxlIHRvCisgICAgICAgIGNvbXBpbGUg
V2ViSGlzdG9yeSB3aXRob3V0IHRoZSBDb3JlRm91bmRhdGlvbiBsaWJyYXJ5LgorCisgICAgICAg
ICogQ09NVmFyaWFudFNldHRlci5oOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyBhIFZlY3Rvci4K
KyAgICAgICAgKiBXZWJIaXN0b3J5LmNwcDoKKyAgICAgICAgKGNyZWF0ZVVzZXJJbmZvRnJvbUFy
cmF5KToKKyAgICAgICAgKGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKToKKyAgICAgICAg
KFdlYkhpc3Rvcnk6OnJlbW92ZUFsbEl0ZW1zKToKKyAgICAgICAgKFdlYkhpc3Rvcnk6OnJlbW92
ZUl0ZW0pOgorICAgICAgICAoV2ViSGlzdG9yeTo6YWRkSXRlbSk6CisgICAgICAgIChXZWJIaXN0
b3J5Ojp2aXNpdGVkVVJMKToKKyAgICAgICAgKiBXZWJIaXN0b3J5Lmg6CisKIDIwMTMtMDktMjUg
IFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10g
QXR0ZW1wdGluZyB0byBzY3JvbGwgZnJvbSBhIG5vbi1zY3JvbGxhYmxlIGxheWVyIHJlc3VsdHMg
dGhlIG1haW4gZG9jdW1lbnQgZ2V0dGluZyBzY3JvbGxlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5j
cHAKaW5kZXggNTNlMWQ1NC4uOGJkY2RmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4v
V2ViSGlzdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKQEAg
LTI3LDcgKzI3LDYgQEAKICNpbmNsdWRlICJXZWJLaXRETEwuaCIKICNpbmNsdWRlICJXZWJIaXN0
b3J5LmgiCiAKLSNpbmNsdWRlICJDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZy5oIgogI2luY2x1ZGUg
Ik1lbW9yeVN0cmVhbS5oIgogI2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIk1hcnNoYWxs
aW5nSGVscGVycy5oIgpAQCAtMzUsNyArMzQsNiBAQAogI2luY2x1ZGUgIldlYktpdC5oIgogI2lu
Y2x1ZGUgIldlYk5vdGlmaWNhdGlvbkNlbnRlci5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2Vz
LmgiCi0jaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0JTdHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0hpc3RvcnlJdGVtLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9LVVJMLmg+CkBAIC00Niw2ICs0NCwxMyBAQAogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKKyNpZiBVU0UoQ0Yp
CisjaW5jbHVkZSAiQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuaCIKKyNpbmNsdWRlIDxDb3JlRm91
bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgorI2Vsc2UKKyNpbmNsdWRlICJDT01Qcm9wZXJ0eUJh
Zy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIApAQCAtNTUsMjUgKzYwLDM2IEBAIHN0YXRpYyBib29sIGFyZUVxdWFsT3JDbG9zZShk
b3VibGUgZDEsIGRvdWJsZSBkMikKICAgICByZXR1cm4gKGRpZmYgPCAuMDAwMDAxICYmIGRpZmYg
PiAtLjAwMDAwMSk7CiB9CiAKLXN0YXRpYyBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+
IGNyZWF0ZVVzZXJJbmZvRnJvbUFycmF5KEJTVFIgbm90aWZpY2F0aW9uU3RyLCBDRkFycmF5UmVm
IGFycmF5SXRlbSkKK3N0YXRpYyBDT01QdHI8SVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zy
b21BcnJheShCU1RSIG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiogZGF0YSwgc2l6
ZV90IHNpemUpCiB7CisjaWYgVVNFKENGKQorICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBhcnJh
eUl0ZW0gPSBhZG9wdENGKENGQXJyYXlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0
IHZvaWQqKilkYXRhLCBzaXplLCAmTWFyc2hhbGxpbmdIZWxwZXJzOjprSVVua25vd25BcnJheUNh
bGxCYWNrcykpOworCiAgICAgUmV0YWluUHRyPENGTXV0YWJsZURpY3Rpb25hcnlSZWY+IGRpY3Rp
b25hcnkgPSBhZG9wdENGKAogICAgICAgICBDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKDAsIDAs
ICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVD
YWxsQmFja3MpKTsKIAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4ga2V5ID0gYWRvcHRDRihN
YXJzaGFsbGluZ0hlbHBlcnM6OkJTVFJUb0NGU3RyaW5nUmVmKG5vdGlmaWNhdGlvblN0cikpOwot
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIGtleS5nZXQoKSwgYXJy
YXlJdGVtKTsKKyAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkaWN0aW9uYXJ5LmdldCgpLCBrZXku
Z2V0KCksIGFycmF5SXRlbS5nZXQoKSk7CiAKICAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVy
dHlCYWc+IHJlc3VsdCA9IENGRGljdGlvbmFyeVByb3BlcnR5QmFnOjpjcmVhdGVJbnN0YW5jZSgp
OwogICAgIHJlc3VsdC0+c2V0RGljdGlvbmFyeShkaWN0aW9uYXJ5LmdldCgpKTsKLSAgICByZXR1
cm4gcmVzdWx0OworICAgIHJldHVybiBDT01QdHI8SVByb3BlcnR5QmFnPihBZG9wdENPTSwgcmVz
dWx0LmxlYWtSZWYoKSk7CisjZWxzZQorICAgIFZlY3RvcjxDT01QdHI8SVdlYkhpc3RvcnlJdGVt
PiwgMT4gYXJyYXlJdGVtOworICAgIGFycmF5SXRlbS5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHNp
emUpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZTsgKytpKQorICAgICAgICBhcnJh
eUl0ZW1baV0gPSBkYXRhW2ldOworCisgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxDT01QdHI8
SVdlYkhpc3RvcnlJdGVtPj4+IGRpY3Rpb25hcnk7CisgICAgU3RyaW5nIGtleShub3RpZmljYXRp
b25TdHIsIDo6U3lzU3RyaW5nTGVuKG5vdGlmaWNhdGlvblN0cikpOworICAgIGRpY3Rpb25hcnku
c2V0KGtleSwgc3RkOjptb3ZlKGFycmF5SXRlbSkpOworICAgIHJldHVybiBDT01QdHI8SVByb3Bl
cnR5QmFnPihBZG9wdENPTSwgQ09NUHJvcGVydHlCYWc8VmVjdG9yPENPTVB0cjxJV2ViSGlzdG9y
eUl0ZW0+Pj46OmFkb3B0KGRpY3Rpb25hcnkpKTsKKyNlbmRpZgogfQogCi1zdGF0aWMgQ09NUHRy
PENGRGljdGlvbmFyeVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbShC
U1RSIG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiBpdGVtKQorc3RhdGljIGlubGlu
ZSBDT01QdHI8SVByb3BlcnR5QmFnPiBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbShCU1RS
IG5vdGlmaWNhdGlvblN0ciwgSVdlYkhpc3RvcnlJdGVtKiBpdGVtKQogewotICAgIC8vIHJlZmVy
ZW5jZSBjb3VudGluZyBvZiBpdGVtIGFkZGVkIHRvIHRoZSBhcnJheSBpcyBtYW5hZ2VkIGJ5IHRo
ZSBDRkFycmF5IHZhbHVlIGNhbGxiYWNrcwotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBpdGVt
TGlzdCA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZSgwLCAoY29uc3Qgdm9pZCoqKSAmaXRlbSwgMSwg
Jk1hcnNoYWxsaW5nSGVscGVyczo6a0lVbmtub3duQXJyYXlDYWxsQmFja3MpKTsKLSAgICBDT01Q
dHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21BcnJh
eShub3RpZmljYXRpb25TdHIsIGl0ZW1MaXN0LmdldCgpKTsKLSAgICByZXR1cm4gaW5mbzsKKyAg
ICByZXR1cm4gY3JlYXRlVXNlckluZm9Gcm9tQXJyYXkobm90aWZpY2F0aW9uU3RyLCAmaXRlbSwg
MSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBhZGREYXlUb1N5c3RlbVRpbWUoU1lTVEVNVElN
RSYgc3lzdGVtVGltZSkKQEAgLTMwNiwxMyArMzIyLDEyIEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViSGlzdG9yeTo6cmVtb3ZlQWxsSXRlbXMoIHZvaWQpCiAgICAgaXRlbXNWZWN0b3Iu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2VudHJpZXNCeVVSTC5zaXplKCkpOwogICAgIGZvciAo
YXV0byBpdCA9IG1fZW50cmllc0J5VVJMLmJlZ2luKCk7IGl0ICE9IG1fZW50cmllc0J5VVJMLmVu
ZCgpOyArK2l0KQogICAgICAgICBpdGVtc1ZlY3Rvci5hcHBlbmQoaXQtPnZhbHVlLmdldCgpKTsK
LSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gYWxsSXRlbXMgPSBhZG9wdENGKENGQXJyYXlDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgKGNvbnN0IHZvaWQqKilpdGVtc1ZlY3Rvci5kYXRhKCks
IGl0ZW1zVmVjdG9yLnNpemUoKSwgJk1hcnNoYWxsaW5nSGVscGVyczo6a0lVbmtub3duQXJyYXlD
YWxsQmFja3MpKTsKKyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVz
ZXJJbmZvRnJvbUFycmF5KGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlzdG9yeUFsbEl0ZW1z
UmVtb3ZlZE5vdGlmaWNhdGlvbiksIGl0ZW1zVmVjdG9yLmRhdGEoKSwgaXRlbXNWZWN0b3Iuc2l6
ZSgpKTsKIAogICAgIG1fZW50cmllc0J5VVJMLmNsZWFyKCk7CiAKICAgICBQYWdlR3JvdXA6OnJl
bW92ZUFsbFZpc2l0ZWRMaW5rcygpOwogCi0gICAgQ09NUHRyPENGRGljdGlvbmFyeVByb3BlcnR5
QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUFycmF5KGdldE5vdGlmaWNhdGlvblN0
cmluZyhrV2ViSGlzdG9yeUFsbEl0ZW1zUmVtb3ZlZE5vdGlmaWNhdGlvbiksIGFsbEl0ZW1zLmdl
dCgpKTsKICAgICByZXR1cm4gcG9zdE5vdGlmaWNhdGlvbihrV2ViSGlzdG9yeUFsbEl0ZW1zUmVt
b3ZlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8uZ2V0KCkpOwogfQogCkBAIC00NzIsNyArNDg3LDcg
QEAgSFJFU1VMVCBXZWJIaXN0b3J5OjpyZW1vdmVJdGVtKElXZWJIaXN0b3J5SXRlbSogZW50cnkp
CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKIAotICAgIENPTVB0cjxD
RkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4gdXNlckluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21IaXN0
b3J5SXRlbSgKKyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJ
bmZvRnJvbUhpc3RvcnlJdGVtKAogICAgICAgICBnZXROb3RpZmljYXRpb25TdHJpbmcoa1dlYkhp
c3RvcnlJdGVtc1JlbW92ZWROb3RpZmljYXRpb24pLCBlbnRyeSk7CiAgICAgaHIgPSBwb3N0Tm90
aWZpY2F0aW9uKGtXZWJIaXN0b3J5SXRlbXNSZW1vdmVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5n
ZXQoKSk7CiAKQEAgLTUyMCw3ICs1MzUsNyBAQCBIUkVTVUxUIFdlYkhpc3Rvcnk6OmFkZEl0ZW0o
SVdlYkhpc3RvcnlJdGVtKiBlbnRyeSwgYm9vbCBkaXNjYXJkRHVwbGljYXRlLCBib29sKgogCiAg
ICAgbV9lbnRyaWVzQnlVUkwuc2V0KHVybFN0cmluZywgZW50cnkpOwogCi0gICAgQ09NUHRyPENG
RGljdGlvbmFyeVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3Rv
cnlJdGVtKAorICAgIENPTVB0cjxJUHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlcklu
Zm9Gcm9tSGlzdG9yeUl0ZW0oCiAgICAgICAgIGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlz
dG9yeUl0ZW1zQWRkZWROb3RpZmljYXRpb24pLCBlbnRyeSk7CiAgICAgaHIgPSBwb3N0Tm90aWZp
Y2F0aW9uKGtXZWJIaXN0b3J5SXRlbXNBZGRlZE5vdGlmaWNhdGlvbiwgdXNlckluZm8uZ2V0KCkp
OwogCkBAIC01NzYsNyArNTkxLDcgQEAgdm9pZCBXZWJIaXN0b3J5Ojp2aXNpdGVkVVJMKGNvbnN0
IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJgogICAgIENPTVB0
cjxXZWJIaXN0b3J5SXRlbT4gaXRlbShRdWVyeSwgZW50cnkpOwogICAgIGl0ZW0tPmhpc3RvcnlJ
dGVtKCktPnNldFJlZGlyZWN0VVJMcyhudWxscHRyKTsKIAotICAgIENPTVB0cjxDRkRpY3Rpb25h
cnlQcm9wZXJ0eUJhZz4gdXNlckluZm8gPSBjcmVhdGVVc2VySW5mb0Zyb21IaXN0b3J5SXRlbSgK
KyAgICBDT01QdHI8SVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhp
c3RvcnlJdGVtKAogICAgICAgICBnZXROb3RpZmljYXRpb25TdHJpbmcoa1dlYkhpc3RvcnlJdGVt
c0FkZGVkTm90aWZpY2F0aW9uKSwgZW50cnkpOwogICAgIHBvc3ROb3RpZmljYXRpb24oa1dlYkhp
c3RvcnlJdGVtc0FkZGVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5nZXQoKSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJIaXN0b3J5LmgKaW5kZXggM2M3NWExOC4uYTM1MWU3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC93aW4vV2ViSGlzdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3Rvcnku
aApAQCAtMjcsMTEgKzI3LDkgQEAKICNkZWZpbmUgV2ViSGlzdG9yeV9ICiAKICNpbmNsdWRlICJX
ZWJLaXQuaCIKLSNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ09NUHRyLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgS1VSTDsK
</data>
<flag name="review"
          id="235054"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215658</attachid>
            <date>2013-10-31 10:24:34 -0700</date>
            <delta_ts>2013-10-31 11:01:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122010.patch</filename>
            <type>text/plain</type>
            <size>8288</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NPTVZhcmlhbnRTZXR0ZXIuaAppbmRleCA4Y2U2NTQyLi5iYWIwNTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DT01WYXJpYW50U2V0dGVyLmgKKysrIGIvU291
cmNlL1dlYktpdC93aW4vQ09NVmFyaWFudFNldHRlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlciB7fTsKIApAQCAtMTIwLDYgKzEy
MSwyNCBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgQ09NVmFyaWFudFNldHRlcjxDT01Q
dHI8VD4gPiA6IENPTVZhcmlhbnRTZXR0ZXJCYXNlPAogICAgIH0KIH07CiAKK3RlbXBsYXRlPHR5
cGVuYW1lIFQ+IHN0cnVjdCBDT01WYXJpYW50U2V0dGVyPFZlY3RvcjxUPj4gOiBDT01WYXJpYW50
U2V0dGVyQmFzZTxWZWN0b3I8VD4+IHsKKyAgICBzdGF0aWMgY29uc3QgVkFSVFlQRSBWYXJpYW50
VHlwZSA9IFZUX0FSUkFZIHwgQ09NVmFyaWFudFNldHRlcjxUPjo6VmFyaWFudFR5cGU7CisKKyAg
ICBzdGF0aWMgdm9pZCBzZXRWYXJpYW50KFZBUklBTlQqIHZhcmlhbnQsIGNvbnN0IFZlY3RvcjxU
PiYgdmFsdWUpCisgICAgeworICAgICAgICBBU1NFUlQoVl9WVCh2YXJpYW50KSA9PSBWVF9FTVBU
WSk7CisKKyAgICAgICAgU0FGRUFSUkFZKiBzYWZlQXJyYXkgPSA6OlNhZmVBcnJheUNyZWF0ZVZl
Y3RvcihDT01WYXJpYW50U2V0dGVyPFQ+OjpWYXJpYW50VHlwZSwgMCwgdmFsdWUuc2l6ZSgpKTsK
KyAgICAgICAgZm9yIChMT05HIGkgPSAwOyBpIDwgdmFsdWUuc2l6ZSgpOyArK2kpIHsKKyAgICAg
ICAgICAgIENPTVZhcmlhbnQgaXRlbSh2YWx1ZVtpXSk7CisgICAgICAgICAgICA6OlNhZmVBcnJh
eVB1dEVsZW1lbnQoc2FmZUFycmF5LCAmaSwgJml0ZW0pOworICAgICAgICB9CisKKyAgICAgICAg
Vl9WVCh2YXJpYW50KSA9IFZhcmlhbnRUeXBlOworICAgICAgICBWX0FSUkFZKHZhcmlhbnQpID0g
c2FmZUFycmF5OworICAgIH0KK307CisKIHRlbXBsYXRlPHR5cGVuYW1lIENPTVR5cGUsIHR5cGVu
YW1lIFVuZGVybHlpbmdUeXBlPgogc3RydWN0IENPTUlVbmtub3duVmFyaWFudFNldHRlciA6IENP
TVZhcmlhbnRTZXR0ZXJCYXNlPFVuZGVybHlpbmdUeXBlPgogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4
IDRmYzVjZmYuLmYzOWNkYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAx
My0wOS0yNyAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAg
ICBbV0lOXSBNYWtlIFdlYkhpc3RvcnkgY29tcGlsZSB3aXRob3V0IFVTRShDRikKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMjAxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBhbHRlcm5hdGl2
ZSBjb2RlIHBhdGggZm9yICFVU0UoQ0YpIHRvIGJlIGFibGUgdG8KKyAgICAgICAgY29tcGlsZSBX
ZWJIaXN0b3J5IHdpdGhvdXQgdGhlIENvcmVGb3VuZGF0aW9uIGxpYnJhcnkuCisKKyAgICAgICAg
KiBDT01WYXJpYW50U2V0dGVyLmg6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIGEgVmVjdG9yLgor
ICAgICAgICAqIFdlYkhpc3RvcnkuY3BwOgorICAgICAgICAoY3JlYXRlVXNlckluZm9Gcm9tQXJy
YXkpOgorICAgICAgICAoY3JlYXRlVXNlckluZm9Gcm9tSGlzdG9yeUl0ZW0pOgorICAgICAgICAo
V2ViSGlzdG9yeTo6cmVtb3ZlQWxsSXRlbXMpOgorICAgICAgICAoV2ViSGlzdG9yeTo6cmVtb3Zl
SXRlbSk6CisgICAgICAgIChXZWJIaXN0b3J5OjphZGRJdGVtKToKKyAgICAgICAgKFdlYkhpc3Rv
cnk6OnZpc2l0ZWRVUkwpOgorICAgICAgICAqIFdlYkhpc3RvcnkuaDoKKwogMjAxMy0wOS0yNSAg
Um9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5kb3dzXSBB
dHRlbXB0aW5nIHRvIHNjcm9sbCBmcm9tIGEgbm9uLXNjcm9sbGFibGUgbGF5ZXIgcmVzdWx0cyB0
aGUgbWFpbiBkb2N1bWVudCBnZXR0aW5nIHNjcm9sbGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViSGlzdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNw
cAppbmRleCA1M2UxZDU0Li44YmRjZGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJIaXN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNwcApAQCAt
MjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIldlYktpdERMTC5oIgogI2luY2x1ZGUgIldlYkhpc3Rv
cnkuaCIKIAotI2luY2x1ZGUgIkNGRGljdGlvbmFyeVByb3BlcnR5QmFnLmgiCiAjaW5jbHVkZSAi
TWVtb3J5U3RyZWFtLmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiTWFyc2hhbGxp
bmdIZWxwZXJzLmgiCkBAIC0zNSw3ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5j
bHVkZSAiV2ViTm90aWZpY2F0aW9uQ2VudGVyLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMu
aCIKLSNpbmNsdWRlIDxDb3JlRm91bmRhdGlvbi9Db3JlRm91bmRhdGlvbi5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvQlN0cmluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSGlzdG9yeUl0ZW0uaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0tVUkwuaD4KQEAgLTQ2LDYgKzQ0LDEzIEBACiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorI2lmIFVTRShDRikK
KyNpbmNsdWRlICJDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZy5oIgorI2luY2x1ZGUgPENvcmVGb3Vu
ZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CisjZWxzZQorI2luY2x1ZGUgIkNPTVByb3BlcnR5QmFn
LmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2Ug
c3RkOwogCkBAIC01NSwyNSArNjAsMzYgQEAgc3RhdGljIGJvb2wgYXJlRXF1YWxPckNsb3NlKGRv
dWJsZSBkMSwgZG91YmxlIGQyKQogICAgIHJldHVybiAoZGlmZiA8IC4wMDAwMDEgJiYgZGlmZiA+
IC0uMDAwMDAxKTsKIH0KIAotc3RhdGljIENPTVB0cjxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4g
Y3JlYXRlVXNlckluZm9Gcm9tQXJyYXkoQlNUUiBub3RpZmljYXRpb25TdHIsIENGQXJyYXlSZWYg
YXJyYXlJdGVtKQorc3RhdGljIENPTVB0cjxJUHJvcGVydHlCYWc+IGNyZWF0ZVVzZXJJbmZvRnJv
bUFycmF5KEJTVFIgbm90aWZpY2F0aW9uU3RyLCBJV2ViSGlzdG9yeUl0ZW0qKiBkYXRhLCBzaXpl
X3Qgc2l6ZSkKIHsKKyNpZiBVU0UoQ0YpCisgICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGFycmF5
SXRlbSA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAoY29uc3Qg
dm9pZCoqKWRhdGEsIHNpemUsICZNYXJzaGFsbGluZ0hlbHBlcnM6OmtJVW5rbm93bkFycmF5Q2Fs
bEJhY2tzKSk7CisKICAgICBSZXRhaW5QdHI8Q0ZNdXRhYmxlRGljdGlvbmFyeVJlZj4gZGljdGlv
bmFyeSA9IGFkb3B0Q0YoCiAgICAgICAgIENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoMCwgMCwg
JmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNh
bGxCYWNrcykpOwogCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBrZXkgPSBhZG9wdENGKE1h
cnNoYWxsaW5nSGVscGVyczo6QlNUUlRvQ0ZTdHJpbmdSZWYobm90aWZpY2F0aW9uU3RyKSk7Ci0g
ICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGljdGlvbmFyeS5nZXQoKSwga2V5LmdldCgpLCBhcnJh
eUl0ZW0pOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGRpY3Rpb25hcnkuZ2V0KCksIGtleS5n
ZXQoKSwgYXJyYXlJdGVtLmdldCgpKTsKIAogICAgIENPTVB0cjxDRkRpY3Rpb25hcnlQcm9wZXJ0
eUJhZz4gcmVzdWx0ID0gQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc6OmNyZWF0ZUluc3RhbmNlKCk7
CiAgICAgcmVzdWx0LT5zZXREaWN0aW9uYXJ5KGRpY3Rpb25hcnkuZ2V0KCkpOwotICAgIHJldHVy
biByZXN1bHQ7CisgICAgcmV0dXJuIENPTVB0cjxJUHJvcGVydHlCYWc+KEFkb3B0Q09NLCByZXN1
bHQubGVha1JlZigpKTsKKyNlbHNlCisgICAgVmVjdG9yPENPTVB0cjxJV2ViSGlzdG9yeUl0ZW0+
LCAxPiBhcnJheUl0ZW07CisgICAgYXJyYXlJdGVtLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6
ZSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpCisgICAgICAgIGFycmF5
SXRlbVtpXSA9IGRhdGFbaV07CisKKyAgICBIYXNoTWFwPFN0cmluZywgVmVjdG9yPENPTVB0cjxJ
V2ViSGlzdG9yeUl0ZW0+Pj4gZGljdGlvbmFyeTsKKyAgICBTdHJpbmcga2V5KG5vdGlmaWNhdGlv
blN0ciwgOjpTeXNTdHJpbmdMZW4obm90aWZpY2F0aW9uU3RyKSk7CisgICAgZGljdGlvbmFyeS5z
ZXQoa2V5LCBzdGQ6Om1vdmUoYXJyYXlJdGVtKSk7CisgICAgcmV0dXJuIENPTVB0cjxJUHJvcGVy
dHlCYWc+KEFkb3B0Q09NLCBDT01Qcm9wZXJ0eUJhZzxWZWN0b3I8Q09NUHRyPElXZWJIaXN0b3J5
SXRlbT4+Pjo6YWRvcHQoZGljdGlvbmFyeSkpOworI2VuZGlmCiB9CiAKLXN0YXRpYyBDT01QdHI8
Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKEJT
VFIgbm90aWZpY2F0aW9uU3RyLCBJV2ViSGlzdG9yeUl0ZW0qIGl0ZW0pCitzdGF0aWMgaW5saW5l
IENPTVB0cjxJUHJvcGVydHlCYWc+IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKEJTVFIg
bm90aWZpY2F0aW9uU3RyLCBJV2ViSGlzdG9yeUl0ZW0qIGl0ZW0pCiB7Ci0gICAgLy8gcmVmZXJl
bmNlIGNvdW50aW5nIG9mIGl0ZW0gYWRkZWQgdG8gdGhlIGFycmF5IGlzIG1hbmFnZWQgYnkgdGhl
IENGQXJyYXkgdmFsdWUgY2FsbGJhY2tzCi0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IGl0ZW1M
aXN0ID0gYWRvcHRDRihDRkFycmF5Q3JlYXRlKDAsIChjb25zdCB2b2lkKiopICZpdGVtLCAxLCAm
TWFyc2hhbGxpbmdIZWxwZXJzOjprSVVua25vd25BcnJheUNhbGxCYWNrcykpOwotICAgIENPTVB0
cjxDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZz4gaW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUFycmF5
KG5vdGlmaWNhdGlvblN0ciwgaXRlbUxpc3QuZ2V0KCkpOwotICAgIHJldHVybiBpbmZvOworICAg
IHJldHVybiBjcmVhdGVVc2VySW5mb0Zyb21BcnJheShub3RpZmljYXRpb25TdHIsICZpdGVtLCAx
KTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkIGFkZERheVRvU3lzdGVtVGltZShTWVNURU1USU1F
JiBzeXN0ZW1UaW1lKQpAQCAtMzA2LDEzICszMjIsMTIgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBXZWJIaXN0b3J5OjpyZW1vdmVBbGxJdGVtcyggdm9pZCkKICAgICBpdGVtc1ZlY3Rvci5y
ZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fZW50cmllc0J5VVJMLnNpemUoKSk7CiAgICAgZm9yIChh
dXRvIGl0ID0gbV9lbnRyaWVzQnlVUkwuYmVnaW4oKTsgaXQgIT0gbV9lbnRyaWVzQnlVUkwuZW5k
KCk7ICsraXQpCiAgICAgICAgIGl0ZW1zVmVjdG9yLmFwcGVuZChpdC0+dmFsdWUuZ2V0KCkpOwot
ICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiBhbGxJdGVtcyA9IGFkb3B0Q0YoQ0ZBcnJheUNyZWF0
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAoY29uc3Qgdm9pZCoqKWl0ZW1zVmVjdG9yLmRhdGEoKSwg
aXRlbXNWZWN0b3Iuc2l6ZSgpLCAmTWFyc2hhbGxpbmdIZWxwZXJzOjprSVVua25vd25BcnJheUNh
bGxCYWNrcykpOworICAgIENPTVB0cjxJUHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNl
ckluZm9Gcm9tQXJyYXkoZ2V0Tm90aWZpY2F0aW9uU3RyaW5nKGtXZWJIaXN0b3J5QWxsSXRlbXNS
ZW1vdmVkTm90aWZpY2F0aW9uKSwgaXRlbXNWZWN0b3IuZGF0YSgpLCBpdGVtc1ZlY3Rvci5zaXpl
KCkpOwogCiAgICAgbV9lbnRyaWVzQnlVUkwuY2xlYXIoKTsKIAogICAgIFBhZ2VHcm91cDo6cmVt
b3ZlQWxsVmlzaXRlZExpbmtzKCk7CiAKLSAgICBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlC
YWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlckluZm9Gcm9tQXJyYXkoZ2V0Tm90aWZpY2F0aW9uU3Ry
aW5nKGtXZWJIaXN0b3J5QWxsSXRlbXNSZW1vdmVkTm90aWZpY2F0aW9uKSwgYWxsSXRlbXMuZ2V0
KCkpOwogICAgIHJldHVybiBwb3N0Tm90aWZpY2F0aW9uKGtXZWJIaXN0b3J5QWxsSXRlbXNSZW1v
dmVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5nZXQoKSk7CiB9CiAKQEAgLTQ3Miw3ICs0ODcsNyBA
QCBIUkVTVUxUIFdlYkhpc3Rvcnk6OnJlbW92ZUl0ZW0oSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSkK
ICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwogCi0gICAgQ09NUHRyPENG
RGljdGlvbmFyeVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3Rv
cnlJdGVtKAorICAgIENPTVB0cjxJUHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlcklu
Zm9Gcm9tSGlzdG9yeUl0ZW0oCiAgICAgICAgIGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlz
dG9yeUl0ZW1zUmVtb3ZlZE5vdGlmaWNhdGlvbiksIGVudHJ5KTsKICAgICBociA9IHBvc3ROb3Rp
ZmljYXRpb24oa1dlYkhpc3RvcnlJdGVtc1JlbW92ZWROb3RpZmljYXRpb24sIHVzZXJJbmZvLmdl
dCgpKTsKIApAQCAtNTIwLDcgKzUzNSw3IEBAIEhSRVNVTFQgV2ViSGlzdG9yeTo6YWRkSXRlbShJ
V2ViSGlzdG9yeUl0ZW0qIGVudHJ5LCBib29sIGRpc2NhcmREdXBsaWNhdGUsIGJvb2wqCiAKICAg
ICBtX2VudHJpZXNCeVVSTC5zZXQodXJsU3RyaW5nLCBlbnRyeSk7CiAKLSAgICBDT01QdHI8Q0ZE
aWN0aW9uYXJ5UHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlckluZm9Gcm9tSGlzdG9y
eUl0ZW0oCisgICAgQ09NUHRyPElQcm9wZXJ0eUJhZz4gdXNlckluZm8gPSBjcmVhdGVVc2VySW5m
b0Zyb21IaXN0b3J5SXRlbSgKICAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU3RyaW5nKGtXZWJIaXN0
b3J5SXRlbXNBZGRlZE5vdGlmaWNhdGlvbiksIGVudHJ5KTsKICAgICBociA9IHBvc3ROb3RpZmlj
YXRpb24oa1dlYkhpc3RvcnlJdGVtc0FkZGVkTm90aWZpY2F0aW9uLCB1c2VySW5mby5nZXQoKSk7
CiAKQEAgLTU3Niw3ICs1OTEsNyBAQCB2b2lkIFdlYkhpc3Rvcnk6OnZpc2l0ZWRVUkwoY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBjb25zdCBTdHJpbmcmCiAgICAgQ09NUHRy
PFdlYkhpc3RvcnlJdGVtPiBpdGVtKFF1ZXJ5LCBlbnRyeSk7CiAgICAgaXRlbS0+aGlzdG9yeUl0
ZW0oKS0+c2V0UmVkaXJlY3RVUkxzKG51bGxwdHIpOwogCi0gICAgQ09NUHRyPENGRGljdGlvbmFy
eVByb3BlcnR5QmFnPiB1c2VySW5mbyA9IGNyZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKAor
ICAgIENPTVB0cjxJUHJvcGVydHlCYWc+IHVzZXJJbmZvID0gY3JlYXRlVXNlckluZm9Gcm9tSGlz
dG9yeUl0ZW0oCiAgICAgICAgIGdldE5vdGlmaWNhdGlvblN0cmluZyhrV2ViSGlzdG9yeUl0ZW1z
QWRkZWROb3RpZmljYXRpb24pLCBlbnRyeSk7CiAgICAgcG9zdE5vdGlmaWNhdGlvbihrV2ViSGlz
dG9yeUl0ZW1zQWRkZWROb3RpZmljYXRpb24sIHVzZXJJbmZvLmdldCgpKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
Ykhpc3RvcnkuaAppbmRleCAzYzc1YTE4Li5hMzUxZTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJIaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5o
CkBAIC0yNywxMSArMjcsOSBAQAogI2RlZmluZSBXZWJIaXN0b3J5X0gKIAogI2luY2x1ZGUgIldl
YktpdC5oIgotI2luY2x1ZGUgPENvcmVGb3VuZGF0aW9uL0NvcmVGb3VuZGF0aW9uLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9DT01QdHIuaD4KICNpbmNsdWRlIDxtZW1vcnk+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBjbGFzcyBLVVJMOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>