<?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>220615</bug_id>
          
          <creation_ts>2021-01-13 20:22:08 -0800</creation_ts>
          <short_desc>[non-Cocoa] Add a new AuxiliaryProcessMainBase class for auxiliary processes without singleton()</short_desc>
          <delta_ts>2021-01-17 11:56:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719523</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-13 20:22:08 -0800</bug_when>
    <thetext>[non-Cocoa] Add a new AuxiliaryProcessMainBase class for auxiliary processes without singleton()

non-Cocoa ports are using AuxiliaryProcessMain as entry point
utility. AuxiliaryProcessMain supports both kinds of auxiliary
processes with and without singleton() method by using
initializeAuxiliaryProcess template function. However,
initializeAuxiliaryProcess looks similar code. They can share
more code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719525</commentid>
    <comment_count>1</comment_count>
      <attachid>417592</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-13 20:29:56 -0800</bug_when>
    <thetext>Created attachment 417592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720187</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-01-17 11:55:27 -0800</bug_when>
    <thetext>Committed r271563: &lt;https://trac.webkit.org/changeset/271563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1720188</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-17 11:56:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/73300939&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417592</attachid>
            <date>2021-01-13 20:29:56 -0800</date>
            <delta_ts>2021-01-16 16:19:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220615-20210114132955.patch</filename>
            <type>text/plain</type>
            <size>18593</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3YmZlNjgwNjMwY2QyZTZl
