<?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>160293</bug_id>
          
          <creation_ts>2016-07-28 07:10:13 -0700</creation_ts>
          <short_desc>[Streams API] Improve ReadableStreamDefaultController.h/cpp</short_desc>
          <delta_ts>2016-09-29 05:50:42 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Romain Bellessort">romain.wkt</reporter>
          <assigned_to name="Romain Bellessort">romain.wkt</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215224</commentid>
    <comment_count>0</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-07-28 07:10:13 -0700</bug_when>
    <thetext>Following renaming of ReadableStreamController into ReadableStreamDefaultController, a number of improvements have been suggested regarding JSReadableStreamDefaultController.h/cpp in https://bugs.webkit.org/show_bug.cgi?id=160242#c3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1232834</commentid>
    <comment_count>1</comment_count>
      <attachid>289679</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-23 06:12:30 -0700</bug_when>
    <thetext>Created attachment 289679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233359</commentid>
    <comment_count>2</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-26 03:25:39 -0700</bug_when>
    <thetext>I made the different improvements suggested in above link. In addition, instead of having the helper jsController() to return a pointer, I made it return a reference so that there is no need to dereference it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233404</commentid>
    <comment_count>3</comment_count>
      <attachid>289830</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-26 08:01:04 -0700</bug_when>
    <thetext>Created attachment 289830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233848</commentid>
    <comment_count>4</comment_count>
      <attachid>289941</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-27 07:22:27 -0700</bug_when>
    <thetext>Created attachment 289941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1233854</commentid>
    <comment_count>5</comment_count>
      <attachid>289941</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-27 08:07:47 -0700</bug_when>
    <thetext>Comment on attachment 289941
Patch

Previous patch had an issue with an invalid ASSERT, which is now fixed. This ASSERT could be removed by updating the code generator (add a getter in order to return a JSFunction&amp; after performing an assert).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234379</commentid>
    <comment_count>6</comment_count>
      <attachid>289941</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-28 08:16:45 -0700</bug_when>
    <thetext>Comment on attachment 289941
Patch

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

&gt; Source/WebCore/bindings/js/ReadableStreamDefaultController.cpp:74
&gt; +    auto&amp; state = *globalObject.globalExec();

Can we add ASSERT(globalObject.globalExec())?
Or add a globalExec() that returns a reference and does an ASSERT?
It seems this is used in several places in these files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234745</commentid>
    <comment_count>7</comment_count>
      <attachid>290189</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-29 01:20:28 -0700</bug_when>
    <thetext>Created attachment 290189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234767</commentid>
    <comment_count>8</comment_count>
      <attachid>290194</attachid>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-29 03:15:45 -0700</bug_when>
    <thetext>Created attachment 290194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234784</commentid>
    <comment_count>9</comment_count>
    <who name="Romain Bellessort">romain.wkt</who>
    <bug_when>2016-09-29 05:25:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 289941 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=289941&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/js/ReadableStreamDefaultController.cpp:74
&gt; &gt; +    auto&amp; state = *globalObject.globalExec();
&gt; 
&gt; Can we add ASSERT(globalObject.globalExec())?
&gt; Or add a globalExec() that returns a reference and does an ASSERT?
&gt; It seems this is used in several places in these files.

I added a globalExec() helper in considered class. It performs an ASSERT and returns a reference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234788</commentid>
    <comment_count>10</comment_count>
      <attachid>290194</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-29 05:50:38 -0700</bug_when>
    <thetext>Comment on attachment 290194
Patch

Clearing flags on attachment: 290194

Committed r206579: &lt;http://trac.webkit.org/changeset/206579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1234789</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-09-29 05:50:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289679</attachid>
            <date>2016-09-23 06:12:30 -0700</date>
            <delta_ts>2016-09-26 08:00:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160293-20160923150937.patch</filename>
            <type>text/plain</type>
            <size>6934</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2Mjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjI1ZDNlZGUxZWJjZjJm
