<?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>147447</bug_id>
          
          <creation_ts>2015-07-30 10:53:39 -0700</creation_ts>
          <short_desc>jsc-tailcall: Don&apos;t waste stack space when arity fixup was performed</short_desc>
          <delta_ts>2015-07-31 13:32:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>146477</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Basile Clement">basile_clement</reporter>
          <assigned_to name="Basile Clement">basile_clement</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1113407</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-30 10:53:39 -0700</bug_when>
    <thetext>Currently when doing a tail call we overwrite only the number of arguments present in the call frame. However, we could have performed an arity fixup and must use the CodeBlock&apos;s number of parameters instead if it is higher.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113408</commentid>
    <comment_count>1</comment_count>
      <attachid>257840</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-30 10:56:36 -0700</bug_when>
    <thetext>Created attachment 257840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113475</commentid>
    <comment_count>2</comment_count>
      <attachid>257840</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-07-30 13:43:29 -0700</bug_when>
    <thetext>Comment on attachment 257840
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113551</commentid>
    <comment_count>3</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-30 16:19:49 -0700</bug_when>
    <thetext>Landed in r187618</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113777</commentid>
    <comment_count>4</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-31 12:13:52 -0700</bug_when>
    <thetext>This is missing the LLInt corresponding changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113803</commentid>
    <comment_count>5</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-31 12:59:26 -0700</bug_when>
    <thetext>*** Bug 147491 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113809</commentid>
    <comment_count>6</comment_count>
      <attachid>257950</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-31 13:13:09 -0700</bug_when>
    <thetext>Created attachment 257950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113815</commentid>
    <comment_count>7</comment_count>
      <attachid>257953</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-31 13:21:06 -0700</bug_when>
    <thetext>Created attachment 257953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113817</commentid>
    <comment_count>8</comment_count>
      <attachid>257953</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-07-31 13:25:09 -0700</bug_when>
    <thetext>Comment on attachment 257953
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113825</commentid>
    <comment_count>9</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-07-31 13:32:20 -0700</bug_when>
    <thetext>Committed r187676 &lt;http://trac.webkit.org/changeset/187676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257840</attachid>
            <date>2015-07-30 10:56:36 -0700</date>
            <delta_ts>2015-07-31 13:13:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147447-20150730105635.patch</filename>
            <type>text/plain</type>
            <size>12459</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MzY3ZjFkMmY1MjNhNWM1NzAxZGE2ZTRjYjVmNWMyYjViOTU4ZGI0Li5hMDY0Yzk0YTNjMWYwMjg2
