<?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>189590</bug_id>
          
          <creation_ts>2018-09-13 10:34:56 -0700</creation_ts>
          <short_desc>Regression(PSON): setting window.opener to null allows process swapping in cases that are not web-compatible</short_desc>
          <delta_ts>2018-09-18 13:47:57 -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>
          <dependson>189710</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1459419</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 10:34:56 -0700</bug_when>
    <thetext>Setting window.opener to null allows process swapping in cases that are not web-compatible, because the opener may still have a handle to the WindowProxy after calling window.open().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459421</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-13 10:35:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/44422725&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459426</commentid>
    <comment_count>2</comment_count>
      <attachid>349680</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 10:42:57 -0700</bug_when>
    <thetext>Created attachment 349680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459442</commentid>
    <comment_count>3</comment_count>
      <attachid>349680</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2018-09-13 11:08:54 -0700</bug_when>
    <thetext>Comment on attachment 349680
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459503</commentid>
    <comment_count>4</comment_count>
      <attachid>349695</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 13:49:25 -0700</bug_when>
    <thetext>Created attachment 349695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459512</commentid>
    <comment_count>5</comment_count>
      <attachid>349698</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 14:01:21 -0700</bug_when>
    <thetext>Created attachment 349698
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459516</commentid>
    <comment_count>6</comment_count>
      <attachid>349701</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 14:06:07 -0700</bug_when>
    <thetext>Created attachment 349701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459557</commentid>
    <comment_count>7</comment_count>
      <attachid>349701</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 15:38:30 -0700</bug_when>
    <thetext>Comment on attachment 349701
Patch

Clearing flags on attachment: 349701

Committed r235994: &lt;https://trac.webkit.org/changeset/235994&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459558</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-13 15:38:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460699</commentid>
    <comment_count>9</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2018-09-18 13:24:50 -0700</bug_when>
    <thetext>The new test added in: https://trac.webkit.org/changeset/235994/webkit

is a flakey timeout: http/tests/navigation/window-open-cross-origin-then-navigated-back-same-origin.html

issue is occurring on WK1 Mac

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=http%2Ftests%2Fnavigation%2Fwindow-open-cross-origin-then-navigated-back-same-origin.html

Diff:
https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK1%20(Tests)/r236145%20(9582)/http/tests/navigation/window-open-cross-origin-then-navigated-back-same-origin-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460705</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-09-18 13:30:58 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #9)
&gt; The new test added in: https://trac.webkit.org/changeset/235994/webkit
&gt; 
&gt; is a flakey timeout:
&gt; http/tests/navigation/window-open-cross-origin-then-navigated-back-same-
&gt; origin.html
&gt; 
&gt; issue is occurring on WK1 Mac
&gt; 
&gt; History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=http%2Ftests%2Fnavigation%2Fwindow-open-cross-
&gt; origin-then-navigated-back-same-origin.html
&gt; 
&gt; Diff:
&gt; https://build.webkit.org/results/Apple%20Sierra%20Debug%20WK1%20(Tests)/
&gt; r236145%20(9582)/http/tests/navigation/window-open-cross-origin-then-
&gt; navigated-back-same-origin-pretty-diff.html

Will investigate, thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349680</attachid>
            <date>2018-09-13 10:42:57 -0700</date>
            <delta_ts>2018-09-13 13:49:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189590-20180913104257.patch</filename>
            <type>text/plain</type>
            <size>18136</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAyNGY2YjczZjM3MWFi
