<?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>111818</bug_id>
          
          <creation_ts>2013-03-07 20:59:44 -0800</creation_ts>
          <short_desc>create runtime flags for CSS Compositing</short_desc>
          <delta_ts>2014-02-24 18:30:06 -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>CSS</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>112333</dependson>
          <blocked>108550</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rik Cabanier">cabanier</reporter>
          <assigned_to name="Rik Cabanier">cabanier</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>ultravistor</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>850844</commentid>
    <comment_count>0</comment_count>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-07 20:59:44 -0800</bug_when>
    <thetext>This patch will add flags to WebCore to turn CSS compositing and blending features off and on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850848</commentid>
    <comment_count>1</comment_count>
      <attachid>192140</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-07 21:11:08 -0800</bug_when>
    <thetext>Created attachment 192140
not for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850849</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-07 21:13:00 -0800</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850852</commentid>
    <comment_count>3</comment_count>
      <attachid>192140</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-07 21:23:43 -0800</bug_when>
    <thetext>Comment on attachment 192140
not for review

Attachment 192140 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17021292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850853</commentid>
    <comment_count>4</comment_count>
      <attachid>192140</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-07 21:27:09 -0800</bug_when>
    <thetext>Comment on attachment 192140
not for review

Attachment 192140 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17021293</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850856</commentid>
    <comment_count>5</comment_count>
      <attachid>192141</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-07 21:41:07 -0800</bug_when>
    <thetext>Created attachment 192141
not for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850863</commentid>
    <comment_count>6</comment_count>
      <attachid>192141</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-07 21:50:06 -0800</bug_when>
    <thetext>Comment on attachment 192141
not for review

Attachment 192141 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17008402</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850864</commentid>
    <comment_count>7</comment_count>
      <attachid>192141</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-07 21:51:33 -0800</bug_when>
    <thetext>Comment on attachment 192141
not for review

Attachment 192141 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17066310</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>850884</commentid>
    <comment_count>8</comment_count>
      <attachid>192141</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-07 22:37:17 -0800</bug_when>
    <thetext>Comment on attachment 192141
not for review

Attachment 192141 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/16992546</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851111</commentid>
    <comment_count>9</comment_count>
      <attachid>192141</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-08 05:46:19 -0800</bug_when>
    <thetext>Comment on attachment 192141
not for review

Attachment 192141 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/16997361</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851219</commentid>
    <comment_count>10</comment_count>
      <attachid>192141</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-08 08:32:05 -0800</bug_when>
    <thetext>Comment on attachment 192141
not for review

Attachment 192141 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17080104</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>851572</commentid>
    <comment_count>11</comment_count>
      <attachid>192297</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-08 15:41:40 -0800</bug_when>
    <thetext>Created attachment 192297
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854688</commentid>
    <comment_count>12</comment_count>
      <attachid>193002</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 15:00:30 -0700</bug_when>
    <thetext>Created attachment 193002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854720</commentid>
    <comment_count>13</comment_count>
      <attachid>193002</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-13 15:32:31 -0700</bug_when>
    <thetext>Comment on attachment 193002
Patch

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

&gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp:60
&gt; +bool RuntimeEnabledFeatures::isSSCompositingEnabled = false;

Typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854729</commentid>
    <comment_count>14</comment_count>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 15:36:40 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 193002 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193002&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp:60
&gt; &gt; +bool RuntimeEnabledFeatures::isSSCompositingEnabled = false;
&gt; 
&gt; Typo.

Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854750</commentid>
    <comment_count>15</comment_count>
      <attachid>193014</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 15:55:34 -0700</bug_when>
    <thetext>Created attachment 193014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854761</commentid>
    <comment_count>16</comment_count>
      <attachid>193014</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-13 16:02:25 -0700</bug_when>
    <thetext>Comment on attachment 193014
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        create runtime flags for CSS Compositing

Create

&gt; Source/WebCore/ChangeLog:10
&gt; +        Added a runtime flags to enable CSS compositing as a runtime flag for chromium.

Is this really chromium-specific?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854767</commentid>
    <comment_count>17</comment_count>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 16:09:10 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 193014 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193014&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        create runtime flags for CSS Compositing
&gt; 
&gt; Create
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Added a runtime flags to enable CSS compositing as a runtime flag for chromium.
&gt; 
&gt; Is this really chromium-specific?

Well, that&apos;s how the bug started out :-)
I guess it is now also a preference in Safari but it&apos;s always on by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854768</commentid>
    <comment_count>18</comment_count>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 16:10:26 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (From update of attachment 193014 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193014&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; &gt; +        create runtime flags for CSS Compositing
&gt; &gt; 
&gt; &gt; Create
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; &gt; +        Added a runtime flags to enable CSS compositing as a runtime flag for chromium.
&gt; &gt; 
&gt; &gt; Is this really chromium-specific?
&gt; 
&gt; Well, that&apos;s how the bug started out :-)
&gt; I guess it is now also a preference in Safari but it&apos;s always on by default.

I will update the changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854772</commentid>
    <comment_count>19</comment_count>
      <attachid>193018</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 16:15:37 -0700</bug_when>
    <thetext>Created attachment 193018
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854896</commentid>
    <comment_count>20</comment_count>
      <attachid>193018</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-13 20:04:12 -0700</bug_when>
    <thetext>Comment on attachment 193018
Patch

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

rs=me.