YmQ1OGQzMDlhODEzNzViMThhNzJmYzBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNS0wNy0zMCAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAganNjLXRhaWxjYWxsOiBEb24ndCB3YXN0ZSBzdGFjayBzcGFj
ZSB3aGVuIGFyaXR5IGZpeHVwIHdhcyBwZXJmb3JtZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gZG9pbmcgYSB0YWlsIGNhbGwsIHdlIG92ZXJ3
cml0ZSBhbiBhbW91bnQgb2Ygc3RhY2sgc3BhY2UgYmFzZWQgb24KKyAgICAgICAgdGhlIG51bWJl
ciBvZiBhcmd1bWVudHMgaW4gdGhlIGNhbGwgZnJhbWUuIElmIHdlIGVudGVyZWQgdGhlIHRhaWwK
KyAgICAgICAgY2FsbGVyIGJ5IHBlcmZvcm1pbmcgYW4gYXJpdHkgZml4dXAsIHRoaXMgaXMgaW5j
b3JyZWN0IGFuZCBsZWFkcyB0bworICAgICAgICB3YXN0ZWQgc3RhY2sgc3BhY2UgLSB3ZSBtdXN0
IHVzZSB0aGUgQ29kZUJsb2NrJ3MgbnVtYmVyIG9mIHBhcmFtZXRlcnMKKyAgICAgICAgaW5zdGVh
ZCBpbiB0aGF0IGNhc2UuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhbHNvIG1vdmluZyB0aGUg
cHJlcGFyZUZvclRhaWxDYWxsKCkgZnVuY3Rpb24gZnJvbQorICAgICAgICBqaXQvVGh1bmtHZW5l
cmF0b3JzLmggdG8gdGhlIHBsYWNlIHdoZXJlIGl0IHNob3VsZCBoYXZlIGFsd2F5cyBiZWVuLAor
ICAgICAgICBuYW1lbHkgaml0L0NDYWxsSGVscGVycy5oCisKKyAgICAgICAgKiBqaXQvQ0NhbGxI
ZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkNDYWxsSGVscGVyczo6cHJlcGFyZUZvclRhaWxDYWxs
U2xvdyk6CisgICAgICAgICogaml0L0pJVENhbGwuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmNv
bXBpbGVPcENhbGwpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6
bGlua1BvbHltb3JwaGljQ2FsbCk6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6
CisgICAgICAgIChKU0M6OnNsb3dQYXRoRm9yKToKKyAgICAgICAgKEpTQzo6dmlydHVhbFRodW5r
Rm9yKToKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmg6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL3RhaWwtY2FsbC1uby1zdGFjay1vdmVyZmxvdy5qczoKKyAgICAgICAgKHN0cmljdExv
b3BBcml0eUZpeHVwKToKKwogMjAxNS0wNy0yMyAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xl
bWVudEBhcHBsZS5jb20+CiAKICAgICAgICAganNjLXRhaWxjYWxsOiBSZXBhdGNoaW5nIHRhaWwg
Y2FsbHMgYXMganVtcCBzaG91bGQgZGVwZW5kIG9uIHRoZSBvcGNvZGUsIG5vdCB0aGUgSlMgQ2Fs
bExpbmtJbmZvCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVs
cGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAppbmRleCBi
NjkyOTNiZjY5N2VjNTg3ZWU5Mzk2YTIzYWU5NDcwNGUyMmNmZWI3Li5hN2RkOThjOGEwYzhiNmU0
YTRiOTExMmIzMjBmYzc5ODQ1ZTE0OTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0Nh
bGxIZWxwZXJzLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkFzc2VtYmx5SGVscGVy
cy5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKKyNpbmNsdWRlICJTdGFja0FsaWdubWVudC5oIgog
CiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtMjAyMCw2ICsyMDIxLDcwIEBAIHB1YmxpYzoKICAgICAg
ICAgbG9hZFB0cigmdm0oKS0+dGFyZ2V0TWFjaGluZVBDRm9yVGhyb3csIEdQUkluZm86OnJlZ1Qx
KTsKICAgICAgICAganVtcChHUFJJbmZvOjpyZWdUMSk7CiAgICAgfQorCisgICAgdm9pZCBwcmVw
YXJlRm9yVGFpbENhbGxTbG93KGNvbnN0IFRlbXBSZWdpc3RlclNldCYgdXNlZFJlZ2lzdGVycyA9
IHsgUmVnaXN0ZXJTZXQ6OnNwZWNpYWxSZWdpc3RlcnMoKSB9KQorICAgIHsKKyAgICAgICAgR1BS
UmVnIHRlbXAxID0gdXNlZFJlZ2lzdGVycy5nZXRGcmVlR1BSKDApOworICAgICAgICBHUFJSZWcg
dGVtcDIgPSB1c2VkUmVnaXN0ZXJzLmdldEZyZWVHUFIoMSk7CisgICAgICAgIEFTU0VSVCh0ZW1w
MiAhPSBJbnZhbGlkR1BSUmVnKTsKKworICAgICAgICBzdWJQdHIoVHJ1c3RlZEltbTMyKHNpemVv
ZihDYWxsZXJGcmFtZUFuZFBDKSksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICAgICAgbG9h
ZFB0cihBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKSwgdGVtcDEpOworICAgICAg
ICBzdG9yZVB0cih0ZW1wMSwgQWRkcmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlcikpOworICAgICAg
ICBsb2FkUHRyKEFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHNpemVvZih2b2lk
KikpLCB0ZW1wMSk7CisgICAgICAgIHN0b3JlUHRyKHRlbXAxLCBBZGRyZXNzKHN0YWNrUG9pbnRl
clJlZ2lzdGVyLCBzaXplb2Yodm9pZCopKSk7CisKKyAgICAgICAgLy8gTm93IHN0YWNrUG9pbnRl
clJlZ2lzdGVyIHBvaW50cyB0byBhIHZhbGlkIGNhbGwgZnJhbWUgZm9yIHRoZSBjYWxsZWUKKyAg
ICAgICAgLy8gYW5kIGNhbGxGcmFtZVJlZ2lzdGVyIHBvaW50cyB0byBvdXIgb3duIGNhbGwgZnJh
bWUuCisgICAgICAgIC8vIFdlIG5vdyBzbGlkZSB0aGUgY2FsbGVlJ3MgY2FsbCBmcmFtZSBvdmVy
IG91ciBvd24gY2FsbCBmcmFtZSwKKyAgICAgICAgLy8gc3RhcnRpbmcgd2l0aCB0aGUgdG9wIHRv
IGF2b2lkIHVud2FudGVkIG92ZXJ3cml0ZXMKKworICAgICAgICAvLyBNb3ZlIHRoZSBjYWxsRnJh
bWVSZWdpc3RlciB0byB0aGUgdG9wIG9mIG91ciAodHJhc2hlZCkgY2FsbCBmcmFtZQorICAgICAg
ICBsb2FkMzIoQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6QXJn
dW1lbnRDb3VudCAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkgKyBQYXlsb2Fk
T2Zmc2V0KSwKKyAgICAgICAgICAgIHRlbXAxKTsKKworICAgICAgICAvLyBXZSBuZWVkIHRvIHVz
ZSB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaW5zdGVhZCBvZiB0aGUgYXJndW1lbnQgY291bnQg
aW4gY2FzZSBvZiBhcml0eSBmaXh1cAorICAgICAgICBsb2FkUHRyKEFkZHJlc3MoR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTU3RhY2s6OkNvZGVCbG9jayAqIHN0YXRpY19jYXN0PGludD4o
c2l6ZW9mKFJlZ2lzdGVyKSkpLCB0ZW1wMik7CisgICAgICAgIGxvYWQzMihBZGRyZXNzKHRlbXAy
LCBDb2RlQmxvY2s6Om9mZnNldE9mTnVtUGFyYW1ldGVycygpKSwgdGVtcDIpOworICAgICAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBhcmd1bWVudENvdW50V2FzTm90Rml4ZWRVcCA9IGJyYW5jaDMy
KEJlbG93T3JFcXVhbCwgdGVtcDIsIHRlbXAxKTsKKyAgICAgICAgbW92ZSh0ZW1wMiwgdGVtcDEp
OworICAgICAgICBhcmd1bWVudENvdW50V2FzTm90Rml4ZWRVcC5saW5rKHRoaXMpOworCisgICAg
ICAgIGFkZDMyKFRydXN0ZWRJbW0zMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpICsgSlNTdGFj
azo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIDEpLCB0ZW1wMSk7CisgICAgICAgIGFuZDMyKFRydXN0
ZWRJbW0zMigtc3RhY2tBbGlnbm1lbnRSZWdpc3RlcnMoKSksIHRlbXAxKTsKKyAgICAgICAgbXVs
MzIoVHJ1c3RlZEltbTMyKHNpemVvZihSZWdpc3RlcikpLCB0ZW1wMSwgdGVtcDEpOworICAgICAg
ICBhZGRQdHIodGVtcDEsIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKKworICAgICAgICAv
LyBDb21wdXRlIHRoZSBjYWxsIGZyYW1lIHNpemUgb2YgdGhlIGNhbGxlZSdzIGNhbGwgZnJhbWUK
KyAgICAgICAgbG9hZDMyKEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OkFy
Z3VtZW50Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9h
ZE9mZnNldCksCisgICAgICAgICAgICB0ZW1wMik7CisgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0z
MihzdGFja0FsaWdubWVudFJlZ2lzdGVycygpICsgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6
ZSAtIDEpLCB0ZW1wMik7CisgICAgICAgIGFuZDMyKFRydXN0ZWRJbW0zMigtc3RhY2tBbGlnbm1l
bnRSZWdpc3RlcnMoKSksIHRlbXAyKTsKKworI2lmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgICAg
IENPTVBJTEVfQVNTRVJUKHNpemVvZih2b2lkKikgKiAyID09IHNpemVvZihSZWdpc3RlciksIFJl
Z2lzdGVyX2lzX3R3b19wb2ludGVyc19zaXplZCk7CisgICAgICAgIGxzaGlmdDMyKFRydXN0ZWRJ
bW0zMigxKSwgdGVtcDIpOworI2VuZGlmCisKKyAgICAgICAgLy8gRG8gdGhlIHNsaWRpbmcKKyAg
ICAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIGNvcHlMb29wKGxhYmVsKCkpOworCisgICAgICAg
IHN1YlB0cihUcnVzdGVkSW1tMzIoc2l6ZW9mKHZvaWQqKSksIEdQUkluZm86OmNhbGxGcmFtZVJl
Z2lzdGVyKTsKKyAgICAgICAgc3ViMzIoVHJ1c3RlZEltbTMyKDEpLCB0ZW1wMik7CisgICAgICAg
IGxvYWRQdHIoQmFzZUluZGV4KHN0YWNrUG9pbnRlclJlZ2lzdGVyLCB0ZW1wMiwgTWFjcm9Bc3Nl
bWJsZXI6OnRpbWVzUHRyKCkpLCB0ZW1wMSk7CisgICAgICAgIHN0b3JlUHRyKHRlbXAxLCBBZGRy
ZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKSk7CisKKyAgICAgICAgYnJhbmNoVGVzdDMy
KE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCB0ZW1wMikubGlua1RvKGNvcHlMb29wLCB0aGlzKTsK
KworICAgICAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOworICAgIH0KKworICAgIHZvaWQgcHJl
cGFyZUZvclRhaWxDYWxsU2xvdyhHUFJSZWcgY2FsbGVlR1BSKQorICAgIHsKKyAgICAgICAgVGVt
cFJlZ2lzdGVyU2V0IHVzZWRSZWdpc3RlcnMgeyBSZWdpc3RlclNldDo6c3BlY2lhbFJlZ2lzdGVy
cygpIH07CisgICAgICAgIHVzZWRSZWdpc3RlcnMuc2V0KGNhbGxlZUdQUik7CisgICAgICAgIHBy
ZXBhcmVGb3JUYWlsQ2FsbFNsb3codXNlZFJlZ2lzdGVycyk7CisgICAgfQogfTsKIAogfSAvLyBu
YW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENh
bGwuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAppbmRleCBmZTM3
M2ViNTU5YzdhOWM4Y2Q4MGQ3MGQ4Y2M2MDJlNzE4Y2VkMzEwLi5kZTFjODc1YmZmMzY3YTEwMzdl
ZDM1MTJiZjE2ODM0MjlhMjU5ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVENhbGwuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5j
cHAKQEAgLTE4Niw3ICsxODYsNyBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBv
cGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCB1bnNpZ25lZCBjYQogICAgIG1fY2Fs
bENvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0luZm9JbmRleF0uY2FsbExpbmtJbmZvID0gaW5mbzsK
IAogICAgIGlmIChvcGNvZGVJRCA9PSBvcF90YWlsX2NhbGwgfHwgb3Bjb2RlSUQgPT0gb3BfdGFp
bF9jYWxsX3ZhcmFyZ3MpIHsKLSAgICAgICAgcHJlcGFyZUZvclRhaWxDYWxsKCp0aGlzKTsKKyAg
ICAgICAgcHJlcGFyZUZvclRhaWxDYWxsU2xvdygpOwogICAgICAgICBtX2NhbGxDb21waWxhdGlv
bkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhPdGhlciA9IGVtaXROYWtlZFRhaWxDYWxs
KCk7CiAgICAgICAgIC8vIFdlIG11c3QgbmV2ZXIgY29tZSBiYWNrIGhlcmUKICAgICAgICAgYnJl
YWtwb2ludCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNo
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKaW5kZXggMDhhYjdk
ODY3NDkwZTEyMjQyYzU2ZmVmMTc0NzMxMWQzNTkzNjRlNC4uNjhkYWYxZThiYzgyZTZkZjU0M2Jm
ZTU2YzZhYTIxZDRmYWIxMjc3NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2guY3Bw
CkBAIC0xODgxLDcgKzE4ODEsNyBAQCB2b2lkIGxpbmtQb2x5bW9ycGhpY0NhbGwoCiAgICAgICAg
ICAgICAgICAgQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKGZhc3RDb3VudHNCYXNlR1BSLCBjYXNlSW5k
ZXggKiBzaXplb2YodWludDMyX3QpKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKENhbGxMaW5r
SW5mbzo6aXNUYWlsQ2FsbFR5cGUoY2FsbExpbmtJbmZvLmNhbGxUeXBlKCkpKSB7Ci0gICAgICAg
ICAgICBwcmVwYXJlRm9yVGFpbENhbGwoc3R1YkppdCk7CisgICAgICAgICAgICBzdHViSml0LnBy
ZXBhcmVGb3JUYWlsQ2FsbFNsb3coKTsKICAgICAgICAgICAgIGNhbGxzW2Nhc2VJbmRleF0uY2Fs
bCA9IHN0dWJKaXQubmVhclRhaWxDYWxsKCk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAg
Y2FsbHNbY2FzZUluZGV4XS5jYWxsID0gc3R1YkppdC5uZWFyQ2FsbCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCmluZGV4IDNlOWM5ZmI0NDRlNzBm
N2E4MDk3Y2VkODlhMWY5YTMzNjBlNzJkMDEuLjlkZDIxN2Q3ZTk5ZWEyNTJhNTJmMDhkM2IyZDZj
YzFiMmRlYWE5Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtH
ZW5lcmF0b3JzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAKQEAgLTEwNiw5ICsxMDYsNyBAQCBzdGF0aWMgdm9pZCBzbG93UGF0aEZvcigKIAog
ICAgIGlmIChDYWxsTGlua0luZm86OmlzVGFpbENhbGxUeXBlKGNhbGxUeXBlKSkgewogICAgICAg
ICBqaXQucHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKEdQUkluZm86Om5vblByZXNlcnZl
ZE5vblJldHVybkdQUik7Ci0gICAgICAgIGppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BS
LCBHUFJJbmZvOjpyZWdUNCk7IC8vIEZJWE1FCi0gICAgICAgIHByZXBhcmVGb3JUYWlsQ2FsbChq
aXQpOwotICAgICAgICBqaXQuanVtcChHUFJJbmZvOjpyZWdUNCk7CisgICAgICAgIGppdC5wcmVw
YXJlRm9yVGFpbENhbGxTbG93KEdQUkluZm86OnJldHVyblZhbHVlR1BSKTsKICAgICB9CiAgICAg
ZG9Ob3RUcmFzaC5saW5rKCZqaXQpOwogICAgIGppdC5qdW1wKEdQUkluZm86OnJldHVyblZhbHVl
R1BSKTsKQEAgLTMwNSw3ICszMDMsNyBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIHZp
cnR1YWxUaHVua0ZvcigKICAgICBlbWl0UG9pbnRlclZhbGlkYXRpb24oaml0LCBHUFJJbmZvOjpy
ZWdUNCk7CiAgICAgaWYgKENhbGxMaW5rSW5mbzo6aXNUYWlsQ2FsbFR5cGUoY2FsbExpbmtJbmZv
LmNhbGxUeXBlKCkpKSB7CiAgICAgICAgIGppdC5wcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNh
bGwoR1BSSW5mbzo6cmVnVDApOwotICAgICAgICBwcmVwYXJlRm9yVGFpbENhbGwoaml0KTsKKyAg
ICAgICAgaml0LnByZXBhcmVGb3JUYWlsQ2FsbFNsb3coR1BSSW5mbzo6cmVnVDQpOwogICAgIH0K
ICAgICBqaXQuanVtcChHUFJJbmZvOjpyZWdUNCk7CiAKQEAgLTYzMyw1MSArNjMxLDYgQEAgTWFj
cm9Bc3NlbWJsZXJDb2RlUmVmIHVucmVhY2hhYmxlR2VuZXJhdG9yKFZNKiB2bSkKICAgICByZXR1
cm4gRklOQUxJWkVfQ09ERShwYXRjaEJ1ZmZlciwgKCJ1bnJlYWNoYWJsZSB0aHVuayIpKTsKIH0K
IAotdm9pZCBwcmVwYXJlRm9yVGFpbENhbGwoQ0NhbGxIZWxwZXJzJiBqaXQpCi17Ci0gICAgaml0
LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihzaXplb2YoQ2FsbGVyRnJhbWVBbmRQ
QykpLCBKU0ludGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwotICAgIGppdC5sb2Fk
UHRyKENDYWxsSGVscGVyczo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0
ZXIpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDEpOwotICAgIGppdC5zdG9yZVB0cihKU0ludGVyZmFj
ZUpJVDo6cmVnVDEsIENDYWxsSGVscGVyczo6QWRkcmVzcyhKU0ludGVyZmFjZUpJVDo6c3RhY2tQ
b2ludGVyUmVnaXN0ZXIpKTsKLSAgICBqaXQubG9hZFB0cihDQ2FsbEhlbHBlcnM6OkFkZHJlc3Mo
SlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCBzaXplb2Yodm9pZCopKSwgSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmVQdHIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Qx
LCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lz
dGVyLCBzaXplb2Yodm9pZCopKSk7Ci0KLSAgICAvLyBOb3cgc3RhY2tQb2ludGVyUmVnaXN0ZXIg
cG9pbnRzIHRvIGEgdmFsaWQgY2FsbCBmcmFtZSBmb3IgdGhlIGNhbGxlZQotICAgIC8vIGFuZCBj
YWxsRnJhbWVSZWdpc3RlciBwb2ludHMgdG8gb3VyIG93biBjYWxsIGZyYW1lLgotICAgIC8vIFdl
IG5vdyBzbGlkZSB0aGUgY2FsbGVlJ3MgY2FsbCBmcmFtZSBvdmVyIG91ciBvd24gY2FsbCBmcmFt
ZSwKLSAgICAvLyBzdGFydGluZyB3aXRoIHRoZSB0b3AgdG8gYXZvaWQgdW53YW50ZWQgb3Zlcndy
aXRlcwotCi0gICAgLy8gTW92ZSB0aGUgY2FsbEZyYW1lUmVnaXN0ZXIgdG8gdGhlIHRvcCBvZiBv
dXIgKHRyYXNoZWQpIGNhbGwgZnJhbWUKLSAgICBqaXQubG9hZDMyKENDYWxsSGVscGVyczo6QWRk
cmVzcyhKU0ludGVyZmFjZUpJVDo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEpTU3RhY2s6OkFyZ3VtZW50
Q291bnQgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpICsgUGF5bG9hZE9mZnNl
dCksCi0gICAgICAgIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Ci0gICAgaml0LmFkZDMyKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTMyKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkgKyBKU1N0YWNr
OjpDYWxsRnJhbWVIZWFkZXJTaXplIC0gMSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMSk7Ci0gICAg
aml0LmFuZDMyKENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKC1zdGFja0FsaWdubWVudFJlZ2lz
dGVycygpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQubXVsMzIoQ0NhbGxIZWxw
ZXJzOjpUcnVzdGVkSW1tMzIoc2l6ZW9mKFJlZ2lzdGVyKSksIEpTSW50ZXJmYWNlSklUOjpyZWdU
MSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklU
OjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLQotICAgIC8vIENv
bXB1dGUgdGhlIGNhbGwgZnJhbWUgc2l6ZSBvZiB0aGUgY2FsbGVlJ3MgY2FsbCBmcmFtZQotICAg
IGppdC5sb2FkMzIoQ0NhbGxIZWxwZXJzOjpBZGRyZXNzKEpTSW50ZXJmYWNlSklUOjpzdGFja1Bv
aW50ZXJSZWdpc3RlciwgSlNTdGFjazo6QXJndW1lbnRDb3VudCAqIHN0YXRpY19jYXN0PGludD4o
c2l6ZW9mKFJlZ2lzdGVyKSkgKyBQYXlsb2FkT2Zmc2V0KSwKLSAgICAgICAgSlNJbnRlcmZhY2VK
SVQ6OnJlZ1QyKTsKLSAgICBqaXQuYWRkMzIoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIoc3Rh
Y2tBbGlnbm1lbnRSZWdpc3RlcnMoKSArIEpTU3RhY2s6OkNhbGxGcmFtZUhlYWRlclNpemUgLSAx
KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSAgICBqaXQuYW5kMzIoQ0NhbGxIZWxwZXJzOjpU
cnVzdGVkSW1tMzIoLXN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkpLCBKU0ludGVyZmFjZUpJVDo6
cmVnVDIpOwotCi0jaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBDT01QSUxFX0FTU0VSVChzaXpl
b2Yodm9pZCopICogMiA9PSBzaXplb2YoUmVnaXN0ZXIpLCBSZWdpc3Rlcl9pc190d29fcG9pbnRl
cnNfc2l6ZWQpOwotICAgIGppdC5sc2hpZnQzMihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMigx
KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QyKTsKLSNlbmRpZgotCi0gICAgLy8gRG8gdGhlIHNsaWRp
bmcKLSAgICBNYWNyb0Fzc2VtYmxlcjo6TGFiZWwgY29weUxvb3Aoaml0LmxhYmVsKCkpOwotCi0g
ICAgaml0LnN1YlB0cihDQ2FsbEhlbHBlcnM6OlRydXN0ZWRJbW0zMihzaXplb2Yodm9pZCopKSwg
SlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAgICBqaXQuc3ViMzIoQ0NhbGxI
ZWxwZXJzOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjpyZWdUMik7Ci0gICAgaml0
LmxvYWRQdHIoQ0NhbGxIZWxwZXJzOjpCYXNlSW5kZXgoSlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9p
bnRlclJlZ2lzdGVyLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIsIE1hY3JvQXNzZW1ibGVyOjp0aW1l
c1B0cigpKSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QxKTsKLSAgICBqaXQuc3RvcmVQdHIoSlNJbnRl
cmZhY2VKSVQ6OnJlZ1QxLCBDQ2FsbEhlbHBlcnM6OkFkZHJlc3MoSlNJbnRlcmZhY2VKSVQ6OmNh
bGxGcmFtZVJlZ2lzdGVyKSk7Ci0KLSAgICBqaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVy
OjpOb25aZXJvLCBKU0ludGVyZmFjZUpJVDo6cmVnVDIpLmxpbmtUbyhjb3B5TG9vcCwgJmppdCk7
Ci0KLSAgICBqaXQuZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKTsKLX0KLQogTWFjcm9Bc3NlbWJsZXJD
b2RlUmVmIGJhc2VsaW5lR2V0dGVyUmV0dXJuVGh1bmtHZW5lcmF0b3IoVk0qIHZtKQogewogICAg
IEpTSW50ZXJmYWNlSklUIGppdCh2bSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L1RodW5rR2VuZXJhdG9ycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVu
a0dlbmVyYXRvcnMuaAppbmRleCBiMWYxNGE4M2I2ODIyZWM0ZGM4MmI3OWZhYzQwODgwZWVkODFh
NDcxLi4yY2IxMTYwYjJhOTNjNzQyMTIwMjRhOWVkNzg5M2I5MmQzMTcyNTQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmgKQEAgLTYwLDggKzYwLDYgQEAg
TWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZVRhaWxDYWxsR2VuZXJhdG9yKFZNKik7CiBNYWNy
b0Fzc2VtYmxlckNvZGVSZWYgYXJpdHlGaXh1cEdlbmVyYXRvcihWTSopOwogTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmIHVucmVhY2hhYmxlR2VuZXJhdG9yKFZNKik7CiAKLXZvaWQgcHJlcGFyZUZvclRh
aWxDYWxsKENDYWxsSGVscGVycyYgaml0KTsKLQogTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGJhc2Vs
aW5lR2V0dGVyUmV0dXJuVGh1bmtHZW5lcmF0b3IoVk0qIHZtKTsKIE1hY3JvQXNzZW1ibGVyQ29k
ZVJlZiBiYXNlbGluZVNldHRlclJldHVyblRodW5rR2VuZXJhdG9yKFZNKiB2bSk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLW5vLXN0
YWNrLW92ZXJmbG93LmpzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWls
LWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanMKaW5kZXggMDllYjljNWFhNjAyYjBkNDQ3NDZkZWJh
YTdkNmU4NTJjOTE4ZjM5Zi4uMzhiMDI4YzdiY2U5ZmFmNWVhNGYzMmVmZTQ2MzRlOTdkNGUxM2M3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNh
bGwtbm8tc3RhY2stb3ZlcmZsb3cuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanMKQEAgLTI0LDUgKzI0LDE0IEBA
IGZ1bmN0aW9uIHN0cmljdExvb3AobikgewogICAgICAgICByZXR1cm4gc3RyaWN0TG9vcChuIC0g
MSk7CiB9CiAKK2Z1bmN0aW9uIHN0cmljdExvb3BBcml0eUZpeHVwKG4sIGR1bW15KSB7CisgICAg
InVzZSBzdHJpY3QiOworICAgIGlmIChuID4gMCkKKyAgICAgICAgcmV0dXJuIHN0cmljdExvb3BB
cml0eUZpeHVwKG4gLSAxKTsKK30KKwogc2hvdWxkVGhyb3coZnVuY3Rpb24gKCkgeyBzbG9wcHlM
b29wKDEwMDAwMCk7IH0sICdSYW5nZUVycm9yOiBNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNl
ZWRlZC4nKTsKKworLy8gVGhlc2Ugc2hvdWxkIG5vdCB0aHJvdwogc3RyaWN0TG9vcCgxMDAwMDAp
Oworc3RyaWN0TG9vcEFyaXR5Rml4dXAoMTAwMDAwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257950</attachid>
            <date>2015-07-31 13:13:09 -0700</date>
            <delta_ts>2015-07-31 13:21:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147447-20150731131307.patch</filename>
            <type>text/plain</type>
            <size>12746</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NjA1YWJjZWUzMThjZGZjZTVhN2JhZDA0MWMyYTM5ZjlkYmMxOTM1Li5kYzUxZmRkODRiZDliZjQ2