MzNkYjc4NmM3MTExMWM2YTQ3YTc3NGY0MC4uODRkOTE2M2VjNTc3NzJhMzRjNDY2N2QyZjI0ZWZh
OTU4YmU1NjY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihQU09OKTog
c2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4g
Y2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFNldCBhIGZsYWcgb24gdGhlIG5hdmlnYXRpb24gYWN0aW9uIHRvIGluZGljYXRlIGlmIHRo
ZSBwYWdlIHdhcyBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1v
cmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIHBhZ2Uv
UGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0T3BlbmVkVmlhV2luZG93
T3BlbldpdGhPcGVuZXIpOgorCiAyMDE4LTA5LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93
LWRvbS9mb3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbCBoaXRzIGFzc2VydGlvbgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBiMzU3OGY5Mzk0ZTgzNTg3ZWM1Mzg3ZGUxZjA3N2RhNDg3OTZkYThhLi5hZTllNmY1
MzgzZGMyZGViMGFmNGE0Mzg0OGRlOWI5ZjRlODNlYjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDE4LTA5LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVncmVzc2lvbihQU09OKTogc2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dz
IHByb2Nlc3Mgc3dhcHBpbmcgaW4gY2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIHNjcmlwdCBjYWxscyB3aW5kb3cub3BlbigpIHdp
dGhvdXQgJ25vb3BlbmVyJyBhbmQgdGhlIG5ld2x5IG5hdmlnYXRlZCB3aW5kb3cgZ2V0cyBuYXZp
Z2F0ZWQgY3Jvc3Mtc2l0ZSwKKyAgICAgICAgd2UgYXJlIGN1cnJlbnRseSB1bmFibGUgdG8gcHJv
Y2Vzcy1zd2FwIGJlY2F1c2UgdGhlIG9wZW5lciBoYXMgYSBXaW5kb3dQcm94eSBoYW5kbGUgdG8g
dGhpcyBuZXcgV2luZG93IGFuZAorICAgICAgICBtYXkgaW50ZXJhY3Qgd2l0aCBpdCAod2hpY2gg
d2UgY3VycmVudGx5IGRvIG5vdCBzdXBwb3J0IGNyb3NzLXByb2Nlc3MpLiBXZSB3ZXJlIGRlYWxp
bmcgd2l0aCB0aGlzIGJ5IG5vdAorICAgICAgICBwcm9jZXNzLXN3YXBwaW5nIGlmIHdpbmRvdy5v
cGVuZXIgaXMgbm90IG51bGwuIFRoaXMgd29ya3MgbW9zdCBvZiB0aGUgdGltZSBidXQgaXMgbm90
IHN1ZmZpY2llbnQgYmVjYXVzZSB0aGUKKyAgICAgICAgb3BlbmVyIG1heSBnZXQgbnVsbGVkIG91
dCwgd2hpbGUgdGhlIG9wZW5lciBzdGlsbCBoYXMgYSB2YWxpZCBXaW5kb3dQcm94eSBoYW5kbGUg
dG8gaXRzIG9wZW5lZS4KKworICAgICAgICBUaGVyZWZvcmUsIEkgcmVwbGFjZWQgdGhlIHdpbmRv
dy5vcGVuZXIgY2hlY2sgd2l0aCBhIGNoZWNrIGZvciBhIGZsYWcgaW5kaWNhdGluZyBpZiB0aGUg
ZnJhbWUgd2FzIG9wZW5lZCB2aWEKKyAgICAgICAgd2luZG93Lm9wZW4oKSB3aXRob3V0ICdub29v
cGVuZXInLgorCisgICAgICAgICogU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGE6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhOjpkZWNvZGUpOgorICAgICAgICAqIFNo
YXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
TmF2aWdhdGlvbi5oOgorICAgICAgICAoQVBJOjpOYXZpZ2F0aW9uOjpvcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lciBjb25zdCk6CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246OnNldE9wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cHJvY2Vzc0Zvck5hdmlnYXRpb25J
bnRlcm5hbCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorCiAyMDE4LTA5LTEyICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBDb21wbGV0
ZSBzdXBwb3J0IGZvciBQYXN0ZSBhcyBRdW90YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXIuY3BwCmluZGV4IDZhYjY4NTUxZjg1ODRkM2ZhZGRiYmZiODE5OGM4ZDVkNWEyZjA4NTcu
LjIwYTFmNzg0ZjBkMDRhMmVjMTk2MmNlZTUwM2UwODQ3ZjgyMjVhMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTM2NCw2ICsxMzY0LDggQEAgdm9pZCBGcmFtZUxv
YWRlcjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3Qg
U3RyaW5nJiByZWYKIAogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uIHsgZnJhbWVMb2FkUmVx
dWVzdC5yZXF1ZXN0ZXIoKSwgcmVxdWVzdCwgZnJhbWVMb2FkUmVxdWVzdC5pbml0aWF0ZWRCeU1h
aW5GcmFtZSgpLCBuZXdMb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQsIGZyYW1lTG9h
ZFJlcXVlc3Quc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBmcmFtZUxvYWRSZXF1ZXN0
LmRvd25sb2FkQXR0cmlidXRlKCkgfTsKICAgICBhY3Rpb24uc2V0SXNDcm9zc09yaWdpbldpbmRv
d09wZW5OYXZpZ2F0aW9uKGZyYW1lTG9hZFJlcXVlc3QuaXNDcm9zc09yaWdpbldpbmRvd09wZW5O
YXZpZ2F0aW9uKCkpOworICAgIGlmIChtX2ZyYW1lLnBhZ2UoKSAmJiBtX2ZyYW1lLnBhZ2UoKS0+
b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSkKKyAgICAgICAgYWN0aW9uLnNldE9wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKCk7CiAgICAgYWN0aW9uLnNldEhhc09wZW5lZEZyYW1l
cyghbV9vcGVuZWRGcmFtZXMuaXNFbXB0eSgpKTsKICAgICBpZiAoYXV0byogb3BlbmVyID0gdGhp
cy0+b3BlbmVyKCkpIHsKICAgICAgICAgYXV0byBwYWdlSUQgPSBvcGVuZXItPmxvYWRlcigpLmNs
aWVudCgpLnBhZ2VJRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25BY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgK
aW5kZXggNzQwZDUxMzk0ZWI3OGI5ZDEzNzU0MjFkZjNmMGNiNDFmMzA2YjEyYS4uOTViY2UyMjli
YzgxNTc5ODI1ZTg5YmZmMjg4YTIzMGFiM2JmODE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TmF2aWdhdGlvbkFjdGlvbi5oCkBAIC0xMjYsNiArMTI2LDkgQEAgcHVibGljOgogICAgIGJvb2wg
aGFzT3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNPcGVuZWRGcmFtZXM7IH0KICAg
ICB2b2lkIHNldEhhc09wZW5lZEZyYW1lcyhib29sIHZhbHVlKSB7IG1faGFzT3BlbmVkRnJhbWVz
ID0gdmFsdWU7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSBj
b25zdCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9CisgICAgdm9p
ZCBzZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0VGFyZ2V0QmFja0ZvcndhcmRJ
dGVtKEhpc3RvcnlJdGVtJik7CiAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyPiYgdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpIGNvbnN0IHsg
cmV0dXJuIG1fdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsgfQogCkBAIC0xNDQsNiAr
MTQ3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9u
OwogICAgIGJvb2wgbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24geyBmYWxzZSB9
OwogICAgIGJvb2wgbV9oYXNPcGVuZWRGcmFtZXMgeyBmYWxzZSB9OworICAgIGJvb2wgbV9vcGVu
ZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxQ
YWdlSURBbmRGcmFtZUlEUGFpcj4gbV9vcGVuZXI7CiAgICAgc3RkOjpvcHRpb25hbDxCYWNrRm9y
d2FyZEl0ZW1JZGVudGlmaWVyPiBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDA0ZmMzMDU0OWIyNmIzMzYxYWJlMTZl
YWQ5NGU0NDkyOWEzODZkMGMuLmZiNjg1MDdkYjE4MWY5NjcyMGIyZDk4MTgwNGMzNDQ1NzU2ZmFm
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIyNjQsOCArMjI2NCwxMCBAQCBF
eGNlcHRpb25PcjxSZWZQdHI8RnJhbWU+PiBET01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBT
dHJpbmcmIHVybFN0cmluZywgY29ucwogICAgIGlmICghbmV3RnJhbWUpCiAgICAgICAgIHJldHVy
biBSZWZQdHI8RnJhbWU+IHsgbnVsbHB0ciB9OwogCi0gICAgaWYgKCF3aW5kb3dGZWF0dXJlcy5u
b29wZW5lcikKKyAgICBpZiAoIXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKSB7CiAgICAgICAgIG5l
d0ZyYW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm9wZW5lckZyYW1lKTsKKyAgICAgICAgbmV3RnJh
bWUtPnBhZ2UoKS0+c2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKTsKKyAgICB9CiAg
ICAgbmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKIAogICAgIGlmIChuZXdGcmFt
ZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmlzSW5zZWN1cmVTY3JpcHRBY2Nlc3MoYWN0aXZl
V2luZG93LCBjb21wbGV0ZWRVUkwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA2YzFkNDMyZjlkYTI1Y2Vk
ODJiZTM1OGI5OTE5Nzg2Y2JmOWY2MmMwLi4yNGI0MWRlM2Q2MWZhMTY4MTg4MjFlZDMwY2Q3ZTdi
OTRmNjgwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjAyLDYgKzIwMiw5IEBAIHB1YmxpYzoKICAg
ICBib29sIG9wZW5lZEJ5RE9NKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRPcGVuZWRCeURPTSgpOwog
CisgICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJu
IG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7IH0KKyAgICB2b2lkIHNldE9wZW5lZFZp
YVdpbmRvd09wZW5XaXRoT3BlbmVyKCkgeyBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
ID0gdHJ1ZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnb1RvSXRlbShIaXN0b3J5SXRl
bSYsIEZyYW1lTG9hZFR5cGUsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHNldEdyb3VwTmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTc1MCw2
ICs3NTMsNyBAQCBwcml2YXRlOgogICAgIGludCBtX3N1YmZyYW1lQ291bnQgeyAwIH07CiAgICAg
U3RyaW5nIG1fZ3JvdXBOYW1lOwogICAgIGJvb2wgbV9vcGVuZWRCeURPTSB7IGZhbHNlIH07Cisg
ICAgYm9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsKIAogICAg
IGJvb2wgbV90YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMgeyB0cnVlIH07CiAgICAgYm9vbCBt
X2RlZmVyc0xvYWRpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdh
dGlvbkFjdGlvbkRhdGEuY3BwCmluZGV4IDdmNTJmNDFiNDcwMWFkMTZjNzYzZjlmNGI0MGZlNzQz
YWJlN2YzNDguLjk1NDk2ZGFiMGM3MWZjNTA4OTc1ZWU3ZTBmMzZjMDBjNjU5YzhkNjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAKQEAgLTQ4LDYg
KzQ4LDcgQEAgdm9pZCBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IHRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlv
bjsKICAgICBlbmNvZGVyIDw8IGlzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbjsKICAg
ICBlbmNvZGVyIDw8IGhhc09wZW5lZEZyYW1lczsKKyAgICBlbmNvZGVyIDw8IG9wZW5lZFZpYVdp
bmRvd09wZW5XaXRoT3BlbmVyOwogICAgIGVuY29kZXIgPDwgb3BlbmVyOwogICAgIGVuY29kZXIg
PDwgdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKIH0KQEAgLTExMyw2ICsxMTQsMTEg
QEAgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9uQWN0aW9uRGF0YT4gTmF2aWdhdGlvbkFjdGlvbkRh
dGE6OmRlY29kZShJUEM6OkRlY29kZXImIGQKICAgICBpZiAoIWhhc09wZW5lZEZyYW1lcykKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb3Bl
bmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7CisgICAgZGVjb2RlciA+PiBvcGVuZWRWaWFXaW5k
b3dPcGVuV2l0aE9wZW5lcjsKKyAgICBpZiAoIW9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6
Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+Pj4gb3BlbmVyOwogICAgIGRl
Y29kZXIgPj4gb3BlbmVyOwogICAgIGlmICghb3BlbmVyKQpAQCAtMTI1LDcgKzEzMSw3IEBAIHN0
ZDo6b3B0aW9uYWw8TmF2aWdhdGlvbkFjdGlvbkRhdGE+IE5hdmlnYXRpb25BY3Rpb25EYXRhOjpk
ZWNvZGUoSVBDOjpEZWNvZGVyJiBkCiAgICAgICAgIAogICAgIHJldHVybiB7eyBXVEZNb3ZlKG5h
dmlnYXRpb25UeXBlKSwgV1RGTW92ZShtb2RpZmllcnMpLCBXVEZNb3ZlKG1vdXNlQnV0dG9uKSwg
V1RGTW92ZShzeW50aGV0aWNDbGlja1R5cGUpLCBXVEZNb3ZlKCp1c2VyR2VzdHVyZVRva2VuSWRl
bnRpZmllciksCiAgICAgICAgIFdURk1vdmUoKmNhbkhhbmRsZVJlcXVlc3QpLCBXVEZNb3ZlKHNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpLCBXVEZNb3ZlKCpkb3dubG9hZEF0dHJpYnV0ZSks
IFdURk1vdmUoY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyksCi0gICAgICAgIFdU
Rk1vdmUoKmlzUmVkaXJlY3QpLCAqdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uLCAqaXNDcm9z
c09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uLCAqaGFzT3BlbmVkRnJhbWVzLCBXVEZNb3ZlKCpv
cGVuZXIpLCBXVEZNb3ZlKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSB9fTsKKyAg
ICAgICAgV1RGTW92ZSgqaXNSZWRpcmVjdCksICp0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24s
ICppc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24sICpoYXNPcGVuZWRGcmFtZXMsICpv
cGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciwgV1RGTW92ZSgqb3BlbmVyKSwgV1RGTW92ZSgq
dGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlv
bkRhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKaW5k
ZXggMDlkYjU3NTY0MWY2YmMyNjM2Yjc2YmMyOGM3NTA5MGUzNDAxYTA0Ni4uNzkwMDhkODQ1NjE5
YWY2MTIyNzU0YTMxZjhkYjRiNGE5NjRhMWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9O
YXZpZ2F0aW9uQWN0aW9uRGF0YS5oCkBAIC01NCw2ICs1NCw3IEBAIHN0cnVjdCBOYXZpZ2F0aW9u
QWN0aW9uRGF0YSB7CiAgICAgYm9vbCB0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24geyBmYWxz
ZSB9OwogICAgIGJvb2wgaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uIHsgZmFsc2Ug
fTsKICAgICBib29sIGhhc09wZW5lZEZyYW1lcyB7IGZhbHNlIH07CisgICAgYm9vbCBvcGVuZWRW
aWFXaW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6
OnBhaXI8dWludDY0X3QsIHVpbnQ2NF90Pj4gb3BlbmVyOwogICAgIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRl
bnRpZmllcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
TmF2aWdhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24u
aAppbmRleCAwZjk1ZmM1ZjliMjFkMjVlNjEwZmE4MGYyM2NjMDQwNWQ1YzUzZjMyLi5hYmQ4NWM3
M2ViYTY5OTkxNzEzZjg4MjJjZjMxNjU1MzI1NWE3YmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKQEAgLTk0LDYgKzk0LDkgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0SGFzT3BlbmVkRnJhbWVzKGJvb2wgdmFsdWUpIHsgbV9oYXNPcGVuZWRGcmFtZXMg
PSB2YWx1ZTsgfQogICAgIGJvb2wgaGFzT3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNPcGVuZWRGcmFtZXM7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIoKSBjb25zdCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9Cisg
ICAgdm9pZCBzZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0T3BlbmVyKGNvbnN0
IHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4+JiBvcGVuZXIpIHsg
bV9vcGVuZXIgPSBvcGVuZXI7IH0KICAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1
aW50NjRfdCwgdWludDY0X3Q+PiYgb3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZXI7IH0K
IApAQCAtMTIxLDYgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RyZWF0QXNTYW1lT3Jp
Z2luTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dP
cGVuTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc09wZW5lZEZyYW1lcyB7IGZh
bHNlIH07CisgICAgYm9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2Ug
fTsKICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+PiBtX29w
ZW5lcjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IDc5ZGNjNTk4MDAzOWRjYTIzOTg2OWQ3N2YxMTI4N2I3YWUxYTFhZDUuLmNhYmMzYmNjMGJiZDQ0
YjAyMzdkM2E3NjM0NzMxNDJhYmFjYjg4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtNDAyMCw2ICs0MDIwLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2Vi
Q28KICAgICBuYXZpZ2F0aW9uLT5zZXRUcmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24obmF2aWdh
dGlvbkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0
aW9uLT5zZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24obmF2aWdhdGlvbkFjdGlv
bkRhdGEuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0aW9u
LT5zZXRIYXNPcGVuZWRGcmFtZXMobmF2aWdhdGlvbkFjdGlvbkRhdGEuaGFzT3BlbmVkRnJhbWVz
KTsKKyAgICBpZiAobmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIpCisgICAgICAgIG5hdmlnYXRpb24tPnNldE9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3Bl
bmVyKCk7CiAgICAgbmF2aWdhdGlvbi0+c2V0T3BlbmVyKG5hdmlnYXRpb25BY3Rpb25EYXRhLm9w
ZW5lcik7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggMDE2YjE4NGNmOTEyMGFmNGI5MzBjZTg1
OWVlMmViNzkzZDJjOTZiZS4uMDE2MTFhODgwYTJjNzVhM2JiMWJmOTFkMjQ1Y2Q2ZjhmMjcxNzVm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjE0
Miw5ICsyMTQyLDExIEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9j
ZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZU5ld1dlYlByb2Nlc3MocGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkpOwogICAgIH0KIAotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBo
YXMgYW4gb3BlbmVyLgotICAgIGlmIChuYXZpZ2F0aW9uLm9wZW5lcigpKQorICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMgYmVlbiBv
cGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgorICAgIC8vIFRoZSBp
c3N1ZSBpcyB0aGF0IHRoZSBvcGVuZXIgaGFzIGEgaGFuZGxlIHRvIHRoZSBXaW5kb3dQcm94eS4K
KyAgICBpZiAobmF2aWdhdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpKQogICAg
ICAgICByZXR1cm4gcGFnZS5wcm9jZXNzKCk7CisgICAgQVNTRVJUKCFuYXZpZ2F0aW9uLm9wZW5l
cik7CiAKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHN1cHBvcnQgcHJvY2VzcyBzd2FwIHdoZW4g
YSB3aW5kb3cgaGFzIG9wZW5lZCBvdGhlciB3aW5kb3dzIHZpYSB3aW5kb3cub3Blbi4KICAgICBp
ZiAobmF2aWdhdGlvbi5oYXNPcGVuZWRGcmFtZXMoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwCmluZGV4IDM1MDMwNzIwMjU1MDFiZjU2YjBlYmZmYmFiNmMyNWMxODQ5MDJhMTkuLjVi
MWYzN2E3OWVjYzJjODMwYzMzNWI2ZDFhMDQ5ZjM2MjY3NDQ1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcApAQCAtODY4LDYgKzg2OCw3IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJD
bGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBOYXZp
Z2F0CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9u
ID0gbmF2aWdhdGlvbkFjdGlvbi50cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24oKTsKICAgICBu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24gPSBu
YXZpZ2F0aW9uQWN0aW9uLmlzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbigpOwogICAg
IG5hdmlnYXRpb25BY3Rpb25EYXRhLmhhc09wZW5lZEZyYW1lcyA9IG5hdmlnYXRpb25BY3Rpb24u
aGFzT3BlbmVkRnJhbWVzKCk7CisgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVkVmlhV2lu
ZG93T3BlbldpdGhPcGVuZXIgPSBuYXZpZ2F0aW9uQWN0aW9uLm9wZW5lZFZpYVdpbmRvd09wZW5X
aXRoT3BlbmVyKCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVyID0gbmF2aWdhdGlv
bkFjdGlvbi5vcGVuZXIoKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS50YXJnZXRCYWNrRm9y
d2FyZEl0ZW1JZGVudGlmaWVyID0gbmF2aWdhdGlvbkFjdGlvbi50YXJnZXRCYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MGMxZGFhZDExZDZlOGU1NWFiYWUzYjUzMjFlNjQ3
YWEwNTE5M2I0Li45ODZlMGQ2NzQ4YmEwNzJlZDljYWNkOGM2ZDJlNmJlZDU2N2JjNDdlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pOiBzZXR0aW5nIHdpbmRvdy5vcGVuZXIg
dG8gbnVsbCBhbGxvd3MgcHJvY2VzcyBzd2FwcGluZyBpbiBjYXNlcyB0aGF0IGFyZSBub3Qgd2Vi
LWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4OTU5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ0MjI3MjU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGNv
dmVyYWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZp
Z2F0ZS1oZWxwZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3dpbmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2lu
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dp
bmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLmh0
bWw6IEFkZGVkLgorCiAyMDE4LTA5LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2hhZG93LWRvbS9m
b3JtLWNvbnRyb2wtZm9ybS1hdHRyaWJ1dGUuaHRtbCBoaXRzIGFzc2VydGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0ZS1o
ZWxwZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMv
bmF2aWdhdGUtaGVscGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZjOWU2ZWNkYmIwYzM4OWVhZjBlNzA4
Y2NhMzhjNDE4NjNiYjc2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK29ubWVzc2Fn
ZSA9IChtc2cpID0+IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgd2luZG93Lmxv
Y2F0aW9uID0gbXNnLmRhdGEubmF2aWdhdGU7CisgICAgfSwgMCk7Cit9OworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1v
cmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dp
bmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MDlhYjNmZmM1MzNlOTE2YWFlMDc1OGE4MWMxYWE2ODVl
YWYyZjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL3dpbmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3Jp
Z2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHByb2Nlc3Mgc3dh
cCBvbiBuYXZpZ2F0aW9uIGRvZXMgbm90IGJyZWFrIG5hdmlnYXRpbmcgYmFjayBjcm9zcy1vcmln
aW4gYSBjcm9zcy1vcmlnaW4gd2luZG93LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworUEFTUyB3LmxvY2F0aW9uLmhyZWYgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0
aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJh
Y2stc2FtZS1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93
aW5kb3ctb3Blbi1jcm9zcy1vcmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmViY2JlYThkNGM1NTBlNzY4OGU0N2RlZjU3NDMxNTUyZDNkYTc1MTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2lu
ZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4uaHRt
bApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvY2VzcyBzd2Fw
IG9uIG5hdmlnYXRpb24gZG9lcyBub3QgYnJlYWsgbmF2aWdhdGluZyBiYWNrIGNyb3NzLW9yaWdp
biBhIGNyb3NzLW9yaWdpbiB3aW5kb3cuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsK
KworZnVuY3Rpb24gd2FzTmF2aWdhdGVkU2FtZU9yaWdpbigpCit7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmln
YXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9
CisKK2Z1bmN0aW9uIHdhc05hdmlnYXRlZENyb3NzT3JpZ2luKCkKK3sKKyAgICAvLyBOYXZpZ2F0
ZSBiYWNrIHNhbWUgb3JpZ2luLgorICAgIHcucG9zdE1lc3NhZ2UoeyBuYXZpZ2F0ZTogImh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIgfSwg
IioiKTsKKyAgICBoYW5kbGUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICB3Lm5hbWU7CisgICAgICAgICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7Cisg
ICAgICAgICAgICB3YXNOYXZpZ2F0ZWRTYW1lT3JpZ2luKCk7CisgICAgICAgIH0gY2F0Y2goZSkg
eworICAgICAgICB9CisgICAgfSwgMTApOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAg
ICB3ID0gd2luZG93Lm9wZW4oKTsKKyAgICB3Lm9wZW5lciA9IG51bGw7CisgICAgdy5sb2NhdGlv
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUt
aGVscGVyLmh0bWwiOworICAgIGhhbmRsZSA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIHcubmFtZTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAg
ICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7CisgICAgICAgICAgICB3YXNOYXZpZ2F0ZWRDcm9z
c09yaWdpbigpOworICAgICAgICB9CisgICAgfSwgMTApOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349695</attachid>
            <date>2018-09-13 13:49:25 -0700</date>
            <delta_ts>2018-09-13 14:01:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189590-20180913134924.patch</filename>
            <type>text/plain</type>
            <size>18244</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGIyYTk1ZmNjNGEyYjRk
