<?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>125028</bug_id>
          
          <creation_ts>2013-11-30 04:46:03 -0800</creation_ts>
          <short_desc>[Curl] There is no way to specify cache folder.</short_desc>
          <delta_ts>2014-01-23 10:16:15 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>peavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>galpeter</cc>
    
    <cc>mmatyas</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955063</commentid>
    <comment_count>0</comment_count>
    <who name="">peavo</who>
    <bug_when>2013-11-30 04:46:03 -0800</bug_when>
    <thetext>For a WebKit client app, there is no way to specify where the cache folder should be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955064</commentid>
    <comment_count>1</comment_count>
      <attachid>218091</attachid>
    <who name="">peavo</who>
    <bug_when>2013-11-30 04:50:27 -0800</bug_when>
    <thetext>Created attachment 218091
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955296</commentid>
    <comment_count>2</comment_count>
    <who name="Mátyás Mustoha">mmatyas</who>
    <bug_when>2013-12-02 02:08:42 -0800</bug_when>
    <thetext>Hi,

Instead of WebCore, the Cache Manager should be turned on in WebKit, as the cache folder parameter may vary between different platforms.

For example, you can see how this is solved in Nix here:
https://github.com/WebKitNix/webkitnix/blob/master/Source/WebKit2/WebProcess/curl/WebProcessCurl.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970255</commentid>
    <comment_count>3</comment_count>
      <attachid>221747</attachid>
    <who name="">peavo</who>
    <bug_when>2014-01-21 08:09:22 -0800</bug_when>
    <thetext>Created attachment 221747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970256</commentid>
    <comment_count>4</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-01-21 08:13:53 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Hi,
&gt; 
&gt; Instead of WebCore, the Cache Manager should be turned on in WebKit, as the cache folder parameter may vary between different platforms.
&gt; 
&gt; For example, you can see how this is solved in Nix here:
&gt; https://github.com/WebKitNix/webkitnix/blob/master/Source/WebKit2/WebProcess/curl/WebProcessCurl.cpp

Thanks for looking into this :)

I updated the patch, added methods in the IWebCache interface to set and get cache folder location.
I also enabled the disc cache in WinLauncher by setting it&apos;s cache folder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970328</commentid>
    <comment_count>5</comment_count>
      <attachid>221747</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-21 11:17:12 -0800</bug_when>
    <thetext>Comment on attachment 221747
Patch

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

&gt; Tools/WinLauncher/WinLauncher.cpp:394
&gt; +static bool getAppDataFolder(std::wstring&amp; directory)

Why not take a _bstr_t intend? Then you don&apos;t have to do all the conversion to/from std::wsting?

&gt; Tools/WinLauncher/WinLauncher.cpp:448
&gt; +    BSTR location = SysAllocString(appDataFolder.data());

If you use a _bstr_t you don&apos;t need to SysAlloc and SysFree manually. This is already used in WInLauncher.cpp, so it should build on all of our Windows targets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970405</commentid>
    <comment_count>6</comment_count>
      <attachid>221782</attachid>
    <who name="">peavo</who>
    <bug_when>2014-01-21 13:35:38 -0800</bug_when>
    <thetext>Created attachment 221782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970406</commentid>
    <comment_count>7</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-01-21 13:37:44 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 221747 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221747&amp;action=review
&gt; 
&gt; &gt; Tools/WinLauncher/WinLauncher.cpp:394
&gt; &gt; +static bool getAppDataFolder(std::wstring&amp; directory)
&gt; 
&gt; Why not take a _bstr_t intend? Then you don&apos;t have to do all the conversion to/from std::wsting?
&gt; 

Thanks, good point, updated patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970914</commentid>
    <comment_count>8</comment_count>
      <attachid>221782</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-22 15:38:10 -0800</bug_when>
    <thetext>Comment on attachment 221782
Patch

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

Minor nit-pick about prefixing with ::.  Could you please fix that, and I&apos;ll r+ it?

&gt; Tools/WinLauncher/WinLauncher.cpp:402
&gt; +    PathRemoveExtensionW(executablePath);

We prefix C API calls with ::, so these should be ::GetModuleFileNameW and ::PathRemoveExtensionW.

&gt; Tools/WinLauncher/WinLauncher.cpp:404
&gt; +    directory = _bstr_t(appDataDirectory) + L&quot;\\&quot; + PathFindFileNameW(executablePath);

This should be ::PathFindFileNameW, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971144</commentid>
    <comment_count>9</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-01-23 08:24:26 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 221782 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221782&amp;action=review
&gt; 
&gt; Minor nit-pick about prefixing with ::.  Could you please fix that, and I&apos;ll r+ it?
&gt; 
&gt; &gt; Tools/WinLauncher/WinLauncher.cpp:402
&gt; &gt; +    PathRemoveExtensionW(executablePath);
&gt; 
&gt; We prefix C API calls with ::, so these should be ::GetModuleFileNameW and ::PathRemoveExtensionW.

I would, but I&apos;m getting style errors when I add the prefix:

ERROR: Tools/WinLauncher/WinLauncher.cpp:402:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]

Is there a bug in the style checker?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971179</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-23 09:23:34 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 221782 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=221782&amp;action=review
&gt; &gt; 
&gt; &gt; Minor nit-pick about prefixing with ::.  Could you please fix that, and I&apos;ll r+ it?
&gt; &gt; 
&gt; &gt; &gt; Tools/WinLauncher/WinLauncher.cpp:402
&gt; &gt; &gt; +    PathRemoveExtensionW(executablePath);
&gt; &gt; 
&gt; &gt; We prefix C API calls with ::, so these should be ::GetModuleFileNameW and ::PathRemoveExtensionW.
&gt; 
&gt; I would, but I&apos;m getting style errors when I add the prefix:
&gt; 
&gt; ERROR: Tools/WinLauncher/WinLauncher.cpp:402:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
&gt; 
&gt; Is there a bug in the style checker?

Yes, it looks like there is.  I&apos;ve filed a few bugs recently against it. Something changed that regressed a few things regarding whitespace.

Go ahead and propose the patch with the incorrect style warning and I&apos;ll approve it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971183</commentid>
    <comment_count>11</comment_count>
      <attachid>221990</attachid>
    <who name="">peavo</who>
    <bug_when>2014-01-23 09:40:10 -0800</bug_when>
    <thetext>Created attachment 221990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971185</commentid>
    <comment_count>12</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-01-23 09:41:49 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Yes, it looks like there is.  I&apos;ve filed a few bugs recently against it. Something changed that regressed a few things regarding whitespace.
&gt; 
&gt; Go ahead and propose the patch with the incorrect style warning and I&apos;ll approve it.

Thanks, updated patch :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971186</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-23 09:41:59 -0800</bug_when>
    <thetext>Attachment 221990 did not pass style-queue:


ERROR: Tools/WinLauncher/WinLauncher.cpp:401:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Tools/WinLauncher/WinLauncher.cpp:402:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Tools/WinLauncher/WinLauncher.cpp:404:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Tools/WinLauncher/WinLauncher.cpp:402:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Tools/WinLauncher/WinLauncher.cpp:404:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 5 in 8 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>971188</commentid>
    <comment_count>14</comment_count>
      <attachid>221990</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-01-23 09:42:38 -0800</bug_when>
    <thetext>Comment on attachment 221990
Patch

r=me. Stupid stylebot!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971202</commentid>
    <comment_count>15</comment_count>
    <who name="">peavo</who>
    <bug_when>2014-01-23 09:50:14 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 221990 [details])
&gt; r=me. Stupid stylebot!

:) Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971216</commentid>
    <comment_count>16</comment_count>
      <attachid>221990</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-23 10:16:12 -0800</bug_when>
    <thetext>Comment on attachment 221990
Patch

Clearing flags on attachment: 221990

Committed r162623: &lt;http://trac.webkit.org/changeset/162623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971217</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-23 10:16:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218091</attachid>
            <date>2013-11-30 04:50:27 -0800</date>
            <delta_ts>2014-01-21 08:05:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125028-20131130135059.patch</filename>
            <type>text/plain</type>
            <size>1309</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTg4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEzLTExLTMwICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBUaGVyZSBp
cyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2Fj
aGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkN1cmxDYWNoZU1hbmFnZXI6OkN1cmxD
YWNoZU1hbmFnZXIpOiBHZXQgY2FjaGUgZm9sZGVyIGxvY2F0aW9uIGZyb20gZW52aXJvbm1lbnQg
dmFyaWFibGUuCisKIDIwMTMtMTEtMjkgIFRhbWFzIEdlcmdlbHkgIDx0Z2VyZ2VseS51LXN6ZWdl
ZEBwYXJ0bmVyLnNhbXN1bmcuY29tPgogCiAgICAgICAgIFJlbW92ZSBTeW1iaWFuIHNwZWNpZmlj
IGNvZGUuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENh
Y2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAxNTk4ODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDkgQEAgQ3VybENhY2hlTWFuYWdlciYgQ3VybENhY2hl
TWFuYWdlcjo6Z2V0SQogQ3VybENhY2hlTWFuYWdlcjo6Q3VybENhY2hlTWFuYWdlcigpCiAgICAg
OiBtX2Rpc2FibGVkKHRydWUpCiB7Ci0gICAgLy8gY2FsbCBzZXRDYWNoZURpcmVjdG9yeSgpIHRv
IGVuYWJsZQorICAgIGNoYXIqIGNhY2hlRm9sZGVyID0gZ2V0ZW52KCJDVVJMX0NBQ0hFX0ZPTERF
UiIpOworICAgIGlmIChjYWNoZUZvbGRlcikKKyAgICAgICAgc2V0Q2FjaGVEaXJlY3RvcnkoY2Fj
aGVGb2xkZXIpOwogfQogCiBDdXJsQ2FjaGVNYW5hZ2VyOjp+Q3VybENhY2hlTWFuYWdlcigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221747</attachid>
            <date>2014-01-21 08:09:22 -0800</date>
            <delta_ts>2014-01-21 13:35:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125028-20140121170912.patch</filename>
            <type>text/plain</type>
            <size>8857</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjQ0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTIxICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBUaGVyZSBp
cyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBsb2dpY2FsIHRlc3QsIGRpc2MgY2FjaGUg
c2hvdWxkIGJlIGRpc2FibGVkIGlmIGNyZWF0aW5nIGNhY2hlIGZvbGRlciBmYWlscy4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxDYWNoZU1hbmFnZXI6OnNldENhY2hlRGlyZWN0b3J5KToKKwogMjAx
NC0wMS0yMSAgR3VycHJlZXQgS2F1ciAgPGsuZ3VycHJlZXRAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgVGhlIFdlYkNvcmUudmN4cHJvai5maWx0ZXJzIGRvZXNub3QgYXBwbHkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hl
TWFuYWdlci5jcHAJKHJldmlzaW9uIDE2MjQzNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEs
NyArNzEsNyBAQCB2b2lkIEN1cmxDYWNoZU1hbmFnZXI6OnNldENhY2hlRGlyZWN0b3J5CiAgICAg
fQogCiAgICAgaWYgKCFmaWxlRXhpc3RzKG1fY2FjaGVEaXIpKSB7Ci0gICAgICAgIGlmIChtYWtl
QWxsRGlyZWN0b3JpZXMobV9jYWNoZURpcikpIHsKKyAgICAgICAgaWYgKCFtYWtlQWxsRGlyZWN0
b3JpZXMobV9jYWNoZURpcikpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiQ2FjaGUgRXJy
b3I6IENvdWxkIG5vdCBvcGVuIG9yIGNyZWF0ZSBjYWNoZSBkaXJlY3RvcnkhIENhY2hlTWFuYWdl
ciBkaXNhYmxlZC5cbiIpOwogICAgICAgICAgICAgbV9kaXNhYmxlZCA9IHRydWU7CiAgICAgICAg
ICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjI0NDEpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBA
QAorMjAxNC0wMS0yMSAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KKwor
ICAgICAgICBbQ3VybF0gVGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgY2FjaGUgZm9sZGVyLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MDI4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaW50
ZXJmYWNlIG1ldGhvZHMgdG8gc2V0IGFuZCBnZXQgY2FjaGUgZm9sZGVyIGxvY2F0aW9uLgorCisg
ICAgICAgICogSW50ZXJmYWNlcy9JV2ViQ2FjaGUuaWRsOgorICAgICAgICAqIFdlYkNhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNhY2hlOjpkaXNhYmxlZCk6CisgICAgICAgIChXZWJDYWNoZTo6Y2Fj
aGVGb2xkZXIpOgorICAgICAgICAoV2ViQ2FjaGU6OnNldENhY2hlRm9sZGVyKToKKyAgICAgICAg
KiBXZWJDYWNoZS5oOgorCiAyMDE0LTAxLTE4ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBhZ2Ugc2hvdWxkIHVzZSBzdGQ6OnVuaXF1ZV9w
dHIgZm9yIEluc3BlY3RvckNvbnRyb2xsZXIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNh
Y2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNoZS5jcHAJKHJl
dmlzaW9uIDE2MjQzMykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksOSArMjksMTQgQEAKIAogI2luY2x1ZGUgIkNGRGljdGlvbmFyeVByb3Bl
cnR5QmFnLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQlN0cmluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2Fj
aGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aD4KIAorI2lmIFVTRShDVVJMKQorI2luY2x1ZGUgPFdlYkNvcmUvQ3VybENhY2hlTWFuYWdlci5o
PgorI2VuZGlmCisKIC8vIFdlYkNhY2hlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBXZWJDYWNoZTo6
V2ViQ2FjaGUoKQpAQCAtMjI5LDMgKzIzNCwyNSBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFdlYkNhY2hlOjpkaXNhCiAgICAgKmRpc2FibGVkID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+
ZGlzYWJsZWQoKTsKICAgICByZXR1cm4gU19PSzsKIH0KKworSFJFU1VMVCBXZWJDYWNoZTo6Y2Fj
aGVGb2xkZXIoQlNUUiogbG9jYXRpb24pCit7CisjaWYgVVNFKENVUkwpCisgICAgU3RyaW5nIGNh
Y2hlRm9sZGVyID0gV2ViQ29yZTo6Q3VybENhY2hlTWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5nZXRD
YWNoZURpcmVjdG9yeSgpOworICAgICpsb2NhdGlvbiA9IFdlYkNvcmU6OkJTdHJpbmcoY2FjaGVG
b2xkZXIpLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gU19PSzsKKyNlbHNlCisgICAgcmV0dXJuIEVf
Tk9USU1QTDsKKyNlbmRpZgorfQorCitIUkVTVUxUIFdlYkNhY2hlOjpzZXRDYWNoZUZvbGRlcihC
U1RSIGxvY2F0aW9uKQoreworI2lmIFVTRShDVVJMKQorICAgIFN0cmluZyBjYWNoZUZvbGRlcihs
b2NhdGlvbiwgU3lzU3RyaW5nTGVuKGxvY2F0aW9uKSk7CisgICAgV2ViQ29yZTo6Q3VybENhY2hl
TWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5zZXRDYWNoZURpcmVjdG9yeShjYWNoZUZvbGRlcik7Cisg
ICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViQ2FjaGUuaAkocmV2aXNpb24gMTYyNDMzKQorKysgU291cmNlL1dlYktp
dC93aW4vV2ViQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIC8qIFtpbl1bb3V0XSAqLyBpbnQqIGNvdW50LAogICAgICAgICAvKiBbcmV0dmFs
XVtvdXRdICovIElQcm9wZXJ0eUJhZyAqKnMpOwogICAgIAotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBlbXB0eSggdm9pZCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGVtcHR5KHZvaWQpOwogICAgIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXREaXNhYmxlZCggCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBkaXNh
YmxlZCk7CkBAIC01NSw2ICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIGRpc2FibGVkKAogICAgICAgICAvKiBbb3V0XVtyZXR2YWxdICovIEJP
T0wqKTsKIAorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZUZvbGRl
cigvKiBbb3V0LCByZXR2YWxdICovIEJTVFIqIGxvY2F0aW9uKTsKKworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDYWNoZUZvbGRlcigvKiBbaW5dICovIEJTVFIgbG9j
YXRpb24pOworCiBwcm90ZWN0ZWQ6CiAgICAgVUxPTkcgbV9yZWZDb3VudDsKIH07CkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJDYWNoZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQ2FjaGUuaWRsCShyZXZpc2lvbiAxNjI0
MzMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJDYWNoZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDQgKzQxLDYgQEAgaW50ZXJmYWNlIElXZWJDYWNoZSA6IElVbmtub3du
CiAgICAgSFJFU1VMVCBlbXB0eSgpOwogICAgIEhSRVNVTFQgc2V0RGlzYWJsZWQoW2luXSBCT09M
IGRpc2FibGVkKTsKICAgICBIUkVTVUxUIGRpc2FibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwor
ICAgIEhSRVNVTFQgY2FjaGVGb2xkZXIoW291dCwgcmV0dmFsXSBCU1RSKiBsb2NhdGlvbik7Cisg
ICAgSFJFU1VMVCBzZXRDYWNoZUZvbGRlcihbaW5dIEJTVFIgbG9jYXRpb24pOwogfQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTYyNDQxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTQtMDEtMjEgIHBlYXZvQG91dGxvb2suY29tICA8cGVhdm9Ab3V0bG9vay5jb20+CisK
KyAgICAgICAgW0N1cmxdIFRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IGNhY2hlIGZvbGRlci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTAyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBk
aXNjIGNhY2hlIGluIFdpbkxhdW5jaGVyIGJ5IHNldHRpbmcgY2FjaGUgZm9sZGVyIGxvY2F0aW9u
LgorCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwOgorICAgICAgICAoZ2V0
QXBwRGF0YUZvbGRlcik6IEFkZGVkIGZ1bmN0aW9uIHRvIGdldCBhcHAgZGF0YSBmb2xkZXIuCisg
ICAgICAgIChzZXRDYWNoZUZvbGRlcik6IEFkZGVkIGZ1bmN0aW9uIHRvIHNldCBjYWNoZSBmb2xk
ZXIuCisgICAgICAgIChjcmVhdGVDcmFzaFJlcG9ydCk6IFVzZSBuZXcgZ2V0QXBwRGF0YUZvbGRl
ciBmdW5jdGlvbi4KKyAgICAgICAgKHdXaW5NYWluKTogVXNlIGZ1bmN0aW9uIHNldENhY2hlRm9s
ZGVyIHRvIHNldCBjYWNoZSBmb2xkZXIgbG9jYXRpb24uCisKIDIwMTQtMDEtMjEgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBbGxv
dyBwYXNzaW5nIGV4dHJhIGRhdGEgdG8gd2ViIGV4dGVuc2lvbnMKSW5kZXg6IFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9X
aW5MYXVuY2hlci5jcHAJKHJldmlzaW9uIDE2MjQzOSkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCB0eXBlZGVmIF9j
b21fcHRyX3Q8X2NvbV9JSUlEPElXZWJQcmVmZXJlCiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9J
SUlEPElXZWJQcmVmZXJlbmNlc1ByaXZhdGUsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXNQcml2
YXRlKT4+IElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2Nv
bV9JSUlEPElXZWJWaWV3LCAmX191dWlkb2YoSVdlYlZpZXcpPj4gSVdlYlZpZXdQdHI7CiB0eXBl
ZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJWaWV3UHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJW
aWV3UHJpdmF0ZSk+PiBJV2ViVmlld1ByaXZhdGVQdHI7Cit0eXBlZGVmIF9jb21fcHRyX3Q8X2Nv
bV9JSUlEPElXZWJDYWNoZSwgJl9fdXVpZG9mKElXZWJDYWNoZSk+PiBJV2ViQ2FjaGVQdHI7CiAK
IC8vIEdsb2JhbCBWYXJpYWJsZXM6CiBISU5TVEFOQ0UgaEluc3Q7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBjdXJyZW50IGluc3RhbmNlCkBAIC0zOTAsNiArMzkxLDIxIEBAIEJP
T0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmMKICAgICByZXR1cm4gVFJVRTsK
IH0KIAorc3RhdGljIGJvb2wgZ2V0QXBwRGF0YUZvbGRlcihzdGQ6OndzdHJpbmcmIGRpcmVjdG9y
eSkKK3sKKyAgICB3Y2hhcl90IGFwcERhdGFEaXJlY3RvcnlbTUFYX1BBVEhdOworICAgIGlmIChG
QUlMRUQoU0hHZXRGb2xkZXJQYXRoVygwLCBDU0lETF9MT0NBTF9BUFBEQVRBIHwgQ1NJRExfRkxB
R19DUkVBVEUsIDAsIDAsIGFwcERhdGFEaXJlY3RvcnkpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgd2NoYXJfdCBleGVjdXRhYmxlUGF0aFtNQVhfUEFUSF07CisgICAgR2V0TW9kdWxl
RmlsZU5hbWVXKDAsIGV4ZWN1dGFibGVQYXRoLCBNQVhfUEFUSCk7CisgICAgUGF0aFJlbW92ZUV4
dGVuc2lvblcoZXhlY3V0YWJsZVBhdGgpOworCisgICAgZGlyZWN0b3J5ID0gc3RkOjp3c3RyaW5n
KGFwcERhdGFEaXJlY3RvcnkpICsgTCJcXCIgKyBQYXRoRmluZEZpbGVOYW1lVyhleGVjdXRhYmxl
UGF0aCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGJvb2wgc2V0VG9EZWZhdWx0
UHJlZmVyZW5jZXMoKQogewogICAgIEhSRVNVTFQgaHIgPSBnU3RhbmRhcmRQcmVmZXJlbmNlcy0+
UXVlcnlJbnRlcmZhY2UoSUlEX0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUsIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCoqPigmZ1ByZWZzUHJpdmF0ZS5HZXRJbnRlcmZhY2VQdHIoKSkpOwpAQCAtNDE2LDE3
ICs0MzIsMzMgQEAgc3RhdGljIGJvb2wgc2V0VG9EZWZhdWx0UHJlZmVyZW5jZXMoKQogICAgIHJl
dHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBzZXRDYWNoZUZvbGRlcigpCit7CisgICAgSVdl
YkNhY2hlUHRyIHdlYkNhY2hlOworCisgICAgSFJFU1VMVCBociA9IFdlYktpdENyZWF0ZUluc3Rh
bmNlKENMU0lEX1dlYkNhY2hlLCAwLCBfX3V1aWRvZih3ZWJDYWNoZSksIHJlaW50ZXJwcmV0X2Nh
c3Q8dm9pZCoqPigmd2ViQ2FjaGUuR2V0SW50ZXJmYWNlUHRyKCkpKTsKKyAgICBpZiAoRkFJTEVE
KGhyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc3RkOjp3c3RyaW5nIGFwcERhdGFG
b2xkZXI7CisgICAgaWYgKCFnZXRBcHBEYXRhRm9sZGVyKGFwcERhdGFGb2xkZXIpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBhcHBEYXRhRm9sZGVyICs9IEwiXFxjYWNoZSI7CisgICAg
QlNUUiBsb2NhdGlvbiA9IFN5c0FsbG9jU3RyaW5nKGFwcERhdGFGb2xkZXIuZGF0YSgpKTsKKyAg
ICB3ZWJDYWNoZS0+c2V0Q2FjaGVGb2xkZXIobG9jYXRpb24pOworICAgIFN5c0ZyZWVTdHJpbmco
bG9jYXRpb24pOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgY3JlYXRlQ3Jhc2hSZXBv
cnQoRVhDRVBUSU9OX1BPSU5URVJTKiBleGNlcHRpb25Qb2ludGVycykKIHsKLSAgICB3Y2hhcl90
IGFwcERhdGFEaXJlY3RvcnlbTUFYX1BBVEhdOwotICAgIGlmIChGQUlMRUQoU0hHZXRGb2xkZXJQ
YXRoVygwLCBDU0lETF9MT0NBTF9BUFBEQVRBIHwgQ1NJRExfRkxBR19DUkVBVEUsIDAsIDAsIGFw
cERhdGFEaXJlY3RvcnkpKSkKLSAgICAgICAgcmV0dXJuOworICAgIHN0ZDo6d3N0cmluZyBkaXJl
Y3Rvcnk7CiAKLSAgICB3Y2hhcl90IGV4ZWN1dGFibGVQYXRoW01BWF9QQVRIXTsKLSAgICA6Okdl
dE1vZHVsZUZpbGVOYW1lVygwLCBleGVjdXRhYmxlUGF0aCwgTUFYX1BBVEgpOwotICAgIDo6UGF0
aFJlbW92ZUV4dGVuc2lvblcoZXhlY3V0YWJsZVBhdGgpOworICAgIGlmICghZ2V0QXBwRGF0YUZv
bGRlcihkaXJlY3RvcnkpKQorICAgICAgICByZXR1cm47CiAKLSAgICBzdGQ6OndzdHJpbmcgZGly
ZWN0b3J5ID0gc3RkOjp3c3RyaW5nKGFwcERhdGFEaXJlY3RvcnkpICsgTCJcXCIgKyBQYXRoRmlu
ZEZpbGVOYW1lVyhleGVjdXRhYmxlUGF0aCk7CiAgICAgaWYgKDo6U0hDcmVhdGVEaXJlY3RvcnlF
eCgwLCBkaXJlY3RvcnkuY19zdHIoKSwgMCkgIT0gRVJST1JfU1VDQ0VTUwogICAgICAgICAmJiA6
OkdldExhc3RFcnJvcigpICE9IEVSUk9SX0ZJTEVfRVhJU1RTCiAgICAgICAgICYmIDo6R2V0TGFz
dEVycm9yKCkgIT0gRVJST1JfQUxSRUFEWV9FWElTVFMpCkBAIC01NDgsNiArNTgwLDkgQEAgaW50
IFdJTkFQSSB3V2luTWFpbihISU5TVEFOQ0UsIEhJTlNUQU5DRQogICAgIGlmIChGQUlMRUQoaHIp
KQogICAgICAgICBnb3RvIGV4aXQ7CiAKKyAgICBpZiAoIXNldENhY2hlRm9sZGVyKCkpCisgICAg
ICAgIGdvdG8gZXhpdDsKKwogICAgIGdXZWJIb3N0ID0gbmV3IFdpbkxhdW5jaGVyV2ViSG9zdCgp
OwogICAgIGdXZWJIb3N0LT5BZGRSZWYoKTsKICAgICBociA9IGdXZWJWaWV3LT5zZXRGcmFtZUxv
YWREZWxlZ2F0ZShnV2ViSG9zdCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221782</attachid>
            <date>2014-01-21 13:35:38 -0800</date>
            <delta_ts>2014-01-23 09:40:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125028-20140121223526.patch</filename>
            <type>text/plain</type>
            <size>8835</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjQ0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTIxICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBUaGVyZSBp
cyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBsb2dpY2FsIHRlc3QsIGRpc2MgY2FjaGUg
c2hvdWxkIGJlIGRpc2FibGVkIGlmIGNyZWF0aW5nIGNhY2hlIGZvbGRlciBmYWlscy4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxDYWNoZU1hbmFnZXI6OnNldENhY2hlRGlyZWN0b3J5KToKKwogMjAx
NC0wMS0yMSAgR3VycHJlZXQgS2F1ciAgPGsuZ3VycHJlZXRAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgVGhlIFdlYkNvcmUudmN4cHJvai5maWx0ZXJzIGRvZXNub3QgYXBwbHkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hl
TWFuYWdlci5jcHAJKHJldmlzaW9uIDE2MjQzNSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEs
NyArNzEsNyBAQCB2b2lkIEN1cmxDYWNoZU1hbmFnZXI6OnNldENhY2hlRGlyZWN0b3J5CiAgICAg
fQogCiAgICAgaWYgKCFmaWxlRXhpc3RzKG1fY2FjaGVEaXIpKSB7Ci0gICAgICAgIGlmIChtYWtl
QWxsRGlyZWN0b3JpZXMobV9jYWNoZURpcikpIHsKKyAgICAgICAgaWYgKCFtYWtlQWxsRGlyZWN0
b3JpZXMobV9jYWNoZURpcikpIHsKICAgICAgICAgICAgIExPRyhOZXR3b3JrLCAiQ2FjaGUgRXJy
b3I6IENvdWxkIG5vdCBvcGVuIG9yIGNyZWF0ZSBjYWNoZSBkaXJlY3RvcnkhIENhY2hlTWFuYWdl
ciBkaXNhYmxlZC5cbiIpOwogICAgICAgICAgICAgbV9kaXNhYmxlZCA9IHRydWU7CiAgICAgICAg
ICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjI0NDEpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBA
QAorMjAxNC0wMS0yMSAgcGVhdm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KKwor
ICAgICAgICBbQ3VybF0gVGhlcmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgY2FjaGUgZm9sZGVyLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MDI4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgaW50
ZXJmYWNlIG1ldGhvZHMgdG8gc2V0IGFuZCBnZXQgY2FjaGUgZm9sZGVyIGxvY2F0aW9uLgorCisg
ICAgICAgICogSW50ZXJmYWNlcy9JV2ViQ2FjaGUuaWRsOgorICAgICAgICAqIFdlYkNhY2hlLmNw
cDoKKyAgICAgICAgKFdlYkNhY2hlOjpkaXNhYmxlZCk6CisgICAgICAgIChXZWJDYWNoZTo6Y2Fj
aGVGb2xkZXIpOgorICAgICAgICAoV2ViQ2FjaGU6OnNldENhY2hlRm9sZGVyKToKKyAgICAgICAg
KiBXZWJDYWNoZS5oOgorCiAyMDE0LTAxLTE4ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFBhZ2Ugc2hvdWxkIHVzZSBzdGQ6OnVuaXF1ZV9w
dHIgZm9yIEluc3BlY3RvckNvbnRyb2xsZXIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNh
Y2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNoZS5jcHAJKHJl
dmlzaW9uIDE2MjQzMykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksOSArMjksMTQgQEAKIAogI2luY2x1ZGUgIkNGRGljdGlvbmFyeVByb3Bl
cnR5QmFnLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9BcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvQlN0cmluZy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2Fj
aGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nyb3NzT3JpZ2luUHJlZmxpZ2h0UmVzdWx0Q2FjaGUu
aD4KIAorI2lmIFVTRShDVVJMKQorI2luY2x1ZGUgPFdlYkNvcmUvQ3VybENhY2hlTWFuYWdlci5o
PgorI2VuZGlmCisKIC8vIFdlYkNhY2hlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBXZWJDYWNoZTo6
V2ViQ2FjaGUoKQpAQCAtMjI5LDMgKzIzNCwyNSBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFdlYkNhY2hlOjpkaXNhCiAgICAgKmRpc2FibGVkID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKS0+
ZGlzYWJsZWQoKTsKICAgICByZXR1cm4gU19PSzsKIH0KKworSFJFU1VMVCBXZWJDYWNoZTo6Y2Fj
aGVGb2xkZXIoQlNUUiogbG9jYXRpb24pCit7CisjaWYgVVNFKENVUkwpCisgICAgU3RyaW5nIGNh
Y2hlRm9sZGVyID0gV2ViQ29yZTo6Q3VybENhY2hlTWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5nZXRD
YWNoZURpcmVjdG9yeSgpOworICAgICpsb2NhdGlvbiA9IFdlYkNvcmU6OkJTdHJpbmcoY2FjaGVG
b2xkZXIpLnJlbGVhc2UoKTsKKyAgICByZXR1cm4gU19PSzsKKyNlbHNlCisgICAgcmV0dXJuIEVf
Tk9USU1QTDsKKyNlbmRpZgorfQorCitIUkVTVUxUIFdlYkNhY2hlOjpzZXRDYWNoZUZvbGRlcihC
U1RSIGxvY2F0aW9uKQoreworI2lmIFVTRShDVVJMKQorICAgIFN0cmluZyBjYWNoZUZvbGRlcihs
b2NhdGlvbiwgU3lzU3RyaW5nTGVuKGxvY2F0aW9uKSk7CisgICAgV2ViQ29yZTo6Q3VybENhY2hl
TWFuYWdlcjo6Z2V0SW5zdGFuY2UoKS5zZXRDYWNoZURpcmVjdG9yeShjYWNoZUZvbGRlcik7Cisg
ICAgcmV0dXJuIFNfT0s7CisjZWxzZQorICAgIHJldHVybiBFX05PVElNUEw7CisjZW5kaWYKK30K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC93aW4vV2ViQ2FjaGUuaAkocmV2aXNpb24gMTYyNDMzKQorKysgU291cmNlL1dlYktp
dC93aW4vV2ViQ2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIC8qIFtpbl1bb3V0XSAqLyBpbnQqIGNvdW50LAogICAgICAgICAvKiBbcmV0dmFs
XVtvdXRdICovIElQcm9wZXJ0eUJhZyAqKnMpOwogICAgIAotICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBlbXB0eSggdm9pZCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGVtcHR5KHZvaWQpOwogICAgIAogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXREaXNhYmxlZCggCiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCBkaXNh
YmxlZCk7CkBAIC01NSw2ICs1NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNU
RE1FVEhPRENBTExUWVBFIGRpc2FibGVkKAogICAgICAgICAvKiBbb3V0XVtyZXR2YWxdICovIEJP
T0wqKTsKIAorICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjYWNoZUZvbGRl
cigvKiBbb3V0LCByZXR2YWxdICovIEJTVFIqIGxvY2F0aW9uKTsKKworICAgIHZpcnR1YWwgSFJF
U1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRDYWNoZUZvbGRlcigvKiBbaW5dICovIEJTVFIgbG9j
YXRpb24pOworCiBwcm90ZWN0ZWQ6CiAgICAgVUxPTkcgbV9yZWZDb3VudDsKIH07CkluZGV4OiBT
b3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJDYWNoZS5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViQ2FjaGUuaWRsCShyZXZpc2lvbiAxNjI0
MzMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJDYWNoZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDQgKzQxLDYgQEAgaW50ZXJmYWNlIElXZWJDYWNoZSA6IElVbmtub3du
CiAgICAgSFJFU1VMVCBlbXB0eSgpOwogICAgIEhSRVNVTFQgc2V0RGlzYWJsZWQoW2luXSBCT09M
IGRpc2FibGVkKTsKICAgICBIUkVTVUxUIGRpc2FibGVkKFtvdXQsIHJldHZhbF0gQk9PTCopOwor
ICAgIEhSRVNVTFQgY2FjaGVGb2xkZXIoW291dCwgcmV0dmFsXSBCU1RSKiBsb2NhdGlvbik7Cisg
ICAgSFJFU1VMVCBzZXRDYWNoZUZvbGRlcihbaW5dIEJTVFIgbG9jYXRpb24pOwogfQpJbmRleDog
VG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24g
MTYyNDQxKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTQtMDEtMjEgIHBlYXZvQG91dGxvb2suY29tICA8cGVhdm9Ab3V0bG9vay5jb20+CisK
KyAgICAgICAgW0N1cmxdIFRoZXJlIGlzIG5vIHdheSB0byBzcGVjaWZ5IGNhY2hlIGZvbGRlci4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTAyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBk
aXNjIGNhY2hlIGluIFdpbkxhdW5jaGVyIGJ5IHNldHRpbmcgY2FjaGUgZm9sZGVyIGxvY2F0aW9u
LgorCisgICAgICAgICogV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwOgorICAgICAgICAoZ2V0
QXBwRGF0YUZvbGRlcik6IEFkZGVkIGZ1bmN0aW9uIHRvIGdldCBhcHAgZGF0YSBmb2xkZXIuCisg
ICAgICAgIChzZXRDYWNoZUZvbGRlcik6IEFkZGVkIGZ1bmN0aW9uIHRvIHNldCBjYWNoZSBmb2xk
ZXIuCisgICAgICAgIChjcmVhdGVDcmFzaFJlcG9ydCk6IFVzZSBuZXcgZ2V0QXBwRGF0YUZvbGRl
ciBmdW5jdGlvbi4KKyAgICAgICAgKHdXaW5NYWluKTogVXNlIGZ1bmN0aW9uIHNldENhY2hlRm9s
ZGVyIHRvIHNldCBjYWNoZSBmb2xkZXIgbG9jYXRpb24uCisKIDIwMTQtMDEtMjEgIEFkcmlhbiBQ
ZXJleiBkZSBDYXN0cm8gIDxhcGVyZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBBbGxv
dyBwYXNzaW5nIGV4dHJhIGRhdGEgdG8gd2ViIGV4dGVuc2lvbnMKSW5kZXg6IFRvb2xzL1dpbkxh
dW5jaGVyL1dpbkxhdW5jaGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XaW5MYXVuY2hlci9X
aW5MYXVuY2hlci5jcHAJKHJldmlzaW9uIDE2MjQzOSkKKysrIFRvb2xzL1dpbkxhdW5jaGVyL1dp
bkxhdW5jaGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcsNiArNzcsNyBAQCB0eXBlZGVmIF9j
b21fcHRyX3Q8X2NvbV9JSUlEPElXZWJQcmVmZXJlCiB0eXBlZGVmIF9jb21fcHRyX3Q8X2NvbV9J
SUlEPElXZWJQcmVmZXJlbmNlc1ByaXZhdGUsICZfX3V1aWRvZihJV2ViUHJlZmVyZW5jZXNQcml2
YXRlKT4+IElXZWJQcmVmZXJlbmNlc1ByaXZhdGVQdHI7CiB0eXBlZGVmIF9jb21fcHRyX3Q8X2Nv
bV9JSUlEPElXZWJWaWV3LCAmX191dWlkb2YoSVdlYlZpZXcpPj4gSVdlYlZpZXdQdHI7CiB0eXBl
ZGVmIF9jb21fcHRyX3Q8X2NvbV9JSUlEPElXZWJWaWV3UHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJW
aWV3UHJpdmF0ZSk+PiBJV2ViVmlld1ByaXZhdGVQdHI7Cit0eXBlZGVmIF9jb21fcHRyX3Q8X2Nv
bV9JSUlEPElXZWJDYWNoZSwgJl9fdXVpZG9mKElXZWJDYWNoZSk+PiBJV2ViQ2FjaGVQdHI7CiAK
IC8vIEdsb2JhbCBWYXJpYWJsZXM6CiBISU5TVEFOQ0UgaEluc3Q7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyBjdXJyZW50IGluc3RhbmNlCkBAIC0zOTAsNiArMzkxLDIxIEBAIEJP
T0wgV0lOQVBJIERsbE1haW4oSElOU1RBTkNFIGRsbEluc3RhbmMKICAgICByZXR1cm4gVFJVRTsK
IH0KIAorc3RhdGljIGJvb2wgZ2V0QXBwRGF0YUZvbGRlcihfYnN0cl90JiBkaXJlY3RvcnkpCit7
CisgICAgd2NoYXJfdCBhcHBEYXRhRGlyZWN0b3J5W01BWF9QQVRIXTsKKyAgICBpZiAoRkFJTEVE
KFNIR2V0Rm9sZGVyUGF0aFcoMCwgQ1NJRExfTE9DQUxfQVBQREFUQSB8IENTSURMX0ZMQUdfQ1JF
QVRFLCAwLCAwLCBhcHBEYXRhRGlyZWN0b3J5KSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHdjaGFyX3QgZXhlY3V0YWJsZVBhdGhbTUFYX1BBVEhdOworICAgIEdldE1vZHVsZUZpbGVO
YW1lVygwLCBleGVjdXRhYmxlUGF0aCwgTUFYX1BBVEgpOworICAgIFBhdGhSZW1vdmVFeHRlbnNp
b25XKGV4ZWN1dGFibGVQYXRoKTsKKworICAgIGRpcmVjdG9yeSA9IF9ic3RyX3QoYXBwRGF0YURp
cmVjdG9yeSkgKyBMIlxcIiArIFBhdGhGaW5kRmlsZU5hbWVXKGV4ZWN1dGFibGVQYXRoKTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBzZXRUb0RlZmF1bHRQcmVmZXJlbmNl
cygpCiB7CiAgICAgSFJFU1VMVCBociA9IGdTdGFuZGFyZFByZWZlcmVuY2VzLT5RdWVyeUludGVy
ZmFjZShJSURfSVdlYlByZWZlcmVuY2VzUHJpdmF0ZSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+
KCZnUHJlZnNQcml2YXRlLkdldEludGVyZmFjZVB0cigpKSk7CkBAIC00MTYsMTggKzQzMiwzMiBA
QCBzdGF0aWMgYm9vbCBzZXRUb0RlZmF1bHRQcmVmZXJlbmNlcygpCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKK3N0YXRpYyBib29sIHNldENhY2hlRm9sZGVyKCkKK3sKKyAgICBJV2ViQ2FjaGVQdHIg
d2ViQ2FjaGU7CisKKyAgICBIUkVTVUxUIGhyID0gV2ViS2l0Q3JlYXRlSW5zdGFuY2UoQ0xTSURf
V2ViQ2FjaGUsIDAsIF9fdXVpZG9mKHdlYkNhY2hlKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKio+
KCZ3ZWJDYWNoZS5HZXRJbnRlcmZhY2VQdHIoKSkpOworICAgIGlmIChGQUlMRUQoaHIpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBfYnN0cl90IGFwcERhdGFGb2xkZXI7CisgICAgaWYg
KCFnZXRBcHBEYXRhRm9sZGVyKGFwcERhdGFGb2xkZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBhcHBEYXRhRm9sZGVyICs9IEwiXFxjYWNoZSI7CisgICAgd2ViQ2FjaGUtPnNldENh
Y2hlRm9sZGVyKGFwcERhdGFGb2xkZXIpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQg
Y3JlYXRlQ3Jhc2hSZXBvcnQoRVhDRVBUSU9OX1BPSU5URVJTKiBleGNlcHRpb25Qb2ludGVycykK
IHsKLSAgICB3Y2hhcl90IGFwcERhdGFEaXJlY3RvcnlbTUFYX1BBVEhdOwotICAgIGlmIChGQUlM
RUQoU0hHZXRGb2xkZXJQYXRoVygwLCBDU0lETF9MT0NBTF9BUFBEQVRBIHwgQ1NJRExfRkxBR19D
UkVBVEUsIDAsIDAsIGFwcERhdGFEaXJlY3RvcnkpKSkKLSAgICAgICAgcmV0dXJuOworICAgIF9i
c3RyX3QgZGlyZWN0b3J5OwogCi0gICAgd2NoYXJfdCBleGVjdXRhYmxlUGF0aFtNQVhfUEFUSF07
Ci0gICAgOjpHZXRNb2R1bGVGaWxlTmFtZVcoMCwgZXhlY3V0YWJsZVBhdGgsIE1BWF9QQVRIKTsK
LSAgICA6OlBhdGhSZW1vdmVFeHRlbnNpb25XKGV4ZWN1dGFibGVQYXRoKTsKKyAgICBpZiAoIWdl
dEFwcERhdGFGb2xkZXIoZGlyZWN0b3J5KSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgc3RkOjp3
c3RyaW5nIGRpcmVjdG9yeSA9IHN0ZDo6d3N0cmluZyhhcHBEYXRhRGlyZWN0b3J5KSArIEwiXFwi
ICsgUGF0aEZpbmRGaWxlTmFtZVcoZXhlY3V0YWJsZVBhdGgpOwotICAgIGlmICg6OlNIQ3JlYXRl
RGlyZWN0b3J5RXgoMCwgZGlyZWN0b3J5LmNfc3RyKCksIDApICE9IEVSUk9SX1NVQ0NFU1MKKyAg
ICBpZiAoOjpTSENyZWF0ZURpcmVjdG9yeUV4KDAsIGRpcmVjdG9yeSwgMCkgIT0gRVJST1JfU1VD
Q0VTUwogICAgICAgICAmJiA6OkdldExhc3RFcnJvcigpICE9IEVSUk9SX0ZJTEVfRVhJU1RTCiAg
ICAgICAgICYmIDo6R2V0TGFzdEVycm9yKCkgIT0gRVJST1JfQUxSRUFEWV9FWElTVFMpCiAgICAg
ICAgIHJldHVybjsKQEAgLTU0OCw2ICs1NzgsOSBAQCBpbnQgV0lOQVBJIHdXaW5NYWluKEhJTlNU
QU5DRSwgSElOU1RBTkNFCiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIGdvdG8gZXhpdDsK
IAorICAgIGlmICghc2V0Q2FjaGVGb2xkZXIoKSkKKyAgICAgICAgZ290byBleGl0OworCiAgICAg
Z1dlYkhvc3QgPSBuZXcgV2luTGF1bmNoZXJXZWJIb3N0KCk7CiAgICAgZ1dlYkhvc3QtPkFkZFJl
ZigpOwogICAgIGhyID0gZ1dlYlZpZXctPnNldEZyYW1lTG9hZERlbGVnYXRlKGdXZWJIb3N0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221990</attachid>
            <date>2014-01-23 09:40:10 -0800</date>
            <delta_ts>2014-01-23 10:16:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125028-20140123183953.patch</filename>
            <type>text/plain</type>
            <size>8879</size>
            <attacher>peavo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjYwOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE0LTAxLTIzICBwZWF2b0Bv
dXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBUaGVyZSBp
cyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXhlZCBsb2dpY2FsIHRlc3QsIGRpc2MgY2FjaGUg
c2hvdWxkIGJlIGRpc2FibGVkIGlmIGNyZWF0aW5nIGNhY2hlIGZvbGRlciBmYWlscy4KKworICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkN1cmxDYWNoZU1hbmFnZXI6OnNldENhY2hlRGlyZWN0b3J5KToKKwogMjAx
NC0wMS0yMyAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KIAogICAgICAgICBb
Q1NTIFJlZ2lvbnNdIEZpeCBwb3NpdGlvbmluZyBjb21wb3NpdGVkIGxheWVycyB3aGVuIHRoZSBy
ZWdpb24gaGFzIG92ZXJmbG93OmhpZGRlbgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAkocmV2aXNp
b24gMTYyNDM1KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxD
YWNoZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgQ3Vy
bENhY2hlTWFuYWdlcjo6c2V0Q2FjaGVEaXJlY3RvcnkKICAgICB9CiAKICAgICBpZiAoIWZpbGVF
eGlzdHMobV9jYWNoZURpcikpIHsKLSAgICAgICAgaWYgKG1ha2VBbGxEaXJlY3RvcmllcyhtX2Nh
Y2hlRGlyKSkgeworICAgICAgICBpZiAoIW1ha2VBbGxEaXJlY3RvcmllcyhtX2NhY2hlRGlyKSkg
ewogICAgICAgICAgICAgTE9HKE5ldHdvcmssICJDYWNoZSBFcnJvcjogQ291bGQgbm90IG9wZW4g
b3IgY3JlYXRlIGNhY2hlIGRpcmVjdG9yeSEgQ2FjaGVNYW5hZ2VyIGRpc2FibGVkLlxuIik7CiAg
ICAgICAgICAgICBtX2Rpc2FibGVkID0gdHJ1ZTsKICAgICAgICAgICAgIHJldHVybjsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MjQ0MSkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE0LTAxLTIxICBwZWF2
b0BvdXRsb29rLmNvbSAgPHBlYXZvQG91dGxvb2suY29tPgorCisgICAgICAgIFtDdXJsXSBUaGVy
ZSBpcyBubyB3YXkgdG8gc3BlY2lmeSBjYWNoZSBmb2xkZXIuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUwMjgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBpbnRlcmZhY2UgbWV0aG9kcyB0byBz
ZXQgYW5kIGdldCBjYWNoZSBmb2xkZXIgbG9jYXRpb24uCisKKyAgICAgICAgKiBJbnRlcmZhY2Vz
L0lXZWJDYWNoZS5pZGw6CisgICAgICAgICogV2ViQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ2Fj
aGU6OmRpc2FibGVkKToKKyAgICAgICAgKFdlYkNhY2hlOjpjYWNoZUZvbGRlcik6CisgICAgICAg
IChXZWJDYWNoZTo6c2V0Q2FjaGVGb2xkZXIpOgorICAgICAgICAqIFdlYkNhY2hlLmg6CisKIDIw
MTQtMDEtMTggIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUGFnZSBzaG91bGQgdXNlIHN0ZDo6dW5pcXVlX3B0ciBmb3IgSW5zcGVjdG9yQ29u
dHJvbGxlcgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ2FjaGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNhY2hlLmNwcAkocmV2aXNpb24gMTYyNDMzKQorKysg
U291cmNlL1dlYktpdC93aW4vV2ViQ2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5ICsy
OSwxNCBAQAogCiAjaW5jbHVkZSAiQ0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWcuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0FwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9C
U3RyaW5nLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRSZXN1bHRDYWNoZS5oPgogCisjaWYgVVNFKENVUkwp
CisjaW5jbHVkZSA8V2ViQ29yZS9DdXJsQ2FjaGVNYW5hZ2VyLmg+CisjZW5kaWYKKwogLy8gV2Vi
Q2FjaGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFdlYkNhY2hlOjpXZWJDYWNoZSgpCkBAIC0yMjks
MyArMjM0LDI1IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ2FjaGU6OmRpc2EKICAg
ICAqZGlzYWJsZWQgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpLT5kaXNhYmxlZCgpOwogICAgIHJl
dHVybiBTX09LOwogfQorCitIUkVTVUxUIFdlYkNhY2hlOjpjYWNoZUZvbGRlcihCU1RSKiBsb2Nh
dGlvbikKK3sKKyNpZiBVU0UoQ1VSTCkKKyAgICBTdHJpbmcgY2FjaGVGb2xkZXIgPSBXZWJDb3Jl
OjpDdXJsQ2FjaGVNYW5hZ2VyOjpnZXRJbnN0YW5jZSgpLmdldENhY2hlRGlyZWN0b3J5KCk7Cisg
ICAgKmxvY2F0aW9uID0gV2ViQ29yZTo6QlN0cmluZyhjYWNoZUZvbGRlcikucmVsZWFzZSgpOwor
ICAgIHJldHVybiBTX09LOworI2Vsc2UKKyAgICByZXR1cm4gRV9OT1RJTVBMOworI2VuZGlmCit9
CisKK0hSRVNVTFQgV2ViQ2FjaGU6OnNldENhY2hlRm9sZGVyKEJTVFIgbG9jYXRpb24pCit7Cisj
aWYgVVNFKENVUkwpCisgICAgU3RyaW5nIGNhY2hlRm9sZGVyKGxvY2F0aW9uLCBTeXNTdHJpbmdM
ZW4obG9jYXRpb24pKTsKKyAgICBXZWJDb3JlOjpDdXJsQ2FjaGVNYW5hZ2VyOjpnZXRJbnN0YW5j
ZSgpLnNldENhY2hlRGlyZWN0b3J5KGNhY2hlRm9sZGVyKTsKKyAgICByZXR1cm4gU19PSzsKKyNl
bHNlCisgICAgcmV0dXJuIEVfTk9USU1QTDsKKyNlbmRpZgorfQpJbmRleDogU291cmNlL1dlYktp
dC93aW4vV2ViQ2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNo
ZS5oCShyZXZpc2lvbiAxNjI0MzMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDYWNoZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgLyogW2luXVtv
dXRdICovIGludCogY291bnQsCiAgICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVByb3BlcnR5
QmFnICoqcyk7CiAgICAgCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGVt
cHR5KCB2b2lkKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZW1wdHko
dm9pZCk7CiAgICAgCiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldERp
c2FibGVkKCAKICAgICAgICAgLyogW2luXSAqLyBCT09MIGRpc2FibGVkKTsKQEAgLTU1LDYgKzU1
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgZGlz
YWJsZWQoCiAgICAgICAgIC8qIFtvdXRdW3JldHZhbF0gKi8gQk9PTCopOwogCisgICAgdmlydHVh
bCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNhY2hlRm9sZGVyKC8qIFtvdXQsIHJldHZhbF0g
Ki8gQlNUUiogbG9jYXRpb24pOworCisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHNldENhY2hlRm9sZGVyKC8qIFtpbl0gKi8gQlNUUiBsb2NhdGlvbik7CisKIHByb3RlY3Rl
ZDoKICAgICBVTE9ORyBtX3JlZkNvdW50OwogfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYkNhY2hlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL0lXZWJDYWNoZS5pZGwJKHJldmlzaW9uIDE2MjQzMykKKysrIFNvdXJjZS9XZWJL
aXQvd2luL0ludGVyZmFjZXMvSVdlYkNhY2hlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtNDEsNCAr
NDEsNiBAQCBpbnRlcmZhY2UgSVdlYkNhY2hlIDogSVVua25vd24KICAgICBIUkVTVUxUIGVtcHR5
KCk7CiAgICAgSFJFU1VMVCBzZXREaXNhYmxlZChbaW5dIEJPT0wgZGlzYWJsZWQpOwogICAgIEhS
RVNVTFQgZGlzYWJsZWQoW291dCwgcmV0dmFsXSBCT09MKik7CisgICAgSFJFU1VMVCBjYWNoZUZv
bGRlcihbb3V0LCByZXR2YWxdIEJTVFIqIGxvY2F0aW9uKTsKKyAgICBIUkVTVUxUIHNldENhY2hl
Rm9sZGVyKFtpbl0gQlNUUiBsb2NhdGlvbik7CiB9CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNjI0NDEpCisrKyBUb29scy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0wMS0yMSAgcGVh
dm9Ab3V0bG9vay5jb20gIDxwZWF2b0BvdXRsb29rLmNvbT4KKworICAgICAgICBbQ3VybF0gVGhl
cmUgaXMgbm8gd2F5IHRvIHNwZWNpZnkgY2FjaGUgZm9sZGVyLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MDI4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIGRpc2MgY2FjaGUgaW4gV2luTGF1
bmNoZXIgYnkgc2V0dGluZyBjYWNoZSBmb2xkZXIgbG9jYXRpb24uCisKKyAgICAgICAgKiBXaW5M
YXVuY2hlci9XaW5MYXVuY2hlci5jcHA6CisgICAgICAgIChnZXRBcHBEYXRhRm9sZGVyKTogQWRk
ZWQgZnVuY3Rpb24gdG8gZ2V0IGFwcCBkYXRhIGZvbGRlci4KKyAgICAgICAgKHNldENhY2hlRm9s
ZGVyKTogQWRkZWQgZnVuY3Rpb24gdG8gc2V0IGNhY2hlIGZvbGRlci4KKyAgICAgICAgKGNyZWF0
ZUNyYXNoUmVwb3J0KTogVXNlIG5ldyBnZXRBcHBEYXRhRm9sZGVyIGZ1bmN0aW9uLgorICAgICAg
ICAod1dpbk1haW4pOiBVc2UgZnVuY3Rpb24gc2V0Q2FjaGVGb2xkZXIgdG8gc2V0IGNhY2hlIGZv
bGRlciBsb2NhdGlvbi4KKwogMjAxNC0wMS0yMSAgQWRyaWFuIFBlcmV6IGRlIENhc3RybyAgPGFw
ZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEFsbG93IHBhc3NpbmcgZXh0cmEgZGF0
YSB0byB3ZWIgZXh0ZW5zaW9ucwpJbmRleDogVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dpbkxhdW5jaGVyL1dpbkxhdW5jaGVyLmNwcAkocmV2
aXNpb24gMTYyNDM5KQorKysgVG9vbHMvV2luTGF1bmNoZXIvV2luTGF1bmNoZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC03Nyw2ICs3Nyw3IEBAIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8
SVdlYlByZWZlcmUKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZSwgJl9fdXVpZG9mKElXZWJQcmVmZXJlbmNlc1ByaXZhdGUpPj4gSVdlYlByZWZlcmVu
Y2VzUHJpdmF0ZVB0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYlZpZXcsICZf
X3V1aWRvZihJV2ViVmlldyk+PiBJV2ViVmlld1B0cjsKIHR5cGVkZWYgX2NvbV9wdHJfdDxfY29t
X0lJSUQ8SVdlYlZpZXdQcml2YXRlLCAmX191dWlkb2YoSVdlYlZpZXdQcml2YXRlKT4+IElXZWJW
aWV3UHJpdmF0ZVB0cjsKK3R5cGVkZWYgX2NvbV9wdHJfdDxfY29tX0lJSUQ8SVdlYkNhY2hlLCAm
X191dWlkb2YoSVdlYkNhY2hlKT4+IElXZWJDYWNoZVB0cjsKIAogLy8gR2xvYmFsIFZhcmlhYmxl
czoKIEhJTlNUQU5DRSBoSW5zdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGN1
cnJlbnQgaW5zdGFuY2UKQEAgLTM5MCw2ICszOTEsMjEgQEAgQk9PTCBXSU5BUEkgRGxsTWFpbihI
SU5TVEFOQ0UgZGxsSW5zdGFuYwogICAgIHJldHVybiBUUlVFOwogfQogCitzdGF0aWMgYm9vbCBn
ZXRBcHBEYXRhRm9sZGVyKF9ic3RyX3QmIGRpcmVjdG9yeSkKK3sKKyAgICB3Y2hhcl90IGFwcERh
dGFEaXJlY3RvcnlbTUFYX1BBVEhdOworICAgIGlmIChGQUlMRUQoU0hHZXRGb2xkZXJQYXRoVygw
LCBDU0lETF9MT0NBTF9BUFBEQVRBIHwgQ1NJRExfRkxBR19DUkVBVEUsIDAsIDAsIGFwcERhdGFE
aXJlY3RvcnkpKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgd2NoYXJfdCBleGVjdXRh
YmxlUGF0aFtNQVhfUEFUSF07CisgICAgOjpHZXRNb2R1bGVGaWxlTmFtZVcoMCwgZXhlY3V0YWJs
ZVBhdGgsIE1BWF9QQVRIKTsKKyAgICA6OlBhdGhSZW1vdmVFeHRlbnNpb25XKGV4ZWN1dGFibGVQ
YXRoKTsKKworICAgIGRpcmVjdG9yeSA9IF9ic3RyX3QoYXBwRGF0YURpcmVjdG9yeSkgKyBMIlxc
IiArIDo6UGF0aEZpbmRGaWxlTmFtZVcoZXhlY3V0YWJsZVBhdGgpOworCisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIHN0YXRpYyBib29sIHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCkKIHsKICAgICBI
UkVTVUxUIGhyID0gZ1N0YW5kYXJkUHJlZmVyZW5jZXMtPlF1ZXJ5SW50ZXJmYWNlKElJRF9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJmdQcmVmc1ByaXZh
dGUuR2V0SW50ZXJmYWNlUHRyKCkpKTsKQEAgLTQxNiwxOCArNDMyLDMyIEBAIHN0YXRpYyBib29s
IHNldFRvRGVmYXVsdFByZWZlcmVuY2VzKCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGlj
IGJvb2wgc2V0Q2FjaGVGb2xkZXIoKQoreworICAgIElXZWJDYWNoZVB0ciB3ZWJDYWNoZTsKKwor
ICAgIEhSRVNVTFQgaHIgPSBXZWJLaXRDcmVhdGVJbnN0YW5jZShDTFNJRF9XZWJDYWNoZSwgMCwg
X191dWlkb2Yod2ViQ2FjaGUpLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJndlYkNhY2hlLkdl
dEludGVyZmFjZVB0cigpKSk7CisgICAgaWYgKEZBSUxFRChocikpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIF9ic3RyX3QgYXBwRGF0YUZvbGRlcjsKKyAgICBpZiAoIWdldEFwcERhdGFG
b2xkZXIoYXBwRGF0YUZvbGRlcikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGFwcERh
dGFGb2xkZXIgKz0gTCJcXGNhY2hlIjsKKyAgICB3ZWJDYWNoZS0+c2V0Q2FjaGVGb2xkZXIoYXBw
RGF0YUZvbGRlcik7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBjcmVhdGVDcmFzaFJl
cG9ydChFWENFUFRJT05fUE9JTlRFUlMqIGV4Y2VwdGlvblBvaW50ZXJzKQogewotICAgIHdjaGFy
X3QgYXBwRGF0YURpcmVjdG9yeVtNQVhfUEFUSF07Ci0gICAgaWYgKEZBSUxFRChTSEdldEZvbGRl
clBhdGhXKDAsIENTSURMX0xPQ0FMX0FQUERBVEEgfCBDU0lETF9GTEFHX0NSRUFURSwgMCwgMCwg
YXBwRGF0YURpcmVjdG9yeSkpKQotICAgICAgICByZXR1cm47CisgICAgX2JzdHJfdCBkaXJlY3Rv
cnk7CiAKLSAgICB3Y2hhcl90IGV4ZWN1dGFibGVQYXRoW01BWF9QQVRIXTsKLSAgICA6OkdldE1v
ZHVsZUZpbGVOYW1lVygwLCBleGVjdXRhYmxlUGF0aCwgTUFYX1BBVEgpOwotICAgIDo6UGF0aFJl
bW92ZUV4dGVuc2lvblcoZXhlY3V0YWJsZVBhdGgpOworICAgIGlmICghZ2V0QXBwRGF0YUZvbGRl
cihkaXJlY3RvcnkpKQorICAgICAgICByZXR1cm47CiAKLSAgICBzdGQ6OndzdHJpbmcgZGlyZWN0
b3J5ID0gc3RkOjp3c3RyaW5nKGFwcERhdGFEaXJlY3RvcnkpICsgTCJcXCIgKyBQYXRoRmluZEZp
bGVOYW1lVyhleGVjdXRhYmxlUGF0aCk7Ci0gICAgaWYgKDo6U0hDcmVhdGVEaXJlY3RvcnlFeCgw
LCBkaXJlY3RvcnkuY19zdHIoKSwgMCkgIT0gRVJST1JfU1VDQ0VTUworICAgIGlmICg6OlNIQ3Jl
YXRlRGlyZWN0b3J5RXgoMCwgZGlyZWN0b3J5LCAwKSAhPSBFUlJPUl9TVUNDRVNTCiAgICAgICAg
ICYmIDo6R2V0TGFzdEVycm9yKCkgIT0gRVJST1JfRklMRV9FWElTVFMKICAgICAgICAgJiYgOjpH
ZXRMYXN0RXJyb3IoKSAhPSBFUlJPUl9BTFJFQURZX0VYSVNUUykKICAgICAgICAgcmV0dXJuOwpA
QCAtNTQ4LDYgKzU3OCw5IEBAIGludCBXSU5BUEkgd1dpbk1haW4oSElOU1RBTkNFLCBISU5TVEFO
Q0UKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgZ290byBleGl0OwogCisgICAgaWYgKCFz
ZXRDYWNoZUZvbGRlcigpKQorICAgICAgICBnb3RvIGV4aXQ7CisKICAgICBnV2ViSG9zdCA9IG5l
dyBXaW5MYXVuY2hlcldlYkhvc3QoKTsKICAgICBnV2ViSG9zdC0+QWRkUmVmKCk7CiAgICAgaHIg
PSBnV2ViVmlldy0+c2V0RnJhbWVMb2FkRGVsZWdhdGUoZ1dlYkhvc3QpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>