MzM4YmQ3MzczOGI0YmU0YzE1MjI3N2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MSBAQAorMjAxNS0wNy0zMSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAganNjLXRhaWxjYWxsOiBEb24ndCB3YXN0ZSBzdGFjayBzcGFj
ZSB3aGVuIGFyaXR5IGZpeHVwIHdhcyBwZXJmb3JtZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxODc2MTggdHJpZWQgdG8gaGFuZGxlIHRoaXMsIGJ1
dCBkaWQgbm90IGluY2x1ZGUgdGhlIExMSW50IGFuZCBkaWQgaXQKKyAgICAgICAgd3JvbmcgYW55
d2F5LiBXaGVuIG1ha2luZyBhIGNhbGwsIHRoZSBjYWxsZXIgZmlyc3QgYWxpZ25zIHRoZSBjYWxs
ZWUncworICAgICAgICBmcmFtZSwgdGhlbiBtYWtlcyB0aGUgY2FsbC4gSWYgdGhlIGNhbGxlZSBs
YXRlciBwZXJmb3JtcyBhcml0eSBmaXh1cCwKKyAgICAgICAgaXQgZG9lcyBub3QgdHJ5IHRvIHJl
dXNlIHRoZSBwb3RlbnRpYWwgc2xvdCBsZWZ0IGVtcHR5IGJ5IHRoZSBjYWxsZXIncworICAgICAg
ICBmcmFtZSBhbGlnbm1lbnQ6IGluc3RlYWQsIGl0IGFsaWducyB0aGUgcGFyYW1ldGVycyAtIGFy
Z3VtZW50cyBkZWx0YS4KKyAgICAgICAgU28gd2hlbiB0cnlpbmcgdG8gZmluZCBvdXQgd2hlcmUg
b3VyIGZyYW1lIHN0YXJ0cywgd2Ugc2hvdWxkIHJlcGxpY2F0ZQorICAgICAgICB0aGlzIGJlaGF2
aW9yLCB3aGljaCB3ZSB3ZXJlIHByZXZpb3VzbHkgbm90IGRvaW5nIGFuZCB3YXMgdGhlIGNhdXNl
IG9mCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc0
OTEuCisKKyAgICAgICAgV2hpbGUgaGVyZSwgSSBhbHNvIHJlbW92ZWQgdGhlIGV4dHJhIHNsb3Qg
dGhhdCB1c2VkIHRvIHNhdmUgdGhlCisgICAgICAgIHJldHVyblBDIGZvciB0aGUgYXJpdHkgZml4
dXAgcmV0dXJuIHRodW5rICh0aGF0IHdlIGdvdCByaWQgb2YgaW4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Njg0NykgYW5kIHdhcyBub3cganVzdAor
ICAgICAgICB3YXN0aW5nIHN0YWNrIHNwYWNlLiBJIGFsc28gYWRkZWQgY2FsbGVlIHNhdmUgcmVz
dG9yYXRpb24gYmVmb3JlCisgICAgICAgIHBlcmZvcm1pbmcgYSB0YWlsIGNhbGwgaW4gdGhlIExM
SW50LCBhbmQgc2ltcGxpZmllZCBjYWxsZWUtc2F2ZQorICAgICAgICByZXN0b3JhdGlvbiB3aGVu
IG1ha2luZyBhIGNhbGwgaW4gdGhlIEpJVCBieSByZXN0b3JpbmcgYmVmb3JlIGRlY2lkaW5nCisg
ICAgICAgIHdoZXRoZXIgdG8gdGFrZSB0aGUgZmFzdCBwYXRoIG9yIG5vdCwgd2hpY2ggcmVkdWNl
cyBjb2RlIHNpemUgYSBiaXQuCisKKyAgICAgICAgKiBqaXQvQ0NhbGxIZWxwZXJzLmg6CisgICAg
ICAgICogaml0L0pJVENhbGwuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmNvbXBpbGVPcENhbGwp
OgorICAgICAgICAqIGppdC9KSVRDYWxsMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OmNv
bXBpbGVPcENhbGwpOgorICAgICAgICAqIGppdC9UaHVua0dlbmVyYXRvcnMuY3BwOgorICAgICAg
ICAoSlNDOjphcml0eUZpeHVwR2VuZXJhdG9yKToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToKKyAgICAgICAgKiBydW50aW1lL0NvbW1vblNsb3dQYXRocy5oOgorICAg
ICAgICAoSlNDOjpDb21tb25TbG93UGF0aHM6OmFyaXR5Q2hlY2tGb3IpOgorICAgICAgICAqIHRl
c3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanM6CisgICAgICAgIChzdHJp
Y3RMb29wQXJpdHlGaXh1cDEpOgorICAgICAgICAoc3RyaWN0TG9vcEFyaXR5Rml4dXAyKToKKwog
MjAxNS0wNy0zMCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAg
ICBqc2MtdGFpbGNhbGw6IExMaW50LCBCYXNlbGluZSBhbmQgREZHIEpJVCBzaG91bGQgc2F2ZSAm
IHJlc3RvcmUgcGxhdGZvcm0ncyBjYWxsZWUtc2F2ZSByZWdpc3RlcnMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0NDYWxsSGVscGVycy5oCmluZGV4IGE3ZGQ5OGM4YTBjOGI2ZTRhNGI5MTEyYjMy
MGZjNzk4NDVlMTQ5M2MuLjFlYTk5OTJlYmJiY2RiZDdkZDg0MDc0MjEwYjUxNTc5MGNkYTBkODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhlbHBlcnMuaApAQCAtMjA0Nyw3ICsy
MDQ3LDEwIEBAIHB1YmxpYzoKICAgICAgICAgbG9hZFB0cihBZGRyZXNzKEdQUkluZm86OmNhbGxG
cmFtZVJlZ2lzdGVyLCBKU1N0YWNrOjpDb2RlQmxvY2sgKiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVv
ZihSZWdpc3RlcikpKSwgdGVtcDIpOwogICAgICAgICBsb2FkMzIoQWRkcmVzcyh0ZW1wMiwgQ29k
ZUJsb2NrOjpvZmZzZXRPZk51bVBhcmFtZXRlcnMoKSksIHRlbXAyKTsKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgYXJndW1lbnRDb3VudFdhc05vdEZpeGVkVXAgPSBicmFuY2gzMihCZWxv
d09yRXF1YWwsIHRlbXAyLCB0ZW1wMSk7Ci0gICAgICAgIG1vdmUodGVtcDIsIHRlbXAxKTsKKyAg
ICAgICAgc3ViMzIodGVtcDEsIHRlbXAyKTsKKyAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkgLSAxKSwgdGVtcDIpOworICAgICAgICBhbmQzMihUcnVz
dGVkSW1tMzIoLXN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCkpLCB0ZW1wMik7CisgICAgICAgIGFk
ZDMyKHRlbXAyLCB0ZW1wMSk7CiAgICAgICAgIGFyZ3VtZW50Q291bnRXYXNOb3RGaXhlZFVwLmxp
bmsodGhpcyk7CiAKICAgICAgICAgYWRkMzIoVHJ1c3RlZEltbTMyKHN0YWNrQWxpZ25tZW50UmVn
aXN0ZXJzKCkgKyBKU1N0YWNrOjpDYWxsRnJhbWVIZWFkZXJTaXplIC0gMSksIHRlbXAxKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwCmluZGV4IGUxZjQxZWM0ZTBiNzk4NTdiNjFl
NmViMzVhODg0NjIyOTkyODljOGUuLjk5MzQ0MWFhMTc1OGUxMjE3MTJhNGFjNmQzNzE0OThjYTI5
NzA5NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcApAQCAtMTgxLDYgKzE4
MSw5IEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29kZUlEIG9wY29kZUlELCBJbnN0cnVj
dGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGNhCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBpZiAob3Bjb2RlSUQgPT0gb3BfdGFpbF9jYWxsIHx8IG9wY29kZUlEID09IG9wX3RhaWxf
Y2FsbF92YXJhcmdzKQorICAgICAgICBlbWl0UmVzdG9yZUNhbGxlZVNhdmVzKCk7CisKICAgICBE
YXRhTGFiZWxQdHIgYWRkcmVzc09mTGlua2VkRnVuY3Rpb25DaGVjazsKICAgICBKdW1wIHNsb3dD
YXNlID0gYnJhbmNoUHRyV2l0aFBhdGNoKE5vdEVxdWFsLCByZWdUMCwgYWRkcmVzc09mTGlua2Vk
RnVuY3Rpb25DaGVjaywgVHJ1c3RlZEltbVB0cigwKSk7CiAgICAgYWRkU2xvd0Nhc2Uoc2xvd0Nh
c2UpOwpAQCAtMTkyLDcgKzE5NSw2IEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29kZUlE
IG9wY29kZUlELCBJbnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGNhCiAgICAgbV9j
YWxsQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5jYWxsTGlua0luZm8gPSBpbmZv
OwogCiAgICAgaWYgKG9wY29kZUlEID09IG9wX3RhaWxfY2FsbCB8fCBvcGNvZGVJRCA9PSBvcF90
YWlsX2NhbGxfdmFyYXJncykgewotICAgICAgICBlbWl0UmVzdG9yZUNhbGxlZVNhdmVzKCk7CiAg
ICAgICAgIHByZXBhcmVGb3JUYWlsQ2FsbFNsb3coKTsKICAgICAgICAgbV9jYWxsQ29tcGlsYXRp
b25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5ob3RQYXRoT3RoZXIgPSBlbWl0TmFrZWRUYWlsQ2Fs
bCgpOwogICAgICAgICAvLyBXZSBtdXN0IG5ldmVyIGNvbWUgYmFjayBoZXJlCkBAIC0yMjEsOSAr
MjIzLDYgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGxTbG93Q2FzZShPcGNvZGVJRCBvcGNvZGVJ
RCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uLCBWZWMKIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0
cihtX2NhbGxDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmNhbGxMaW5rSW5mbyks
IHJlZ1QyKTsKIAotICAgIGlmIChvcGNvZGVJRCA9PSBvcF90YWlsX2NhbGwgfHwgb3Bjb2RlSUQg
PT0gb3BfdGFpbF9jYWxsX3ZhcmFyZ3MpCi0gICAgICAgIGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXMo
KTsKLQogICAgIG1fY2FsbENvbXBpbGF0aW9uSW5mb1tjYWxsTGlua0luZm9JbmRleF0uY2FsbFJl
dHVybkxvY2F0aW9uID0gZW1pdE5ha2VkQ2FsbChtX3ZtLT5nZXRDVElTdHViKGxpbmtDYWxsVGh1
bmtHZW5lcmF0b3IpLmNvZGUoKSk7CiAKICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfdGFpbF9jYWxs
IHx8IG9wY29kZUlEID09IG9wX3RhaWxfY2FsbF92YXJhcmdzKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0pJVENhbGwzMl82NC5jcHAKaW5kZXggOWI4YjcwYjBjMjgyNjU3YzFhNDNmOGJi
OTdjMGY2ZTljMjA2OTdhOS4uNGExZGYxMGIwMGI2YTIyYzNmOWY1MTI0ZWMzYTI2OWE3NWI2ZmRh
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsMzJfNjQuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUQ2FsbDMyXzY0LmNwcApAQCAtMjYy
LDYgKzI2Miw5IEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29kZUlEIG9wY29kZUlELCBJ
bnN0cnVjdGlvbiogaW5zdHJ1Y3Rpb24sIHVuc2lnbmVkIGNhCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKKyAgICBpZiAob3Bjb2RlSUQgPT0gb3BfdGFpbF9jYWxsIHx8IG9wY29kZUlEID09IG9w
X3RhaWxfY2FsbF92YXJhcmdzKQorICAgICAgICBlbWl0UmVzdG9yZUNhbGxlZVNhdmVzKCk7CisK
ICAgICBhZGRTbG93Q2FzZShicmFuY2gzMihOb3RFcXVhbCwgcmVnVDEsIFRydXN0ZWRJbW0zMihK
U1ZhbHVlOjpDZWxsVGFnKSkpOwogCiAgICAgRGF0YUxhYmVsUHRyIGFkZHJlc3NPZkxpbmtlZEZ1
bmN0aW9uQ2hlY2s7CkBAIC0yNzcsNyArMjgwLDYgQEAgdm9pZCBKSVQ6OmNvbXBpbGVPcENhbGwo
T3Bjb2RlSUQgb3Bjb2RlSUQsIEluc3RydWN0aW9uKiBpbnN0cnVjdGlvbiwgdW5zaWduZWQgY2EK
IAogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAgICAgaWYgKG9wY29kZUlEID09
IG9wX3RhaWxfY2FsbCB8fCBvcGNvZGVJRCA9PSBvcF90YWlsX2NhbGxfdmFyYXJncykgewotICAg
ICAgICBlbWl0UmVzdG9yZUNhbGxlZVNhdmVzKCk7CiAgICAgICAgIHByZXBhcmVGb3JUYWlsQ2Fs
bFNsb3coKTsKICAgICAgICAgbV9jYWxsQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4
XS5ob3RQYXRoT3RoZXIgPSBlbWl0TmFrZWRUYWlsQ2FsbCgpOwogICAgICAgICAvLyBXZSBtdXN0
IG5ldmVyIGNvbWUgYmFjayBoZXJlCkBAIC0zMDYsOSArMzA4LDYgQEAgdm9pZCBKSVQ6OmNvbXBp
bGVPcENhbGxTbG93Q2FzZShPcGNvZGVJRCBvcGNvZGVJRCwgSW5zdHJ1Y3Rpb24qIGluc3RydWN0
aW9uLCBWZWMKIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihtX2NhbGxDb21waWxhdGlvbkluZm9b
Y2FsbExpbmtJbmZvSW5kZXhdLmNhbGxMaW5rSW5mbyksIHJlZ1QyKTsKIAotICAgIGlmIChvcGNv
ZGVJRCA9PSBvcF90YWlsX2NhbGwgfHwgb3Bjb2RlSUQgPT0gb3BfdGFpbF9jYWxsX3ZhcmFyZ3Mp
Ci0gICAgICAgIGVtaXRSZXN0b3JlQ2FsbGVlU2F2ZXMoKTsKLQogICAgIG1fY2FsbENvbXBpbGF0
aW9uSW5mb1tjYWxsTGlua0luZm9JbmRleF0uY2FsbFJldHVybkxvY2F0aW9uID0gZW1pdE5ha2Vk
Q2FsbChtX3ZtLT5nZXRDVElTdHViKGxpbmtDYWxsVGh1bmtHZW5lcmF0b3IpLmNvZGUoKSk7CiAK
ICAgICBpZiAob3Bjb2RlSUQgPT0gb3BfdGFpbF9jYWxsIHx8IG9wY29kZUlEID09IG9wX3RhaWxf
Y2FsbF92YXJhcmdzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Ro
dW5rR2VuZXJhdG9ycy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJh
dG9ycy5jcHAKaW5kZXggNjJlYTRjZWZlMjZkZmY0MzVhOTc5YjNmOGZhMDZlZDEyYWEzMGE2Mi4u
OTBiNDIwMTgzMTdjNTliNmZhOGYyMDliNWZjMWE1OGVhYjE1MTkyZCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcApAQCAtMzgzLDEwICszODMsOSBA
QCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgYXJpdHlGaXh1cEdlbmVyYXRvcihWTSogdm0pCiAgICAg
aml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDgpLCBKU0ludGVyZmFjZUpJ
VDo6cmVnVDMpOwogICAgIGppdC5icmFuY2hTdWIzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywg
SlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMigxKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMikubGlua1RvKGNvcHlMb29wLCAmaml0KTsKIAotICAgIC8vIEZpbGwgaW4gYXJndW1lbnRH
UFIwIC0gMSBtaXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5lZAorICAgIC8vIEZpbGwgaW4g
YXJndW1lbnRHUFIwIG1pc3NpbmcgYXJnIHNsb3RzIHdpdGggdW5kZWZpbmVkCiAgICAgaml0Lm1v
dmUoSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMik7CiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW02NChWYWx1ZVVu
ZGVmaW5lZCksIEpTSW50ZXJmYWNlSklUOjpyZWdUNSk7Ci0gICAgaml0LmFkZDMyKEpTSW50ZXJm
YWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpOwog
ICAgIEpTSW50ZXJmYWNlSklUOjpMYWJlbCBmaWxsVW5kZWZpbmVkTG9vcChqaXQubGFiZWwoKSk7
CiAgICAgaml0LnN0b3JlNjQoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxlcjo6
QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKICAgICBqaXQuYWRkUHRyKEpTSW50
ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCksIEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7CkBAIC00
MjEsOSArNDIwLDggQEAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIGFyaXR5Rml4dXBHZW5lcmF0b3Io
Vk0qIHZtKQogICAgIGppdC5hZGRQdHIoSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwg
SlNJbnRlcmZhY2VKSVQ6OnJlZ1QzKTsKICAgICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJs
ZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjIpLmxpbmtUbyhjb3B5TG9vcCwgJmppdCk7CiAKLSAgICAvLyBGaWxs
IGluIGFyZ3VtZW50R1BSMCAtIDEgbWlzc2luZyBhcmcgc2xvdHMgd2l0aCB1bmRlZmluZWQKKyAg
ICAvLyBGaWxsIGluIGFyZ3VtZW50R1BSMCBtaXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5l
ZAogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjAsIEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjIpOwotICAgIGppdC5hZGQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3Rl
ZEltbTMyKDEpLCBKU0ludGVyZmFjZUpJVDo6YXJndW1lbnRHUFIyKTsKICAgICBKU0ludGVyZmFj
ZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExvb3Aoaml0LmxhYmVsKCkpOwogICAgIGppdC5tb3Zl
KEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMCksIEpTSW50ZXJmYWNlSklUOjpyZWdUNSk7
CiAgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZhY2VKSVQ6OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxlcjo6
QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpyZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVzRWlnaHQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCAwZDA4Y2I2MDU4
Zjg1ZTU3NGYwNWI0YjFhYWEzNjljNmNiODFiZTQ4Li40M2U1MzYzZDI3NmEwMmEzMTQxNjRlODQw
MjFjMjY5YWM0NDQ4MzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBAIC02NjYsMTUgKzY2NiwzNSBAQCBtYWNybyBwcmVw
YXJlRm9yUmVndWxhckNhbGwoY2FsbGVlLCB0ZW1wMSwgdGVtcDIpCiAgICAgYWRkcCBDYWxsZXJG
cmFtZUFuZFBDU2l6ZSwgc3AKIGVuZAogCi1tYWNybyBnZXRGcmFtZVNpemUoZnJhbWUsIGRzdCkK
LSAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsgQXJndW1lbnRDb3VudFtmcmFtZV0sIGRzdAotICAg
IG11bHAgU2xvdFNpemUsIGRzdAotICAgIGFkZHAgU3RhY2tBbGlnbm1lbnQgLSAxICsgQ2FsbEZy
YW1lSGVhZGVyU2l6ZSwgZHN0Ci0gICAgYW5kcCB+U3RhY2tBbGlnbm1lbnRNYXNrLCBkc3QKK21h
Y3JvIGFsaWduRnJhbWVTaXplKGFyZ0NvdW50KQorICAgIGFkZHAgU3RhY2tBbGlnbm1lbnQgLSAx
ICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgYXJnQ291bnQKKyAgICBhbmRwIH5TdGFja0FsaWdubWVu
dE1hc2ssIGFyZ0NvdW50CitlbmQKKworbWFjcm8gcG9wRnJhbWUodGVtcDEsIHRlbXAyKQorICAg
IGNvbnN0IGFyZ0NvdW50ID0gdGVtcDEKKyAgICBjb25zdCBudW1QYXJhbWV0ZXJzID0gdGVtcDIK
KyAgICBjb25zdCBtaXNzaW5nQXJnQ291bnQgPSB0ZW1wMgorCisgICAgbG9hZGkgUGF5bG9hZE9m
ZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwgYXJnQ291bnQKKyAgICBtdWxwIFNsb3RTaXplLCBh
cmdDb3VudAorICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBudW1QYXJhbWV0ZXJzCisgICAgbG9h
ZGkgQ29kZUJsb2NrOjptX251bVBhcmFtZXRlcnNbbnVtUGFyYW1ldGVyc10sIG51bVBhcmFtZXRl
cnMKKyAgICBtdWxwIFNsb3RTaXplLCBudW1QYXJhbWV0ZXJzCisgICAgYmlsdGVxIG51bVBhcmFt
ZXRlcnMsIGFyZ0NvdW50LCAubm9Bcml0eUZpeHVwCisKKyAgICBzdWJpIG51bVBhcmFtZXRlcnMs
IGFyZ0NvdW50LCBtaXNzaW5nQXJnQ291bnQKKyAgICBhZGRwIFN0YWNrQWxpZ25tZW50TWFzaywg
bWlzc2luZ0FyZ0NvdW50CisgICAgYW5kcCB+U3RhY2tBbGlnbm1lbnRNYXNrLCBtaXNzaW5nQXJn
Q291bnQKKyAgICBhZGRpIG1pc3NpbmdBcmdDb3VudCwgYXJnQ291bnQKKy5ub0FyaXR5Rml4dXA6
CisgICAgYWxpZ25GcmFtZVNpemUoYXJnQ291bnQpCisgICAgYWRkcCBhcmdDb3VudCwgY2ZyCiBl
bmQKIAogIyBzcCBwb2ludHMgdG8gdGhlIG5ldyBmcmFtZQogbWFjcm8gcHJlcGFyZUZvclRhaWxD
YWxsKGNhbGxlZSwgdGVtcDEsIHRlbXAyKQorICAgIHJlc3RvcmVDYWxsZWVTYXZlc1VzZWRCeUxM
SW50KCkKICAgICAjIE1hc3F1ZXJhZGUgb3Vyc2VsdmVzIGFzIG91ciBvd24gY2FsbGVyCiAgICAg
bG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgdGVtcDEKICAgICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0
ZW1wMgpAQCAtNjgyLDkgKzcwMiwxMSBAQCBtYWNybyBwcmVwYXJlRm9yVGFpbENhbGwoY2FsbGVl
LCB0ZW1wMSwgdGVtcDIpCiAgICAgc3RvcmVwIHRlbXAyLCBSZXR1cm5QQ1tzcF0KIAogICAgICMg
U2xpZGUgdGhlIG5ldyBjYWxsIGZyYW1lIG92ZXIgdGhlIG9sZCBvbmUKLSAgICBnZXRGcmFtZVNp
emUoY2ZyLCB0ZW1wMSkKLSAgICBhZGRwIHRlbXAxLCBjZnIKLSAgICBnZXRGcmFtZVNpemUoc3As
IHRlbXAyKQorICAgIHBvcEZyYW1lKHRlbXAxLCB0ZW1wMikKKworICAgIGxvYWRpIFBheWxvYWRP
ZmZzZXQgKyBBcmd1bWVudENvdW50W3NwXSwgdGVtcDIKKyAgICBtdWxwIFNsb3RTaXplLCB0ZW1w
MgorICAgIGFsaWduRnJhbWVTaXplKHRlbXAyKQogCiAuY29weUxvb3A6CiAgICAgc3VicCBQdHJT
aXplLCBjZnIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1v
blNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1Bh
dGhzLmgKaW5kZXggZDZmYWRmOWM5NGU5MWRjYjY1ZmI1OTVhMjFiMWI1OTYyYWY5ZDJjZi4uZTk4
YWMwYTkwZDAyNzdkYjQ1OTRmMzNkNTUwZTMxYTM3YTY0YWZiMyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKQEAgLTYwLDggKzYwLDcgQEAg
QUxXQVlTX0lOTElORSBpbnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3RhY2sq
IHN0YWNrLCBDb2RlU3BlY2lhbGl6YXQKICAgICAKICAgICBBU1NFUlQoYXJndW1lbnRDb3VudElu
Y2x1ZGluZ1RoaXMgPCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSk7CiAgICAgaW50IG1p
c3NpbmdBcmd1bWVudENvdW50ID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgLSBhcmd1
bWVudENvdW50SW5jbHVkaW5nVGhpczsKLSAgICBpbnQgbmVlZGVkU3RhY2tTcGFjZSA9IG1pc3Np
bmdBcmd1bWVudENvdW50ICsgMTsgLy8gQWxsb3cgc3BhY2UgdG8gc2F2ZSB0aGUgb3JpZ2luYWwg
cmV0dXJuIFBDLgotICAgIGludCBwYWRkZWRTdGFja1NwYWNlID0gV1RGOjpyb3VuZFVwVG9NdWx0
aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIG5lZWRlZFN0YWNrU3BhY2UpOworICAg
IGludCBwYWRkZWRTdGFja1NwYWNlID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxp
Z25tZW50UmVnaXN0ZXJzKCksIG1pc3NpbmdBcmd1bWVudENvdW50KTsKIAogICAgIGlmICghc3Rh
Y2stPmVuc3VyZUNhcGFjaXR5Rm9yKGV4ZWMtPnJlZ2lzdGVycygpIC0gcGFkZGVkU3RhY2tTcGFj
ZSkpCiAgICAgICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLW5vLXN0YWNrLW92ZXJmbG93LmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanMK
aW5kZXggMzhiMDI4YzdiY2U5ZmFmNWVhNGYzMmVmZTQ2MzRlOTdkNGUxM2M3ZS4uMTQ1Njg3OTU2
YWE4ZTE0Y2Y0ZmRhMWY5YTI5N2Q1ODcwYTZjOWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanMKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2st
b3ZlcmZsb3cuanMKQEAgLTI0LDcgKzI0LDE0IEBAIGZ1bmN0aW9uIHN0cmljdExvb3Aobikgewog
ICAgICAgICByZXR1cm4gc3RyaWN0TG9vcChuIC0gMSk7CiB9CiAKLWZ1bmN0aW9uIHN0cmljdExv
b3BBcml0eUZpeHVwKG4sIGR1bW15KSB7CisvLyBXZSBoYXZlIHR3byBvZiB0aGVzZSBzbyB0aGF0
IHdlIGNhbiB0ZXN0IGRpZmZlcmVudCBzdGFjayBhbGlnbm1lbnRzCitmdW5jdGlvbiBzdHJpY3RM
b29wQXJpdHlGaXh1cDEobiwgZHVtbXkpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgaWYgKG4g
PiAwKQorICAgICAgICByZXR1cm4gc3RyaWN0TG9vcEFyaXR5Rml4dXAobiAtIDEpOworfQorCitm
dW5jdGlvbiBzdHJpY3RMb29wQXJpdHlGaXh1cDIobiwgZHVtbXkxLCBkdW1teTIpIHsKICAgICAi
dXNlIHN0cmljdCI7CiAgICAgaWYgKG4gPiAwKQogICAgICAgICByZXR1cm4gc3RyaWN0TG9vcEFy
aXR5Rml4dXAobiAtIDEpOwpAQCAtMzQsNCArNDEsNSBAQCBzaG91bGRUaHJvdyhmdW5jdGlvbiAo
KSB7IHNsb3BweUxvb3AoMTAwMDAwKTsgfSwgJ1JhbmdlRXJyb3I6IE1heGltdW0gY2FsbCBzdGFj
awogCiAvLyBUaGVzZSBzaG91bGQgbm90IHRocm93CiBzdHJpY3RMb29wKDEwMDAwMCk7Ci1zdHJp
Y3RMb29wQXJpdHlGaXh1cCgxMDAwMDApOworc3RyaWN0TG9vcEFyaXR5Rml4dXAxKDEwMDAwMDAp
Oworc3RyaWN0TG9vcEFyaXR5Rml4dXAyKDEwMDAwMDApOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257953</attachid>
            <date>2015-07-31 13:21:06 -0700</date>
            <delta_ts>2015-07-31 13:25:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147447-20150731132104.patch</filename>
            <type>text/plain</type>
            <size>8930</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NjM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NjA1YWJjZWUzMThjZGZjZTVhN2JhZDA0MWMyYTM5ZjlkYmMxOTM1Li43MzM5Y2QzMDljNzNkZmQx