Y2Y1YzI3N2Q1Y2NjZTE0NWQ0ZTRmZGMxZC4uY2FjYjI1NzFkMWJiNDA0ZmY4OGRhNjFkNTE1OTg3
Mzk0M2IwY2YwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihQU09OKTog
c2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4g
Y2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAg
ICAgIFNldCBhIGZsYWcgb24gdGhlIG5hdmlnYXRpb24gYWN0aW9uIHRvIGluZGljYXRlIGlmIHRo
ZSBwYWdlIHdhcyBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1v
cmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIHBhZ2Uv
UGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0T3BlbmVkVmlhV2luZG93
T3BlbldpdGhPcGVuZXIpOgorCiAyMDE4LTA5LTEzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgd29ya2Fyb3VuZCBmb3IgZnJp
ZW5kIGNsYXNzIExhenlOZXZlckRlc3Ryb3llZDxYPiBzdGF0ZW1lbnRzIGZvciBNU1ZDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ3ZDU3ZmY0ZjRmZGY0Yjc5MWU2YjJkM2Y4OTNmYzgwNTk2MDIwYjUuLmE0ZTUzYmEy
OTBmMWMxYmFlNmMzMmEwYTVjMDhkMTk2NDZjMDkwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTgtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBSZWdyZXNzaW9uKFBTT04pOiBzZXR0aW5nIHdpbmRvdy5vcGVuZXIgdG8gbnVsbCBhbGxvd3Mg
cHJvY2VzcyBzd2FwcGluZyBpbiBjYXNlcyB0aGF0IGFyZSBub3Qgd2ViLWNvbXBhdGlibGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTU5MAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQ0MjI3MjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgSWYgc2NyaXB0IGNhbGxzIHdpbmRvdy5vcGVuKCkgd2l0
aG91dCAnbm9vcGVuZXInIGFuZCB0aGUgbmV3bHkgbmF2aWdhdGVkIHdpbmRvdyBnZXRzIG5hdmln
YXRlZCBjcm9zcy1zaXRlLAorICAgICAgICB3ZSBhcmUgY3VycmVudGx5IHVuYWJsZSB0byBwcm9j
ZXNzLXN3YXAgYmVjYXVzZSB0aGUgb3BlbmVyIGhhcyBhIFdpbmRvd1Byb3h5IGhhbmRsZSB0byB0
aGlzIG5ldyBXaW5kb3cgYW5kCisgICAgICAgIG1heSBpbnRlcmFjdCB3aXRoIGl0ICh3aGljaCB3
ZSBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQgY3Jvc3MtcHJvY2VzcykuIFdlIHdlcmUgZGVhbGlu
ZyB3aXRoIHRoaXMgYnkgbm90CisgICAgICAgIHByb2Nlc3Mtc3dhcHBpbmcgaWYgd2luZG93Lm9w
ZW5lciBpcyBub3QgbnVsbC4gVGhpcyB3b3JrcyBtb3N0IG9mIHRoZSB0aW1lIGJ1dCBpcyBub3Qg
c3VmZmljaWVudCBiZWNhdXNlIHRoZQorICAgICAgICBvcGVuZXIgbWF5IGdldCBudWxsZWQgb3V0
LCB3aGlsZSB0aGUgb3BlbmVyIHN0aWxsIGhhcyBhIHZhbGlkIFdpbmRvd1Byb3h5IGhhbmRsZSB0
byBpdHMgb3BlbmVlLgorCisgICAgICAgIFRoZXJlZm9yZSwgSSByZXBsYWNlZCB0aGUgd2luZG93
Lm9wZW5lciBjaGVjayB3aXRoIGEgY2hlY2sgZm9yIGEgZmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBm
cmFtZSB3YXMgb3BlbmVkIHZpYQorICAgICAgICB3aW5kb3cub3BlbigpIHdpdGhvdXQgJ25vb29w
ZW5lcicuCisKKyAgICAgICAgKiBTaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGE6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElO
YXZpZ2F0aW9uLmg6CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246Om9wZW5lZFZpYVdpbmRvd09w
ZW5XaXRoT3BlbmVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6c2V0T3BlbmVk
VmlhV2luZG93T3BlbldpdGhPcGVuZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbklu
dGVybmFsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisKIDIwMTgtMDktMTMgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIHRvIGhlbHAgZGVidWcgUFNPTiBpc3N1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCmluZGV4IDZhYjY4NTUxZjg1ODRkM2ZhZGRiYmZiODE5OGM4ZDVkNWEyZjA4NTcuLjIw
YTFmNzg0ZjBkMDRhMmVjMTk2MmNlZTUwM2UwODQ3ZjgyMjVhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTM2NCw2ICsxMzY0LDggQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiByZWYKIAogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uIHsgZnJhbWVMb2FkUmVxdWVz
dC5yZXF1ZXN0ZXIoKSwgcmVxdWVzdCwgZnJhbWVMb2FkUmVxdWVzdC5pbml0aWF0ZWRCeU1haW5G
cmFtZSgpLCBuZXdMb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQsIGZyYW1lTG9hZFJl
cXVlc3Quc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBmcmFtZUxvYWRSZXF1ZXN0LmRv
d25sb2FkQXR0cmlidXRlKCkgfTsKICAgICBhY3Rpb24uc2V0SXNDcm9zc09yaWdpbldpbmRvd09w
ZW5OYXZpZ2F0aW9uKGZyYW1lTG9hZFJlcXVlc3QuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZp
Z2F0aW9uKCkpOworICAgIGlmIChtX2ZyYW1lLnBhZ2UoKSAmJiBtX2ZyYW1lLnBhZ2UoKS0+b3Bl
bmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSkKKyAgICAgICAgYWN0aW9uLnNldE9wZW5lZFZp
YVdpbmRvd09wZW5XaXRoT3BlbmVyKCk7CiAgICAgYWN0aW9uLnNldEhhc09wZW5lZEZyYW1lcygh
bV9vcGVuZWRGcmFtZXMuaXNFbXB0eSgpKTsKICAgICBpZiAoYXV0byogb3BlbmVyID0gdGhpcy0+
b3BlbmVyKCkpIHsKICAgICAgICAgYXV0byBwYWdlSUQgPSBvcGVuZXItPmxvYWRlcigpLmNsaWVu
dCgpLnBhZ2VJRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25BY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKaW5k
ZXggNzQwZDUxMzk0ZWI3OGI5ZDEzNzU0MjFkZjNmMGNiNDFmMzA2YjEyYS4uOTViY2UyMjliYzgx
NTc5ODI1ZTg5YmZmMjg4YTIzMGFiM2JmODE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvbkFjdGlvbi5oCkBAIC0xMjYsNiArMTI2LDkgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
T3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNPcGVuZWRGcmFtZXM7IH0KICAgICB2
b2lkIHNldEhhc09wZW5lZEZyYW1lcyhib29sIHZhbHVlKSB7IG1faGFzT3BlbmVkRnJhbWVzID0g
dmFsdWU7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSBjb25z
dCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9CisgICAgdm9pZCBz
ZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5kb3dPcGVu
V2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0VGFyZ2V0QmFja0ZvcndhcmRJdGVt
KEhpc3RvcnlJdGVtJik7CiAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyPiYgdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsgfQogCkBAIC0xNDQsNiArMTQ3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uOwog
ICAgIGJvb2wgbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24geyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9oYXNPcGVuZWRGcmFtZXMgeyBmYWxzZSB9OworICAgIGJvb2wgbV9vcGVuZWRW
aWFXaW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxQYWdl
SURBbmRGcmFtZUlEUGFpcj4gbV9vcGVuZXI7CiAgICAgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2Fy
ZEl0ZW1JZGVudGlmaWVyPiBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDA0ZmMzMDU0OWIyNmIzMzYxYWJlMTZlYWQ5
NGU0NDkyOWEzODZkMGMuLmZiNjg1MDdkYjE4MWY5NjcyMGIyZDk4MTgwNGMzNDQ1NzU2ZmFmM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIyNjQsOCArMjI2NCwxMCBAQCBFeGNl
cHRpb25PcjxSZWZQdHI8RnJhbWU+PiBET01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJp
bmcmIHVybFN0cmluZywgY29ucwogICAgIGlmICghbmV3RnJhbWUpCiAgICAgICAgIHJldHVybiBS
ZWZQdHI8RnJhbWU+IHsgbnVsbHB0ciB9OwogCi0gICAgaWYgKCF3aW5kb3dGZWF0dXJlcy5ub29w
ZW5lcikKKyAgICBpZiAoIXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKSB7CiAgICAgICAgIG5ld0Zy
YW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm9wZW5lckZyYW1lKTsKKyAgICAgICAgbmV3RnJhbWUt
PnBhZ2UoKS0+c2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKTsKKyAgICB9CiAgICAg
bmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKIAogICAgIGlmIChuZXdGcmFtZS0+
ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmlzSW5zZWN1cmVTY3JpcHRBY2Nlc3MoYWN0aXZlV2lu
ZG93LCBjb21wbGV0ZWRVUkwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA2YzFkNDMyZjlkYTI1Y2VkODJi
ZTM1OGI5OTE5Nzg2Y2JmOWY2MmMwLi4yNGI0MWRlM2Q2MWZhMTY4MTg4MjFlZDMwY2Q3ZTdiOTRm
NjgwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjAyLDYgKzIwMiw5IEBAIHB1YmxpYzoKICAgICBi
b29sIG9wZW5lZEJ5RE9NKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRPcGVuZWRCeURPTSgpOwogCisg
ICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1f
b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7IH0KKyAgICB2b2lkIHNldE9wZW5lZFZpYVdp
bmRvd09wZW5XaXRoT3BlbmVyKCkgeyBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0g
dHJ1ZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnb1RvSXRlbShIaXN0b3J5SXRlbSYs
IEZyYW1lTG9hZFR5cGUsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEdyb3VwTmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTc1MCw2ICs3
NTMsNyBAQCBwcml2YXRlOgogICAgIGludCBtX3N1YmZyYW1lQ291bnQgeyAwIH07CiAgICAgU3Ry
aW5nIG1fZ3JvdXBOYW1lOwogICAgIGJvb2wgbV9vcGVuZWRCeURPTSB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsKIAogICAgIGJv
b2wgbV90YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMgeyB0cnVlIH07CiAgICAgYm9vbCBtX2Rl
ZmVyc0xvYWRpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
TmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlv
bkFjdGlvbkRhdGEuY3BwCmluZGV4IDdmNTJmNDFiNDcwMWFkMTZjNzYzZjlmNGI0MGZlNzQzYWJl
N2YzNDguLjk1NDk2ZGFiMGM3MWZjNTA4OTc1ZWU3ZTBmMzZjMDBjNjU5YzhkNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAKQEAgLTQ4LDYgKzQ4
LDcgQEAgdm9pZCBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IHRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbjsK
ICAgICBlbmNvZGVyIDw8IGlzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbjsKICAgICBl
bmNvZGVyIDw8IGhhc09wZW5lZEZyYW1lczsKKyAgICBlbmNvZGVyIDw8IG9wZW5lZFZpYVdpbmRv
d09wZW5XaXRoT3BlbmVyOwogICAgIGVuY29kZXIgPDwgb3BlbmVyOwogICAgIGVuY29kZXIgPDwg
dGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKIH0KQEAgLTExMyw2ICsxMTQsMTEgQEAg
c3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9uQWN0aW9uRGF0YT4gTmF2aWdhdGlvbkFjdGlvbkRhdGE6
OmRlY29kZShJUEM6OkRlY29kZXImIGQKICAgICBpZiAoIWhhc09wZW5lZEZyYW1lcykKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb3BlbmVk
VmlhV2luZG93T3BlbldpdGhPcGVuZXI7CisgICAgZGVjb2RlciA+PiBvcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lcjsKKyAgICBpZiAoIW9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9w
dGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+Pj4gb3BlbmVyOwogICAgIGRlY29k
ZXIgPj4gb3BlbmVyOwogICAgIGlmICghb3BlbmVyKQpAQCAtMTI1LDcgKzEzMSw3IEBAIHN0ZDo6
b3B0aW9uYWw8TmF2aWdhdGlvbkFjdGlvbkRhdGE+IE5hdmlnYXRpb25BY3Rpb25EYXRhOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkCiAgICAgICAgIAogICAgIHJldHVybiB7eyBXVEZNb3ZlKG5hdmln
YXRpb25UeXBlKSwgV1RGTW92ZShtb2RpZmllcnMpLCBXVEZNb3ZlKG1vdXNlQnV0dG9uKSwgV1RG
TW92ZShzeW50aGV0aWNDbGlja1R5cGUpLCBXVEZNb3ZlKCp1c2VyR2VzdHVyZVRva2VuSWRlbnRp
ZmllciksCiAgICAgICAgIFdURk1vdmUoKmNhbkhhbmRsZVJlcXVlc3QpLCBXVEZNb3ZlKHNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpLCBXVEZNb3ZlKCpkb3dubG9hZEF0dHJpYnV0ZSksIFdU
Rk1vdmUoY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyksCi0gICAgICAgIFdURk1v
dmUoKmlzUmVkaXJlY3QpLCAqdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uLCAqaXNDcm9zc09y
aWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uLCAqaGFzT3BlbmVkRnJhbWVzLCBXVEZNb3ZlKCpvcGVu
ZXIpLCBXVEZNb3ZlKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSB9fTsKKyAgICAg
ICAgV1RGTW92ZSgqaXNSZWRpcmVjdCksICp0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24sICpp
c0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24sICpoYXNPcGVuZWRGcmFtZXMsICpvcGVu
ZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciwgV1RGTW92ZSgqb3BlbmVyKSwgV1RGTW92ZSgqdGFy
Z2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRh
dGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKaW5kZXgg
MDlkYjU3NTY0MWY2YmMyNjM2Yjc2YmMyOGM3NTA5MGUzNDAxYTA0Ni4uNzkwMDhkODQ1NjE5YWY2
MTIyNzU0YTMxZjhkYjRiNGE5NjRhMWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZp
Z2F0aW9uQWN0aW9uRGF0YS5oCkBAIC01NCw2ICs1NCw3IEBAIHN0cnVjdCBOYXZpZ2F0aW9uQWN0
aW9uRGF0YSB7CiAgICAgYm9vbCB0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24geyBmYWxzZSB9
OwogICAgIGJvb2wgaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uIHsgZmFsc2UgfTsK
ICAgICBib29sIGhhc09wZW5lZEZyYW1lcyB7IGZhbHNlIH07CisgICAgYm9vbCBvcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBh
aXI8dWludDY0X3QsIHVpbnQ2NF90Pj4gb3BlbmVyOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRp
ZmllcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2
aWdhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaApp
bmRleCAwZjk1ZmM1ZjliMjFkMjVlNjEwZmE4MGYyM2NjMDQwNWQ1YzUzZjMyLi5hYmQ4NWM3M2Vi
YTY5OTkxNzEzZjg4MjJjZjMxNjU1MzI1NWE3YmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKQEAgLTk0LDYgKzk0LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0SGFzT3BlbmVkRnJhbWVzKGJvb2wgdmFsdWUpIHsgbV9oYXNPcGVuZWRGcmFtZXMgPSB2
YWx1ZTsgfQogICAgIGJvb2wgaGFzT3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNP
cGVuZWRGcmFtZXM7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIo
KSBjb25zdCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9CisgICAg
dm9pZCBzZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5k
b3dPcGVuV2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0T3BlbmVyKGNvbnN0IHN0
ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4+JiBvcGVuZXIpIHsgbV9v
cGVuZXIgPSBvcGVuZXI7IH0KICAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50
NjRfdCwgdWludDY0X3Q+PiYgb3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZXI7IH0KIApA
QCAtMTIxLDYgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RyZWF0QXNTYW1lT3JpZ2lu
TmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVu
TmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc09wZW5lZEZyYW1lcyB7IGZhbHNl
IH07CisgICAgYm9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsK
ICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+PiBtX29wZW5l
cjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDdl
Y2E4ZmRmYjY3NzZjMzA1NTM1MmM4MjAwNjFiN2U4YzFkOWEwNjguLjIxZjAxYzNiYTI0NWRjYmYz
MmY3NDA5ZTAwMzkzZjdjZDljYzg5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtNDAyMCw2ICs0MDIwLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ28K
ICAgICBuYXZpZ2F0aW9uLT5zZXRUcmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24obmF2aWdhdGlv
bkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0aW9u
LT5zZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24obmF2aWdhdGlvbkFjdGlvbkRh
dGEuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0aW9uLT5z
ZXRIYXNPcGVuZWRGcmFtZXMobmF2aWdhdGlvbkFjdGlvbkRhdGEuaGFzT3BlbmVkRnJhbWVzKTsK
KyAgICBpZiAobmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIpCisgICAgICAgIG5hdmlnYXRpb24tPnNldE9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
KCk7CiAgICAgbmF2aWdhdGlvbi0+c2V0T3BlbmVyKG5hdmlnYXRpb25BY3Rpb25EYXRhLm9wZW5l
cik7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTUzNDFhNDBkMGY3YzZmODcwMTdlN2Y5ZmNm
ODIzMjJiMTI2YWYxMi4uZWM2MDk1MTEzMzZiYmM4YmE2NTc4YzFiYTI1ODJlMDE0NDMwZTYwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjE1Mywx
MSArMjE1MywxMyBAQCBSZWY8V2ViUHJvY2Vzc1Byb3h5PiBXZWJQcm9jZXNzUG9vbDo6cHJvY2Vz
c0Zvck5hdmlnYXRpb25JbnRlcm5hbChXZWJQYWdlUHJveHkmCiAgICAgICAgIHJldHVybiBjcmVh
dGVOZXdXZWJQcm9jZXNzKHBhZ2Uud2Vic2l0ZURhdGFTdG9yZSgpKTsKICAgICB9CiAKLSAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIHN1cHBvcnQgcHJvY2VzcyBzd2FwIHdoZW4gYSB3aW5kb3cgaGFz
IGFuIG9wZW5lci4KLSAgICBpZiAobmF2aWdhdGlvbi5vcGVuZXIoKSkgewotICAgICAgICByZWFz
b24gPSAiQnJvd3NpbmcgY29udGV4dCBoYXMgYW4gb3BlbmVyIl9zOworICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMgYmVlbiBvcGVu
ZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgorICAgIC8vIFRoZSBpc3N1
ZSBpcyB0aGF0IHRoZSBvcGVuZXIgaGFzIGEgaGFuZGxlIHRvIHRoZSBXaW5kb3dQcm94eS4KKyAg
ICBpZiAobmF2aWdhdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpKSB7CisgICAg
ICAgIHJlYXNvbiA9ICJCcm93c2luZyBjb250ZXh0IGJlZW4gb3BlbmVkIHZpYSB3aW5kb3cub3Bl
bigpIHdpdGhvdXQgJ25vb3BlbmVyJyJfczsKICAgICAgICAgcmV0dXJuIHBhZ2UucHJvY2Vzcygp
OwogICAgIH0KKyAgICBBU1NFUlQoIW5hdmlnYXRpb24ub3BlbmVyKTsKIAogICAgIC8vIEZJWE1F
OiBXZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMgb3BlbmVk
IG90aGVyIHdpbmRvd3MgdmlhIHdpbmRvdy5vcGVuLgogICAgIGlmIChuYXZpZ2F0aW9uLmhhc09w
ZW5lZEZyYW1lcygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzNTAz
MDcyMDI1NTAxYmY1NmIwZWJmZmJhYjZjMjVjMTg0OTAyYTE5Li41YjFmMzdhNzllY2MyYzgzMGMz
MzViNmQxYTA0OWYzNjI2NzQ0NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAK
QEAgLTg2OCw2ICs4NjgsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAogICAgIG5hdmlnYXRp
b25BY3Rpb25EYXRhLnRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiA9IG5hdmlnYXRpb25BY3Rp
b24udHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRh
dGEuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uID0gbmF2aWdhdGlvbkFjdGlvbi5p
c0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9u
RGF0YS5oYXNPcGVuZWRGcmFtZXMgPSBuYXZpZ2F0aW9uQWN0aW9uLmhhc09wZW5lZEZyYW1lcygp
OworICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLm9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
ID0gbmF2aWdhdGlvbkFjdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpOwogICAg
IG5hdmlnYXRpb25BY3Rpb25EYXRhLm9wZW5lciA9IG5hdmlnYXRpb25BY3Rpb24ub3BlbmVyKCk7
CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEudGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmll
ciA9IG5hdmlnYXRpb25BY3Rpb24udGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggZWNkMDRlMTdiNDNlMDRkNTIwMTQyNTFhNTJkODdjNmNkNTk0NzQxNy4uNWQ2NzZl
ZDA2MzBiZTkxMzc2N2Q2ZTBkZDdiMjUzZTY2OTcxMzU5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDE4LTA5LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
UmVncmVzc2lvbihQU09OKTogc2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHBy
b2Nlc3Mgc3dhcHBpbmcgaW4gY2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9z
cy1vcmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1v
cmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sOiBBZGRlZC4KKwogMjAx
OC0wOS0xMyAgRGVhbiBKYWNrc29uICA8ZGlub0Bncm9yZy5vcmc+CiAKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTU5NApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0ZS1oZWxwZXIu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdh
dGUtaGVscGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZjOWU2ZWNkYmIwYzM4OWVhZjBlNzA4Y2NhMzhj
NDE4NjNiYjc2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2
aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK29ubWVzc2FnZSA9ICht
c2cpID0+IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgd2luZG93LmxvY2F0aW9u
ID0gbXNnLmRhdGEubmF2aWdhdGU7CisgICAgfSwgMCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24v
d2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4t
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1v
cGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MDlhYjNmZmM1MzNlOTE2YWFlMDc1OGE4MWMxYWE2ODVlYWYyZjVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dp
bmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHByb2Nlc3Mgc3dhcCBvbiBu
YXZpZ2F0aW9uIGRvZXMgbm90IGJyZWFrIG5hdmlnYXRpbmcgYmFjayBjcm9zcy1vcmlnaW4gYSBj
cm9zcy1vcmlnaW4gd2luZG93LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyB3LmxvY2F0aW9uLmhyZWYgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jl
c291cmNlcy9vdGhlcnBhZ2UuaHRtbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25h
dmlnYXRpb24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2Ft
ZS1vcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ct
b3Blbi1jcm9zcy1vcmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmViY2JlYThkNGM1NTBlNzY4OGU0N2RlZjU3NDMxNTUyZDNkYTc1MTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9w
ZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4uaHRtbApAQCAt
MCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvY2VzcyBzd2FwIG9uIG5h
dmlnYXRpb24gZG9lcyBub3QgYnJlYWsgbmF2aWdhdGluZyBiYWNrIGNyb3NzLW9yaWdpbiBhIGNy
b3NzLW9yaWdpbiB3aW5kb3cuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKKworZnVu
Y3Rpb24gd2FzTmF2aWdhdGVkU2FtZU9yaWdpbigpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3LmxvY2F0aW9uLmhyZWYiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24v
cmVzb3VyY2VzL290aGVycGFnZS5odG1sIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1
bmN0aW9uIHdhc05hdmlnYXRlZENyb3NzT3JpZ2luKCkKK3sKKyAgICAvLyBOYXZpZ2F0ZSBiYWNr
IHNhbWUgb3JpZ2luLgorICAgIHcucG9zdE1lc3NhZ2UoeyBuYXZpZ2F0ZTogImh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIgfSwgIioiKTsK
KyAgICBoYW5kbGUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICB3Lm5hbWU7CisgICAgICAgICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7CisgICAgICAg
ICAgICB3YXNOYXZpZ2F0ZWRTYW1lT3JpZ2luKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAg
ICAgICB9CisgICAgfSwgMTApOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3ID0g
d2luZG93Lm9wZW4oKTsKKyAgICB3Lm9wZW5lciA9IG51bGw7CisgICAgdy5sb2NhdGlvbiA9ICJo
dHRwOi8vbG9jYWxob3N0OjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVy
Lmh0bWwiOworICAgIGhhbmRsZSA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHcubmFtZTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICBj
bGVhckludGVydmFsKGhhbmRsZSk7CisgICAgICAgICAgICB3YXNOYXZpZ2F0ZWRDcm9zc09yaWdp
bigpOworICAgICAgICB9CisgICAgfSwgMTApOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349698</attachid>
            <date>2018-09-13 14:01:21 -0700</date>
            <delta_ts>2018-09-13 14:06:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189590-20180913140121.patch</filename>
            <type>text/plain</type>
            <size>18067</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGIyYTk1ZmNjNGEyYjRk