MDgwYmExYWVmODExYzE1Y2E5ZTY1ZDIuLmMyNGM4OTk0MmI4OTYwNjA2MDc2ZjM0MmQ5OGYzODRl
ZThiYWJlNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjQgQEAKKzIwMjEtMDEtMTMgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW25vbi1Db2NvYV0g
QWRkIGEgbmV3IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSBjbGFzcyBmb3IgYXV4aWxpYXJ5IHBy
b2Nlc3NlcyB3aXRob3V0IHNpbmdsZXRvbigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2MTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBub24tQ29jb2EgcG9ydHMgYXV4aWxpYXJ5IHByb2Nlc3NlcyBh
cmUgdXNpbmcgQXV4aWxpYXJ5UHJvY2Vzc01haW4KKyAgICAgICAgYXMgdGhlIGVudHJ5IHBvaW50
cy4gQXV4aWxpYXJ5UHJvY2Vzc01haW4gc3VwcG9ydHMgYm90aCBraW5kcyBvZgorICAgICAgICBh
dXhpbGlhcnkgcHJvY2Vzc2VzIHdpdGggYW5kIHdpdGhvdXQgc2luZ2xldG9uKCkgbWV0aG9kIGJ5
IHVzaW5nCisgICAgICAgIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzIHRlbXBsYXRlIGZ1bmN0
aW9uLiBIb3dldmVyLCBhbGwKKyAgICAgICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3MgbG9v
ayBzaW1pbGFyIGNvZGUuIFRoZXkgY2FuIHNoYXJlIG1vcmUKKyAgICAgICAgY29kZS4KKworICAg
ICAgICBBZGRlZCBhIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZU5vU2luZ2xldG9uIHRlbXBsYXRl
IGNsYXNzIGZvcgorICAgICAgICBhdXhpbGlhcnkgcHJvY2Vzc2VzIHdpdGhvdXQgc2luZ2xldG9u
KCkuCisKKyAgICAgICAgTW92ZWQgdGhlIGNvZGUgdGhhdCB3YXMgaW4gQXV4aWxpYXJ5UHJvY2Vz
c01haW4gdG8KKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlOjpydW4oKSB0byByZW1v
dmUKKyAgICAgICAgdGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpLgorCisgICAgICAgICog
R1BVUHJvY2Vzcy9nc3RyZWFtZXIvR1BVUHJvY2Vzc01haW5HU3RyZWFtZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVB
dXhpbGlhcnlQcm9jZXNzPEdQVVByb2Nlc3M+KTogRGVsZXRlZC4KKyAgICAgICAgKiBHUFVQcm9j
ZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NNYWluUGxheVN0YXRpb24uY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVQcm9jZXNzTWFpbik6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVBdXhp
bGlhcnlQcm9jZXNzPEdQVVByb2Nlc3M+KTogRGVsZXRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNz
L3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NN
YWluKToKKyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8R1BVUHJv
Y2Vzcz4pOiBEZWxldGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1By
b2Nlc3NNYWluQ3VybC5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzTWFpbik6
CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPE5ldHdvcmtQcm9j
ZXNzPik6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJv
Y2Vzc01haW5Tb3VwLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NNYWluKToK
KyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8TmV0d29ya1Byb2Nl
c3M+KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaDoK
KyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlOjpwbGF0Zm9ybUluaXRp
YWxpemUpOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnBsYXRm
b3JtRmluYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6
OmluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5
UHJvY2Vzc01haW5CYXNlOjpydW4pOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNz
TWFpbkJhc2VOb1NpbmdsZXRvbjo6cHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFy
eVByb2Nlc3NNYWluKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNl
Ojppbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpB
dXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnRha2VJbml0aWFsaXphdGlvblBhcmFtZXRlcnMpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0Ojppbml0aWFsaXplQXV4aWxpYXJ5UHJvY2Vzcyk6IERl
bGV0ZWQuCisgICAgICAgICogU2hhcmVkL3VuaXgvQXV4aWxpYXJ5UHJvY2Vzc01haW4uY3BwOgor
ICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzTWFpbkNvbW1vbjo6cGFyc2VDb21tYW5k
TGluZSk6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTo6cGFyc2VD
b21tYW5kTGluZSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL3dpbi9BdXhpbGlhcnlQcm9j
ZXNzTWFpbldpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1eGlsaWFyeVByb2Nlc3NNYWluQ29t
bW9uOjpwYXJzZUNvbW1hbmRMaW5lKToKKyAgICAgICAgKFdlYktpdDo6QXV4aWxpYXJ5UHJvY2Vz
c01haW5CYXNlOjpwYXJzZUNvbW1hbmRMaW5lKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NNYWluKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWlu
UGxheVN0YXRpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc01haW5XaW4uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzTWFpbik6CisgICAgICAgICogV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vz
c01haW5XUEUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzTWFpbik6CisKIDIwMjEt
MDEtMTMgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUENN
OiBPdXRwdXQgbG9ncyBieSBkZWZhdWx0LCBpbmNsdWRpbmcgdG8gV2ViIEluc3BlY3RvcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dzdHJlYW1lci9HUFVQcm9jZXNzTWFp
bkdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVBy
b2Nlc3NNYWluR1N0cmVhbWVyLmNwcAppbmRleCAxNTVhYjZlODhmNWY2Yjc5ZWYzYmNkNTg0ODdi
NzVjN2E5ZGU0ZGM2Li4zZDUwNWM5ZDZmYjhkZDM1ODEwZDAyNTgwYjVkZTRiZmM5ODhkN2M1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVyL0dQVVByb2Nlc3NN
YWluR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3N0cmVhbWVy
L0dQVVByb2Nlc3NNYWluR1N0cmVhbWVyLmNwcApAQCAtMzMsMjYgKzMzLDEyIEBACiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1zdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQVVByb2Nl
c3M7Ci0KLWNsYXNzIEdQVVByb2Nlc3NNYWluR1N0cmVhbWVyIGZpbmFsOiBwdWJsaWMgQXV4aWxp
YXJ5UHJvY2Vzc01haW5CYXNlIHsKLXB1YmxpYzoKLSAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6
ZSgpIG92ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CitjbGFzcyBH
UFVQcm9jZXNzTWFpbkdTdHJlYW1lciBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWlu
QmFzZU5vU2luZ2xldG9uPEdQVVByb2Nlc3M+IHsKIH07CiAKLXRlbXBsYXRlPD4KLXZvaWQgaW5p
dGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8R1BVUHJvY2Vzcz4oQXV4aWxpYXJ5UHJvY2Vzc0luaXRp
YWxpemF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCi17Ci0gICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEdQVVByb2Nlc3M+IGdwdVByb2Nlc3MoV1RGTW92ZShwYXJhbWV0ZXJzKSk7Ci0gICAg
Z2xvYmFsR1BVUHJvY2VzcyA9ICZncHVQcm9jZXNzLmdldCgpOwotfQotCiBpbnQgR1BVUHJvY2Vz
c01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIHJldHVybiBBdXhpbGlhcnlQcm9j
ZXNzTWFpbjxHUFVQcm9jZXNzLCBHUFVQcm9jZXNzTWFpbkdTdHJlYW1lcj4oYXJnYywgYXJndik7
CisgICAgcmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nlc3NNYWluR1N0cmVhbWVy
PihhcmdjLCBhcmd2KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vzc01haW5QbGF5U3Rh
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvcGxheXN0YXRpb24vR1BVUHJvY2Vz
c01haW5QbGF5U3RhdGlvbi5jcHAKaW5kZXggNzRlMThmZmMzMWYyMDU0N2E2ZDc4MzY5NjgyMDk2
YTJlM2RhMGVmYy4uMDZhMWQyNGRlZWE5NzhlNjg5MjMxNDUxMGIwZDhlZmQ1MzM3N2MxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3BsYXlzdGF0aW9uL0dQVVByb2Nlc3NN
YWluUGxheVN0YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9wbGF5c3Rh
dGlvbi9HUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uLmNwcApAQCAtMzMsMjYgKzMzLDEyIEBACiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgUmVmUHRyPEdQVVByb2Nlc3M+IGdsb2JhbEdQ
VVByb2Nlc3M7Ci0KLWNsYXNzIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1Ymxp
YyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgewotcHVibGljOgotICAgIGJvb2wgcGxhdGZvcm1J
bml0aWFsaXplKCkgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
K2NsYXNzIEdQVVByb2Nlc3NNYWluUGxheVN0YXRpb24gZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQ
cm9jZXNzTWFpbkJhc2VOb1NpbmdsZXRvbjxHUFVQcm9jZXNzPiB7CiB9OwogCi10ZW1wbGF0ZTw+
Ci12b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPEdQVVByb2Nlc3M+KEF1eGlsaWFyeVBy
b2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQotewotICAgIHN0YXRp
YyBOZXZlckRlc3Ryb3llZDxHUFVQcm9jZXNzPiBncHVQcm9jZXNzKFdURk1vdmUocGFyYW1ldGVy
cykpOwotICAgIGdsb2JhbEdQVVByb2Nlc3MgPSAmZ3B1UHJvY2Vzcy5nZXQoKTsKLX0KLQogaW50
IEdQVVByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKLSAgICByZXR1cm4gQXV4
aWxpYXJ5UHJvY2Vzc01haW48R1BVUHJvY2VzcywgR1BVUHJvY2Vzc01haW5QbGF5U3RhdGlvbj4o
YXJnYywgYXJndik7CisgICAgcmV0dXJuIEF1eGlsaWFyeVByb2Nlc3NNYWluPEdQVVByb2Nlc3NN
YWluUGxheVN0YXRpb24+KGFyZ2MsIGFyZ3YpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy93aW4vR1BVUHJvY2Vzc01haW5X
aW4uY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5j
cHAKaW5kZXggNzRlMThmZmMzMWYyMDU0N2E2ZDc4MzY5NjgyMDk2YTJlM2RhMGVmYy4uZjAxZTYz
OWQ5ZDc4YjgwMmEzMDkxNDUwNTMyYTk0NmYwMGM2ODZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL3dpbi9HUFVQcm9jZXNzTWFpbldpbi5jcHAKQEAgLTMzLDI2ICszMywx
MiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIFJlZlB0cjxHUFVQcm9jZXNzPiBn
bG9iYWxHUFVQcm9jZXNzOwotCi1jbGFzcyBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uIGZpbmFs
OiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlIHsKLXB1YmxpYzoKLSAgICBib29sIHBs
YXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9CitjbGFzcyBHUFVQcm9jZXNzTWFpbldpbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVBy
b2Nlc3NNYWluQmFzZU5vU2luZ2xldG9uPEdQVVByb2Nlc3M+IHsKIH07CiAKLXRlbXBsYXRlPD4K
LXZvaWQgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8R1BVUHJvY2Vzcz4oQXV4aWxpYXJ5UHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCi17Ci0gICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEdQVVByb2Nlc3M+IGdwdVByb2Nlc3MoV1RGTW92ZShwYXJhbWV0ZXJz
KSk7Ci0gICAgZ2xvYmFsR1BVUHJvY2VzcyA9ICZncHVQcm9jZXNzLmdldCgpOwotfQotCiBpbnQg
R1BVUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIHJldHVybiBBdXhp
bGlhcnlQcm9jZXNzTWFpbjxHUFVQcm9jZXNzLCBHUFVQcm9jZXNzTWFpblBsYXlTdGF0aW9uPihh
cmdjLCBhcmd2KTsKKyAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48R1BVUHJvY2Vzc01h
aW5XaW4+KGFyZ2MsIGFyZ3YpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vzc01haW5D
dXJsLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrUHJvY2Vz
c01haW5DdXJsLmNwcAppbmRleCBmZTgyOGZlYTgyMmVkNDRmOTQzYjk4YWUzNzc2YmVlNmI2MGZl
MTcwLi40NmI4ZmEzZDdlYTg0NDg2OTQyOTM3MjA3NDllODlkMjVjMzlkNzlkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya1Byb2Nlc3NNYWluQ3Vy
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtQcm9j
ZXNzTWFpbkN1cmwuY3BwCkBAIC0zMSwyNiArMzEsMTcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKLXN0YXRpYyBSZWZQdHI8TmV0d29ya1Byb2Nlc3M+IGdsb2JhbE5ldHdvcmtQcm9jZXNzOwot
Ci1jbGFzcyBOZXR3b3JrUHJvY2Vzc01haW5DdXJsIGZpbmFsOiBwdWJsaWMgQXV4aWxpYXJ5UHJv
Y2Vzc01haW5CYXNlIHsKK2NsYXNzIE5ldHdvcmtQcm9jZXNzTWFpbkN1cmwgZmluYWw6IHB1Ymxp
YyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2VOb1NpbmdsZXRvbjxOZXR3b3JrUHJvY2Vzcz4gewog
cHVibGljOgogICAgIHZvaWQgcGxhdGZvcm1GaW5hbGl6ZSgpIG92ZXJyaWRlCiAgICAgewotICAg
ICAgICBnbG9iYWxOZXR3b3JrUHJvY2Vzcy0+ZGVzdHJveVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6
OmRlZmF1bHRTZXNzaW9uSUQoKSk7CisgICAgICAgIHByb2Nlc3MoKS5kZXN0cm95U2Vzc2lvbihQ
QUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKTsKICAgICB9CiB9OwogCi10ZW1wbGF0
ZTw+Ci12b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzPE5ldHdvcmtQcm9jZXNzPihBdXhp
bGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKLXsKLSAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TmV0d29ya1Byb2Nlc3M+IG5ldHdvcmtQcm9jZXNzKFdU
Rk1vdmUocGFyYW1ldGVycykpOwotICAgIGdsb2JhbE5ldHdvcmtQcm9jZXNzID0gJm5ldHdvcmtQ
cm9jZXNzLmdldCgpOwotfQotCiBpbnQgTmV0d29ya1Byb2Nlc3NNYWluKGludCBhcmdjLCBjaGFy
KiogYXJndikKIHsKLSAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48TmV0d29ya1Byb2Nl
c3MsIE5ldHdvcmtQcm9jZXNzTWFpbkN1cmw+KGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiBBdXhp
bGlhcnlQcm9jZXNzTWFpbjxOZXR3b3JrUHJvY2Vzc01haW5DdXJsPihhcmdjLCBhcmd2KTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya1Byb2Nlc3NNYWluU291cC5jcHAKaW5kZXggNGNm
NzM5MTA5NzgxZjEwMjBhY2RkYWQ2ZmY0NmNlMDZiNmQ2N2E5NC4uZjk4Y2Q2NWEwZWExMmZiODVk
ZjM5MDFmMGVmMjJmMzgwZDU0ZjU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzTWFpblNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vzc01haW5Tb3VwLmNwcApAQCAtMzcs
OSArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3RhdGljIFJlZlB0cjxOZXR3b3Jr
UHJvY2Vzcz4gZ2xvYmFsTmV0d29ya1Byb2Nlc3M7Ci0KLWNsYXNzIE5ldHdvcmtQcm9jZXNzTWFp
blNvdXAgZmluYWw6IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3MgTmV0
d29ya1Byb2Nlc3NNYWluU291cCBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFz
ZU5vU2luZ2xldG9uPE5ldHdvcmtQcm9jZXNzPiB7CiBwdWJsaWM6CiAgICAgYm9vbCBwbGF0Zm9y
bUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKQEAgLTU0LDIwICs1MiwxMyBAQCBwdWJsaWM6
CiAgICAgICAgIC8vIEZJWE1FOiBJcyB0aGlzIHN0aWxsIG5lZWRlZD8gV2Ugc2hvdWxkIHByb2Jh
Ymx5IGRlc3Ryb3kgYWxsIGV4aXN0aW5nIHNlc3Npb25zIGF0IHRoaXMgcG9pbnQgaW5zdGVhZC4K
ICAgICAgICAgLy8gTmVlZGVkIHRvIGRlc3Ryb3kgdGhlIFNvdXBTZXNzaW9uIGFuZCBTb3VwQ29v
a2llSmFyLCBlLmcuIHRvIGF2b2lkCiAgICAgICAgIC8vIGxlYWtpbmcgU1FMaXRlIHRlbXBvcmFy
eSBqb3VybmFsaW5nIGZpbGVzLgotICAgICAgICBnbG9iYWxOZXR3b3JrUHJvY2Vzcy0+ZGVzdHJv
eVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNzaW9uSUQoKSk7CisgICAgICAgIHBy
b2Nlc3MoKS5kZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgp
KTsKICAgICB9CiB9OwogCi10ZW1wbGF0ZTw+Ci12b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9j
ZXNzPE5ldHdvcmtQcm9jZXNzPihBdXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0
ZXJzJiYgcGFyYW1ldGVycykKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8TmV0d29ya1By
b2Nlc3M+IG5ldHdvcmtQcm9jZXNzKFdURk1vdmUocGFyYW1ldGVycykpOwotICAgIGdsb2JhbE5l
dHdvcmtQcm9jZXNzID0gJm5ldHdvcmtQcm9jZXNzLmdldCgpOwotfQotICAgIAogaW50IE5ldHdv
cmtQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7Ci0gICAgcmV0dXJuIEF1eGls
aWFyeVByb2Nlc3NNYWluPE5ldHdvcmtQcm9jZXNzLCBOZXR3b3JrUHJvY2Vzc01haW5Tb3VwPihh
cmdjLCBhcmd2KTsKKyAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48TmV0d29ya1Byb2Nl
c3NNYWluU291cD4oYXJnYywgYXJndik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzc01haW4uaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3NNYWluLmgKaW5kZXggOGVhMzI1YWQw
ODZjNzkwYWY1MmVlM2I1YzJlMWEzNzgwZTBlODBjNy4uMGI3ZTRiM2MyYzhlNzQ2OTk0MWQ0MDE5
MmMzN2I0ZTUyYTgyMzc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxp
YXJ5UHJvY2Vzc01haW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9j
ZXNzTWFpbi5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxNCBJZ2Fs
aWEgUy5MLgorICogQ29weXJpZ2h0IChDKSAyMDIxIFNvbnkgSW50ZXJhY3RpdmUgRW50ZXJ0YWlu
bWVudCBJbmMuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMzLDQ1ICszNCw2
NiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgQXV4aWxpYXJ5UHJvY2Vzc01haW5C
YXNlIHsKK2NsYXNzIEF1eGlsaWFyeVByb2Nlc3NNYWluQ29tbW9uIHsKIHB1YmxpYzoKLSAgICB2
aXJ0dWFsIGJvb2wgcGxhdGZvcm1Jbml0aWFsaXplKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHZp
cnR1YWwgYm9vbCBwYXJzZUNvbW1hbmRMaW5lKGludCBhcmdjLCBjaGFyKiogYXJndik7Ci0gICAg
dmlydHVhbCB2b2lkIHBsYXRmb3JtRmluYWxpemUoKSB7IH0KLQotICAgIEF1eGlsaWFyeVByb2Nl
c3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmIGluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpIHsg
cmV0dXJuIG1fcGFyYW1ldGVyczsgfQotICAgIEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMmJiB0YWtlSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKCkgeyByZXR1cm4gV1RG
TW92ZShtX3BhcmFtZXRlcnMpOyB9CisgICAgYm9vbCBwYXJzZUNvbW1hbmRMaW5lKGludCBhcmdj
LCBjaGFyKiogYXJndik7CiAKIHByb3RlY3RlZDoKICAgICBBdXhpbGlhcnlQcm9jZXNzSW5pdGlh
bGl6YXRpb25QYXJhbWV0ZXJzIG1fcGFyYW1ldGVyczsKIH07CiAKLXRlbXBsYXRlPHR5cGVuYW1l
IEF1eGlsaWFyeVByb2Nlc3NUeXBlPgotdm9pZCBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzcyhB
dXhpbGlhcnlQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKLXsK
LSAgICBBdXhpbGlhcnlQcm9jZXNzVHlwZTo6c2luZ2xldG9uKCkuaW5pdGlhbGl6ZShXVEZNb3Zl
KHBhcmFtZXRlcnMpKTsKLX0KK3RlbXBsYXRlPHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NUeXBl
LCBib29sIEhhc1NpbmdsZXRvbiA9IHRydWU+CitjbGFzcyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJh
c2UgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5Db21tb24geworcHVibGljOgorICAgIHZp
cnR1YWwgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSB7IHJldHVybiB0cnVlOyB9CisgICAgdmly
dHVhbCB2b2lkIHBsYXRmb3JtRmluYWxpemUoKSB7IH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgQXV4
aWxpYXJ5UHJvY2Vzc1R5cGUsIHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZT4KLWlu
dCBBdXhpbGlhcnlQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCi17Ci0gICAgQXV4
aWxpYXJ5UHJvY2Vzc01haW5UeXBlIGF1eGlsaWFyeU1haW47CisgICAgdmlydHVhbCB2b2lkIGlu
aXRpYWxpemVBdXhpbGlhcnlQcm9jZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBh
cmFtZXRlcnMmJiBwYXJhbWV0ZXJzKQorICAgIHsKKyAgICAgICAgaWYgY29uc3RleHByIChIYXNT
aW5nbGV0b24pCisgICAgICAgICAgICBBdXhpbGlhcnlQcm9jZXNzVHlwZTo6c2luZ2xldG9uKCku
aW5pdGlhbGl6ZShXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKKyAgICB9CisKKyAgICBpbnQgcnVuKGlu
dCBhcmdjLCBjaGFyKiogYXJndikKKyAgICB7CisgICAgICAgIG1fcGFyYW1ldGVycy5wcm9jZXNz
VHlwZSA9IEF1eGlsaWFyeVByb2Nlc3NUeXBlOjpwcm9jZXNzVHlwZTsKIAotICAgIGF1eGlsaWFy
eU1haW4uaW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzKCkucHJvY2Vzc1R5cGUgPSBBdXhpbGlhcnlQ
cm9jZXNzVHlwZTo6cHJvY2Vzc1R5cGU7CisgICAgICAgIGlmICghcGxhdGZvcm1Jbml0aWFsaXpl
KCkpCisgICAgICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogCi0gICAgaWYgKCFhdXhpbGlh
cnlNYWluLnBsYXRmb3JtSW5pdGlhbGl6ZSgpKQotICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJF
OworICAgICAgICBpZiAoIXBhcnNlQ29tbWFuZExpbmUoYXJnYywgYXJndikpCisgICAgICAgICAg
ICByZXR1cm4gRVhJVF9GQUlMVVJFOwogCi0gICAgaWYgKCFhdXhpbGlhcnlNYWluLnBhcnNlQ29t
bWFuZExpbmUoYXJnYywgYXJndikpCi0gICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisgICAg
ICAgIEluaXRpYWxpemVXZWJLaXQyKCk7CiAKLSAgICBJbml0aWFsaXplV2ViS2l0MigpOworICAg
ICAgICBpbml0aWFsaXplQXV4aWxpYXJ5UHJvY2VzcyhXVEZNb3ZlKG1fcGFyYW1ldGVycykpOwor
ICAgICAgICBSdW5Mb29wOjpydW4oKTsKKyAgICAgICAgcGxhdGZvcm1GaW5hbGl6ZSgpOwogCi0g
ICAgaW5pdGlhbGl6ZUF1eGlsaWFyeVByb2Nlc3M8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+KGF1eGls
aWFyeU1haW4udGFrZUluaXRpYWxpemF0aW9uUGFyYW1ldGVycygpKTsKLSAgICBSdW5Mb29wOjpy
dW4oKTsKLSAgICBhdXhpbGlhcnlNYWluLnBsYXRmb3JtRmluYWxpemUoKTsKKyAgICAgICAgcmV0
dXJuIEVYSVRfU1VDQ0VTUzsKKyAgICB9Cit9OworCit0ZW1wbGF0ZTx0eXBlbmFtZSBBdXhpbGlh
cnlQcm9jZXNzVHlwZT4KK2NsYXNzIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZU5vU2luZ2xldG9u
IDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTxBdXhpbGlhcnlQcm9jZXNzVHlwZSwg
ZmFsc2U+IHsKK3B1YmxpYzoKKyAgICBBdXhpbGlhcnlQcm9jZXNzVHlwZSYgcHJvY2VzcygpIHsg
cmV0dXJuICptX3Byb2Nlc3M7IH07CisKKyAgICB2b2lkIGluaXRpYWxpemVBdXhpbGlhcnlQcm9j
ZXNzKEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmJiBwYXJhbWV0ZXJz
KSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgbV9wcm9jZXNzID0gYWRvcHRSZWYobmV3IEF1eGls
aWFyeVByb2Nlc3NUeXBlKFdURk1vdmUocGFyYW1ldGVycykpKTsKKyAgICB9CisKK3Byb3RlY3Rl
ZDoKKyAgICBSZWZQdHI8QXV4aWxpYXJ5UHJvY2Vzc1R5cGU+IG1fcHJvY2VzczsKK307CisKK3Rl
bXBsYXRlPHR5cGVuYW1lIEF1eGlsaWFyeVByb2Nlc3NNYWluVHlwZT4KK2ludCBBdXhpbGlhcnlQ
cm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCit7CisgICAgTmV2ZXJEZXN0cm95ZWQ8
QXV4aWxpYXJ5UHJvY2Vzc01haW5UeXBlPiBhdXhpbGlhcnlNYWluOwogCi0gICAgcmV0dXJuIEVY
SVRfU1VDQ0VTUzsKKyAgICByZXR1cm4gYXV4aWxpYXJ5TWFpbi0+cnVuKGFyZ2MsIGFyZ3YpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL3VuaXgvQXV4aWxpYXJ5UHJvY2Vzc01haW4uY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
dW5peC9BdXhpbGlhcnlQcm9jZXNzTWFpbi5jcHAKaW5kZXggMmZiOTJiM2M4YjliZWVlMDI1YWIw
MmRmOTFkOGVlNmQ3YzUzNmY4NS4uODZmMWUwMmFkMTRkMGU5YjAwNjNmZjE1OGQ5YjczMzAzZTM5
NjI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvdW5peC9BdXhpbGlhcnlQcm9j
ZXNzTWFpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvdW5peC9BdXhpbGlhcnlQcm9j
ZXNzTWFpbi5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJv
b2wgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlOjpwYXJzZUNvbW1hbmRMaW5lKGludCBhcmdjLCBj
aGFyKiogYXJndikKK2Jvb2wgQXV4aWxpYXJ5UHJvY2Vzc01haW5Db21tb246OnBhcnNlQ29tbWFu
ZExpbmUoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewogICAgIEFTU0VSVChhcmdjID49IDMpOwog
ICAgIGlmIChhcmdjIDwgMykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9B
dXhpbGlhcnlQcm9jZXNzTWFpbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC93aW4vQXV4
aWxpYXJ5UHJvY2Vzc01haW5XaW4uY3BwCmluZGV4IGU3NzQzY2VmNzMxMjNkMjA2ZTFhM2EwNmJi
OWZhNTllMmM1OTdhMDAuLmU3ZWZkMzQ5MDVlZGFkZGQ2M2NjYThiMWI2MjFjODEyNjdlYTJhYmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3dpbi9BdXhpbGlhcnlQcm9jZXNzTWFp
bldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvd2luL0F1eGlsaWFyeVByb2Nlc3NN
YWluV2luLmNwcApAQCAtMzIsNyArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotYm9v
bCBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2U6OnBhcnNlQ29tbWFuZExpbmUoaW50IGFyZ2MsIGNo
YXIqKiBhcmd2KQorYm9vbCBBdXhpbGlhcnlQcm9jZXNzTWFpbkNvbW1vbjo6cGFyc2VDb21tYW5k
TGluZShpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBh
cmdjOyBpKyspIHsKICAgICAgICAgaWYgKCFzdHJjbXAoYXJndltpXSwgIi1jbGllbnRJZGVudGlm
aWVyIikgJiYgaSArIDEgPCBhcmdjKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCmluZGV4IDRjNDVjNjM1Y2Y4NjcyNTNiNmRkOGFm
NmQzYTNjZTk3NzU0YWRmNDMuLjM2NDNlZTk1OWU1ZTQ0MDI3MTUzNGY4YzhiYzNiN2VlZTM1Yzlm
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01h
aW5HdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01h
aW5HdGsuY3BwCkBAIC00Myw3ICs0Myw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBXZWJQcm9jZXNzTWFpbkd0ayBmaW5hbDogcHVibGlj
IEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7CitjbGFzcyBXZWJQcm9jZXNzTWFpbkd0ayBmaW5h
bDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTxXZWJQcm9jZXNzPiB7CiBwdWJsaWM6
CiAgICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQogICAgIHsKQEAgLTc1LDcg
Kzc1LDcgQEAgaW50IFdlYlByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKICAgICAv
LyBUaGlzIGNhbGwgbmVlZHMgdG8gaGFwcGVuIGJlZm9yZSBhbnkgdGhyZWFkcyBiZWdpbiBleGVj
dXRpb24KICAgICB1bnNldGVudigiR1RLX1RIRU1FIik7CiAKLSAgICByZXR1cm4gQXV4aWxpYXJ5
UHJvY2Vzc01haW48V2ViUHJvY2VzcywgV2ViUHJvY2Vzc01haW5HdGs+KGFyZ2MsIGFyZ3YpOwor
ICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxXZWJQcm9jZXNzTWFpbkd0az4oYXJnYywg
YXJndik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWluUGxheVN0YXRpb24uY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3BsYXlzdGF0aW9uL1dlYlByb2Nlc3NNYWluUGxh
eVN0YXRpb24uY3BwCmluZGV4IDQ1ZGU0NTQ1MjlhNDQ0ZTRkZTAxOGUwNjU2Mzg4YjYyMjVlNmJj
OTIuLjU2MWY1NDY0YTk0MGZiMmI0ZjJiYjNjNmJjOGNiYmE4YmQ0OGQ4MzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9wbGF5c3RhdGlvbi9XZWJQcm9jZXNzTWFpblBsYXlT
dGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvcGxheXN0YXRpb24vV2Vi
UHJvY2Vzc01haW5QbGF5U3RhdGlvbi5jcHAKQEAgLTMyLDE3ICszMiwxMiBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY2xhc3MgV2ViUHJvY2Vzc01h
aW5QbGF5U3RhdGlvbiBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZSB7Ci1w
dWJsaWM6Ci0gICAgYm9vbCBwbGF0Zm9ybUluaXRpYWxpemUoKSBvdmVycmlkZQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQorY2xhc3MgV2ViUHJvY2Vzc01haW5QbGF5U3RhdGlv
biBmaW5hbDogcHVibGljIEF1eGlsaWFyeVByb2Nlc3NNYWluQmFzZTxXZWJQcm9jZXNzPiB7CiB9
OwogCiBpbnQgV2ViUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewotICAgIHJl
dHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxXZWJQcm9jZXNzLCBXZWJQcm9jZXNzTWFpblBsYXlT
dGF0aW9uPihhcmdjLCBhcmd2KTsKKyAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48V2Vi
UHJvY2Vzc01haW5QbGF5U3RhdGlvbj4oYXJnYywgYXJndik7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL3dpbi9XZWJQcm9j
ZXNzTWFpbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NN
YWluV2luLmNwcAppbmRleCA4OWJjMTU5ZGYzNTkxMGFiZTEzM2M2OGQ3MTA1N2NkZmUxOTk1Y2Ji
Li44OTg3YzM5NjRhOTMwOGYyNDU0NzU5ZGU3Zjg5NzIyMTVhM2FlNDE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mvd2luL1dlYlByb2Nlc3NNYWluV2luLmNwcApAQCAtMzcs
NyArMzcsNyBAQCBTT0ZUX0xJTktfT1BUSU9OQUwodXNlcjMyLCBTZXRQcm9jZXNzRHBpQXdhcmVu
ZXNzQ29udGV4dCwgQk9PTCwgU1REQVBJQ0FMTFRZUEUsCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1jbGFzcyBXZWJQcm9jZXNzTWFpbldpbiBmaW5hbCA6
IHB1YmxpYyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3MgV2ViUHJvY2Vzc01haW5X
aW4gZmluYWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlPFdlYlByb2Nlc3M+IHsK
IHB1YmxpYzoKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewpA
QCAtNTQsNyArNTQsNyBAQCBpbnQgV2ViUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2
KQogICAgIC8vIFdlYlByb2Nlc3MgdXNlcyBEaXJlY3RYCiAgICAgSFJFU1VMVCBociA9IDo6Q29J
bml0aWFsaXplRXgobnVsbHB0ciwgQ09JTklUX01VTFRJVEhSRUFERUQpOwogICAgIFJFTEVBU0Vf
QVNTRVJUKFNVQ0NFRURFRChocikpOwotICAgIHJldHVybiBBdXhpbGlhcnlQcm9jZXNzTWFpbjxX
ZWJQcm9jZXNzLCBXZWJQcm9jZXNzTWFpbldpbj4oYXJnYywgYXJndik7CisgICAgcmV0dXJuIEF1
eGlsaWFyeVByb2Nlc3NNYWluPFdlYlByb2Nlc3NNYWluV2luPihhcmdjLCBhcmd2KTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3Mvd3BlL1dlYlByb2Nlc3NNYWluV1BFLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93
cGUvV2ViUHJvY2Vzc01haW5XUEUuY3BwCmluZGV4IDkwYThkYWYyODIwMDM0OTVjOWUwMTIyMjdi
ZGYwODNmMTQ1YmEyMGYuLmM5ZjYzYWExOGNlZjFhOWUwNmY3OTJlMTFlMDdmOTAyYzMxOWQ3OTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5X
UEUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy93cGUvV2ViUHJvY2Vzc01haW5X
UEUuY3BwCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVBY2Nlc3NpYmls
aXR5KCkKIH0KICNlbmRpZgogCi1jbGFzcyBXZWJQcm9jZXNzTWFpbldQRSBmaW5hbCA6IHB1Ymxp
YyBBdXhpbGlhcnlQcm9jZXNzTWFpbkJhc2UgeworY2xhc3MgV2ViUHJvY2Vzc01haW5XUEUgZmlu
YWwgOiBwdWJsaWMgQXV4aWxpYXJ5UHJvY2Vzc01haW5CYXNlPFdlYlByb2Nlc3M+IHsKIHB1Ymxp
YzoKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIG92ZXJyaWRlCiAgICAgewpAQCAtMTAz
LDcgKzEwMyw3IEBAIHB1YmxpYzoKIAogaW50IFdlYlByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFy
KiogYXJndikKIHsKLSAgICByZXR1cm4gQXV4aWxpYXJ5UHJvY2Vzc01haW48V2ViUHJvY2Vzcywg
V2ViUHJvY2Vzc01haW5XUEU+KGFyZ2MsIGFyZ3YpOworICAgIHJldHVybiBBdXhpbGlhcnlQcm9j
ZXNzTWFpbjxXZWJQcm9jZXNzTWFpbldQRT4oYXJnYywgYXJndik7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="435342"
          type_id="1"
          status="+"
          setter="don.olmstead"
    />
          </attachment>
      

    </bug>

</bugzilla>