MzBiYTQzNmExYzNkZjUzNDdiOTFkMTY2OC4uYTc1ZWRmOTQ1OWZmYWQzMDA4NDdkNzRiN2Y5MWQ1
YTQyMGY5NzhiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTIzICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbU3RyZWFtcyBBUEldIEltcHJvdmUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5o
L2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmFy
aW91cyBzbWFsbCBpbXByb3ZlbWVudHMgaW4gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciBjb2RlCisgICAgICAgIChoZWxwZXIgbWV0aG9kcyBhbmQgYXNzZXJ0cykuCisKKyAgICAgICAg
Tm8gY2hhbmdlIGluIGJlaGF2aW91ci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxl
U3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQp
OiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgCisgICAgICAgIG9uIG5ldyBoZWxw
ZXIgbWV0aG9kcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyOjpjbG9zZSk6IFVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAg
ICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZXJyb3IpOiBV
cGRhdGVkIGJhc2VkIG9uIG5ldyBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OlJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVucXVldWUpOiBBZGRlZCBhbiBhc3NlcnQg
YW5kIHVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2ViQ29y
ZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6anNDb250cm9sbGVyKTogTmV3IGhl
bHBlciBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyOjpnbG9iYWxPYmplY3QpOiBSZXR1cm4gcmVmZXJlbmNlIGluc3RlYWQgb2YgcG9pbnRl
ci4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVy
cm9yPFN0cmluZz4pOiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgb24gbmV3IGhl
bHBlciBtZXRob2RzLgorCiAyMDE2LTA5LTIzICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgbmV3IHJ1bnRpbWUgZmxhZyBmb3Igd29yayBvbiBtb2Rl
cm4gbWVkaWEgY29udHJvbHMgKG9mZiBieSBkZWZhdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
LmNwcAppbmRleCA1YWI4YmFkMTIxMjQ5MDA3OTZmNWY5NmQzMTMyZWFkNzNiMDEwYjM3Li4xYzAz
MTM5NzU5OGYwZDQxN2MwMmM3NjE2MmYyNzQ2ODg2MGE2NWI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyLmNwcApAQCAtMzMsOCArMzMsNiBAQAogCiAjaWYgRU5BQkxFKFJFQURBQkxFX1NUUkVB
TV9BUEkpCiAKLSNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFk
YWJsZVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzAsMTcgKzY4LDE4IEBAIEpTQzo6SlNWYWx1ZSBSZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjppbnZva2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRl
LCBKU0M6CiAKIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9s
bGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQoKSBjb25zdAogewotICAgIGF1dG8gZ2xvYmFsT2JqZWN0
ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7Ci0gICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3Qt
PnZtKCk7CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7Cisg
ICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAgICBKU0M6OkpTTG9ja0hvbGRl
ciBsb2NrKHZtKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0g
ICAgYXV0byYgc3RhdGUgPSAqZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgYXV0byYg
c3RhdGUgPSAqZ2xvYmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKTsKIAogICAgIGF1dG8mIGNsaWVudERh
dGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKICAgICBh
dXRvIHJlYWRhYmxlU3RyZWFtID0gbV9qc0NvbnRyb2xsZXItPmdldCgmc3RhdGUsIGNsaWVudERh
dGEuYnVpbHRpbk5hbWVzKCkuY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtUHJpdmF0ZU5hbWUoKSk7
CiAgICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKIAotICAgIGF1
dG8gaXNMb2NrZWQgPSBnbG9iYWxPYmplY3QtPmJ1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucygpLnJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzKCkubV9pc1JlYWRhYmxlU3RyZWFtTG9ja2VkRnVuY3Rpb24u
Z2V0KCk7CisgICAgYXV0byBpc0xvY2tlZCA9IGdsb2JhbE9iamVjdC5idWlsdGluSW50ZXJuYWxG
dW5jdGlvbnMoKS5yZWFkYWJsZVN0cmVhbUludGVybmFscygpLm1faXNSZWFkYWJsZVN0cmVhbUxv
Y2tlZEZ1bmN0aW9uLmdldCgpOworICAgIEFTU0VSVChpc0xvY2tlZC5pc0Z1bmN0aW9uKCkpOwog
CiAgICAgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmd1bWVudHM7CiAgICAgYXJndW1lbnRz
LmFwcGVuZChyZWFkYWJsZVN0cmVhbSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgKaW5kZXggYTI3
NGQzM2JkODIyNWQxNGY4N2M5Y2ExNjRiMDM5YmMxNjNhZGZhYy4uMGMzODMxN2Y4ZTljZGU2NGUw
Y2RmYmY3YjI2MjQ5ZjAyYmVjYzY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaApAQCAtNTIs
MzMgKzUyLDQyIEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxjbGFzcyBSZXNvbHZlUmVzdWx0VHlw
ZT4KICAgICB2b2lkIGVycm9yKGNvbnN0IFJlc29sdmVSZXN1bHRUeXBlJik7CiAKLSAgICB2b2lk
IGNsb3NlKCkgeyBpbnZva2UoKmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCksICptX2pzQ29u
dHJvbGxlciwgImNsb3NlIiwgSlNDOjpqc1VuZGVmaW5lZCgpKTsgfQorICAgIHZvaWQgY2xvc2Uo
KSB7IGludm9rZSgqZ2xvYmFsT2JqZWN0KCkuZ2xvYmFsRXhlYygpLCBqc0NvbnRyb2xsZXIoKSwg
ImNsb3NlIiwgSlNDOjpqc1VuZGVmaW5lZCgpKTsgfQogCiAgICAgYm9vbCBpc0NvbnRyb2xsZWRS
ZWFkYWJsZVN0cmVhbUxvY2tlZCgpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgZXJyb3Io
SlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUpIHsgaW52b2tlKHN0YXRl
LCAqbV9qc0NvbnRyb2xsZXIsICJlcnJvciIsIHZhbHVlKTsgfQotICAgIHZvaWQgZW5xdWV1ZShK
U0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2YWx1ZSkgeyBpbnZva2Uoc3RhdGUs
ICptX2pzQ29udHJvbGxlciwgImVucXVldWUiLCB2YWx1ZSk7IH0KKyAgICB2b2lkIGVycm9yKEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZhbHVlKSB7IGludm9rZShzdGF0ZSwg
anNDb250cm9sbGVyKCksICJlcnJvciIsIHZhbHVlKTsgfQorICAgIHZvaWQgZW5xdWV1ZShKU0M6
OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2YWx1ZSkgeyBpbnZva2Uoc3RhdGUsIGpz
Q29udHJvbGxlcigpLCAiZW5xdWV1ZSIsIHZhbHVlKTsgfQorICAgIEpTUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlciYganNDb250cm9sbGVyKCkgY29uc3Q7CiAKLSAgICBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3Q7CisgICAgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCgpIGNvbnN0OwogCiAgICAgLy8gVGhlIG93bmVyIG9mIFJlYWRhYmxlU3RyZWFt
RGVmYXVsdENvbnRyb2xsZXIgaXMgcmVzcG9uc2libGUgdG8ga2VlcCB1bmNvbGxlY3RlZCB0aGUg
SlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLgogICAgIEpTUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlciogbV9qc0NvbnRyb2xsZXIgeyBudWxscHRyIH07CiB9OwogCi1pbmxp
bmUgSlNET01HbG9iYWxPYmplY3QqIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omds
b2JhbE9iamVjdCgpIGNvbnN0CitpbmxpbmUgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpqc0NvbnRyb2xsZXIoKSBjb25z
dAogewogICAgIEFTU0VSVChtX2pzQ29udHJvbGxlcik7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKKyAg
ICByZXR1cm4gKm1fanNDb250cm9sbGVyOworfQorCitpbmxpbmUgSlNET01HbG9iYWxPYmplY3Qm
IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omdsb2JhbE9iamVjdCgpIGNvbnN0Cit7
CisgICAgQVNTRVJUKG1fanNDb250cm9sbGVyKTsKKyAgICBBU1NFUlQobV9qc0NvbnRyb2xsZXIt
Pmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2Jq
ZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKIH0KIAogaW5saW5lIGJvb2wg
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZShSZWZQdHI8SlNDOjpBcnJh
eUJ1ZmZlcj4mJiBidWZmZXIpCiB7Ci0gICAgYXV0byBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9i
YWxPYmplY3QoKTsKLSAgICBKU0M6OlZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBh
dXRvJiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0M6OlZNJiB2
bSA9IGdsb2JhbE9iamVjdC52bSgpOwogICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2tlcih2bSk7
CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpTQzo6RXhl
Y1N0YXRlJiBzdGF0ZSA9ICpnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBBU1NFUlQo
Z2xvYmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKSk7CisgICAgSlNDOjpFeGVjU3RhdGUmIHN0YXRlID0g
Kmdsb2JhbE9iamVjdC5nbG9iYWxFeGVjKCk7CiAKICAgICBpZiAoIWJ1ZmZlcikgewogICAgICAg
ICBlcnJvcihzdGF0ZSwgY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcigmc3RhdGUpKTsKQEAgLTg3LDcg
Kzk2LDcgQEAgaW5saW5lIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5x
dWV1ZShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mJgogICAgIGF1dG8gbGVuZ3RoID0gYnVmZmVy
LT5ieXRlTGVuZ3RoKCk7CiAgICAgYXV0byBjaHVuayA9IEpTQzo6VWludDhBcnJheTo6Y3JlYXRl
KFdURk1vdmUoYnVmZmVyKSwgMCwgbGVuZ3RoKTsKICAgICBBU1NFUlQoY2h1bmspOwotICAgIGVu
cXVldWUoc3RhdGUsIHRvSlMoJnN0YXRlLCBnbG9iYWxPYmplY3QsIGNodW5rLmdldCgpKSk7Cisg
ICAgZW5xdWV1ZShzdGF0ZSwgdG9KUygmc3RhdGUsICZnbG9iYWxPYmplY3QsIGNodW5rLmdldCgp
KSk7CiAgICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KQEAgLTk1LDggKzEwNCw5IEBAIGlubGluZSBib29sIFJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVucXVldWUoUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYK
IHRlbXBsYXRlPD4KIGlubGluZSB2b2lkIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6
OmVycm9yPFN0cmluZz4oY29uc3QgU3RyaW5nJiByZXN1bHQpCiB7Ci0gICAgSlNDOjpFeGVjU3Rh
dGUqIHN0YXRlID0gZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKKyAgICBKU0M6OkV4ZWNT
dGF0ZSogc3RhdGUgPSBnbG9iYWxPYmplY3QoKS5nbG9iYWxFeGVjKCk7CiAgICAgSlNDOjpKU0xv
Y2tIb2xkZXIgbG9ja2VyKHN0YXRlKTsKKyAgICBBU1NFUlQoc3RhdGUpOwogICAgIGVycm9yKCpz
dGF0ZSwganNTdHJpbmcoc3RhdGUsIHJlc3VsdCkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289830</attachid>
            <date>2016-09-26 08:01:04 -0700</date>
            <delta_ts>2016-09-27 07:22:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160293-20160926165806.patch</filename>
            <type>text/plain</type>
            <size>6927</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTIyMDc5YzI3Y2YyMzQw