Y2Y1YzI3N2Q1Y2NjZTE0NWQ0ZTRmZGMxZC4uY2FjYjI1NzFkMWJiNDA0ZmY4OGRhNjFkNTE1OTg3
Mzk0M2IwY2YwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihQU09OKTog
c2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4g
Y2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAg
ICAgIFNldCBhIGZsYWcgb24gdGhlIG5hdmlnYXRpb24gYWN0aW9uIHRvIGluZGljYXRlIGlmIHRo
ZSBwYWdlIHdhcyBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1v
cmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIHBhZ2Uv
UGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0T3BlbmVkVmlhV2luZG93
T3BlbldpdGhPcGVuZXIpOgorCiAyMDE4LTA5LTEzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgd29ya2Fyb3VuZCBmb3IgZnJp
ZW5kIGNsYXNzIExhenlOZXZlckRlc3Ryb3llZDxYPiBzdGF0ZW1lbnRzIGZvciBNU1ZDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ3ZDU3ZmY0ZjRmZGY0Yjc5MWU2YjJkM2Y4OTNmYzgwNTk2MDIwYjUuLmE0ZTUzYmEy
OTBmMWMxYmFlNmMzMmEwYTVjMDhkMTk2NDZjMDkwMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTgtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBSZWdyZXNzaW9uKFBTT04pOiBzZXR0aW5nIHdpbmRvdy5vcGVuZXIgdG8gbnVsbCBhbGxvd3Mg
cHJvY2VzcyBzd2FwcGluZyBpbiBjYXNlcyB0aGF0IGFyZSBub3Qgd2ViLWNvbXBhdGlibGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTU5MAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQ0MjI3MjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgSWYgc2NyaXB0IGNhbGxzIHdpbmRvdy5vcGVuKCkgd2l0
aG91dCAnbm9vcGVuZXInIGFuZCB0aGUgbmV3bHkgbmF2aWdhdGVkIHdpbmRvdyBnZXRzIG5hdmln
YXRlZCBjcm9zcy1zaXRlLAorICAgICAgICB3ZSBhcmUgY3VycmVudGx5IHVuYWJsZSB0byBwcm9j
ZXNzLXN3YXAgYmVjYXVzZSB0aGUgb3BlbmVyIGhhcyBhIFdpbmRvd1Byb3h5IGhhbmRsZSB0byB0
aGlzIG5ldyBXaW5kb3cgYW5kCisgICAgICAgIG1heSBpbnRlcmFjdCB3aXRoIGl0ICh3aGljaCB3
ZSBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQgY3Jvc3MtcHJvY2VzcykuIFdlIHdlcmUgZGVhbGlu
ZyB3aXRoIHRoaXMgYnkgbm90CisgICAgICAgIHByb2Nlc3Mtc3dhcHBpbmcgaWYgd2luZG93Lm9w
ZW5lciBpcyBub3QgbnVsbC4gVGhpcyB3b3JrcyBtb3N0IG9mIHRoZSB0aW1lIGJ1dCBpcyBub3Qg
c3VmZmljaWVudCBiZWNhdXNlIHRoZQorICAgICAgICBvcGVuZXIgbWF5IGdldCBudWxsZWQgb3V0
LCB3aGlsZSB0aGUgb3BlbmVyIHN0aWxsIGhhcyBhIHZhbGlkIFdpbmRvd1Byb3h5IGhhbmRsZSB0
byBpdHMgb3BlbmVlLgorCisgICAgICAgIFRoZXJlZm9yZSwgSSByZXBsYWNlZCB0aGUgd2luZG93
Lm9wZW5lciBjaGVjayB3aXRoIGEgY2hlY2sgZm9yIGEgZmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBm
cmFtZSB3YXMgb3BlbmVkIHZpYQorICAgICAgICB3aW5kb3cub3BlbigpIHdpdGhvdXQgJ25vb29w
ZW5lcicuCisKKyAgICAgICAgKiBTaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAg
ICAgKFdlYktpdDo6TmF2aWdhdGlvbkFjdGlvbkRhdGE6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElO
YXZpZ2F0aW9uLmg6CisgICAgICAgIChBUEk6Ok5hdmlnYXRpb246Om9wZW5lZFZpYVdpbmRvd09w
ZW5XaXRoT3BlbmVyIGNvbnN0KToKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6c2V0T3BlbmVk
VmlhV2luZG93T3BlbldpdGhPcGVuZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbklu
dGVybmFsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisKIDIwMTgtMDktMTMgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgcmVsZWFzZSBsb2dn
aW5nIHRvIGhlbHAgZGVidWcgUFNPTiBpc3N1ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCmluZGV4IDZhYjY4NTUxZjg1ODRkM2ZhZGRiYmZiODE5OGM4ZDVkNWEyZjA4NTcuLjIw
YTFmNzg0ZjBkMDRhMmVjMTk2MmNlZTUwM2UwODQ3ZjgyMjVhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTM2NCw2ICsxMzY0LDggQEAgdm9pZCBGcmFtZUxvYWRl
cjo6bG9hZFVSTChGcmFtZUxvYWRSZXF1ZXN0JiYgZnJhbWVMb2FkUmVxdWVzdCwgY29uc3QgU3Ry
aW5nJiByZWYKIAogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uIHsgZnJhbWVMb2FkUmVxdWVz
dC5yZXF1ZXN0ZXIoKSwgcmVxdWVzdCwgZnJhbWVMb2FkUmVxdWVzdC5pbml0aWF0ZWRCeU1haW5G
cmFtZSgpLCBuZXdMb2FkVHlwZSwgaXNGb3JtU3VibWlzc2lvbiwgZXZlbnQsIGZyYW1lTG9hZFJl
cXVlc3Quc2hvdWxkT3BlbkV4dGVybmFsVVJMc1BvbGljeSgpLCBmcmFtZUxvYWRSZXF1ZXN0LmRv
d25sb2FkQXR0cmlidXRlKCkgfTsKICAgICBhY3Rpb24uc2V0SXNDcm9zc09yaWdpbldpbmRvd09w
ZW5OYXZpZ2F0aW9uKGZyYW1lTG9hZFJlcXVlc3QuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZp
Z2F0aW9uKCkpOworICAgIGlmIChtX2ZyYW1lLnBhZ2UoKSAmJiBtX2ZyYW1lLnBhZ2UoKS0+b3Bl
bmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSkKKyAgICAgICAgYWN0aW9uLnNldE9wZW5lZFZp
YVdpbmRvd09wZW5XaXRoT3BlbmVyKCk7CiAgICAgYWN0aW9uLnNldEhhc09wZW5lZEZyYW1lcygh
bV9vcGVuZWRGcmFtZXMuaXNFbXB0eSgpKTsKICAgICBpZiAoYXV0byogb3BlbmVyID0gdGhpcy0+
b3BlbmVyKCkpIHsKICAgICAgICAgYXV0byBwYWdlSUQgPSBvcGVuZXItPmxvYWRlcigpLmNsaWVu
dCgpLnBhZ2VJRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25BY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKaW5k
ZXggNzQwZDUxMzk0ZWI3OGI5ZDEzNzU0MjFkZjNmMGNiNDFmMzA2YjEyYS4uOTViY2UyMjliYzgx
NTc5ODI1ZTg5YmZmMjg4YTIzMGFiM2JmODE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvbkFjdGlvbi5oCkBAIC0xMjYsNiArMTI2LDkgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
T3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNPcGVuZWRGcmFtZXM7IH0KICAgICB2
b2lkIHNldEhhc09wZW5lZEZyYW1lcyhib29sIHZhbHVlKSB7IG1faGFzT3BlbmVkRnJhbWVzID0g
dmFsdWU7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSBjb25z
dCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9CisgICAgdm9pZCBz
ZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5kb3dPcGVu
V2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0VGFyZ2V0QmFja0ZvcndhcmRJdGVt
KEhpc3RvcnlJdGVtJik7CiAgICAgY29uc3Qgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyPiYgdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1fdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsgfQogCkBAIC0xNDQsNiArMTQ3
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uOwog
ICAgIGJvb2wgbV9pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24geyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9oYXNPcGVuZWRGcmFtZXMgeyBmYWxzZSB9OworICAgIGJvb2wgbV9vcGVuZWRW
aWFXaW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxQYWdl
SURBbmRGcmFtZUlEUGFpcj4gbV9vcGVuZXI7CiAgICAgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2Fy
ZEl0ZW1JZGVudGlmaWVyPiBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDA0ZmMzMDU0OWIyNmIzMzYxYWJlMTZlYWQ5
NGU0NDkyOWEzODZkMGMuLmZiNjg1MDdkYjE4MWY5NjcyMGIyZDk4MTgwNGMzNDQ1NzU2ZmFmM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTIyNjQsOCArMjI2NCwxMCBAQCBFeGNl
cHRpb25PcjxSZWZQdHI8RnJhbWU+PiBET01XaW5kb3c6OmNyZWF0ZVdpbmRvdyhjb25zdCBTdHJp
bmcmIHVybFN0cmluZywgY29ucwogICAgIGlmICghbmV3RnJhbWUpCiAgICAgICAgIHJldHVybiBS
ZWZQdHI8RnJhbWU+IHsgbnVsbHB0ciB9OwogCi0gICAgaWYgKCF3aW5kb3dGZWF0dXJlcy5ub29w
ZW5lcikKKyAgICBpZiAoIXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKSB7CiAgICAgICAgIG5ld0Zy
YW1lLT5sb2FkZXIoKS5zZXRPcGVuZXIoJm9wZW5lckZyYW1lKTsKKyAgICAgICAgbmV3RnJhbWUt
PnBhZ2UoKS0+c2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKTsKKyAgICB9CiAgICAg
bmV3RnJhbWUtPnBhZ2UoKS0+c2V0T3BlbmVkQnlET00oKTsKIAogICAgIGlmIChuZXdGcmFtZS0+
ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPmlzSW5zZWN1cmVTY3JpcHRBY2Nlc3MoYWN0aXZlV2lu
ZG93LCBjb21wbGV0ZWRVUkwpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA2YzFkNDMyZjlkYTI1Y2VkODJi
ZTM1OGI5OTE5Nzg2Y2JmOWY2MmMwLi4yNGI0MWRlM2Q2MWZhMTY4MTg4MjFlZDMwY2Q3ZTdiOTRm
NjgwZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMjAyLDYgKzIwMiw5IEBAIHB1YmxpYzoKICAgICBi
b29sIG9wZW5lZEJ5RE9NKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRPcGVuZWRCeURPTSgpOwogCisg
ICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1f
b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7IH0KKyAgICB2b2lkIHNldE9wZW5lZFZpYVdp
bmRvd09wZW5XaXRoT3BlbmVyKCkgeyBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0g
dHJ1ZTsgfQorCiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBnb1RvSXRlbShIaXN0b3J5SXRlbSYs
IEZyYW1lTG9hZFR5cGUsIFNob3VsZFRyZWF0QXNDb250aW51aW5nTG9hZCk7CiAKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIHNldEdyb3VwTmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTc1MCw2ICs3
NTMsNyBAQCBwcml2YXRlOgogICAgIGludCBtX3N1YmZyYW1lQ291bnQgeyAwIH07CiAgICAgU3Ry
aW5nIG1fZ3JvdXBOYW1lOwogICAgIGJvb2wgbV9vcGVuZWRCeURPTSB7IGZhbHNlIH07CisgICAg
Ym9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsKIAogICAgIGJv
b2wgbV90YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMgeyB0cnVlIH07CiAgICAgYm9vbCBtX2Rl
ZmVyc0xvYWRpbmcgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
TmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlv
bkFjdGlvbkRhdGEuY3BwCmluZGV4IDdmNTJmNDFiNDcwMWFkMTZjNzYzZjlmNGI0MGZlNzQzYWJl
N2YzNDguLjk1NDk2ZGFiMGM3MWZjNTA4OTc1ZWU3ZTBmMzZjMDBjNjU5YzhkNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAKQEAgLTQ4LDYgKzQ4
LDcgQEAgdm9pZCBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5j
b2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IHRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbjsK
ICAgICBlbmNvZGVyIDw8IGlzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbjsKICAgICBl
bmNvZGVyIDw8IGhhc09wZW5lZEZyYW1lczsKKyAgICBlbmNvZGVyIDw8IG9wZW5lZFZpYVdpbmRv
d09wZW5XaXRoT3BlbmVyOwogICAgIGVuY29kZXIgPDwgb3BlbmVyOwogICAgIGVuY29kZXIgPDwg
dGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKIH0KQEAgLTExMyw2ICsxMTQsMTEgQEAg
c3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9uQWN0aW9uRGF0YT4gTmF2aWdhdGlvbkFjdGlvbkRhdGE6
OmRlY29kZShJUEM6OkRlY29kZXImIGQKICAgICBpZiAoIWhhc09wZW5lZEZyYW1lcykKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gb3BlbmVk
VmlhV2luZG93T3BlbldpdGhPcGVuZXI7CisgICAgZGVjb2RlciA+PiBvcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lcjsKKyAgICBpZiAoIW9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKQor
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9w
dGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+Pj4gb3BlbmVyOwogICAgIGRlY29k
ZXIgPj4gb3BlbmVyOwogICAgIGlmICghb3BlbmVyKQpAQCAtMTI1LDcgKzEzMSw3IEBAIHN0ZDo6
b3B0aW9uYWw8TmF2aWdhdGlvbkFjdGlvbkRhdGE+IE5hdmlnYXRpb25BY3Rpb25EYXRhOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkCiAgICAgICAgIAogICAgIHJldHVybiB7eyBXVEZNb3ZlKG5hdmln
YXRpb25UeXBlKSwgV1RGTW92ZShtb2RpZmllcnMpLCBXVEZNb3ZlKG1vdXNlQnV0dG9uKSwgV1RG
TW92ZShzeW50aGV0aWNDbGlja1R5cGUpLCBXVEZNb3ZlKCp1c2VyR2VzdHVyZVRva2VuSWRlbnRp
ZmllciksCiAgICAgICAgIFdURk1vdmUoKmNhbkhhbmRsZVJlcXVlc3QpLCBXVEZNb3ZlKHNob3Vs
ZE9wZW5FeHRlcm5hbFVSTHNQb2xpY3kpLCBXVEZNb3ZlKCpkb3dubG9hZEF0dHJpYnV0ZSksIFdU
Rk1vdmUoY2xpY2tMb2NhdGlvbkluUm9vdFZpZXdDb29yZGluYXRlcyksCi0gICAgICAgIFdURk1v
dmUoKmlzUmVkaXJlY3QpLCAqdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uLCAqaXNDcm9zc09y
aWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uLCAqaGFzT3BlbmVkRnJhbWVzLCBXVEZNb3ZlKCpvcGVu
ZXIpLCBXVEZNb3ZlKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKSB9fTsKKyAgICAg
ICAgV1RGTW92ZSgqaXNSZWRpcmVjdCksICp0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24sICpp
c0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24sICpoYXNPcGVuZWRGcmFtZXMsICpvcGVu
ZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciwgV1RGTW92ZSgqb3BlbmVyKSwgV1RGTW92ZSgqdGFy
Z2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcikgfX07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRh
dGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKaW5kZXgg
MDlkYjU3NTY0MWY2YmMyNjM2Yjc2YmMyOGM3NTA5MGUzNDAxYTA0Ni4uNzkwMDhkODQ1NjE5YWY2
MTIyNzU0YTMxZjhkYjRiNGE5NjRhMWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZp
Z2F0aW9uQWN0aW9uRGF0YS5oCkBAIC01NCw2ICs1NCw3IEBAIHN0cnVjdCBOYXZpZ2F0aW9uQWN0
aW9uRGF0YSB7CiAgICAgYm9vbCB0cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24geyBmYWxzZSB9
OwogICAgIGJvb2wgaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uIHsgZmFsc2UgfTsK
ICAgICBib29sIGhhc09wZW5lZEZyYW1lcyB7IGZhbHNlIH07CisgICAgYm9vbCBvcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBh
aXI8dWludDY0X3QsIHVpbnQ2NF90Pj4gb3BlbmVyOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRp
ZmllcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2
aWdhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaApp
bmRleCAwZjk1ZmM1ZjliMjFkMjVlNjEwZmE4MGYyM2NjMDQwNWQ1YzUzZjMyLi5hYmQ4NWM3M2Vi
YTY5OTkxNzEzZjg4MjJjZjMxNjU1MzI1NWE3YmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKQEAgLTk0LDYgKzk0LDkgQEAgcHVibGljOgogICAgIHZv
aWQgc2V0SGFzT3BlbmVkRnJhbWVzKGJvb2wgdmFsdWUpIHsgbV9oYXNPcGVuZWRGcmFtZXMgPSB2
YWx1ZTsgfQogICAgIGJvb2wgaGFzT3BlbmVkRnJhbWVzKCkgY29uc3QgeyByZXR1cm4gbV9oYXNP
cGVuZWRGcmFtZXM7IH0KIAorICAgIGJvb2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIo
KSBjb25zdCB7IHJldHVybiBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9CisgICAg
dm9pZCBzZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5k
b3dPcGVuV2l0aE9wZW5lciA9IHRydWU7IH0KKwogICAgIHZvaWQgc2V0T3BlbmVyKGNvbnN0IHN0
ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4+JiBvcGVuZXIpIHsgbV9v
cGVuZXIgPSBvcGVuZXI7IH0KICAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50
NjRfdCwgdWludDY0X3Q+PiYgb3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZXI7IH0KIApA
QCAtMTIxLDYgKzEyNCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3RyZWF0QXNTYW1lT3JpZ2lu
TmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVu
TmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc09wZW5lZEZyYW1lcyB7IGZhbHNl
IH07CisgICAgYm9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyIHsgZmFsc2UgfTsK
ICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0X3Q+PiBtX29wZW5l
cjsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDdl
Y2E4ZmRmYjY3NzZjMzA1NTM1MmM4MjAwNjFiN2U4YzFkOWEwNjguLjIxZjAxYzNiYTI0NWRjYmYz
MmY3NDA5ZTAwMzkzZjdjZDljYzg5NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcApAQCAtNDAyMCw2ICs0MDIwLDggQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ28K
ICAgICBuYXZpZ2F0aW9uLT5zZXRUcmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24obmF2aWdhdGlv
bkFjdGlvbkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0aW9u
LT5zZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24obmF2aWdhdGlvbkFjdGlvbkRh
dGEuaXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uKTsKICAgICBuYXZpZ2F0aW9uLT5z
ZXRIYXNPcGVuZWRGcmFtZXMobmF2aWdhdGlvbkFjdGlvbkRhdGEuaGFzT3BlbmVkRnJhbWVzKTsK
KyAgICBpZiAobmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIpCisgICAgICAgIG5hdmlnYXRpb24tPnNldE9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
KCk7CiAgICAgbmF2aWdhdGlvbi0+c2V0T3BlbmVyKG5hdmlnYXRpb25BY3Rpb25EYXRhLm9wZW5l
cik7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggOTUzNDFhNDBkMGY3YzZmODcwMTdlN2Y5ZmNm
ODIzMjJiMTI2YWYxMi4uNTEzM2ZmNjY0ZmZlYzBmMDBjYWM4ODFiNjk4N2Q1NjAwZWQzODM2OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjE1Myw2
ICsyMTUzLDEzIEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9jZXNz
Rm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYKICAgICAgICAgcmV0dXJuIGNyZWF0
ZU5ld1dlYlByb2Nlc3MocGFnZS53ZWJzaXRlRGF0YVN0b3JlKCkpOwogICAgIH0KIAorICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMg
YmVlbiBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgorICAgIC8v
IFRoZSBpc3N1ZSBpcyB0aGF0IHRoZSBvcGVuZXIgaGFzIGEgaGFuZGxlIHRvIHRoZSBXaW5kb3dQ
cm94eS4KKyAgICBpZiAobmF2aWdhdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigp
KSB7CisgICAgICAgIHJlYXNvbiA9ICJCcm93c2luZyBjb250ZXh0IGJlZW4gb3BlbmVkIHZpYSB3
aW5kb3cub3BlbigpIHdpdGhvdXQgJ25vb3BlbmVyJyJfczsKKyAgICAgICAgcmV0dXJuIHBhZ2Uu
cHJvY2VzcygpOworICAgIH0KKwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBwcm9j
ZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMgYW4gb3BlbmVyLgogICAgIGlmIChuYXZpZ2F0aW9u
Lm9wZW5lcigpKSB7CiAgICAgICAgIHJlYXNvbiA9ICJCcm93c2luZyBjb250ZXh0IGhhcyBhbiBv
cGVuZXIiX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCAzNTAzMDcyMDI1
NTAxYmY1NmIwZWJmZmJhYjZjMjVjMTg0OTAyYTE5Li41YjFmMzdhNzllY2MyYzgzMGMzMzViNmQx
YTA0OWYzNjI2NzQ0NTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTg2
OCw2ICs4NjgsNyBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgTmF2aWdhdAogICAgIG5hdmlnYXRpb25BY3Rp
b25EYXRhLnRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiA9IG5hdmlnYXRpb25BY3Rpb24udHJl
YXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEuaXND
cm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uID0gbmF2aWdhdGlvbkFjdGlvbi5pc0Nyb3Nz
T3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5o
YXNPcGVuZWRGcmFtZXMgPSBuYXZpZ2F0aW9uQWN0aW9uLmhhc09wZW5lZEZyYW1lcygpOworICAg
IG5hdmlnYXRpb25BY3Rpb25EYXRhLm9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0gbmF2
aWdhdGlvbkFjdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpOwogICAgIG5hdmln
YXRpb25BY3Rpb25EYXRhLm9wZW5lciA9IG5hdmlnYXRpb25BY3Rpb24ub3BlbmVyKCk7CiAgICAg
bmF2aWdhdGlvbkFjdGlvbkRhdGEudGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciA9IG5h
dmlnYXRpb25BY3Rpb24udGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcigpOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZWNkMDRlMTdiNDNlMDRkNTIwMTQyNTFhNTJkODdjNmNkNTk0NzQxNy4uNWQ2NzZlZDA2MzBi
ZTkxMzc2N2Q2ZTBkZDdiMjUzZTY2OTcxMzU5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4
LTA5LTEzICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVz
c2lvbihQU09OKTogc2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHByb2Nlc3Mg
c3dhcHBpbmcgaW4gY2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1vcmln
aW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1vcmlnaW4t
dGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sOiBBZGRlZC4KKwogMjAxOC0wOS0x
MyAgRGVhbiBKYWNrc29uICA8ZGlub0Bncm9yZy5vcmc+CiAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTU5NApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0ZS1oZWxwZXIuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVs
cGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGZjOWU2ZWNkYmIwYzM4OWVhZjBlNzA4Y2NhMzhjNDE4NjNi
Yjc2YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlv
bi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdD4KK29ubWVzc2FnZSA9IChtc2cpID0+
IHsKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gbXNn
LmRhdGEubmF2aWdhdGU7CisgICAgfSwgMCk7Cit9OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93
LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLWNy
b3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MDlhYjNmZmM1MzNlOTE2YWFlMDc1OGE4MWMxYWE2ODVlYWYyZjViCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1v
cGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEwIEBACitUZXN0cyB0aGF0IHByb2Nlc3Mgc3dhcCBvbiBuYXZpZ2F0
aW9uIGRvZXMgbm90IGJyZWFrIG5hdmlnYXRpbmcgYmFjayBjcm9zcy1vcmlnaW4gYSBjcm9zcy1v
cmlnaW4gd2luZG93LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3Lmxv
Y2F0aW9uLmhyZWYgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNl
cy9vdGhlcnBhZ2UuaHRtbCIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRp
b24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmln
aW4uaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1j
cm9zcy1vcmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmViY2JlYThkNGM1NTBlNzY4OGU0N2RlZjU3NDMxNTUyZDNkYTc1MTEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tY3Jv
c3Mtb3JpZ2luLXRoZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4uaHRtbApAQCAtMCwwICsx
LDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRp
b24gZG9lcyBub3QgYnJlYWsgbmF2aWdhdGluZyBiYWNrIGNyb3NzLW9yaWdpbiBhIGNyb3NzLW9y
aWdpbiB3aW5kb3cuIik7Citqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3BlbldpbmRvd3MoKTsKKworZnVuY3Rpb24g
d2FzTmF2aWdhdGVkU2FtZU9yaWdpbigpCit7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3
LmxvY2F0aW9uLmhyZWYiLCAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3Vy
Y2VzL290aGVycGFnZS5odG1sIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9u
IHdhc05hdmlnYXRlZENyb3NzT3JpZ2luKCkKK3sKKyAgICAvLyBOYXZpZ2F0ZSBiYWNrIHNhbWUg
b3JpZ2luLgorICAgIHcucG9zdE1lc3NhZ2UoeyBuYXZpZ2F0ZTogImh0dHA6Ly8xMjcuMC4wLjE6
ODAwMC9uYXZpZ2F0aW9uL3Jlc291cmNlcy9vdGhlcnBhZ2UuaHRtbCIgfSwgIioiKTsKKyAgICBo
YW5kbGUgPSBzZXRJbnRlcnZhbCgoKSA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB3
Lm5hbWU7CisgICAgICAgICAgICBjbGVhckludGVydmFsKGhhbmRsZSk7CisgICAgICAgICAgICB3
YXNOYXZpZ2F0ZWRTYW1lT3JpZ2luKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICB9
CisgICAgfSwgMTApOworfQorCitvbmxvYWQgPSBmdW5jdGlvbigpIHsKKyAgICB3ID0gd2luZG93
Lm9wZW4oKTsKKyAgICB3Lm9wZW5lciA9IG51bGw7CisgICAgdy5sb2NhdGlvbiA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvbmF2aWdhdGUtaGVscGVyLmh0bWwi
OworICAgIGhhbmRsZSA9IHNldEludGVydmFsKCgpID0+IHsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIHcubmFtZTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICBjbGVhcklu
dGVydmFsKGhhbmRsZSk7CisgICAgICAgICAgICB3YXNOYXZpZ2F0ZWRDcm9zc09yaWdpbigpOwor
ICAgICAgICB9CisgICAgfSwgMTApOworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349701</attachid>
            <date>2018-09-13 14:06:07 -0700</date>
            <delta_ts>2018-09-13 15:38:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189590-20180913140606.patch</filename>
            <type>text/plain</type>
            <size>18276</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM1OTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGIyYTk1ZmNjNGEyYjRk