&gt; Source/WebCore/css/CSSParser.cpp:4322
&gt; +                    if (cssCompositingEnabled() &amp;&amp;(val-&gt;id == CSSValueNormal || val-&gt;id == CSSValueMultiply

Nit: space needed after &amp;&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854897</commentid>
    <comment_count>21</comment_count>
      <attachid>193018</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-13 20:04:56 -0700</bug_when>
    <thetext>Comment on attachment 193018
Patch

cq- due to the nit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854899</commentid>
    <comment_count>22</comment_count>
      <attachid>193049</attachid>
    <who name="Rik Cabanier">cabanier</who>
    <bug_when>2013-03-13 20:07:20 -0700</bug_when>
    <thetext>Created attachment 193049
Fixed style issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854919</commentid>
    <comment_count>23</comment_count>
      <attachid>193049</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 20:55:11 -0700</bug_when>
    <thetext>Comment on attachment 193049
Fixed style issue

Clearing flags on attachment: 193049

Committed r145784: &lt;http://trac.webkit.org/changeset/145784&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854920</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 20:55:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984138</commentid>
    <comment_count>25</comment_count>
    <who name="Takahiro Ichihashi">ultravistor</who>
    <bug_when>2014-02-24 18:30:06 -0800</bug_when>
    <thetext>What version is expected to be landed with this patch?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>192140</attachid>
            <date>2013-03-07 21:11:08 -0800</date>
            <delta_ts>2013-03-07 21:42:02 -0800</delta_ts>
            <desc>not for review</desc>
            <filename>bug-111818-20130307210711.patch</filename>
            <type>text/plain</type>
            <size>11925</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTE3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTA3ICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9z
aXRpbmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRD
U1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJN
b2RlLmg6CisgICAgICAgIChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAg
ICAgKERvY3VtZW50KToKKwogMjAxMy0wMy0wNyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CiAKICAgICAgICAgQ3VzdG9tIEVsZW1lbnRzOiBDdXN0b21FbGVtZW50IGNvbnN0
cnVjdG9yIHNob3VsZG4ndCBzaGFyZSBmdW5jdGlvbiBpbnN0YW5jZQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuY3BwCShyZXZpc2lvbiAxNDQ4MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2
ICs1Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJbnAKIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDYW52YXNQYXRoRW5hYmxlZCA9IGZhbHNlOwogYm9v
bCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU0V4Y2x1c2lvbnNFbmFibGVkID0gZmFsc2U7
CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJsZWQgPSBmYWxz
ZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTU0NvbXBvc2l0aW5nRW5hYmxlZCA9
IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFuZ0F0dHJpYnV0ZUF3YXJl
Rm9ybUNvbnRyb2xVSUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVF
Q0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ0ODExKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg3LDYgKzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjc3NSZWdp
b25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IGlzU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAg
ICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBpc1NTQ29tcG9z
aXRpbmdFbmFibGVkOyB9CisjZWxzZQorICAgIHN0YXRpYyB2b2lkIHNldENTU0NvbXBvc2l0aW5n
RW5hYmxlZChib29sKSB7IH0KKyAgICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQo
KSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoRk9OVF9MT0FEX0VWRU5U
UykKICAgICBzdGF0aWMgdm9pZCBzZXRGb250TG9hZEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgaXNGb250TG9hZEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBzdGF0aWMg
Ym9vbCBmb250TG9hZEV2ZW50c0VuYWJsZWQoKSB7IHJldHVybiBpc0ZvbnRMb2FkRXZlbnRzRW5h
YmxlZDsgfQpAQCAtMzA5LDYgKzMxNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXND
YW52YXNQYXRoRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lvbnNFbmFibGVk
OwogICAgIHN0YXRpYyBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wg
aXNTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBXRUJDT1JFX1RFU1RJTkcgc3RhdGljIGJvb2wg
aXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKICNpZiBFTkFCTEUoU0NS
SVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE0NDgxMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsNiArMjU3
LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dChDU1NQYQogICAgICwgaXND
U1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVu
YWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGZhbHNlKQorICAgICwgaXND
U1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0dyaWRMYXlvdXRFbmFibGVk
KGZhbHNlKQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgaXNDU1NWYXJpYWJsZXNF
bmFibGVkKGZhbHNlKQpAQCAtMjc0LDYgKzI3NSw3IEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1Bh
cnNlckNvbnRleHQoRG9jdW0KICAgICAsIGlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChkb2N1bWVu
dC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5pc0NTU0N1c3RvbUZpbHRlckVu
YWJsZWQoKSA6IGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZG9jdW1l
bnQtPmNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwgaXNDU1NSZWdpb25zRW5hYmxl
ZChkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAsIGlzQ1NTQ29tcG9zaXRpbmdF
bmFibGVkKGRvY3VtZW50LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQoKSkKICAgICAsIGlzQ1NTR3Jp
ZExheW91dEVuYWJsZWQoZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAjaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZG9jdW1lbnQt
PnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+Y3NzVmFyaWFibGVzRW5hYmxlZCgp
IDogZmFsc2UpCkBAIC0yOTIsNiArMjk0LDcgQEAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIAogICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCA9PSBi
LmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTU3RpY2t5UG9zaXRp
b25FbmFibGVkID09IGIuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQKICAgICAgICAgJiYgYS5p
c0NTU1JlZ2lvbnNFbmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5hYmxlZAorICAgICAgICAmJiBh
LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQKICAg
ICAgICAgJiYgYS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIuaXNDU1NHcmlkTGF5b3V0RW5h
YmxlZAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAgICAmJiBhLmlzQ1NTVmFyaWFi
bGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZApAQCAtODIwLDEwICs4MjMsMTEg
QEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydAogICAgICAgICBicmVh
azsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRCbGVuZE1vZGU6Ci0gICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZh
bHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuIHx8
IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZURhcmtlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsdWVJRCA9
PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiAKLSAg
ICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGlmZmVyZW5jZSB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlRXhjbHVzaW9uIAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NW
YWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ29sb3IgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpCisgICAgICAgIGlm
IChwYXJzZXJDb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkICYmICh2YWx1ZUlEID09IENT
U1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU2NyZWVuCisgICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1ZhbHVlT3Zlcmxh
eSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMaWdo
dGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JEb2RnZQorICAgICAgICAgICAgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlSGFyZExpZ2h0
IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURp
ZmZlcmVuY2UKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwg
dmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8
fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVMdW1pbm9zaXR5KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFr
OwogI2VuZGlmCkBAIC0yNDQ3LDYgKzI0NTEsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1
ZShDU1NQcm9wZXJ0eUlECiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCbGVuZE1vZGU6CisgICAgICAgIGlmIChwYXJzZXJDb250
ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUg
PSB0cnVlOwogICAgICAgICBicmVhazsKICNlbmRpZgpAQCAtNDMwNiwxMSArNDMxMSwxMiBAQCBi
b29sIENTU1BhcnNlcjo6cGFyc2VGaWxsUHJvcGVydHkoQ1NTUHJvCiAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgICAgICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRCbGVuZE1vZGU6Ci0gICAgICAgICAgICAg
ICAgICAgIGlmICh2YWwtPmlkID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbC0+aWQgPT0gQ1NTVmFs
dWVNdWx0aXBseSB8fCB2YWwtPmlkID09IENTU1ZhbHVlU2NyZWVuIHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVPdmVybGF5IAotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NW
YWx1ZURhcmtlbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsLT5pZCA9PSBD
U1NWYWx1ZUNvbG9yRG9kZ2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0g
Q1NTVmFsdWVDb2xvckJ1cm4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUhhcmRMaWdodCB8fCB2YWwt
PmlkID09IENTU1ZhbHVlU29mdExpZ2h0Ci0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwt
PmlkID09IENTU1ZhbHVlRGlmZmVyZW5jZSB8fCB2YWwtPmlkID09IENTU1ZhbHVlRXhjbHVzaW9u
IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIdWUKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZh
bC0+aWQgPT0gQ1NTVmFsdWVTYXR1cmF0aW9uIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvciB8
fCB2YWwtPmlkID09IENTU1ZhbHVlTHVtaW5vc2l0eSkgeworICAgICAgICAgICAgICAgICAgICBp
ZiAocGFyc2VyQ29udGV4dC5pc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCAmJih2YWwtPmlkID09IENT
U1ZhbHVlTm9ybWFsIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVNdWx0aXBseQorICAgICAgICAgICAg
ICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNjcmVlbiB8fCB2YWwtPmlkID09IENT
U1ZhbHVlT3ZlcmxheSB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGFya2VuCisgICAgICAgICAgICAg
ICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsLT5pZCA9PSBD
U1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yQnVybgorICAgICAg
ICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUhhcmRMaWdodCB8fCB2YWwt
PmlkID09IENTU1ZhbHVlU29mdExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNl
CisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlRXhjbHVzaW9u
IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIdWUgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRp
b24KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvciB8
fCB2YWwtPmlkID09IENTU1ZhbHVlTHVtaW5vc2l0eSkpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGN1cnJWYWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWwt
PmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
ICAgICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2Rl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlck1vZGUuaAkocmV2
aXNpb24gMTQ0ODExKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlck1vZGUuaAkod29y
a2luZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NTU0N1c3Rv
bUZpbHRlckVuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU1N0aWNreVBvc2l0aW9uRW5hYmxlZDsKICAg
ICBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5h
YmxlZDsKICAgICBib29sIGlzQ1NTR3JpZExheW91dEVuYWJsZWQ7CiAjaWYgRU5BQkxFKENTU19W
QVJJQUJMRVMpCiAgICAgYm9vbCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NDgxMSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMjAsNiArMTEyMCwxMSBAQCBib29sIERv
Y3VtZW50Ojpjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVkKCk7IAogfQogCitib29sIERvY3VtZW50Ojpj
c3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpjc3NDb21wb3NpdGluZ0VuYWJsZWQoKTsKK30KKwogYm9vbCBEb2N1bWVudDo6
Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdAogewogICAgIHJldHVybiBzZXR0aW5ncygpICYm
IHNldHRpbmdzKCktPmNzc0dyaWRMYXlvdXRFbmFibGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaAkocmV2aXNpb24gMTQ0ODExKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGNz
c1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJs
ZWQoKSBjb25zdDsKKyAgICBib29sIGNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0OwogI2lm
IEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBQYXNzUmVmUHRyPERPTU5hbWVkRmxvd0NvbGxlY3Rp
b24+IHdlYmtpdEdldE5hbWVkRmxvd3MoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0NTE3OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDMtMDcgIFJpayBD
YWJhbmllciAgPGNhYmFuaWVyQGFkb2JlLmNvbT4KKworICAgICAgICBjcmVhdGUgcnVudGltZSBm
bGFncyBmb3IgQ1NTIENvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTE4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdG8gZW5hYmxlIENTUyBjb21w
b3NpdGluZyBhcyBhIHJ1bnRpbWUgZmxhZyBmb3IgY2hyb21pdW0uCisKKyAgICAgICAgKiBwdWJs
aWMvV2ViUnVudGltZUZlYXR1cmVzLmg6CisgICAgICAgIChXZWJSdW50aW1lRmVhdHVyZXMpOgor
ICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUNTU0NvbXBvc2l0aW5nKToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NDb21wb3NpdGlu
Z0VuYWJsZWQpOgorCiAyMDEzLTAzLTA3ICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBVc2UgV2Vha1B0ciBmb3IgRmFjdG9yeS10by1CYWNr
aW5nU3RvcmUgcmVmZXJlbmNlCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJSdW50aW1lRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ0ODExKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTE2Myw2ICsxNjMsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRp
YyB2b2lkIGVuYWJsZUNTU1JlZ2lvbnMoYm9vbCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMg
Ym9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkKCk7CisgICAgCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0
aWMgdm9pZCBlbmFibGVDU1NDb21wb3NpdGluZyhib29sKTsKKyAgICBXRUJLSVRfRVhQT1JUIHN0
YXRpYyBib29sIGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKCk7CiAKICAgICBXRUJLSVRfRVhQT1JU
IHN0YXRpYyB2b2lkIGVuYWJsZUZvbnRMb2FkRXZlbnRzKGJvb2wpOwogICAgIFdFQktJVF9FWFBP
UlQgc3RhdGljIGJvb2wgaXNGb250TG9hZEV2ZW50c0VuYWJsZWQoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAkocmV2aXNp
b24gMTQ0ODExKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEwLDYgKzcxMCwxNiBAQCBib29sIFdlYlJ1bnRp
bWVGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hCiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVz
OjplbmFibGVDU1NDb21wb3NpdGluZyhib29sIGVuYWJsZSkKK3sKKyAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlKTsKK30KKworYm9vbCBX
ZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKCkKK3sKKyAgICByZXR1
cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCk7Cit9CisK
IHZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVGb250TG9hZEV2ZW50cyhib29sIGVuYWJs
ZSkKIHsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRGb250TG9hZEV2ZW50c0VuYWJs
ZWQoZW5hYmxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192141</attachid>
            <date>2013-03-07 21:41:07 -0800</date>
            <delta_ts>2013-03-08 15:41:37 -0800</delta_ts>
            <desc>not for review</desc>
            <filename>bug-111818-20130307213711.patch</filename>
            <type>text/plain</type>
            <size>11926</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTE3OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTA3ICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9z
aXRpbmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRD
U1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJN
b2RlLmg6CisgICAgICAgIChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAg
ICAgKERvY3VtZW50KToKKwogMjAxMy0wMy0wNyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGdv
b2dsZS5jb20+CiAKICAgICAgICAgQ3VzdG9tIEVsZW1lbnRzOiBDdXN0b21FbGVtZW50IGNvbnN0
cnVjdG9yIHNob3VsZG4ndCBzaGFyZSBmdW5jdGlvbiBpbnN0YW5jZQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuY3BwCShyZXZpc2lvbiAxNDQ4MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2
ICs1Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJbnAKIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDYW52YXNQYXRoRW5hYmxlZCA9IGZhbHNlOwogYm9v
bCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU0V4Y2x1c2lvbnNFbmFibGVkID0gZmFsc2U7
CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJsZWQgPSBmYWxz
ZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTU0NvbXBvc2l0aW5nRW5hYmxlZCA9
IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFuZ0F0dHJpYnV0ZUF3YXJl
Rm9ybUNvbnRyb2xVSUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVF
Q0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ0ODExKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg3LDYgKzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjc3NSZWdp
b25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJv
b2wgaXNFbmFibGVkKSB7IGlzU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAg
ICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBpc1NTQ29tcG9z
aXRpbmdFbmFibGVkOyB9CisjZWxzZQorICAgIHN0YXRpYyB2b2lkIHNldENTU0NvbXBvc2l0aW5n
RW5hYmxlZChib29sKSB7IH0KKyAgICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQo
KSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoRk9OVF9MT0FEX0VWRU5U
UykKICAgICBzdGF0aWMgdm9pZCBzZXRGb250TG9hZEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJs
ZWQpIHsgaXNGb250TG9hZEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBzdGF0aWMg
Ym9vbCBmb250TG9hZEV2ZW50c0VuYWJsZWQoKSB7IHJldHVybiBpc0ZvbnRMb2FkRXZlbnRzRW5h
YmxlZDsgfQpAQCAtMzA5LDYgKzMxNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXND
YW52YXNQYXRoRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lvbnNFbmFibGVk
OwogICAgIHN0YXRpYyBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wg
aXNTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBXRUJDT1JFX1RFU1RJTkcgc3RhdGljIGJvb2wg
aXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKICNpZiBFTkFCTEUoU0NS
SVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE0NDgxMSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsNiArMjU3
LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dChDU1NQYQogICAgICwgaXND
U1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVu
YWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGZhbHNlKQorICAgICwgaXND
U1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0dyaWRMYXlvdXRFbmFibGVk
KGZhbHNlKQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgaXNDU1NWYXJpYWJsZXNF
bmFibGVkKGZhbHNlKQpAQCAtMjc0LDYgKzI3NSw3IEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1Bh
cnNlckNvbnRleHQoRG9jdW0KICAgICAsIGlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChkb2N1bWVu
dC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5pc0NTU0N1c3RvbUZpbHRlckVu
YWJsZWQoKSA6IGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZG9jdW1l
bnQtPmNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwgaXNDU1NSZWdpb25zRW5hYmxl
ZChkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAsIGlzQ1NTQ29tcG9zaXRpbmdF
bmFibGVkKGRvY3VtZW50LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQoKSkKICAgICAsIGlzQ1NTR3Jp
ZExheW91dEVuYWJsZWQoZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAjaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZG9jdW1lbnQt
PnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+Y3NzVmFyaWFibGVzRW5hYmxlZCgp
IDogZmFsc2UpCkBAIC0yOTIsNiArMjk0LDcgQEAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1Bh
cnNlckNvbnRleHQmIAogICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCA9PSBi
LmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTU3RpY2t5UG9zaXRp
b25FbmFibGVkID09IGIuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQKICAgICAgICAgJiYgYS5p
c0NTU1JlZ2lvbnNFbmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5hYmxlZAorICAgICAgICAmJiBh
LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQKICAg
ICAgICAgJiYgYS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIuaXNDU1NHcmlkTGF5b3V0RW5h
YmxlZAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAgICAmJiBhLmlzQ1NTVmFyaWFi
bGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZApAQCAtODIwLDEwICs4MjMsMTEg
QEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydAogICAgICAgICBicmVh
azsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRCbGVuZE1vZGU6Ci0gICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZh
bHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuIHx8
IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZURhcmtlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsdWVJRCA9
PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiAKLSAg
ICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGlmZmVyZW5jZSB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlRXhjbHVzaW9uIAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NW
YWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ29sb3IgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpCisgICAgICAgIGlm
IChwYXJzZXJDb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkICYmICh2YWx1ZUlEID09IENT
U1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU2NyZWVuCisgICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1ZhbHVlT3Zlcmxh
eSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMaWdo
dGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JEb2RnZQorICAgICAgICAgICAgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlSGFyZExpZ2h0
IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURp
ZmZlcmVuY2UKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwg
dmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8
fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVMdW1pbm9zaXR5KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBicmVh
azsKICNlbmRpZgpAQCAtMjQ0Nyw2ICsyNDUxLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFs
dWUoQ1NTUHJvcGVydHlJRAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxlbmRNb2RlOgorICAgICAgICBpZiAocGFyc2VyQ29u
dGV4dC5pc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZl
ID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKQEAgLTQzMDYsMTEgKzQzMTEsMTIgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlRmlsbFByb3BlcnR5KENTU1BybwogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgICAgICAgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kQmxlbmRNb2RlOgotICAgICAgICAgICAg
ICAgICAgICBpZiAodmFsLT5pZCA9PSBDU1NWYWx1ZU5vcm1hbCB8fCB2YWwtPmlkID09IENTU1Zh
bHVlTXVsdGlwbHkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNjcmVlbiB8fCB2YWwtPmlkID09IENT
U1ZhbHVlT3ZlcmxheSAKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVEYXJrZW4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUxpZ2h0ZW4gfHwgIHZhbC0+aWQgPT0g
Q1NTVmFsdWVDb2xvckRvZGdlCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09
IENTU1ZhbHVlQ29sb3JCdXJuIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFs
LT5pZCA9PSBDU1NWYWx1ZVNvZnRMaWdodAotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFs
LT5pZCA9PSBDU1NWYWx1ZURpZmZlcmVuY2UgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUV4Y2x1c2lv
biB8fCB2YWwtPmlkID09IENTU1ZhbHVlSHVlCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2
YWwtPmlkID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3Ig
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKHBhcnNlckNvbnRleHQuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQgJiYodmFsLT5pZCA9PSBD
U1NWYWx1ZU5vcm1hbCB8fCB2YWwtPmlkID09IENTU1ZhbHVlTXVsdGlwbHkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9PSBD
U1NWYWx1ZU92ZXJsYXkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZURhcmtlbgorICAgICAgICAgICAg
ICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUxpZ2h0ZW4gfHwgIHZhbC0+aWQgPT0g
Q1NTVmFsdWVDb2xvckRvZGdlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvckJ1cm4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFs
LT5pZCA9PSBDU1NWYWx1ZVNvZnRMaWdodCB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGlmZmVyZW5j
ZQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUV4Y2x1c2lv
biB8fCB2YWwtPmlkID09IENTU1ZhbHVlSHVlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTYXR1cmF0
aW9uCisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3Ig
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpKSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBjdXJyVmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFs
LT5pZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAg
ICAgICAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9k
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHJl
dmlzaW9uIDE0NDgxMSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNDU1NDdXN0
b21GaWx0ZXJFbmFibGVkOwogICAgIGJvb2wgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQ7CiAg
ICAgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkOworICAgIGJvb2wgaXNDU1NDb21wb3NpdGluZ0Vu
YWJsZWQ7CiAgICAgYm9vbCBpc0NTU0dyaWRMYXlvdXRFbmFibGVkOwogI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQogICAgIGJvb2wgaXNDU1NWYXJpYWJsZXNFbmFibGVkOwpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDQ4MTEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIwLDYgKzExMjAsMTEgQEAgYm9vbCBE
b2N1bWVudDo6Y3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOyAKIH0KIAorYm9vbCBEb2N1bWVudDo6
Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6
OmNzc0dyaWRMYXlvdXRFbmFibGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gc2V0dGluZ3MoKSAm
JiBzZXR0aW5ncygpLT5jc3NHcmlkTGF5b3V0RW5hYmxlZCgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgJKHJldmlzaW9uIDE0NDgxMSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBj
c3NTdGlja3lQb3NpdGlvbkVuYWJsZWQoKSBjb25zdDsKICAgICBib29sIGNzc1JlZ2lvbnNFbmFi
bGVkKCkgY29uc3Q7CisgICAgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdDsKICNp
ZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgUGFzc1JlZlB0cjxET01OYW1lZEZsb3dDb2xsZWN0
aW9uPiB3ZWJraXRHZXROYW1lZEZsb3dzKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCShyZXZpc2lvbiAxNDUxNzgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTA3ICBSaWsg
Q2FiYW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUg
ZmxhZ3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29t
cG9zaXRpbmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgICogcHVi
bGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgorICAgICAgICAoV2ViUnVudGltZUZlYXR1cmVzKToK
KyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1NDb21wb3NpdGluZyk6CisgICAgICAgIChXZWJL
aXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRp
bmdFbmFibGVkKToKKwogMjAxMy0wMy0wNyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogVXNlIFdlYWtQdHIgZm9yIEZhY3RvcnktdG8tQmFj
a2luZ1N0b3JlIHJlZmVyZW5jZQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUnVudGltZUZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgJKHJldmlzaW9uIDE0NDgxMSkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjMsNiArMTYzLDkgQEAgcHVibGljOgogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0
aWMgdm9pZCBlbmFibGVDU1NSZWdpb25zKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGlj
IGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZCgpOworICAgIAorICAgIFdFQktJVF9FWFBPUlQgc3Rh
dGljIHZvaWQgZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBz
dGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCgpOwogCiAgICAgV0VCS0lUX0VYUE9S
VCBzdGF0aWMgdm9pZCBlbmFibGVGb250TG9hZEV2ZW50cyhib29sKTsKICAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyBib29sIGlzRm9udExvYWRFdmVudHNFbmFibGVkKCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHJldmlz
aW9uIDE0NDgxMSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0
dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxMCw2ICs3MTAsMTYgQEAgYm9vbCBXZWJSdW50
aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYQogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOwogfQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJl
czo6ZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9vbCBlbmFibGUpCit7CisgICAgUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGVuYWJsZSk7Cit9CisKK2Jvb2wg
V2ViUnVudGltZUZlYXR1cmVzOjppc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCgpCit7CisgICAgcmV0
dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpOworfQor
CiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRm9udExvYWRFdmVudHMoYm9vbCBlbmFi
bGUpCiB7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Rm9udExvYWRFdmVudHNFbmFi
bGVkKGVuYWJsZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192297</attachid>
            <date>2013-03-08 15:41:40 -0800</date>
            <delta_ts>2013-03-13 15:00:26 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug-111818-20130308153743.patch</filename>
            <type>text/plain</type>
            <size>12754</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAzLTA4ICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9z
aXRpbmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGJpbmRpbmdzL2dl
bmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoUnVudGltZUVuYWJsZWRG
ZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRD
U1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2Vy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRl
eHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpp
c1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJN
b2RlLmg6CisgICAgICAgIChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAg
ICAgKERvY3VtZW50KToKKwogMjAxMy0wMy0wOCAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lIHNob3Vs
ZCBub3QgYXNzdW1lIHRoYXQgaXRzIHRleHQgZWxlbWVudCBoYXMgYSByZW5kZXJlcgpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Nyw2ICs1Nyw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJ
bnAKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDYW52YXNQYXRoRW5hYmxlZCA9IGZh
bHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU0V4Y2x1c2lvbnNFbmFibGVk
ID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJs
ZWQgPSBmYWxzZTsKK2Jvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTU0NvbXBvc2l0aW5n
RW5hYmxlZCA9IHRydWU7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFuZ0F0dHJp
YnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShTQ1JJ
UFRFRF9TUEVFQ0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ1MjM5KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9v
bCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVO
QUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdF
bmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBpc0VuYWJs
ZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBp
c1NTQ29tcG9zaXRpbmdFbmFibGVkOyB9CisjZWxzZQorICAgIHN0YXRpYyB2b2lkIHNldENTU0Nv
bXBvc2l0aW5nRW5hYmxlZChib29sKSB7IH0KKyAgICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGlu
Z0VuYWJsZWQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoRk9OVF9M
T0FEX0VWRU5UUykKICAgICBzdGF0aWMgdm9pZCBzZXRGb250TG9hZEV2ZW50c0VuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgaXNGb250TG9hZEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAg
ICBzdGF0aWMgYm9vbCBmb250TG9hZEV2ZW50c0VuYWJsZWQoKSB7IHJldHVybiBpc0ZvbnRMb2Fk
RXZlbnRzRW5hYmxlZDsgfQpAQCAtMzA5LDYgKzMxNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IGJvb2wgaXNDYW52YXNQYXRoRW5hYmxlZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lv
bnNFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgc3Rh
dGljIGJvb2wgaXNTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBXRUJDT1JFX1RFU1RJTkcgc3Rh
dGljIGJvb2wgaXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKICNpZiBF
TkFCTEUoU0NSSVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0ZWRTcGVlY2hF
bmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE0NTIzOSkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NTcsNiArMjU3LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dChDU1NQYQog
ICAgICwgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQ
b3NpdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGZhbHNlKQor
ICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0dyaWRMYXlv
dXRFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgaXNDU1NW
YXJpYWJsZXNFbmFibGVkKGZhbHNlKQpAQCAtMjc0LDYgKzI3NSw3IEBAIENTU1BhcnNlckNvbnRl
eHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW0KICAgICAsIGlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxl
ZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5pc0NTU0N1c3Rv
bUZpbHRlckVuYWJsZWQoKSA6IGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJs
ZWQoZG9jdW1lbnQtPmNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwgaXNDU1NSZWdp
b25zRW5hYmxlZChkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAsIGlzQ1NTQ29t
cG9zaXRpbmdFbmFibGVkKGRvY3VtZW50LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQoKSkKICAgICAs
IGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRFbmFibGVkKCkp
CiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQo
ZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+Y3NzVmFyaWFibGVz
RW5hYmxlZCgpIDogZmFsc2UpCkBAIC0yOTIsNiArMjk0LDcgQEAgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IENTU1BhcnNlckNvbnRleHQmIAogICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9tRmlsdGVyRW5h
YmxlZCA9PSBiLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTU3Rp
Y2t5UG9zaXRpb25FbmFibGVkID09IGIuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQKICAgICAg
ICAgJiYgYS5pc0NTU1JlZ2lvbnNFbmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5hYmxlZAorICAg
ICAgICAmJiBhLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21wb3NpdGluZ0Vu
YWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIuaXNDU1NHcmlk
TGF5b3V0RW5hYmxlZAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAgICAmJiBhLmlz
Q1NTVmFyaWFibGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZApAQCAtODIwLDEw
ICs4MjMsMTEgQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydAogICAg
ICAgICBicmVhazsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRCbGVuZE1vZGU6Ci0gICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9y
bWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
U2NyZWVuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IAotICAgICAgICAgICAgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZURhcmtlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTGlnaHRlbiB8fCAg
dmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9y
QnVybiAKLSAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGlmZmVyZW5j
ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRXhjbHVzaW9uIAotICAgICAgICAgICAgfHwgdmFsdWVJ
RCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlQ29sb3IgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpCisg
ICAgICAgIGlmIChwYXJzZXJDb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkICYmICh2YWx1
ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2
YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuCisgICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1Zh
bHVlT3ZlcmxheSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVMaWdodGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JEb2RnZQorICAgICAgICAg
ICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
SGFyZExpZ2h0IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZURpZmZlcmVuY2UKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVFeGNs
dXNpb24gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0
dXJhdGlvbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IKKyAgICAgICAgICAgIHx8IHZhbHVl
SUQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICBicmVhazsKICNlbmRpZgpAQCAtMjQ0OSw2ICsyNDUzLDcgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19DT01QT1NJ
VElORykKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxlbmRNb2RlOgorICAgICAgICBpZiAo
Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkpCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRy
dWU7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCkBAIC00MzE0LDExICs0MzE5LDEyIEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eShDU1NQcm8KICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAgICAgICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZEJsZW5kTW9kZToKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKHZhbC0+aWQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU11
bHRpcGx5IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1
ZU92ZXJsYXkgCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVl
RGFya2VuIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWwtPmlkID09IENTU1Zh
bHVlQ29sb3JEb2RnZQotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NW
YWx1ZUNvbG9yQnVybiB8fCB2YWwtPmlkID09IENTU1ZhbHVlSGFyZExpZ2h0IHx8IHZhbC0+aWQg
PT0gQ1NTVmFsdWVTb2Z0TGlnaHQKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQg
PT0gQ1NTVmFsdWVEaWZmZXJlbmNlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwg
dmFsLT5pZCA9PSBDU1NWYWx1ZUh1ZQotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5p
ZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yIHx8IHZh
bC0+aWQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChj
c3NDb21wb3NpdGluZ0VuYWJsZWQoKSAmJih2YWwtPmlkID09IENTU1ZhbHVlTm9ybWFsIHx8IHZh
bC0+aWQgPT0gQ1NTVmFsdWVNdWx0aXBseQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFs
LT5pZCA9PSBDU1NWYWx1ZVNjcmVlbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlT3ZlcmxheSB8fCB2
YWwtPmlkID09IENTU1ZhbHVlRGFya2VuCisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwt
PmlkID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yRG9kZ2Ug
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yQnVybgorICAgICAgICAgICAgICAgICAgICAgICAg
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUhhcmRMaWdodCB8fCB2YWwtPmlkID09IENTU1ZhbHVlU29m
dExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlCisgICAgICAgICAgICAgICAg
ICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlRXhjbHVzaW9uIHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVIdWUgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvciB8fCB2YWwtPmlkID09IENTU1Zh
bHVlTHVtaW5vc2l0eSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJWYWx1ZSA9IGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWwtPmlkKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgICAgICAgICAgICAgICAgIH0K
QEAgLTg5MjYsNiArODkzMiwxMSBAQCBib29sIENTU1BhcnNlcjo6Y3NzUmVnaW9uc0VuYWJsZWQo
KSBjb25zCiAgICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU1JlZ2lvbnNFbmFibGVkOwogfQogCiti
b29sIENTU1BhcnNlcjo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9jb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkOworfQorCiBib29sIENTU1BhcnNl
cjo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRleHQu
aXNDU1NHcmlkTGF5b3V0RW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHJldmlz
aW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjcyLDYgKzI3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlRm9udEZlYXR1
cmVTZXR0aW5ncyhib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVk
KCkgY29uc3Q7CisgICAgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdDsKICAgICBi
b29sIHBhcnNlRmxvd1RocmVhZChjb25zdCBTdHJpbmcmIGZsb3dOYW1lKTsKICAgICBib29sIHBh
cnNlRmxvd1RocmVhZChDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBw
YXJzZVJlZ2lvblRocmVhZChDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkOwogICAgIGJvb2wg
aXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVk
OworICAgIGJvb2wgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU0dyaWRM
YXlvdXRFbmFibGVkOwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgIGJvb2wgaXNDU1NW
YXJpYWJsZXNFbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAx
NDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTI1LDYgKzExMjUsMTEgQEAgYm9vbCBEb2N1bWVudDo6Y3NzUmVnaW9uc0VuYWJsZWQo
KSBjb25zdAogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5h
YmxlZCgpOyAKIH0KIAorYm9vbCBEb2N1bWVudDo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdF
bmFibGVkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6OmNzc0dyaWRMYXlvdXRFbmFibGVkKCkgY29u
c3QKIHsKICAgICByZXR1cm4gc2V0dGluZ3MoKSAmJiBzZXR0aW5ncygpLT5jc3NHcmlkTGF5b3V0
RW5hYmxlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0NTIzOSkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiAr
MzQwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQoKSBj
b25zdDsKICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3Q7CisgICAgYm9vbCBjc3ND
b21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdDsKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAg
UGFzc1JlZlB0cjxET01OYW1lZEZsb3dDb2xsZWN0aW9uPiB3ZWJraXRHZXROYW1lZEZsb3dzKCk7
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDUyMzkp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE5IEBACisyMDEzLTAzLTA4ICBSaWsgQ2FiYW5pZXIgIDxjYWJhbmllckBhZG9iZS5j
b20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3MgZm9yIENTUyBDb21wb3NpdGluZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExODE4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBy
dW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRpbmcgYXMgYSBydW50aW1lIGZsYWcg
Zm9yIGNocm9taXVtLgorCisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgor
ICAgICAgICAoV2ViUnVudGltZUZlYXR1cmVzKToKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZl
YXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVD
U1NDb21wb3NpdGluZyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
dW50aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKToKKwogMjAxMy0wMy0wOCAg
Sm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjog
VXNlIFdlYWtQdHIgZm9yIEZhY3RvcnktdG8tQmFja2luZ1N0b3JlIHJlZmVyZW5jZQpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVz
LmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlJ1bnRpbWVGZWF0dXJlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDkgQEAgcHVi
bGljOgogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NSZWdpb25zKGJv
b2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZCgp
OworICAgIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQ1NTQ29tcG9zaXRp
bmcoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5n
RW5hYmxlZCgpOwogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVGb250TG9h
ZEV2ZW50cyhib29sKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzRm9udExvYWRF
dmVudHNFbmFibGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50
aW1lRmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTcxMCw2ICs3MTAsMTYgQEAgYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0Vu
YQogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgp
OwogfQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9v
bCBlbmFibGUpCit7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRp
bmdFbmFibGVkKGVuYWJsZSk7Cit9CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0NTU0Nv
bXBvc2l0aW5nRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6
ZW5hYmxlRm9udExvYWRFdmVudHMoYm9vbCBlbmFibGUpCiB7CiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2V0Rm9udExvYWRFdmVudHNFbmFibGVkKGVuYWJsZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193002</attachid>
            <date>2013-03-13 15:00:30 -0700</date>
            <delta_ts>2013-03-13 15:55:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111818-20130313145627.patch</filename>
            <type>text/plain</type>
            <size>23107</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTEzICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdG8gZW5hYmxlIENTUyBjb21wb3NpdGlu
ZyBhcyBhIHJ1bnRpbWUgZmxhZyBmb3IgY2hyb21pdW0uCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0NvbXBvc2l0
aW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpj
c3NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRLZXl3
b3JkUHJvcGVydHlBbmRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlck1vZGUuaDoKKyAgICAgICAgKENTU1BhcnNlckNvbnRleHQpOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3NzQ29t
cG9zaXRpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorCiAyMDEzLTAzLTEzICBKdWxpZW4gQ2hhZmZy
YWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRd
IEhhbmRsZSBtaW4td2lkdGggLyBtYXgtd2lkdGggb24gdGhlIGdyaWQgZWxlbWVudApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yODIwLDYgKzI4MjAsMTAgQEAgX19aTjdX
ZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRQogX19aTjdXZWJDb3JlMjJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzMTlpc0NTU1JlZ2lvbnNFbmFibGVkRQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQ1NTX0NPTVBPU0lUSU5HKQorX19aTjdXZWJDb3JlMjJSdW50aW1lRW5hYmxlZEZlYXR1cmVz
MjJpc1NTQ29tcG9zaXRpbmdFbmFibGVkRQorI2VuZGlmCisKICNpZiBFTkFCTEUoSUZSQU1FX1NF
QU1MRVNTKQogX19aTjdXZWJDb3JlMjJSdW50aW1lRW5hYmxlZEZlYXR1cmVzMjVhcmVTZWFtbGVz
c0lGcmFtZXNFbmFibGVkRQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAJKHJldmlz
aW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDcgQEAgYm9vbCBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc1NwZWVjaElucAogYm9vbCBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjppc0NhbnZhc1BhdGhFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OmlzQ1NTRXhjbHVzaW9uc0VuYWJsZWQgPSBmYWxzZTsKIGJvb2wgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hYmxlZCA9IGZhbHNlOworYm9vbCBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjppc1NTQ29tcG9zaXRpbmdFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFuZ0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVu
YWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVFQ0gpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYg
Kzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsg
cmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisg
ICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7
IGlzU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9vbCBj
c3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBpc1NTQ29tcG9zaXRpbmdFbmFibGVkOyB9
CisjZWxzZQorICAgIHN0YXRpYyB2b2lkIHNldENTU0NvbXBvc2l0aW5nRW5hYmxlZChib29sKSB7
IH0KKyAgICBzdGF0aWMgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBmYWxz
ZTsgfQorI2VuZGlmCisKICNpZiBFTkFCTEUoRk9OVF9MT0FEX0VWRU5UUykKICAgICBzdGF0aWMg
dm9pZCBzZXRGb250TG9hZEV2ZW50c0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgaXNGb250TG9h
ZEV2ZW50c0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBzdGF0aWMgYm9vbCBmb250TG9hZEV2
ZW50c0VuYWJsZWQoKSB7IHJldHVybiBpc0ZvbnRMb2FkRXZlbnRzRW5hYmxlZDsgfQpAQCAtMzA5
LDYgKzMxNyw3IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIGJvb2wgaXNDYW52YXNQYXRoRW5hYmxl
ZDsKICAgICBzdGF0aWMgYm9vbCBpc0NTU0V4Y2x1c2lvbnNFbmFibGVkOwogICAgIHN0YXRpYyBi
b29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgc3RhdGljIGJvb2wgaXNTU0NvbXBvc2l0aW5n
RW5hYmxlZDsKICAgICBXRUJDT1JFX1RFU1RJTkcgc3RhdGljIGJvb2wgaXNMYW5nQXR0cmlidXRl
QXdhcmVGb3JtQ29udHJvbFVJRW5hYmxlZDsKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQog
ICAgIHN0YXRpYyBib29sIGlzU2NyaXB0ZWRTcGVlY2hFbmFibGVkOwpJbmRleDogU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTcsNiArMjU3LDcgQEAgQ1NTUGFyc2Vy
Q29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dChDU1NQYQogICAgICwgaXNDU1NDdXN0b21GaWx0ZXJF
bmFibGVkKGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZmFsc2UpCiAg
ICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGZhbHNlKQorICAgICwgaXNDU1NDb21wb3NpdGluZ0Vu
YWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU0dyaWRMYXlvdXRFbmFibGVkKGZhbHNlKQogI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgaXNDU1NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQpA
QCAtMjc0LDYgKzI3NSw3IEBAIENTU1BhcnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9j
dW0KICAgICAsIGlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/
IGRvY3VtZW50LT5zZXR0aW5ncygpLT5pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQoKSA6IGZhbHNl
KQogICAgICwgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZG9jdW1lbnQtPmNzc1N0aWNreVBv
c2l0aW9uRW5hYmxlZCgpKQogICAgICwgaXNDU1NSZWdpb25zRW5hYmxlZChkb2N1bWVudC0+Y3Nz
UmVnaW9uc0VuYWJsZWQoKSkKKyAgICAsIGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKGRvY3VtZW50
LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQoKSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQo
ZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAjaWYgRU5BQkxFKENTU19WQVJJQUJM
RVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBk
b2N1bWVudC0+c2V0dGluZ3MoKS0+Y3NzVmFyaWFibGVzRW5hYmxlZCgpIDogZmFsc2UpCkBAIC0y
OTIsNiArMjk0LDcgQEAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IENTU1BhcnNlckNvbnRleHQmIAog
ICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCA9PSBiLmlzQ1NTQ3VzdG9tRmls
dGVyRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTU3RpY2t5UG9zaXRpb25FbmFibGVkID09IGIu
aXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU1JlZ2lvbnNFbmFi
bGVkID09IGIuaXNDU1NSZWdpb25zRW5hYmxlZAorICAgICAgICAmJiBhLmlzQ1NTQ29tcG9zaXRp
bmdFbmFibGVkID09IGIuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NT
U0dyaWRMYXlvdXRFbmFibGVkID09IGIuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZAogI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQogICAgICAgICAmJiBhLmlzQ1NTVmFyaWFibGVzRW5hYmxlZCA9PSBi
LmlzQ1NTVmFyaWFibGVzRW5hYmxlZApAQCAtODIwLDEwICs4MjMsMTEgQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzVmFsaWRLZXl3b3JkUHJvcGVydAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCbGVuZE1vZGU6Ci0g
ICAgICAgIGlmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFs
dWVNdWx0aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVPdmVybGF5IAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURhcmtlbiB8
fCB2YWx1ZUlEID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9y
RG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiAKLSAgICAgICAgICAgIHx8IHZh
bHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNvZnRMaWdo
dCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGlmZmVyZW5jZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
RXhjbHVzaW9uIAotICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1
ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IgfHwg
dmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpCisgICAgICAgIGlmIChwYXJzZXJDb250ZXh0
LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkICYmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8
IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVu
CisgICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1ZhbHVlT3ZlcmxheSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWx1ZUlE
ID09IENTU1ZhbHVlQ29sb3JEb2RnZQorICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1
ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlSGFyZExpZ2h0IHx8IHZhbHVlSUQgPT0g
Q1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURpZmZlcmVuY2UKKyAgICAg
ICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwgdmFsdWVJRCA9PSBDU1NW
YWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ29sb3IKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBicmVhazsKICNlbmRpZgpAQCAt
MjQ0OSw2ICsyNDUzLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJ
RAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QmxlbmRNb2RlOgorICAgICAgICBpZiAoY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkp
CiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCkBAIC00MzE0LDExICs0MzE5LDEyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9w
ZXJ0eShDU1NQcm8KICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKENTU19D
T01QT1NJVElORykKICAgICAgICAgICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dy
b3VuZEJsZW5kTW9kZToKLSAgICAgICAgICAgICAgICAgICAgaWYgKHZhbC0+aWQgPT0gQ1NTVmFs
dWVOb3JtYWwgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU11bHRpcGx5IHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU92ZXJsYXkgCi0gICAgICAgICAgICAg
ICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVMaWdodGVuIHx8ICB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3JEb2RnZQotICAgICAgICAg
ICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWwtPmlk
ID09IENTU1ZhbHVlSGFyZExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlIHx8
IHZhbC0+aWQgPT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUh1ZQot
ICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24g
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMdW1pbm9z
aXR5KSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSAm
Jih2YWwtPmlkID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVNdWx0aXBs
eQorICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNjcmVlbiB8
fCB2YWwtPmlkID09IENTU1ZhbHVlT3ZlcmxheSB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGFya2Vu
CisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlTGlnaHRlbiB8
fCAgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNv
bG9yQnVybgorICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUhh
cmRMaWdodCB8fCB2YWwtPmlkID09IENTU1ZhbHVlU29mdExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NT
VmFsdWVEaWZmZXJlbmNlCisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENT
U1ZhbHVlRXhjbHVzaW9uIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIdWUgfHwgdmFsLT5pZCA9PSBD
U1NWYWx1ZVNhdHVyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0g
Q1NTVmFsdWVDb2xvciB8fCB2YWwtPmlkID09IENTU1ZhbHVlTHVtaW5vc2l0eSkpIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGN1cnJWYWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZSh2YWwtPmlkKTsKICAgICAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0
LT5uZXh0KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTg5MjYsNiArODkzMiwxMSBAQCBi
b29sIENTU1BhcnNlcjo6Y3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zCiAgICAgcmV0dXJuIG1fY29u
dGV4dC5pc0NTU1JlZ2lvbnNFbmFibGVkOwogfQogCitib29sIENTU1BhcnNlcjo6Y3NzQ29tcG9z
aXRpbmdFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jb250ZXh0LmlzQ1NTQ29tcG9z
aXRpbmdFbmFibGVkOworfQorCiBib29sIENTU1BhcnNlcjo6Y3NzR3JpZExheW91dEVuYWJsZWQo
KSBjb25zdAogewogICAgIHJldHVybiBtX2NvbnRleHQuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcyLDYgKzI3Miw3IEBA
IHB1YmxpYzoKICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVTZXR0aW5ncyhib29sIGltcG9ydGFu
dCk7CiAKICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3Q7CisgICAgYm9vbCBjc3ND
b21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdDsKICAgICBib29sIHBhcnNlRmxvd1RocmVhZChjb25z
dCBTdHJpbmcmIGZsb3dOYW1lKTsKICAgICBib29sIHBhcnNlRmxvd1RocmVhZChDU1NQcm9wZXJ0
eUlELCBib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBwYXJzZVJlZ2lvblRocmVhZChDU1NQcm9w
ZXJ0eUlELCBib29sIGltcG9ydGFudCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyTW9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2Rl
LmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2Rl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDYgKzY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXND
U1NDdXN0b21GaWx0ZXJFbmFibGVkOwogICAgIGJvb2wgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJs
ZWQ7CiAgICAgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkOworICAgIGJvb2wgaXNDU1NDb21wb3Np
dGluZ0VuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU0dyaWRMYXlvdXRFbmFibGVkOwogI2lmIEVOQUJM
RShDU1NfVkFSSUFCTEVTKQogICAgIGJvb2wgaXNDU1NWYXJpYWJsZXNFbmFibGVkOwpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTI1LDYgKzExMjUsMTEgQEAg
Ym9vbCBEb2N1bWVudDo6Y3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOyAKIH0KIAorYm9vbCBEb2N1
bWVudDo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCk7Cit9CisKIGJvb2wgRG9j
dW1lbnQ6OmNzc0dyaWRMYXlvdXRFbmFibGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gc2V0dGlu
Z3MoKSAmJiBzZXR0aW5ncygpLT5jc3NHcmlkTGF5b3V0RW5hYmxlZCgpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDAsNiArMzQwLDcgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBjc3NTdGlja3lQb3NpdGlvbkVuYWJsZWQoKSBjb25zdDsKICAgICBib29sIGNzc1JlZ2lv
bnNFbmFibGVkKCkgY29uc3Q7CisgICAgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25z
dDsKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgUGFzc1JlZlB0cjxET01OYW1lZEZsb3dD
b2xsZWN0aW9uPiB3ZWJraXRHZXROYW1lZEZsb3dzKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEzLTAzLTEzICBSaWsgQ2FiYW5pZXIgIDxjYWJhbmll
ckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3MgZm9yIENTUyBDb21w
b3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRpbmcgYXMgYSBydW50
aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmg6CisgICAgICAgIChJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyk6CisKIDIwMTMtMDMtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29t
PgogCiAgICAgICAgIFNtYWxsIFJlc291cmNlTG9hZGVyIGNsZWFudXBzLgpJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCShyZXZpc2lvbiAxNDUyMzkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NCw2ICs4NCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIG1hY3JvKFdl
YkdMRW5hYmxlZCwgd2ViR0xFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3Jv
KEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVn
aW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNybyhDU1NDb21wb3NpdGlu
Z0VuYWJsZWQsIGNzc0NvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAg
IG1hY3JvKENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkLCByZWdp
b25CYXNlZENvbHVtbnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEZv
cmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIGZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMTQ1
MjM5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAKICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAKLSNp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKENTU19SRUdJT05TKSB8fCBFTkFCTEUoSUZS
QU1FX1NFQU1MRVNTKQorI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBFTkFCTEUoQ1NTX1JFR0lP
TlMpIHx8IEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpIHx8IEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjZW5kaWYKIApA
QCAtMTk3LDYgKzE5NywxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVm
ZXJlCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVk
KGVuYWJsZWQpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIGlm
IChwcmVmZXJlbmNlID09ICJXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWQiKQorICAgICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlZCk7
CisjZW5kaWYKKwogICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBpbiBMYXlvdXRUZXN0cyB3aXRo
IHRoZSBuYW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFuZCBXZWJQcmVmZXJlbmNlc1N0
b3JlLgogI2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwK
ICAgICBtYWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBcCkBA
IC02NjMsNiArNjY4LDE1IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldENTU1JlZ2lvbnNFbmFi
bGUKICNlbmRpZgogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDU1NDb21wb3NpdGluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGVuYWJsZWQp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwogdm9pZCBJ
bmplY3RlZEJ1bmRsZTo6c2V0U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAjaWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHJl
dmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3Miw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNlcmlhbExvYWRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQg
c2V0U2hhZG93RE9NRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVk
KGJvb2wpOworICAgIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZv
aWQgc2V0U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIGRpc3BhdGNoUGVu
ZGluZ0xvYWRSZXF1ZXN0cygpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMzUs
NiArMjMzNSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2UKICAg
ICBzZXR0aW5ncy0+c2V0QWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWdncmVzc2l2ZVRpbGVSZXRlbnRpb25F
bmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc0N1c3RvbUZpbHRl
ckVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lv
bnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3Nz
UmVnaW9uc0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENT
U0NvbXBvc2l0aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldENT
U0dyaWRMYXlvdXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6Y3NzR3JpZExheW91dEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRSZWdp
b25CYXNlZENvbHVtbnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Mt
PnNldFdlYkdMRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OndlYkdMRW5hYmxlZEtleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ1NzU5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wMy0xMyAgUmlrIENhYmFuaWVyICA8
Y2FiYW5pZXJAYWRvYmUuY29tPgorCisgICAgICAgIGNyZWF0ZSBydW50aW1lIGZsYWdzIGZvciBD
U1MgQ29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgcnVudGltZSBmbGFncyB0byBlbmFibGUgQ1NTIGNvbXBvc2l0aW5nIGFz
IGEgcnVudGltZSBmbGFnIGZvciBjaHJvbWl1bS4KKworICAgICAgICAqIHB1YmxpYy9XZWJSdW50
aW1lRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYlJ1bnRpbWVGZWF0dXJlcyk6CisgICAgICAgICog
c3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVG
ZWF0dXJlczo6ZW5hYmxlQ1NTQ29tcG9zaXRpbmcpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCk6
CisKIDIwMTMtMDMtMTMgIFN0ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBBZGQgbmV3IFNraWEgY29kZSBzdXBwcmVzc2lvbiBmbGFncwpJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgJ
KHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1
bnRpbWVGZWF0dXJlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDkgQEAgcHVibGlj
OgogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NSZWdpb25zKGJvb2wp
OwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZCgpOwor
ICAgIAorICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQ1NTQ29tcG9zaXRpbmco
Ym9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5h
YmxlZCgpOwogCiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVGb250TG9hZEV2
ZW50cyhib29sKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzRm9udExvYWRFdmVu
dHNFbmFibGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1l
RmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcx
MCw2ICs3MTAsMTYgQEAgYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYQog
ICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOwog
fQogCit2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9vbCBl
bmFibGUpCit7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRpbmdF
bmFibGVkKGVuYWJsZSk7Cit9CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0NTU0NvbXBv
c2l0aW5nRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNz
c0NvbXBvc2l0aW5nRW5hYmxlZCgpOworfQorCiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5h
YmxlRm9udExvYWRFdmVudHMoYm9vbCBlbmFibGUpCiB7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0Rm9udExvYWRFdmVudHNFbmFibGVkKGVuYWJsZSk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxNDU3NTkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMy0wMy0xMyAgUmlrIENhYmFuaWVyICA8
Y2FiYW5pZXJAYWRvYmUuY29tPgorCisgICAgICAgIGNyZWF0ZSBydW50aW1lIGZsYWdzIGZvciBD
U1MgQ29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgcnVudGltZSBmbGFncyB0byBlbmFibGUgQ1NTIGNvbXBvc2l0aW5nIGFz
IGEgcnVudGltZSBmbGFnIGZvciBjaHJvbWl1bS4KKworICAgICAgICAqIFdlYlZpZXcvV2ViUHJl
ZmVyZW5jZUtleXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5t
bToKKyAgICAgICAgKCtbV2ViUHJlZmVyZW5jZXMgaW5pdGlhbGl6ZV0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBjc3NDb21wb3NpdGluZ0VuYWJsZWRdKToKKyAgICAgICAgKC1bV2ViUHJl
ZmVyZW5jZXMgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcv
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTMtMDMtMTMg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogZ2V0IHJpZCBvZiBoaWRkZW5QYW5lbHMgZmlsdGVyCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJl
dmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZUtleXNQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDcgQEAKICNkZWZpbmUg
V2ViS2l0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENTU0N1c3RvbUZp
bHRlckVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIK
ICNkZWZpbmUgV2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NT
UmVnaW9uc0VuYWJsZWQiCisjZGVmaW5lIFdlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdENT
U0dyaWRMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU0dyaWRMYXlvdXRFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRTaG93RGVidWdCb3JkZXJzUHJlZmVyZW5jZUtleSBAIldlYktp
dFNob3dEZWJ1Z0JvcmRlcnMiCiAjZGVmaW5lIFdlYktpdFNob3dSZXBhaW50Q291bnRlclByZWZl
cmVuY2VLZXkgQCJXZWJLaXRTaG93UmVwYWludENvdW50ZXIiCkluZGV4OiBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDE0NTIzOSkKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkK
QEAgLTM3OCw2ICszNzgsNyBAQCArICh2b2lkKWluaXRpYWxpemUKICAgICAgICAgLy8gQ1NTIFNo
YWRlcnMgYWxzbyBuZWVkIFdlYkdMIGVuYWJsZWQgKHdoaWNoIGlzIGRpc2FibGVkIGJ5IGRlZmF1
bHQpLCBzbyB3ZSBjYW4ga2VlcCBpdCBlbmFibGVkIGZvciBub3cuCiAgICAgICAgIFtOU051bWJl
ciBudW1iZXJXaXRoQm9vbDpZRVNdLCBXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkUHJlZmVy
ZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdENT
U1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtleSwKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOllFU10sIFdlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICBXZWJLaXRDU1NHcmlkTGF5b3V0
RW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpO
T10sICBXZWJLaXRBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgIFdlYktpdENhbnZhc1VzZXNBY2NlbGVy
YXRlZERyYXdpbmdQcmVmZXJlbmNlS2V5LApAQCAtMTM5NCw2ICsxMzk1LDE2IEBAIC0gKHZvaWQp
c2V0Q1NTUmVnaW9uc0VuYWJsZWQ6KEJPT0wpZW5hYmwKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVl
OmVuYWJsZWQgZm9yS2V5OldlYktpdENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9
CiAKKy0gKEJPT0wpY3NzQ29tcG9zaXRpbmdFbmFibGVkCit7CisgICAgcmV0dXJuIFtzZWxmIF9i
b29sVmFsdWVGb3JLZXk6V2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleV07
Cit9CisKKy0gKHZvaWQpc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkOihCT09MKWVuYWJsZWQKK3sK
KyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdENTU0NvbXBvc2l0
aW5nRW5hYmxlZFByZWZlcmVuY2VLZXldOworfQorCiAtIChCT09MKWNzc0dyaWRMYXlvdXRFbmFi
bGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0Q1NTR3JpZExh
eW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMTQ1MjM5KQorKysg
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTkzLDYgKzE5Myw5IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdl
YlByaXZhdGUpCiAtIChCT09MKWNzc1JlZ2lvbnNFbmFibGVkOwogLSAodm9pZClzZXRDU1NSZWdp
b25zRW5hYmxlZDooQk9PTCllbmFibGVkOwogCistIChCT09MKWNzc0NvbXBvc2l0aW5nRW5hYmxl
ZDsKKy0gKHZvaWQpc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkOihCT09MKWVuYWJsZWQ7CisKIC0g
KEJPT0wpY3NzR3JpZExheW91dEVuYWJsZWQ7CiAtICh2b2lkKXNldENTU0dyaWRMYXlvdXRFbmFi
bGVkOihCT09MKWVuYWJsZWQ7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTUzMyw2ICsxNTMzLDcgQEAgLSAodm9pZClfcHJlZmVy
ZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbgogICAgIHNldHRpbmdzLT5zZXRDU1NDdXN0b21GaWx0
ZXJFbmFibGVkKFtwcmVmZXJlbmNlcyBjc3NDdXN0b21GaWx0ZXJFbmFibGVkXSk7CiAjZW5kaWYK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NSZWdpb25zRW5hYmxlZChbcHJlZmVy
ZW5jZXMgY3NzUmVnaW9uc0VuYWJsZWRdKTsKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc0NvbXBvc2l0aW5nRW5hYmxl
ZF0pOwogI2lmIEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2V0U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChbcHJlZmVyZW5jZXMgc2VhbWxlc3NJRnJh
bWVzRW5hYmxlZF0pOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>193014</attachid>
            <date>2013-03-13 15:55:34 -0700</date>
            <delta_ts>2013-03-13 16:10:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111818-20130313155131.patch</filename>
            <type>text/plain</type>
            <size>23112</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTEzICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdG8gZW5hYmxlIENTUyBjb21wb3NpdGlu
ZyBhcyBhIHJ1bnRpbWUgZmxhZyBmb3IgY2hyb21pdW0uCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzKToK
KyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0NvbXBvc2l0
aW5nRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpj
c3NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRLZXl3
b3JkUHJvcGVydHlBbmRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlck1vZGUuaDoKKyAgICAgICAgKENTU1BhcnNlckNvbnRleHQpOgorICAgICAg
ICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3NzQ29t
cG9zaXRpbmdFbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGRvbS9Eb2N1
bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorCiAyMDEzLTAzLTEzICBKdWxpZW4gQ2hhZmZy
YWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRd
IEhhbmRsZSBtaW4td2lkdGggLyBtYXgtd2lkdGggb24gdGhlIGdyaWQgZWxlbWVudApJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yODIwLDYgKzI4MjAsMTAgQEAgX19aTjdX
ZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRQogX19aTjdXZWJDb3JlMjJSdW50aW1l
RW5hYmxlZEZlYXR1cmVzMTlpc0NTU1JlZ2lvbnNFbmFibGVkRQogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoQ1NTX0NPTVBPU0lUSU5HKQorX19aTjdXZWJDb3JlMjJSdW50aW1lRW5hYmxlZEZlYXR1cmVz
MjNpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZEUKKyNlbmRpZgorCiAjaWYgRU5BQkxFKElGUkFNRV9T
RUFNTEVTUykKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczI1YXJlU2VhbWxl
c3NJRnJhbWVzRW5hYmxlZEUKICNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCShyZXZp
c2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw3IEBAIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNTcGVlY2hJbnAKIGJvb2wgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6aXNDYW52YXNQYXRoRW5hYmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjppc0NTU0V4Y2x1c2lvbnNFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYWJsZWQgPSBmYWxzZTsKK2Jvb2wgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBmYWxzZTsKIGJvb2wg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJ
RW5hYmxlZCA9IGZhbHNlOwogCiAjaWYgRU5BQkxFKFNDUklQVEVEX1NQRUVDSCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtODcs
NiArODcsMTQgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkg
eyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykK
KyAgICBzdGF0aWMgdm9pZCBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCBpc0VuYWJsZWQp
IHsgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KKyAgICBzdGF0aWMgYm9v
bCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSB7IHJldHVybiBpc0NTU0NvbXBvc2l0aW5nRW5hYmxl
ZDsgfQorI2Vsc2UKKyAgICBzdGF0aWMgdm9pZCBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoYm9v
bCkgeyB9CisgICAgc3RhdGljIGJvb2wgY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgeyByZXR1cm4g
ZmFsc2U7IH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEZPTlRfTE9BRF9FVkVOVFMpCiAgICAgc3Rh
dGljIHZvaWQgc2V0Rm9udExvYWRFdmVudHNFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzRm9u
dExvYWRFdmVudHNFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgc3RhdGljIGJvb2wgZm9udExv
YWRFdmVudHNFbmFibGVkKCkgeyByZXR1cm4gaXNGb250TG9hZEV2ZW50c0VuYWJsZWQ7IH0KQEAg
LTMwOSw2ICszMTcsNyBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBib29sIGlzQ2FudmFzUGF0aEVu
YWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNDU1NFeGNsdXNpb25zRW5hYmxlZDsKICAgICBzdGF0
aWMgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkOworICAgIHN0YXRpYyBib29sIGlzQ1NTQ29tcG9z
aXRpbmdFbmFibGVkOwogICAgIFdFQkNPUkVfVEVTVElORyBzdGF0aWMgYm9vbCBpc0xhbmdBdHRy
aWJ1dGVBd2FyZUZvcm1Db250cm9sVUlFbmFibGVkOwogI2lmIEVOQUJMRShTQ1JJUFRFRF9TUEVF
Q0gpCiAgICAgc3RhdGljIGJvb2wgaXNTY3JpcHRlZFNwZWVjaEVuYWJsZWQ7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1Nyw2ICsyNTcsNyBAQCBDU1NQ
YXJzZXJDb250ZXh0OjpDU1NQYXJzZXJDb250ZXh0KENTU1BhCiAgICAgLCBpc0NTU0N1c3RvbUZp
bHRlckVuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1N0aWNreVBvc2l0aW9uRW5hYmxlZChmYWxz
ZSkKICAgICAsIGlzQ1NTUmVnaW9uc0VuYWJsZWQoZmFsc2UpCisgICAgLCBpc0NTU0NvbXBvc2l0
aW5nRW5hYmxlZChmYWxzZSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZmFsc2UpCiAj
aWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQoZmFs
c2UpCkBAIC0yNzQsNiArMjc1LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4
dChEb2N1bQogICAgICwgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGRvY3VtZW50LT5zZXR0aW5n
cygpID8gZG9jdW1lbnQtPnNldHRpbmdzKCktPmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCgpIDog
ZmFsc2UpCiAgICAgLCBpc0NTU1N0aWNreVBvc2l0aW9uRW5hYmxlZChkb2N1bWVudC0+Y3NzU3Rp
Y2t5UG9zaXRpb25FbmFibGVkKCkpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVkKGRvY3VtZW50
LT5jc3NSZWdpb25zRW5hYmxlZCgpKQorICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZG9j
dW1lbnQtPmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpKQogICAgICwgaXNDU1NHcmlkTGF5b3V0RW5h
YmxlZChkb2N1bWVudC0+Y3NzR3JpZExheW91dEVuYWJsZWQoKSkKICNpZiBFTkFCTEUoQ1NTX1ZB
UklBQkxFUykKICAgICAsIGlzQ1NTVmFyaWFibGVzRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3Mo
KSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5jc3NWYXJpYWJsZXNFbmFibGVkKCkgOiBmYWxzZSkK
QEAgLTI5Miw2ICsyOTQsNyBAQCBib29sIG9wZXJhdG9yPT0oY29uc3QgQ1NTUGFyc2VyQ29udGV4
dCYgCiAgICAgICAgICYmIGEuaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkID09IGIuaXNDU1NDdXN0
b21GaWx0ZXJFbmFibGVkCiAgICAgICAgICYmIGEuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQg
PT0gYi5pc0NTU1N0aWNreVBvc2l0aW9uRW5hYmxlZAogICAgICAgICAmJiBhLmlzQ1NTUmVnaW9u
c0VuYWJsZWQgPT0gYi5pc0NTU1JlZ2lvbnNFbmFibGVkCisgICAgICAgICYmIGEuaXNDU1NDb21w
b3NpdGluZ0VuYWJsZWQgPT0gYi5pc0NTU0NvbXBvc2l0aW5nRW5hYmxlZAogICAgICAgICAmJiBh
LmlzQ1NTR3JpZExheW91dEVuYWJsZWQgPT0gYi5pc0NTU0dyaWRMYXlvdXRFbmFibGVkCiAjaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgICAgICYmIGEuaXNDU1NWYXJpYWJsZXNFbmFibGVk
ID09IGIuaXNDU1NWYXJpYWJsZXNFbmFibGVkCkBAIC04MjAsMTAgKzgyMywxMSBAQCBzdGF0aWMg
aW5saW5lIGJvb2wgaXNWYWxpZEtleXdvcmRQcm9wZXJ0CiAgICAgICAgIGJyZWFrOwogI2lmIEVO
QUJMRShDU1NfQ09NUE9TSVRJTkcpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJsZW5kTW9k
ZToKLSAgICAgICAgaWYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZU11bHRpcGx5IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsdWVJRCA9
PSBDU1NWYWx1ZU92ZXJsYXkgCi0gICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFy
a2VuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVl
Q29sb3JEb2RnZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JCdXJuIAotICAgICAgICAgICAg
fHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUhhcmRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU29m
dExpZ2h0IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVFeGNsdXNpb24gCi0gICAgICAgICAgICB8fCB2YWx1ZUlEID09IENTU1ZhbHVlSHVlIHx8
IHZhbHVlSUQgPT0gQ1NTVmFsdWVTYXR1cmF0aW9uIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVDb2xv
ciB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTHVtaW5vc2l0eSkKKyAgICAgICAgaWYgKHBhcnNlckNv
bnRleHQuaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQgJiYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVOb3Jt
YWwgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZU11bHRpcGx5IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVT
Y3JlZW4KKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IHx8IHZhbHVl
SUQgPT0gQ1NTVmFsdWVEYXJrZW4gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUxpZ2h0ZW4gfHwgIHZh
bHVlSUQgPT0gQ1NTVmFsdWVDb2xvckRvZGdlCisgICAgICAgICAgICB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlQ29sb3JCdXJuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsdWVJ
RCA9PSBDU1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGlmZmVyZW5jZQor
ICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUV4Y2x1c2lvbiB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlSHVlIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTYXR1cmF0aW9uIHx8IHZhbHVlSUQg
PT0gQ1NTVmFsdWVDb2xvcgorICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlu
b3NpdHkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGJyZWFrOwogI2VuZGlm
CkBAIC0yNDQ5LDYgKzI0NTMsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9w
ZXJ0eUlECiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRCbGVuZE1vZGU6CisgICAgICAgIGlmIChjc3NDb21wb3NpdGluZ0VuYWJs
ZWQoKSkKICAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgYnJlYWs7
CiAjZW5kaWYKQEAgLTQzMTQsMTEgKzQzMTksMTIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRmls
bFByb3BlcnR5KENTU1BybwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICNpZiBFTkFCTEUo
Q1NTX0NPTVBPU0lUSU5HKQogICAgICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
YWNrZ3JvdW5kQmxlbmRNb2RlOgotICAgICAgICAgICAgICAgICAgICBpZiAodmFsLT5pZCA9PSBD
U1NWYWx1ZU5vcm1hbCB8fCB2YWwtPmlkID09IENTU1ZhbHVlTXVsdGlwbHkgfHwgdmFsLT5pZCA9
PSBDU1NWYWx1ZVNjcmVlbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlT3ZlcmxheSAKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVEYXJrZW4gfHwgdmFsLT5pZCA9
PSBDU1NWYWx1ZUxpZ2h0ZW4gfHwgIHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvckRvZGdlCi0gICAg
ICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3JCdXJuIHx8IHZh
bC0+aWQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNvZnRMaWdo
dAotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZURpZmZlcmVu
Y2UgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUV4Y2x1c2lvbiB8fCB2YWwtPmlkID09IENTU1ZhbHVl
SHVlCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlU2F0dXJh
dGlvbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3IgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUx1
bWlub3NpdHkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGNzc0NvbXBvc2l0aW5nRW5hYmxl
ZCgpICYmKHZhbC0+aWQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU11
bHRpcGx5CisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlU2Ny
ZWVuIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVPdmVybGF5IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVE
YXJrZW4KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMaWdo
dGVuIHx8ICB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3JEb2RnZSB8fCB2YWwtPmlkID09IENTU1Zh
bHVlQ29sb3JCdXJuCisgICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1Zh
bHVlSGFyZExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFsLT5pZCA9
PSBDU1NWYWx1ZURpZmZlcmVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQg
PT0gQ1NTVmFsdWVFeGNsdXNpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWwtPmlk
ID09IENTU1ZhbHVlU2F0dXJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5p
ZCA9PSBDU1NWYWx1ZUNvbG9yIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgY3VyclZhbHVlID0gY3NzVmFsdWVQb29sKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKHZhbC0+aWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgbV92YWx1
ZUxpc3QtPm5leHQoKTsKICAgICAgICAgICAgICAgICAgICAgfQpAQCAtODkyNiw2ICs4OTMyLDEx
IEBAIGJvb2wgQ1NTUGFyc2VyOjpjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnMKICAgICByZXR1cm4g
bV9jb250ZXh0LmlzQ1NTUmVnaW9uc0VuYWJsZWQ7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpjc3ND
b21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX2NvbnRleHQuaXNDU1ND
b21wb3NpdGluZ0VuYWJsZWQ7Cit9CisKIGJvb2wgQ1NTUGFyc2VyOjpjc3NHcmlkTGF5b3V0RW5h
YmxlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU0dyaWRMYXlvdXRFbmFi
bGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzIsNiArMjcy
LDcgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1w
b3J0YW50KTsKIAogICAgIGJvb2wgY3NzUmVnaW9uc0VuYWJsZWQoKSBjb25zdDsKKyAgICBib29s
IGNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgcGFyc2VGbG93VGhyZWFk
KGNvbnN0IFN0cmluZyYgZmxvd05hbWUpOwogICAgIGJvb2wgcGFyc2VGbG93VGhyZWFkKENTU1By
b3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlUmVnaW9uVGhyZWFkKENT
U1Byb3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXJNb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ck1vZGUuaAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ck1vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU1N0aWNreVBvc2l0aW9u
RW5hYmxlZDsKICAgICBib29sIGlzQ1NTUmVnaW9uc0VuYWJsZWQ7CisgICAgYm9vbCBpc0NTU0Nv
bXBvc2l0aW5nRW5hYmxlZDsKICAgICBib29sIGlzQ1NTR3JpZExheW91dEVuYWJsZWQ7CiAjaWYg
RU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgYm9vbCBpc0NTU1ZhcmlhYmxlc0VuYWJsZWQ7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMjUsNiArMTEyNSwx
MSBAQCBib29sIERvY3VtZW50Ojpjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJu
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVkKCk7IAogfQogCitib29s
IERvY3VtZW50Ojpjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NDb21wb3NpdGluZ0VuYWJsZWQoKTsKK30KKwogYm9v
bCBEb2N1bWVudDo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdAogewogICAgIHJldHVybiBz
ZXR0aW5ncygpICYmIHNldHRpbmdzKCktPmNzc0dyaWRMYXlvdXRFbmFibGVkKCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0MCw2ICszNDAsNyBAQCBwdWJsaWM6CiAK
ICAgICBib29sIGNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgY3Nz
UmVnaW9uc0VuYWJsZWQoKSBjb25zdDsKKyAgICBib29sIGNzc0NvbXBvc2l0aW5nRW5hYmxlZCgp
IGNvbnN0OwogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICBQYXNzUmVmUHRyPERPTU5hbWVk
Rmxvd0NvbGxlY3Rpb24+IHdlYmtpdEdldE5hbWVkRmxvd3MoKTsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTQ1NzU5KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDMtMTMgIFJpayBDYWJhbmllciAgPGNh
YmFuaWVyQGFkb2JlLmNvbT4KKworICAgICAgICBjcmVhdGUgcnVudGltZSBmbGFncyBmb3IgQ1NT
IENvbXBvc2l0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTE4MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdG8gZW5hYmxlIENTUyBjb21wb3NpdGluZyBhcyBh
IHJ1bnRpbWUgZmxhZyBmb3IgY2hyb21pdW0uCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVy
ZW5jZXNTdG9yZS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAg
KFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZCk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaDoKKyAgICAgICAgKEluamVjdGVkQnVuZGxlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0
ZVByZWZlcmVuY2VzKToKKwogMjAxMy0wMy0xMyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU21hbGwgUmVzb3VyY2VMb2FkZXIgY2xlYW51cHMuCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDE0
NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgbWFj
cm8oV2ViR0xFbmFibGVkLCB3ZWJHTEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAg
bWFjcm8oQWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQsIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFibGVkLCBj
c3NSZWdpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKENTU0NvbXBv
c2l0aW5nRW5hYmxlZCwgY3NzQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBc
CiAgICAgbWFjcm8oQ1NTR3JpZExheW91dEVuYWJsZWQsIGNzc0dyaWRMYXlvdXRFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQs
IHJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFj
cm8oRm9yY2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgZm9yY2VGVFBEaXJlY3RvcnlMaXN0aW5ncywg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lv
biAxNDUyMzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQAogI2luY2x1
ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4K
IAotI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBFTkFCTEUoQ1NTX1JFR0lPTlMpIHx8IEVOQUJM
RShJRlJBTUVfU0VBTUxFU1MpCisjaWYgRU5BQkxFKFNIQURPV19ET00pIHx8IEVOQUJMRShDU1Nf
UkVHSU9OUykgfHwgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykgfHwgRU5BQkxFKENTU19DT01QT1NJ
VElORykKICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNlbmRp
ZgogCkBAIC0xOTcsNiArMTk3LDExIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9v
bFByZWZlcmUKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0Vu
YWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisg
ICAgaWYgKHByZWZlcmVuY2UgPT0gIldlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZCIpCisgICAg
ICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZChlbmFi
bGVkKTsKKyNlbmRpZgorCiAgICAgLy8gTWFwIHRoZSBuYW1lcyB1c2VkIGluIExheW91dFRlc3Rz
IHdpdGggdGhlIG5hbWVzIHVzZWQgaW4gV2ViQ29yZTo6U2V0dGluZ3MgYW5kIFdlYlByZWZlcmVu
Y2VzU3RvcmUuCiAjZGVmaW5lIEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRShtYWNy
bykgXAogICAgIG1hY3JvKFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQp
IFwKQEAgLTY2Myw2ICs2NjgsMTUgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Q1NTUmVnaW9u
c0VuYWJsZQogI2VuZGlmCiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldENTU0NvbXBvc2l0
aW5nRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykK
KyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5h
YmxlZCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKGJvb2wgZW5hYmxl
ZCkKIHsKICNpZiBFTkFCTEUoSUZSQU1FX1NFQU1MRVNTKQpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
aAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNiArMTcyLDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0U2VyaWFsTG9hZGluZ0VuYWJsZWQoYm9vbCk7CiAgICAg
dm9pZCBzZXRTaGFkb3dET01FbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0Vu
YWJsZWQoYm9vbCk7CisgICAgdm9pZCBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCk7CiAg
ICAgdm9pZCBzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgZGlzcGF0
Y2hQZW5kaW5nTG9hZFJlcXVlc3RzKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjMzNSw2ICsyMzM1LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZQogICAgIHNldHRpbmdzLT5zZXRBZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoc3RvcmUu
Z2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphZ2dyZXNzaXZlVGlsZVJldGVu
dGlvbkVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRDU1NDdXN0b21GaWx0ZXJFbmFi
bGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzQ3VzdG9t
RmlsdGVyRW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NT
UmVnaW9uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
Ojpjc3NSZWdpb25zRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVm
ZXJlbmNlc0tleTo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+
c2V0Q1NTR3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNl
dFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5OjpyZWdpb25CYXNlZENvbHVtbnNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0
aW5ncy0+c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiAxNDU3NTkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTEzICBSaWsgQ2FiYW5p
ZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3Mg
Zm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRp
bmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgICogcHVibGljL1dl
YlJ1bnRpbWVGZWF0dXJlcy5oOgorICAgICAgICAoV2ViUnVudGltZUZlYXR1cmVzKToKKyAgICAg
ICAgKiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVu
dGltZUZlYXR1cmVzOjplbmFibGVDU1NDb21wb3NpdGluZyk6CisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRpbmdFbmFi
bGVkKToKKwogMjAxMy0wMy0xMyAgU3RlcGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEFkZCBuZXcgU2tpYSBjb2RlIHN1cHByZXNzaW9uIGZsYWdzCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVy
ZXMuaAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViUnVudGltZUZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Myw2ICsxNjMsOSBAQCBw
dWJsaWM6CiAKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUNTU1JlZ2lvbnMo
Ym9vbCk7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVk
KCk7CisgICAgCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NDb21wb3Np
dGluZyhib29sKTsKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzQ1NTQ29tcG9zaXRp
bmdFbmFibGVkKCk7CiAKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUZvbnRM
b2FkRXZlbnRzKGJvb2wpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNGb250TG9h
ZEV2ZW50c0VuYWJsZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1
bnRpbWVGZWF0dXJlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzEwLDYgKzcxMCwxNiBAQCBib29sIFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NSZWdpb25z
RW5hCiAgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVk
KCk7CiB9CiAKK3ZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1NDb21wb3NpdGluZyhi
b29sIGVuYWJsZSkKK3sKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3Np
dGluZ0VuYWJsZWQoZW5hYmxlKTsKK30KKworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NT
Q29tcG9zaXRpbmdFbmFibGVkKCkKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCk7Cit9CisKIHZvaWQgV2ViUnVudGltZUZlYXR1cmVz
OjplbmFibGVGb250TG9hZEV2ZW50cyhib29sIGVuYWJsZSkKIHsKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRGb250TG9hZEV2ZW50c0VuYWJsZWQoZW5hYmxlKTsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTEzICBSaWsgQ2FiYW5p
ZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3Mg
Zm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRp
bmcgYXMgYSBydW50aW1lIGZsYWcgZm9yIGNocm9taXVtLgorCisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIGNzc0NvbXBvc2l0aW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxMy0w
My0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBnZXQgcmlkIG9mIGhpZGRlblBhbmVscyBmaWx0ZXIKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcsNyBAQAogI2Rl
ZmluZSBXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q1NTQ3Vz
dG9tRmlsdGVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRDU1NSZWdpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRDU1NSZWdpb25zRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0Q1NTR3JpZExheW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTR3JpZExheW91
dEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFNob3dEZWJ1Z0JvcmRlcnNQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0U2hvd0RlYnVnQm9yZGVycyIKICNkZWZpbmUgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVy
UHJlZmVyZW5jZUtleSBAIldlYktpdFNob3dSZXBhaW50Q291bnRlciIKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMTQ1MjM5KQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzc4LDYgKzM3OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogICAgICAgICAvLyBD
U1MgU2hhZGVycyBhbHNvIG5lZWQgV2ViR0wgZW5hYmxlZCAod2hpY2ggaXMgZGlzYWJsZWQgYnkg
ZGVmYXVsdCksIHNvIHdlIGNhbiBrZWVwIGl0IGVuYWJsZWQgZm9yIG5vdy4KICAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgV2Vi
S2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgV2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgIFdlYktpdENTU0dyaWRM
YXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOk5PXSwgIFdlYktpdEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Q2FudmFzVXNlc0Fj
Y2VsZXJhdGVkRHJhd2luZ1ByZWZlcmVuY2VLZXksCkBAIC0xMzk0LDYgKzEzOTUsMTYgQEAgLSAo
dm9pZClzZXRDU1NSZWdpb25zRW5hYmxlZDooQk9PTCllbmFibAogICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKIH0KIAorLSAoQk9PTCljc3NDb21wb3NpdGluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKK30KKworLSAodm9pZClzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxl
ZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTQ29t
cG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpY3NzR3JpZExheW91
dEVuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NH
cmlkTGF5b3V0RW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAxNDUyMzkp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDkgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKIC0gKEJPT0wpY3NzUmVnaW9uc0VuYWJsZWQ7CiAtICh2b2lkKXNldENT
U1JlZ2lvbnNFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAKKy0gKEJPT0wpY3NzQ29tcG9zaXRpbmdF
bmFibGVkOworLSAodm9pZClzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsK
KwogLSAoQk9PTCljc3NHcmlkTGF5b3V0RW5hYmxlZDsKIC0gKHZvaWQpc2V0Q1NTR3JpZExheW91
dEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMzLDYgKzE1MzMsNyBAQCAtICh2b2lkKV9w
cmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldENTU0N1c3Rv
bUZpbHRlckVuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc0N1c3RvbUZpbHRlckVuYWJsZWRdKTsKICNl
bmRpZgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVkKFtw
cmVmZXJlbmNlcyBjc3NSZWdpb25zRW5hYmxlZF0pOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgY3NzQ29tcG9zaXRpbmdF
bmFibGVkXSk7CiAjaWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBzZWFtbGVz
c0lGcmFtZXNFbmFibGVkXSk7CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193018</attachid>
            <date>2013-03-13 16:15:37 -0700</date>
            <delta_ts>2013-03-13 20:07:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111818-20130313161134.patch</filename>
            <type>text/plain</type>
            <size>22997</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTEzICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdGhhdCBlbmFibGVzIENTUyBjb21wb3Np
dGluZworCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAg
ICAoUnVudGltZUVuYWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRl
eHQ6OkNTU1BhcnNlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6Cisg
ICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VGaWxsUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
Ojpjc3NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJNb2RlLmg6CisgICAgICAg
IChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToK
KwogMjAxMy0wMy0xMyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBIYW5kbGUgbWluLXdpZHRoIC8gbWF4LXdpZHRo
IG9uIHRoZSBncmlkIGVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAx
NDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtMjgyMCw2ICsyODIwLDEwIEBAIF9fWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNy
ZWF0ZUUKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE5aXNDU1NSZWdpb25z
RW5hYmxlZEUKICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKK19fWk43V2Vi
Q29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczIzaXNDU1NDb21wb3NpdGluZ0VuYWJsZWRFCisj
ZW5kaWYKKwogI2lmIEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpCiBfX1pON1dlYkNvcmUyMlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMyNWFyZVNlYW1sZXNzSUZyYW1lc0VuYWJsZWRFCiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTcsNiArNTcsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU3Bl
ZWNoSW5wCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ2FudmFzUGF0aEVuYWJsZWQg
PSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NFeGNsdXNpb25zRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU1JlZ2lvbnNF
bmFibGVkID0gZmFsc2U7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTQ29tcG9z
aXRpbmdFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFu
Z0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJM
RShTQ1JJUFRFRF9TUEVFQ0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ1MjM5
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9z
aXRpbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgeyBy
ZXR1cm4gaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQ7IH0KKyNlbHNlCisgICAgc3RhdGljIHZvaWQg
c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpIHsgfQorICAgIHN0YXRpYyBib29sIGNzc0Nv
bXBvc2l0aW5nRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogI2lmIEVOQUJM
RShGT05UX0xPQURfRVZFTlRTKQogICAgIHN0YXRpYyB2b2lkIHNldEZvbnRMb2FkRXZlbnRzRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0ZvbnRMb2FkRXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogICAgIHN0YXRpYyBib29sIGZvbnRMb2FkRXZlbnRzRW5hYmxlZCgpIHsgcmV0dXJuIGlz
Rm9udExvYWRFdmVudHNFbmFibGVkOyB9CkBAIC0zMDksNiArMzE3LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgYm9vbCBpc0NhbnZhc1BhdGhFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzQ1NT
RXhjbHVzaW9uc0VuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZDsK
KyAgICBzdGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBXRUJDT1JFX1RF
U1RJTkcgc3RhdGljIGJvb2wgaXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxl
ZDsKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0
ZWRTcGVlY2hFbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9u
IDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTcsNiArMjU3LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4
dChDU1NQYQogICAgICwgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogICAgICwgaXND
U1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVk
KGZhbHNlKQorICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NT
U0dyaWRMYXlvdXRFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAg
ICwgaXNDU1NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQpAQCAtMjc0LDYgKzI3NSw3IEBAIENTU1Bh
cnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW0KICAgICAsIGlzQ1NTQ3VzdG9tRmls
dGVyRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5p
c0NTU0N1c3RvbUZpbHRlckVuYWJsZWQoKSA6IGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3Np
dGlvbkVuYWJsZWQoZG9jdW1lbnQtPmNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwg
aXNDU1NSZWdpb25zRW5hYmxlZChkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAs
IGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKGRvY3VtZW50LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQo
KSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRF
bmFibGVkKCkpCiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxl
c0VuYWJsZWQoZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+Y3Nz
VmFyaWFibGVzRW5hYmxlZCgpIDogZmFsc2UpCkBAIC0yOTIsNiArMjk0LDcgQEAgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IENTU1BhcnNlckNvbnRleHQmIAogICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZCA9PSBiLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZAogICAgICAgICAmJiBh
LmlzQ1NTU3RpY2t5UG9zaXRpb25FbmFibGVkID09IGIuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJs
ZWQKICAgICAgICAgJiYgYS5pc0NTU1JlZ2lvbnNFbmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5h
YmxlZAorICAgICAgICAmJiBhLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21w
b3NpdGluZ0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIu
aXNDU1NHcmlkTGF5b3V0RW5hYmxlZAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAg
ICAmJiBhLmlzQ1NTVmFyaWFibGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZApA
QCAtODIwLDEwICs4MjMsMTEgQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJv
cGVydAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCbGVuZE1vZGU6Ci0gICAgICAgIGlmICh2YWx1ZUlEID09IENT
U1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU2NyZWVuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IAotICAgICAgICAg
ICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURhcmtlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTGln
aHRlbiB8fCAgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NW
YWx1ZUNvbG9yQnVybiAKLSAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGln
aHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
RGlmZmVyZW5jZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRXhjbHVzaW9uIAotICAgICAgICAgICAg
fHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlv
biB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlu
b3NpdHkpCisgICAgICAgIGlmIChwYXJzZXJDb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVk
ICYmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0
aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuCisgICAgICAgICAgICB8fCB2YWx1ZUlE
ID09IENTU1ZhbHVlT3ZlcmxheSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVl
SUQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JEb2RnZQor
ICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlSGFyZExpZ2h0IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZURpZmZlcmVuY2UKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVFeGNsdXNpb24gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IKKyAgICAgICAgICAg
IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSkKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgICAgICBicmVhazsKICNlbmRpZgpAQCAtMjQ0OSw2ICsyNDUzLDcgQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRAogI2VuZGlmCiAjaWYgRU5BQkxFKENT
U19DT01QT1NJVElORykKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxlbmRNb2RlOgorICAg
ICAgICBpZiAoY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkpCiAgICAgICAgICAgICB2YWxpZFByaW1p
dGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCkBAIC00MzE0LDExICs0MzE5LDEy
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eShDU1NQcm8KICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAgICAgICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZEJsZW5kTW9kZToKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHZhbC0+aWQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsLT5pZCA9PSBD
U1NWYWx1ZU11bHRpcGx5IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9
PSBDU1NWYWx1ZU92ZXJsYXkgCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09
IENTU1ZhbHVlRGFya2VuIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWwtPmlk
ID09IENTU1ZhbHVlQ29sb3JEb2RnZQotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5p
ZCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWwtPmlkID09IENTU1ZhbHVlSGFyZExpZ2h0IHx8
IHZhbC0+aWQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8
IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVFeGNs
dXNpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUh1ZQotICAgICAgICAgICAgICAgICAgICAgICAg
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNv
bG9yIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSAmJih2YWwtPmlkID09IENTU1ZhbHVlTm9y
bWFsIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVNdWx0aXBseQorICAgICAgICAgICAgICAgICAgICAg
ICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNjcmVlbiB8fCB2YWwtPmlkID09IENTU1ZhbHVlT3Zl
cmxheSB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGFya2VuCisgICAgICAgICAgICAgICAgICAgICAg
ICB8fCB2YWwtPmlkID09IENTU1ZhbHVlTGlnaHRlbiB8fCAgdmFsLT5pZCA9PSBDU1NWYWx1ZUNv
bG9yRG9kZ2UgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNvbG9yQnVybgorICAgICAgICAgICAgICAg
ICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUhhcmRMaWdodCB8fCB2YWwtPmlkID09IENT
U1ZhbHVlU29mdExpZ2h0IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlCisgICAgICAg
ICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlRXhjbHVzaW9uIHx8IHZhbC0+
aWQgPT0gQ1NTVmFsdWVIdWUgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvciB8fCB2YWwtPmlk
ID09IENTU1ZhbHVlTHVtaW5vc2l0eSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJW
YWx1ZSA9IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWwtPmlkKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgICAgICAgICAg
ICAgICAgIH0KQEAgLTg5MjYsNiArODkzMiwxMSBAQCBib29sIENTU1BhcnNlcjo6Y3NzUmVnaW9u
c0VuYWJsZWQoKSBjb25zCiAgICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU1JlZ2lvbnNFbmFibGVk
OwogfQogCitib29sIENTU1BhcnNlcjo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9jb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkOworfQorCiBib29s
IENTU1BhcnNlcjo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSBjb25zdAogewogICAgIHJldHVybiBt
X2NvbnRleHQuaXNDU1NHcmlkTGF5b3V0RW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAko
d29ya2luZyBjb3B5KQpAQCAtMjcyLDYgKzI3Miw3IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNl
Rm9udEZlYXR1cmVTZXR0aW5ncyhib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIGNzc1JlZ2lv
bnNFbmFibGVkKCkgY29uc3Q7CisgICAgYm9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25z
dDsKICAgICBib29sIHBhcnNlRmxvd1RocmVhZChjb25zdCBTdHJpbmcmIGZsb3dOYW1lKTsKICAg
ICBib29sIHBhcnNlRmxvd1RocmVhZChDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CiAg
ICAgYm9vbCBwYXJzZVJlZ2lvblRocmVhZChDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHJldmlzaW9uIDE0NTIzOSkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJNb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDYgKzY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkOwog
ICAgIGJvb2wgaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJsZWQ7CiAgICAgYm9vbCBpc0NTU1JlZ2lv
bnNFbmFibGVkOworICAgIGJvb2wgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQ7CiAgICAgYm9vbCBp
c0NTU0dyaWRMYXlvdXRFbmFibGVkOwogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgIGJv
b2wgaXNDU1NWYXJpYWJsZXNFbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShy
ZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMTI1LDYgKzExMjUsMTEgQEAgYm9vbCBEb2N1bWVudDo6Y3NzUmVnaW9u
c0VuYWJsZWQoKSBjb25zdAogICAgIHJldHVybiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpjc3NS
ZWdpb25zRW5hYmxlZCgpOyAKIH0KIAorYm9vbCBEb2N1bWVudDo6Y3NzQ29tcG9zaXRpbmdFbmFi
bGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29t
cG9zaXRpbmdFbmFibGVkKCk7Cit9CisKIGJvb2wgRG9jdW1lbnQ6OmNzc0dyaWRMYXlvdXRFbmFi
bGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gc2V0dGluZ3MoKSAmJiBzZXR0aW5ncygpLT5jc3NH
cmlkTGF5b3V0RW5hYmxlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDE0
NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNDAsNiArMzQwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBjc3NTdGlja3lQb3NpdGlvbkVu
YWJsZWQoKSBjb25zdDsKICAgICBib29sIGNzc1JlZ2lvbnNFbmFibGVkKCkgY29uc3Q7CisgICAg
Ym9vbCBjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSBjb25zdDsKICNpZiBFTkFCTEUoQ1NTX1JFR0lP
TlMpCiAgICAgUGFzc1JlZlB0cjxET01OYW1lZEZsb3dDb2xsZWN0aW9uPiB3ZWJraXRHZXROYW1l
ZEZsb3dzKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisy
MDEzLTAzLTEzICBSaWsgQ2FiYW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAg
Y3JlYXRlIHJ1bnRpbWUgZmxhZ3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBwcmVmZXJlbmNlIHRvIGVu
YWJsZSBDU1MgY29tcG9zaXRpbmcuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKyAgICAgICAgKFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGU6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZCk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGUuaDoKKyAgICAgICAgKEluamVjdGVkQnVuZGxlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKToKKwogMjAxMy0wMy0xMyAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CiAKICAgICAgICAgU21hbGwgUmVzb3VyY2VMb2FkZXIgY2xlYW51cHMuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHJldmlzaW9uIDE0NTIzOSkK
KysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTg0LDYgKzg0LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgbWFjcm8oV2Vi
R0xFbmFibGVkLCB3ZWJHTEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8o
QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQsIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFibGVkLCBjc3NSZWdp
b25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKENTU0NvbXBvc2l0aW5n
RW5hYmxlZCwgY3NzQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCiAgICAg
bWFjcm8oQ1NTR3JpZExheW91dEVuYWJsZWQsIGNzc0dyaWRMYXlvdXRFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSkgXAogICAgIG1hY3JvKFJlZ2lvbkJhc2VkQ29sdW1uc0VuYWJsZWQsIHJlZ2lv
bkJhc2VkQ29sdW1uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oRm9y
Y2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgZm9yY2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiAxNDUy
MzkpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMsNyBAQAogI2luY2x1ZGUgPHd0
Zi9Pd25BcnJheVB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQdHIuaD4KIAotI2lm
IEVOQUJMRShTSEFET1dfRE9NKSB8fCBFTkFCTEUoQ1NTX1JFR0lPTlMpIHx8IEVOQUJMRShJRlJB
TUVfU0VBTUxFU1MpCisjaWYgRU5BQkxFKFNIQURPV19ET00pIHx8IEVOQUJMRShDU1NfUkVHSU9O
UykgfHwgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykgfHwgRU5BQkxFKENTU19DT01QT1NJVElORykK
ICNpbmNsdWRlIDxXZWJDb3JlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaD4KICNlbmRpZgogCkBA
IC0xOTcsNiArMTk3LDExIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZl
cmUKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQo
ZW5hYmxlZCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgaWYg
KHByZWZlcmVuY2UgPT0gIldlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZCIpCisgICAgICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZChlbmFibGVkKTsK
KyNlbmRpZgorCiAgICAgLy8gTWFwIHRoZSBuYW1lcyB1c2VkIGluIExheW91dFRlc3RzIHdpdGgg
dGhlIG5hbWVzIHVzZWQgaW4gV2ViQ29yZTo6U2V0dGluZ3MgYW5kIFdlYlByZWZlcmVuY2VzU3Rv
cmUuCiAjZGVmaW5lIEZPUl9FQUNIX09WRVJSSURFX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAog
ICAgIG1hY3JvKFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQpIFwKQEAg
LTY2Myw2ICs2NjgsMTUgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Q1NTUmVnaW9uc0VuYWJs
ZQogI2VuZGlmCiB9CiAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldENTU0NvbXBvc2l0aW5nRW5h
YmxlZChib29sIGVuYWJsZWQpCit7CisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKKyAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlZCk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShlbmFibGVkKTsKKyNlbmRpZgorfQorCiB2b2lkIElu
amVjdGVkQnVuZGxlOjpzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsK
ICNpZiBFTkFCTEUoSUZSQU1FX1NFQU1MRVNTKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAkocmV2
aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsNiArMTcyLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc2V0U2VyaWFsTG9hZGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBz
ZXRTaGFkb3dET01FbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0Q1NTUmVnaW9uc0VuYWJsZWQo
Ym9vbCk7CisgICAgdm9pZCBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgZGlzcGF0Y2hQZW5k
aW5nTG9hZFJlcXVlc3RzKCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMzNSw2
ICsyMzM1LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZQogICAg
IHNldHRpbmdzLT5zZXRBZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQoc3RvcmUuZ2V0Qm9v
bFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjphZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVu
YWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkKHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3NzQ3VzdG9tRmlsdGVy
RW5hYmxlZEtleSgpKSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9u
c0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojpjc3NS
ZWdpb25zRW5hYmxlZEtleSgpKSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NT
Q29tcG9zaXRpbmdFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Q1NT
R3JpZExheW91dEVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5Ojpjc3NHcmlkTGF5b3V0RW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldFJlZ2lv
bkJhc2VkQ29sdW1uc0VuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpyZWdpb25CYXNlZENvbHVtbnNFbmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+
c2V0V2ViR0xFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tl
eTo6d2ViR0xFbmFibGVkS2V5KCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNDU3NTkpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTEzICBSaWsgQ2FiYW5pZXIgIDxj
YWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3MgZm9yIENT
UyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgYSBydW50aW1lIGZsYWdzIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRpbmcgZm9y
IGNocm9taXVtLgorCisgICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOgorICAg
ICAgICAoV2ViUnVudGltZUZlYXR1cmVzKToKKyAgICAgICAgKiBzcmMvV2ViUnVudGltZUZlYXR1
cmVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVDU1ND
b21wb3NpdGluZyk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSdW50
aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKToKKwogMjAxMy0wMy0xMyAgU3Rl
cGhlbiBDaGVubmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFkZCBuZXcg
U2tpYSBjb2RlIHN1cHByZXNzaW9uIGZsYWdzCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ1MjM5KQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE2Myw2ICsxNjMsOSBAQCBwdWJsaWM6CiAKICAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyB2b2lkIGVuYWJsZUNTU1JlZ2lvbnMoYm9vbCk7CiAgICAgV0VCS0lUX0VYUE9S
VCBzdGF0aWMgYm9vbCBpc0NTU1JlZ2lvbnNFbmFibGVkKCk7CisgICAgCisgICAgV0VCS0lUX0VY
UE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NDb21wb3NpdGluZyhib29sKTsKKyAgICBXRUJLSVRf
RVhQT1JUIHN0YXRpYyBib29sIGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKCk7CiAKICAgICBXRUJL
SVRfRVhQT1JUIHN0YXRpYyB2b2lkIGVuYWJsZUZvbnRMb2FkRXZlbnRzKGJvb2wpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIGJvb2wgaXNGb250TG9hZEV2ZW50c0VuYWJsZWQoKTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNw
cAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVu
dGltZUZlYXR1cmVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEwLDYgKzcxMCwxNiBAQCBib29s
IFdlYlJ1bnRpbWVGZWF0dXJlczo6aXNDU1NSZWdpb25zRW5hCiAgICAgcmV0dXJuIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OmNzc1JlZ2lvbnNFbmFibGVkKCk7CiB9CiAKK3ZvaWQgV2ViUnVudGlt
ZUZlYXR1cmVzOjplbmFibGVDU1NDb21wb3NpdGluZyhib29sIGVuYWJsZSkKK3sKKyAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlKTsKK30K
KworYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKCkKK3sK
KyAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVk
KCk7Cit9CisKIHZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVGb250TG9hZEV2ZW50cyhi
b29sIGVuYWJsZSkKIHsKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRGb250TG9hZEV2
ZW50c0VuYWJsZWQoZW5hYmxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1
OSkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDEzLTAzLTEzICBSaWsgQ2FiYW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+
CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxhZ3MgZm9yIENTUyBDb21wb3NpdGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgYSBwcmVm
ZXJlbmNlIHRvIGVuYWJsZSBDU1MgY29tcG9zaXRpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5j
ZXMubW06CisgICAgICAgICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAg
KC1bV2ViUHJlZmVyZW5jZXMgY3NzQ29tcG9zaXRpbmdFbmFibGVkXSk6CisgICAgICAgICgtW1dl
YlByZWZlcmVuY2VzIHNldENTU0NvbXBvc2l0aW5nRW5hYmxlZDpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5t
bToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDEzLTAz
LTEzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGdldCByaWQgb2YgaGlkZGVuUGFuZWxzIGZpbHRlcgpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5o
CShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5Nyw3IEBACiAjZGVm
aW5lIFdlYktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkIgogI2RlZmluZSBXZWJLaXRDU1NDdXN0
b21GaWx0ZXJFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJs
ZWQiCiAjZGVmaW5lIFdlYktpdENTU1JlZ2lvbnNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dENTU1JlZ2lvbnNFbmFibGVkIgorI2RlZmluZSBXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVkIgogI2RlZmluZSBXZWJL
aXRDU1NHcmlkTGF5b3V0RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NHcmlkTGF5b3V0
RW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0U2hvd0RlYnVnQm9yZGVyc1ByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRTaG93RGVidWdCb3JkZXJzIgogI2RlZmluZSBXZWJLaXRTaG93UmVwYWludENvdW50ZXJQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVyIgpJbmRleDogU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCShyZXZpc2lvbiAxNDUyMzkpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zNzgsNiArMzc4LDcgQEAgKyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIC8vIENT
UyBTaGFkZXJzIGFsc28gbmVlZCBXZWJHTCBlbmFibGVkICh3aGljaCBpcyBkaXNhYmxlZCBieSBk
ZWZhdWx0KSwgc28gd2UgY2FuIGtlZXAgaXQgZW5hYmxlZCBmb3Igbm93LgogICAgICAgICBbTlNO
dW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZFBy
ZWZlcmVuY2VLZXksCiAgICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpZRVNdLCBXZWJL
aXRDU1NSZWdpb25zRW5hYmxlZFByZWZlcmVuY2VLZXksCisgICAgICAgIFtOU051bWJlciBudW1i
ZXJXaXRoQm9vbDpZRVNdLCBXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5
LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Q1NTR3JpZExh
eW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJv
b2w6Tk9dLCAgV2ViS2l0QWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZFByZWZlcmVuY2VLZXksCiAg
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sICBXZWJLaXRDYW52YXNVc2VzQWNj
ZWxlcmF0ZWREcmF3aW5nUHJlZmVyZW5jZUtleSwKQEAgLTEzOTQsNiArMTM5NSwxNiBAQCAtICh2
b2lkKXNldENTU1JlZ2lvbnNFbmFibGVkOihCT09MKWVuYWJsCiAgICAgW3NlbGYgX3NldEJvb2xW
YWx1ZTplbmFibGVkIGZvcktleTpXZWJLaXRDU1NSZWdpb25zRW5hYmxlZFByZWZlcmVuY2VLZXld
OwogfQogCistIChCT09MKWNzc0NvbXBvc2l0aW5nRW5hYmxlZAoreworICAgIHJldHVybiBbc2Vs
ZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZFByZWZlcmVuY2VL
ZXldOworfQorCistICh2b2lkKXNldENTU0NvbXBvc2l0aW5nRW5hYmxlZDooQk9PTCllbmFibGVk
Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTplbmFibGVkIGZvcktleTpXZWJLaXRDU1NDb21w
b3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogLSAoQk9PTCljc3NHcmlkTGF5b3V0
RW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5OldlYktpdENTU0dy
aWRMYXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleV07CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDE0NTIzOSkK
KysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE5Myw2ICsxOTMsOSBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2Vz
IChXZWJQcml2YXRlKQogLSAoQk9PTCljc3NSZWdpb25zRW5hYmxlZDsKIC0gKHZvaWQpc2V0Q1NT
UmVnaW9uc0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAorLSAoQk9PTCljc3NDb21wb3NpdGluZ0Vu
YWJsZWQ7CistICh2b2lkKXNldENTU0NvbXBvc2l0aW5nRW5hYmxlZDooQk9PTCllbmFibGVkOwor
CiAtIChCT09MKWNzc0dyaWRMYXlvdXRFbmFibGVkOwogLSAodm9pZClzZXRDU1NHcmlkTGF5b3V0
RW5hYmxlZDooQk9PTCllbmFibGVkOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3
L1dlYlZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJW
aWV3Lm1tCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTE1MzMsNiArMTUzMyw3IEBAIC0gKHZvaWQpX3By
ZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAgICBzZXR0aW5ncy0+c2V0Q1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZChbcHJlZmVyZW5jZXMgY3NzQ3VzdG9tRmlsdGVyRW5hYmxlZF0pOwogI2Vu
ZGlmCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTUmVnaW9uc0VuYWJsZWQoW3By
ZWZlcmVuY2VzIGNzc1JlZ2lvbnNFbmFibGVkXSk7CisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKFtwcmVmZXJlbmNlcyBjc3NDb21wb3NpdGluZ0Vu
YWJsZWRdKTsKICNpZiBFTkFCTEUoSUZSQU1FX1NFQU1MRVNTKQogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNldFNlYW1sZXNzSUZyYW1lc0VuYWJsZWQoW3ByZWZlcmVuY2VzIHNlYW1sZXNz
SUZyYW1lc0VuYWJsZWRdKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193049</attachid>
            <date>2013-03-13 20:07:20 -0700</date>
            <delta_ts>2013-03-13 20:55:11 -0700</delta_ts>
            <desc>Fixed style issue</desc>
            <filename>bug-111818-20130313200317.patch</filename>
            <type>text/plain</type>
            <size>22998</size>
            <attacher name="Rik Cabanier">cabanier</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTEzICBSaWsgQ2Fi
YW5pZXIgIDxjYWJhbmllckBhZG9iZS5jb20+CisKKyAgICAgICAgY3JlYXRlIHJ1bnRpbWUgZmxh
Z3MgZm9yIENTUyBDb21wb3NpdGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4K
KworICAgICAgICBBZGRlZCBhIHJ1bnRpbWUgZmxhZ3MgdGhhdCBlbmFibGVzIENTUyBjb21wb3Np
dGluZworCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAqIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAg
ICAoUnVudGltZUVuYWJsZWRGZWF0dXJlcyk6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzQ29tcG9zaXRpbmdFbmFibGVkKToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlckNvbnRl
eHQ6OkNTU1BhcnNlckNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6b3BlcmF0b3I9PSk6Cisg
ICAgICAgIChXZWJDb3JlOjppc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5kVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VGaWxsUHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
Ojpjc3NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJNb2RlLmg6CisgICAgICAg
IChDU1NQYXJzZXJDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToK
KwogMjAxMy0wMy0xMyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbQ1NTIEdyaWQgTGF5b3V0XSBIYW5kbGUgbWluLXdpZHRoIC8gbWF4LXdpZHRo
IG9uIHRoZSBncmlkIGVsZW1lbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCShyZXZpc2lvbiAx
NDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtMjgyMCw2ICsyODIwLDEwIEBAIF9fWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNy
ZWF0ZUUKIF9fWk43V2ViQ29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczE5aXNDU1NSZWdpb25z
RW5hYmxlZEUKICNlbmRpZgogCisjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKK19fWk43V2Vi
Q29yZTIyUnVudGltZUVuYWJsZWRGZWF0dXJlczIzaXNDU1NDb21wb3NpdGluZ0VuYWJsZWRFCisj
ZW5kaWYKKwogI2lmIEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpCiBfX1pON1dlYkNvcmUyMlJ1bnRp
bWVFbmFibGVkRmVhdHVyZXMyNWFyZVNlYW1sZXNzSUZyYW1lc0VuYWJsZWRFCiAjZW5kaWYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTcsNiArNTcsNyBAQCBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzU3Bl
ZWNoSW5wCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ2FudmFzUGF0aEVuYWJsZWQg
PSBmYWxzZTsKIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6aXNDU1NFeGNsdXNpb25zRW5h
YmxlZCA9IGZhbHNlOwogYm9vbCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjppc0NTU1JlZ2lvbnNF
bmFibGVkID0gZmFsc2U7Citib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzQ1NTQ29tcG9z
aXRpbmdFbmFibGVkID0gZmFsc2U7CiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmlzTGFu
Z0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQgPSBmYWxzZTsKIAogI2lmIEVOQUJM
RShTQ1JJUFRFRF9TUEVFQ0gpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkocmV2aXNpb24gMTQ1MjM5
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3LDYgKzg3LDE0IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgYm9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAgc3RhdGljIHZvaWQgc2V0Q1NTQ29tcG9z
aXRpbmdFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID0g
aXNFbmFibGVkOyB9CisgICAgc3RhdGljIGJvb2wgY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgeyBy
ZXR1cm4gaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQ7IH0KKyNlbHNlCisgICAgc3RhdGljIHZvaWQg
c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpIHsgfQorICAgIHN0YXRpYyBib29sIGNzc0Nv
bXBvc2l0aW5nRW5hYmxlZCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKwogI2lmIEVOQUJM
RShGT05UX0xPQURfRVZFTlRTKQogICAgIHN0YXRpYyB2b2lkIHNldEZvbnRMb2FkRXZlbnRzRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBpc0ZvbnRMb2FkRXZlbnRzRW5hYmxlZCA9IGlzRW5hYmxl
ZDsgfQogICAgIHN0YXRpYyBib29sIGZvbnRMb2FkRXZlbnRzRW5hYmxlZCgpIHsgcmV0dXJuIGlz
Rm9udExvYWRFdmVudHNFbmFibGVkOyB9CkBAIC0zMDksNiArMzE3LDcgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgYm9vbCBpc0NhbnZhc1BhdGhFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGlzQ1NT
RXhjbHVzaW9uc0VuYWJsZWQ7CiAgICAgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZDsK
KyAgICBzdGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKICAgICBXRUJDT1JFX1RF
U1RJTkcgc3RhdGljIGJvb2wgaXNMYW5nQXR0cmlidXRlQXdhcmVGb3JtQ29udHJvbFVJRW5hYmxl
ZDsKICNpZiBFTkFCTEUoU0NSSVBURURfU1BFRUNIKQogICAgIHN0YXRpYyBib29sIGlzU2NyaXB0
ZWRTcGVlY2hFbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9u
IDE0NTIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNTcsNiArMjU3LDcgQEAgQ1NTUGFyc2VyQ29udGV4dDo6Q1NTUGFyc2VyQ29udGV4
dChDU1NQYQogICAgICwgaXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogICAgICwgaXND
U1NTdGlja3lQb3NpdGlvbkVuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NTU1JlZ2lvbnNFbmFibGVk
KGZhbHNlKQorICAgICwgaXNDU1NDb21wb3NpdGluZ0VuYWJsZWQoZmFsc2UpCiAgICAgLCBpc0NT
U0dyaWRMYXlvdXRFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAg
ICwgaXNDU1NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQpAQCAtMjc0LDYgKzI3NSw3IEBAIENTU1Bh
cnNlckNvbnRleHQ6OkNTU1BhcnNlckNvbnRleHQoRG9jdW0KICAgICAsIGlzQ1NTQ3VzdG9tRmls
dGVyRW5hYmxlZChkb2N1bWVudC0+c2V0dGluZ3MoKSA/IGRvY3VtZW50LT5zZXR0aW5ncygpLT5p
c0NTU0N1c3RvbUZpbHRlckVuYWJsZWQoKSA6IGZhbHNlKQogICAgICwgaXNDU1NTdGlja3lQb3Np
dGlvbkVuYWJsZWQoZG9jdW1lbnQtPmNzc1N0aWNreVBvc2l0aW9uRW5hYmxlZCgpKQogICAgICwg
aXNDU1NSZWdpb25zRW5hYmxlZChkb2N1bWVudC0+Y3NzUmVnaW9uc0VuYWJsZWQoKSkKKyAgICAs
IGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkKGRvY3VtZW50LT5jc3NDb21wb3NpdGluZ0VuYWJsZWQo
KSkKICAgICAsIGlzQ1NTR3JpZExheW91dEVuYWJsZWQoZG9jdW1lbnQtPmNzc0dyaWRMYXlvdXRF
bmFibGVkKCkpCiAjaWYgRU5BQkxFKENTU19WQVJJQUJMRVMpCiAgICAgLCBpc0NTU1ZhcmlhYmxl
c0VuYWJsZWQoZG9jdW1lbnQtPnNldHRpbmdzKCkgPyBkb2N1bWVudC0+c2V0dGluZ3MoKS0+Y3Nz
VmFyaWFibGVzRW5hYmxlZCgpIDogZmFsc2UpCkBAIC0yOTIsNiArMjk0LDcgQEAgYm9vbCBvcGVy
YXRvcj09KGNvbnN0IENTU1BhcnNlckNvbnRleHQmIAogICAgICAgICAmJiBhLmlzQ1NTQ3VzdG9t
RmlsdGVyRW5hYmxlZCA9PSBiLmlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZAogICAgICAgICAmJiBh
LmlzQ1NTU3RpY2t5UG9zaXRpb25FbmFibGVkID09IGIuaXNDU1NTdGlja3lQb3NpdGlvbkVuYWJs
ZWQKICAgICAgICAgJiYgYS5pc0NTU1JlZ2lvbnNFbmFibGVkID09IGIuaXNDU1NSZWdpb25zRW5h
YmxlZAorICAgICAgICAmJiBhLmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkID09IGIuaXNDU1NDb21w
b3NpdGluZ0VuYWJsZWQKICAgICAgICAgJiYgYS5pc0NTU0dyaWRMYXlvdXRFbmFibGVkID09IGIu
aXNDU1NHcmlkTGF5b3V0RW5hYmxlZAogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAg
ICAmJiBhLmlzQ1NTVmFyaWFibGVzRW5hYmxlZCA9PSBiLmlzQ1NTVmFyaWFibGVzRW5hYmxlZApA
QCAtODIwLDEwICs4MjMsMTEgQEAgc3RhdGljIGlubGluZSBib29sIGlzVmFsaWRLZXl3b3JkUHJv
cGVydAogICAgICAgICBicmVhazsKICNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCbGVuZE1vZGU6Ci0gICAgICAgIGlmICh2YWx1ZUlEID09IENT
U1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0aXBseSB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlU2NyZWVuIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVPdmVybGF5IAotICAgICAgICAg
ICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURhcmtlbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlTGln
aHRlbiB8fCAgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yRG9kZ2UgfHwgdmFsdWVJRCA9PSBDU1NW
YWx1ZUNvbG9yQnVybiAKLSAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVIYXJkTGln
aHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNvZnRMaWdodCB8fCB2YWx1ZUlEID09IENTU1ZhbHVl
RGlmZmVyZW5jZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRXhjbHVzaW9uIAotICAgICAgICAgICAg
fHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2F0dXJhdGlv
biB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUx1bWlu
b3NpdHkpCisgICAgICAgIGlmIChwYXJzZXJDb250ZXh0LmlzQ1NTQ29tcG9zaXRpbmdFbmFibGVk
ICYmICh2YWx1ZUlEID09IENTU1ZhbHVlTm9ybWFsIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVNdWx0
aXBseSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlU2NyZWVuCisgICAgICAgICAgICB8fCB2YWx1ZUlE
ID09IENTU1ZhbHVlT3ZlcmxheSB8fCB2YWx1ZUlEID09IENTU1ZhbHVlRGFya2VuIHx8IHZhbHVl
SUQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3JEb2RnZQor
ICAgICAgICAgICAgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWx1ZUlEID09
IENTU1ZhbHVlSGFyZExpZ2h0IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQgfHwgdmFs
dWVJRCA9PSBDU1NWYWx1ZURpZmZlcmVuY2UKKyAgICAgICAgICAgIHx8IHZhbHVlSUQgPT0gQ1NT
VmFsdWVFeGNsdXNpb24gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZUh1ZSB8fCB2YWx1ZUlEID09IENT
U1ZhbHVlU2F0dXJhdGlvbiB8fCB2YWx1ZUlEID09IENTU1ZhbHVlQ29sb3IKKyAgICAgICAgICAg
IHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSkKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgICAgICBicmVhazsKICNlbmRpZgpAQCAtMjQ0OSw2ICsyNDUzLDcgQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRAogI2VuZGlmCiAjaWYgRU5BQkxFKENT
U19DT01QT1NJVElORykKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmxlbmRNb2RlOgorICAg
ICAgICBpZiAoY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkpCiAgICAgICAgICAgICB2YWxpZFByaW1p
dGl2ZSA9IHRydWU7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCkBAIC00MzE0LDExICs0MzE5LDEy
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZpbGxQcm9wZXJ0eShDU1NQcm8KICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKENTU19DT01QT1NJVElORykKICAgICAgICAgICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZEJsZW5kTW9kZToKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKHZhbC0+aWQgPT0gQ1NTVmFsdWVOb3JtYWwgfHwgdmFsLT5pZCA9PSBD
U1NWYWx1ZU11bHRpcGx5IHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9
PSBDU1NWYWx1ZU92ZXJsYXkgCi0gICAgICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09
IENTU1ZhbHVlRGFya2VuIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMaWdodGVuIHx8ICB2YWwtPmlk
ID09IENTU1ZhbHVlQ29sb3JEb2RnZQotICAgICAgICAgICAgICAgICAgICAgICAgfHwgdmFsLT5p
ZCA9PSBDU1NWYWx1ZUNvbG9yQnVybiB8fCB2YWwtPmlkID09IENTU1ZhbHVlSGFyZExpZ2h0IHx8
IHZhbC0+aWQgPT0gQ1NTVmFsdWVTb2Z0TGlnaHQKLSAgICAgICAgICAgICAgICAgICAgICAgIHx8
IHZhbC0+aWQgPT0gQ1NTVmFsdWVEaWZmZXJlbmNlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVFeGNs
dXNpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUh1ZQotICAgICAgICAgICAgICAgICAgICAgICAg
fHwgdmFsLT5pZCA9PSBDU1NWYWx1ZVNhdHVyYXRpb24gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUNv
bG9yIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVMdW1pbm9zaXR5KSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChjc3NDb21wb3NpdGluZ0VuYWJsZWQoKSAmJiAodmFsLT5pZCA9PSBDU1NWYWx1ZU5v
cm1hbCB8fCB2YWwtPmlkID09IENTU1ZhbHVlTXVsdGlwbHkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTY3JlZW4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU92
ZXJsYXkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZURhcmtlbgorICAgICAgICAgICAgICAgICAgICAg
ICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUxpZ2h0ZW4gfHwgIHZhbC0+aWQgPT0gQ1NTVmFsdWVD
b2xvckRvZGdlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVDb2xvckJ1cm4KKyAgICAgICAgICAgICAg
ICAgICAgICAgIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVIYXJkTGlnaHQgfHwgdmFsLT5pZCA9PSBD
U1NWYWx1ZVNvZnRMaWdodCB8fCB2YWwtPmlkID09IENTU1ZhbHVlRGlmZmVyZW5jZQorICAgICAg
ICAgICAgICAgICAgICAgICAgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUV4Y2x1c2lvbiB8fCB2YWwt
PmlkID09IENTU1ZhbHVlSHVlIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVTYXR1cmF0aW9uCisgICAg
ICAgICAgICAgICAgICAgICAgICB8fCB2YWwtPmlkID09IENTU1ZhbHVlQ29sb3IgfHwgdmFsLT5p
ZCA9PSBDU1NWYWx1ZUx1bWlub3NpdHkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBjdXJy
VmFsdWUgPSBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUodmFsLT5pZCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICAgICAg
ICAgICAgICB9CkBAIC04OTI2LDYgKzg5MzIsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OmNzc1JlZ2lv
bnNFbmFibGVkKCkgY29ucwogICAgIHJldHVybiBtX2NvbnRleHQuaXNDU1NSZWdpb25zRW5hYmxl
ZDsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fY29udGV4dC5pc0NTU0NvbXBvc2l0aW5nRW5hYmxlZDsKK30KKwogYm9v
bCBDU1NQYXJzZXI6OmNzc0dyaWRMYXlvdXRFbmFibGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9jb250ZXh0LmlzQ1NTR3JpZExheW91dEVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5oCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI3Miw2ICsyNzIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJz
ZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBjc3NSZWdp
b25zRW5hYmxlZCgpIGNvbnN0OworICAgIGJvb2wgY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29u
c3Q7CiAgICAgYm9vbCBwYXJzZUZsb3dUaHJlYWQoY29uc3QgU3RyaW5nJiBmbG93TmFtZSk7CiAg
ICAgYm9vbCBwYXJzZUZsb3dUaHJlYWQoQ1NTUHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQpOwog
ICAgIGJvb2wgcGFyc2VSZWdpb25UaHJlYWQoQ1NTUHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlck1vZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCShyZXZpc2lvbiAxNDUyMzkpCisr
KyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyTW9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02
Nyw2ICs2Nyw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQ1NTQ3VzdG9tRmlsdGVyRW5hYmxlZDsK
ICAgICBib29sIGlzQ1NTU3RpY2t5UG9zaXRpb25FbmFibGVkOwogICAgIGJvb2wgaXNDU1NSZWdp
b25zRW5hYmxlZDsKKyAgICBib29sIGlzQ1NTQ29tcG9zaXRpbmdFbmFibGVkOwogICAgIGJvb2wg
aXNDU1NHcmlkTGF5b3V0RW5hYmxlZDsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICBi
b29sIGlzQ1NTVmFyaWFibGVzRW5hYmxlZDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
cmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTEyNSw2ICsxMTI1LDExIEBAIGJvb2wgRG9jdW1lbnQ6OmNzc1JlZ2lv
bnNFbmFibGVkKCkgY29uc3QKICAgICByZXR1cm4gUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3Nz
UmVnaW9uc0VuYWJsZWQoKTsgCiB9CiAKK2Jvb2wgRG9jdW1lbnQ6OmNzc0NvbXBvc2l0aW5nRW5h
YmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0Nv
bXBvc2l0aW5nRW5hYmxlZCgpOworfQorCiBib29sIERvY3VtZW50Ojpjc3NHcmlkTGF5b3V0RW5h
YmxlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNldHRpbmdzKCkgJiYgc2V0dGluZ3MoKS0+Y3Nz
R3JpZExheW91dEVuYWJsZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAx
NDUyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMzQwLDYgKzM0MCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgY3NzU3RpY2t5UG9zaXRpb25F
bmFibGVkKCkgY29uc3Q7CiAgICAgYm9vbCBjc3NSZWdpb25zRW5hYmxlZCgpIGNvbnN0OworICAg
IGJvb2wgY3NzQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3Q7CiAjaWYgRU5BQkxFKENTU19SRUdJ
T05TKQogICAgIFBhc3NSZWZQdHI8RE9NTmFtZWRGbG93Q29sbGVjdGlvbj4gd2Via2l0R2V0TmFt
ZWRGbG93cygpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDU3NTkpCisrKyBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAor
MjAxMy0wMy0xMyAgUmlrIENhYmFuaWVyICA8Y2FiYW5pZXJAYWRvYmUuY29tPgorCisgICAgICAg
IGNyZWF0ZSBydW50aW1lIGZsYWdzIGZvciBDU1MgQ29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTgxOAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcHJlZmVyZW5jZSB0byBl
bmFibGUgQ1NTIGNvbXBvc2l0aW5nLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2Vz
U3RvcmUuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlOjpvdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcik6CisgICAgICAgIChXZWJL
aXQ6OkluamVjdGVkQnVuZGxlOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQpOgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmg6CisgICAgICAgIChJbmplY3RlZEJ1bmRsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVm
ZXJlbmNlcyk6CisKIDIwMTMtMDMtMTMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29t
PgogCiAgICAgICAgIFNtYWxsIFJlc291cmNlTG9hZGVyIGNsZWFudXBzLgpJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCShyZXZpc2lvbiAxNDUyMzkp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04NCw2ICs4NCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIG1hY3JvKFdl
YkdMRW5hYmxlZCwgd2ViR0xFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3Jv
KEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVn
aW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKKyAgICBtYWNybyhDU1NDb21wb3NpdGlu
Z0VuYWJsZWQsIGNzc0NvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAogICAg
IG1hY3JvKENTU0dyaWRMYXlvdXRFbmFibGVkLCBjc3NHcmlkTGF5b3V0RW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKICAgICBtYWNybyhSZWdpb25CYXNlZENvbHVtbnNFbmFibGVkLCByZWdp
b25CYXNlZENvbHVtbnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAogICAgIG1hY3JvKEZv
cmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIGZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMTQ1
MjM5KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAKICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+CiAKLSNp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkgfHwgRU5BQkxFKENTU19SRUdJT05TKSB8fCBFTkFCTEUoSUZS
QU1FX1NFQU1MRVNTKQorI2lmIEVOQUJMRShTSEFET1dfRE9NKSB8fCBFTkFCTEUoQ1NTX1JFR0lP
TlMpIHx8IEVOQUJMRShJRlJBTUVfU0VBTUxFU1MpIHx8IEVOQUJMRShDU1NfQ09NUE9TSVRJTkcp
CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg+CiAjZW5kaWYKIApA
QCAtMTk3LDYgKzE5NywxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpvdmVycmlkZUJvb2xQcmVm
ZXJlCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVk
KGVuYWJsZWQpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ1NTX0NPTVBPU0lUSU5HKQorICAgIGlm
IChwcmVmZXJlbmNlID09ICJXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWQiKQorICAgICAgICBS
dW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQoZW5hYmxlZCk7
CisjZW5kaWYKKwogICAgIC8vIE1hcCB0aGUgbmFtZXMgdXNlZCBpbiBMYXlvdXRUZXN0cyB3aXRo
IHRoZSBuYW1lcyB1c2VkIGluIFdlYkNvcmU6OlNldHRpbmdzIGFuZCBXZWJQcmVmZXJlbmNlc1N0
b3JlLgogI2RlZmluZSBGT1JfRUFDSF9PVkVSUklERV9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwK
ICAgICBtYWNybyhXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKSBcCkBA
IC02NjMsNiArNjY4LDE1IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldENTU1JlZ2lvbnNFbmFi
bGUKICNlbmRpZgogfQogCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDU1NDb21wb3NpdGluZ0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworI2lmIEVOQUJMRShDU1NfQ09NUE9TSVRJTkcpCisgICAg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGVuYWJsZWQp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CisjZW5kaWYKK30KKwogdm9pZCBJ
bmplY3RlZEJ1bmRsZTo6c2V0U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAjaWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHJl
dmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3Miw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldFNlcmlhbExvYWRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZvaWQg
c2V0U2hhZG93RE9NRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldENTU1JlZ2lvbnNFbmFibGVk
KGJvb2wpOworICAgIHZvaWQgc2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwogICAgIHZv
aWQgc2V0U2VhbWxlc3NJRnJhbWVzRW5hYmxlZChib29sKTsKICAgICB2b2lkIGRpc3BhdGNoUGVu
ZGluZ0xvYWRSZXF1ZXN0cygpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxNDUyMzkpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMzUs
NiArMjMzNSw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2UKICAg
ICBzZXR0aW5ncy0+c2V0QWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkKHN0b3JlLmdldEJv
b2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6YWdncmVzc2l2ZVRpbGVSZXRlbnRpb25F
bmFibGVkS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZChz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmNzc0N1c3RvbUZpbHRl
ckVuYWJsZWRLZXkoKSkpOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lv
bnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Y3Nz
UmVnaW9uc0VuYWJsZWRLZXkoKSkpOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENT
U0NvbXBvc2l0aW5nRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5j
ZXNLZXk6OmNzc0NvbXBvc2l0aW5nRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldENT
U0dyaWRMYXlvdXRFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNl
c0tleTo6Y3NzR3JpZExheW91dEVuYWJsZWRLZXkoKSkpOwogICAgIHNldHRpbmdzLT5zZXRSZWdp
b25CYXNlZENvbHVtbnNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJl
bmNlc0tleTo6cmVnaW9uQmFzZWRDb2x1bW5zRW5hYmxlZEtleSgpKSk7CiAgICAgc2V0dGluZ3Mt
PnNldFdlYkdMRW5hYmxlZChzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OndlYkdMRW5hYmxlZEtleSgpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
cmV2aXNpb24gMTQ1NzU5KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMy0wMy0xMyAgUmlrIENhYmFuaWVyICA8
Y2FiYW5pZXJAYWRvYmUuY29tPgorCisgICAgICAgIGNyZWF0ZSBydW50aW1lIGZsYWdzIGZvciBD
U1MgQ29tcG9zaXRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMTgxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZGVkIGEgcnVudGltZSBmbGFncyB0byBlbmFibGUgQ1NTIGNvbXBvc2l0aW5nIGZv
ciBjaHJvbWl1bS4KKworICAgICAgICAqIHB1YmxpYy9XZWJSdW50aW1lRmVhdHVyZXMuaDoKKyAg
ICAgICAgKFdlYlJ1bnRpbWVGZWF0dXJlcyk6CisgICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0
dXJlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlQ1NT
Q29tcG9zaXRpbmcpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUnVu
dGltZUZlYXR1cmVzOjppc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCk6CisKIDIwMTMtMDMtMTMgIFN0
ZXBoZW4gQ2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgbmV3
IFNraWEgY29kZSBzdXBwcmVzc2lvbiBmbGFncwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViUnVudGltZUZlYXR1cmVzLmgJKHJldmlzaW9uIDE0NTIzOSkK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xNjMsNiArMTYzLDkgQEAgcHVibGljOgogCiAgICAgV0VCS0lUX0VY
UE9SVCBzdGF0aWMgdm9pZCBlbmFibGVDU1NSZWdpb25zKGJvb2wpOwogICAgIFdFQktJVF9FWFBP
UlQgc3RhdGljIGJvb2wgaXNDU1NSZWdpb25zRW5hYmxlZCgpOworICAgIAorICAgIFdFQktJVF9F
WFBPUlQgc3RhdGljIHZvaWQgZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9vbCk7CisgICAgV0VCS0lU
X0VYUE9SVCBzdGF0aWMgYm9vbCBpc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCgpOwogCiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgdm9pZCBlbmFibGVGb250TG9hZEV2ZW50cyhib29sKTsKICAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyBib29sIGlzRm9udExvYWRFdmVudHNFbmFibGVkKCk7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAJKHJldmlzaW9uIDE0NTIzOSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1
bnRpbWVGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxMCw2ICs3MTAsMTYgQEAgYm9v
bCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzQ1NTUmVnaW9uc0VuYQogICAgIHJldHVybiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpjc3NSZWdpb25zRW5hYmxlZCgpOwogfQogCit2b2lkIFdlYlJ1bnRp
bWVGZWF0dXJlczo6ZW5hYmxlQ1NTQ29tcG9zaXRpbmcoYm9vbCBlbmFibGUpCit7CisgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Q1NTQ29tcG9zaXRpbmdFbmFibGVkKGVuYWJsZSk7Cit9
CisKK2Jvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0NTU0NvbXBvc2l0aW5nRW5hYmxlZCgpCit7
CisgICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmNzc0NvbXBvc2l0aW5nRW5hYmxl
ZCgpOworfQorCiB2b2lkIFdlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRm9udExvYWRFdmVudHMo
Ym9vbCBlbmFibGUpCiB7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0Rm9udExvYWRF
dmVudHNFbmFibGVkKGVuYWJsZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNDU3
NTkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMSBAQAorMjAxMy0wMy0xMyAgUmlrIENhYmFuaWVyICA8Y2FiYW5pZXJAYWRvYmUuY29t
PgorCisgICAgICAgIGNyZWF0ZSBydW50aW1lIGZsYWdzIGZvciBDU1MgQ29tcG9zaXRpbmcKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTgxOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcHJl
ZmVyZW5jZSB0byBlbmFibGUgQ1NTIGNvbXBvc2l0aW5nLgorCisgICAgICAgICogV2ViVmlldy9X
ZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAg
ICgtW1dlYlByZWZlcmVuY2VzIGNzc0NvbXBvc2l0aW5nRW5hYmxlZF0pOgorICAgICAgICAoLVtX
ZWJQcmVmZXJlbmNlcyBzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6XSk6CisgICAgICAgICogV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcu
bW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxMy0w
My0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBnZXQgcmlkIG9mIGhpZGRlblBhbmVscyBmaWx0ZXIKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUu
aAkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVm
ZXJlbmNlS2V5c1ByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcsNyBAQAogI2Rl
ZmluZSBXZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q1NTQ3Vz
dG9tRmlsdGVyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFi
bGVkIgogI2RlZmluZSBXZWJLaXRDU1NSZWdpb25zRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRDU1NSZWdpb25zRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVk
UHJlZmVyZW5jZUtleSBAIldlYktpdENTU0NvbXBvc2l0aW5nRW5hYmxlZCIKICNkZWZpbmUgV2Vi
S2l0Q1NTR3JpZExheW91dEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Q1NTR3JpZExheW91
dEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFNob3dEZWJ1Z0JvcmRlcnNQcmVmZXJlbmNlS2V5IEAi
V2ViS2l0U2hvd0RlYnVnQm9yZGVycyIKICNkZWZpbmUgV2ViS2l0U2hvd1JlcGFpbnRDb3VudGVy
UHJlZmVyZW5jZUtleSBAIldlYktpdFNob3dSZXBhaW50Q291bnRlciIKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMTQ1MjM5KQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMzc4LDYgKzM3OCw3IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogICAgICAgICAvLyBD
U1MgU2hhZGVycyBhbHNvIG5lZWQgV2ViR0wgZW5hYmxlZCAod2hpY2ggaXMgZGlzYWJsZWQgYnkg
ZGVmYXVsdCksIHNvIHdlIGNhbiBrZWVwIGl0IGVuYWJsZWQgZm9yIG5vdy4KICAgICAgICAgW05T
TnVtYmVyIG51bWJlcldpdGhCb29sOllFU10sIFdlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwgV2Vi
S2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5LAorICAgICAgICBbTlNOdW1iZXIgbnVt
YmVyV2l0aEJvb2w6WUVTXSwgV2ViS2l0Q1NTQ29tcG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtl
eSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgIFdlYktpdENTU0dyaWRM
YXlvdXRFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhC
b29sOk5PXSwgIFdlYktpdEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWRQcmVmZXJlbmNlS2V5LAog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCAgV2ViS2l0Q2FudmFzVXNlc0Fj
Y2VsZXJhdGVkRHJhd2luZ1ByZWZlcmVuY2VLZXksCkBAIC0xMzk0LDYgKzEzOTUsMTYgQEAgLSAo
dm9pZClzZXRDU1NSZWdpb25zRW5hYmxlZDooQk9PTCllbmFibAogICAgIFtzZWxmIF9zZXRCb29s
VmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTUmVnaW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKIH0KIAorLSAoQk9PTCljc3NDb21wb3NpdGluZ0VuYWJsZWQKK3sKKyAgICByZXR1cm4gW3Nl
bGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NDb21wb3NpdGluZ0VuYWJsZWRQcmVmZXJlbmNl
S2V5XTsKK30KKworLSAodm9pZClzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxl
ZAoreworICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZW5hYmxlZCBmb3JLZXk6V2ViS2l0Q1NTQ29t
cG9zaXRpbmdFbmFibGVkUHJlZmVyZW5jZUtleV07Cit9CisKIC0gKEJPT0wpY3NzR3JpZExheW91
dEVuYWJsZWQKIHsKICAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRDU1NH
cmlkTGF5b3V0RW5hYmxlZFByZWZlcmVuY2VLZXldOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAxNDUyMzkp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTMsNiArMTkzLDkgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKIC0gKEJPT0wpY3NzUmVnaW9uc0VuYWJsZWQ7CiAtICh2b2lkKXNldENT
U1JlZ2lvbnNFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAKKy0gKEJPT0wpY3NzQ29tcG9zaXRpbmdF
bmFibGVkOworLSAodm9pZClzZXRDU1NDb21wb3NpdGluZ0VuYWJsZWQ6KEJPT0wpZW5hYmxlZDsK
KwogLSAoQk9PTCljc3NHcmlkTGF5b3V0RW5hYmxlZDsKIC0gKHZvaWQpc2V0Q1NTR3JpZExheW91
dEVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQkocmV2aXNpb24gMTQ1MjM5KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMzLDYgKzE1MzMsNyBAQCAtICh2b2lkKV9w
cmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldENTU0N1c3Rv
bUZpbHRlckVuYWJsZWQoW3ByZWZlcmVuY2VzIGNzc0N1c3RvbUZpbHRlckVuYWJsZWRdKTsKICNl
bmRpZgogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldENTU1JlZ2lvbnNFbmFibGVkKFtw
cmVmZXJlbmNlcyBjc3NSZWdpb25zRW5hYmxlZF0pOworICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNldENTU0NvbXBvc2l0aW5nRW5hYmxlZChbcHJlZmVyZW5jZXMgY3NzQ29tcG9zaXRpbmdF
bmFibGVkXSk7CiAjaWYgRU5BQkxFKElGUkFNRV9TRUFNTEVTUykKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzZXRTZWFtbGVzc0lGcmFtZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBzZWFtbGVz
c0lGcmFtZXNFbmFibGVkXSk7CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>