ZWQxOTMyNGUwMmNlZTY0MDU0ODcxYzhmNS4uNDkxZWFmNTRlNjExMTVjODI5YzZhYzY2MDgyYzQ5
N2VjZjk5NWZiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTI2ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbU3RyZWFtcyBBUEldIEltcHJvdmUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5o
L2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmFy
aW91cyBzbWFsbCBpbXByb3ZlbWVudHMgaW4gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciBjb2RlCisgICAgICAgIChoZWxwZXIgbWV0aG9kcyBhbmQgYXNzZXJ0cykuCisKKyAgICAgICAg
Tm8gY2hhbmdlIGluIGJlaGF2aW91ci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxl
U3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQp
OiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgCisgICAgICAgIG9uIG5ldyBoZWxw
ZXIgbWV0aG9kcy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyOjpjbG9zZSk6IFVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAg
ICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZXJyb3IpOiBV
cGRhdGVkIGJhc2VkIG9uIG5ldyBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OlJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVucXVldWUpOiBBZGRlZCBhbiBhc3NlcnQg
YW5kIHVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2ViQ29y
ZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6anNDb250cm9sbGVyKTogTmV3IGhl
bHBlciBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250
cm9sbGVyOjpnbG9iYWxPYmplY3QpOiBSZXR1cm4gcmVmZXJlbmNlIGluc3RlYWQgb2YgcG9pbnRl
ci4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVy
cm9yPFN0cmluZz4pOiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgb24gbmV3IGhl
bHBlciBtZXRob2RzLgorCiAyMDE2LTA5LTI1ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBBdXRob3JTdHlsZVNoZWV0cyBzaG91bGRuJ3QgdHJpZ2dlciBzeW5j
aHJvbm91cyBzdHlsZSByZXNvbHV0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAppbmRl
eCA1YWI4YmFkMTIxMjQ5MDA3OTZmNWY5NmQzMTMyZWFkNzNiMDEwYjM3Li5lNmNlNGU1MDJkOWEz
YTZiYzMzMjkyNDVmYzBjM2YwMDZiYWE4ZTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNw
cApAQCAtMzMsOCArMzMsNiBAQAogCiAjaWYgRU5BQkxFKFJFQURBQkxFX1NUUkVBTV9BUEkpCiAK
LSNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJsZVN0cmVh
bVNvdXJjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNzAsMTcgKzY4LDE4IEBAIEpTQzo6SlNWYWx1ZSBSZWFkYWJsZVN0cmVh
bURlZmF1bHRDb250cm9sbGVyOjppbnZva2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6CiAK
IGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVhZGFi
bGVTdHJlYW1Mb2NrZWQoKSBjb25zdAogewotICAgIGF1dG8gZ2xvYmFsT2JqZWN0ID0gdGhpcy0+
Z2xvYmFsT2JqZWN0KCk7Ci0gICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Cisg
ICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNDOjpW
TSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZt
KTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0byYg
c3RhdGUgPSAqZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgYXV0byYgc3RhdGUgPSAq
Z2xvYmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKTsKIAogICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3Rh
dGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKICAgICBhdXRvIHJlYWRh
YmxlU3RyZWFtID0gbV9qc0NvbnRyb2xsZXItPmdldCgmc3RhdGUsIGNsaWVudERhdGEuYnVpbHRp
bk5hbWVzKCkuY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtUHJpdmF0ZU5hbWUoKSk7CiAgICAgQVNT
RVJUX1VOVVNFRChzY29wZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKIAotICAgIGF1dG8gaXNMb2Nr
ZWQgPSBnbG9iYWxPYmplY3QtPmJ1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucygpLnJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzKCkubV9pc1JlYWRhYmxlU3RyZWFtTG9ja2VkRnVuY3Rpb24uZ2V0KCk7Cisg
ICAgYXV0byogaXNMb2NrZWQgPSBnbG9iYWxPYmplY3QuYnVpbHRpbkludGVybmFsRnVuY3Rpb25z
KCkucmVhZGFibGVTdHJlYW1JbnRlcm5hbHMoKS5tX2lzUmVhZGFibGVTdHJlYW1Mb2NrZWRGdW5j
dGlvbi5nZXQoKTsKKyAgICBBU1NFUlQoaXNMb2NrZWQtPmlzRnVuY3Rpb24oKSk7CiAKICAgICBK
U0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3VtZW50czsKICAgICBhcmd1bWVudHMuYXBwZW5k
KHJlYWRhYmxlU3RyZWFtKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaAppbmRleCBhMjc0ZDMzYmQ4
MjI1ZDE0Zjg3YzljYTE2NGIwMzliYzE2M2FkZmFjLi4wYzM4MzE3ZjhlOWNkZTY0ZTBjZGZiZjdi
MjYyNDlmMDJiZWNjNjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9S
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oCkBAIC01MiwzMyArNTIs
NDIgQEAgcHVibGljOgogICAgIHRlbXBsYXRlPGNsYXNzIFJlc29sdmVSZXN1bHRUeXBlPgogICAg
IHZvaWQgZXJyb3IoY29uc3QgUmVzb2x2ZVJlc3VsdFR5cGUmKTsKIAotICAgIHZvaWQgY2xvc2Uo
KSB7IGludm9rZSgqZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSwgKm1fanNDb250cm9sbGVy
LCAiY2xvc2UiLCBKU0M6OmpzVW5kZWZpbmVkKCkpOyB9CisgICAgdm9pZCBjbG9zZSgpIHsgaW52
b2tlKCpnbG9iYWxPYmplY3QoKS5nbG9iYWxFeGVjKCksIGpzQ29udHJvbGxlcigpLCAiY2xvc2Ui
LCBKU0M6OmpzVW5kZWZpbmVkKCkpOyB9CiAKICAgICBib29sIGlzQ29udHJvbGxlZFJlYWRhYmxl
U3RyZWFtTG9ja2VkKCkgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBlcnJvcihKU0M6OkV4
ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2YWx1ZSkgeyBpbnZva2Uoc3RhdGUsICptX2pz
Q29udHJvbGxlciwgImVycm9yIiwgdmFsdWUpOyB9Ci0gICAgdm9pZCBlbnF1ZXVlKEpTQzo6RXhl
Y1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZhbHVlKSB7IGludm9rZShzdGF0ZSwgKm1fanND
b250cm9sbGVyLCAiZW5xdWV1ZSIsIHZhbHVlKTsgfQorICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVj
U3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUgdmFsdWUpIHsgaW52b2tlKHN0YXRlLCBqc0NvbnRy
b2xsZXIoKSwgImVycm9yIiwgdmFsdWUpOyB9CisgICAgdm9pZCBlbnF1ZXVlKEpTQzo6RXhlY1N0
YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZhbHVlKSB7IGludm9rZShzdGF0ZSwganNDb250cm9s
bGVyKCksICJlbnF1ZXVlIiwgdmFsdWUpOyB9CisgICAgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyJiBqc0NvbnRyb2xsZXIoKSBjb25zdDsKIAotICAgIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QoKSBjb25zdDsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2Jq
ZWN0KCkgY29uc3Q7CiAKICAgICAvLyBUaGUgb3duZXIgb2YgUmVhZGFibGVTdHJlYW1EZWZhdWx0
Q29udHJvbGxlciBpcyByZXNwb25zaWJsZSB0byBrZWVwIHVuY29sbGVjdGVkIHRoZSBKU1JlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuCiAgICAgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyKiBtX2pzQ29udHJvbGxlciB7IG51bGxwdHIgfTsKIH07CiAKLWlubGluZSBKU0RP
TUdsb2JhbE9iamVjdCogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6Z2xvYmFsT2Jq
ZWN0KCkgY29uc3QKK2lubGluZSBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXImIFJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmpzQ29udHJvbGxlcigpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKG1fanNDb250cm9sbGVyKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNET01H
bG9iYWxPYmplY3QqPihtX2pzQ29udHJvbGxlci0+Z2xvYmFsT2JqZWN0KCkpOworICAgIHJldHVy
biAqbV9qc0NvbnRyb2xsZXI7Cit9CisKK2lubGluZSBKU0RPTUdsb2JhbE9iamVjdCYgUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6Z2xvYmFsT2JqZWN0KCkgY29uc3QKK3sKKyAgICBB
U1NFUlQobV9qc0NvbnRyb2xsZXIpOworICAgIEFTU0VSVChtX2pzQ29udHJvbGxlci0+Z2xvYmFs
T2JqZWN0KCkpOworICAgIHJldHVybiAqc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPiht
X2pzQ29udHJvbGxlci0+Z2xvYmFsT2JqZWN0KCkpOwogfQogCiBpbmxpbmUgYm9vbCBSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplbnF1ZXVlKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVy
PiYmIGJ1ZmZlcikKIHsKLSAgICBhdXRvIGdsb2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVj
dCgpOwotICAgIEpTQzo6Vk0mIHZtID0gZ2xvYmFsT2JqZWN0LT52bSgpOworICAgIGF1dG8mIGds
b2JhbE9iamVjdCA9IHRoaXMtPmdsb2JhbE9iamVjdCgpOworICAgIEpTQzo6Vk0mIHZtID0gZ2xv
YmFsT2JqZWN0LnZtKCk7CiAgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHZtKTsKICAgICBh
dXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgSlNDOjpFeGVjU3RhdGUm
IHN0YXRlID0gKmdsb2JhbE9iamVjdC0+Z2xvYmFsRXhlYygpOworICAgIEFTU0VSVChnbG9iYWxP
YmplY3QuZ2xvYmFsRXhlYygpKTsKKyAgICBKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUgPSAqZ2xvYmFs
T2JqZWN0Lmdsb2JhbEV4ZWMoKTsKIAogICAgIGlmICghYnVmZmVyKSB7CiAgICAgICAgIGVycm9y
KHN0YXRlLCBjcmVhdGVPdXRPZk1lbW9yeUVycm9yKCZzdGF0ZSkpOwpAQCAtODcsNyArOTYsNyBA
QCBpbmxpbmUgYm9vbCBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplbnF1ZXVlKFJl
ZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYmCiAgICAgYXV0byBsZW5ndGggPSBidWZmZXItPmJ5dGVM
ZW5ndGgoKTsKICAgICBhdXRvIGNodW5rID0gSlNDOjpVaW50OEFycmF5OjpjcmVhdGUoV1RGTW92
ZShidWZmZXIpLCAwLCBsZW5ndGgpOwogICAgIEFTU0VSVChjaHVuayk7Ci0gICAgZW5xdWV1ZShz
dGF0ZSwgdG9KUygmc3RhdGUsIGdsb2JhbE9iamVjdCwgY2h1bmsuZ2V0KCkpKTsKKyAgICBlbnF1
ZXVlKHN0YXRlLCB0b0pTKCZzdGF0ZSwgJmdsb2JhbE9iamVjdCwgY2h1bmsuZ2V0KCkpKTsKICAg
ICBBU1NFUlRfVU5VU0VEKHNjb3BlLCAhc2NvcGUuZXhjZXB0aW9uKCkpOwogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtOTUsOCArMTA0LDkgQEAgaW5saW5lIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlcjo6ZW5xdWV1ZShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mJgogdGVtcGxh
dGU8PgogaW5saW5lIHZvaWQgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZXJyb3I8
U3RyaW5nPihjb25zdCBTdHJpbmcmIHJlc3VsdCkKIHsKLSAgICBKU0M6OkV4ZWNTdGF0ZSogc3Rh
dGUgPSBnbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOworICAgIEpTQzo6RXhlY1N0YXRlKiBz
dGF0ZSA9IGdsb2JhbE9iamVjdCgpLmdsb2JhbEV4ZWMoKTsKICAgICBKU0M6OkpTTG9ja0hvbGRl
ciBsb2NrZXIoc3RhdGUpOworICAgIEFTU0VSVChzdGF0ZSk7CiAgICAgZXJyb3IoKnN0YXRlLCBq
c1N0cmluZyhzdGF0ZSwgcmVzdWx0KSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>289941</attachid>
            <date>2016-09-27 07:22:27 -0700</date>
            <delta_ts>2016-09-29 01:20:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160293-20160927161928.patch</filename>
            <type>text/plain</type>
            <size>6898</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWNmNjk0MzM5MWI1YzU5