Y2Y1YzI3N2Q1Y2NjZTE0NWQ0ZTRmZGMxZC4uY2FjYjI1NzFkMWJiNDA0ZmY4OGRhNjFkNTE1OTg3
Mzk0M2IwY2YwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE4LTA5LTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihQU09OKTog
c2V0dGluZyB3aW5kb3cub3BlbmVyIHRvIG51bGwgYWxsb3dzIHByb2Nlc3Mgc3dhcHBpbmcgaW4g
Y2FzZXMgdGhhdCBhcmUgbm90IHdlYi1jb21wYXRpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk1OTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzQ0NDIyNzI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdhcmVuLgorCisgICAg
ICAgIFNldCBhIGZsYWcgb24gdGhlIG5hdmlnYXRpb24gYWN0aW9uIHRvIGluZGljYXRlIGlmIHRo
ZSBwYWdlIHdhcyBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1v
cmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCisKKyAgICAgICAgKiBs
b2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6Omxv
YWRVUkwpOgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmg6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRPcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RE9NV2luZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIHBhZ2Uv
UGFnZS5oOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0T3BlbmVkVmlhV2luZG93
T3BlbldpdGhPcGVuZXIpOgorCiAyMDE4LTA5LTEzICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3Jp
LkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgd29ya2Fyb3VuZCBmb3IgZnJp
ZW5kIGNsYXNzIExhenlOZXZlckRlc3Ryb3llZDxYPiBzdGF0ZW1lbnRzIGZvciBNU1ZDCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IDQ3ZDU3ZmY0ZjRmZGY0Yjc5MWU2YjJkM2Y4OTNmYzgwNTk2MDIwYjUuLjg4MjM5MDY3
MzhlOTJkOGU0OWY4Y2NlNTNhZDA3NGI0YzNiZDM4ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTgtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBSZWdyZXNzaW9uKFBTT04pOiBzZXR0aW5nIHdpbmRvdy5vcGVuZXIgdG8gbnVsbCBhbGxvd3Mg
cHJvY2VzcyBzd2FwcGluZyBpbiBjYXNlcyB0aGF0IGFyZSBub3Qgd2ViLWNvbXBhdGlibGUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4OTU5MAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDQ0MjI3MjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2Vv
ZmZyZXkgR2FyZW4uCisKKyAgICAgICAgSWYgc2NyaXB0IGNhbGxzIHdpbmRvdy5vcGVuKCkgd2l0
aG91dCAnbm9vcGVuZXInIGFuZCB0aGUgbmV3bHkgbmF2aWdhdGVkIHdpbmRvdyBnZXRzIG5hdmln
YXRlZCBjcm9zcy1zaXRlLAorICAgICAgICB3ZSBhcmUgY3VycmVudGx5IHVuYWJsZSB0byBwcm9j
ZXNzLXN3YXAgYmVjYXVzZSB0aGUgb3BlbmVyIGhhcyBhIFdpbmRvd1Byb3h5IGhhbmRsZSB0byB0
aGlzIG5ldyBXaW5kb3cgYW5kCisgICAgICAgIG1heSBpbnRlcmFjdCB3aXRoIGl0ICh3aGljaCB3
ZSBjdXJyZW50bHkgZG8gbm90IHN1cHBvcnQgY3Jvc3MtcHJvY2VzcykuIFdlIHdlcmUgZGVhbGlu
ZyB3aXRoIHRoaXMgYnkgbm90CisgICAgICAgIHByb2Nlc3Mtc3dhcHBpbmcgaWYgd2luZG93Lm9w
ZW5lciBpcyBub3QgbnVsbC4gVGhpcyB3b3JrcyBtb3N0IG9mIHRoZSB0aW1lIGJ1dCBpcyBub3Qg
c3VmZmljaWVudCBiZWNhdXNlIHRoZQorICAgICAgICBvcGVuZXIgbWF5IGdldCBudWxsZWQgb3V0
LCB3aGlsZSB0aGUgb3BlbmVyIHN0aWxsIGhhcyBhIHZhbGlkIFdpbmRvd1Byb3h5IGhhbmRsZSB0
byBpdHMgb3BlbmVlLgorCisgICAgICAgIFRoZXJlZm9yZSwgd2Ugbm93IGFsc28gY2hlY2sgZm9y
IGEgZmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBmcmFtZSB3YXMgb3BlbmVkIHZpYSB3aW5kb3cub3Bl
bigpIHdpdGhvdXQKKyAgICAgICAgJ25vb29wZW5lcicuIFdlIHN0aWxsIG5lZWQgdG8gY2hlY2sg
aWYgdGhlIGJyb3dzaW5nIGNvbnRleHQgaGFzIGFuIG9wZW5lciBmb3IgYnJvd3NpbmcgY29udGV4
dCBjcmVhdGVkCisgICAgICAgIHZpYSA8YSB0YXJnZXQ9Il9ibGFuayI+IGZvciBleGFtcGxlICh0
aGUgb3BlbmVyIGRvZXMgbm90IGhhdmUgYSBoYW5kbGUgdG8gdGhlIG5ldyB3aW5kb3cgYnV0IHRo
ZSBvcGVuZWUKKyAgICAgICAgaGFzIGFjY2VzcyB0byBpdHMgb3BlbmVyKS4KKworICAgICAgICAq
IFNoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5hdmln
YXRpb25BY3Rpb25EYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOYXZpZ2F0
aW9uQWN0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvTmF2aWdhdGlvbkFjdGlv
bkRhdGEuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb24uaDoKKyAgICAg
ICAgKEFQSTo6TmF2aWdhdGlvbjo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgY29uc3Qp
OgorICAgICAgICAoQVBJOjpOYXZpZ2F0aW9uOjpzZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9w
ZW5lcik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NGb3JOYXZpZ2F0aW9uSW50ZXJuYWwpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKToKKwogMjAxOC0wOS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCByZWxlYXNlIGxvZ2dpbmcgdG8gaGVscCBkZWJ1ZyBQ
U09OIGlzc3VlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggNmFiNjg1
NTFmODU4NGQzZmFkZGJiZmI4MTk4YzhkNWQ1YTJmMDg1Ny4uMjBhMWY3ODRmMGQwNGEyZWMxOTYy
Y2VlNTAzZTA4NDdmODIyNWEwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3Bw
CkBAIC0xMzY0LDYgKzEzNjQsOCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkVVJMKEZyYW1lTG9h
ZFJlcXVlc3QmJiBmcmFtZUxvYWRSZXF1ZXN0LCBjb25zdCBTdHJpbmcmIHJlZgogCiAgICAgTmF2
aWdhdGlvbkFjdGlvbiBhY3Rpb24geyBmcmFtZUxvYWRSZXF1ZXN0LnJlcXVlc3RlcigpLCByZXF1
ZXN0LCBmcmFtZUxvYWRSZXF1ZXN0LmluaXRpYXRlZEJ5TWFpbkZyYW1lKCksIG5ld0xvYWRUeXBl
LCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCwgZnJhbWVMb2FkUmVxdWVzdC5zaG91bGRPcGVuRXh0
ZXJuYWxVUkxzUG9saWN5KCksIGZyYW1lTG9hZFJlcXVlc3QuZG93bmxvYWRBdHRyaWJ1dGUoKSB9
OwogICAgIGFjdGlvbi5zZXRJc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oZnJhbWVM
b2FkUmVxdWVzdC5pc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24oKSk7CisgICAgaWYg
KG1fZnJhbWUucGFnZSgpICYmIG1fZnJhbWUucGFnZSgpLT5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0
aE9wZW5lcigpKQorICAgICAgICBhY3Rpb24uc2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIoKTsKICAgICBhY3Rpb24uc2V0SGFzT3BlbmVkRnJhbWVzKCFtX29wZW5lZEZyYW1lcy5pc0Vt
cHR5KCkpOwogICAgIGlmIChhdXRvKiBvcGVuZXIgPSB0aGlzLT5vcGVuZXIoKSkgewogICAgICAg
ICBhdXRvIHBhZ2VJRCA9IG9wZW5lci0+bG9hZGVyKCkuY2xpZW50KCkucGFnZUlEKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaAppbmRleCA3NDBkNTEzOTRlYjc4Yjlk
MTM3NTQyMWRmM2YwY2I0MWYzMDZiMTJhLi45NWJjZTIyOWJjODE1Nzk4MjVlODliZmYyODhhMjMw
YWIzYmY4MTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFj
dGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgKQEAg
LTEyNiw2ICsxMjYsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNPcGVuZWRGcmFtZXMoKSBjb25z
dCB7IHJldHVybiBtX2hhc09wZW5lZEZyYW1lczsgfQogICAgIHZvaWQgc2V0SGFzT3BlbmVkRnJh
bWVzKGJvb2wgdmFsdWUpIHsgbV9oYXNPcGVuZWRGcmFtZXMgPSB2YWx1ZTsgfQogCisgICAgYm9v
bCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fb3BlbmVk
VmlhV2luZG93T3BlbldpdGhPcGVuZXI7IH0KKyAgICB2b2lkIHNldE9wZW5lZFZpYVdpbmRvd09w
ZW5XaXRoT3BlbmVyKCkgeyBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0gdHJ1ZTsg
fQorCiAgICAgdm9pZCBzZXRUYXJnZXRCYWNrRm9yd2FyZEl0ZW0oSGlzdG9yeUl0ZW0mKTsKICAg
ICBjb25zdCBzdGQ6Om9wdGlvbmFsPEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+JiB0YXJnZXRC
YWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXRCYWNrRm9y
d2FyZEl0ZW1JZGVudGlmaWVyOyB9CiAKQEAgLTE0NCw2ICsxNDcsNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgbV90cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb247CiAgICAgYm9vbCBtX2lzQ3Jvc3NP
cmlnaW5XaW5kb3dPcGVuTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc09wZW5l
ZEZyYW1lcyB7IGZhbHNlIH07CisgICAgYm9vbCBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3Bl
bmVyIHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPFBhZ2VJREFuZEZyYW1lSURQYWlyPiBt
X29wZW5lcjsKICAgICBzdGQ6Om9wdGlvbmFsPEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+IG1f
dGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKaW5kZXggMDRmYzMwNTQ5YjI2YjMzNjFhYmUxNmVhZDk0ZTQ0OTI5YTM4NmQwYy4uZmI2
ODUwN2RiMTgxZjk2NzIwYjJkOTgxODA0YzM0NDU3NTZmYWYzZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9N
V2luZG93LmNwcApAQCAtMjI2NCw4ICsyMjY0LDEwIEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxGcmFt
ZT4+IERPTVdpbmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25z
CiAgICAgaWYgKCFuZXdGcmFtZSkKICAgICAgICAgcmV0dXJuIFJlZlB0cjxGcmFtZT4geyBudWxs
cHRyIH07CiAKLSAgICBpZiAoIXdpbmRvd0ZlYXR1cmVzLm5vb3BlbmVyKQorICAgIGlmICghd2lu
ZG93RmVhdHVyZXMubm9vcGVuZXIpIHsKICAgICAgICAgbmV3RnJhbWUtPmxvYWRlcigpLnNldE9w
ZW5lcigmb3BlbmVyRnJhbWUpOworICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRPcGVuZWRW
aWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpOworICAgIH0KICAgICBuZXdGcmFtZS0+cGFnZSgpLT5z
ZXRPcGVuZWRCeURPTSgpOwogCiAgICAgaWYgKG5ld0ZyYW1lLT5kb2N1bWVudCgpLT5kb21XaW5k
b3coKS0+aXNJbnNlY3VyZVNjcmlwdEFjY2VzcyhhY3RpdmVXaW5kb3csIGNvbXBsZXRlZFVSTCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZS5oCmluZGV4IDZjMWQ0MzJmOWRhMjVjZWQ4MmJlMzU4Yjk5MTk3ODZjYmY5ZjYy
YzAuLjI0YjQxZGUzZDYxZmExNjgxODgyMWVkMzBjZDdlN2I5NGY2ODBkNzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5oCkBAIC0yMDIsNiArMjAyLDkgQEAgcHVibGljOgogICAgIGJvb2wgb3BlbmVkQnlET00oKSBj
b25zdDsKICAgICB2b2lkIHNldE9wZW5lZEJ5RE9NKCk7CiAKKyAgICBib29sIG9wZW5lZFZpYVdp
bmRvd09wZW5XaXRoT3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZWRWaWFXaW5kb3dPcGVu
V2l0aE9wZW5lcjsgfQorICAgIHZvaWQgc2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIo
KSB7IG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgPSB0cnVlOyB9CisKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGdvVG9JdGVtKEhpc3RvcnlJdGVtJiwgRnJhbWVMb2FkVHlwZSwgU2hv
dWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0
R3JvdXBOYW1lKGNvbnN0IFN0cmluZyYpOwpAQCAtNzUwLDYgKzc1Myw3IEBAIHByaXZhdGU6CiAg
ICAgaW50IG1fc3ViZnJhbWVDb3VudCB7IDAgfTsKICAgICBTdHJpbmcgbV9ncm91cE5hbWU7CiAg
ICAgYm9vbCBtX29wZW5lZEJ5RE9NIHsgZmFsc2UgfTsKKyAgICBib29sIG1fb3BlbmVkVmlhV2lu
ZG93T3BlbldpdGhPcGVuZXIgeyBmYWxzZSB9OwogCiAgICAgYm9vbCBtX3RhYktleUN5Y2xlc1Ro
cm91Z2hFbGVtZW50cyB7IHRydWUgfTsKICAgICBib29sIG1fZGVmZXJzTG9hZGluZyB7IGZhbHNl
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHAKaW5k
ZXggN2Y1MmY0MWI0NzAxYWQxNmM3NjNmOWY0YjQwZmU3NDNhYmU3ZjM0OC4uOTU0OTZkYWIwYzcx
ZmM1MDg5NzVlZTdlMGYzNmMwMGM2NTljOGQ2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcApAQCAtNDgsNiArNDgsNyBAQCB2b2lkIE5hdmlnYXRp
b25BY3Rpb25EYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uOwogICAgIGVuY29kZXIgPDwgaXND
cm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uOwogICAgIGVuY29kZXIgPDwgaGFzT3BlbmVk
RnJhbWVzOworICAgIGVuY29kZXIgPDwgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7CiAg
ICAgZW5jb2RlciA8PCBvcGVuZXI7CiAgICAgZW5jb2RlciA8PCB0YXJnZXRCYWNrRm9yd2FyZEl0
ZW1JZGVudGlmaWVyOwogfQpAQCAtMTEzLDYgKzExNCwxMSBAQCBzdGQ6Om9wdGlvbmFsPE5hdmln
YXRpb25BY3Rpb25EYXRhPiBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2Rl
ciYgZAogICAgIGlmICghaGFzT3BlbmVkRnJhbWVzKQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9w
ZW5lcjsKKyAgICBkZWNvZGVyID4+IG9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOworICAg
IGlmICghb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVp
bnQ2NF90LCB1aW50NjRfdD4+PiBvcGVuZXI7CiAgICAgZGVjb2RlciA+PiBvcGVuZXI7CiAgICAg
aWYgKCFvcGVuZXIpCkBAIC0xMjUsNyArMTMxLDcgQEAgc3RkOjpvcHRpb25hbDxOYXZpZ2F0aW9u
QWN0aW9uRGF0YT4gTmF2aWdhdGlvbkFjdGlvbkRhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGQK
ICAgICAgICAgCiAgICAgcmV0dXJuIHt7IFdURk1vdmUobmF2aWdhdGlvblR5cGUpLCBXVEZNb3Zl
KG1vZGlmaWVycyksIFdURk1vdmUobW91c2VCdXR0b24pLCBXVEZNb3ZlKHN5bnRoZXRpY0NsaWNr
VHlwZSksIFdURk1vdmUoKnVzZXJHZXN0dXJlVG9rZW5JZGVudGlmaWVyKSwKICAgICAgICAgV1RG
TW92ZSgqY2FuSGFuZGxlUmVxdWVzdCksIFdURk1vdmUoc2hvdWxkT3BlbkV4dGVybmFsVVJMc1Bv
bGljeSksIFdURk1vdmUoKmRvd25sb2FkQXR0cmlidXRlKSwgV1RGTW92ZShjbGlja0xvY2F0aW9u
SW5Sb290Vmlld0Nvb3JkaW5hdGVzKSwKLSAgICAgICAgV1RGTW92ZSgqaXNSZWRpcmVjdCksICp0
cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb24sICppc0Nyb3NzT3JpZ2luV2luZG93T3Blbk5hdmln
YXRpb24sICpoYXNPcGVuZWRGcmFtZXMsIFdURk1vdmUoKm9wZW5lciksIFdURk1vdmUoKnRhcmdl
dEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXIpIH19OworICAgICAgICBXVEZNb3ZlKCppc1JlZGly
ZWN0KSwgKnRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiwgKmlzQ3Jvc3NPcmlnaW5XaW5kb3dP
cGVuTmF2aWdhdGlvbiwgKmhhc09wZW5lZEZyYW1lcywgKm9wZW5lZFZpYVdpbmRvd09wZW5XaXRo
T3BlbmVyLCBXVEZNb3ZlKCpvcGVuZXIpLCBXVEZNb3ZlKCp0YXJnZXRCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyKSB9fTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuaAppbmRleCAwOWRiNTc1NjQxZjZiYzI2MzZi
NzZiYzI4Yzc1MDkwZTM0MDFhMDQ2Li43OTAwOGQ4NDU2MTlhZjYxMjI3NTRhMzFmOGRiNGI0YTk2
NGExZjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9u
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgK
QEAgLTU0LDYgKzU0LDcgQEAgc3RydWN0IE5hdmlnYXRpb25BY3Rpb25EYXRhIHsKICAgICBib29s
IHRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiB7IGZhbHNlIH07CiAgICAgYm9vbCBpc0Nyb3Nz
T3JpZ2luV2luZG93T3Blbk5hdmlnYXRpb24geyBmYWxzZSB9OwogICAgIGJvb2wgaGFzT3BlbmVk
RnJhbWVzIHsgZmFsc2UgfTsKKyAgICBib29sIG9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVy
IHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50NjRfdCwgdWludDY0
X3Q+PiBvcGVuZXI7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpCYWNrRm9yd2FyZEl0ZW1J
ZGVudGlmaWVyPiB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCmluZGV4IDBmOTVmYzVmOWIyMWQy
NWU2MTBmYTgwZjIzY2MwNDA1ZDVjNTNmMzIuLmFiZDg1YzczZWJhNjk5OTE3MTNmODgyMmNmMzE2
NTUzMjU1YTdiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElO
YXZpZ2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b24uaApAQCAtOTQsNiArOTQsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIYXNPcGVuZWRGcmFt
ZXMoYm9vbCB2YWx1ZSkgeyBtX2hhc09wZW5lZEZyYW1lcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBo
YXNPcGVuZWRGcmFtZXMoKSBjb25zdCB7IHJldHVybiBtX2hhc09wZW5lZEZyYW1lczsgfQogCisg
ICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1f
b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXI7IH0KKyAgICB2b2lkIHNldE9wZW5lZFZpYVdp
bmRvd09wZW5XaXRoT3BlbmVyKCkgeyBtX29wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0g
dHJ1ZTsgfQorCiAgICAgdm9pZCBzZXRPcGVuZXIoY29uc3Qgc3RkOjpvcHRpb25hbDxzdGQ6OnBh
aXI8dWludDY0X3QsIHVpbnQ2NF90Pj4mIG9wZW5lcikgeyBtX29wZW5lciA9IG9wZW5lcjsgfQog
ICAgIGNvbnN0IHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4+JiBv
cGVuZXIoKSBjb25zdCB7IHJldHVybiBtX29wZW5lcjsgfQogCkBAIC0xMjEsNiArMTI0LDcgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faXNDcm9zc09yaWdpbldpbmRvd09wZW5OYXZpZ2F0aW9uIHsgZmFsc2Ug
fTsKICAgICBib29sIG1faGFzT3BlbmVkRnJhbWVzIHsgZmFsc2UgfTsKKyAgICBib29sIG1fb3Bl
bmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8
c3RkOjpwYWlyPHVpbnQ2NF90LCB1aW50NjRfdD4+IG1fb3BlbmVyOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggN2VjYThmZGZiNjc3NmMzMDU1MzUy
YzgyMDA2MWI3ZThjMWQ5YTA2OC4uMjFmMDFjM2JhMjQ1ZGNiZjMyZjc0MDllMDAzOTNmN2NkOWNj
ODk1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC00MDIw
LDYgKzQwMjAsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbih1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDbwogICAgIG5hdmlnYXRpb24tPnNl
dFRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbihuYXZpZ2F0aW9uQWN0aW9uRGF0YS50cmVhdEFz
U2FtZU9yaWdpbk5hdmlnYXRpb24pOwogICAgIG5hdmlnYXRpb24tPnNldElzQ3Jvc3NPcmlnaW5X
aW5kb3dPcGVuTmF2aWdhdGlvbihuYXZpZ2F0aW9uQWN0aW9uRGF0YS5pc0Nyb3NzT3JpZ2luV2lu
ZG93T3Blbk5hdmlnYXRpb24pOwogICAgIG5hdmlnYXRpb24tPnNldEhhc09wZW5lZEZyYW1lcyhu
YXZpZ2F0aW9uQWN0aW9uRGF0YS5oYXNPcGVuZWRGcmFtZXMpOworICAgIGlmIChuYXZpZ2F0aW9u
QWN0aW9uRGF0YS5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcikKKyAgICAgICAgbmF2aWdh
dGlvbi0+c2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKTsKICAgICBuYXZpZ2F0aW9u
LT5zZXRPcGVuZXIobmF2aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVyKTsKIAogI2lmIEVOQUJMRShD
T05URU5UX0ZJTFRFUklORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAppbmRleCA5NTM0MWE0MGQwZjdjNmY4NzAxN2U3ZjlmY2Y4MjMyMmIxMjZhZjEyLi41MTMz
ZmY2NjRmZmVjMGYwMGNhYzg4MWI2OTg3ZDU2MDBlZDM4MzY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC0yMTUzLDYgKzIxNTMsMTMgQEAgUmVmPFdl
YlByb2Nlc3NQcm94eT4gV2ViUHJvY2Vzc1Bvb2w6OnByb2Nlc3NGb3JOYXZpZ2F0aW9uSW50ZXJu
YWwoV2ViUGFnZVByb3h5JgogICAgICAgICByZXR1cm4gY3JlYXRlTmV3V2ViUHJvY2VzcyhwYWdl
LndlYnNpdGVEYXRhU3RvcmUoKSk7CiAgICAgfQogCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBz
dXBwb3J0IHByb2Nlc3Mgc3dhcCB3aGVuIGEgd2luZG93IGhhcyBiZWVuIG9wZW5lZCB2aWEgd2lu
ZG93Lm9wZW4oKSB3aXRob3V0ICdub29wZW5lcicuCisgICAgLy8gVGhlIGlzc3VlIGlzIHRoYXQg
dGhlIG9wZW5lciBoYXMgYSBoYW5kbGUgdG8gdGhlIFdpbmRvd1Byb3h5LgorICAgIGlmIChuYXZp
Z2F0aW9uLm9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKCkpIHsKKyAgICAgICAgcmVhc29u
ID0gIkJyb3dzaW5nIGNvbnRleHQgYmVlbiBvcGVuZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91
dCAnbm9vcGVuZXInIl9zOworICAgICAgICByZXR1cm4gcGFnZS5wcm9jZXNzKCk7CisgICAgfQor
CiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBzdXBwb3J0IHByb2Nlc3Mgc3dhcCB3aGVuIGEgd2lu
ZG93IGhhcyBhbiBvcGVuZXIuCiAgICAgaWYgKG5hdmlnYXRpb24ub3BlbmVyKCkpIHsKICAgICAg
ICAgcmVhc29uID0gIkJyb3dzaW5nIGNvbnRleHQgaGFzIGFuIG9wZW5lciJfczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDM1MDMwNzIwMjU1MDFiZjU2YjBlYmZmYmFiNmMy
NWMxODQ5MDJhMTkuLjViMWYzN2E3OWVjYzJjODMwYzMzNWI2ZDFhMDQ5ZjM2MjY3NDQ1MDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtODY4LDYgKzg2OCw3IEBAIHZvaWQg
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFj
dGlvbihjb25zdCBOYXZpZ2F0CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEudHJlYXRBc1NhbWVP
cmlnaW5OYXZpZ2F0aW9uID0gbmF2aWdhdGlvbkFjdGlvbi50cmVhdEFzU2FtZU9yaWdpbk5hdmln
YXRpb24oKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5pc0Nyb3NzT3JpZ2luV2luZG93T3Bl
bk5hdmlnYXRpb24gPSBuYXZpZ2F0aW9uQWN0aW9uLmlzQ3Jvc3NPcmlnaW5XaW5kb3dPcGVuTmF2
aWdhdGlvbigpOwogICAgIG5hdmlnYXRpb25BY3Rpb25EYXRhLmhhc09wZW5lZEZyYW1lcyA9IG5h
dmlnYXRpb25BY3Rpb24uaGFzT3BlbmVkRnJhbWVzKCk7CisgICAgbmF2aWdhdGlvbkFjdGlvbkRh
dGEub3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgPSBuYXZpZ2F0aW9uQWN0aW9uLm9wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKCk7CiAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEub3Bl
bmVyID0gbmF2aWdhdGlvbkFjdGlvbi5vcGVuZXIoKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0
YS50YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyID0gbmF2aWdhdGlvbkFjdGlvbi50YXJn
ZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlY2QwNGUxN2I0M2UwNGQ1
MjAxNDI1MWE1MmQ4N2M2Y2Q1OTQ3NDE3Li41ZDY3NmVkMDYzMGJlOTEzNzY3ZDZlMGRkN2IyNTNl
NjY5NzEzNTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTgtMDktMTMgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKFBTT04pOiBzZXR0aW5n
IHdpbmRvdy5vcGVuZXIgdG8gbnVsbCBhbGxvd3MgcHJvY2VzcyBzd2FwcGluZyBpbiBjYXNlcyB0
aGF0IGFyZSBub3Qgd2ViLWNvbXBhdGlibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4OTU5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ0MjI3
MjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCisKKyAgICAgICAgQWRk
IGxheW91dCB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9uYXZpZ2F0aW9u
L3Jlc291cmNlcy9uYXZpZ2F0ZS1oZWxwZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1i
YWNrLXNhbWUtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5hdmlnYXRlZC1iYWNr
LXNhbWUtb3JpZ2luLmh0bWw6IEFkZGVkLgorCiAyMDE4LTA5LTEzICBEZWFuIEphY2tzb24gIDxk
aW5vQGdyb3JnLm9yZz4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg5NTk0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25hdmln
YXRpb24vcmVzb3VyY2VzL25hdmlnYXRlLWhlbHBlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0ZS1oZWxwZXIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kZmM5ZTZlY2RiYjBjMzg5ZWFmMGU3MDhjY2EzOGM0MTg2M2JiNzZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0
ZS1oZWxwZXIuaHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+Cis8c2NyaXB0Pgorb25tZXNzYWdlID0gKG1zZykgPT4geworICAgIHNldFRpbWVvdXQo
KCkgPT4geworICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBtc2cuZGF0YS5uYXZpZ2F0ZTsKKyAg
ICB9LCAwKTsKK307Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1vcmlnaW4t
dGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRoZW4tbmF2
aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwOWFiM2Zm
YzUzM2U5MTZhYWUwNzU4YTgxYzFhYTY4NWVhZjJmNWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25hdmlnYXRpb24vd2luZG93LW9wZW4tY3Jvc3Mtb3JpZ2luLXRo
ZW4tbmF2aWdhdGVkLWJhY2stc2FtZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAg
QEAKK1Rlc3RzIHRoYXQgcHJvY2VzcyBzd2FwIG9uIG5hdmlnYXRpb24gZG9lcyBub3QgYnJlYWsg
bmF2aWdhdGluZyBiYWNrIGNyb3NzLW9yaWdpbiBhIGNyb3NzLW9yaWdpbiB3aW5kb3cuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHcubG9jYXRpb24uaHJlZiBpcyAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVzb3VyY2VzL290aGVycGFnZS5odG1sIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9z
cy1vcmlnaW4tdGhlbi1uYXZpZ2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3dpbmRvdy1vcGVuLWNyb3NzLW9yaWdpbi10aGVuLW5h
dmlnYXRlZC1iYWNrLXNhbWUtb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJjYmVhOGQ0YzU1MGU3
Njg4ZTQ3ZGVmNTc0MzE1NTJkM2RhNzUxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvbmF2aWdhdGlvbi93aW5kb3ctb3Blbi1jcm9zcy1vcmlnaW4tdGhlbi1uYXZp
Z2F0ZWQtYmFjay1zYW1lLW9yaWdpbi5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlv
bigiVGVzdHMgdGhhdCBwcm9jZXNzIHN3YXAgb24gbmF2aWdhdGlvbiBkb2VzIG5vdCBicmVhayBu
YXZpZ2F0aW5nIGJhY2sgY3Jvc3Mtb3JpZ2luIGEgY3Jvc3Mtb3JpZ2luIHdpbmRvdy4iKTsKK2pz
VGVzdElzQXN5bmMgPSB0cnVlOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1
bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworCitmdW5jdGlvbiB3YXNOYXZpZ2F0ZWRTYW1lT3Jp
Z2luKCkKK3sKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIncubG9jYXRpb24uaHJlZiIsICJo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvbmF2aWdhdGlvbi9yZXNvdXJjZXMvb3RoZXJwYWdlLmh0bWwi
KTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZnVuY3Rpb24gd2FzTmF2aWdhdGVkQ3Jvc3NP
cmlnaW4oKQoreworICAgIC8vIE5hdmlnYXRlIGJhY2sgc2FtZSBvcmlnaW4uCisgICAgdy5wb3N0
TWVzc2FnZSh7IG5hdmlnYXRlOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL25hdmlnYXRpb24vcmVz
b3VyY2VzL290aGVycGFnZS5odG1sIiB9LCAiKiIpOworICAgIGhhbmRsZSA9IHNldEludGVydmFs
KCgpID0+IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHcubmFtZTsKKyAgICAgICAgICAg
IGNsZWFySW50ZXJ2YWwoaGFuZGxlKTsKKyAgICAgICAgICAgIHdhc05hdmlnYXRlZFNhbWVPcmln
aW4oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgIH0KKyAgICB9LCAxMCk7Cit9CisK
K29ubG9hZCA9IGZ1bmN0aW9uKCkgeworICAgIHcgPSB3aW5kb3cub3BlbigpOworICAgIHcub3Bl
bmVyID0gbnVsbDsKKyAgICB3LmxvY2F0aW9uID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9uYXZp
Z2F0aW9uL3Jlc291cmNlcy9uYXZpZ2F0ZS1oZWxwZXIuaHRtbCI7CisgICAgaGFuZGxlID0gc2V0
SW50ZXJ2YWwoKCkgPT4geworICAgICAgICB0cnkgeworICAgICAgICAgICAgdy5uYW1lOworICAg
ICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaGFuZGxlKTsKKyAg
ICAgICAgICAgIHdhc05hdmlnYXRlZENyb3NzT3JpZ2luKCk7CisgICAgICAgIH0KKyAgICB9LCAx
MCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>