MjJlYjZmODQ4ZWZiZWFlNmNhYmE2ODE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxNS0wNy0zMSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAganNjLXRhaWxjYWxsOiBEb24ndCB3YXN0ZSBzdGFjayBzcGFj
ZSB3aGVuIGFyaXR5IGZpeHVwIHdhcyBwZXJmb3JtZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzQ0NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxODc2MTggdHJpZWQgdG8gaGFuZGxlIHRoaXMsIGJ1
dCBkaWQgbm90IGluY2x1ZGUgdGhlIExMSW50IGFuZCBkaWQgaXQKKyAgICAgICAgd3JvbmcgYW55
d2F5LiBXaGVuIG1ha2luZyBhIGNhbGwsIHRoZSBjYWxsZXIgZmlyc3QgYWxpZ25zIHRoZSBjYWxs
ZWUncworICAgICAgICBmcmFtZSwgdGhlbiBtYWtlcyB0aGUgY2FsbC4gSWYgdGhlIGNhbGxlZSBs
YXRlciBwZXJmb3JtcyBhcml0eSBmaXh1cCwKKyAgICAgICAgaXQgZG9lcyBub3QgdHJ5IHRvIHJl
dXNlIHRoZSBwb3RlbnRpYWwgc2xvdCBsZWZ0IGVtcHR5IGJ5IHRoZSBjYWxsZXIncworICAgICAg
ICBmcmFtZSBhbGlnbm1lbnQ6IGluc3RlYWQsIGl0IGFsaWducyB0aGUgcGFyYW1ldGVycyAtIGFy
Z3VtZW50cyBkZWx0YS4KKyAgICAgICAgU28gd2hlbiB0cnlpbmcgdG8gZmluZCBvdXQgd2hlcmUg
b3VyIGZyYW1lIHN0YXJ0cywgd2Ugc2hvdWxkIHJlcGxpY2F0ZQorICAgICAgICB0aGlzIGJlaGF2
aW9yLCB3aGljaCB3ZSB3ZXJlIHByZXZpb3VzbHkgbm90IGRvaW5nIGFuZCB3YXMgdGhlIGNhdXNl
IG9mCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc0
OTEuCisKKyAgICAgICAgV2hpbGUgaGVyZSwgSSBhbHNvIHJlbW92ZWQgdGhlIGV4dHJhIHNsb3Qg
dGhhdCB1c2VkIHRvIHNhdmUgdGhlCisgICAgICAgIHJldHVyblBDIGZvciB0aGUgYXJpdHkgZml4
dXAgcmV0dXJuIHRodW5rICh0aGF0IHdlIGdvdCByaWQgb2YgaW4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Njg0NykgYW5kIHdhcyBub3cganVzdAor
ICAgICAgICB3YXN0aW5nIHN0YWNrIHNwYWNlLiAKKworICAgICAgICAqIGppdC9DQ2FsbEhlbHBl
cnMuaDoKKyAgICAgICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6
YXJpdHlGaXh1cEdlbmVyYXRvcik6CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206CisgICAgICAgICogcnVudGltZS9Db21tb25TbG93UGF0aHMuaDoKKyAgICAgICAgKEpT
Qzo6Q29tbW9uU2xvd1BhdGhzOjphcml0eUNoZWNrRm9yKToKKyAgICAgICAgKiB0ZXN0cy9zdHJl
c3MvdGFpbC1jYWxsLW5vLXN0YWNrLW92ZXJmbG93LmpzOgorICAgICAgICAoc3RyaWN0TG9vcEFy
aXR5Rml4dXAxKToKKyAgICAgICAgKHN0cmljdExvb3BBcml0eUZpeHVwMik6CisKIDIwMTUtMDct
MzAgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAganNjLXRh
aWxjYWxsOiBMTGludCwgQmFzZWxpbmUgYW5kIERGRyBKSVQgc2hvdWxkIHNhdmUgJiByZXN0b3Jl
IHBsYXRmb3JtJ3MgY2FsbGVlLXNhdmUgcmVnaXN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9DQ2FsbEhlbHBlcnMuaAppbmRleCBhN2RkOThjOGEwYzhiNmU0YTRiOTExMmIzMjBmYzc5ODQ1
ZTE0OTNjLi4xZWE5OTkyZWJiYmNkYmQ3ZGQ4NDA3NDIxMGI1MTU3OTBjZGEwZDgyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0NDYWxsSGVscGVycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKQEAgLTIwNDcsNyArMjA0NywxMCBA
QCBwdWJsaWM6CiAgICAgICAgIGxvYWRQdHIoQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgSlNTdGFjazo6Q29kZUJsb2NrICogc3RhdGljX2Nhc3Q8aW50PihzaXplb2YoUmVnaXN0
ZXIpKSksIHRlbXAyKTsKICAgICAgICAgbG9hZDMyKEFkZHJlc3ModGVtcDIsIENvZGVCbG9jazo6
b2Zmc2V0T2ZOdW1QYXJhbWV0ZXJzKCkpLCB0ZW1wMik7CiAgICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpKdW1wIGFyZ3VtZW50Q291bnRXYXNOb3RGaXhlZFVwID0gYnJhbmNoMzIoQmVsb3dPckVxdWFs
LCB0ZW1wMiwgdGVtcDEpOwotICAgICAgICBtb3ZlKHRlbXAyLCB0ZW1wMSk7CisgICAgICAgIHN1
YjMyKHRlbXAxLCB0ZW1wMik7CisgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMihzdGFja0FsaWdu
bWVudFJlZ2lzdGVycygpIC0gMSksIHRlbXAyKTsKKyAgICAgICAgYW5kMzIoVHJ1c3RlZEltbTMy
KC1zdGFja0FsaWdubWVudFJlZ2lzdGVycygpKSwgdGVtcDIpOworICAgICAgICBhZGQzMih0ZW1w
MiwgdGVtcDEpOwogICAgICAgICBhcmd1bWVudENvdW50V2FzTm90Rml4ZWRVcC5saW5rKHRoaXMp
OwogCiAgICAgICAgIGFkZDMyKFRydXN0ZWRJbW0zMihzdGFja0FsaWdubWVudFJlZ2lzdGVycygp
ICsgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIDEpLCB0ZW1wMSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAKaW5kZXggNjJlYTRjZWZlMjZk
ZmY0MzVhOTc5YjNmOGZhMDZlZDEyYWEzMGE2Mi4uOTBiNDIwMTgzMTdjNTliNmZhOGYyMDliNWZj
MWE1OGVhYjE1MTkyZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVu
a0dlbmVyYXRvcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5l
cmF0b3JzLmNwcApAQCAtMzgzLDEwICszODMsOSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgYXJp
dHlGaXh1cEdlbmVyYXRvcihWTSogdm0pCiAgICAgaml0LmFkZFB0cihKU0ludGVyZmFjZUpJVDo6
VHJ1c3RlZEltbTMyKDgpLCBKU0ludGVyZmFjZUpJVDo6cmVnVDMpOwogICAgIGppdC5icmFuY2hT
dWIzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgSlNJbnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0z
MigxKSwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMikubGlua1RvKGNvcHlMb29wLCAmaml0
KTsKIAotICAgIC8vIEZpbGwgaW4gYXJndW1lbnRHUFIwIC0gMSBtaXNzaW5nIGFyZyBzbG90cyB3
aXRoIHVuZGVmaW5lZAorICAgIC8vIEZpbGwgaW4gYXJndW1lbnRHUFIwIG1pc3NpbmcgYXJnIHNs
b3RzIHdpdGggdW5kZWZpbmVkCiAgICAgaml0Lm1vdmUoSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50
R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMik7CiAgICAgaml0Lm1vdmUoSlNJbnRl
cmZhY2VKSVQ6OlRydXN0ZWRJbW02NChWYWx1ZVVuZGVmaW5lZCksIEpTSW50ZXJmYWNlSklUOjpy
ZWdUNSk7Ci0gICAgaml0LmFkZDMyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMSksIEpT
SW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpOwogICAgIEpTSW50ZXJmYWNlSklUOjpMYWJlbCBm
aWxsVW5kZWZpbmVkTG9vcChqaXQubGFiZWwoKSk7CiAgICAgaml0LnN0b3JlNjQoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpy
ZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVz
RWlnaHQpKTsKICAgICBqaXQuYWRkUHRyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCks
IEpTSW50ZXJmYWNlSklUOjpyZWdUMyk7CkBAIC00MjEsOSArNDIwLDggQEAgTWFjcm9Bc3NlbWJs
ZXJDb2RlUmVmIGFyaXR5Rml4dXBHZW5lcmF0b3IoVk0qIHZtKQogICAgIGppdC5hZGRQdHIoSlNJ
bnRlcmZhY2VKSVQ6OlRydXN0ZWRJbW0zMig4KSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QzKTsKICAg
ICBqaXQuYnJhbmNoU3ViMzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIEpTSW50ZXJmYWNlSklU
OjpUcnVzdGVkSW1tMzIoMSksIEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpLmxpbmtUbyhj
b3B5TG9vcCwgJmppdCk7CiAKLSAgICAvLyBGaWxsIGluIGFyZ3VtZW50R1BSMCAtIDEgbWlzc2lu
ZyBhcmcgc2xvdHMgd2l0aCB1bmRlZmluZWQKKyAgICAvLyBGaWxsIGluIGFyZ3VtZW50R1BSMCBt
aXNzaW5nIGFyZyBzbG90cyB3aXRoIHVuZGVmaW5lZAogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNl
SklUOjphcmd1bWVudEdQUjAsIEpTSW50ZXJmYWNlSklUOjphcmd1bWVudEdQUjIpOwotICAgIGpp
dC5hZGQzMihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDEpLCBKU0ludGVyZmFjZUpJVDo6
YXJndW1lbnRHUFIyKTsKICAgICBKU0ludGVyZmFjZUpJVDo6TGFiZWwgZmlsbFVuZGVmaW5lZExv
b3Aoaml0LmxhYmVsKCkpOwogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1t
MzIoMCksIEpTSW50ZXJmYWNlSklUOjpyZWdUNSk7CiAgICAgaml0LnN0b3JlMzIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1Q1LCBNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KEpTSW50ZXJmYWNlSklUOjpy
ZWdUMywgSlNJbnRlcmZhY2VKSVQ6OmFyZ3VtZW50R1BSMCwgSlNJbnRlcmZhY2VKSVQ6OlRpbWVz
RWlnaHQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbQppbmRleCAwZDA4Y2I2MDU4Zjg1ZTU3NGYwNWI0YjFhYWEzNjljNmNiODFi
ZTQ4Li42YWFhOGIwMjA2NzhhOGIyZWEzNjA3N2ZkZTA0NzM1MjNkMGI1N2QzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCkBA
IC02NjYsMTEgKzY2NiwzMCBAQCBtYWNybyBwcmVwYXJlRm9yUmVndWxhckNhbGwoY2FsbGVlLCB0
ZW1wMSwgdGVtcDIpCiAgICAgYWRkcCBDYWxsZXJGcmFtZUFuZFBDU2l6ZSwgc3AKIGVuZAogCi1t
YWNybyBnZXRGcmFtZVNpemUoZnJhbWUsIGRzdCkKLSAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0ICsg
QXJndW1lbnRDb3VudFtmcmFtZV0sIGRzdAotICAgIG11bHAgU2xvdFNpemUsIGRzdAotICAgIGFk
ZHAgU3RhY2tBbGlnbm1lbnQgLSAxICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgZHN0Ci0gICAgYW5k
cCB+U3RhY2tBbGlnbm1lbnRNYXNrLCBkc3QKK21hY3JvIGFsaWduRnJhbWVTaXplKGFyZ0NvdW50
KQorICAgIGFkZHAgU3RhY2tBbGlnbm1lbnQgLSAxICsgQ2FsbEZyYW1lSGVhZGVyU2l6ZSwgYXJn
Q291bnQKKyAgICBhbmRwIH5TdGFja0FsaWdubWVudE1hc2ssIGFyZ0NvdW50CitlbmQKKworbWFj
cm8gcG9wRnJhbWUodGVtcDEsIHRlbXAyKQorICAgIGNvbnN0IGFyZ0NvdW50ID0gdGVtcDEKKyAg
ICBjb25zdCBudW1QYXJhbWV0ZXJzID0gdGVtcDIKKyAgICBjb25zdCBtaXNzaW5nQXJnQ291bnQg
PSB0ZW1wMgorCisgICAgbG9hZGkgUGF5bG9hZE9mZnNldCArIEFyZ3VtZW50Q291bnRbY2ZyXSwg
YXJnQ291bnQKKyAgICBtdWxwIFNsb3RTaXplLCBhcmdDb3VudAorICAgIGxvYWRwIENvZGVCbG9j
a1tjZnJdLCBudW1QYXJhbWV0ZXJzCisgICAgbG9hZGkgQ29kZUJsb2NrOjptX251bVBhcmFtZXRl
cnNbbnVtUGFyYW1ldGVyc10sIG51bVBhcmFtZXRlcnMKKyAgICBtdWxwIFNsb3RTaXplLCBudW1Q
YXJhbWV0ZXJzCisgICAgYmlsdGVxIG51bVBhcmFtZXRlcnMsIGFyZ0NvdW50LCAubm9Bcml0eUZp
eHVwCisKKyAgICBzdWJpIG51bVBhcmFtZXRlcnMsIGFyZ0NvdW50LCBtaXNzaW5nQXJnQ291bnQK
KyAgICBhZGRwIFN0YWNrQWxpZ25tZW50TWFzaywgbWlzc2luZ0FyZ0NvdW50CisgICAgYW5kcCB+
U3RhY2tBbGlnbm1lbnRNYXNrLCBtaXNzaW5nQXJnQ291bnQKKyAgICBhZGRpIG1pc3NpbmdBcmdD
b3VudCwgYXJnQ291bnQKKy5ub0FyaXR5Rml4dXA6CisgICAgYWxpZ25GcmFtZVNpemUoYXJnQ291
bnQpCisgICAgYWRkcCBhcmdDb3VudCwgY2ZyCiBlbmQKIAogIyBzcCBwb2ludHMgdG8gdGhlIG5l
dyBmcmFtZQpAQCAtNjgyLDkgKzcwMSwxMSBAQCBtYWNybyBwcmVwYXJlRm9yVGFpbENhbGwoY2Fs
bGVlLCB0ZW1wMSwgdGVtcDIpCiAgICAgc3RvcmVwIHRlbXAyLCBSZXR1cm5QQ1tzcF0KIAogICAg
ICMgU2xpZGUgdGhlIG5ldyBjYWxsIGZyYW1lIG92ZXIgdGhlIG9sZCBvbmUKLSAgICBnZXRGcmFt
ZVNpemUoY2ZyLCB0ZW1wMSkKLSAgICBhZGRwIHRlbXAxLCBjZnIKLSAgICBnZXRGcmFtZVNpemUo
c3AsIHRlbXAyKQorICAgIHBvcEZyYW1lKHRlbXAxLCB0ZW1wMikKKworICAgIGxvYWRpIFBheWxv
YWRPZmZzZXQgKyBBcmd1bWVudENvdW50W3NwXSwgdGVtcDIKKyAgICBtdWxwIFNsb3RTaXplLCB0
ZW1wMgorICAgIGFsaWduRnJhbWVTaXplKHRlbXAyKQogCiAuY29weUxvb3A6CiAgICAgc3VicCBQ
dHJTaXplLCBjZnIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Nv
bW1vblNsb3dQYXRocy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xv
d1BhdGhzLmgKaW5kZXggZDZmYWRmOWM5NGU5MWRjYjY1ZmI1OTVhMjFiMWI1OTYyYWY5ZDJjZi4u
ZTk4YWMwYTkwZDAyNzdkYjQ1OTRmMzNkNTUwZTMxYTM3YTY0YWZiMyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uU2xvd1BhdGhzLmgKQEAgLTYwLDggKzYwLDcg
QEAgQUxXQVlTX0lOTElORSBpbnQgYXJpdHlDaGVja0ZvcihFeGVjU3RhdGUqIGV4ZWMsIEpTU3Rh
Y2sqIHN0YWNrLCBDb2RlU3BlY2lhbGl6YXQKICAgICAKICAgICBBU1NFUlQoYXJndW1lbnRDb3Vu
dEluY2x1ZGluZ1RoaXMgPCBuZXdDb2RlQmxvY2stPm51bVBhcmFtZXRlcnMoKSk7CiAgICAgaW50
IG1pc3NpbmdBcmd1bWVudENvdW50ID0gbmV3Q29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkgLSBh
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpczsKLSAgICBpbnQgbmVlZGVkU3RhY2tTcGFjZSA9IG1p
c3NpbmdBcmd1bWVudENvdW50ICsgMTsgLy8gQWxsb3cgc3BhY2UgdG8gc2F2ZSB0aGUgb3JpZ2lu
YWwgcmV0dXJuIFBDLgotICAgIGludCBwYWRkZWRTdGFja1NwYWNlID0gV1RGOjpyb3VuZFVwVG9N
dWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIG5lZWRlZFN0YWNrU3BhY2UpOwor
ICAgIGludCBwYWRkZWRTdGFja1NwYWNlID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNr
QWxpZ25tZW50UmVnaXN0ZXJzKCksIG1pc3NpbmdBcmd1bWVudENvdW50KTsKIAogICAgIGlmICgh
c3RhY2stPmVuc3VyZUNhcGFjaXR5Rm9yKGV4ZWMtPnJlZ2lzdGVycygpIC0gcGFkZGVkU3RhY2tT
cGFjZSkpCiAgICAgICAgIHJldHVybiAtMTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvdGFpbC1jYWxsLW5vLXN0YWNrLW92ZXJmbG93LmpzIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cu
anMKaW5kZXggMzhiMDI4YzdiY2U5ZmFmNWVhNGYzMmVmZTQ2MzRlOTdkNGUxM2M3ZS4uMTQ1Njg3
OTU2YWE4ZTE0Y2Y0ZmRhMWY5YTI5N2Q1ODcwYTZjOWJkYyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3RhY2stb3ZlcmZsb3cuanMK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy90YWlsLWNhbGwtbm8tc3Rh
Y2stb3ZlcmZsb3cuanMKQEAgLTI0LDcgKzI0LDE0IEBAIGZ1bmN0aW9uIHN0cmljdExvb3Aobikg
ewogICAgICAgICByZXR1cm4gc3RyaWN0TG9vcChuIC0gMSk7CiB9CiAKLWZ1bmN0aW9uIHN0cmlj
dExvb3BBcml0eUZpeHVwKG4sIGR1bW15KSB7CisvLyBXZSBoYXZlIHR3byBvZiB0aGVzZSBzbyB0
aGF0IHdlIGNhbiB0ZXN0IGRpZmZlcmVudCBzdGFjayBhbGlnbm1lbnRzCitmdW5jdGlvbiBzdHJp
Y3RMb29wQXJpdHlGaXh1cDEobiwgZHVtbXkpIHsKKyAgICAidXNlIHN0cmljdCI7CisgICAgaWYg
KG4gPiAwKQorICAgICAgICByZXR1cm4gc3RyaWN0TG9vcEFyaXR5Rml4dXAobiAtIDEpOworfQor
CitmdW5jdGlvbiBzdHJpY3RMb29wQXJpdHlGaXh1cDIobiwgZHVtbXkxLCBkdW1teTIpIHsKICAg
ICAidXNlIHN0cmljdCI7CiAgICAgaWYgKG4gPiAwKQogICAgICAgICByZXR1cm4gc3RyaWN0TG9v
cEFyaXR5Rml4dXAobiAtIDEpOwpAQCAtMzQsNCArNDEsNSBAQCBzaG91bGRUaHJvdyhmdW5jdGlv
biAoKSB7IHNsb3BweUxvb3AoMTAwMDAwKTsgfSwgJ1JhbmdlRXJyb3I6IE1heGltdW0gY2FsbCBz
dGFjawogCiAvLyBUaGVzZSBzaG91bGQgbm90IHRocm93CiBzdHJpY3RMb29wKDEwMDAwMCk7Ci1z
dHJpY3RMb29wQXJpdHlGaXh1cCgxMDAwMDApOworc3RyaWN0TG9vcEFyaXR5Rml4dXAxKDEwMDAw
MDApOworc3RyaWN0TG9vcEFyaXR5Rml4dXAyKDEwMDAwMDApOwo=
</data>
<flag name="review"
          id="283136"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>