<?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>191602</bug_id>
          
          <creation_ts>2018-11-13 14:56:41 -0800</creation_ts>
          <short_desc>WebKit.ApplicationManifestBasic API test is failing when enabling PSON</short_desc>
          <delta_ts>2018-11-14 08:59:23 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>191572</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1478153</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-13 14:56:41 -0800</bug_when>
    <thetext>WebKit.ApplicationManifestBasic API test is failing when enabling PSON:
        /Volumes/Data/WebKit/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:98
        Value of: [manifest.name isEqualToString:@&quot;A Web Application&quot;]
          Actual: false
        Expected: true
        
        
        /Volumes/Data/WebKit/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:99
        Value of: [manifest.shortName isEqualToString:@&quot;WebApp&quot;]
          Actual: false
        Expected: true
        
        
        /Volumes/Data/WebKit/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:100
        Value of: [manifest.applicationDescription isEqualToString:@&quot;Hello.&quot;]
          Actual: false
        Expected: true
        
        
        /Volumes/Data/WebKit/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:101
        Value of: [manifest.startURL isEqual:[NSURL URLWithString:@&quot;http://example.com/app/start&quot;]]
          Actual: false
        Expected: true
        
        
        /Volumes/Data/WebKit/OpenSource/Tools/TestWebKitAPI/Tests/WebKitCocoa/ApplicationManifest.mm:102
        Value of: [manifest.scope isEqual:[NSURL URLWithString:@&quot;http://example.com/app&quot;]]
          Actual: false
        Expected: true


The issue seems to be that we&apos;re process swapping when the client does:
    NSString *htmlString = [NSString stringWithFormat:@&quot;&lt;link rel=\&quot;manifest\&quot; href=\&quot;data:text/plain;charset=utf-8;base64,%@\&quot;&gt;&quot;, [[NSJSONSerialization dataWithJSONObject:manifestObject options:0 error:nil] base64EncodedStringWithOptions:0]];
    [webView loadHTMLString:htmlString baseURL:[NSURL URLWithString:@&quot;http://example.com/app/index&quot;]];

Could be related to substitute data and it getting dropped if the load swaps to a new process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478180</commentid>
    <comment_count>1</comment_count>
      <attachid>354716</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-13 15:51:25 -0800</bug_when>
    <thetext>Created attachment 354716
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478187</commentid>
    <comment_count>2</comment_count>
      <attachid>354720</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-13 16:02:03 -0800</bug_when>
    <thetext>Created attachment 354720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478275</commentid>
    <comment_count>3</comment_count>
      <attachid>354749</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-13 18:56:40 -0800</bug_when>
    <thetext>Created attachment 354749
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478406</commentid>
    <comment_count>4</comment_count>
      <attachid>354749</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-11-14 06:20:34 -0800</bug_when>
    <thetext>Comment on attachment 354749
Patch

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

&gt; Source/WebKit/UIProcess/API/APINavigation.h:159
&gt; +    std::optional&lt;SubstituteData&gt; m_substituteData;

Since it is uncommon it might be a little better to use std::unique_ptr so we don&apos;t have to always use the memory of the whole structure.

&gt; Source/WebKit/UIProcess/WebNavigationState.h:54
&gt; +    Ref&lt;API::Navigation&gt; createLoadDataNavigation(const IPC::DataReference&amp;, const String&amp; MIMEType, const String&amp; encoding, const String&amp; baseURL, API::Object* userData);

We already have a struct.  Couldn&apos;t we just add one parameter here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478456</commentid>
    <comment_count>5</comment_count>
      <attachid>354814</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-14 08:56:42 -0800</bug_when>
    <thetext>Created attachment 354814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478457</commentid>
    <comment_count>6</comment_count>
      <attachid>354814</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-14 08:58:23 -0800</bug_when>
    <thetext>Comment on attachment 354814
Patch

Clearing flags on attachment: 354814

Committed r238179: &lt;https://trac.webkit.org/changeset/238179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478458</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-11-14 08:58:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478459</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-14 08:59:23 -0800</bug_when>
    <thetext>&lt;rdar://problem/46064330&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354716</attachid>
            <date>2018-11-13 15:51:25 -0800</date>
            <delta_ts>2018-11-13 16:02:02 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>191602_wip.patch</filename>
            <type>text/plain</type>
            <size>8295</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMDY2OTkwNDAxMGUuLmMxYzc0MTZkNGIwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDE4LTExLTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgRW5hYmxlIHByb2Nlc3Mgc3dhcCBvbiBjcm9zcy1zaXRlIG5hdmlnYXRpb24gYnkgZGVm
YXVsdCBvbiBtYWNPUworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkxNTcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjAzMzg0Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg6CisKIDIwMTgtMTEtMTMgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBv
dXQgcjIzODEzNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElO
YXZpZ2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9u
LmNwcAppbmRleCA2OGI4N2Q4ODdmZS4uZTY4MzBlNzZlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAKQEAgLTQwLDYgKzQwLDEyIEBAIE5hdmln
YXRpb246Ok5hdmlnYXRpb24oV2ViTmF2aWdhdGlvblN0YXRlJiBzdGF0ZSkKIHsKIH0KIAorTmF2
aWdhdGlvbjo6TmF2aWdhdGlvbihXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYgc3RhdGUsIGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgV1RGOjpTdHJpbmcmIE1JTUVUeXBl
LCBjb25zdCBXVEY6OlN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdURjo6U3RyaW5nJiBiYXNlVVJM
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCisgICAgOiBOYXZpZ2F0aW9uKHN0YXRlKQoreworICAg
IG1fc3Vic3RpdHV0ZURhdGEgPSBTdWJzdGl0dXRlRGF0YSB7IGRhdGEudmVjdG9yKCksIE1JTUVU
eXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEgfTsKK30KKwogTmF2aWdhdGlvbjo6TmF2
aWdhdGlvbihXZWJOYXZpZ2F0aW9uU3RhdGUmIHN0YXRlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiByZXF1ZXN0LCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBmcm9tSXRlbSkKICAgICA6IG1f
bmF2aWdhdGlvbklEKHN0YXRlLmdlbmVyYXRlTmF2aWdhdGlvbklEKCkpCiAgICAgLCBtX29yaWdp
bmFsUmVxdWVzdChXVEZNb3ZlKHJlcXVlc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElOYXZpZ2F0aW9uLmgKaW5kZXggYmExZTM5MzZiZGEuLjRiNmJiZDI0ZjM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKQEAgLTI2LDYgKzI2LDcg
QEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCIKICNpbmNs
dWRlIDxXZWJDb3JlL1Byb2Nlc3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVxdWVz
dC5oPgpAQCAtNjAsNiArNjEsMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBOYXZpZ2F0aW9uKHN0YXRlLCBXVEZNb3ZlKHJlcXVlc3QpLCBmcm9tSXRlbSkpOwogICAg
IH0KIAorICAgIHN0YXRpYyBSZWY8TmF2aWdhdGlvbj4gY3JlYXRlKFdlYktpdDo6V2ViTmF2aWdh
dGlvblN0YXRlJiBzdGF0ZSwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBX
VEY6OlN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFdURjo6U3RyaW5nJiBlbmNvZGluZywgY29uc3Qg
V1RGOjpTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5hdmlnYXRpb24oc3RhdGUsIGRhdGEsIE1JTUVUeXBl
LCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEpKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIH5O
YXZpZ2F0aW9uKCk7CiAKICAgICB1aW50NjRfdCBuYXZpZ2F0aW9uSUQoKSBjb25zdCB7IHJldHVy
biBtX25hdmlnYXRpb25JRDsgfQpAQCAtMTE0LDEwICsxMjAsMjEgQEAgcHVibGljOgogICAgIGNv
bnN0IGNoYXIqIGxvZ2dpbmdTdHJpbmcoKSBjb25zdDsKICNlbmRpZgogCisgICAgc3RydWN0IFN1
YnN0aXR1dGVEYXRhIHsKKyAgICAgICAgVmVjdG9yPHVpbnQ4X3Q+IGNvbnRlbnQ7CisgICAgICAg
IFdURjo6U3RyaW5nIE1JTUVUeXBlOworICAgICAgICBXVEY6OlN0cmluZyBlbmNvZGluZzsKKyAg
ICAgICAgV1RGOjpTdHJpbmcgYmFzZVVSTDsKKyAgICAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1
c2VyRGF0YTsKKyAgICB9OworCisgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxTdWJzdGl0dXRlRGF0
YT4mIHN1YnN0aXR1dGVEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9zdWJzdGl0dXRlRGF0YTsgfQor
CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IE5hdmlnYXRpb24oV2ViS2l0OjpXZWJOYXZpZ2F0aW9u
U3RhdGUmKTsKICAgICBOYXZpZ2F0aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJiwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRlbSog
ZnJvbUl0ZW0pOwogICAgIE5hdmlnYXRpb24oV2ViS2l0OjpXZWJOYXZpZ2F0aW9uU3RhdGUmLCBX
ZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mIHRhcmdldEl0ZW0sIFdlYktpdDo6V2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSogZnJvbUl0ZW0sIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUpOworICAg
IE5hdmlnYXRpb24oV2ViS2l0OjpXZWJOYXZpZ2F0aW9uU3RhdGUmLCBjb25zdCBJUEM6OkRhdGFS
ZWZlcmVuY2UmLCBjb25zdCBXVEY6OlN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFdURjo6U3RyaW5n
JiBlbmNvZGluZywgY29uc3QgV1RGOjpTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2Vy
RGF0YSk7CiAKICAgICB1aW50NjRfdCBtX25hdmlnYXRpb25JRDsKICAgICBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QgbV9vcmlnaW5hbFJlcXVlc3Q7CkBAIC0xMzksNiArMTU2LDcgQEAgcHJpdmF0
ZToKICAgICBXZWJDb3JlOjpMb2NrSGlzdG9yeSBtX2xvY2tIaXN0b3J5OwogICAgIFdlYkNvcmU6
OkxvY2tCYWNrRm9yd2FyZExpc3QgbV9sb2NrQmFja0ZvcndhcmRMaXN0OwogICAgIFdURjo6U3Ry
aW5nIG1fY2xpZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5OworICAgIHN0ZDo6b3B0aW9uYWw8
U3Vic3RpdHV0ZURhdGE+IG1fc3Vic3RpdHV0ZURhdGE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNz
UG9vbENvbmZpZ3VyYXRpb24uaAppbmRleCBlMjJmZmI0N2RlNC4uMGRiN2JjNzVlYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJUHJvY2Vzc1Bvb2xD
b25maWd1cmF0aW9uLmgKQEAgLTIwNSwxMCArMjA1LDE1IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X3Nob3VsZENhcHR1cmVBdWRpb0luVUlQcm9jZXNzIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2hv
dWxkQ2FwdHVyZURpc3BsYXlJblVJUHJvY2VzcyB7IERFRkFVTFRfQ0FQVFVSRV9ESVNQTEFZX0lO
X1VJX1BST0NFU1MgfTsKICAgICBQcm9jZXNzSUQgbV9wcmVzZW50aW5nQXBwbGljYXRpb25QSUQg
eyBnZXRDdXJyZW50UHJvY2Vzc0lEKCkgfTsKKyNpZiBQTEFURk9STShNQUMpCisgICAgYm9vbCBt
X3Byb2Nlc3NTd2Fwc09uTmF2aWdhdGlvbiB7IHRydWUgfTsKKyAgICBib29sIG1faXNBdXRvbWF0
aWNQcm9jZXNzV2FybWluZ0VuYWJsZWQgeyB0cnVlIH07CisjZWxzZQogICAgIGJvb2wgbV9wcm9j
ZXNzU3dhcHNPbk5hdmlnYXRpb24geyBmYWxzZSB9OworICAgIGJvb2wgbV9pc0F1dG9tYXRpY1By
b2Nlc3NXYXJtaW5nRW5hYmxlZCB7IGZhbHNlIH07CisjZW5kaWYKICAgICBib29sIG1fYWx3YXlz
S2VlcEFuZFJldXNlU3dhcHBlZFByb2Nlc3NlcyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3Byb2Nl
c3NTd2Fwc09uV2luZG93T3BlbldpdGhPcGVuZXIgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0F1
dG9tYXRpY1Byb2Nlc3NXYXJtaW5nRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgV1RGOjpTdHJpbmcg
bV9jdXN0b21XZWJDb250ZW50U2VydmljZUJ1bmRsZUlkZW50aWZpZXI7CiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViTmF2
aWdhdGlvblN0YXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25T
dGF0ZS5jcHAKaW5kZXggNWUzZjI0MTRjZmYuLjE5YmYxNDNkNmZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5jcHAKQEAgLTY4LDkgKzY4LDkgQEAg
UmVmPEFQSTo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVSZWxvYWROYXZp
Z2F0aW9uKCkKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKIH0KIAotUmVmPEFQSTo6TmF2aWdhdGlv
bj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24oKQorUmVmPEFQ
STo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRp
b24oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBl
LCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2Jq
ZWN0KiB1c2VyRGF0YSkKIHsKLSAgICBhdXRvIG5hdmlnYXRpb24gPSBBUEk6Ok5hdmlnYXRpb246
OmNyZWF0ZSgqdGhpcyk7CisgICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpOYXZpZ2F0aW9uOjpj
cmVhdGUoKnRoaXMsIGRhdGEsIE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEp
OwogCiAgICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCksIG5h
dmlnYXRpb24ucHRyKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJOYXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRp
b25TdGF0ZS5oCmluZGV4IDAwMzZkMjI0YjE0Li5mOTBiNTQ0OGQyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVi
bGljOgogICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZUJhY2tGb3J3YXJkTmF2aWdhdGlv
bihXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiB0YXJnZXRJdGVtLCBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtKiBjdXJyZW50SXRlbSwgV2ViQ29yZTo6RnJhbWVMb2FkVHlwZSk7CiAgICAgUmVmPEFQSTo6
TmF2aWdhdGlvbj4gY3JlYXRlTG9hZFJlcXVlc3ROYXZpZ2F0aW9uKFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYmLCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBjdXJyZW50SXRlbSk7CiAgICAgUmVm
PEFQSTo6TmF2aWdhdGlvbj4gY3JlYXRlUmVsb2FkTmF2aWdhdGlvbigpOwotICAgIFJlZjxBUEk6
Ok5hdmlnYXRpb24+IGNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbigpOworICAgIFJlZjxBUEk6Ok5h
dmlnYXRpb24+IGNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbihjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25z
dCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSk7CiAKICAgICBBUEk6Ok5h
dmlnYXRpb24qIG5hdmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklEKTsKICAgICBSZWZQdHI8
QVBJOjpOYXZpZ2F0aW9uPiB0YWtlTmF2aWdhdGlvbih1aW50NjRfdCBuYXZpZ2F0aW9uSUQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZjZmZGE3NTNmOWMu
LjVmZjZlMjg2ZmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTEwODcsNyArMTA4Nyw3IEBAIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IFdlYlBhZ2VQcm94
eTo6bG9hZERhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjCiAgICAgaWYgKG1f
aXNDbG9zZWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYXV0byBuYXZpZ2F0aW9u
ID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbigpOworICAgIGF1
dG8gbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2FkRGF0YU5hdmlnYXRp
b24oZGF0YSwgTUlNRVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2VyRGF0YSk7CiAKICAgICBh
dXRvIHRyYW5zYWN0aW9uID0gbV9wYWdlTG9hZFN0YXRlLnRyYW5zYWN0aW9uKCk7CiAKQEAgLTI2
MTYsNyArMjYxNiwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5O
ZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgUgogCiAgICAgLy8gRklYTUU6
IFdvcmsgb3V0IHRpbWluZyBvZiByZXNwb25kaW5nIHdpdGggdGhlIGxhc3QgcG9saWN5IGRlbGVn
YXRlLCBldGMKICAgICBBU1NFUlQoIW5hdmlnYXRpb24uY3VycmVudFJlcXVlc3QoKS5pc0VtcHR5
KCkpOwotICAgIGxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb24obmF2aWdhdGlvbiwgUmVzb3VyY2VS
ZXF1ZXN0IHsgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpIH0sIFdlYkNvcmU6OlNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93RXh0ZXJuYWxTY2hlbWVzLCBudWxscHRy
LCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Olllcyk7CisgICAgaWYgKGF1dG8mIHN1YnN0
aXR1dGVEYXRhID0gbmF2aWdhdGlvbi5zdWJzdGl0dXRlRGF0YSgpKQorICAgICAgICBsb2FkRGF0
YSh7IHN1YnN0aXR1dGVEYXRhLT5jb250ZW50LmRhdGEoKSwgc3Vic3RpdHV0ZURhdGEtPmNvbnRl
bnQuc2l6ZSgpIH0sIHN1YnN0aXR1dGVEYXRhLT5NSU1FVHlwZSwgc3Vic3RpdHV0ZURhdGEtPmVu
Y29kaW5nLCBzdWJzdGl0dXRlRGF0YS0+YmFzZVVSTCwgc3Vic3RpdHV0ZURhdGEtPnVzZXJEYXRh
LmdldCgpKTsKKyAgICBlbHNlCisgICAgICAgIGxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb24obmF2
aWdhdGlvbiwgUmVzb3VyY2VSZXF1ZXN0IHsgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpIH0s
IFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93RXh0ZXJu
YWxTY2hlbWVzLCBudWxscHRyLCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Olllcyk7CiAK
ICAgICBBU1NFUlQoIW1fbWFpbkZyYW1lKTsKICAgICBtX21haW5GcmFtZUNyZWF0aW9uSGFuZGxl
ciA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG5hdmlnYXRpb24gPSBt
YWtlUmVmKG5hdmlnYXRpb24pLCByZXF1ZXN0ID0gIG5hdmlnYXRpb24uY3VycmVudFJlcXVlc3Qo
KSwgbWFpbkZyYW1lVVJMLCBpc1NlcnZlclJlZGlyZWN0ID0gbmF2aWdhdGlvbi5jdXJyZW50UmVx
dWVzdElzUmVkaXJlY3QoKV0oKSBtdXRhYmxlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354720</attachid>
            <date>2018-11-13 16:02:03 -0800</date>
            <delta_ts>2018-11-13 18:56:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191602-20181113160203.patch</filename>
            <type>text/plain</type>
            <size>11328</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA2Njk5MDQwMTBlM2EyYmRj
M2JiNzc3YTk2MGU2MDZhMmFiOGI1YzIuLjYyZTlmMGUwZjYwYWM2ZjI5ZmQ5OTYzNDhhNGQ1YzI0
Nzc0YTk0NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMTEtMTMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQuQXBwbGljYXRpb25NYW5p
ZmVzdEJhc2ljIEFQSSB0ZXN0IGlzIGZhaWxpbmcgd2hlbiBlbmFibGluZyBQU09OCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
cHJvY2VzcyBzd2FwcGluZyBmb3IgYSBbV0tXZWJWaWV3IGxvYWRIVE1MOl0gbG9hZCBieSBzdG9y
aW5nCisgICAgICAgIHRoZSBuZWNlc3NhcnkgZGF0YSBvbiB0aGUgQVBJOjpOYXZpZ2F0aW9uIGFu
ZCBkb2luZyBhIGxvYWREYXRhKCkgaW5zdGVhZCBvZgorICAgICAgICBhIGxvYWRSZXF1ZXN0KCkg
YWZ0ZXIgcHJvY2VzcyBzd2FwcGluZyB3aGVuIHRoaXMgZGF0YSBpcyBwcmVzZW50IG9uIHRoZQor
ICAgICAgICBuYXZpZ2F0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0
aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6TmF2aWdhdGlvbik6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmg6CisgICAgICAgIChBUEk6Ok5hdmlnYXRp
b246OmNyZWF0ZSk6CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OnN1YnN0aXR1dGVEYXRhIGNv
bnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
Ojpsb2FkRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGludWVOYXZp
Z2F0aW9uSW5OZXdQcm9jZXNzKToKKwogMjAxOC0xMS0xMyAgUnlhbiBIYWRkYWQgIDxyeWFuaGFk
ZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjM4MTM3
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwCmluZGV4
IDY4Yjg3ZDg4N2ZlNjM0MmYwZjUxYzk0MzEyZWEwZjRiY2UxMmJmNmEuLmU2ODMwZTc2ZTc2NzFj
YjE5ZTU5Njg3NjMwMmExNjhkNGMxMWI3MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAKQEAgLTQwLDYgKzQwLDEyIEBAIE5hdmlnYXRpb246Ok5h
dmlnYXRpb24oV2ViTmF2aWdhdGlvblN0YXRlJiBzdGF0ZSkKIHsKIH0KIAorTmF2aWdhdGlvbjo6
TmF2aWdhdGlvbihXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYgc3RhdGUsIGNvbnN0IElQQzo6
RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgV1RGOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBX
VEY6OlN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdURjo6U3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9i
amVjdCogdXNlckRhdGEpCisgICAgOiBOYXZpZ2F0aW9uKHN0YXRlKQoreworICAgIG1fc3Vic3Rp
dHV0ZURhdGEgPSBTdWJzdGl0dXRlRGF0YSB7IGRhdGEudmVjdG9yKCksIE1JTUVUeXBlLCBlbmNv
ZGluZywgYmFzZVVSTCwgdXNlckRhdGEgfTsKK30KKwogTmF2aWdhdGlvbjo6TmF2aWdhdGlvbihX
ZWJOYXZpZ2F0aW9uU3RhdGUmIHN0YXRlLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1
ZXN0LCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBmcm9tSXRlbSkKICAgICA6IG1fbmF2aWdhdGlv
bklEKHN0YXRlLmdlbmVyYXRlTmF2aWdhdGlvbklEKCkpCiAgICAgLCBtX29yaWdpbmFsUmVxdWVz
dChXVEZNb3ZlKHJlcXVlc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSU5hdmlnYXRpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZp
Z2F0aW9uLmgKaW5kZXggYmExZTM5MzZiZGE2ZjVmY2U0NTg1MzVhNTg1Zjg1NDgxNTllMWQzZS4u
NGI2YmJkMjRmMzY1ZmNlNzE3NDQ5MmQxZmM5MzU5NmIxNDQzNTVlNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9Qcm9jZXNzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KQEAg
LTYwLDYgKzYxLDExIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmF2
aWdhdGlvbihzdGF0ZSwgV1RGTW92ZShyZXF1ZXN0KSwgZnJvbUl0ZW0pKTsKICAgICB9CiAKKyAg
ICBzdGF0aWMgUmVmPE5hdmlnYXRpb24+IGNyZWF0ZShXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0
ZSYgc3RhdGUsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgV1RGOjpTdHJp
bmcmIE1JTUVUeXBlLCBjb25zdCBXVEY6OlN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdURjo6U3Ry
aW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBOYXZpZ2F0aW9uKHN0YXRlLCBkYXRhLCBNSU1FVHlwZSwgZW5jb2Rp
bmcsIGJhc2VVUkwsIHVzZXJEYXRhKSk7CisgICAgfQorCiAgICAgdmlydHVhbCB+TmF2aWdhdGlv
bigpOwogCiAgICAgdWludDY0X3QgbmF2aWdhdGlvbklEKCkgY29uc3QgeyByZXR1cm4gbV9uYXZp
Z2F0aW9uSUQ7IH0KQEAgLTExNCwxMCArMTIwLDIxIEBAIHB1YmxpYzoKICAgICBjb25zdCBjaGFy
KiBsb2dnaW5nU3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYKIAorICAgIHN0cnVjdCBTdWJzdGl0dXRl
RGF0YSB7CisgICAgICAgIFZlY3Rvcjx1aW50OF90PiBjb250ZW50OworICAgICAgICBXVEY6OlN0
cmluZyBNSU1FVHlwZTsKKyAgICAgICAgV1RGOjpTdHJpbmcgZW5jb2Rpbmc7CisgICAgICAgIFdU
Rjo6U3RyaW5nIGJhc2VVUkw7CisgICAgICAgIFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7
CisgICAgfTsKKworICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3Vic3RpdHV0ZURhdGE+JiBzdWJz
dGl0dXRlRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vic3RpdHV0ZURhdGE7IH0KKwogcHJpdmF0
ZToKICAgICBleHBsaWNpdCBOYXZpZ2F0aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJik7
CiAgICAgTmF2aWdhdGlvbihXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYmLCBXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZyb21JdGVt
KTsKICAgICBOYXZpZ2F0aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJiwgV2ViS2l0OjpX
ZWJCYWNrRm9yd2FyZExpc3RJdGVtJiB0YXJnZXRJdGVtLCBXZWJLaXQ6OldlYkJhY2tGb3J3YXJk
TGlzdEl0ZW0qIGZyb21JdGVtLCBXZWJDb3JlOjpGcmFtZUxvYWRUeXBlKTsKKyAgICBOYXZpZ2F0
aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiwgY29uc3QgV1RGOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXVEY6OlN0cmluZyYgZW5jb2Rp
bmcsIGNvbnN0IFdURjo6U3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpOwog
CiAgICAgdWludDY0X3QgbV9uYXZpZ2F0aW9uSUQ7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0IG1fb3JpZ2luYWxSZXF1ZXN0OwpAQCAtMTM5LDYgKzE1Niw3IEBAIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6TG9ja0hpc3RvcnkgbV9sb2NrSGlzdG9yeTsKICAgICBXZWJDb3JlOjpMb2NrQmFj
a0ZvcndhcmRMaXN0IG1fbG9ja0JhY2tGb3J3YXJkTGlzdDsKICAgICBXVEY6OlN0cmluZyBtX2Ns
aWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9yeTsKKyAgICBzdGQ6Om9wdGlvbmFsPFN1YnN0aXR1
dGVEYXRhPiBtX3N1YnN0aXR1dGVEYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmNwcAppbmRleCA1ZTNm
MjQxNGNmZjg5Y2M1MjU4YzM1ZDVmMGVmNDMzMjE4ZWU3MTgwLi4xOWJmMTQzZDZmZjEwZWYxOTYz
MmFkY2NmNmM5YmQ0ZWY2MWZkY2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
Yk5hdmlnYXRpb25TdGF0ZS5jcHAKQEAgLTY4LDkgKzY4LDkgQEAgUmVmPEFQSTo6TmF2aWdhdGlv
bj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVSZWxvYWROYXZpZ2F0aW9uKCkKICAgICByZXR1
cm4gbmF2aWdhdGlvbjsKIH0KIAotUmVmPEFQSTo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0
YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24oKQorUmVmPEFQSTo6TmF2aWdhdGlvbj4gV2Vi
TmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24oY29uc3QgSVBDOjpEYXRh
UmVmZXJlbmNlJiBkYXRhLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVu
Y29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKIHsK
LSAgICBhdXRvIG5hdmlnYXRpb24gPSBBUEk6Ok5hdmlnYXRpb246OmNyZWF0ZSgqdGhpcyk7Cisg
ICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpOYXZpZ2F0aW9uOjpjcmVhdGUoKnRoaXMsIGRhdGEs
IE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEpOwogCiAgICAgbV9uYXZpZ2F0
aW9ucy5zZXQobmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCksIG5hdmlnYXRpb24ucHRyKCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCmluZGV4IDAw
MzZkMjI0YjE0NWJkNjkyNzFhZTY3MTMzNDlhOTg1ZTg5NGE4YTYuLmY5MGI1NDQ4ZDIxNjI4NzMx
MGYyYTJhYWI4ZDExMTNmYzg3YTRjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
Yk5hdmlnYXRpb25TdGF0ZS5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBSZWY8QVBJ
OjpOYXZpZ2F0aW9uPiBjcmVhdGVCYWNrRm9yd2FyZE5hdmlnYXRpb24oV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYgdGFyZ2V0SXRlbSwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogY3VycmVudEl0ZW0s
IFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUpOwogICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0
ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbihXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSogY3VycmVudEl0ZW0pOwogICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+
IGNyZWF0ZVJlbG9hZE5hdmlnYXRpb24oKTsKLSAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVh
dGVMb2FkRGF0YU5hdmlnYXRpb24oKTsKKyAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVM
b2FkRGF0YU5hdmlnYXRpb24oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5n
JiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBlbmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJM
LCBBUEk6Ok9iamVjdCogdXNlckRhdGEpOwogCiAgICAgQVBJOjpOYXZpZ2F0aW9uKiBuYXZpZ2F0
aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4g
dGFrZU5hdmlnYXRpb24odWludDY0X3QgbmF2aWdhdGlvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY2ZmRhNzUzZjljMzY0ZjBjMzUyMThhNjJlOTE0
ZGQ3MGM2MzgyNTYuLjVmZjZlMjg2ZmRkNjY2YjA4NjJiYmQwMWE4NWI5MDliMDdlMDcwZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4Nyw3ICsxMDg3
LDcgQEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkRGF0YShjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGMKICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBhdXRvIG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25T
dGF0ZS0+Y3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKCk7CisgICAgYXV0byBuYXZpZ2F0aW9uID0g
bV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlvbihkYXRhLCBNSU1FVHlw
ZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHVzZXJEYXRhKTsKIAogICAgIGF1dG8gdHJhbnNhY3Rpb24g
PSBtX3BhZ2VMb2FkU3RhdGUudHJhbnNhY3Rpb24oKTsKIApAQCAtMjYxNiw3ICsyNjE2LDEwIEBA
IHZvaWQgV2ViUGFnZVByb3h5Ojpjb250aW51ZU5hdmlnYXRpb25Jbk5ld1Byb2Nlc3MoQVBJOjpO
YXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBSCiAKICAgICAvLyBGSVhNRTogV29yayBvdXQgdGltaW5n
IG9mIHJlc3BvbmRpbmcgd2l0aCB0aGUgbGFzdCBwb2xpY3kgZGVsZWdhdGUsIGV0YwogICAgIEFT
U0VSVCghbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLmlzRW1wdHkoKSk7Ci0gICAgbG9hZFJl
cXVlc3RXaXRoTmF2aWdhdGlvbihuYXZpZ2F0aW9uLCBSZXNvdXJjZVJlcXVlc3QgeyBuYXZpZ2F0
aW9uLmN1cnJlbnRSZXF1ZXN0KCkgfSwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeTo6U2hvdWxkQWxsb3dFeHRlcm5hbFNjaGVtZXMsIG51bGxwdHIsIFNob3VsZFRyZWF0QXND
b250aW51aW5nTG9hZDo6WWVzKTsKKyAgICBpZiAoYXV0byYgc3Vic3RpdHV0ZURhdGEgPSBuYXZp
Z2F0aW9uLnN1YnN0aXR1dGVEYXRhKCkpCisgICAgICAgIGxvYWREYXRhKHsgc3Vic3RpdHV0ZURh
dGEtPmNvbnRlbnQuZGF0YSgpLCBzdWJzdGl0dXRlRGF0YS0+Y29udGVudC5zaXplKCkgfSwgc3Vi
c3RpdHV0ZURhdGEtPk1JTUVUeXBlLCBzdWJzdGl0dXRlRGF0YS0+ZW5jb2RpbmcsIHN1YnN0aXR1
dGVEYXRhLT5iYXNlVVJMLCBzdWJzdGl0dXRlRGF0YS0+dXNlckRhdGEuZ2V0KCkpOworICAgIGVs
c2UKKyAgICAgICAgbG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvbihuYXZpZ2F0aW9uLCBSZXNvdXJj
ZVJlcXVlc3QgeyBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCkgfSwgV2ViQ29yZTo6U2hvdWxk
T3BlbkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkQWxsb3dFeHRlcm5hbFNjaGVtZXMsIG51bGxw
dHIsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZDo6WWVzKTsKIAogICAgIEFTU0VSVCghbV9t
YWluRnJhbWUpOwogICAgIG1fbWFpbkZyYW1lQ3JlYXRpb25IYW5kbGVyID0gW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbmF2aWdhdGlvbiA9IG1ha2VSZWYobmF2aWdhdGlv
biksIHJlcXVlc3QgPSAgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBtYWluRnJhbWVVUkws
IGlzU2VydmVyUmVkaXJlY3QgPSBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdCgp
XSgpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDAzY2Y5Y2Y3OGFkMDkyZmE2NTI5MGVhNmM1ZjkwY2RjMzUxMGY3ODMuLjQxMmI3
NWMyM2M0Y2E4M2MwN2I3MjVjNjdiYzg3OGYyYTJiNzAzMzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0xMS0x
MyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdC5BcHBs
aWNhdGlvbk1hbmlmZXN0QmFzaWMgQVBJIHRlc3QgaXMgZmFpbGluZyB3aGVuIGVuYWJsaW5nIFBT
T04KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBB
UEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW06CisKIDIwMTgtMTEtMTMgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnNvbGlkYXRlIFdlYktpdCBV
SUtpdFNQSS5oIGFuZCBVSUtpdFRlc3RTUEkuaApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24u
bW0KaW5kZXggZmJlOGFjYzU0NmZjMGZhNjk3OTVlYzNhY2Y3MDk1MzRjNzIzMTdlMi4uOGNiMTMw
M2VhZjI3ZTM5YmMyMzY2ZDM3ZjBjYTI1MGU4ZTkwODZkOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25O
YXZpZ2F0aW9uLm1tCkBAIC0yNjQ3LDYgKzI2NDcsNDYgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2
aWdhdGVCYWNrQW5kRm9ydGgpCiAgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJr
aXQub3JnL21haW4uaHRtbCIsIFtiYWNrRm9yd2FyZExpc3QuYmFja0l0ZW0uVVJMIGFic29sdXRl
U3RyaW5nXSk7CiB9CiAKK1RFU1QoUHJvY2Vzc1N3YXAsIFN3YXBPbkxvYWRIVE1MU3RyaW5nKQor
eworICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmln
dXJhdGlvbi5nZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSBZRVM7CisgICAgYXV0byBw
cm9jZXNzUG9vbCA9IGFkb3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25m
aWd1cmF0aW9uOnByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3
ZWJWaWV3Q29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnBy
b2Nlc3NQb29sLmdldCgpXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVt
ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVI
YW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOworCisgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdl
dCgpXSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVn
YXRlIGFsbG9jXSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRl
bGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtp
dC5vcmcvbWFpbi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOwor
CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7
CisKKyAgICBhdXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisg
ICAgTlNTdHJpbmcgKmh0bWxTdHJpbmcgPSBAIjxodG1sPjxib2R5PnN1YnN0aXR1dGVEYXRhPC9i
b2R5PjwvaHRtbD4iOworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOmh0bWxTdHJpbmcgYmFz
ZVVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAImh0dHA6Ly9leGFtcGxlLmNvbSJdXTsKKworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisg
ICAgYXV0byBwaWQyID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBF
Q1RfTkUocGlkMSwgcGlkMik7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJk
b2N1bWVudC5ib2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCBpbm5lclRleHQs
IE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAInN1YnN0aXR1dGVE
YXRhIiwgKE5TU3RyaW5nICopaW5uZXJUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAg
fV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFs
c2U7Cit9CisKICNpZiBQTEFURk9STShNQUMpCiAKIFRFU1QoUHJvY2Vzc1N3YXAsIEdvQmFja1Rv
U3VzcGVuZGVkUGFnZVdpdGhNYWluRnJhbWVJRFRoYXRJc05vdE9uZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354749</attachid>
            <date>2018-11-13 18:56:40 -0800</date>
            <delta_ts>2018-11-14 08:56:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191602-20181113185637.patch</filename>
            <type>text/plain</type>
            <size>13633</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJmOWYyZDgxZGIwYmE1NTA5
YjU3YzNmNGIxZDhiNWRmNzY5NTQ1NjkuLjJhODY4ZDE4OTVjYWI4NDA3NDVjYmY1ZGYxZmM3OTVk
NzdkMDdiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMTEtMTMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQuQXBwbGljYXRpb25NYW5p
ZmVzdEJhc2ljIEFQSSB0ZXN0IGlzIGZhaWxpbmcgd2hlbiBlbmFibGluZyBQU09OCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
cHJvY2VzcyBzd2FwcGluZyBmb3IgYSBbV0tXZWJWaWV3IGxvYWRIVE1MOl0gbG9hZCBieSBzdG9y
aW5nCisgICAgICAgIHRoZSBuZWNlc3NhcnkgZGF0YSBvbiB0aGUgQVBJOjpOYXZpZ2F0aW9uIGFu
ZCBkb2luZyBhIGxvYWREYXRhKCkgaW5zdGVhZCBvZgorICAgICAgICBhIGxvYWRSZXF1ZXN0KCkg
YWZ0ZXIgcHJvY2VzcyBzd2FwcGluZyB3aGVuIHRoaXMgZGF0YSBpcyBwcmVzZW50IG9uIHRoZQor
ICAgICAgICBuYXZpZ2F0aW9uLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0
aW9uLmNwcDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6TmF2aWdhdGlvbik6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmg6CisgICAgICAgIChBUEk6Ok5hdmlnYXRp
b246OmNyZWF0ZSk6CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OnN1YnN0aXR1dGVEYXRhIGNv
bnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5
Ojpsb2FkRGF0YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29udGludWVOYXZp
Z2F0aW9uSW5OZXdQcm9jZXNzKToKKwogMjAxOC0xMS0xMyAgVGltb3RoeSBIYXRjaGVyICA8dGlt
b3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGEgbGlnaHQgc2Nyb2xsYmFyIGZvciB0cmFu
c3BhcmVudCB3ZWIgdmlld3MgaW4gZGFyayBtb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSU5hdmlnYXRpb24uY3BwCmluZGV4IDY4Yjg3ZDg4N2ZlNjM0MmYwZjUxYzk0MzEy
ZWEwZjRiY2UxMmJmNmEuLmU2ODMwZTc2ZTc2NzFjYjE5ZTU5Njg3NjMwMmExNjhkNGMxMWI3MDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAKQEAg
LTQwLDYgKzQwLDEyIEBAIE5hdmlnYXRpb246Ok5hdmlnYXRpb24oV2ViTmF2aWdhdGlvblN0YXRl
JiBzdGF0ZSkKIHsKIH0KIAorTmF2aWdhdGlvbjo6TmF2aWdhdGlvbihXZWJLaXQ6OldlYk5hdmln
YXRpb25TdGF0ZSYgc3RhdGUsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3Qg
V1RGOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXVEY6OlN0cmluZyYgZW5jb2RpbmcsIGNvbnN0
IFdURjo6U3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCisgICAgOiBOYXZp
Z2F0aW9uKHN0YXRlKQoreworICAgIG1fc3Vic3RpdHV0ZURhdGEgPSBTdWJzdGl0dXRlRGF0YSB7
IGRhdGEudmVjdG9yKCksIE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVSTCwgdXNlckRhdGEgfTsK
K30KKwogTmF2aWdhdGlvbjo6TmF2aWdhdGlvbihXZWJOYXZpZ2F0aW9uU3RhdGUmIHN0YXRlLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBXZWJCYWNrRm9yd2FyZExpc3RJdGVt
KiBmcm9tSXRlbSkKICAgICA6IG1fbmF2aWdhdGlvbklEKHN0YXRlLmdlbmVyYXRlTmF2aWdhdGlv
bklEKCkpCiAgICAgLCBtX29yaWdpbmFsUmVxdWVzdChXVEZNb3ZlKHJlcXVlc3QpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKaW5kZXggYmExZTM5MzZiZGE2
ZjVmY2U0NTg1MzVhNTg1Zjg1NDgxNTllMWQzZS4uNGI2YmJkMjRmMzY1ZmNlNzE3NDQ5MmQxZmM5
MzU5NmIxNDQzNTVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SU5hdmlnYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdh
dGlvbi5oCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgorI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9y
d2FyZExpc3RJdGVtLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9jZXNzLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KQEAgLTYwLDYgKzYxLDExIEBAIHB1YmxpYzoKICAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmF2aWdhdGlvbihzdGF0ZSwgV1RGTW92ZShyZXF1
ZXN0KSwgZnJvbUl0ZW0pKTsKICAgICB9CiAKKyAgICBzdGF0aWMgUmVmPE5hdmlnYXRpb24+IGNy
ZWF0ZShXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYgc3RhdGUsIGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgZGF0YSwgY29uc3QgV1RGOjpTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBXVEY6OlN0
cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdURjo6U3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCog
dXNlckRhdGEpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOYXZpZ2F0aW9u
KHN0YXRlLCBkYXRhLCBNSU1FVHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHVzZXJEYXRhKSk7Cisg
ICAgfQorCiAgICAgdmlydHVhbCB+TmF2aWdhdGlvbigpOwogCiAgICAgdWludDY0X3QgbmF2aWdh
dGlvbklEKCkgY29uc3QgeyByZXR1cm4gbV9uYXZpZ2F0aW9uSUQ7IH0KQEAgLTExNCwxMCArMTIw
LDIxIEBAIHB1YmxpYzoKICAgICBjb25zdCBjaGFyKiBsb2dnaW5nU3RyaW5nKCkgY29uc3Q7CiAj
ZW5kaWYKIAorICAgIHN0cnVjdCBTdWJzdGl0dXRlRGF0YSB7CisgICAgICAgIFZlY3Rvcjx1aW50
OF90PiBjb250ZW50OworICAgICAgICBXVEY6OlN0cmluZyBNSU1FVHlwZTsKKyAgICAgICAgV1RG
OjpTdHJpbmcgZW5jb2Rpbmc7CisgICAgICAgIFdURjo6U3RyaW5nIGJhc2VVUkw7CisgICAgICAg
IFJlZlB0cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CisgICAgfTsKKworICAgIGNvbnN0IHN0ZDo6
b3B0aW9uYWw8U3Vic3RpdHV0ZURhdGE+JiBzdWJzdGl0dXRlRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3Vic3RpdHV0ZURhdGE7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBOYXZpZ2F0aW9u
KFdlYktpdDo6V2ViTmF2aWdhdGlvblN0YXRlJik7CiAgICAgTmF2aWdhdGlvbihXZWJLaXQ6Oldl
Yk5hdmlnYXRpb25TdGF0ZSYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJLaXQ6Oldl
YkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZyb21JdGVtKTsKICAgICBOYXZpZ2F0aW9uKFdlYktpdDo6
V2ViTmF2aWdhdGlvblN0YXRlJiwgV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtJiB0YXJn
ZXRJdGVtLCBXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGZyb21JdGVtLCBXZWJDb3Jl
OjpGcmFtZUxvYWRUeXBlKTsKKyAgICBOYXZpZ2F0aW9uKFdlYktpdDo6V2ViTmF2aWdhdGlvblN0
YXRlJiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgV1RGOjpTdHJpbmcmIE1JTUVU
eXBlLCBjb25zdCBXVEY6OlN0cmluZyYgZW5jb2RpbmcsIGNvbnN0IFdURjo6U3RyaW5nJiBiYXNl
VVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpOwogCiAgICAgdWludDY0X3QgbV9uYXZpZ2F0aW9u
SUQ7CiAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IG1fb3JpZ2luYWxSZXF1ZXN0OwpAQCAt
MTM5LDYgKzE1Niw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6TG9ja0hpc3RvcnkgbV9sb2Nr
SGlzdG9yeTsKICAgICBXZWJDb3JlOjpMb2NrQmFja0ZvcndhcmRMaXN0IG1fbG9ja0JhY2tGb3J3
YXJkTGlzdDsKICAgICBXVEY6OlN0cmluZyBtX2NsaWVudFJlZGlyZWN0U291cmNlRm9ySGlzdG9y
eTsKKyAgICBzdGQ6Om9wdGlvbmFsPFN1YnN0aXR1dGVEYXRhPiBtX3N1YnN0aXR1dGVEYXRhOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
TmF2aWdhdGlvblN0YXRlLmNwcAppbmRleCA1ZTNmMjQxNGNmZjg5Y2M1MjU4YzM1ZDVmMGVmNDMz
MjE4ZWU3MTgwLi4xOWJmMTQzZDZmZjEwZWYxOTYzMmFkY2NmNmM5YmQ0ZWY2MWZkY2Y2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5jcHAKQEAgLTY4
LDkgKzY4LDkgQEAgUmVmPEFQSTo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVh
dGVSZWxvYWROYXZpZ2F0aW9uKCkKICAgICByZXR1cm4gbmF2aWdhdGlvbjsKIH0KIAotUmVmPEFQ
STo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2FkRGF0YU5hdmlnYXRp
b24oKQorUmVmPEFQSTo6TmF2aWdhdGlvbj4gV2ViTmF2aWdhdGlvblN0YXRlOjpjcmVhdGVMb2Fk
RGF0YU5hdmlnYXRpb24oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBTdHJp
bmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VV
UkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKIHsKLSAgICBhdXRvIG5hdmlnYXRpb24gPSBBUEk6
Ok5hdmlnYXRpb246OmNyZWF0ZSgqdGhpcyk7CisgICAgYXV0byBuYXZpZ2F0aW9uID0gQVBJOjpO
YXZpZ2F0aW9uOjpjcmVhdGUoKnRoaXMsIGRhdGEsIE1JTUVUeXBlLCBlbmNvZGluZywgYmFzZVVS
TCwgdXNlckRhdGEpOwogCiAgICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2aWdhdGlvbi0+bmF2aWdh
dGlvbklEKCksIG5hdmlnYXRpb24ucHRyKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYk5hdmlnYXRpb25TdGF0ZS5oCmluZGV4IDAwMzZkMjI0YjE0NWJkNjkyNzFhZTY3MTMzNDlh
OTg1ZTg5NGE4YTYuLmY5MGI1NDQ4ZDIxNjI4NzMxMGYyYTJhYWI4ZDExMTNmYzg3YTRjOTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCkBAIC01MSw3
ICs1MSw3IEBAIHB1YmxpYzoKICAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVCYWNrRm9y
d2FyZE5hdmlnYXRpb24oV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYgdGFyZ2V0SXRlbSwgV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbSogY3VycmVudEl0ZW0sIFdlYkNvcmU6OkZyYW1lTG9hZFR5cGUpOwog
ICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZUxvYWRSZXF1ZXN0TmF2aWdhdGlvbihXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQmFja0ZvcndhcmRMaXN0SXRlbSogY3VycmVudEl0
ZW0pOwogICAgIFJlZjxBUEk6Ok5hdmlnYXRpb24+IGNyZWF0ZVJlbG9hZE5hdmlnYXRpb24oKTsK
LSAgICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24oKTsKKyAg
ICBSZWY8QVBJOjpOYXZpZ2F0aW9uPiBjcmVhdGVMb2FkRGF0YU5hdmlnYXRpb24oY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiBNSU1FVHlwZSwgY29uc3QgU3RyaW5nJiBl
bmNvZGluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpOwog
CiAgICAgQVBJOjpOYXZpZ2F0aW9uKiBuYXZpZ2F0aW9uKHVpbnQ2NF90IG5hdmlnYXRpb25JRCk7
CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gdGFrZU5hdmlnYXRpb24odWludDY0X3QgbmF2
aWdhdGlvbklEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IGY2ZmRhNzUzZjljMzY0ZjBjMzUyMThhNjJlOTE0ZGQ3MGM2MzgyNTYuLjM4M2NkOWE3YzlhNjVl
OGE4MTE0OGQ0YjkwMmM4MjFlZTVhMzY2ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtMTA4Nyw3ICsxMDg3LDE0IEBAIFJlZlB0cjxBUEk6Ok5hdmlnYXRp
b24+IFdlYlBhZ2VQcm94eTo6bG9hZERhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRh
LCBjCiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAg
YXV0byBuYXZpZ2F0aW9uID0gbV9uYXZpZ2F0aW9uU3RhdGUtPmNyZWF0ZUxvYWREYXRhTmF2aWdh
dGlvbigpOworICAgIGF1dG8gbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVM
b2FkRGF0YU5hdmlnYXRpb24oZGF0YSwgTUlNRVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2Vy
RGF0YSk7CisgICAgbG9hZERhdGFXaXRoTmF2aWdhdGlvbihuYXZpZ2F0aW9uLCBkYXRhLCBNSU1F
VHlwZSwgZW5jb2RpbmcsIGJhc2VVUkwsIHVzZXJEYXRhKTsKKyAgICByZXR1cm4gV1RGTW92ZShu
YXZpZ2F0aW9uKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmxvYWREYXRhV2l0aE5hdmlnYXRp
b24oQVBJOjpOYXZpZ2F0aW9uJiBuYXZpZ2F0aW9uLCBjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
IGRhdGEsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKQoreworICAgIEFTU0VS
VCghbV9pc0Nsb3NlZCk7CiAKICAgICBhdXRvIHRyYW5zYWN0aW9uID0gbV9wYWdlTG9hZFN0YXRl
LnRyYW5zYWN0aW9uKCk7CiAKQEAgLTEwOTcsNyArMTEwNCw3IEBAIFJlZlB0cjxBUEk6Ok5hdmln
YXRpb24+IFdlYlBhZ2VQcm94eTo6bG9hZERhdGEoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBk
YXRhLCBjCiAgICAgICAgIHJlYXR0YWNoVG9XZWJQcm9jZXNzKCk7CiAKICAgICBMb2FkUGFyYW1l
dGVycyBsb2FkUGFyYW1ldGVyczsKLSAgICBsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9uSUQgPSBu
YXZpZ2F0aW9uLT5uYXZpZ2F0aW9uSUQoKTsKKyAgICBsb2FkUGFyYW1ldGVycy5uYXZpZ2F0aW9u
SUQgPSBuYXZpZ2F0aW9uLm5hdmlnYXRpb25JRCgpOwogICAgIGxvYWRQYXJhbWV0ZXJzLmRhdGEg
PSBkYXRhOwogICAgIGxvYWRQYXJhbWV0ZXJzLk1JTUVUeXBlID0gTUlNRVR5cGU7CiAgICAgbG9h
ZFBhcmFtZXRlcnMuZW5jb2RpbmdOYW1lID0gZW5jb2Rpbmc7CkBAIC0xMTA4LDggKzExMTUsNiBA
QCBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQ
Qzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgYwogICAgIG1fcHJvY2Vzcy0+YXNzdW1lUmVhZEFjY2Vz
c1RvQmFzZVVSTChiYXNlVVJMKTsKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OkxvYWREYXRhKGxvYWRQYXJhbWV0ZXJzKSwgbV9wYWdlSUQpOwogICAgIG1fcHJvY2Vzcy0+
cmVzcG9uc2l2ZW5lc3NUaW1lcigpLnN0YXJ0KCk7Ci0KLSAgICByZXR1cm4gV1RGTW92ZShuYXZp
Z2F0aW9uKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmxvYWRBbHRlcm5hdGVIVE1MKGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYgaHRtbERhdGEsIGNvbnN0IFN0cmluZyYgZW5jb2RpbmcsIGNv
bnN0IFdlYkNvcmU6OlVSTCYgYmFzZVVSTCwgY29uc3QgV2ViQ29yZTo6VVJMJiB1bnJlYWNoYWJs
ZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBib29sIGZvclNhZmVCcm93c2luZykKQEAgLTI2
MTYsNyArMjYyMSwxMCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6Y29udGludWVOYXZpZ2F0aW9uSW5O
ZXdQcm9jZXNzKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgUgogCiAgICAgLy8gRklYTUU6
IFdvcmsgb3V0IHRpbWluZyBvZiByZXNwb25kaW5nIHdpdGggdGhlIGxhc3QgcG9saWN5IGRlbGVn
YXRlLCBldGMKICAgICBBU1NFUlQoIW5hdmlnYXRpb24uY3VycmVudFJlcXVlc3QoKS5pc0VtcHR5
KCkpOwotICAgIGxvYWRSZXF1ZXN0V2l0aE5hdmlnYXRpb24obmF2aWdhdGlvbiwgUmVzb3VyY2VS
ZXF1ZXN0IHsgbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpIH0sIFdlYkNvcmU6OlNob3VsZE9w
ZW5FeHRlcm5hbFVSTHNQb2xpY3k6OlNob3VsZEFsbG93RXh0ZXJuYWxTY2hlbWVzLCBudWxscHRy
LCBTaG91bGRUcmVhdEFzQ29udGludWluZ0xvYWQ6Olllcyk7CisgICAgaWYgKGF1dG8mIHN1YnN0
aXR1dGVEYXRhID0gbmF2aWdhdGlvbi5zdWJzdGl0dXRlRGF0YSgpKQorICAgICAgICBsb2FkRGF0
YVdpdGhOYXZpZ2F0aW9uKG5hdmlnYXRpb24sIHsgc3Vic3RpdHV0ZURhdGEtPmNvbnRlbnQuZGF0
YSgpLCBzdWJzdGl0dXRlRGF0YS0+Y29udGVudC5zaXplKCkgfSwgc3Vic3RpdHV0ZURhdGEtPk1J
TUVUeXBlLCBzdWJzdGl0dXRlRGF0YS0+ZW5jb2RpbmcsIHN1YnN0aXR1dGVEYXRhLT5iYXNlVVJM
LCBzdWJzdGl0dXRlRGF0YS0+dXNlckRhdGEuZ2V0KCkpOworICAgIGVsc2UKKyAgICAgICAgbG9h
ZFJlcXVlc3RXaXRoTmF2aWdhdGlvbihuYXZpZ2F0aW9uLCBSZXNvdXJjZVJlcXVlc3QgeyBuYXZp
Z2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCkgfSwgV2ViQ29yZTo6U2hvdWxkT3BlbkV4dGVybmFsVVJM
c1BvbGljeTo6U2hvdWxkQWxsb3dFeHRlcm5hbFNjaGVtZXMsIG51bGxwdHIsIFNob3VsZFRyZWF0
QXNDb250aW51aW5nTG9hZDo6WWVzKTsKIAogICAgIEFTU0VSVCghbV9tYWluRnJhbWUpOwogICAg
IG1fbWFpbkZyYW1lQ3JlYXRpb25IYW5kbGVyID0gW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgbmF2aWdhdGlvbiA9IG1ha2VSZWYobmF2aWdhdGlvbiksIHJlcXVlc3QgPSAg
bmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpLCBtYWluRnJhbWVVUkwsIGlzU2VydmVyUmVkaXJl
Y3QgPSBuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0SXNSZWRpcmVjdCgpXSgpIG11dGFibGUgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBmMTBkNjE1NjYwMjVjNWRj
MThlNGQ4OThhMWZkOWVjNjNjYjM4ZTQ3Li4zZjg0NDA4MmNkMjhmY2VjZDdjNTUyZDQ3NTJkODE0
Mzk2NmYzYThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMTUz
OSw2ICsxNTM5LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiByZWF0
dGFjaFRvV2ViUHJvY2Vzc0ZvclJlbG9hZCgpOwogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+
IHJlYXR0YWNoVG9XZWJQcm9jZXNzV2l0aEl0ZW0oV2ViQmFja0ZvcndhcmRMaXN0SXRlbSYpOwog
CisgICAgdm9pZCBsb2FkRGF0YVdpdGhOYXZpZ2F0aW9uKEFQSTo6TmF2aWdhdGlvbiYsIGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFN0cmluZyYgTUlNRVR5cGUsIGNvbnN0IFN0cmlu
ZyYgZW5jb2RpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgQVBJOjpPYmplY3QqIHVzZXJEYXRh
ID0gbnVsbHB0cik7CiAgICAgdm9pZCBsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uKEFQSTo6TmF2
aWdhdGlvbiYsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpTaG91bGRPcGVu
RXh0ZXJuYWxVUkxzUG9saWN5LCBBUEk6Ok9iamVjdCogdXNlckRhdGEsIFdlYkNvcmU6OlNob3Vs
ZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAKICAgICB2b2lkIHJlcXVlc3ROb3RpZmljYXRpb25Q
ZXJtaXNzaW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklELCBjb25zdCBTdHJpbmcmIG9yaWdpblN0
cmluZyk7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggOWFiMDQyZTg1OGYyNGM0MTk4MjI2ZDYyOTEyZDUwMTY5ZmNlOGRlOC4uMmJlMTEyNWRlNDdi
N2JkZGYyODUzMjkzNGNjZWJhMjYzYWZjMTlkNCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTExLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0LkFwcGxpY2F0aW9u
TWFuaWZlc3RCYXNpYyBBUEkgdGVzdCBpcyBmYWlsaW5nIHdoZW4gZW5hYmxpbmcgUFNPTgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNjAyCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0
IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Q
cm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbToKKwogMjAxOC0xMS0xMyAgV2Vuc29uIEhzaWVoICA8
d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBEbyBub3Qgc2hvdyBzZWxl
Y3Rpb24gVUkgZm9yIGVkaXRhYmxlIGVsZW1lbnRzIHdpdGggb3BhY2l0eSBuZWFyIHplcm8KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3
YXBPbk5hdmlnYXRpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCmluZGV4IGZiZThhY2M1NDZmYzBmYTY5Nzk1ZWMz
YWNmNzA5NTM0YzcyMzE3ZTIuLjhjYjEzMDNlYWYyN2UzOWJjMjM2NmQzN2YwY2EyNTBlOGU5MDg2
ZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJv
Y2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQpAQCAtMjY0Nyw2ICsyNjQ3LDQ2
IEBAIFRFU1QoUHJvY2Vzc1N3YXAsIE5hdmlnYXRlQmFja0FuZEZvcnRoKQogICAgIEVYUEVDVF9X
S19TVFJFUShAInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWluLmh0bWwiLCBbYmFja0ZvcndhcmRM
aXN0LmJhY2tJdGVtLlVSTCBhYnNvbHV0ZVN0cmluZ10pOwogfQogCitURVNUKFByb2Nlc3NTd2Fw
LCBTd2FwT25Mb2FkSFRNTFN0cmluZykKK3sKKyAgICBhdXRvIHByb2Nlc3NQb29sQ29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRd
KTsKKyAgICBwcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uZ2V0KCkucHJvY2Vzc1N3YXBzT25OYXZp
Z2F0aW9uID0gWUVTOworICAgIGF1dG8gcHJvY2Vzc1Bvb2wgPSBhZG9wdE5TKFtbV0tQcm9jZXNz
UG9vbCBhbGxvY10gX2luaXRXaXRoQ29uZmlndXJhdGlvbjpwcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24uZ2V0KCldKTsKKworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtb
V0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmln
dXJhdGlvbiBzZXRQcm9jZXNzUG9vbDpwcm9jZXNzUG9vbC5nZXQoKV07CisgICAgYXV0byBoYW5k
bGVyID0gYWRvcHROUyhbW1BTT05TY2hlbWUgYWxsb2NdIGluaXRdKTsKKyAgICBbd2ViVmlld0Nv
bmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpoYW5kbGVyLmdldCgpIGZvclVSTFNjaGVt
ZTpAInBzb24iXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxs
b2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlv
bjp3ZWJWaWV3Q29uZmlndXJhdGlvbi5nZXQoKV0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9w
dE5TKFtbUFNPTk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3
IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisKKyAgICBOU1VSTFJlcXVl
c3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxXaXRo
U3RyaW5nOkAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4uaHRtbCJdXTsKKyAgICBbd2ViVmll
dyBsb2FkUmVxdWVzdDpyZXF1ZXN0XTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgYXV0byBwaWQxID0gW3dlYlZpZXcgX3dl
YlByb2Nlc3NJZGVudGlmaWVyXTsKKworICAgIE5TU3RyaW5nICpodG1sU3RyaW5nID0gQCI8aHRt
bD48Ym9keT5zdWJzdGl0dXRlRGF0YTwvYm9keT48L2h0bWw+IjsKKyAgICBbd2ViVmlldyBsb2Fk
SFRNTFN0cmluZzpodG1sU3RyaW5nIGJhc2VVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJodHRw
Oi8vZXhhbXBsZS5jb20iXV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUp
OworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIGF1dG8gcGlkMiA9IFt3ZWJWaWV3IF93ZWJQcm9j
ZXNzSWRlbnRpZmllcl07CisgICAgRVhQRUNUX05FKHBpZDEsIHBpZDIpOworCisgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5pbm5lclRleHQiIGNvbXBsZXRp
b25IYW5kbGVyOl4oaWQgaW5uZXJUZXh0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBF
Q1RfV0tfU1RSRVEoQCJzdWJzdGl0dXRlRGF0YSIsIChOU1N0cmluZyAqKWlubmVyVGV4dCk7Cisg
ICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworfQorCiAjaWYgUExBVEZPUk0oTUFDKQogCiBU
RVNUKFByb2Nlc3NTd2FwLCBHb0JhY2tUb1N1c3BlbmRlZFBhZ2VXaXRoTWFpbkZyYW1lSURUaGF0
SXNOb3RPbmUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354814</attachid>
            <date>2018-11-14 08:56:42 -0800</date>
            <delta_ts>2018-11-14 08:58:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191602-20181114085641.patch</filename>
            <type>text/plain</type>
            <size>13656</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYyZTc3OWMwZTU1NzM1Y2Y5
ZWVkYzNjYzdhZTM0Mzc3NTFmMGQ1ODIuLmQxOTAyZDE1MDI2YzU2MjE4Yzc2ZmIwYTkxZDNmZWVl
ZmVlZGRmNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTgtMTEtMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQuQXBwbGljYXRpb25NYW5p
ZmVzdEJhc2ljIEFQSSB0ZXN0IGlzIGZhaWxpbmcgd2hlbiBlbmFibGluZyBQU09OCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTE2MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBwcm9jZXNzIHN3YXBwaW5nIGZvciBhIFtXS1dlYlZpZXcgbG9hZEhUTUw6XSBsb2FkIGJ5IHN0
b3JpbmcKKyAgICAgICAgdGhlIG5lY2Vzc2FyeSBkYXRhIG9uIHRoZSBBUEk6Ok5hdmlnYXRpb24g
YW5kIGRvaW5nIGEgbG9hZERhdGEoKSBpbnN0ZWFkIG9mCisgICAgICAgIGEgbG9hZFJlcXVlc3Qo
KSBhZnRlciBwcm9jZXNzIHN3YXBwaW5nIHdoZW4gdGhpcyBkYXRhIGlzIHByZXNlbnQgb24gdGhl
CisgICAgICAgIG5hdmlnYXRpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmln
YXRpb24uY3BwOgorICAgICAgICAoQVBJOjpOYXZpZ2F0aW9uOjpOYXZpZ2F0aW9uKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaDoKKyAgICAgICAgKEFQSTo6TmF2aWdh
dGlvbjo6Y3JlYXRlKToKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6c3Vic3RpdHV0ZURhdGEg
Y29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uU3RhdGUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOYXZpZ2F0aW9uU3RhdGU6OmNyZWF0ZUxvYWREYXRhTmF2aWdhdGlv
bik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OmxvYWREYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpjb250aW51ZU5h
dmlnYXRpb25Jbk5ld1Byb2Nlc3MpOgorCiAyMDE4LTExLTE0ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0LldLSFRUUENvb2tpZVN0b3JlV2l0aG91dFBy
b2Nlc3NQb29sIEFQSSB0ZXN0IGlzIGZhaWxpbmcgd2l0aCBwcm9jZXNzIHByZXdhcm1pbmcgaXMg
ZW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmln
YXRpb24uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uY3Bw
CmluZGV4IDY4Yjg3ZDg4N2ZlNjM0MmYwZjUxYzk0MzEyZWEwZjRiY2UxMmJmNmEuLmY1ZmEzYTVk
NzYyM2M0YzlhYzZiN2FhMzA5MzcxZDNkNWNiNGYyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5jcHAKQEAgLTU5LDYgKzU5LDEzIEBAIE5hdmlnYXRp
b246Ok5hdmlnYXRpb24oV2ViTmF2aWdhdGlvblN0YXRlJiBzdGF0ZSwgV2ViQmFja0ZvcndhcmRM
aXN0SXRlbSYgdGFyZ2V0CiB7CiB9CiAKK05hdmlnYXRpb246Ok5hdmlnYXRpb24oV2ViS2l0OjpX
ZWJOYXZpZ2F0aW9uU3RhdGUmIHN0YXRlLCBzdGQ6OnVuaXF1ZV9wdHI8U3Vic3RpdHV0ZURhdGE+
JiYgc3Vic3RpdHV0ZURhdGEpCisgICAgOiBOYXZpZ2F0aW9uKHN0YXRlKQoreworICAgIEFTU0VS
VChzdWJzdGl0dXRlRGF0YSk7CisgICAgbV9zdWJzdGl0dXRlRGF0YSA9IFdURk1vdmUoc3Vic3Rp
dHV0ZURhdGEpOworfQorCiBOYXZpZ2F0aW9uOjp+TmF2aWdhdGlvbigpCiB7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaAppbmRleCBiYTFlMzkzNmJkYTZm
NWZjZTQ1ODUzNWE1ODVmODU0ODE1OWUxZDNlLi42YTg3Y2MzODdhZDUyMGJlZjY4OWQzZWM3Yjg3
YTM1ZWU1MTUwOGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
TmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0
aW9uLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQVBJT2Jq
ZWN0LmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIldlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0uaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3MuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgpAQCAtNDIsNiArNDMsMjQgQEAgY2xhc3MgV2ViTmF2
aWdhdGlvblN0YXRlOwogCiBuYW1lc3BhY2UgQVBJIHsKIAorc3RydWN0IFN1YnN0aXR1dGVEYXRh
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBTdWJzdGl0dXRl
RGF0YShWZWN0b3I8dWludDhfdD4mJiBjb250ZW50LCBjb25zdCBXVEY6OlN0cmluZyYgTUlNRVR5
cGUsIGNvbnN0IFdURjo6U3RyaW5nJiBlbmNvZGluZywgY29uc3QgV1RGOjpTdHJpbmcmIGJhc2VV
UkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKKyAgICAgICAgOiBjb250ZW50KFdURk1vdmUoY29u
dGVudCkpCisgICAgICAgICwgTUlNRVR5cGUoTUlNRVR5cGUpCisgICAgICAgICwgZW5jb2Rpbmco
ZW5jb2RpbmcpCisgICAgICAgICwgYmFzZVVSTChiYXNlVVJMKQorICAgICAgICAsIHVzZXJEYXRh
KHVzZXJEYXRhKQorICAgIHsgfQorCisgICAgVmVjdG9yPHVpbnQ4X3Q+IGNvbnRlbnQ7CisgICAg
V1RGOjpTdHJpbmcgTUlNRVR5cGU7CisgICAgV1RGOjpTdHJpbmcgZW5jb2Rpbmc7CisgICAgV1RG
OjpTdHJpbmcgYmFzZVVSTDsKKyAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOworfTsK
KwogY2xhc3MgTmF2aWdhdGlvbiA6IHB1YmxpYyBPYmplY3RJbXBsPE9iamVjdDo6VHlwZTo6TmF2
aWdhdGlvbj4gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5hdmlnYXRpb24pOwogcHVibGlj
OgpAQCAtNjAsNiArNzksMTEgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBOYXZpZ2F0aW9uKHN0YXRlLCBXVEZNb3ZlKHJlcXVlc3QpLCBmcm9tSXRlbSkpOwogICAgIH0K
IAorICAgIHN0YXRpYyBSZWY8TmF2aWdhdGlvbj4gY3JlYXRlKFdlYktpdDo6V2ViTmF2aWdhdGlv
blN0YXRlJiBzdGF0ZSwgc3RkOjp1bmlxdWVfcHRyPFN1YnN0aXR1dGVEYXRhPiYmIHN1YnN0aXR1
dGVEYXRhKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmF2aWdhdGlvbihz
dGF0ZSwgV1RGTW92ZShzdWJzdGl0dXRlRGF0YSkpKTsKKyAgICB9CisKICAgICB2aXJ0dWFsIH5O
YXZpZ2F0aW9uKCk7CiAKICAgICB1aW50NjRfdCBuYXZpZ2F0aW9uSUQoKSBjb25zdCB7IHJldHVy
biBtX25hdmlnYXRpb25JRDsgfQpAQCAtMTE0LDEwICsxMzgsMTMgQEAgcHVibGljOgogICAgIGNv
bnN0IGNoYXIqIGxvZ2dpbmdTdHJpbmcoKSBjb25zdDsKICNlbmRpZgogCisgICAgY29uc3Qgc3Rk
Ojp1bmlxdWVfcHRyPFN1YnN0aXR1dGVEYXRhPiYgc3Vic3RpdHV0ZURhdGEoKSBjb25zdCB7IHJl
dHVybiBtX3N1YnN0aXR1dGVEYXRhOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTmF2aWdh
dGlvbihXZWJLaXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYpOwogICAgIE5hdmlnYXRpb24oV2ViS2l0
OjpXZWJOYXZpZ2F0aW9uU3RhdGUmLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBmcm9tSXRlbSk7CiAgICAgTmF2aWdhdGlvbihXZWJL
aXQ6OldlYk5hdmlnYXRpb25TdGF0ZSYsIFdlYktpdDo6V2ViQmFja0ZvcndhcmRMaXN0SXRlbSYg
dGFyZ2V0SXRlbSwgV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBmcm9tSXRlbSwgV2Vi
Q29yZTo6RnJhbWVMb2FkVHlwZSk7CisgICAgTmF2aWdhdGlvbihXZWJLaXQ6OldlYk5hdmlnYXRp
b25TdGF0ZSYsIHN0ZDo6dW5pcXVlX3B0cjxTdWJzdGl0dXRlRGF0YT4mJik7CiAKICAgICB1aW50
NjRfdCBtX25hdmlnYXRpb25JRDsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgbV9vcmln
aW5hbFJlcXVlc3Q7CkBAIC0xMzksNiArMTY2LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpM
b2NrSGlzdG9yeSBtX2xvY2tIaXN0b3J5OwogICAgIFdlYkNvcmU6OkxvY2tCYWNrRm9yd2FyZExp
c3QgbV9sb2NrQmFja0ZvcndhcmRMaXN0OwogICAgIFdURjo6U3RyaW5nIG1fY2xpZW50UmVkaXJl
Y3RTb3VyY2VGb3JIaXN0b3J5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxTdWJzdGl0dXRlRGF0YT4g
bV9zdWJzdGl0dXRlRGF0YTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvblN0YXRlLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5jcHAKaW5kZXggNWUzZjI0MTRjZmY4
OWNjNTI1OGMzNWQ1ZjBlZjQzMzIxOGVlNzE4MC4uNzk2NjFhNGEyMWZjNmUxMjg1ZGE1ZWQzNzM1
MDA1MmRkOTRiZjEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViTmF2
aWdhdGlvblN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJOYXZpZ2F0
aW9uU3RhdGUuY3BwCkBAIC02OCw5ICs2OCw5IEBAIFJlZjxBUEk6Ok5hdmlnYXRpb24+IFdlYk5h
dmlnYXRpb25TdGF0ZTo6Y3JlYXRlUmVsb2FkTmF2aWdhdGlvbigpCiAgICAgcmV0dXJuIG5hdmln
YXRpb247CiB9CiAKLVJlZjxBUEk6Ok5hdmlnYXRpb24+IFdlYk5hdmlnYXRpb25TdGF0ZTo6Y3Jl
YXRlTG9hZERhdGFOYXZpZ2F0aW9uKCkKK1JlZjxBUEk6Ok5hdmlnYXRpb24+IFdlYk5hdmlnYXRp
b25TdGF0ZTo6Y3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKHN0ZDo6dW5pcXVlX3B0cjxBUEk6OlN1
YnN0aXR1dGVEYXRhPiYmIHN1YnN0aXR1dGVEYXRhKQogewotICAgIGF1dG8gbmF2aWdhdGlvbiA9
IEFQSTo6TmF2aWdhdGlvbjo6Y3JlYXRlKCp0aGlzKTsKKyAgICBhdXRvIG5hdmlnYXRpb24gPSBB
UEk6Ok5hdmlnYXRpb246OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShzdWJzdGl0dXRlRGF0YSkpOwog
CiAgICAgbV9uYXZpZ2F0aW9ucy5zZXQobmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCksIG5hdmln
YXRpb24ucHRyKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJO
YXZpZ2F0aW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25T
dGF0ZS5oCmluZGV4IDAwMzZkMjI0YjE0NWJkNjkyNzFhZTY3MTMzNDlhOTg1ZTg5NGE4YTYuLmQ5
NThlYjRiZGZmNTUyMTA1ZjQ5YjlhMTAzZmI4N2MxNzc4YjBjZjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25TdGF0ZS5oCkBAIC0zMCw2ICszMCw3IEBACiAKIG5h
bWVzcGFjZSBBUEkgewogY2xhc3MgTmF2aWdhdGlvbjsKK3N0cnVjdCBTdWJzdGl0dXRlRGF0YTsK
IH0KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTEsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAg
UmVmPEFQSTo6TmF2aWdhdGlvbj4gY3JlYXRlQmFja0ZvcndhcmROYXZpZ2F0aW9uKFdlYkJhY2tG
b3J3YXJkTGlzdEl0ZW0mIHRhcmdldEl0ZW0sIFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGN1cnJl
bnRJdGVtLCBXZWJDb3JlOjpGcmFtZUxvYWRUeXBlKTsKICAgICBSZWY8QVBJOjpOYXZpZ2F0aW9u
PiBjcmVhdGVMb2FkUmVxdWVzdE5hdmlnYXRpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYs
IFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIGN1cnJlbnRJdGVtKTsKICAgICBSZWY8QVBJOjpOYXZp
Z2F0aW9uPiBjcmVhdGVSZWxvYWROYXZpZ2F0aW9uKCk7Ci0gICAgUmVmPEFQSTo6TmF2aWdhdGlv
bj4gY3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKCk7CisgICAgUmVmPEFQSTo6TmF2aWdhdGlvbj4g
Y3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKHN0ZDo6dW5pcXVlX3B0cjxBUEk6OlN1YnN0aXR1dGVE
YXRhPiYmKTsKIAogICAgIEFQSTo6TmF2aWdhdGlvbiogbmF2aWdhdGlvbih1aW50NjRfdCBuYXZp
Z2F0aW9uSUQpOwogICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRpb24+IHRha2VOYXZpZ2F0aW9uKHVp
bnQ2NF90IG5hdmlnYXRpb25JRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCBmNmZkYTc1M2Y5YzM2NGYwYzM1MjE4YTYyZTkxNGRkNzBjNjM4MjU2Li41Zjdl
MGZiZGI3MmExNTc5ZjNlZTNiYTE5NjNlMTNkNDg1ZjBlNWUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwODcsNyArMTA4NywxNCBAQCBSZWZQdHI8QVBJ
OjpOYXZpZ2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQQzo6RGF0YVJlZmVy
ZW5jZSYgZGF0YSwgYwogICAgIGlmIChtX2lzQ2xvc2VkKQogICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAotICAgIGF1dG8gbmF2aWdhdGlvbiA9IG1fbmF2aWdhdGlvblN0YXRlLT5jcmVhdGVMb2Fk
RGF0YU5hdmlnYXRpb24oKTsKKyAgICBhdXRvIG5hdmlnYXRpb24gPSBtX25hdmlnYXRpb25TdGF0
ZS0+Y3JlYXRlTG9hZERhdGFOYXZpZ2F0aW9uKHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpTdWJzdGl0
dXRlRGF0YT4oZGF0YS52ZWN0b3IoKSwgTUlNRVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2Vy
RGF0YSkpOworICAgIGxvYWREYXRhV2l0aE5hdmlnYXRpb24obmF2aWdhdGlvbiwgZGF0YSwgTUlN
RVR5cGUsIGVuY29kaW5nLCBiYXNlVVJMLCB1c2VyRGF0YSk7CisgICAgcmV0dXJuIFdURk1vdmUo
bmF2aWdhdGlvbik7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkRGF0YVdpdGhOYXZpZ2F0
aW9uKEFQSTo6TmF2aWdhdGlvbiYgbmF2aWdhdGlvbiwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
JiBkYXRhLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKK3sKKyAgICBBU1NF
UlQoIW1faXNDbG9zZWQpOwogCiAgICAgYXV0byB0cmFuc2FjdGlvbiA9IG1fcGFnZUxvYWRTdGF0
ZS50cmFuc2FjdGlvbigpOwogCkBAIC0xMDk3LDcgKzExMDQsNyBAQCBSZWZQdHI8QVBJOjpOYXZp
Z2F0aW9uPiBXZWJQYWdlUHJveHk6OmxvYWREYXRhKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYg
ZGF0YSwgYwogICAgICAgICByZWF0dGFjaFRvV2ViUHJvY2VzcygpOwogCiAgICAgTG9hZFBhcmFt
ZXRlcnMgbG9hZFBhcmFtZXRlcnM7Ci0gICAgbG9hZFBhcmFtZXRlcnMubmF2aWdhdGlvbklEID0g
bmF2aWdhdGlvbi0+bmF2aWdhdGlvbklEKCk7CisgICAgbG9hZFBhcmFtZXRlcnMubmF2aWdhdGlv
bklEID0gbmF2aWdhdGlvbi5uYXZpZ2F0aW9uSUQoKTsKICAgICBsb2FkUGFyYW1ldGVycy5kYXRh
ID0gZGF0YTsKICAgICBsb2FkUGFyYW1ldGVycy5NSU1FVHlwZSA9IE1JTUVUeXBlOwogICAgIGxv
YWRQYXJhbWV0ZXJzLmVuY29kaW5nTmFtZSA9IGVuY29kaW5nOwpAQCAtMTEwOCw4ICsxMTE1LDYg
QEAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gV2ViUGFnZVByb3h5Ojpsb2FkRGF0YShjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGMKICAgICBtX3Byb2Nlc3MtPmFzc3VtZVJlYWRBY2Nl
c3NUb0Jhc2VVUkwoYmFzZVVSTCk7CiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpMb2FkRGF0YShsb2FkUGFyYW1ldGVycyksIG1fcGFnZUlEKTsKICAgICBtX3Byb2Nlc3Mt
PnJlc3BvbnNpdmVuZXNzVGltZXIoKS5zdGFydCgpOwotCi0gICAgcmV0dXJuIFdURk1vdmUobmF2
aWdhdGlvbik7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpsb2FkQWx0ZXJuYXRlSFRNTChjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIGh0bWxEYXRhLCBjb25zdCBTdHJpbmcmIGVuY29kaW5nLCBj
b25zdCBXZWJDb3JlOjpVUkwmIGJhc2VVUkwsIGNvbnN0IFdlYkNvcmU6OlVSTCYgdW5yZWFjaGFi
bGVVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSwgYm9vbCBmb3JTYWZlQnJvd3NpbmcpCkBAIC0y
NjE2LDcgKzI2MjEsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNvbnRpbnVlTmF2aWdhdGlvbklu
TmV3UHJvY2VzcyhBUEk6Ok5hdmlnYXRpb24mIG5hdmlnYXRpb24sIFIKIAogICAgIC8vIEZJWE1F
OiBXb3JrIG91dCB0aW1pbmcgb2YgcmVzcG9uZGluZyB3aXRoIHRoZSBsYXN0IHBvbGljeSBkZWxl
Z2F0ZSwgZXRjCiAgICAgQVNTRVJUKCFuYXZpZ2F0aW9uLmN1cnJlbnRSZXF1ZXN0KCkuaXNFbXB0
eSgpKTsKLSAgICBsb2FkUmVxdWVzdFdpdGhOYXZpZ2F0aW9uKG5hdmlnYXRpb24sIFJlc291cmNl
UmVxdWVzdCB7IG5hdmlnYXRpb24uY3VycmVudFJlcXVlc3QoKSB9LCBXZWJDb3JlOjpTaG91bGRP
cGVuRXh0ZXJuYWxVUkxzUG9saWN5OjpTaG91bGRBbGxvd0V4dGVybmFsU2NoZW1lcywgbnVsbHB0
ciwgU2hvdWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkOjpZZXMpOworICAgIGlmIChhdXRvJiBzdWJz
dGl0dXRlRGF0YSA9IG5hdmlnYXRpb24uc3Vic3RpdHV0ZURhdGEoKSkKKyAgICAgICAgbG9hZERh
dGFXaXRoTmF2aWdhdGlvbihuYXZpZ2F0aW9uLCB7IHN1YnN0aXR1dGVEYXRhLT5jb250ZW50LmRh
dGEoKSwgc3Vic3RpdHV0ZURhdGEtPmNvbnRlbnQuc2l6ZSgpIH0sIHN1YnN0aXR1dGVEYXRhLT5N
SU1FVHlwZSwgc3Vic3RpdHV0ZURhdGEtPmVuY29kaW5nLCBzdWJzdGl0dXRlRGF0YS0+YmFzZVVS
TCwgc3Vic3RpdHV0ZURhdGEtPnVzZXJEYXRhLmdldCgpKTsKKyAgICBlbHNlCisgICAgICAgIGxv
YWRSZXF1ZXN0V2l0aE5hdmlnYXRpb24obmF2aWdhdGlvbiwgUmVzb3VyY2VSZXF1ZXN0IHsgbmF2
aWdhdGlvbi5jdXJyZW50UmVxdWVzdCgpIH0sIFdlYkNvcmU6OlNob3VsZE9wZW5FeHRlcm5hbFVS
THNQb2xpY3k6OlNob3VsZEFsbG93RXh0ZXJuYWxTY2hlbWVzLCBudWxscHRyLCBTaG91bGRUcmVh
dEFzQ29udGludWluZ0xvYWQ6Olllcyk7CiAKICAgICBBU1NFUlQoIW1fbWFpbkZyYW1lKTsKICAg
ICBtX21haW5GcmFtZUNyZWF0aW9uSGFuZGxlciA9IFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIG5hdmlnYXRpb24gPSBtYWtlUmVmKG5hdmlnYXRpb24pLCByZXF1ZXN0ID0g
IG5hdmlnYXRpb24uY3VycmVudFJlcXVlc3QoKSwgbWFpbkZyYW1lVVJMLCBpc1NlcnZlclJlZGly
ZWN0ID0gbmF2aWdhdGlvbi5jdXJyZW50UmVxdWVzdElzUmVkaXJlY3QoKV0oKSBtdXRhYmxlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZjEwZDYxNTY2MDI1YzVk
YzE4ZTRkODk4YTFmZDllYzYzY2IzOGU0Ny4uM2Y4NDQwODJjZDI4ZmNlY2Q3YzU1MmQ0NzUyZDgx
NDM5NjZmM2E4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTE1
MzksNiArMTUzOSw3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPEFQSTo6TmF2aWdhdGlvbj4gcmVh
dHRhY2hUb1dlYlByb2Nlc3NGb3JSZWxvYWQoKTsKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9u
PiByZWF0dGFjaFRvV2ViUHJvY2Vzc1dpdGhJdGVtKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0mKTsK
IAorICAgIHZvaWQgbG9hZERhdGFXaXRoTmF2aWdhdGlvbihBUEk6Ok5hdmlnYXRpb24mLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmIE1JTUVUeXBlLCBjb25zdCBTdHJp
bmcmIGVuY29kaW5nLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIEFQSTo6T2JqZWN0KiB1c2VyRGF0
YSA9IG51bGxwdHIpOwogICAgIHZvaWQgbG9hZFJlcXVlc3RXaXRoTmF2aWdhdGlvbihBUEk6Ok5h
dmlnYXRpb24mLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6U2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeSwgQVBJOjpPYmplY3QqIHVzZXJEYXRhLCBXZWJDb3JlOjpTaG91
bGRUcmVhdEFzQ29udGludWluZ0xvYWQpOwogCiAgICAgdm9pZCByZXF1ZXN0Tm90aWZpY2F0aW9u
UGVybWlzc2lvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5T
dHJpbmcpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGE4YzJjMWFkZDhiYjRiNjg2YzZjMWRmMmQ1ZDRhY2M4NGVlNjA2YjkuLmJhMjE5ODU1MGE4
NzAyNWFlNWNkMDQwMjAyNDI5Mjc4NDMyODExZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxOC0xMS0xNCAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdC5BcHBsaWNhdGlv
bk1hbmlmZXN0QmFzaWMgQVBJIHRlc3QgaXMgZmFpbGluZyB3aGVuIGVuYWJsaW5nIFBTT04KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTYwMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgQWRkIEFQSSB0
ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbToKKwogMjAxOC0xMS0xNCAgSm9uYXRoYW4gQmVk
YXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgd2Via2l0cHk6IFJlZmFjdG9yIHBv
cnQgY29kZSBmb3IgZGV2aWNlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24ubW0KaW5kZXgg
ZmJlOGFjYzU0NmZjMGZhNjk3OTVlYzNhY2Y3MDk1MzRjNzIzMTdlMi4uOGNiMTMwM2VhZjI3ZTM5
YmMyMzY2ZDM3ZjBjYTI1MGU4ZTkwODZkOSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9u
Lm1tCkBAIC0yNjQ3LDYgKzI2NDcsNDYgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2aWdhdGVCYWNr
QW5kRm9ydGgpCiAgICAgRVhQRUNUX1dLX1NUUkVRKEAicHNvbjovL3d3dy53ZWJraXQub3JnL21h
aW4uaHRtbCIsIFtiYWNrRm9yd2FyZExpc3QuYmFja0l0ZW0uVVJMIGFic29sdXRlU3RyaW5nXSk7
CiB9CiAKK1RFU1QoUHJvY2Vzc1N3YXAsIFN3YXBPbkxvYWRIVE1MU3RyaW5nKQoreworICAgIGF1
dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29u
ZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIHByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5n
ZXQoKS5wcm9jZXNzU3dhcHNPbk5hdmlnYXRpb24gPSBZRVM7CisgICAgYXV0byBwcm9jZXNzUG9v
bCA9IGFkb3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9u
OnByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3ZWJWaWV3Q29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29s
LmdldCgpXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10g
aW5pdF0pOworICAgIFt3ZWJWaWV3Q29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhh
bmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAicHNvbiJdOworCisgICAgYXV0byB3ZWJWaWV3ID0g
YWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAs
IDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0aW9uLmdldCgpXSk7Cisg
ICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tQU09OTmF2aWdhdGlvbkRlbGVnYXRlIGFsbG9j
XSBpbml0XSk7CisgICAgW3dlYlZpZXcgc2V0TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtOU1VSTFJlcXVlc3QgcmVxdWVz
dFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFp
bi5odG1sIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICBh
dXRvIHBpZDEgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworCisgICAgTlNTdHJp
bmcgKmh0bWxTdHJpbmcgPSBAIjxodG1sPjxib2R5PnN1YnN0aXR1dGVEYXRhPC9ib2R5PjwvaHRt
bD4iOworICAgIFt3ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOmh0bWxTdHJpbmcgYmFzZVVSTDpbTlNV
UkwgVVJMV2l0aFN0cmluZzpAImh0dHA6Ly9leGFtcGxlLmNvbSJdXTsKKworICAgIFRlc3RXZWJL
aXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgYXV0byBw
aWQyID0gW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXTsKKyAgICBFWFBFQ1RfTkUocGlk
MSwgcGlkMik7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5i
b2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCBpbm5lclRleHQsIE5TRXJyb3Ig
KmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAInN1YnN0aXR1dGVEYXRhIiwgKE5T
U3RyaW5nICopaW5uZXJUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7Cit9CisK
ICNpZiBQTEFURk9STShNQUMpCiAKIFRFU1QoUHJvY2Vzc1N3YXAsIEdvQmFja1RvU3VzcGVuZGVk
UGFnZVdpdGhNYWluRnJhbWVJRFRoYXRJc05vdE9uZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>