NjRmMDk4ODNlOTkxYTY4MWZlYzVhNWRlOC4uODIzYTVjM2FhYThlMGExM2U3Nzk0NjBkOTAzMTA4
NGNiMDNhY2MxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE2LTA5LTI3ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbU3RyZWFtcyBBUEldIEltcHJvdmUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5o
L2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmFy
aW91cyBzbWFsbCBpbXByb3ZlbWVudHMgaW4gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ciBjb2RlIChoZWxwZXIgbWV0aG9kcyBhbmQgYXNzZXJ0cykuCisKKyAgICAgICAgTm8gY2hhbmdl
IGluIGJlaGF2aW91ci4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVm
YXVsdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQpOiBBZGRlZCBh
biBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgCisgICAgICAgIG9uIG5ldyBoZWxwZXIgbWV0aG9k
cy4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpj
bG9zZSk6IFVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2Vi
Q29yZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZXJyb3IpOiBVcGRhdGVkIGJh
c2VkIG9uIG5ldyBoZWxwZXIgbWV0aG9kcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVucXVldWUpOiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0
ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6anNDb250cm9sbGVyKTogTmV3IGhlbHBlciBtZXRo
b2QuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpn
bG9iYWxPYmplY3QpOiBSZXR1cm4gcmVmZXJlbmNlIGluc3RlYWQgb2YgcG9pbnRlci4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVycm9yPFN0cmlu
Zz4pOiBBZGRlZCBhbiBhc3NlcnQgYW5kIHVwZGF0ZWQgYmFzZWQgb24gbmV3IGhlbHBlciBtZXRo
b2RzLgorCiAyMDE2LTA5LTI2ICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXSBGaXggZGVidWcgYnVpbGQgYnJlYWsgc2luY2UgcjIwNDIwNS4g
VW5yZXZpZXdlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAppbmRleCAxZDE5ZTBjYjI1YmU3
YWY3YzA0NTg5M2U2Y2EwMDk1N2MyYjc0NDhjLi5hMzg4N2MwNWQzOWI1MjVhZjRlY2RjMWM4NWEx
MjA0Y2RiMjM0NTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFk
YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcApAQCAtMzMsOCArMzMs
NiBAQAogCiAjaWYgRU5BQkxFKFJFQURBQkxFX1NUUkVBTV9BUEkpCiAKLSNpbmNsdWRlICJKU1Jl
YWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJsZVN0cmVhbVNvdXJjZS5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAt
NjksMTcgKzY3LDE4IEBAIEpTQzo6SlNWYWx1ZSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyOjppbnZva2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6CiAKIGJvb2wgUmVhZGFibGVT
dHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQo
KSBjb25zdAogewotICAgIGF1dG8gZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7
Ci0gICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7CisgICAgYXV0byYgZ2xvYmFs
T2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxP
YmplY3Qudm0oKTsKICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2NrKHZtKTsKICAgICBhdXRvIHNj
b3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0byYgc3RhdGUgPSAqZ2xvYmFs
T2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgYXV0byYgc3RhdGUgPSAqZ2xvYmFsT2JqZWN0Lmds
b2JhbEV4ZWMoKTsKIAogICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKICAgICBhdXRvIHJlYWRhYmxlU3RyZWFtID0gbV9q
c0NvbnRyb2xsZXItPmdldCgmc3RhdGUsIGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuY29udHJv
bGxlZFJlYWRhYmxlU3RyZWFtUHJpdmF0ZU5hbWUoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChzY29w
ZSwgIXNjb3BlLmV4Y2VwdGlvbigpKTsKIAotICAgIGF1dG8gaXNMb2NrZWQgPSBnbG9iYWxPYmpl
Y3QtPmJ1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucygpLnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzKCku
bV9pc1JlYWRhYmxlU3RyZWFtTG9ja2VkRnVuY3Rpb24uZ2V0KCk7CisgICAgYXV0byogaXNMb2Nr
ZWQgPSBnbG9iYWxPYmplY3QuYnVpbHRpbkludGVybmFsRnVuY3Rpb25zKCkucmVhZGFibGVTdHJl
YW1JbnRlcm5hbHMoKS5tX2lzUmVhZGFibGVTdHJlYW1Mb2NrZWRGdW5jdGlvbi5nZXQoKTsKKyAg
ICBBU1NFUlQoaXNMb2NrZWQpOwogCiAgICAgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmd1
bWVudHM7CiAgICAgYXJndW1lbnRzLmFwcGVuZChyZWFkYWJsZVN0cmVhbSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyLmgKaW5kZXggYTI3NGQzM2JkODIyNWQxNGY4N2M5Y2ExNjRiMDM5YmMxNjNhZGZh
Yy4uMGMzODMxN2Y4ZTljZGU2NGUwY2RmYmY3YjI2MjQ5ZjAyYmVjYzY4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVs
dENvbnRyb2xsZXIuaApAQCAtNTIsMzMgKzUyLDQyIEBAIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTxj
bGFzcyBSZXNvbHZlUmVzdWx0VHlwZT4KICAgICB2b2lkIGVycm9yKGNvbnN0IFJlc29sdmVSZXN1
bHRUeXBlJik7CiAKLSAgICB2b2lkIGNsb3NlKCkgeyBpbnZva2UoKmdsb2JhbE9iamVjdCgpLT5n
bG9iYWxFeGVjKCksICptX2pzQ29udHJvbGxlciwgImNsb3NlIiwgSlNDOjpqc1VuZGVmaW5lZCgp
KTsgfQorICAgIHZvaWQgY2xvc2UoKSB7IGludm9rZSgqZ2xvYmFsT2JqZWN0KCkuZ2xvYmFsRXhl
YygpLCBqc0NvbnRyb2xsZXIoKSwgImNsb3NlIiwgSlNDOjpqc1VuZGVmaW5lZCgpKTsgfQogCiAg
ICAgYm9vbCBpc0NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbUxvY2tlZCgpIGNvbnN0OwogCiBwcml2
YXRlOgotICAgIHZvaWQgZXJyb3IoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUg
dmFsdWUpIHsgaW52b2tlKHN0YXRlLCAqbV9qc0NvbnRyb2xsZXIsICJlcnJvciIsIHZhbHVlKTsg
fQotICAgIHZvaWQgZW5xdWV1ZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2
YWx1ZSkgeyBpbnZva2Uoc3RhdGUsICptX2pzQ29udHJvbGxlciwgImVucXVldWUiLCB2YWx1ZSk7
IH0KKyAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1ZhbHVlIHZh
bHVlKSB7IGludm9rZShzdGF0ZSwganNDb250cm9sbGVyKCksICJlcnJvciIsIHZhbHVlKTsgfQor
ICAgIHZvaWQgZW5xdWV1ZShKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1ZSB2YWx1
ZSkgeyBpbnZva2Uoc3RhdGUsIGpzQ29udHJvbGxlcigpLCAiZW5xdWV1ZSIsIHZhbHVlKTsgfQor
ICAgIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciYganNDb250cm9sbGVyKCkgY29u
c3Q7CiAKLSAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgY29uc3Q7CisgICAg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCgpIGNvbnN0OwogCiAgICAgLy8gVGhlIG93
bmVyIG9mIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgaXMgcmVzcG9uc2libGUgdG8g
a2VlcCB1bmNvbGxlY3RlZCB0aGUgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLgog
ICAgIEpTUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciogbV9qc0NvbnRyb2xsZXIgeyBu
dWxscHRyIH07CiB9OwogCi1pbmxpbmUgSlNET01HbG9iYWxPYmplY3QqIFJlYWRhYmxlU3RyZWFt
RGVmYXVsdENvbnRyb2xsZXI6Omdsb2JhbE9iamVjdCgpIGNvbnN0CitpbmxpbmUgSlNSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
Ojpqc0NvbnRyb2xsZXIoKSBjb25zdAogewogICAgIEFTU0VSVChtX2pzQ29udHJvbGxlcik7Ci0g
ICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXIt
Pmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gKm1fanNDb250cm9sbGVyOworfQorCitpbmxp
bmUgSlNET01HbG9iYWxPYmplY3QmIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omds
b2JhbE9iamVjdCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKG1fanNDb250cm9sbGVyKTsKKyAgICBB
U1NFUlQobV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gKnN0YXRp
Y19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgp
KTsKIH0KIAogaW5saW5lIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5x
dWV1ZShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mJiBidWZmZXIpCiB7Ci0gICAgYXV0byBnbG9i
YWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKLSAgICBKU0M6OlZNJiB2bSA9IGdsb2Jh
bE9iamVjdC0+dm0oKTsKKyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmpl
Y3QoKTsKKyAgICBKU0M6OlZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOwogICAgIEpTQzo6SlNM
b2NrSG9sZGVyIGxvY2tlcih2bSk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwotICAgIEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSA9ICpnbG9iYWxPYmplY3QtPmdsb2Jh
bEV4ZWMoKTsKKyAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0Lmdsb2JhbEV4ZWMoKSk7CisgICAgSlND
OjpFeGVjU3RhdGUmIHN0YXRlID0gKmdsb2JhbE9iamVjdC5nbG9iYWxFeGVjKCk7CiAKICAgICBp
ZiAoIWJ1ZmZlcikgewogICAgICAgICBlcnJvcihzdGF0ZSwgY3JlYXRlT3V0T2ZNZW1vcnlFcnJv
cigmc3RhdGUpKTsKQEAgLTg3LDcgKzk2LDcgQEAgaW5saW5lIGJvb2wgUmVhZGFibGVTdHJlYW1E
ZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mJgogICAg
IGF1dG8gbGVuZ3RoID0gYnVmZmVyLT5ieXRlTGVuZ3RoKCk7CiAgICAgYXV0byBjaHVuayA9IEpT
Qzo6VWludDhBcnJheTo6Y3JlYXRlKFdURk1vdmUoYnVmZmVyKSwgMCwgbGVuZ3RoKTsKICAgICBB
U1NFUlQoY2h1bmspOwotICAgIGVucXVldWUoc3RhdGUsIHRvSlMoJnN0YXRlLCBnbG9iYWxPYmpl
Y3QsIGNodW5rLmdldCgpKSk7CisgICAgZW5xdWV1ZShzdGF0ZSwgdG9KUygmc3RhdGUsICZnbG9i
YWxPYmplY3QsIGNodW5rLmdldCgpKSk7CiAgICAgQVNTRVJUX1VOVVNFRChzY29wZSwgIXNjb3Bl
LmV4Y2VwdGlvbigpKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAgLTk1LDggKzEwNCw5IEBAIGlu
bGluZSBib29sIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVucXVldWUoUmVmUHRy
PEpTQzo6QXJyYXlCdWZmZXI+JiYKIHRlbXBsYXRlPD4KIGlubGluZSB2b2lkIFJlYWRhYmxlU3Ry
ZWFtRGVmYXVsdENvbnRyb2xsZXI6OmVycm9yPFN0cmluZz4oY29uc3QgU3RyaW5nJiByZXN1bHQp
CiB7Ci0gICAgSlNDOjpFeGVjU3RhdGUqIHN0YXRlID0gZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4
ZWMoKTsKKyAgICBKU0M6OkV4ZWNTdGF0ZSogc3RhdGUgPSBnbG9iYWxPYmplY3QoKS5nbG9iYWxF
eGVjKCk7CiAgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHN0YXRlKTsKKyAgICBBU1NFUlQo
c3RhdGUpOwogICAgIGVycm9yKCpzdGF0ZSwganNTdHJpbmcoc3RhdGUsIHJlc3VsdCkpOwogfQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290189</attachid>
            <date>2016-09-29 01:20:28 -0700</date>
            <delta_ts>2016-09-29 03:15:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160293-20160929101726.patch</filename>
            <type>text/plain</type>
            <size>7136</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGRjN2NmMGU4YzIzNmYz
