<?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>159663</bug_id>
          
          <creation_ts>2016-07-11 21:32:33 -0700</creation_ts>
          <short_desc>[WK2] Protect against bad database data in LocalStorageDatabase::importItems()</short_desc>
          <delta_ts>2016-07-12 14:52:10 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1209932</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-11 21:32:33 -0700</bug_when>
    <thetext>Protect against bad database data in LocalStorageDatabase::importItems(). We crash if the database contains a null key or a null value so protect against it given that we have evidence it can happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209933</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-11 21:32:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/18995873&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209934</commentid>
    <comment_count>2</comment_count>
      <attachid>283386</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-11 21:34:54 -0700</bug_when>
    <thetext>Created attachment 283386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1209949</commentid>
    <comment_count>3</comment_count>
      <attachid>283386</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-07-11 23:24:08 -0700</bug_when>
    <thetext>Comment on attachment 283386
Patch

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [WK2] Protect against bad database data in LocalStorageDatabase::importItems()

Why no test? Especially since you can reproduce?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210017</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 06:57:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 283386 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=283386&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:3
&gt; &gt; +        [WK2] Protect against bad database data in LocalStorageDatabase::importItems()
&gt; 
&gt; Why no test? Especially since you can reproduce?

We do not know how we can end up with null entries in the database. I can reproduce the crash only by using the database a user provided. See radar for more info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210051</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-07-12 09:47:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Comment on attachment 283386 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=283386&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit2/ChangeLog:3
&gt; &gt; &gt; +        [WK2] Protect against bad database data in LocalStorageDatabase::importItems()
&gt; &gt; 
&gt; &gt; Why no test? Especially since you can reproduce?
&gt; 
&gt; We do not know how we can end up with null entries in the database. I can
&gt; reproduce the crash only by using the database a user provided. See radar
&gt; for more info.

I recently added an API test with bad SQLite database files; It&apos;s unknown how to generate those bad SQLite DB files, but it is known what happens once you have them.

So you should actually be able to test this.

Take a look at the API test IDBDeleteRecovery.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210062</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 10:02:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; Comment on attachment 283386 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; View in context:
&gt; &gt; &gt; https://bugs.webkit.org/attachment.cgi?id=283386&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebKit2/ChangeLog:3
&gt; &gt; &gt; &gt; +        [WK2] Protect against bad database data in LocalStorageDatabase::importItems()
&gt; &gt; &gt; 
&gt; &gt; &gt; Why no test? Especially since you can reproduce?
&gt; &gt; 
&gt; &gt; We do not know how we can end up with null entries in the database. I can
&gt; &gt; reproduce the crash only by using the database a user provided. See radar
&gt; &gt; for more info.
&gt; 
&gt; I recently added an API test with bad SQLite database files; It&apos;s unknown
&gt; how to generate those bad SQLite DB files, but it is known what happens once
&gt; you have them.
&gt; 
&gt; So you should actually be able to test this.
&gt; 
&gt; Take a look at the API test IDBDeleteRecovery.

Thanks for the info, I am working on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210113</commentid>
    <comment_count>7</comment_count>
      <attachid>283435</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 11:37:18 -0700</bug_when>
    <thetext>Created attachment 283435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210152</commentid>
    <comment_count>8</comment_count>
      <attachid>283445</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 14:14:40 -0700</bug_when>
    <thetext>Created attachment 283445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210171</commentid>
    <comment_count>9</comment_count>
      <attachid>283445</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 14:52:05 -0700</bug_when>
    <thetext>Comment on attachment 283445
Patch

Clearing flags on attachment: 283445

Committed r203129: &lt;http://trac.webkit.org/changeset/203129&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1210172</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-12 14:52:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283386</attachid>
            <date>2016-07-11 21:34:54 -0700</date>
            <delta_ts>2016-07-12 11:37:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159663-20160711213411.patch</filename>
            <type>text/plain</type>
            <size>2078</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjQ3ZTJjZWE3OWE4ZGQ3
YzUzMzVkMmNkNThlNzk2MTUzMzVjNTAyYy4uNzk0MmE5Mjg1NzkwMDljOWI0OTVmOTg4N2MxZDQz
Y2ZlYzZmYTc4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE2LTA3LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gUHJvdGVjdCBhZ2Fp
bnN0IGJhZCBkYXRhYmFzZSBkYXRhIGluIExvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVt
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2
NjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTk1ODczPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3RlY3QgYWdhaW5zdCBiYWQgZGF0YWJh
c2UgZGF0YSBpbiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6aW1wb3J0SXRlbXMoKS4gV2UKKyAgICAg
ICAgY3Jhc2ggaWYgdGhlIGRhdGFiYXNlIGNvbnRhaW5zIGEgbnVsbCBrZXkgb3IgYSBudWxsIHZh
bHVlIHNvIHByb3RlY3QgYWdhaW5zdAorICAgICAgICBpdCBnaXZlbiB0aGF0IHdlIGhhdmUgZXZp
ZGVuY2UgaXQgY2FuIGhhcHBlbi4KKworICAgICAgICBXaXRoIHRoaXMgY2hhbmdlLCBJIGNhbiBu
byBsb25nZXIgcmVwcm9kdWNlIHRoZSBVSVByb2Nlc3MgY3Jhc2ggb24gZXZlcm5vdGUuY29tCisg
ICAgICAgIHRoYXQgaXMgZG9jdW1lbnRlZCBhdCA8cmRhcjovL3Byb2JsZW0vMTg5OTU4NzM+Lgor
CisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6aW1wb3J0SXRlbXMpOgorCisy
MDE2LTA3LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgW1dL
Ml1baU9TXSBJbnRlcm1pdHRlbnQgY3Jhc2ggaW4gW1VJQXBwbGljYXRpb24gYmVnaW5CYWNrZ3Jv
dW5kVGFza1dpdGhOYW1lXSBleHBpcmF0aW9uIGhhbmRsZXIKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTY0OAogICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjcyMTkzNjE+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFn
ZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3Rv
cmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHAKaW5kZXggMTM2NzQzOGFmZTZkNGI1NzhkMGRh
OGQyMjhjZjFlNzM1MTBiZDJiOC4uMzQ2OGI1ZGY2OGM1OGEyOTkxMDk1MjkxNDE4NzQxNWE1YzI3
MzhhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxT
dG9yYWdlRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdl
L0xvY2FsU3RvcmFnZURhdGFiYXNlLmNwcApAQCAtMTgxLDcgKzE4MSwxMCBAQCB2b2lkIExvY2Fs
U3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVtcyhTdG9yYWdlTWFwJiBzdG9yYWdlTWFwKQogCiAg
ICAgaW50IHJlc3VsdCA9IHF1ZXJ5LnN0ZXAoKTsKICAgICB3aGlsZSAocmVzdWx0ID09IFNRTElU
RV9ST1cpIHsKLSAgICAgICAgaXRlbXMuc2V0KHF1ZXJ5LmdldENvbHVtblRleHQoMCksIHF1ZXJ5
LmdldENvbHVtbkJsb2JBc1N0cmluZygxKSk7CisgICAgICAgIFN0cmluZyBrZXkgPSBxdWVyeS5n
ZXRDb2x1bW5UZXh0KDApOworICAgICAgICBTdHJpbmcgdmFsdWUgPSBxdWVyeS5nZXRDb2x1bW5C
bG9iQXNTdHJpbmcoMSk7CisgICAgICAgIGlmICgha2V5LmlzTnVsbCgpICYmICF2YWx1ZS5pc051
bGwoKSkKKyAgICAgICAgICAgIGl0ZW1zLnNldChrZXksIHZhbHVlKTsKICAgICAgICAgcmVzdWx0
ID0gcXVlcnkuc3RlcCgpOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283435</attachid>
            <date>2016-07-12 11:37:18 -0700</date>
            <delta_ts>2016-07-12 14:14:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159663-20160712113634.patch</filename>
            <type>text/plain</type>
            <size>17336</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTgyMGJkMTgxYTMzZDU2
ZTYwY2IzODg1ZmQxOTRjMDNkMzA0ZThiNC4uYTMxNzMzYjJhNDFkMzdhYzI4YzAwNzZjNmMyODVk
MGQwYzYzODdiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA3LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gUHJvdGVjdCBhZ2Fp
bnN0IGJhZCBkYXRhYmFzZSBkYXRhIGluIExvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVt
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2
NjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTk1ODczPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb3RlY3QgYWdhaW5zdCBiYWQgZGF0YWJh
c2UgZGF0YSBpbiBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6aW1wb3J0SXRlbXMoKS4gV2UKKyAgICAg
ICAgY3Jhc2ggaWYgdGhlIGRhdGFiYXNlIGNvbnRhaW5zIGEgbnVsbCBrZXkgb3IgYSBudWxsIHZh
bHVlIHNvIHByb3RlY3QgYWdhaW5zdAorICAgICAgICBpdCBnaXZlbiB0aGF0IHdlIGhhdmUgZXZp
ZGVuY2UgaXQgY2FuIGhhcHBlbi4KKworICAgICAgICBXaXRoIHRoaXMgY2hhbmdlLCBJIGNhbiBu
byBsb25nZXIgcmVwcm9kdWNlIHRoZSBVSVByb2Nlc3MgY3Jhc2ggb24gZXZlcm5vdGUuY29tCisg
ICAgICAgIHRoYXQgaXMgZG9jdW1lbnRlZCBhdCA8cmRhcjovL3Byb2JsZW0vMTg5OTU4NzM+Lgor
CisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6aW1wb3J0SXRlbXMpOgorCiAy
MDE2LTA3LTEyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZW1vdmUgRU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLIGZsYWcKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNl
LmNwcAppbmRleCAxMzY3NDM4YWZlNmQ0YjU3OGQwZGE4ZDIyOGNmMWU3MzUxMGJkMmI4Li4zNDY4
YjVkZjY4YzU4YTI5OTEwOTUyOTE0MTg3NDE1YTVjMjczOGEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2UuY3Bw
CkBAIC0xODEsNyArMTgxLDEwIEBAIHZvaWQgTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmltcG9ydEl0
ZW1zKFN0b3JhZ2VNYXAmIHN0b3JhZ2VNYXApCiAKICAgICBpbnQgcmVzdWx0ID0gcXVlcnkuc3Rl
cCgpOwogICAgIHdoaWxlIChyZXN1bHQgPT0gU1FMSVRFX1JPVykgewotICAgICAgICBpdGVtcy5z
ZXQocXVlcnkuZ2V0Q29sdW1uVGV4dCgwKSwgcXVlcnkuZ2V0Q29sdW1uQmxvYkFzU3RyaW5nKDEp
KTsKKyAgICAgICAgU3RyaW5nIGtleSA9IHF1ZXJ5LmdldENvbHVtblRleHQoMCk7CisgICAgICAg
IFN0cmluZyB2YWx1ZSA9IHF1ZXJ5LmdldENvbHVtbkJsb2JBc1N0cmluZygxKTsKKyAgICAgICAg
aWYgKCFrZXkuaXNOdWxsKCkgJiYgIXZhbHVlLmlzTnVsbCgpKQorICAgICAgICAgICAgaXRlbXMu
c2V0KGtleSwgdmFsdWUpOwogICAgICAgICByZXN1bHQgPSBxdWVyeS5zdGVwKCk7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTFk
MjVkY2JjY2FhMzlkMTJkMmQ1NzQ4NDNmMDQ4ZmM2Nzc0ZmFlMy4uMmE2OGVkMjcyMTFjYzI2NDA0
NDQ3NmYzMjQwOTBkY2UzZjE1ODAzNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE2LTA3LTEyICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gUHJvdGVjdCBhZ2FpbnN0IGJh
ZCBkYXRhYmFzZSBkYXRhIGluIExvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVtcygpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2NjMKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTk1ODczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFn
ZU51bGxFbnRyaWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZTogQWRkZWQu
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXNobTogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9y
YWdlLXdhbDogQWRkZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW06IEFkZGVkLgorICAgICAgICAoLVtMb2NhbFN0
b3JhZ2VOdWxsRW50cmllc01lc3NhZ2VIYW5kbGVyIHVzZXJDb250ZW50Q29udHJvbGxlcjpkaWRS
ZWNlaXZlU2NyaXB0TWVzc2FnZTpdKToKKyAgICAgICAgKFRFU1QpOgorCiAyMDE2LTA3LTEyICBH
eXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUg
RU5BQkxFX0NTUzNfVEVYVF9MSU5FX0JSRUFLIGZsYWcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZDJiZDI4MWQ5ZjllYTI2NGMxOThiZDY4Yzc1MWFkZjE2ZmU2YWFmMi4uNzY1ZDY2MDVjZjYx
MWU1YzExNGRhODI0M2Y2ZTYzZmViMjE5ZDFhNCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTY0LDYgKzY0LDExIEBACiAJCTM3RDM2RUQ3MUFGNDJFQ0QwMEJBRjVEOSAvKiBMb2FkQWx0ZXJu
YXRlSFRNTFN0cmluZy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3RDM2RUQ2MUFGNDJFQ0QwMEJBRjVEOSAvKiBMb2FkQWx0ZXJuYXRlSFRNTFN0cmlu
Zy5tbSAqLzsgfTsKIAkJMzdEQzY3OTExNDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJp
bmcuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzN0RDNjc4RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sICov
OyB9OwogCQkzN0UxMDY0QzE2OTc2ODE4MDBCNzhCRDAgLyogRE9NSFRNTFRhYmxlQ2VsbEVsZW1l
bnRDZWxsQWJvdmUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzN0UxMDY0QjE2OTc2N0Y3MDBCNzhCRDAgLyogRE9NSFRNTFRhYmxlQ2Vs
bEVsZW1lbnRDZWxsQWJvdmUuaHRtbCAqLzsgfTsKKwkJNDZDNTE5REExRDM1NUFCMjAwREFBNTFB
IC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNTE5RDgxRDM1NUE3MzAwREFBNTFBIC8qIExvY2FsU3Rv
cmFnZU51bGxFbnRyaWVzLm1tICovOyB9OworCQk0NkM1MTlFNjFEMzU2M0ZEMDBEQUE1MUEgLyog
TG9jYWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM1MTlFMjFEMzU2Mjk2MDBEQUE1MUEgLyogTG9j
YWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbCAqLzsgfTsKKwkJNDZDNTE5RTcxRDM1NjNGRDAwREFB
NTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZSBpbiBDb3B5IFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM1MTlFMzFEMzU2Mjk2
MDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlICovOyB9Owor
CQk0NkM1MTlFODFEMzU2M0ZEMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9j
YWxzdG9yYWdlLXNobSBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NkM1MTlFNDFEMzU2Mjk2MDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVu
dHJpZXMubG9jYWxzdG9yYWdlLXNobSAqLzsgfTsKKwkJNDZDNTE5RTkxRDM1NjNGRDAwREFBNTFB
IC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZS13YWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNTE5RTUxRDM1NjI5
NjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZS13YWwgKi87
IH07CiAJCTRCRkRGRkE3MTMxNDc3NkMwMDYxRjI0QiAvKiBIaXRUZXN0UmVzdWx0Tm9kZUhhbmRs
ZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNEJGREZGQTYxMzE0Nzc2QzAwNjFGMjRCIC8qIEhpdFRlc3RSZXN1bHROb2RlSGFuZGxlX0J1
bmRsZS5jcHAgKi87IH07CiAJCTUxMDQ3NzcyMUQyOThEREQwMDk3NDdFQiAvKiBJREJEZWxldGVS
ZWNvdmVyeS5zcWxpdGUzIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMDQ3NzZGMUQyOThEODUwMDk3NDdFQiAvKiBJREJEZWxldGVSZWNvdmVy
eS5zcWxpdGUzICovOyB9OwogCQk1MTA0Nzc3MzFEMjk4REREMDA5NzQ3RUIgLyogSURCRGVsZXRl
UmVjb3Zlcnkuc3FsaXRlMy1zaG0gaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEwNDc3NzAxRDI5OEQ4NTAwOTc0N0VCIC8qIElEQkRlbGV0ZVJl
Y292ZXJ5LnNxbGl0ZTMtc2htICovOyB9OwpAQCAtNDgxLDYgKzQ4NiwxMCBAQAogCQkJZHN0UGF0
aCA9IFRlc3RXZWJLaXRBUEkucmVzb3VyY2VzOwogCQkJZHN0U3ViZm9sZGVyU3BlYyA9IDc7CiAJ
CQlmaWxlcyA9ICgKKwkJCQk0NkM1MTlFNjFEMzU2M0ZEMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKKwkJCQk0NkM1MTlFNzFEMzU2
M0ZEMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlIGluIENv
cHkgUmVzb3VyY2VzICovLAorCQkJCTQ2QzUxOUU4MUQzNTYzRkQwMERBQTUxQSAvKiBMb2NhbFN0
b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2Utc2htIGluIENvcHkgUmVzb3VyY2VzICovLAor
CQkJCTQ2QzUxOUU5MUQzNTYzRkQwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5s
b2NhbHN0b3JhZ2Utd2FsIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCTUxRTZBODk2MUQyRjFD
QTcwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAogCQkJCTUxQTU4Nzg1MUQyNzM5RTMwMDRCQTlBRiAvKiBJbmRleGVkREJEYXRhYmFzZVByb2Nl
c3NLaWxsLTEuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1MTA0Nzc3NzFEMjk4RTcy
MDA5NzQ3RUIgLyogSURCRGVsZXRlUmVjb3ZlcnkuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
QEAgLTcwMSw2ICs3MTAsMTEgQEAKIAkJNDQwQTFEMzgxNEEwMTAzQTAwOEE2NkYyIC8qIFVSTC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkwuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NDJCQkY2ODFDOTFDQUQ5MDAxNzA4N0YgLyogUmVmTG9n
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkxvZ2dlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTYyMkMxMTRBMEUyQjYwMDQ4NTE1
QiAvKiBXVEZTdHJpbmdVdGlsaXRpZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV1RGU3RyaW5nVXRpbGl0aWVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2
QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRy
aWVzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkM1MTlFMjFEMzU2Mjk2MDBE
QUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRt
bDsgcGF0aCA9IExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ2QzUxOUUzMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxs
RW50cmllcy5sb2NhbHN0b3JhZ2UgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxz
dG9yYWdlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkM1MTlFNDFEMzU2Mjk2MDBE
QUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXNobSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSAi
TG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXNobSI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2QzUxOUU1MUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VO
dWxsRW50cmllcy5sb2NhbHN0b3JhZ2Utd2FsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJMb2Nh
bFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2Utd2FsIjsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNEE0MTBGNEIxOUFGN0JENjAwMkVCQUI1IC8qIFVzZXJNZWRpYS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVc2VyTWVkaWEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNl
ck1lZGlhLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBnZXRVc2VyTWVkaWEuaHRt
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEJCNDE2MDExNjgxNUIyNjAwODI0MjM4
IC8qIEpTV3JhcHBlckZvck5vZGVJbldlYkZyYW1lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gSlNXcmFwcGVyRm9yTm9kZUluV2ViRnJhbWUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTg3LDYgKzEyMDEsNyBAQAogCQkJCTM3RDM2RUQ2MUFG
NDJFQ0QwMEJBRjVEOSAvKiBMb2FkQWx0ZXJuYXRlSFRNTFN0cmluZy5tbSAqLywKIAkJCQk1Nzkw
MUZBQzFDQUYxMkMyMDBFRDY0RjkgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tICovLAogCQkJ
CTUxRTZBODkyMUQyRjFCRUMwMEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSAqLywKKwkJ
CQk0NkM1MTlEODFEMzU1QTczMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW0g
Ki8sCiAJCQkJNTFDRDFDNkExQjM4Q0UzNjAwMTQyQ0E1IC8qIE1vZGFsQWxlcnRzLm1tICovLAog
CQkJCTFBQkMzREVEMTg5OUJFNkQwMDRGMDYyNiAvKiBOYXZpZ2F0aW9uLm1tICovLAogCQkJCUNF
QTZDRjIyMTlDQ0Y1QkQwMDY0RjVBNyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cubW0gKi8sCkBAIC0x
MzAwLDYgKzEzMTUsMTAgQEAKIAkJCQk1MUIxRUU5NDFDODBGQUREMDA2NEZCOTggLyogSW5kZXhl
ZERCUGVyc2lzdGVuY2UtMS5odG1sICovLAogCQkJCTUxQjFFRTk1MUM4MEZBREQwMDY0RkI5OCAv
KiBJbmRleGVkREJQZXJzaXN0ZW5jZS0yLmh0bWwgKi8sCiAJCQkJNTFFNkE4OTUxRDJGMUM3NzAw
QzAwNEI2IC8qIExvY2FsU3RvcmFnZUNsZWFyLmh0bWwgKi8sCisJCQkJNDZDNTE5RTIxRDM1NjI5
NjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmh0bWwgKi8sCisJCQkJNDZDNTE5
RTMxRDM1NjI5NjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFn
ZSAqLywKKwkJCQk0NkM1MTlFNDFEMzU2Mjk2MDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVu
dHJpZXMubG9jYWxzdG9yYWdlLXNobSAqLywKKwkJCQk0NkM1MTlFNTFEMzU2Mjk2MDBEQUE1MUEg
LyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXdhbCAqLywKIAkJCQk1MTcx
NEVCMjFDRjhDNzYxMDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVhbnVwLTEuaHRtbCAq
LywKIAkJCQk1MTcxNEVCMzFDRjhDNzYxMDA0NzIzQzQgLyogV2ViUHJvY2Vzc0tpbGxJREJDbGVh
bnVwLTIuaHRtbCAqLywKIAkJCQk5M0NGQTg2NjFDRUI5REUxMDAwNTY1QTggLyogYXV0b2ZvY3Vz
ZWQtdGV4dC1pbnB1dC5odG1sICovLApAQCAtMjE2NCw2ICsyMTgzLDcgQEAKIAkJCQk3Q0NFN0Yw
QzFBNDExQUU2MDA0NDdDNEMgLyogUHJpdmF0ZUJyb3dzaW5nUHVzaFN0YXRlTm9IaXN0b3J5Q2Fs
bGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQzgxQTQxMUE3RTAwNDQ3QzRDIC8q
IFB1YmxpY1N1ZmZpeC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDUxMUQwQTY0MTgwMEZF
QkNGMyAvKiBQYXJzZWRDb250ZW50UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDZDNTE5
REExRDM1NUFCMjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0MzOTY1MDYxQ0RENzRGOTAwOTREQkI4IC8qIENvbG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDQ0U3RjBEMUE0MTFBRTYwMDQ0N0M0QyAvKiBSZWxvYWRQYWdlQWZ0ZXJD
cmFzaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VDOTFBNDExQTdFMDA0NDdDNEMgLyog
UmVuZGVyZWRJbWFnZUZyb21ET01Ob2RlLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50
cmllcy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxT
dG9yYWdlTnVsbEVudHJpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODc4ZjM2YWM0YzFjMmRhNjExMDFh
YzVmYTRjMDZhMjA1NzM0OTRlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMuaHRtbApAQCAtMCww
ICsxLDYgQEAKKzxzY3JpcHQ+CisKK3dpbmRvdy5sb2NhbFN0b3JhZ2Uua2V5KDApOword2luZG93
LndlYmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoJ0RPTkUnKTsK
KworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2UgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2Nh
bHN0b3JhZ2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI0MWIyNWM3NDllYTA0MmQ2MGQzMjM1ZjgyYzljNzNkMzUw
ODkyMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTIyODgKemNtZUkjRi15Wmg2YkpDakRKckR0
REZffCZNZzwqO3lPQE00MWRoYkM3ak8jXlBic0RySDckME1aaGpVJmcxYUJVCnp4bkQjIzZRT34r
Ym5XbmVAVk5KUWNpaSNZWmpoKjlZM08kUkd8RWRsV0JaSkFjMHQ0Izw1Z318eGVUaSt3d0Z6ewp6
KjhSSFI/RFhmJjUjTmpwanxvcUZ0fi1EXjFSd3diMnRXVj01UCQjI0FPSGFmS3d1KlU9OWFiRmFi
MFZrbD0qZEcKeiFxU1pOTzJMRF5edDJASGBBU2tWcj14b19CUTM4cXJCUnJxbEghUGhJTz9lfChB
MVpnJF93TlBQNGktNiRYQnNYCnpRTEhJU20wSD1AXkZucHA8dlNoZVQ1Un1tVl91I2dpfFIrODwm
JCMhKkpzVUBTK148Y2ZCanpWPXtRcW4rWTJ0Tgp6X00hOURJJlU0Y0A5YyNiSVBjPWFkRUgySEpQ
SEMzZkIqeV8wMDlVPDAwSXp6MDBiWmEwU0dfPDB1WD16MVJ3d2IKUjJ0V1Y9NVAkIyNBT0x9WDA+
OVpATlNePXoKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fs
c3RvcmFnZS1zaG0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2Nh
bFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2Utc2htCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOWFjMjg0
NWVjYTZmZTZkYThhNjNjZDA5NmQ5Y2Y5ZTI0ZWNlMTAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDMyNzY4CnpjbWVJdUFyNjJyMzxYZVRTYXlTNjA9Wj1PLTB8a1AyJmZ1QCE2RHVeemlGQ143dzU1
TU4pOWhRWVYzV2s3OWEyUAp6KSU4ZzNIMzAkeTJvTkFaZkIqcGsxUEJseUshNS1OMHQ1JlVBVjdj
czBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsKejFQQmx5SyE1LU4wdDUmVUFWN2NzMFJqWEY1RmtL
KzAwOUM3Mm9OQVpmQipwazFQQmx5SyE1LU4wdDUmVUFWN2NzCncwUmpYRjVGa0srMDA5Qzcyb05B
WmZCKnBrMVBCbHlLITUtTjB0NSZVQVY3Y3MwUmpYRjVjcT9ANGRrNWBRdmQofQoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXdhbCBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVz
LmxvY2Fsc3RvcmFnZS13YWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1
YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQyQ29jb2EvTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44YmRlNjI0MTk0YmQxMTQwNTZkYjY0YmI5YWVlZjNjMTk1YjE1OTM0Ci0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXMubW0KQEAgLTAsMCArMSw5MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNv
bmZpZy5oIgorCisjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgorI2ltcG9ydCAiVGVzdC5o
IgorI2ltcG9ydCA8V2ViS2l0L1dLUHJvY2Vzc1Bvb2xQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJL
aXQvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4K
KyNpbXBvcnQgPFdlYktpdC9fV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaD4KKyNpbXBvcnQg
PFdlYktpdC9fV0tVc2VyU3R5bGVTaGVldC5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgor
CisjaWYgV0tfQVBJX0VOQUJMRUQKKworc3RhdGljIGJvb2wgcmVhZHlUb0NvbnRpbnVlOworCitA
aW50ZXJmYWNlIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzTWVzc2FnZUhhbmRsZXIgOiBOU09iamVj
dCA8V0tTY3JpcHRNZXNzYWdlSGFuZGxlcj4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIExvY2Fs
U3RvcmFnZU51bGxFbnRyaWVzTWVzc2FnZUhhbmRsZXIKKworLSAodm9pZCl1c2VyQ29udGVudENv
bnRyb2xsZXI6KFdLVXNlckNvbnRlbnRDb250cm9sbGVyICopdXNlckNvbnRlbnRDb250cm9sbGVy
IGRpZFJlY2VpdmVTY3JpcHRNZXNzYWdlOihXS1NjcmlwdE1lc3NhZ2UgKiltZXNzYWdlCit7Cisg
ICAgcmVhZHlUb0NvbnRpbnVlID0gdHJ1ZTsKK30KKworQGVuZAorCitURVNUKFdLV2ViVmlldywg
TG9jYWxTdG9yYWdlTnVsbEVudHJpZXMpCit7CisgICAgUmV0YWluUHRyPExvY2FsU3RvcmFnZU51
bGxFbnRyaWVzTWVzc2FnZUhhbmRsZXI+IGhhbmRsZXIgPSBhZG9wdE5TKFtbTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXNNZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAgIFJldGFpblB0cjxX
S1dlYlZpZXdDb25maWd1cmF0aW9uPiBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKyAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNv
bnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRNZXNzYWdlSGFuZGxlcjpoYW5kbGVyLmdldCgpIG5h
bWU6QCJ0ZXN0SGFuZGxlciJdOworCisgICAgW2NvbmZpZ3VyYXRpb24gX3NldEFsbG93VW5pdmVy
c2FsQWNjZXNzRnJvbUZpbGVVUkxzOllFU107CisKKyAgICAvLyBDb3B5IHRoZSBpbmNvbnNpc3Rl
bnQgZGF0YWJhc2UgZmlsZXMgdG8gdGhlIExvY2FsU3RvcmFnZSBkaXJlY3RvcnkKKyAgICBOU1VS
TCAqdXJsMSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJMb2NhbFN0
b3JhZ2VOdWxsRW50cmllcyIgd2l0aEV4dGVuc2lvbjpAImxvY2Fsc3RvcmFnZSIgc3ViZGlyZWN0
b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMiA9IFtbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJMb2NhbFN0b3JhZ2VOdWxsRW50cmll
cyIgd2l0aEV4dGVuc2lvbjpAImxvY2Fsc3RvcmFnZS1zaG0iIHN1YmRpcmVjdG9yeTpAIlRlc3RX
ZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgTlNVUkwgKnVybDMgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAiTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMiIHdpdGhFeHRl
bnNpb246QCJsb2NhbHN0b3JhZ2Utd2FsIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJl
c291cmNlcyJdOworCisgICAgTlNVUkwgKnRhcmdldFVSTCA9IFtOU1VSTCBmaWxlVVJMV2l0aFBh
dGg6W0Aifi9MaWJyYXJ5L1dlYktpdC9UZXN0V2ViS2l0QVBJL1dlYnNpdGVEYXRhL0xvY2FsU3Rv
cmFnZS8iIHN0cmluZ0J5RXhwYW5kaW5nVGlsZGVJblBhdGhdXTsKKyAgICBbW05TRmlsZU1hbmFn
ZXIgZGVmYXVsdE1hbmFnZXJdIGNyZWF0ZURpcmVjdG9yeUF0VVJMOnRhcmdldFVSTCB3aXRoSW50
ZXJtZWRpYXRlRGlyZWN0b3JpZXM6WUVTIGF0dHJpYnV0ZXM6bmlsIGVycm9yOm5pbF07CisKKyAg
ICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIGNvcHlJdGVtQXRVUkw6dXJsMSB0b1VS
TDpbdGFyZ2V0VVJMIFVSTEJ5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAImZpbGVfXzAubG9jYWxz
dG9yYWdlIl0gZXJyb3I6bmlsXTsKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJd
IGNvcHlJdGVtQXRVUkw6dXJsMiB0b1VSTDpbdGFyZ2V0VVJMIFVSTEJ5QXBwZW5kaW5nUGF0aENv
bXBvbmVudDpAImZpbGVfXzAubG9jYWxzdG9yYWdlLXNobSJdIGVycm9yOm5pbF07CisgICAgW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnVybDMgdG9VUkw6W3Rh
cmdldFVSTCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJmaWxlX18wLmxvY2Fsc3RvcmFn
ZS13YWwiXSBlcnJvcjpuaWxdOworCisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBO
U1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJMb2NhbFN0b3JhZ2VOdWxsRW50cmll
cyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgcmVh
ZHlUb0NvbnRpbnVlID0gZmFsc2U7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWFk
eVRvQ29udGludWUpOworCisgICAgd2ViVmlldyA9IG5pbDsKKworICAgIC8vIENsZWFuIHVwLgor
ICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3ZlSXRlbUF0VVJMOlt0YXJn
ZXRVUkwgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9fMC5sb2NhbHN0b3JhZ2Ui
XSBlcnJvcjpuaWxdOworICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3Zl
SXRlbUF0VVJMOlt0YXJnZXRVUkwgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9f
MC5sb2NhbHN0b3JhZ2Utc2htIl0gZXJyb3I6bmlsXTsKKyAgICBbW05TRmlsZU1hbmFnZXIgZGVm
YXVsdE1hbmFnZXJdIHJlbW92ZUl0ZW1BdFVSTDpbdGFyZ2V0VVJMIFVSTEJ5QXBwZW5kaW5nUGF0
aENvbXBvbmVudDpAImZpbGVfXzAubG9jYWxzdG9yYWdlLXdhbCJdIGVycm9yOm5pbF07Cit9CisK
KyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283445</attachid>
            <date>2016-07-12 14:14:40 -0700</date>
            <delta_ts>2016-07-12 14:52:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159663-20160712141357.patch</filename>
            <type>text/plain</type>
            <size>15949</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTgyMGJkMTgxYTMzZDU2
ZTYwY2IzODg1ZmQxOTRjMDNkMzA0ZThiNC4uMDJhMTk4NTc0MjI0Y2RjZjQyNWFiZWMyYTgzZWMx
NmMwMTUzNGMzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA3LTEyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gUHJvdGVjdCBhZ2Fp
bnN0IGJhZCBkYXRhYmFzZSBkYXRhIGluIExvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVt
cygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk2
NjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE4OTk1ODczPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgUHJvdGVjdCBhZ2FpbnN0IGJhZCBkYXRh
YmFzZSBkYXRhIGluIExvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVtcygpLiBXZQorICAg
ICAgICBjcmFzaCBpZiB0aGUgZGF0YWJhc2UgY29udGFpbnMgYSBudWxsIGtleSBvciBhIG51bGwg
dmFsdWUgc28gcHJvdGVjdCBhZ2FpbnN0CisgICAgICAgIGl0IGdpdmVuIHRoYXQgd2UgaGF2ZSBl
dmlkZW5jZSBpdCBjYW4gaGFwcGVuLgorCisgICAgICAgIFdpdGggdGhpcyBjaGFuZ2UsIEkgY2Fu
IG5vIGxvbmdlciByZXByb2R1Y2UgdGhlIFVJUHJvY2VzcyBjcmFzaCBvbiBldmVybm90ZS5jb20K
KyAgICAgICAgdGhhdCBpcyBkb2N1bWVudGVkIGF0IDxyZGFyOi8vcHJvYmxlbS8xODk5NTg3Mz4u
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkxvY2FsU3RvcmFnZURhdGFiYXNlOjppbXBvcnRJdGVtcyk6CisK
IDIwMTYtMDctMTIgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFJlbW92ZSBFTkFCTEVfQ1NTM19URVhUX0xJTkVfQlJFQUsgZmxhZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJhc2Uu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvTG9jYWxTdG9yYWdlRGF0YWJh
c2UuY3BwCmluZGV4IDEzNjc0MzhhZmU2ZDRiNTc4ZDBkYThkMjI4Y2YxZTczNTEwYmQyYjguLjM0
NjhiNWRmNjhjNThhMjk5MTA5NTI5MTQxODc0MTVhNWMyNzM4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL0xvY2FsU3RvcmFnZURhdGFiYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9Mb2NhbFN0b3JhZ2VEYXRhYmFzZS5j
cHAKQEAgLTE4MSw3ICsxODEsMTAgQEAgdm9pZCBMb2NhbFN0b3JhZ2VEYXRhYmFzZTo6aW1wb3J0
SXRlbXMoU3RvcmFnZU1hcCYgc3RvcmFnZU1hcCkKIAogICAgIGludCByZXN1bHQgPSBxdWVyeS5z
dGVwKCk7CiAgICAgd2hpbGUgKHJlc3VsdCA9PSBTUUxJVEVfUk9XKSB7Ci0gICAgICAgIGl0ZW1z
LnNldChxdWVyeS5nZXRDb2x1bW5UZXh0KDApLCBxdWVyeS5nZXRDb2x1bW5CbG9iQXNTdHJpbmco
MSkpOworICAgICAgICBTdHJpbmcga2V5ID0gcXVlcnkuZ2V0Q29sdW1uVGV4dCgwKTsKKyAgICAg
ICAgU3RyaW5nIHZhbHVlID0gcXVlcnkuZ2V0Q29sdW1uQmxvYkFzU3RyaW5nKDEpOworICAgICAg
ICBpZiAoIWtleS5pc051bGwoKSAmJiAhdmFsdWUuaXNOdWxsKCkpCisgICAgICAgICAgICBpdGVt
cy5zZXQoa2V5LCB2YWx1ZSk7CiAgICAgICAgIHJlc3VsdCA9IHF1ZXJ5LnN0ZXAoKTsKICAgICB9
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBl
ODI3Mjc1ODVhYzM2MzhkOWUzYTNlOTFjN2MwN2RlOTY4MWVlMWE1Li5lNDkxZTdjMWRlMmQzNjk0
MjM3NWNjOThmZGRmNjA3ZDllZjI0MTkwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTYtMDctMTIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBQcm90ZWN0IGFnYWluc3Qg
YmFkIGRhdGFiYXNlIGRhdGEgaW4gTG9jYWxTdG9yYWdlRGF0YWJhc2U6OmltcG9ydEl0ZW1zKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTY2Mwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTg5OTU4NzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QmVuamFtaW4gUG91bGFpbi4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0
b3JhZ2VOdWxsRW50cmllcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2U6IEFk
ZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3Rv
cmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZS1zaG06IEFkZGVkLgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tOiBB
ZGRlZC4KKyAgICAgICAgKC1bTG9jYWxTdG9yYWdlTnVsbEVudHJpZXNNZXNzYWdlSGFuZGxlciB1
c2VyQ29udGVudENvbnRyb2xsZXI6ZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6XSk6CisgICAgICAg
IChURVNUKToKKwogMjAxNi0wNy0xMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbGF4IG9yZGVyaW5nIHJlcXVpcmVtZW50cyBvbiBTdHJpbmdW
aWV3OjpDb2RlUG9pbnRzIGl0ZXJhdG9yCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQyYmQy
ODFkOWY5ZWEyNjRjMTk4YmQ2OGM3NTFhZGYxNmZlNmFhZjIuLmY2NTFjOGRhYjIxNjM3OGJkMGMz
YjNiMDVkNGVmMzFiZTcwMzRmYTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NCw2ICs2
NCwxMCBAQAogCQkzN0QzNkVENzFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0ZUhUTUxT
dHJpbmcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
N0QzNkVENjFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0ZUhUTUxTdHJpbmcubW0gKi87
IH07CiAJCTM3REM2NzkxMTQwRDdENzYwMEFCQ0NEQiAvKiBET01SYW5nZU9mU3RyaW5nLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdE
QzY3OEYxNDBEN0QzQTAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRtbCAqLzsgfTsKIAkJ
MzdFMTA2NEMxNjk3NjgxODAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFi
b3ZlLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMzdFMTA2NEIxNjk3NjdGNzAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50
Q2VsbEFib3ZlLmh0bWwgKi87IH07CisJCTQ2QzUxOURBMUQzNTVBQjIwMERBQTUxQSAvKiBMb2Nh
bFN0b3JhZ2VOdWxsRW50cmllcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ2QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxs
RW50cmllcy5tbSAqLzsgfTsKKwkJNDZDNTE5RTYxRDM1NjNGRDAwREFBNTFBIC8qIExvY2FsU3Rv
cmFnZU51bGxFbnRyaWVzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDZDNTE5RTIxRDM1NjI5NjAwREFBNTFBIC8qIExvY2FsU3RvcmFn
ZU51bGxFbnRyaWVzLmh0bWwgKi87IH07CisJCTQ2QzUxOUU3MUQzNTYzRkQwMERBQTUxQSAvKiBM
b2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2UgaW4gQ29weSBSZXNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNTE5RTMxRDM1NjI5NjAwREFBNTFB
IC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZSAqLzsgfTsKKwkJNDZDNTE5
RTgxRDM1NjNGRDAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFn
ZS1zaG0gaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDZDNTE5RTQxRDM1NjI5NjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxv
Y2Fsc3RvcmFnZS1zaG0gKi87IH07CiAJCTRCRkRGRkE3MTMxNDc3NkMwMDYxRjI0QiAvKiBIaXRU
ZXN0UmVzdWx0Tm9kZUhhbmRsZV9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEJGREZGQTYxMzE0Nzc2QzAwNjFGMjRCIC8qIEhpdFRlc3RS
ZXN1bHROb2RlSGFuZGxlX0J1bmRsZS5jcHAgKi87IH07CiAJCTUxMDQ3NzcyMUQyOThEREQwMDk3
NDdFQiAvKiBJREJEZWxldGVSZWNvdmVyeS5zcWxpdGUzIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDQ3NzZGMUQyOThEODUwMDk3NDdFQiAv
KiBJREJEZWxldGVSZWNvdmVyeS5zcWxpdGUzICovOyB9OwogCQk1MTA0Nzc3MzFEMjk4REREMDA5
NzQ3RUIgLyogSURCRGVsZXRlUmVjb3Zlcnkuc3FsaXRlMy1zaG0gaW4gQ29weSBSZXNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwNDc3NzAxRDI5OEQ4NTAwOTc0
N0VCIC8qIElEQkRlbGV0ZVJlY292ZXJ5LnNxbGl0ZTMtc2htICovOyB9OwpAQCAtNDgxLDYgKzQ4
NSw5IEBACiAJCQlkc3RQYXRoID0gVGVzdFdlYktpdEFQSS5yZXNvdXJjZXM7CiAJCQlkc3RTdWJm
b2xkZXJTcGVjID0gNzsKIAkJCWZpbGVzID0gKAorCQkJCTQ2QzUxOUU2MUQzNTYzRkQwMERBQTUx
QSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAor
CQkJCTQ2QzUxOUU3MUQzNTYzRkQwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5s
b2NhbHN0b3JhZ2UgaW4gQ29weSBSZXNvdXJjZXMgKi8sCisJCQkJNDZDNTE5RTgxRDM1NjNGRDAw
REFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZS1zaG0gaW4gQ29w
eSBSZXNvdXJjZXMgKi8sCiAJCQkJNTFFNkE4OTYxRDJGMUNBNzAwQzAwNEI2IC8qIExvY2FsU3Rv
cmFnZUNsZWFyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJNTFBNTg3ODUxRDI3MzlF
MzAwNEJBOUFGIC8qIEluZGV4ZWREQkRhdGFiYXNlUHJvY2Vzc0tpbGwtMS5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCTUxMDQ3Nzc3MUQyOThFNzIwMDk3NDdFQiAvKiBJREJEZWxldGVS
ZWNvdmVyeS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApAQCAtNzAxLDYgKzcwOCwxMCBAQAog
CQk0NDBBMUQzODE0QTAxMDNBMDA4QTY2RjIgLyogVVJMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFVSTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ0MkJCRjY4MUM5MUNBRDkwMDE3MDg3RiAvKiBSZWZMb2dnZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVmTG9nZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDRBNjIyQzExNEEwRTJCNjAwNDg1MTVCIC8qIFdURlN0cmluZ1V0aWxpdGll
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXVEZTdHJpbmdVdGlsaXRpZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZDNTE5RDgxRDM1NUE3MzAwREFBNTFB
IC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2QzUxOUUyMUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VO
dWxsRW50cmllcy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXMuaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZDNTE5RTMx
RDM1NjI5NjAwREFBNTFBIC8qIExvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBh
dGggPSBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2U7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2QzUxOUU0MUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VO
dWxsRW50cmllcy5sb2NhbHN0b3JhZ2Utc2htICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9ICJMb2NhbFN0b3JhZ2VOdWxsRW50cmll
cy5sb2NhbHN0b3JhZ2Utc2htIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBG
NEIxOUFGN0JENjAwMkVCQUI1IC8qIFVzZXJNZWRpYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBVc2VyTWVkaWEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0QTQxMEY0RDE5QUY3QkVGMDAyRUJBQjUgLyogZ2V0VXNlck1lZGlhLmh0bWwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBnZXRVc2VyTWVkaWEuaHRtbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEJCNDE2MDExNjgxNUIyNjAwODI0MjM4IC8qIEpTV3JhcHBlckZvck5v
ZGVJbldlYkZyYW1lLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
SlNXcmFwcGVyRm9yTm9kZUluV2ViRnJhbWUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMTg3LDYgKzExOTgsNyBAQAogCQkJCTM3RDM2RUQ2MUFGNDJFQ0QwMEJBRjVEOSAvKiBM
b2FkQWx0ZXJuYXRlSFRNTFN0cmluZy5tbSAqLywKIAkJCQk1NzkwMUZBQzFDQUYxMkMyMDBFRDY0
RjkgLyogTG9hZEludmFsaWRVUkxSZXF1ZXN0Lm1tICovLAogCQkJCTUxRTZBODkyMUQyRjFCRUMw
MEMwMDRCNiAvKiBMb2NhbFN0b3JhZ2VDbGVhci5tbSAqLywKKwkJCQk0NkM1MTlEODFEMzU1QTcz
MDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubW0gKi8sCiAJCQkJNTFDRDFDNkEx
QjM4Q0UzNjAwMTQyQ0E1IC8qIE1vZGFsQWxlcnRzLm1tICovLAogCQkJCTFBQkMzREVEMTg5OUJF
NkQwMDRGMDYyNiAvKiBOYXZpZ2F0aW9uLm1tICovLAogCQkJCUNFQTZDRjIyMTlDQ0Y1QkQwMDY0
RjVBNyAvKiBPcGVuQW5kQ2xvc2VXaW5kb3cubW0gKi8sCkBAIC0xMzAwLDYgKzEzMTIsOSBAQAog
CQkJCTUxQjFFRTk0MUM4MEZBREQwMDY0RkI5OCAvKiBJbmRleGVkREJQZXJzaXN0ZW5jZS0xLmh0
bWwgKi8sCiAJCQkJNTFCMUVFOTUxQzgwRkFERDAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3Rl
bmNlLTIuaHRtbCAqLywKIAkJCQk1MUU2QTg5NTFEMkYxQzc3MDBDMDA0QjYgLyogTG9jYWxTdG9y
YWdlQ2xlYXIuaHRtbCAqLywKKwkJCQk0NkM1MTlFMjFEMzU2Mjk2MDBEQUE1MUEgLyogTG9jYWxT
dG9yYWdlTnVsbEVudHJpZXMuaHRtbCAqLywKKwkJCQk0NkM1MTlFMzFEMzU2Mjk2MDBEQUE1MUEg
LyogTG9jYWxTdG9yYWdlTnVsbEVudHJpZXMubG9jYWxzdG9yYWdlICovLAorCQkJCTQ2QzUxOUU0
MUQzNTYyOTYwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5sb2NhbHN0b3JhZ2Ut
c2htICovLAogCQkJCTUxNzE0RUIyMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQcm9jZXNzS2lsbElE
QkNsZWFudXAtMS5odG1sICovLAogCQkJCTUxNzE0RUIzMUNGOEM3NjEwMDQ3MjNDNCAvKiBXZWJQ
cm9jZXNzS2lsbElEQkNsZWFudXAtMi5odG1sICovLAogCQkJCTkzQ0ZBODY2MUNFQjlERTEwMDA1
NjVBOCAvKiBhdXRvZm9jdXNlZC10ZXh0LWlucHV0Lmh0bWwgKi8sCkBAIC0yMTY0LDYgKzIxNzks
NyBAQAogCQkJCTdDQ0U3RjBDMUE0MTFBRTYwMDQ0N0M0QyAvKiBQcml2YXRlQnJvd3NpbmdQdXNo
U3RhdGVOb0hpc3RvcnlDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VDODFB
NDExQTdFMDA0NDdDNEMgLyogUHVibGljU3VmZml4Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4
M0UwNTExRDBBNjQxODAwRkVCQ0YzIC8qIFBhcnNlZENvbnRlbnRSYW5nZS5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk0NkM1MTlEQTFEMzU1QUIyMDBEQUE1MUEgLyogTG9jYWxTdG9yYWdlTnVsbEVu
dHJpZXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzM5NjUwNjFDREQ3NEY5MDA5NERCQjggLyog
Q29sb3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdGMEQxQTQxMUFFNjAwNDQ3QzRDIC8q
IFJlbG9hZFBhZ2VBZnRlckNyYXNoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUM5MUE0
MTFBN0UwMDQ0N0M0QyAvKiBSZW5kZXJlZEltYWdlRnJvbURPTU5vZGUubW0gaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xv
Y2FsU3RvcmFnZU51bGxFbnRyaWVzLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4Nzhm
MzZhYzRjMWMyZGE2MTEwMWFjNWZhNGMwNmEyMDU3MzQ5NGUKLS0tIC9kZXYvbnVsbAorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50
cmllcy5odG1sCkBAIC0wLDAgKzEsNiBAQAorPHNjcmlwdD4KKword2luZG93LmxvY2FsU3RvcmFn
ZS5rZXkoMCk7Cit3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0
TWVzc2FnZSgnRE9ORScpOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3Rv
cmFnZSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFn
ZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjQxYjI1Yzc0OWVhMDQyZDYw
ZDMyMzVmODJjOWM3M2QzNTA4OTIwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMjI4OAp6Y21l
SSNGLXlaaDZiSkNqREpyRHRERl98Jk1nPCo7eU9ATTQxZGhiQzdqTyNeUGJzRHJINyQwTVpoalUm
ZzFhQlUKenhuRCMjNlFPfitiblduZUBWTkpRY2lpI1laamgqOVkzTyRSR3xFZGxXQlpKQWMwdDQj
PDVnfXx4ZVRpK3d3Rnp7CnoqOFJIUj9EWGYmNSNOanBqfG9xRnR+LUReMVJ3d2IydFdWPTVQJCMj
QU9IYWZLd3UqVT05YWJGYWIwVmtsPSpkRwp6IXFTWk5PMkxEXl50MkBIYEFTa1ZyPXhvX0JRMzhx
ckJScnFsSCFQaElPP2V8KEExWmckX3dOUFA0aS02JFhCc1gKelFMSElTbTBIPUBeRm5wcDx2U2hl
VDVSfW1WX3UjZ2l8Uis4PCYkIyEqSnNVQFMrXjxjZkJqelY9e1FxbitZMnROCnpfTSE5REkmVTRj
QDljI2JJUGM9YWRFSDJISlBIQzNmQip5XzAwOVU8MDBJenowMGJaYTBTR188MHVYPXoxUnd3YgpS
MnRXVj01UCQjI0FPTH1YMD45WkBOU149egoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTG9jYWxTdG9yYWdl
TnVsbEVudHJpZXMubG9jYWxzdG9yYWdlLXNobSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRyaWVzLmxvY2Fsc3RvcmFnZS1zaG0KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmU5YWMyODQ1ZWNhNmZlNmRhOGE2M2NkMDk2ZDljZjllMjRlY2UxMApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMzI3NjgKemNtZUl1QXI2MnIzPFhlVFNheVM2MD1aPU8tMHxrUDIm
ZnVAITZEdV56aUZDXjd3NTVNTik5aFFZVjNXazc5YTJQCnopJThnM0gzMCR5Mm9OQVpmQipwazFQ
Qmx5SyE1LU4wdDUmVUFWN2NzMFJqWEY1RmtLKzAwOUM3Mm9OQVpmQipwawp6MVBCbHlLITUtTjB0
NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWmZCKnBrMVBCbHlLITUtTjB0NSZVQVY3Y3MKdzBS
alhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS1OMHQ1JlVBVjdjczBSalhGNWNxP0A0ZGs1
YFF2ZCh9CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL0xvY2FsU3RvcmFnZU51bGxFbnRy
aWVzLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3ODdjNzE2MTdmOTZjNTE0M2E1YTU4NTA4MTQ0NzdlMWNmNmJk
ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJD
b2NvYS9Mb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbQpAQCAtMCwwICsxLDg3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpbXBvcnQgIlBsYXRmb3JtVXRpbGl0aWVzLmgi
CisjaW1wb3J0ICJUZXN0LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tQcm9jZXNzUG9vbFByaXZhdGUu
aD4KKyNpbXBvcnQgPFdlYktpdC9XS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaD4KKyNp
bXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgorI2ltcG9ydCA8
V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1Byb2Nlc3NQb29sQ29uZmlndXJh
dGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJTdHlsZVNoZWV0Lmg+CisjaW1wb3J0IDx3
dGYvUmV0YWluUHRyLmg+CisKKyNpZiBXS19BUElfRU5BQkxFRAorCitzdGF0aWMgYm9vbCByZWFk
eVRvQ29udGludWU7CisKK0BpbnRlcmZhY2UgTG9jYWxTdG9yYWdlTnVsbEVudHJpZXNNZXNzYWdl
SGFuZGxlciA6IE5TT2JqZWN0IDxXS1NjcmlwdE1lc3NhZ2VIYW5kbGVyPgorQGVuZAorCitAaW1w
bGVtZW50YXRpb24gTG9jYWxTdG9yYWdlTnVsbEVudHJpZXNNZXNzYWdlSGFuZGxlcgorCistICh2
b2lkKXVzZXJDb250ZW50Q29udHJvbGxlcjooV0tVc2VyQ29udGVudENvbnRyb2xsZXIgKil1c2Vy
Q29udGVudENvbnRyb2xsZXIgZGlkUmVjZWl2ZVNjcmlwdE1lc3NhZ2U6KFdLU2NyaXB0TWVzc2Fn
ZSAqKW1lc3NhZ2UKK3sKKyAgICByZWFkeVRvQ29udGludWUgPSB0cnVlOworfQorCitAZW5kCisK
K1RFU1QoV0tXZWJWaWV3LCBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcykKK3sKKyAgICBSZXRhaW5Q
dHI8TG9jYWxTdG9yYWdlTnVsbEVudHJpZXNNZXNzYWdlSGFuZGxlcj4gaGFuZGxlciA9IGFkb3B0
TlMoW1tMb2NhbFN0b3JhZ2VOdWxsRW50cmllc01lc3NhZ2VIYW5kbGVyIGFsbG9jXSBpbml0XSk7
CisgICAgUmV0YWluUHRyPFdLV2ViVmlld0NvbmZpZ3VyYXRpb24+IGNvbmZpZ3VyYXRpb24gPSBh
ZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFtbY29u
ZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIGFkZFNjcmlwdE1lc3NhZ2VIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgbmFtZTpAInRlc3RIYW5kbGVyIl07CisKKyAgICBbY29uZmlndXJhdGlv
biBfc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHM6WUVTXTsKKworICAgIC8vIENv
cHkgdGhlIGluY29uc2lzdGVudCBkYXRhYmFzZSBmaWxlcyB0byB0aGUgTG9jYWxTdG9yYWdlIGRp
cmVjdG9yeQorICAgIE5TVVJMICp1cmwxID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JS
ZXNvdXJjZTpAIkxvY2FsU3RvcmFnZU51bGxFbnRyaWVzIiB3aXRoRXh0ZW5zaW9uOkAibG9jYWxz
dG9yYWdlIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5T
VVJMICp1cmwyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAIkxvY2Fs
U3RvcmFnZU51bGxFbnRyaWVzIiB3aXRoRXh0ZW5zaW9uOkAibG9jYWxzdG9yYWdlLXNobSIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIE5TVVJMICp0YXJn
ZXRVUkwgPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltAIn4vTGlicmFyeS9XZWJLaXQvVGVzdFdl
YktpdEFQSS9XZWJzaXRlRGF0YS9Mb2NhbFN0b3JhZ2UvIiBzdHJpbmdCeUV4cGFuZGluZ1RpbGRl
SW5QYXRoXV07CisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjcmVhdGVEaXJl
Y3RvcnlBdFVSTDp0YXJnZXRVUkwgd2l0aEludGVybWVkaWF0ZURpcmVjdG9yaWVzOllFUyBhdHRy
aWJ1dGVzOm5pbCBlcnJvcjpuaWxdOworCisgICAgW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5h
Z2VyXSBjb3B5SXRlbUF0VVJMOnVybDEgdG9VUkw6W3RhcmdldFVSTCBVUkxCeUFwcGVuZGluZ1Bh
dGhDb21wb25lbnQ6QCJmaWxlX18wLmxvY2Fsc3RvcmFnZSJdIGVycm9yOm5pbF07CisgICAgW1tO
U0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBjb3B5SXRlbUF0VVJMOnVybDIgdG9VUkw6W3Rh
cmdldFVSTCBVUkxCeUFwcGVuZGluZ1BhdGhDb21wb25lbnQ6QCJmaWxlX18wLmxvY2Fsc3RvcmFn
ZS1zaG0iXSBlcnJvcjpuaWxdOworCisgICAgUmV0YWluUHRyPFdLV2ViVmlldz4gd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CisKKyAgICBO
U1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltbTlNC
dW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJMb2NhbFN0b3JhZ2VOdWxsRW50cmll
cyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl1dOworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OnJlcXVlc3RdOworCisgICAgcmVh
ZHlUb0NvbnRpbnVlID0gZmFsc2U7CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZyZWFk
eVRvQ29udGludWUpOworCisgICAgd2ViVmlldyA9IG5pbDsKKworICAgIC8vIENsZWFuIHVwLgor
ICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3ZlSXRlbUF0VVJMOlt0YXJn
ZXRVUkwgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9fMC5sb2NhbHN0b3JhZ2Ui
XSBlcnJvcjpuaWxdOworICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3Zl
SXRlbUF0VVJMOlt0YXJnZXRVUkwgVVJMQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiZmlsZV9f
MC5sb2NhbHN0b3JhZ2Utc2htIl0gZXJyb3I6bmlsXTsKK30KKworI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>