<?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>107768</bug_id>
          
          <creation_ts>2013-01-23 17:44:08 -0800</creation_ts>
          <short_desc>REGRESSION(r140612):  broke the build (Requested by smfr on #webkit).</short_desc>
          <delta_ts>2013-01-23 18:03:58 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>814890</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 17:44:08 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/140612 broke the build:
 broke the build (Requested by smfr on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814891</commentid>
    <comment_count>1</comment_count>
      <attachid>184366</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 17:44:31 -0800</bug_when>
    <thetext>Created attachment 184366
ROLLOUT of r140612

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814892</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-23 17:45:10 -0800</bug_when>
    <thetext>Breakage was:
OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/WebKeyValueStorageManagerMessageReceiver.cpp:36:33: error: out-of-line definition of &apos;didReceiveWebKeyValueStorageManagerMessage&apos; does not match any declaration in &apos;WebKit::WebKeyValueStorageManager&apos;
void WebKeyValueStorageManager::didReceiveWebKeyValueStorageManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp; decoder)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814913</commentid>
    <comment_count>3</comment_count>
      <attachid>184366</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 18:03:53 -0800</bug_when>
    <thetext>Comment on attachment 184366
ROLLOUT of r140612

Clearing flags on attachment: 184366

Committed r140623: &lt;http://trac.webkit.org/changeset/140623&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>814914</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-23 18:03:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>184366</attachid>
            <date>2013-01-23 17:44:31 -0800</date>
            <delta_ts>2013-01-23 18:03:53 -0800</delta_ts>
            <desc>ROLLOUT of r140612</desc>
            <filename>bug-107768-20130124014124.patch</filename>
            <type>text/plain</type>
            <size>33627</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwNjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDRmZjBhNzU0ZDQ0MGVk
ZDlmMmUxMjYxYjk3OTAzN2FlYmUzNGNiZS4uYTYwOTcxNTYzMDc5MmFmZjE3ZWFiYmIzOTE2YTc0
ZDMxNjIyNjZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTIzICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTQwNjEyLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xNDA2MTIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNzc2OAorCisgICAgICAgICBicm9rZSB0aGUgYnVpbGQgKFJlcXVlc3RlZCBi
eSBzbWZyIG9uICN3ZWJraXQpLgorCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdlL1dlYktleVZh
bHVlU3RvcmFnZU1hbmFnZXIuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwLgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6c3VwcGxl
bWVudE5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpX
ZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5VmFsdWVT
dG9yYWdlTWFuYWdlcjo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6OmtleVZhbHVlU3Rv
cmFnZU9yaWdpbklkZW50aWZpZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlcjo6ZGlzcGF0Y2hEaWRHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5zKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6Z2V0S2V5VmFsdWVTdG9yYWdl
T3JpZ2lucyk6CisgICAgICAgIChXZWJLaXQ6OldlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6OmRp
ZEZpbmlzaExvYWRpbmdPcmlnaW5zKToKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlcjo6ZGlzcGF0Y2hEaWRNb2RpZnlPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpkZWxldGVFbnRyaWVzRm9yT3JpZ2luKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6ZGVsZXRlQWxsRW50cmllcyk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdl
TWFuYWdlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKToKKyAgICAgICAgKFdlYktpdDo6V2ViS2V5VmFs
dWVTdG9yYWdlTWFuYWdlcjo6bG9jYWxTdG9yYWdlRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6aW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnkp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdlL1dlYktleVZhbHVlU3RvcmFn
ZU1hbmFnZXIubWVzc2FnZXMuaW46IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbi4KKwogMjAx
My0wMS0yMyAgSWFuIFZvbGxpY2sgIDx2b2xsaWNrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJ
bnRyb2R1Y2UgdGhlICJzdGFja2luZyBjb250YWluZXIiIGNvbmNlcHQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGM4OWM1M2M4
NTdkZDg2MTIzMjE5NTg2ODdmNTE5YmZiODQ4NzIxOS4uYWY0MDllYTM4NjBjMGMwMGE0MjU4MDhj
YWIxZTZmMDkxOTEzZmY2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjE2LDcgKzIxNiw2IEBACiAJCTFBQTU4ODkzMTFFRTcw
NDAwMDYxQjg4MiAvKiBOZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUE1ODg5MTExRUU3MDQwMDA2MUI4ODIgLyog
TmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwICovOyB9OwogCQkxQUFCNEE4RDEyOTZGMEEyMDAyMzk1
MkYgLyogU2FuZGJveEV4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNp
b24uaCAqLzsgfTsKIAkJMUFBQjRBQUExMjk2RjE1NDAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNp
b25NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QUFCNEFBOTEyOTZGMTU0MDAyMzk1MkYgLyogU2FuZGJveEV4dGVuc2lvbk1hYy5tbSAqLzsgfTsK
LQkJMUFBQzRERDMxNkIwQjYyMTAwOTQyNUUzIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFBQzRE
RDAxNkIwQjYxNDAwOTQyNUUzIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwICovOyB9
OwogCQkxQUFGMDYxNDEyQjAxMTMxMDA4RTQ5RTIgLyogUERGVmlld0NvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQUYwNjEyMTJCMDEx
MzEwMDhFNDlFMiAvKiBQREZWaWV3Q29udHJvbGxlci5oICovOyB9OwogCQkxQUFGMDYxNTEyQjAx
MTMxMDA4RTQ5RTIgLyogUERGVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUFGMDYxMzEyQjAxMTMxMDA4RTQ5RTIgLyogUERG
Vmlld0NvbnRyb2xsZXIubW0gKi87IH07CiAJCTFBQUYwQzRBMTJCMTYzMzQwMDhFNDlFMiAvKiBB
cmd1bWVudENvZGVyc0NGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQUFGMEM0ODEyQjE2MzM0MDA4RTQ5RTIgLyogQXJndW1lbnRDb2RlcnNDRi5oICov
OyB9OwpAQCAtNDk1LDYgKzQ5NCw4IEBACiAJCTUxQTdGMkYzMTI1QkY4MjAwMDhBRUIxRCAvKiBM
b2dnaW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUE3RjJGMjEyNUJGODIwMDA4QUVCMUQgLyogTG9nZ2luZy5oICovOyB9OwogCQk1MUE3RjJGNTEy
NUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUE3RjJGNDEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5j
cHAgKi87IH07CiAJCTUxQTg0Q0UzMTI3RjM4NkIwMENBNkVBNCAvKiBXZWJDb250ZXh0TWVudVBy
b3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
QTg0Q0UyMTI3RjM4NkIwMENBNkVBNCAvKiBXZWJDb250ZXh0TWVudVByb3h5LmNwcCAqLzsgfTsK
KwkJNTFBOUUwRkYxMzE1Q0NERTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBOUUw
RkMxMzE1Q0NERTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwICovOyB9
OworCQk1MUE5RTEwMDEzMTVDQ0RFMDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBOUUw
RkQxMzE1Q0NERTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCAqLzsgfTsK
IAkJNTFBOUUxMDUxMzE1Q0NGQzAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQ
cm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUE5RTEwMjEzMTVDQ0ZDMDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5
LmNwcCAqLzsgfTsKIAkJNTFBOUUxMDYxMzE1Q0NGQzAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3Rv
cmFnZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFBOUUxMDMxMzE1Q0NGQzAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1h
bmFnZXJQcm94eS5oICovOyB9OwogCQk1MUE5RTEwQTEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxQTlFMTA4MTMxNUNEMTgwMDlFNzAzMSAvKiBXS0tleVZhbHVlU3RvcmFn
ZU1hbmFnZXIuY3BwICovOyB9OwpAQCAtMTQ1MSw5ICsxNDUyLDYgQEAKIAkJMUFBNTg4OTExMUVF
NzA0MDAwNjFCODgyIC8qIE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRib3hF
eHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2FuZGJveEV4dGVu
c2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUFCNEFBOTEyOTZGMTU0MDAy
Mzk1MkYgLyogU2FuZGJveEV4dGVuc2lvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFNhbmRib3hFeHRlbnNpb25NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTFBQUM0REQwMTZCMEI2MTQwMDk0MjVFMyAvKiBXZWJLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQUFDNEREMTE2QjBCNjE0MDA5
NDI1RTMgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJL
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFB
QUM0REQyMTZCMEI2MTQwMDk0MjVFMyAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQURFNkZFMTBEODU1RkMwMEQzRDYzRCAvKiBBcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcms7IHBhdGggPSBTeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gU0RLUk9PVDsgfTsKIAkJMUFB
RjA2MTIxMkIwMTEzMTAwOEU0OUUyIC8qIFBERlZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBERlZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFBQUYwNjEzMTJCMDExMzEwMDhFNDlFMiAvKiBQREZWaWV3Q29udHJv
bGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBERlZpZXdD
b250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc2NSw2ICsxNzYz
LDkgQEAKIAkJNTFBOEE2MTIxNjI3RjMyNTAwMEQ5MEU5IC8qIE5ldHdvcmtQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDsgcGF0aCA9IE5ldHdvcmsvTmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUE4QTYxNTE2MjdGM0Y5MDAwRDkwRTkgLyogTmV0d29ya1Byb2Nlc3NNYWMubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzc01hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFBOEE2MTcxNjI3RjVCQjAwMEQ5MEU5
IC8qIE5ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5l
dHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQTlFMEZD
MTMxNUNDREUwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIu
Y3BwOyBwYXRoID0gS2V5VmFsdWVTdG9yYWdlL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUE5RTBGRDEzMTVDQ0RFMDA5RTcwMzEg
LyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmg7IHBhdGggPSBLZXlWYWx1ZVN0b3Jh
Z2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1MUE5RTBGRTEzMTVDQ0RFMDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdl
ci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJLZXlWYWx1ZVN0b3JhZ2VN
YW5hZ2VyLm1lc3NhZ2VzLmluOyBwYXRoID0gS2V5VmFsdWVTdG9yYWdlL1dlYktleVZhbHVlU3Rv
cmFnZU1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUx
QTlFMTAyMTMxNUNDRkMwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFBOUUx
MDMxMzE1Q0NGQzAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
UHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFBOUUxMDQxMzE1Q0NGQzAw
OUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNzc5LDE2ICsyNzgwLDYgQEAK
IAkJCXBhdGggPSBjZzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07Ci0JCTFBQUM0
RENGMTZCMEI1RjIwMDk0MjVFMyAvKiBTdG9yYWdlICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7
Ci0JCQljaGlsZHJlbiA9ICgKLQkJCQkxQUFDNEREMDE2QjBCNjE0MDA5NDI1RTMgLyogV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAgKi8sCi0JCQkJMUFBQzRERDExNkIwQjYxNDAwOTQyNUUz
IC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCAqLywKLQkJCQkxQUFDNEREMjE2QjBCNjE0
MDA5NDI1RTMgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKLQkJ
CSk7Ci0JCQlwYXRoID0gU3RvcmFnZTsKLQkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7Ci0JCX07
CiAJCTFBQURERjRCMTBEODJBRjAwMEQzRDYzRCAvKiBTaGFyZWQgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMzMxMCw2ICszMzAxLDE2IEBACiAJCQluYW1l
ID0gTmV0d29yazsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTUxQTlFMEZC
MTMxNUNDMEUwMDlFNzAzMSAvKiBLZXlWYWx1ZVN0b3JhZ2UgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTUxQTlFMEZDMTMxNUNDREUwMDlFNzAzMSAvKiBX
ZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCAqLywKKwkJCQk1MUE5RTBGRDEzMTVDQ0RFMDA5
RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oICovLAorCQkJCTUxQTlFMEZFMTMx
NUNDREUwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluICov
LAorCQkJKTsKKwkJCW5hbWUgPSBLZXlWYWx1ZVN0b3JhZ2U7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQk1MUIxNUE3RDEzODQzOUIyMDAzMjFBRDggLyogdW5peCAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNDAwLDEzICszNDAxLDEz
IEBACiAJCQkJQkMwRTVGQ0IxMkQ2OTZERDAwMTJBNzJBIC8qIEdlb2xvY2F0aW9uICovLAogCQkJ
CTUxRkJCOUMxMTMyRTA3OTIwMEYzMjdCNCAvKiBJY29uRGF0YWJhc2UgKi8sCiAJCQkJQkMyMDRF
REYxMUM4M0U3MjAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlICovLAorCQkJCTUxQTlFMEZCMTMx
NUNDMEUwMDlFNzAzMSAvKiBLZXlWYWx1ZVN0b3JhZ2UgKi8sCiAJCQkJMUE2RkEwMUMxMUUxNTI2
MzAwREIxMzcxIC8qIG1hYyAqLywKIAkJCQkzM0QzQTNCRDEzMzk2MDk4MDA3MDlCRTQgLyogTWVk
aWFDYWNoZSAqLywKIAkJCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLywK
IAkJCQkzMTA5OTk3NDE0NkM4QUE4MDAyOURFQjkgLyogTm90aWZpY2F0aW9ucyAoVXNlcikgKi8s
CiAJCQkJMUE2RkI3QUExMUU2NEI0OTAwREIxMzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJMzMzNjc2
MkIxMzBDOTk3ODAwNkM5REUyIC8qIFJlc291cmNlQ2FjaGUgKi8sCi0JCQkJMUFBQzREQ0YxNkIw
QjVGMjAwOTQyNUUzIC8qIFN0b3JhZ2UgKi8sCiAJCQkJQkMwMzJENUQxMEY0MzcyMjAwNThDMTVB
IC8qIFdlYkNvcmVTdXBwb3J0ICovLAogCQkJCUJDMDMyRDVFMTBGNDM3MkIwMDU4QzE1QSAvKiBX
ZWJQYWdlICovLAogCQkJCUJDRTlDMENGMTQ4NTk2NUQwMEUzM0Q2MSAvKiBXZWJDb25uZWN0aW9u
VG9VSVByb2Nlc3MuY3BwICovLApAQCAtNDgzOSw2ICs0ODQwLDcgQEAKIAkJCQkxQzhFMkEzNjEy
Nzc4NTI0MDBCQzdCRDAgLyogV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFDOEUyODM0MTI3NUQ3MzgwMEJDN0JEMCAvKiBXZWJJbnNwZWN0b3JQcm94eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUNBOEI5NDYxMjdDODgyQTAwNTc2QzJCIC8qIFdlYkluc3BlY3RvclBy
b3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxQTlFMTAwMTMxNUNDREUwMDlFNzAz
MSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUE5
RTEyOTEzMTVFRDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUE5RTEwNjEzMTVDQ0ZDMDA5RTcwMzEgLyogV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUE5RTEyQjEz
MTVFRDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLApAQCAtNTg0Miw2ICs1ODQ0LDcgQEAKIAkJCQkxQ0E4QjkzNjEyN0M3
NzRFMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQ0E4Qjk0NTEyN0M4ODJBMDA1NzZDMkIgLyogV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDMxMjdBMkEwRTAwOEZGNEY0IC8q
IFdlYktleWJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFBOUUwRkYxMzE1Q0NE
RTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFBOUUxMjgxMzE1RUQzNTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBOUUxMDUxMzE1Q0NG
QzAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUE5RTEyQTEzMTVFRDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdl
TWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNjAzNCw3
ICs2MDM3LDYgQEAKIAkJCQk1MTgxNUI5RjE2QTYyMjIxMDA1NDUwMUYgLyogU3luY05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTlCNEZGNDE2QTlFQTk3MDA2
Njg3NEQgLyogU2NoZWR1bGFibGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFFNTUy
QzQxNkFFMDY1RjAwNEVENjUzIC8qIFNhbmRib3hJbml0aWFsaWF0aW9uUGFyYW1ldGVyc01hYy5t
bSBpbiBTb3VyY2VzICovLAotCQkJCTFBQUM0REQzMTZCMEI2MjEwMDk0MjVFMyAvKiBXZWJLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZS9XZWJL
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjVhY2NjOTAyNTM2ZjZjNjFj
NjNiNDI2ZTJjZjViMjliMmJjNTgzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAK
QEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIgorCisjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW5EYXRhLmgiCisjaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlck1lc3NhZ2Vz
LmgiCisjaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZXMuaCIK
KyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luSGFzaC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3RvcmFn
ZVRyYWNrZXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitjb25zdCBBdG9taWNTdHJpbmcmIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6OnN1
cHBsZW1lbnROYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywg
bmFtZSwgKCJXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyIiwgQXRvbWljU3RyaW5nOjpDb25zdHJ1
Y3RGcm9tTGl0ZXJhbCkpOworICAgIHJldHVybiBuYW1lOworfQorCitXZWJLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyOjpXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKFdlYlByb2Nlc3MqIHByb2Nlc3Mp
CisgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKK3sKKyAgICBtX3Byb2Nlc3MtPmFkZE1lc3NhZ2VS
ZWNlaXZlcihNZXNzYWdlczo6V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpLCB0aGlzKTsKK30KKwordm9pZCBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpp
bml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMp
Cit7CisgICAgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFja2VyKHBhcmFtZXRlcnMubG9j
YWxTdG9yYWdlRGlyZWN0b3J5LCB0aGlzKTsKKyAgICBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeSA9
IHBhcmFtZXRlcnMubG9jYWxTdG9yYWdlRGlyZWN0b3J5OworI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorICAgIG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3RvcnkgPSBwYXJhbWV0ZXJzLmRh
dGFiYXNlRGlyZWN0b3J5OworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIGtleVZhbHVlU3RvcmFn
ZU9yaWdpbklkZW50aWZpZXJzKFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+JiBpZGVudGlmaWVy
cykKK3sKKyAgICBBU1NFUlQoaWRlbnRpZmllcnMuaXNFbXB0eSgpKTsKKworICAgIFZlY3RvcjxS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+ID4gY29yZU9yaWdpbnM7CisKKyAgICBTdG9yYWdlVHJhY2tl
cjo6dHJhY2tlcigpLm9yaWdpbnMoY29yZU9yaWdpbnMpOworCisgICAgc2l6ZV90IHNpemUgPSBj
b3JlT3JpZ2lucy5zaXplKCk7CisgICAgaWRlbnRpZmllcnMucmVzZXJ2ZUNhcGFjaXR5KHNpemUp
OworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgU2Vj
dXJpdHlPcmlnaW5EYXRhIG9yaWdpbkRhdGE7CisKKyAgICAgICAgb3JpZ2luRGF0YS5wcm90b2Nv
bCA9IGNvcmVPcmlnaW5zW2ldLT5wcm90b2NvbCgpOworICAgICAgICBvcmlnaW5EYXRhLmhvc3Qg
PSBjb3JlT3JpZ2luc1tpXS0+aG9zdCgpOworICAgICAgICBvcmlnaW5EYXRhLnBvcnQgPSBjb3Jl
T3JpZ2luc1tpXS0+cG9ydCgpOworCisgICAgICAgIGlkZW50aWZpZXJzLnVuY2hlY2tlZEFwcGVu
ZChvcmlnaW5EYXRhKTsKKyAgICB9Cit9CisKK3ZvaWQgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdl
cjo6ZGlzcGF0Y2hEaWRHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5zKGNvbnN0IFZlY3RvcjxTZWN1
cml0eU9yaWdpbkRhdGE+JiBpZGVudGlmaWVycywgdWludDY0X3QgY2FsbGJhY2tJRCkKK3sKKyAg
ICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94
eTo6RGlkR2V0S2V5VmFsdWVTdG9yYWdlT3JpZ2lucyhpZGVudGlmaWVycywgY2FsbGJhY2tJRCks
IDApOworfQorCit2b2lkIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6OmdldEtleVZhbHVlU3Rv
cmFnZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkKK3sKKyAgICBpZiAoIVN0b3JhZ2VUcmFj
a2VyOjp0cmFja2VyKCkub3JpZ2luc0xvYWRlZCgpKSB7CisgICAgICAgIG1fb3JpZ2luc1JlcXVl
c3RDYWxsYmFja0lEcy5hcHBlbmQoY2FsbGJhY2tJRCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiBpZGVudGlmaWVyczsKKyAgICBrZXlW
YWx1ZVN0b3JhZ2VPcmlnaW5JZGVudGlmaWVycyhpZGVudGlmaWVycyk7CisgICAgZGlzcGF0Y2hE
aWRHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5zKGlkZW50aWZpZXJzLCBjYWxsYmFja0lEKTsKK30K
Kwordm9pZCBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpkaWRGaW5pc2hMb2FkaW5nT3JpZ2lu
cygpCit7CisgICAgaWYgKG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFja0lEcy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+IGlkZW50aWZp
ZXJzOworICAgIGtleVZhbHVlU3RvcmFnZU9yaWdpbklkZW50aWZpZXJzKGlkZW50aWZpZXJzKTsK
KworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9vcmlnaW5zUmVxdWVzdENhbGxiYWNrSURz
LnNpemUoKTsgKytpKQorICAgICAgICBkaXNwYXRjaERpZEdldEtleVZhbHVlU3RvcmFnZU9yaWdp
bnMoaWRlbnRpZmllcnMsIG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFja0lEc1tpXSk7CisKKyAgICBt
X29yaWdpbnNSZXF1ZXN0Q2FsbGJhY2tJRHMuY2xlYXIoKTsKK30KKwordm9pZCBXZWJLZXlWYWx1
ZVN0b3JhZ2VNYW5hZ2VyOjpkaXNwYXRjaERpZE1vZGlmeU9yaWdpbihjb25zdCBTdHJpbmcmKQor
eworfQorCit2b2lkIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6OmRlbGV0ZUVudHJpZXNGb3JP
cmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5EYXRhKQoreworICAgIFJlZlB0
cjxTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShvcmlnaW5E
YXRhLnByb3RvY29sLCBvcmlnaW5EYXRhLmhvc3QsIG9yaWdpbkRhdGEucG9ydCk7CisgICAgaWYg
KCFvcmlnaW4pCisgICAgICAgIHJldHVybjsKKworICAgIFN0b3JhZ2VUcmFja2VyOjp0cmFja2Vy
KCkuZGVsZXRlT3JpZ2luKG9yaWdpbi5nZXQoKSk7Cit9CisKK3ZvaWQgV2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlcjo6ZGVsZXRlQWxsRW50cmllcygpCit7CisgICAgU3RvcmFnZVRyYWNrZXI6OnRy
YWNrZXIoKS5kZWxldGVBbGxPcmlnaW5zKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2Vi
S2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlW
YWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczY2Zk
NTkwMTk2M2VlMTIxZmQyZjZjY2FkZTE1NTc2ZWFmODhmMjEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZS9XZWJLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyLmgKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlcl9oCisjZGVmaW5lIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJf
aAorCisjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzc1N1
cHBsZW1lbnQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1N0b3JhZ2VUcmFja2VyQ2xpZW50Lmg+Cisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgV2ViUHJvY2VzczsKK3N0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CisKK2NsYXNzIFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXIgOiBwdWJsaWMgV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXJDbGll
bnQsIHB1YmxpYyBXZWJQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENvcmVJUEM6Ok1lc3NhZ2VS
ZWNlaXZlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlcik7CitwdWJsaWM6CisgICAgZXhwbGljaXQgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcihX
ZWJQcm9jZXNzKik7CisKKyAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50
TmFtZSgpOworCisgICAgY29uc3QgU3RyaW5nJiBsb2NhbFN0b3JhZ2VEaXJlY3RvcnkoKSBjb25z
dCB7IHJldHVybiBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsgfQorI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorICAgIGNvbnN0IFN0cmluZyYgaW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnko
KSBjb25zdCB7IHJldHVybiBtX2luZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5OyB9CisjZW5kaWYK
KworcHJpdmF0ZToKKyAgICAvLyBXZWJQcm9jZXNzU3VwcGxlbWVudAorICAgIHZpcnR1YWwgdm9p
ZCBpbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKSBPVkVSUklE
RTsKKworICAgIC8vIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlcgorICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlE
LCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpIE9WRVJSSURFOworCisgICAgdm9pZCBnZXRLZXlW
YWx1ZVN0b3JhZ2VPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIHZvaWQgZGVsZXRl
RW50cmllc0Zvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKTsKKyAgICB2b2lkIGRl
bGV0ZUFsbEVudHJpZXMoKTsKKworICAgIHZvaWQgZGlzcGF0Y2hEaWRHZXRLZXlWYWx1ZVN0b3Jh
Z2VPcmlnaW5zKGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+JiBpZGVudGlmaWVycywg
dWludDY0X3QgY2FsbGJhY2tJRCk7CisKKyAgICAvLyBXZWJDb3JlOjpTdG9yYWdlVHJhY2tlckNs
aWVudAorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZE1vZGlmeU9yaWdpbihjb25zdCBTdHJp
bmcmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZ09yaWdpbnMo
KSBPVkVSUklERTsKKworICAgIFZlY3Rvcjx1aW50NjRfdD4gbV9vcmlnaW5zUmVxdWVzdENhbGxi
YWNrSURzOworICAgIFN0cmluZyBtX2xvY2FsU3RvcmFnZURpcmVjdG9yeTsKKyNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKKyAgICBTdHJpbmcgbV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9y
eTsKKyNlbmRpZgorICAgIFdlYlByb2Nlc3MqIG1fcHJvY2VzczsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcl9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZS9XZWJLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbgpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZjBkNjQ4NDVmMzk4NjQ4YjdiYWI0MmZhMzZlOWRiOTkyOTU1NDVmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2Uv
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI3IEBACisj
IENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisj
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK21lc3NhZ2VzIC0+IFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXIgeworICAgIHZvaWQgR2V0S2V5VmFsdWVTdG9yYWdlT3JpZ2lu
cyh1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIHZvaWQgRGVsZXRlRW50cmllc0Zvck9yaWdpbihX
ZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcmlnaW5JZGVudGlmaWVyKQorICAgIHZvaWQgRGVs
ZXRlQWxsRW50cmllcygpCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEyNWFjY2M5MDI1MzZmNmM2MWM2M2I0MjZlMmNmNWIyOWIy
YmM1ODMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsMTM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIgotCi0j
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCi0jaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9y
YWdlTWFuYWdlck1lc3NhZ2VzLmgiCi0jaW5jbHVkZSAiV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdl
clByb3h5TWVzc2FnZXMuaCIKLSNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCi0jaW5jbHVkZSAiV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJpdHlP
cmlnaW4uaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luSGFzaC5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvU3RvcmFnZVRyYWNrZXIuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jb25zdCBBdG9taWNTdHJpbmcmIFdlYktleVZhbHVl
U3RvcmFnZU1hbmFnZXI6OnN1cHBsZW1lbnROYW1lKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEF0b21pY1N0cmluZywgbmFtZSwgKCJXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyIiwgQXRv
bWljU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCkpOwotICAgIHJldHVybiBuYW1lOwotfQot
Ci1XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKFdl
YlByb2Nlc3MqIHByb2Nlc3MpCi0gICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKLXsKLSAgICBtX3By
b2Nlc3MtPmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6V2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB0aGlzKTsKLX0KLQotdm9pZCBXZWJLZXlWYWx1
ZVN0b3JhZ2VNYW5hZ2VyOjppbml0aWFsaXplKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMpCi17Ci0gICAgU3RvcmFnZVRyYWNrZXI6OmluaXRpYWxpemVUcmFj
a2VyKHBhcmFtZXRlcnMubG9jYWxTdG9yYWdlRGlyZWN0b3J5LCB0aGlzKTsKLSAgICBtX2xvY2Fs
U3RvcmFnZURpcmVjdG9yeSA9IHBhcmFtZXRlcnMubG9jYWxTdG9yYWdlRGlyZWN0b3J5OwotI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotICAgIG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rv
cnkgPSBwYXJhbWV0ZXJzLmRhdGFiYXNlRGlyZWN0b3J5OwotI2VuZGlmCi19Ci0KLXN0YXRpYyB2
b2lkIGtleVZhbHVlU3RvcmFnZU9yaWdpbklkZW50aWZpZXJzKFZlY3RvcjxTZWN1cml0eU9yaWdp
bkRhdGE+JiBpZGVudGlmaWVycykKLXsKLSAgICBBU1NFUlQoaWRlbnRpZmllcnMuaXNFbXB0eSgp
KTsKLQotICAgIFZlY3RvcjxSZWZQdHI8U2VjdXJpdHlPcmlnaW4+ID4gY29yZU9yaWdpbnM7Ci0K
LSAgICBTdG9yYWdlVHJhY2tlcjo6dHJhY2tlcigpLm9yaWdpbnMoY29yZU9yaWdpbnMpOwotCi0g
ICAgc2l6ZV90IHNpemUgPSBjb3JlT3JpZ2lucy5zaXplKCk7Ci0gICAgaWRlbnRpZmllcnMucmVz
ZXJ2ZUNhcGFjaXR5KHNpemUpOwotCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKLSAgICAgICAgU2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbkRhdGE7Ci0KLSAgICAgICAg
b3JpZ2luRGF0YS5wcm90b2NvbCA9IGNvcmVPcmlnaW5zW2ldLT5wcm90b2NvbCgpOwotICAgICAg
ICBvcmlnaW5EYXRhLmhvc3QgPSBjb3JlT3JpZ2luc1tpXS0+aG9zdCgpOwotICAgICAgICBvcmln
aW5EYXRhLnBvcnQgPSBjb3JlT3JpZ2luc1tpXS0+cG9ydCgpOwotCi0gICAgICAgIGlkZW50aWZp
ZXJzLnVuY2hlY2tlZEFwcGVuZChvcmlnaW5EYXRhKTsKLSAgICB9Ci19Ci0KLXZvaWQgV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlcjo6ZGlzcGF0Y2hEaWRHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5z
KGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+JiBpZGVudGlmaWVycywgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKLXsKLSAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYktleVZhbHVl
U3RvcmFnZU1hbmFnZXJQcm94eTo6RGlkR2V0S2V5VmFsdWVTdG9yYWdlT3JpZ2lucyhpZGVudGlm
aWVycywgY2FsbGJhY2tJRCksIDApOwotfQotCi12b2lkIFdlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXI6OmdldEtleVZhbHVlU3RvcmFnZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkKLXsKLSAg
ICBpZiAoIVN0b3JhZ2VUcmFja2VyOjp0cmFja2VyKCkub3JpZ2luc0xvYWRlZCgpKSB7Ci0gICAg
ICAgIG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFja0lEcy5hcHBlbmQoY2FsbGJhY2tJRCk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiBpZGVu
dGlmaWVyczsKLSAgICBrZXlWYWx1ZVN0b3JhZ2VPcmlnaW5JZGVudGlmaWVycyhpZGVudGlmaWVy
cyk7Ci0gICAgZGlzcGF0Y2hEaWRHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5zKGlkZW50aWZpZXJz
LCBjYWxsYmFja0lEKTsKLX0KLQotdm9pZCBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpkaWRG
aW5pc2hMb2FkaW5nT3JpZ2lucygpCi17Ci0gICAgaWYgKG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFj
a0lEcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIFZlY3RvcjxTZWN1cml0eU9y
aWdpbkRhdGE+IGlkZW50aWZpZXJzOwotICAgIGtleVZhbHVlU3RvcmFnZU9yaWdpbklkZW50aWZp
ZXJzKGlkZW50aWZpZXJzKTsKLQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9vcmlnaW5z
UmVxdWVzdENhbGxiYWNrSURzLnNpemUoKTsgKytpKQotICAgICAgICBkaXNwYXRjaERpZEdldEtl
eVZhbHVlU3RvcmFnZU9yaWdpbnMoaWRlbnRpZmllcnMsIG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFj
a0lEc1tpXSk7Ci0KLSAgICBtX29yaWdpbnNSZXF1ZXN0Q2FsbGJhY2tJRHMuY2xlYXIoKTsKLX0K
LQotdm9pZCBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyOjpkaXNwYXRjaERpZE1vZGlmeU9yaWdp
bihjb25zdCBTdHJpbmcmKQotewotfQotCi12b2lkIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXI6
OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBvcmlnaW5E
YXRhKQotewotICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gU2VjdXJpdHlPcmln
aW46OmNyZWF0ZShvcmlnaW5EYXRhLnByb3RvY29sLCBvcmlnaW5EYXRhLmhvc3QsIG9yaWdpbkRh
dGEucG9ydCk7Ci0gICAgaWYgKCFvcmlnaW4pCi0gICAgICAgIHJldHVybjsKLQotICAgIFN0b3Jh
Z2VUcmFja2VyOjp0cmFja2VyKCkuZGVsZXRlT3JpZ2luKG9yaWdpbi5nZXQoKSk7Ci19Ci0KLXZv
aWQgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlcjo6ZGVsZXRlQWxsRW50cmllcygpCi17Ci0gICAg
U3RvcmFnZVRyYWNrZXI6OnRyYWNrZXIoKS5kZWxldGVBbGxPcmlnaW5zKCk7Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDczY2ZkNTkwMTk2M2VlMTIxZmQyZjZjY2FkZTE1NTc2ZWFmODhmMjEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaAorKysg
L2Rldi9udWxsCkBAIC0xLDgwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYktleVZh
bHVlU3RvcmFnZU1hbmFnZXJfaAotI2RlZmluZSBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyX2gK
LQotI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZlci5oIgotI2luY2x1ZGUgIldlYlByb2Nlc3NTdXBw
bGVtZW50LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TdG9yYWdlVHJhY2tlckNsaWVudC5oPgotI2lu
Y2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNz
IFdlYlByb2Nlc3M7Ci1zdHJ1Y3QgU2VjdXJpdHlPcmlnaW5EYXRhOwotCi1jbGFzcyBXZWJLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyIDogcHVibGljIFdlYkNvcmU6OlN0b3JhZ2VUcmFja2VyQ2xpZW50
LCBwdWJsaWMgV2ViUHJvY2Vzc1N1cHBsZW1lbnQsIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlUmVj
ZWl2ZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXIpOwotcHVibGljOgotICAgIGV4cGxpY2l0IFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIoV2Vi
UHJvY2VzcyopOwotCi0gICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgc3VwcGxlbWVudE5h
bWUoKTsKLQotICAgIGNvbnN0IFN0cmluZyYgbG9jYWxTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3Qg
eyByZXR1cm4gbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7IH0KLSNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKLSAgICBjb25zdCBTdHJpbmcmIGluZGV4ZWREQkRhdGFiYXNlRGlyZWN0b3J5KCkg
Y29uc3QgeyByZXR1cm4gbV9pbmRleGVkREJEYXRhYmFzZURpcmVjdG9yeTsgfQotI2VuZGlmCi0K
LXByaXZhdGU6Ci0gICAgLy8gV2ViUHJvY2Vzc1N1cHBsZW1lbnQKLSAgICB2aXJ0dWFsIHZvaWQg
aW5pdGlhbGl6ZShjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJikgT1ZFUlJJREU7
Ci0KLSAgICAvLyBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwg
Q29yZUlQQzo6TWVzc2FnZURlY29kZXImKSBPVkVSUklERTsKLQotICAgIHZvaWQgZ2V0S2V5VmFs
dWVTdG9yYWdlT3JpZ2lucyh1aW50NjRfdCBjYWxsYmFja0lEKTsKLSAgICB2b2lkIGRlbGV0ZUVu
dHJpZXNGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJik7Ci0gICAgdm9pZCBkZWxl
dGVBbGxFbnRyaWVzKCk7Ci0KLSAgICB2b2lkIGRpc3BhdGNoRGlkR2V0S2V5VmFsdWVTdG9yYWdl
T3JpZ2lucyhjb25zdCBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgaWRlbnRpZmllcnMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpOwotCi0gICAgLy8gV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXJDbGll
bnQKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRNb2RpZnlPcmlnaW4oY29uc3QgU3RyaW5n
JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmdPcmlnaW5zKCkg
T1ZFUlJJREU7Ci0KLSAgICBWZWN0b3I8dWludDY0X3Q+IG1fb3JpZ2luc1JlcXVlc3RDYWxsYmFj
a0lEczsKLSAgICBTdHJpbmcgbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7Ci0jaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCi0gICAgU3RyaW5nIG1faW5kZXhlZERCRGF0YWJhc2VEaXJlY3Rvcnk7
Ci0jZW5kaWYKLSAgICBXZWJQcm9jZXNzKiBtX3Byb2Nlc3M7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYktleVZhbHVlU3RvcmFn
ZU1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbgpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMmYwZDY0ODQ1ZjM5ODY0OGI3YmFiNDJmYTM2ZTlkYjk5Mjk1NTQ1Zi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5p
bgorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0jIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotIyBhcmUgbWV0OgotIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSMgMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0j
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0jICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RAotIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SCi0jIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKLSMgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIKLSMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKLSMgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLQotbWVzc2FnZXMgLT4gV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlciB7
Ci0gICAgdm9pZCBHZXRLZXlWYWx1ZVN0b3JhZ2VPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQp
Ci0gICAgdm9pZCBEZWxldGVFbnRyaWVzRm9yT3JpZ2luKFdlYktpdDo6U2VjdXJpdHlPcmlnaW5E
YXRhIG9yaWdpbklkZW50aWZpZXIpCi0gICAgdm9pZCBEZWxldGVBbGxFbnRyaWVzKCkKLX0K
</data>

          </attachment>
      

    </bug>

</bugzilla>