NzdiOTJlODc2MmU5ZDlhY2I0NmJiMDA1NC4uZmRmNDlhN2M3ZTRiYzRhMTc2NTdhZDY5ZmI3ZWEz
Mjc4YzZjMDI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTI5ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbU3RyZWFtcyBBUEldIEltcHJvdmUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5o
L2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBWYXJp
b3VzIHNtYWxsIGltcHJvdmVtZW50cyBpbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
IGNvZGUgKGhlbHBlciBtZXRob2RzIGFuZCBhc3NlcnRzKS4KKworICAgICAgICBObyBjaGFuZ2Ug
aW4gYmVoYXZpb3VyLgorCisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyOjppc0NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbUxvY2tlZCk6IEFkZGVkIGFu
IGFzc2VydCBhbmQgdXBkYXRlZCBiYXNlZCAKKyAgICAgICAgb24gbmV3IGhlbHBlciBtZXRob2Rz
LgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmNs
b3NlKTogVXBkYXRlZCBiYXNlZCBvbiBuZXcgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJD
b3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplcnJvcik6IFVwZGF0ZWQgYmFz
ZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZSk6IEFkZGVkIGFuIGFzc2VydCBhbmQgdXBkYXRl
ZCBiYXNlZCBvbiBuZXcgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpqc0NvbnRyb2xsZXIpOiBOZXcgaGVscGVyIG1ldGhv
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omds
b2JhbE9iamVjdCk6IFJldHVybiByZWZlcmVuY2UgaW5zdGVhZCBvZiBwb2ludGVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6Z2xvYmFsRXhlYyk6
IE5ldyBoZWxwZXI7IHJldHVybiByZWZlcmVuY2UgYWZ0ZXIgcGVyZm9ybWluZyBhbiBhc3NlcnQu
CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplcnJv
cjxTdHJpbmc+KTogQWRkZWQgYW4gYXNzZXJ0IGFuZCB1cGRhdGVkIGJhc2VkIG9uIG5ldyBoZWxw
ZXIgbWV0aG9kcy4KKwogMjAxNi0wOS0yOCAgUm9tYWluIEJlbGxlc3NvcnQgIDxyb21haW4uYmVs
bGVzc29ydEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBBbGlnbiBjYW5j
ZWxSZWFkYWJsZVN0cmVhbSgpIHdpdGggc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcApp
bmRleCAxZDE5ZTBjYjI1YmU3YWY3YzA0NTg5M2U2Y2EwMDk1N2MyYjc0NDhjLi40MzliMDg4ZDBl
MDZiMGE3MGRiM2UwZWI1Y2NmMzM0MWJlYjQ1ODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
LmNwcApAQCAtMzMsOCArMzMsNiBAQAogCiAjaWYgRU5BQkxFKFJFQURBQkxFX1NUUkVBTV9BUEkp
CiAKLSNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJsZVN0
cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNjksMTcgKzY3LDE4IEBAIEpTQzo6SlNWYWx1ZSBSZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyOjppbnZva2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6
CiAKIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVh
ZGFibGVTdHJlYW1Mb2NrZWQoKSBjb25zdAogewotICAgIGF1dG8gZ2xvYmFsT2JqZWN0ID0gdGhp
cy0+Z2xvYmFsT2JqZWN0KCk7Ci0gICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlND
OjpWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2Nr
KHZtKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0
byYgc3RhdGUgPSAqZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgYXV0byYgc3RhdGUg
PSBnbG9iYWxFeGVjKCk7CiAKICAgICBhdXRvJiBjbGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpT
Vk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgYXV0byByZWFkYWJsZVN0cmVhbSA9
IG1fanNDb250cm9sbGVyLT5nZXQoJnN0YXRlLCBjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLmNv
bnRyb2xsZWRSZWFkYWJsZVN0cmVhbVByaXZhdGVOYW1lKCkpOwogICAgIEFTU0VSVF9VTlVTRUQo
c2NvcGUsICFzY29wZS5leGNlcHRpb24oKSk7CiAKLSAgICBhdXRvIGlzTG9ja2VkID0gZ2xvYmFs
T2JqZWN0LT5idWlsdGluSW50ZXJuYWxGdW5jdGlvbnMoKS5yZWFkYWJsZVN0cmVhbUludGVybmFs
cygpLm1faXNSZWFkYWJsZVN0cmVhbUxvY2tlZEZ1bmN0aW9uLmdldCgpOworICAgIGF1dG8qIGlz
TG9ja2VkID0gZ2xvYmFsT2JqZWN0LmJ1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucygpLnJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzKCkubV9pc1JlYWRhYmxlU3RyZWFtTG9ja2VkRnVuY3Rpb24uZ2V0KCk7
CisgICAgQVNTRVJUKGlzTG9ja2VkKTsKIAogICAgIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXIg
YXJndW1lbnRzOwogICAgIGFyZ3VtZW50cy5hcHBlbmQocmVhZGFibGVTdHJlYW0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5oCmluZGV4IGEyNzRkMzNiZDgyMjVkMTRmODdjOWNhMTY0YjAzOWJjMTYz
YWRmYWMuLmRhY2EzZWZkOWQ0MGQ0NTE4MGZmYzhiY2EwOWM2MTBiNDhjZTlmMzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyLmgKQEAgLTUyLDMzICs1Miw0OCBAQCBwdWJsaWM6CiAgICAgdGVtcGxh
dGU8Y2xhc3MgUmVzb2x2ZVJlc3VsdFR5cGU+CiAgICAgdm9pZCBlcnJvcihjb25zdCBSZXNvbHZl
UmVzdWx0VHlwZSYpOwogCi0gICAgdm9pZCBjbG9zZSgpIHsgaW52b2tlKCpnbG9iYWxPYmplY3Qo
KS0+Z2xvYmFsRXhlYygpLCAqbV9qc0NvbnRyb2xsZXIsICJjbG9zZSIsIEpTQzo6anNVbmRlZmlu
ZWQoKSk7IH0KKyAgICB2b2lkIGNsb3NlKCkgeyBpbnZva2UoKmdsb2JhbE9iamVjdCgpLmdsb2Jh
bEV4ZWMoKSwganNDb250cm9sbGVyKCksICJjbG9zZSIsIEpTQzo6anNVbmRlZmluZWQoKSk7IH0K
IAogICAgIGJvb2wgaXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQoKSBjb25zdDsKIAog
cHJpdmF0ZToKLSAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1Zh
bHVlIHZhbHVlKSB7IGludm9rZShzdGF0ZSwgKm1fanNDb250cm9sbGVyLCAiZXJyb3IiLCB2YWx1
ZSk7IH0KLSAgICB2b2lkIGVucXVldWUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFs
dWUgdmFsdWUpIHsgaW52b2tlKHN0YXRlLCAqbV9qc0NvbnRyb2xsZXIsICJlbnF1ZXVlIiwgdmFs
dWUpOyB9CisgICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1
ZSB2YWx1ZSkgeyBpbnZva2Uoc3RhdGUsIGpzQ29udHJvbGxlcigpLCAiZXJyb3IiLCB2YWx1ZSk7
IH0KKyAgICB2b2lkIGVucXVldWUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUg
dmFsdWUpIHsgaW52b2tlKHN0YXRlLCBqc0NvbnRyb2xsZXIoKSwgImVucXVldWUiLCB2YWx1ZSk7
IH0KKyAgICBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXImIGpzQ29udHJvbGxlcigp
IGNvbnN0OwogCi0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0Owor
ICAgIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QoKSBjb25zdDsKKyAgICBKU0M6OkV4
ZWNTdGF0ZSYgZ2xvYmFsRXhlYygpIGNvbnN0OwogCiAgICAgLy8gVGhlIG93bmVyIG9mIFJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgaXMgcmVzcG9uc2libGUgdG8ga2VlcCB1bmNvbGxl
Y3RlZCB0aGUgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLgogICAgIEpTUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciogbV9qc0NvbnRyb2xsZXIgeyBudWxscHRyIH07CiB9
OwogCi1pbmxpbmUgSlNET01HbG9iYWxPYmplY3QqIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXI6Omdsb2JhbE9iamVjdCgpIGNvbnN0CitpbmxpbmUgSlNSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpqc0NvbnRyb2xs
ZXIoKSBjb25zdAogewogICAgIEFTU0VSVChtX2pzQ29udHJvbGxlcik7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gKm1fanNDb250cm9sbGVyOworfQorCitpbmxpbmUgSlNET01HbG9i
YWxPYmplY3QmIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omdsb2JhbE9iamVjdCgp
IGNvbnN0Cit7CisgICAgQVNTRVJUKG1fanNDb250cm9sbGVyKTsKKyAgICBBU1NFUlQobV9qc0Nv
bnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKK30KKworaW5s
aW5lIEpTQzo6RXhlY1N0YXRlJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpnbG9i
YWxFeGVjKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KCkuZ2xvYmFsRXhlYygp
KTsKKyAgICByZXR1cm4gKmdsb2JhbE9iamVjdCgpLmdsb2JhbEV4ZWMoKTsKIH0KIAogaW5saW5l
IGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZShSZWZQdHI8SlND
OjpBcnJheUJ1ZmZlcj4mJiBidWZmZXIpCiB7Ci0gICAgYXV0byBnbG9iYWxPYmplY3QgPSB0aGlz
LT5nbG9iYWxPYmplY3QoKTsKLSAgICBKU0M6OlZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0M6
OlZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOwogICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2tl
cih2bSk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSA9ICpnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBK
U0M6OkV4ZWNTdGF0ZSYgc3RhdGUgPSBnbG9iYWxFeGVjKCk7CiAKICAgICBpZiAoIWJ1ZmZlcikg
ewogICAgICAgICBlcnJvcihzdGF0ZSwgY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcigmc3RhdGUpKTsK
QEAgLTg3LDcgKzEwMiw3IEBAIGlubGluZSBib29sIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXI6OmVucXVldWUoUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYKICAgICBhdXRvIGxlbmd0
aCA9IGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpOwogICAgIGF1dG8gY2h1bmsgPSBKU0M6OlVpbnQ4QXJy
YXk6OmNyZWF0ZShXVEZNb3ZlKGJ1ZmZlciksIDAsIGxlbmd0aCk7CiAgICAgQVNTRVJUKGNodW5r
KTsKLSAgICBlbnF1ZXVlKHN0YXRlLCB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBjaHVuay5n
ZXQoKSkpOworICAgIGVucXVldWUoc3RhdGUsIHRvSlMoJnN0YXRlLCAmZ2xvYmFsT2JqZWN0LCBj
aHVuay5nZXQoKSkpOwogICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29wZS5leGNlcHRpb24o
KSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC05NSw3ICsxMTAsNyBAQCBpbmxpbmUgYm9vbCBS
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplbnF1ZXVlKFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyPiYmCiB0ZW1wbGF0ZTw+CiBpbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyOjplcnJvcjxTdHJpbmc+KGNvbnN0IFN0cmluZyYgcmVzdWx0KQogewotICAgIEpT
Qzo6RXhlY1N0YXRlKiBzdGF0ZSA9IGdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CisgICAg
SlNDOjpFeGVjU3RhdGUqIHN0YXRlID0gJmdsb2JhbEV4ZWMoKTsKICAgICBKU0M6OkpTTG9ja0hv
bGRlciBsb2NrZXIoc3RhdGUpOwogICAgIGVycm9yKCpzdGF0ZSwganNTdHJpbmcoc3RhdGUsIHJl
c3VsdCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290194</attachid>
            <date>2016-09-29 03:15:45 -0700</date>
            <delta_ts>2016-09-29 05:50:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-160293-20160929121243.patch</filename>
            <type>text/plain</type>
            <size>7245</size>
            <attacher name="Romain Bellessort">romain.wkt</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGRjN2NmMGU4YzIzNmYz
NzdiOTJlODc2MmU5ZDlhY2I0NmJiMDA1NC4uZmRmNDlhN2M3ZTRiYzRhMTc2NTdhZDY5ZmI3ZWEz
Mjc4YzZjMDI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA5LTI5ICBSb21h
aW4gQmVsbGVzc29ydCAgPHJvbWFpbi5iZWxsZXNzb3J0QGNyZi5jYW5vbi5mcj4KKworICAgICAg
ICBbU3RyZWFtcyBBUEldIEltcHJvdmUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5o
L2NwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYw
MjkzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBWYXJp
b3VzIHNtYWxsIGltcHJvdmVtZW50cyBpbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
IGNvZGUgKGhlbHBlciBtZXRob2RzIGFuZCBhc3NlcnRzKS4KKworICAgICAgICBObyBjaGFuZ2Ug
aW4gYmVoYXZpb3VyLgorCisgICAgICAgICogYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyOjppc0NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbUxvY2tlZCk6IEFkZGVkIGFu
IGFzc2VydCBhbmQgdXBkYXRlZCBiYXNlZCAKKyAgICAgICAgb24gbmV3IGhlbHBlciBtZXRob2Rz
LgorICAgICAgICAqIGJpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6OmNs
b3NlKTogVXBkYXRlZCBiYXNlZCBvbiBuZXcgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJD
b3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplcnJvcik6IFVwZGF0ZWQgYmFz
ZWQgb24gbmV3IGhlbHBlciBtZXRob2RzLgorICAgICAgICAoV2ViQ29yZTo6UmVhZGFibGVTdHJl
YW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZSk6IEFkZGVkIGFuIGFzc2VydCBhbmQgdXBkYXRl
ZCBiYXNlZCBvbiBuZXcgaGVscGVyIG1ldGhvZHMuCisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJs
ZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpqc0NvbnRyb2xsZXIpOiBOZXcgaGVscGVyIG1ldGhv
ZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omds
b2JhbE9iamVjdCk6IFJldHVybiByZWZlcmVuY2UgaW5zdGVhZCBvZiBwb2ludGVyLgorICAgICAg
ICAoV2ViQ29yZTo6UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6Z2xvYmFsRXhlYyk6
IE5ldyBoZWxwZXI7IHJldHVybiByZWZlcmVuY2UgYWZ0ZXIgcGVyZm9ybWluZyBhbiBhc3NlcnQu
CisgICAgICAgIChXZWJDb3JlOjpSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplcnJv
cjxTdHJpbmc+KTogQWRkZWQgYW4gYXNzZXJ0IGFuZCB1cGRhdGVkIGJhc2VkIG9uIG5ldyBoZWxw
ZXIgbWV0aG9kcy4KKwogMjAxNi0wOS0yOCAgUm9tYWluIEJlbGxlc3NvcnQgIDxyb21haW4uYmVs
bGVzc29ydEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgW1N0cmVhbXMgQVBJXSBBbGlnbiBjYW5j
ZWxSZWFkYWJsZVN0cmVhbSgpIHdpdGggc3BlYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcApp
bmRleCAxZDE5ZTBjYjI1YmU3YWY3YzA0NTg5M2U2Y2EwMDk1N2MyYjc0NDhjLi40MzliMDg4ZDBl
MDZiMGE3MGRiM2UwZWI1Y2NmMzM0MWJlYjQ1ODU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVy
LmNwcApAQCAtMzMsOCArMzMsNiBAQAogCiAjaWYgRU5BQkxFKFJFQURBQkxFX1NUUkVBTV9BUEkp
CiAKLSNpbmNsdWRlICJKU1JlYWRhYmxlU3RyZWFtLmgiCi0jaW5jbHVkZSAiSlNSZWFkYWJsZVN0
cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNjksMTcgKzY3LDE4IEBAIEpTQzo6SlNWYWx1ZSBSZWFkYWJsZVN0
cmVhbURlZmF1bHRDb250cm9sbGVyOjppbnZva2UoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6
CiAKIGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6aXNDb250cm9sbGVkUmVh
ZGFibGVTdHJlYW1Mb2NrZWQoKSBjb25zdAogewotICAgIGF1dG8gZ2xvYmFsT2JqZWN0ID0gdGhp
cy0+Z2xvYmFsT2JqZWN0KCk7Ci0gICAgSlNDOjpWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7
CisgICAgYXV0byYgZ2xvYmFsT2JqZWN0ID0gdGhpcy0+Z2xvYmFsT2JqZWN0KCk7CisgICAgSlND
OjpWTSYgdm0gPSBnbG9iYWxPYmplY3Qudm0oKTsKICAgICBKU0M6OkpTTG9ja0hvbGRlciBsb2Nr
KHZtKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7Ci0gICAgYXV0
byYgc3RhdGUgPSAqZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CisgICAgYXV0byYgc3RhdGUg
PSBnbG9iYWxFeGVjKCk7CiAKICAgICBhdXRvJiBjbGllbnREYXRhID0gKnN0YXRpY19jYXN0PEpT
Vk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgYXV0byByZWFkYWJsZVN0cmVhbSA9
IG1fanNDb250cm9sbGVyLT5nZXQoJnN0YXRlLCBjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLmNv
bnRyb2xsZWRSZWFkYWJsZVN0cmVhbVByaXZhdGVOYW1lKCkpOwogICAgIEFTU0VSVF9VTlVTRUQo
c2NvcGUsICFzY29wZS5leGNlcHRpb24oKSk7CiAKLSAgICBhdXRvIGlzTG9ja2VkID0gZ2xvYmFs
T2JqZWN0LT5idWlsdGluSW50ZXJuYWxGdW5jdGlvbnMoKS5yZWFkYWJsZVN0cmVhbUludGVybmFs
cygpLm1faXNSZWFkYWJsZVN0cmVhbUxvY2tlZEZ1bmN0aW9uLmdldCgpOworICAgIGF1dG8qIGlz
TG9ja2VkID0gZ2xvYmFsT2JqZWN0LmJ1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucygpLnJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzKCkubV9pc1JlYWRhYmxlU3RyZWFtTG9ja2VkRnVuY3Rpb24uZ2V0KCk7
CisgICAgQVNTRVJUKGlzTG9ja2VkKTsKIAogICAgIEpTQzo6TWFya2VkQXJndW1lbnRCdWZmZXIg
YXJndW1lbnRzOwogICAgIGFyZ3VtZW50cy5hcHBlbmQocmVhZGFibGVTdHJlYW0pOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5oCmluZGV4IGEyNzRkMzNiZDgyMjVkMTRmODdjOWNhMTY0YjAzOWJjMTYz
YWRmYWMuLjVhMGI2Yjg5OTA1ZWQ5MTk3ZjY0NGUwMjRjOTVjYTI5Mzg4NzAyYjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9SZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyLmgKQEAgLTUyLDMzICs1Miw0OCBAQCBwdWJsaWM6CiAgICAgdGVtcGxh
dGU8Y2xhc3MgUmVzb2x2ZVJlc3VsdFR5cGU+CiAgICAgdm9pZCBlcnJvcihjb25zdCBSZXNvbHZl
UmVzdWx0VHlwZSYpOwogCi0gICAgdm9pZCBjbG9zZSgpIHsgaW52b2tlKCpnbG9iYWxPYmplY3Qo
KS0+Z2xvYmFsRXhlYygpLCAqbV9qc0NvbnRyb2xsZXIsICJjbG9zZSIsIEpTQzo6anNVbmRlZmlu
ZWQoKSk7IH0KKyAgICB2b2lkIGNsb3NlKCkgeyBpbnZva2UoKmdsb2JhbE9iamVjdCgpLmdsb2Jh
bEV4ZWMoKSwganNDb250cm9sbGVyKCksICJjbG9zZSIsIEpTQzo6anNVbmRlZmluZWQoKSk7IH0K
IAogICAgIGJvb2wgaXNDb250cm9sbGVkUmVhZGFibGVTdHJlYW1Mb2NrZWQoKSBjb25zdDsKIAog
cHJpdmF0ZToKLSAgICB2b2lkIGVycm9yKEpTQzo6RXhlY1N0YXRlJiBzdGF0ZSwgSlNDOjpKU1Zh
bHVlIHZhbHVlKSB7IGludm9rZShzdGF0ZSwgKm1fanNDb250cm9sbGVyLCAiZXJyb3IiLCB2YWx1
ZSk7IH0KLSAgICB2b2lkIGVucXVldWUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFs
dWUgdmFsdWUpIHsgaW52b2tlKHN0YXRlLCAqbV9qc0NvbnRyb2xsZXIsICJlbnF1ZXVlIiwgdmFs
dWUpOyB9CisgICAgdm9pZCBlcnJvcihKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUsIEpTQzo6SlNWYWx1
ZSB2YWx1ZSkgeyBpbnZva2Uoc3RhdGUsIGpzQ29udHJvbGxlcigpLCAiZXJyb3IiLCB2YWx1ZSk7
IH0KKyAgICB2b2lkIGVucXVldWUoSlNDOjpFeGVjU3RhdGUmIHN0YXRlLCBKU0M6OkpTVmFsdWUg
dmFsdWUpIHsgaW52b2tlKHN0YXRlLCBqc0NvbnRyb2xsZXIoKSwgImVucXVldWUiLCB2YWx1ZSk7
IH0KKyAgICBKU1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXImIGpzQ29udHJvbGxlcigp
IGNvbnN0OwogCi0gICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIGNvbnN0Owor
ICAgIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QoKSBjb25zdDsKKyAgICBKU0M6OkV4
ZWNTdGF0ZSYgZ2xvYmFsRXhlYygpIGNvbnN0OwogCiAgICAgLy8gVGhlIG93bmVyIG9mIFJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgaXMgcmVzcG9uc2libGUgdG8ga2VlcCB1bmNvbGxl
Y3RlZCB0aGUgSlNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLgogICAgIEpTUmVhZGFi
bGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciogbV9qc0NvbnRyb2xsZXIgeyBudWxscHRyIH07CiB9
OwogCi1pbmxpbmUgSlNET01HbG9iYWxPYmplY3QqIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXI6Omdsb2JhbE9iamVjdCgpIGNvbnN0CitpbmxpbmUgSlNSZWFkYWJsZVN0cmVhbURlZmF1
bHRDb250cm9sbGVyJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpqc0NvbnRyb2xs
ZXIoKSBjb25zdAogewogICAgIEFTU0VSVChtX2pzQ29udHJvbGxlcik7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVj
dCgpKTsKKyAgICByZXR1cm4gKm1fanNDb250cm9sbGVyOworfQorCitpbmxpbmUgSlNET01HbG9i
YWxPYmplY3QmIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI6Omdsb2JhbE9iamVjdCgp
IGNvbnN0Cit7CisgICAgQVNTRVJUKG1fanNDb250cm9sbGVyKTsKKyAgICBBU1NFUlQobV9qc0Nv
bnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKKyAgICByZXR1cm4gKnN0YXRpY19jYXN0PEpTRE9N
R2xvYmFsT2JqZWN0Kj4obV9qc0NvbnRyb2xsZXItPmdsb2JhbE9iamVjdCgpKTsKK30KKworaW5s
aW5lIEpTQzo6RXhlY1N0YXRlJiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjpnbG9i
YWxFeGVjKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoZ2xvYmFsT2JqZWN0KCkuZ2xvYmFsRXhlYygp
KTsKKyAgICByZXR1cm4gKmdsb2JhbE9iamVjdCgpLmdsb2JhbEV4ZWMoKTsKIH0KIAogaW5saW5l
IGJvb2wgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjo6ZW5xdWV1ZShSZWZQdHI8SlND
OjpBcnJheUJ1ZmZlcj4mJiBidWZmZXIpCiB7Ci0gICAgYXV0byBnbG9iYWxPYmplY3QgPSB0aGlz
LT5nbG9iYWxPYmplY3QoKTsKLSAgICBKU0M6OlZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsK
KyAgICBhdXRvJiBnbG9iYWxPYmplY3QgPSB0aGlzLT5nbG9iYWxPYmplY3QoKTsKKyAgICBKU0M6
OlZNJiB2bSA9IGdsb2JhbE9iamVjdC52bSgpOwogICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2tl
cih2bSk7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIEpT
Qzo6RXhlY1N0YXRlJiBzdGF0ZSA9ICpnbG9iYWxPYmplY3QtPmdsb2JhbEV4ZWMoKTsKKyAgICBK
U0M6OkV4ZWNTdGF0ZSYgc3RhdGUgPSBnbG9iYWxFeGVjKCk7CiAKICAgICBpZiAoIWJ1ZmZlcikg
ewogICAgICAgICBlcnJvcihzdGF0ZSwgY3JlYXRlT3V0T2ZNZW1vcnlFcnJvcigmc3RhdGUpKTsK
QEAgLTg3LDcgKzEwMiw3IEBAIGlubGluZSBib29sIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRy
b2xsZXI6OmVucXVldWUoUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYKICAgICBhdXRvIGxlbmd0
aCA9IGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpOwogICAgIGF1dG8gY2h1bmsgPSBKU0M6OlVpbnQ4QXJy
YXk6OmNyZWF0ZShXVEZNb3ZlKGJ1ZmZlciksIDAsIGxlbmd0aCk7CiAgICAgQVNTRVJUKGNodW5r
KTsKLSAgICBlbnF1ZXVlKHN0YXRlLCB0b0pTKCZzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBjaHVuay5n
ZXQoKSkpOworICAgIGVucXVldWUoc3RhdGUsIHRvSlMoJnN0YXRlLCAmZ2xvYmFsT2JqZWN0LCBj
aHVuay5nZXQoKSkpOwogICAgIEFTU0VSVF9VTlVTRUQoc2NvcGUsICFzY29wZS5leGNlcHRpb24o
KSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC05NSw5ICsxMTAsOSBAQCBpbmxpbmUgYm9vbCBS
ZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyOjplbnF1ZXVlKFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyPiYmCiB0ZW1wbGF0ZTw+CiBpbmxpbmUgdm9pZCBSZWFkYWJsZVN0cmVhbURlZmF1bHRD
b250cm9sbGVyOjplcnJvcjxTdHJpbmc+KGNvbnN0IFN0cmluZyYgcmVzdWx0KQogewotICAgIEpT
Qzo6RXhlY1N0YXRlKiBzdGF0ZSA9IGdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7Ci0gICAg
SlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKHN0YXRlKTsKLSAgICBlcnJvcigqc3RhdGUsIGpzU3Ry
aW5nKHN0YXRlLCByZXN1bHQpKTsKKyAgICBKU0M6OkV4ZWNTdGF0ZSYgc3RhdGUgPSBnbG9iYWxF
eGVjKCk7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9ja2VyKCZzdGF0ZSk7CisgICAgZXJyb3Io
c3RhdGUsIGpzU3RyaW5nKCZzdGF0ZSwgcmVzdWx0KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>