<?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>144400</bug_id>
          
          <creation_ts>2015-04-29 11:17:31 -0700</creation_ts>
          <short_desc>[WTF] Remove Functional.h inclusions</short_desc>
          <delta_ts>2015-05-04 08:36:49 -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>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="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1090081</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-29 11:17:31 -0700</bug_when>
    <thetext>Remove Functional.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090102</commentid>
    <comment_count>1</comment_count>
      <attachid>251973</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-29 12:02:19 -0700</bug_when>
    <thetext>Created attachment 251973
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090103</commentid>
    <comment_count>2</comment_count>
      <attachid>251973</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-04-29 12:06:20 -0700</bug_when>
    <thetext>Comment on attachment 251973
Patch

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

&gt; Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm:-46
&gt; -void callOnMainThread(const Function&lt;void ()&gt;&amp; function)
&gt; -{
&gt; -    callOnMainThread(std::function&lt;void ()&gt;(function));
&gt; -}

This might be the main blocker -- is Safari still invoking this function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090295</commentid>
    <comment_count>3</comment_count>
      <attachid>251973</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-29 19:18:14 -0700</bug_when>
    <thetext>Comment on attachment 251973
Patch

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

Could you post a version of this patch that moves some of the contents of Functional.h into DeprecatedSymbolsUsedBySafari.mm? Then we can remove the DeprecatedSymbolsUsedBySafari.mm stuff when we verify it’s not needed for nightly builds.

Source/WTF/wtf/efl/DispatchQueueEfl.h:36:50: error: expected template-name before &apos;&lt;&apos; token
 class DispatchQueue : public ThreadSafeRefCounted&lt;DispatchQueue&gt; {

Looks like we need to include ThreadSafeRefCounted.h in DispatchQueueEfl.h too.

&gt;&gt; Source/WTF/wtf/mac/DeprecatedSymbolsUsedBySafari.mm:-46
&gt;&gt; -}
&gt; 
&gt; This might be the main blocker -- is Safari still invoking this function?

Exactly right; I had a patch to remove Functional.h and I found this was the sticking point. We have to find out whether anyone is depending on using WebKit builds with older Safari. Apple engineering doesn’t depend on it, but some people outside Apple might be using the newer WebKit with the older Safari as part of nightly builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091102</commentid>
    <comment_count>4</comment_count>
      <attachid>252234</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-05-02 09:59:27 -0700</bug_when>
    <thetext>Created attachment 252234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091116</commentid>
    <comment_count>5</comment_count>
      <attachid>252234</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-05-02 11:48:26 -0700</bug_when>
    <thetext>Comment on attachment 252234
Patch

../../Source/WTF/wtf/efl/DispatchQueueEfl.h:64:5: error: &apos;Mutex&apos; does not name a type

Looks like we need to add an include to DispatchQueueEfl.h -- please fix that before landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091318</commentid>
    <comment_count>6</comment_count>
      <attachid>252299</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-05-04 00:23:22 -0700</bug_when>
    <thetext>Created attachment 252299
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1091385</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-05-04 08:36:49 -0700</bug_when>
    <thetext>Committed r183746: &lt;http://trac.webkit.org/changeset/183746&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251973</attachid>
            <date>2015-04-29 12:02:19 -0700</date>
            <delta_ts>2015-05-02 09:59:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144400-20150429210108.patch</filename>
            <type>text/plain</type>
            <size>58518</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDlhNWY1ZDJmNGM5MDZhMzRlNmI5NDMx
ZjVjMzA3NmZhZDljMjYzODkuLmRhYWQyNGNlN2Q1YWE2ZWQwYWRmOWMyMDgyYTk0OTQzZGQ5NTUz
N2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTUtMDQtMjkgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSBGdW5jdGlvbmFsLmgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUg
RnVuY3Rpb25hbC5oIGhlYWRlciBhbmQgdGhlIHJlZmVyZW5jZXMgdG8gaXQgaW4gdGhlIGJ1aWxk
IGZpbGVzLgorICAgICAgICBUaGUgY2FsbE9uTWFpblRocmVhZChXVEY6OkZ1bmN0aW9uPD4pIHN0
dWIgaW1wbGVtZW50YXRpb24gaXMgYWxzbyByZW1vdmVkLgorCisgICAgICAgICogV1RGLnZjeHBy
b2ovV1RGLnZjeHByb2o6CisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVy
czoKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3
dGYvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogd3RmL0Z1bmN0aW9uYWwuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiB3dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgICogd3RmL1J1bkxvb3AuaDoK
KyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmNwcDoKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmg6
CisgICAgICAgICogd3RmL2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmg6CisgICAgICAgICogd3RmL2Vm
bC9EaXNwYXRjaFF1ZXVlV29ya0l0ZW1FZmwuaDoKKyAgICAgICAgKiB3dGYvbWFjL0RlcHJlY2F0
ZWRTeW1ib2xzVXNlZEJ5U2FmYXJpLm1tOgorICAgICAgICAoV1RGOjpjYWxsT25NYWluVGhyZWFk
KTogRGVsZXRlZC4KKwogMjAxNS0wNC0yOCAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJv
QGlnYWxpYS5jb20+CiAKICAgICAgICAgRnVsbHkgcmVwbGFjZSBFTkFCTEVfTExJTlRfQ19MT09Q
IHdpdGggRU5BQkxFX0pJVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc0YzQ2OTIyZDQ4MDVlZmIyOWU3ODQwMjdi
OGFlMGRhNGZhYWM3N2IuLjEwYWY2MDgwNmJmZGI0NTUyZjhjZDc0MWVjMDRmZDFlN2RlMjcyYWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyOCBAQAogMjAxNS0wNC0yOSAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKKyAgICAgICAgW1dURl0gUmVtb3ZlIEZ1bmN0aW9uYWwu
aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDAw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3Zl
IHRoZSA8d3RmL0Z1bmN0aW9uYWwuaD4gaGVhZGVyIGluY2x1c2lvbnMuCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGlu
Zy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAqIHBsYXRmb3JtL01l
bW9yeVByZXNzdXJlSGFuZGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vVXNlckFjdGl2aXR5
Lmg6IEluY2x1ZGUgdGhlIDxvYmpjL29iamMuaD4gaGVhZGVyIHRoYXQgd2FzIHByZXZpb3VzbHkK
KyAgICAgICAgaW5kaXJlY3RseSBpbmNsdWRlZCB0aHJvdWdoIEZ1bmN0aW9uYWwuaC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZG
b3VuZGF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oOiBVbmNvbmRpdGlvbmFsbHkgaW5jbHVkZSB0aGUgPG9i
amMvcnVudGltZS5oPiBoZWFkZXIKKyAgICAgICAgdGhhdCB3YXMgcHJldmlvdXNseSBpbmNsdWRl
ZCBmb3IgdGhlIE1hYyBwb3J0IHRocm91Z2ggRnVuY3Rpb25hbC5oLiAKKworMjAxNS0wNC0yOSAg
WmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKICAgICAgICAgU3dpdGNoIHRv
IHN0ZDo6ZnVuY3Rpb248Piwgc3RkOjpiaW5kKCkgaW4gTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3Vu
ZGF0aW9uT2JqQwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ0MjMyCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyODQzZjUwYTVlYzZhMmE3Yzk2YjE4Y2E4OWYyZjU5
MGE5OWE0NmU0Li40MGY5NThjNDJiZGI0OWFiNTFiZmI3NmZiZjgzMDU4ZjhmMDU4NTI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDQtMjkgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSBGdW5jdGlvbmFsLmgKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUg
PHd0Zi9GdW5jdGlvbmFsLmg+IGhlYWRlciBpbmNsdXNpb25zLgorCisgICAgICAgICogUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW06IEltcG9ydCB0aGUgPG9iamMv
cnVudGltZS5oPgorICAgICAgICBoZWFkZXIgdGhhdCB3YXMgcHJldmlvdXNseSBpbmRpcmVjdGx5
IGluY2x1ZGVkIHRocm91Z2ggdGhlIEZ1bmN0aW9uYWwuaCBoZWFkZXIuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKwogMjAxNS0wNC0yOCAgQ2FybG9zIEdh
cmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIFVzZSB4
YXR0cnMgdG8gZ2V0L3NldCB0aGUgY3JlYXRpb24gdGltZSBvZiBkaXNrIGNhY2hlIGZpbGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qIGIvU291cmNlL1dU
Ri9XVEYudmN4cHJvai9XVEYudmN4cHJvagppbmRleCA2YWE0NzNkZmU2N2FkNGQyOTVhYjM4N2Jm
N2QxYmM0ZGJkMWJkOGMwLi40N2I3YzdjYjI1ZjE2NzBmNzEwNGQ4YTUxOWRmNjIyNzdlZTNjYThh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oKQEAgLTIwMiw3ICsyMDIsNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXEZsaXBCeXRlcy5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cd3RmXEZvcndhcmQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxGdW5jdGlvbkRpc3BhdGNoZXIuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXHd0ZlxGdW5jdGlvbmFsLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZc
R2V0UHRyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxHbGli
VXRpbGl0aWVzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcZ29iamVjdFxH
TWFpbkxvb3BTb3VyY2UuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ov
V1RGLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ou
ZmlsdGVycwppbmRleCBmYWUxMDY5MjYzYWU3ODJmNWI1ODUzZDViMTMyMTczOWQyMzVhM2ZmLi5l
ZDA2MmQ4NjY2MDRhZWVkZjM2ZTE1MTEzZmVkMjRjYjk1YzY5MTVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dURi9X
VEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCkBAIC00NDcsOSArNDQ3LDYgQEAKICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxGb3J3YXJkLmgiPgogICAgICAgPEZpbHRlcj53dGY8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxGdW5jdGlvbmFsLmgiPgotICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KLSAgICA8L0NsSW5j
bHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxHZXRQdHIuaCI+CiAgICAgICA8
RmlsdGVyPnd0ZjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYTAzODc4M2RmMjYwODM3Zjc0YzY5YTIwZDY3MjMz
NWU1MmRkMzgyOS4uMTljNGMzNDcyMzYyYjE5YzViMmE2MjUxMzcwM2ZlNTcwYWZmYWVkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTQsNyArMTU0LDYg
QEAKIAkJQThBNDczQzMxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyQTExNTFBODI1QTAw
NDEyM0ZGIC8qIEZhc3RNYWxsb2MuY3BwICovOyB9OwogCQlBOEE0NzNDNDE1MUE4MjVCMDA0MTIz
RkYgLyogRmFzdE1hbGxvYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThBNDcyQTIxNTFBODI1QTAwNDEyM0ZGIC8qIEZhc3RNYWxsb2MuaCAqLzsgfTsK
IAkJQThBNDczQzgxNTFBODI1QjAwNDEyM0ZGIC8qIEZvcndhcmQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MkE2MTUxQTgyNUEwMDQxMjNGRiAv
KiBGb3J3YXJkLmggKi87IH07Ci0JCUE4QTQ3M0M5MTUxQTgyNUIwMDQxMjNGRiAvKiBGdW5jdGlv
bmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0
NzJBNzE1MUE4MjVBMDA0MTIzRkYgLyogRnVuY3Rpb25hbC5oICovOyB9OwogCQlBOEE0NzNDQTE1
MUE4MjVCMDA0MTIzRkYgLyogR2V0UHRyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJBODE1MUE4MjVBMDA0MTIzRkYgLyogR2V0UHRyLmggKi87
IH07CiAJCUE4QTQ3M0QzMTUxQTgyNUIwMDQxMjNGRiAvKiBIYXNoQ291bnRlZFNldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDcyQjMxNTFBODI1
QTAwNDEyM0ZGIC8qIEhhc2hDb3VudGVkU2V0LmggKi87IH07CiAJCUE4QTQ3M0Q0MTUxQTgyNUIw
MDQxMjNGRiAvKiBIYXNoRnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzJCNDE1MUE4MjVBMDA0MTIzRkYgLyogSGFzaEZ1bmN0aW9u
cy5oICovOyB9OwpAQCAtNDQyLDcgKzQ0MSw2IEBACiAJCUE4QTQ3MkExMTUxQTgyNUEwMDQxMjNG
RiAvKiBGYXN0TWFsbG9jLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZhc3RNYWxsb2MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzJBMjE1
MUE4MjVBMDA0MTIzRkYgLyogRmFzdE1hbGxvYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGYXN0TWFsbG9jLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3
MkE2MTUxQTgyNUEwMDQxMjNGRiAvKiBGb3J3YXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEZvcndhcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQThBNDcy
QTcxNTFBODI1QTAwNDEyM0ZGIC8qIEZ1bmN0aW9uYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRnVuY3Rpb25hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
OEE0NzJBODE1MUE4MjVBMDA0MTIzRkYgLyogR2V0UHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEdldFB0ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBOEE0
NzJCMzE1MUE4MjVBMDA0MTIzRkYgLyogSGFzaENvdW50ZWRTZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSGFzaENvdW50ZWRTZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQThBNDcyQjQxNTFBODI1QTAwNDEyM0ZGIC8qIEhhc2hGdW5jdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGFzaEZ1bmN0aW9ucy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzQxLDcgKzczOSw2IEBACiAJCQkJMEY5RDMzNUMxNjVEQkE3
MzAwNUFEMzg3IC8qIEZpbGVQcmludFN0cmVhbS5oICovLAogCQkJCTBGMkI2NkE1MTdCNkI0Rjcw
MEE3QUUzRiAvKiBGbGlwQnl0ZXMuaCAqLywKIAkJCQlBOEE0NzJBNjE1MUE4MjVBMDA0MTIzRkYg
LyogRm9yd2FyZC5oICovLAotCQkJCUE4QTQ3MkE3MTUxQTgyNUEwMDQxMjNGRiAvKiBGdW5jdGlv
bmFsLmggKi8sCiAJCQkJMUExRDhCOUQxNzMxODc5ODAwMTQxREE0IC8qIEZ1bmN0aW9uRGlzcGF0
Y2hlci5jcHAgKi8sCiAJCQkJMUExRDhCOUIxNzMxODZDRTAwMTQxREE0IC8qIEZ1bmN0aW9uRGlz
cGF0Y2hlci5oICovLAogCQkJCUE4QTQ3MkE4MTUxQTgyNUEwMDQxMjNGRiAvKiBHZXRQdHIuaCAq
LywKQEAgLTEwODYsNyArMTA4Myw2IEBACiAJCQkJMEYyQjY2QTcxN0I2QjRGRDAwQTdBRTNGIC8q
IEZsaXBCeXRlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQzgxNTFBODI1QjAwNDEyM0ZG
IC8qIEZvcndhcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQUM5MUE4MTg5NDJGQzQwMDI0NDkz
OSAvKiBMQ2hhci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQThBNDczQzkxNTFBODI1QjAwNDEyM0ZG
IC8qIEZ1bmN0aW9uYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMUQ4QjlDMTczMTg2Q0UwMDE0
MURBNCAvKiBGdW5jdGlvbkRpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0NB
MTUxQTgyNUIwMDQxMjNGRiAvKiBHZXRQdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJDMDUzODU0
MTVCQzgxOTAwMEYyMUI5NiAvKiBHcmVnb3JpYW5EYXRlVGltZS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CmluZGV4IDg2MjNiYWNhMGNhZDQ2Mjc1ZTBmOTM3NmFlMDA3ZmYxZDQz
MDk1MzQuLmFhZDhjYTk1YmNhODE4ZTZmNmVlNmEyZDY3Njg1ZDkyZWNhOGIwNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0CkBAIC0yNyw3ICsyNyw2IEBAIHNldChXVEZfSEVBREVSUwogICAgIEZsaXBC
eXRlcy5oCiAgICAgRm9yd2FyZC5oCiAgICAgRnVuY3Rpb25EaXNwYXRjaGVyLmgKLSAgICBGdW5j
dGlvbmFsLmgKICAgICBHZXRQdHIuaAogICAgIEdyZWdvcmlhbkRhdGVUaW1lLmgKICAgICBIYXNo
Q291bnRlZFNldC5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbmFsLmggYi9T
b3VyY2UvV1RGL3d0Zi9GdW5jdGlvbmFsLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDQ1Y2E5NDExYjhlMzY1NjgzYjliYjU1NzE1NWYyNmE4ODRiYTkzMDIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dURi93dGYvRnVuY3Rpb25h
bC5oCisrKyAvZGV2L251bGwKQEAgLTEsNzgyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVm
IFdURl9GdW5jdGlvbmFsX2gKLSNkZWZpbmUgV1RGX0Z1bmN0aW9uYWxfaAotCi0jaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgotI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KLSNp
bmNsdWRlIDx3dGYvV2Vha1B0ci5oPgotCi0jaWYgT1MoREFSV0lOKSAmJiBDT01QSUxFUl9TVVBQ
T1JUUyhCTE9DS1MpCi0jaW5jbHVkZSA8QmxvY2suaD4KLSNpbmNsdWRlIDx3dGYvT2JqY1J1bnRp
bWVFeHRyYXMuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgV1RGIHsKLQotLy8gRnVuY3Rpb25hbC5o
IHByb3ZpZGVzIGEgdmVyeSBzaW1wbGUgd2F5IHRvIGJpbmQgYSBmdW5jdGlvbiBwb2ludGVyIGFu
ZCBhcmd1bWVudHMgdG9nZXRoZXIgaW50byBhIGZ1bmN0aW9uIG9iamVjdAotLy8gdGhhdCBjYW4g
YmUgc3RvcmVkLCBjb3BpZWQgYW5kIGludm9rZWQsIHNpbWlsYXIgdG8gaG93IGJvb3N0OjpiaW5k
IGFuZCBzdGQ6OmJpbmQgaW4gQysrMTEuCi0KLS8vIEhlbHBlciBjbGFzcyB0ZW1wbGF0ZSB0byBk
ZXRlcm1pbmUgd2hldGhlciBhIGdpdmVuIHR5cGUgaGFzIHJlZiBhbmQgZGVyZWYgbWVtYmVyIGZ1
bmN0aW9ucwotLy8gd2l0aCB0aGUgcmlnaHQgdHlwZSBzaWduYXR1cmUuCi10ZW1wbGF0ZTx0eXBl
bmFtZSBUPgotY2xhc3MgSGFzUmVmQW5kRGVyZWYgewotICAgIHR5cGVkZWYgY2hhciBZZXNUeXBl
OwotICAgIHN0cnVjdCBOb1R5cGUgewotICAgICAgICBjaGFyIHBhZGRpbmdbOF07Ci0gICAgfTsK
LQotICAgIHN0cnVjdCBCYXNlTWl4aW4gewotICAgICAgICB2b2lkIGRlcmVmKCk7Ci0gICAgICAg
IHZvaWQgcmVmKCk7Ci0gICAgfTsKLQotICAgIHN0cnVjdCBCYXNlIDogcHVibGljIFQsIHB1Ymxp
YyBCYXNlTWl4aW4geyB9OwotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVSwgVT4gc3RydWN0Ci0g
ICAgVHlwZUNoZWNrZXIgeyB9OwotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4KLSAgICBzdGF0
aWMgTm9UeXBlIHJlZkNoZWNrKFUqLCBUeXBlQ2hlY2tlcjx2b2lkIChCYXNlTWl4aW46OiopKCks
ICZVOjpyZWY+KiA9IDApOwotICAgIHN0YXRpYyBZZXNUeXBlIHJlZkNoZWNrKC4uLik7Ci0KLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgotICAgIHN0YXRpYyBOb1R5cGUgZGVyZWZDaGVjayhVKiwg
VHlwZUNoZWNrZXI8dm9pZCAoQmFzZU1peGluOjoqKSgpLCAmVTo6ZGVyZWY+KiA9IDApOwotICAg
IHN0YXRpYyBZZXNUeXBlIGRlcmVmQ2hlY2soLi4uKTsKLQotcHVibGljOgotICAgIHN0YXRpYyBj
b25zdCBib29sIHZhbHVlID0gc2l6ZW9mKHJlZkNoZWNrKHN0YXRpY19jYXN0PEJhc2UqPigwKSkp
ID09IHNpemVvZihZZXNUeXBlKSAmJiBzaXplb2YoZGVyZWZDaGVjayhzdGF0aWNfY2FzdDxCYXNl
Kj4oMCkpKSA9PSBzaXplb2YoWWVzVHlwZSk7Ci19OwotCi0vLyBBIEZ1bmN0aW9uV3JhcHBlciBp
cyBhIGNsYXNzIHRlbXBsYXRlIHRoYXQgY2FuIHdyYXAgYSBmdW5jdGlvbiBwb2ludGVyIG9yIGEg
bWVtYmVyIGZ1bmN0aW9uIHBvaW50ZXIgYW5kCi0vLyBwcm92aWRlIGEgdW5pZmllZCBpbnRlcmZh
Y2UgZm9yIGNhbGxpbmcgdGhhdCBmdW5jdGlvbi4KLXRlbXBsYXRlPHR5cGVuYW1lPgotY2xhc3Mg
RnVuY3Rpb25XcmFwcGVyOwotCi0vLyBCb3VuZCBzdGF0aWMgZnVuY3Rpb25zOgotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBSPgotY2xhc3MgRnVuY3Rpb25XcmFwcGVyPFIgKCopKCk+IHsKLXB1YmxpYzoK
LSAgICB0eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBzaG91bGRS
ZWZGaXJzdFBhcmFtZXRlciA9IGZhbHNlOwotCi0gICAgZXhwbGljaXQgRnVuY3Rpb25XcmFwcGVy
KFIgKCpmdW5jdGlvbikoKSkKLSAgICAgICAgOiBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAgIHsK
LSAgICB9Ci0KLSAgICBSIG9wZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVu
Y3Rpb24oKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUiAoKm1fZnVuY3Rpb24pKCk7Ci19Owot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBSLCB0eXBlbmFtZSBQMT4KLWNsYXNzIEZ1bmN0aW9uV3JhcHBl
cjxSICgqKShQMSk+IHsKLXB1YmxpYzoKLSAgICB0eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBz
dGF0aWMgY29uc3QgYm9vbCBzaG91bGRSZWZGaXJzdFBhcmFtZXRlciA9IGZhbHNlOwotCi0gICAg
ZXhwbGljaXQgRnVuY3Rpb25XcmFwcGVyKFIgKCpmdW5jdGlvbikoUDEpKQotICAgICAgICA6IG1f
ZnVuY3Rpb24oZnVuY3Rpb24pCi0gICAgewotICAgIH0KLQotICAgIFIgb3BlcmF0b3IoKShQMSBw
MSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Z1bmN0aW9uKHAxKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgUiAoKm1fZnVuY3Rpb24pKFAxKTsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFIs
IHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMj4KLWNsYXNzIEZ1bmN0aW9uV3JhcHBlcjxSICgqKShQ
MSwgUDIpPiB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBSIFJlc3VsdFR5cGU7Ci0gICAgc3RhdGlj
IGNvbnN0IGJvb2wgc2hvdWxkUmVmRmlyc3RQYXJhbWV0ZXIgPSBmYWxzZTsKLQotICAgIGV4cGxp
Y2l0IEZ1bmN0aW9uV3JhcHBlcihSICgqZnVuY3Rpb24pKFAxLCBQMikpCi0gICAgICAgIDogbV9m
dW5jdGlvbihmdW5jdGlvbikKLSAgICB7Ci0gICAgfQotCi0gICAgUiBvcGVyYXRvcigpKFAxIHAx
LCBQMiBwMikKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Z1bmN0aW9uKHAxLCBwMik7Ci0gICAg
fQotCi1wcml2YXRlOgotICAgIFIgKCptX2Z1bmN0aW9uKShQMSwgUDIpOwotfTsKLQotdGVtcGxh
dGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMz4KLWNs
YXNzIEZ1bmN0aW9uV3JhcHBlcjxSICgqKShQMSwgUDIsIFAzKT4gewotcHVibGljOgotICAgIHR5
cGVkZWYgUiBSZXN1bHRUeXBlOwotICAgIHN0YXRpYyBjb25zdCBib29sIHNob3VsZFJlZkZpcnN0
UGFyYW1ldGVyID0gZmFsc2U7Ci0KLSAgICBleHBsaWNpdCBGdW5jdGlvbldyYXBwZXIoUiAoKmZ1
bmN0aW9uKShQMSwgUDIsIFAzKSkKLSAgICAgICAgOiBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQotICAg
IHsKLSAgICB9Ci0KLSAgICBSIG9wZXJhdG9yKCkoUDEgcDEsIFAyIHAyLCBQMyBwMykKLSAgICB7
Ci0gICAgICAgIHJldHVybiBtX2Z1bmN0aW9uKHAxLCBwMiwgcDMpOwotICAgIH0KLQotcHJpdmF0
ZToKLSAgICBSICgqbV9mdW5jdGlvbikoUDEsIFAyLCBQMyk7Ci19OwotCi10ZW1wbGF0ZTx0eXBl
bmFtZSBSLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBQ
ND4KLWNsYXNzIEZ1bmN0aW9uV3JhcHBlcjxSICgqKShQMSwgUDIsIFAzLCBQNCk+IHsKLXB1Ymxp
YzoKLSAgICB0eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBzaG91
bGRSZWZGaXJzdFBhcmFtZXRlciA9IGZhbHNlOwotCi0gICAgZXhwbGljaXQgRnVuY3Rpb25XcmFw
cGVyKFIgKCpmdW5jdGlvbikoUDEsIFAyLCBQMywgUDQpKQotICAgICAgICA6IG1fZnVuY3Rpb24o
ZnVuY3Rpb24pCi0gICAgewotICAgIH0KLQotICAgIFIgb3BlcmF0b3IoKShQMSBwMSwgUDIgcDIs
IFAzIHAzLCBQNCBwNCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Z1bmN0aW9uKHAxLCBwMiwg
cDMsIHA0KTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgUiAoKm1fZnVuY3Rpb24pKFAxLCBQMiwg
UDMsIFA0KTsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIFAxLCB0eXBlbmFt
ZSBQMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNT4KLWNsYXNzIEZ1bmN0
aW9uV3JhcHBlcjxSICgqKShQMSwgUDIsIFAzLCBQNCwgUDUpPiB7Ci1wdWJsaWM6Ci0gICAgdHlw
ZWRlZiBSIFJlc3VsdFR5cGU7Ci0gICAgc3RhdGljIGNvbnN0IGJvb2wgc2hvdWxkUmVmRmlyc3RQ
YXJhbWV0ZXIgPSBmYWxzZTsKLQotICAgIGV4cGxpY2l0IEZ1bmN0aW9uV3JhcHBlcihSICgqZnVu
Y3Rpb24pKFAxLCBQMiwgUDMsIFA0LCBQNSkpCi0gICAgICAgIDogbV9mdW5jdGlvbihmdW5jdGlv
bikKLSAgICB7Ci0gICAgfQotCi0gICAgUiBvcGVyYXRvcigpKFAxIHAxLCBQMiBwMiwgUDMgcDMs
IFA0IHA0LCBQNSBwNSkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtX2Z1bmN0aW9uKHAxLCBwMiwg
cDMsIHA0LCBwNSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFIgKCptX2Z1bmN0aW9uKShQMSwg
UDIsIFAzLCBQNCwgUDUpOwotfTsKLQotLy8gQm91bmQgbWVtYmVyIGZ1bmN0aW9uczoKLQotdGVt
cGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgQz4KLWNsYXNzIEZ1bmN0aW9uV3JhcHBlcjxSIChD
OjoqKSgpPiB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBSIFJlc3VsdFR5cGU7Ci0gICAgc3RhdGlj
IGNvbnN0IGJvb2wgc2hvdWxkUmVmRmlyc3RQYXJhbWV0ZXIgPSBIYXNSZWZBbmREZXJlZjxDPjo6
dmFsdWU7Ci0KLSAgICBleHBsaWNpdCBGdW5jdGlvbldyYXBwZXIoUiAoQzo6KmZ1bmN0aW9uKSgp
KQotICAgICAgICA6IG1fZnVuY3Rpb24oZnVuY3Rpb24pCi0gICAgewotICAgIH0KLQotICAgIFIg
b3BlcmF0b3IoKShDKiBjKQotICAgIHsKLSAgICAgICAgcmV0dXJuIChjLT4qbV9mdW5jdGlvbiko
KTsKLSAgICB9Ci0KLSAgICBSIG9wZXJhdG9yKCkoY29uc3QgV2Vha1B0cjxDPiYgYykKLSAgICB7
Ci0gICAgICAgIEMqIG9iaiA9IGMuZ2V0KCk7Ci0gICAgICAgIGlmICghb2JqKQotICAgICAgICAg
ICAgcmV0dXJuIFIoKTsKLSAgICAgICAgcmV0dXJuIChvYmotPiptX2Z1bmN0aW9uKSgpOwotICAg
IH0KLQotcHJpdmF0ZToKLSAgICBSIChDOjoqbV9mdW5jdGlvbikoKTsKLX07Ci0KLXRlbXBsYXRl
PHR5cGVuYW1lIFIsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIFAxPgotY2xhc3MgRnVuY3Rpb25XcmFw
cGVyPFIgKEM6OiopKFAxKT4gewotcHVibGljOgotICAgIHR5cGVkZWYgUiBSZXN1bHRUeXBlOwot
ICAgIHN0YXRpYyBjb25zdCBib29sIHNob3VsZFJlZkZpcnN0UGFyYW1ldGVyID0gSGFzUmVmQW5k
RGVyZWY8Qz46OnZhbHVlOwotCi0gICAgZXhwbGljaXQgRnVuY3Rpb25XcmFwcGVyKFIgKEM6Oipm
dW5jdGlvbikoUDEpKQotICAgICAgICA6IG1fZnVuY3Rpb24oZnVuY3Rpb24pCi0gICAgewotICAg
IH0KLQotICAgIFIgb3BlcmF0b3IoKShDKiBjLCBQMSBwMSkKLSAgICB7Ci0gICAgICAgIHJldHVy
biAoYy0+Km1fZnVuY3Rpb24pKHAxKTsKLSAgICB9Ci0KLSAgICBSIG9wZXJhdG9yKCkoY29uc3Qg
V2Vha1B0cjxDPiYgYywgUDEgcDEpCi0gICAgewotICAgICAgICBDKiBvYmogPSBjLmdldCgpOwot
ICAgICAgICBpZiAoIW9iaikKLSAgICAgICAgICAgIHJldHVybiBSKCk7Ci0gICAgICAgIHJldHVy
biAob2JqLT4qbV9mdW5jdGlvbikocDEpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBSIChDOjoq
bV9mdW5jdGlvbikoUDEpOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgQywg
dHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyPgotY2xhc3MgRnVuY3Rpb25XcmFwcGVyPFIgKEM6Oiop
KFAxLCBQMik+IHsKLXB1YmxpYzoKLSAgICB0eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBzdGF0
aWMgY29uc3QgYm9vbCBzaG91bGRSZWZGaXJzdFBhcmFtZXRlciA9IEhhc1JlZkFuZERlcmVmPEM+
Ojp2YWx1ZTsKLQotICAgIGV4cGxpY2l0IEZ1bmN0aW9uV3JhcHBlcihSIChDOjoqZnVuY3Rpb24p
KFAxLCBQMikpCi0gICAgICAgIDogbV9mdW5jdGlvbihmdW5jdGlvbikKLSAgICB7Ci0gICAgfQot
Ci0gICAgUiBvcGVyYXRvcigpKEMqIGMsIFAxIHAxLCBQMiBwMikKLSAgICB7Ci0gICAgICAgIHJl
dHVybiAoYy0+Km1fZnVuY3Rpb24pKHAxLCBwMik7Ci0gICAgfQotCi0gICAgUiBvcGVyYXRvcigp
KGNvbnN0IFdlYWtQdHI8Qz4mIGMsIFAxIHAxLCBQMiBwMikKLSAgICB7Ci0gICAgICAgIEMqIG9i
aiA9IGMuZ2V0KCk7Ci0gICAgICAgIGlmICghb2JqKQotICAgICAgICAgICAgcmV0dXJuIFIoKTsK
LSAgICAgICAgcmV0dXJuIChvYmotPiptX2Z1bmN0aW9uKShwMSwgcDIpOwotICAgIH0KLQotcHJp
dmF0ZToKLSAgICBSIChDOjoqbV9mdW5jdGlvbikoUDEsIFAyKTsKLX07Ci0KLXRlbXBsYXRlPHR5
cGVuYW1lIFIsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUg
UDM+Ci1jbGFzcyBGdW5jdGlvbldyYXBwZXI8UiAoQzo6KikoUDEsIFAyLCBQMyk+IHsKLXB1Ymxp
YzoKLSAgICB0eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBzaG91
bGRSZWZGaXJzdFBhcmFtZXRlciA9IEhhc1JlZkFuZERlcmVmPEM+Ojp2YWx1ZTsKLQotICAgIGV4
cGxpY2l0IEZ1bmN0aW9uV3JhcHBlcihSIChDOjoqZnVuY3Rpb24pKFAxLCBQMiwgUDMpKQotICAg
ICAgICA6IG1fZnVuY3Rpb24oZnVuY3Rpb24pCi0gICAgewotICAgIH0KLQotICAgIFIgb3BlcmF0
b3IoKShDKiBjLCBQMSBwMSwgUDIgcDIsIFAzIHAzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIChj
LT4qbV9mdW5jdGlvbikocDEsIHAyLCBwMyk7Ci0gICAgfQotCi0gICAgUiBvcGVyYXRvcigpKGNv
bnN0IFdlYWtQdHI8Qz4mIGMsIFAxIHAxLCBQMiBwMiwgUDMgcDMpCi0gICAgewotICAgICAgICBD
KiBvYmogPSBjLmdldCgpOwotICAgICAgICBpZiAoIW9iaikKLSAgICAgICAgICAgIHJldHVybiBS
KCk7Ci0gICAgICAgIHJldHVybiAob2JqLT4qbV9mdW5jdGlvbikocDEsIHAyLCBwMyk7Ci0gICAg
fQotCi1wcml2YXRlOgotICAgIFIgKEM6OiptX2Z1bmN0aW9uKShQMSwgUDIsIFAzKTsKLX07Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lIFIsIHR5cGVuYW1lIEMsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQ
MiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0PgotY2xhc3MgRnVuY3Rpb25XcmFwcGVyPFIgKEM6
OiopKFAxLCBQMiwgUDMsIFA0KT4gewotcHVibGljOgotICAgIHR5cGVkZWYgUiBSZXN1bHRUeXBl
OwotICAgIHN0YXRpYyBjb25zdCBib29sIHNob3VsZFJlZkZpcnN0UGFyYW1ldGVyID0gSGFzUmVm
QW5kRGVyZWY8Qz46OnZhbHVlOwotCi0gICAgZXhwbGljaXQgRnVuY3Rpb25XcmFwcGVyKFIgKEM6
OipmdW5jdGlvbikoUDEsIFAyLCBQMywgUDQpKQotICAgICAgICA6IG1fZnVuY3Rpb24oZnVuY3Rp
b24pCi0gICAgewotICAgIH0KLQotICAgIFIgb3BlcmF0b3IoKShDKiBjLCBQMSBwMSwgUDIgcDIs
IFAzIHAzLCBQNCBwNCkKLSAgICB7Ci0gICAgICAgIHJldHVybiAoYy0+Km1fZnVuY3Rpb24pKHAx
LCBwMiwgcDMsIHA0KTsKLSAgICB9Ci0KLSAgICBSIG9wZXJhdG9yKCkoY29uc3QgV2Vha1B0cjxD
PiYgYywgUDEgcDEsIFAyIHAyLCBQMyBwMywgUDQgcDQpCi0gICAgewotICAgICAgICBDKiBvYmog
PSBjLmdldCgpOwotICAgICAgICBpZiAoIW9iaikKLSAgICAgICAgICAgIHJldHVybiBSKCk7Ci0g
ICAgICAgIHJldHVybiAob2JqLT4qbV9mdW5jdGlvbikocDEsIHAyLCBwMywgcDQpOwotICAgIH0K
LQotcHJpdmF0ZToKLSAgICBSIChDOjoqbV9mdW5jdGlvbikoUDEsIFAyLCBQMywgUDQpOwotfTsK
LQotdGVtcGxhdGU8dHlwZW5hbWUgUiwgdHlwZW5hbWUgQywgdHlwZW5hbWUgUDEsIHR5cGVuYW1l
IFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIFA1PgotY2xhc3MgRnVuY3Rp
b25XcmFwcGVyPFIgKEM6OiopKFAxLCBQMiwgUDMsIFA0LCBQNSk+IHsKLXB1YmxpYzoKLSAgICB0
eXBlZGVmIFIgUmVzdWx0VHlwZTsKLSAgICBzdGF0aWMgY29uc3QgYm9vbCBzaG91bGRSZWZGaXJz
dFBhcmFtZXRlciA9IEhhc1JlZkFuZERlcmVmPEM+Ojp2YWx1ZTsKLQotICAgIGV4cGxpY2l0IEZ1
bmN0aW9uV3JhcHBlcihSIChDOjoqZnVuY3Rpb24pKFAxLCBQMiwgUDMsIFA0LCBQNSkpCi0gICAg
ICAgIDogbV9mdW5jdGlvbihmdW5jdGlvbikKLSAgICB7Ci0gICAgfQotCi0gICAgUiBvcGVyYXRv
cigpKEMqIGMsIFAxIHAxLCBQMiBwMiwgUDMgcDMsIFA0IHA0LCBQNSBwNSkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiAoYy0+Km1fZnVuY3Rpb24pKHAxLCBwMiwgcDMsIHA0LCBwNSk7Ci0gICAgfQot
Ci0gICAgUiBvcGVyYXRvcigpKGNvbnN0IFdlYWtQdHI8Qz4mIGMsIFAxIHAxLCBQMiBwMiwgUDMg
cDMsIFA0IHA0LCBQNSBwNSkKLSAgICB7Ci0gICAgICAgIEMqIG9iaiA9IGMuZ2V0KCk7Ci0gICAg
ICAgIGlmICghb2JqKQotICAgICAgICAgICAgcmV0dXJuIFIoKTsKLSAgICAgICAgcmV0dXJuIChv
YmotPiptX2Z1bmN0aW9uKShwMSwgcDIsIHAzLCBwNCwgcDUpOwotICAgIH0KLQotcHJpdmF0ZToK
LSAgICBSIChDOjoqbV9mdW5jdGlvbikoUDEsIFAyLCBQMywgUDQsIFA1KTsKLX07Ci0KLSNpZiBP
UyhEQVJXSU4pICYmIENPTVBJTEVSX1NVUFBPUlRTKEJMT0NLUykKLXRlbXBsYXRlPHR5cGVuYW1l
IFI+Ci1jbGFzcyBGdW5jdGlvbldyYXBwZXI8UiAoXikoKT4gewotcHVibGljOgotICAgIHR5cGVk
ZWYgUiBSZXN1bHRUeXBlOwotICAgIHN0YXRpYyBjb25zdCBib29sIHNob3VsZFJlZkZpcnN0UGFy
YW1ldGVyID0gZmFsc2U7Ci0KLSAgICBleHBsaWNpdCBGdW5jdGlvbldyYXBwZXIoUiAoXmJsb2Nr
KSgpKQotICAgICAgICA6IG1fYmxvY2soQmxvY2tfY29weShibG9jaykpCi0gICAgewotICAgIH0K
LQotICAgIEZ1bmN0aW9uV3JhcHBlcihjb25zdCBGdW5jdGlvbldyYXBwZXImIG90aGVyKQotICAg
ICAgICA6IG1fYmxvY2soQmxvY2tfY29weShvdGhlci5tX2Jsb2NrKSkKLSAgICB7Ci0gICAgfQot
Ci0gICAgfkZ1bmN0aW9uV3JhcHBlcigpCi0gICAgewotICAgICAgICBCbG9ja19yZWxlYXNlKG1f
YmxvY2spOwotICAgIH0KLQotICAgIFIgb3BlcmF0b3IoKSgpCi0gICAgewotICAgICAgICByZXR1
cm4gbV9ibG9jaygpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBSIChebV9ibG9jaykoKTsKLX07
Ci0jZW5kaWYKLQotdGVtcGxhdGU8dHlwZW5hbWUgVCwgYm9vbCBzaG91bGRSZWZBbmREZXJlZj4g
c3RydWN0IFJlZkFuZERlcmVmIHsKLSAgICBzdGF0aWMgdm9pZCByZWYoVCkgeyB9Ci0gICAgc3Rh
dGljIHZvaWQgZGVyZWYoVCkgeyB9Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
UmVmQW5kRGVyZWY8VCosIHRydWU+IHsKLSAgICBzdGF0aWMgdm9pZCByZWYoVCogdCkgeyB0LT5y
ZWYoKTsgfQotICAgIHN0YXRpYyB2b2lkIGRlcmVmKFQqIHQpIHsgdC0+ZGVyZWYoKTsgfQotfTsK
LQotdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFBhcmFtU3RvcmFnZVRyYWl0cyB7Ci0gICAg
dHlwZWRlZiBUIFN0b3JhZ2VUeXBlOwotCi0gICAgc3RhdGljIFN0b3JhZ2VUeXBlIHdyYXAoY29u
c3QgVCYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9Ci0gICAgc3RhdGljIGNvbnN0IFQmIHVud3Jh
cChjb25zdCBTdG9yYWdlVHlwZSYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9Ci19OwotCi10ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyYW1TdG9yYWdlVHJhaXRzPFBhc3NSZWZQdHI8VD4+
IHsKLSAgICB0eXBlZGVmIFJlZlB0cjxUPiBTdG9yYWdlVHlwZTsKLQotICAgIHN0YXRpYyBTdG9y
YWdlVHlwZSB3cmFwKFBhc3NSZWZQdHI8VD4gdmFsdWUpIHsgcmV0dXJuIHZhbHVlOyB9Ci0gICAg
c3RhdGljIFQqIHVud3JhcChjb25zdCBTdG9yYWdlVHlwZSYgdmFsdWUpIHsgcmV0dXJuIHZhbHVl
LmdldCgpOyB9Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3QgUGFyYW1TdG9yYWdl
VHJhaXRzPFJlZlB0cjxUPj4gewotICAgIHR5cGVkZWYgUmVmUHRyPFQ+IFN0b3JhZ2VUeXBlOwot
Ci0gICAgc3RhdGljIFN0b3JhZ2VUeXBlIHdyYXAoUmVmUHRyPFQ+IHZhbHVlKSB7IHJldHVybiB2
YWx1ZS5yZWxlYXNlKCk7IH0KLSAgICBzdGF0aWMgVCogdW53cmFwKGNvbnN0IFN0b3JhZ2VUeXBl
JiB2YWx1ZSkgeyByZXR1cm4gdmFsdWUuZ2V0KCk7IH0KLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1l
PiBjbGFzcyBSZXRhaW5QdHI7Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBQYXJhbVN0
b3JhZ2VUcmFpdHM8UmV0YWluUHRyPFQ+PiB7Ci0gICAgdHlwZWRlZiBSZXRhaW5QdHI8VD4gU3Rv
cmFnZVR5cGU7Ci0KLSAgICBzdGF0aWMgU3RvcmFnZVR5cGUgd3JhcChjb25zdCBSZXRhaW5QdHI8
VD4mIHZhbHVlKSB7IHJldHVybiB2YWx1ZTsgfQotICAgIHN0YXRpYyB0eXBlbmFtZSBSZXRhaW5Q
dHI8VD46OlB0clR5cGUgdW53cmFwKGNvbnN0IFN0b3JhZ2VUeXBlJiB2YWx1ZSkgeyByZXR1cm4g
dmFsdWUuZ2V0KCk7IH0KLX07Ci0KLWNsYXNzIEZ1bmN0aW9uSW1wbEJhc2UgOiBwdWJsaWMgVGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8RnVuY3Rpb25JbXBsQmFzZT4gewotcHVibGljOgotICAgIHZpcnR1
YWwgfkZ1bmN0aW9uSW1wbEJhc2UoKSB7IH0KLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lPgotY2xh
c3MgRnVuY3Rpb25JbXBsOwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBSPgotY2xhc3MgRnVuY3Rpb25J
bXBsPFIgKCk+IDogcHVibGljIEZ1bmN0aW9uSW1wbEJhc2UgewotcHVibGljOgotICAgIHZpcnR1
YWwgUiBvcGVyYXRvcigpKCkgPSAwOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25X
cmFwcGVyLCB0eXBlbmFtZSBGdW5jdGlvblR5cGU+Ci1jbGFzcyBCb3VuZEZ1bmN0aW9uSW1wbDsK
LQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyLCB0eXBlbmFtZSBSPgotY2xhc3Mg
Qm91bmRGdW5jdGlvbkltcGw8RnVuY3Rpb25XcmFwcGVyLCBSICgpPiA6IHB1YmxpYyBGdW5jdGlv
bkltcGw8dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyOjpSZXN1bHRUeXBlICgpPiB7Ci1wdWJsaWM6
Ci0gICAgZXhwbGljaXQgQm91bmRGdW5jdGlvbkltcGwoRnVuY3Rpb25XcmFwcGVyIGZ1bmN0aW9u
V3JhcHBlcikKLSAgICAgICAgOiBtX2Z1bmN0aW9uV3JhcHBlcihmdW5jdGlvbldyYXBwZXIpCi0g
ICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyOjpSZXN1
bHRUeXBlIG9wZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVuY3Rpb25XcmFw
cGVyKCk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIEZ1bmN0aW9uV3JhcHBlciBtX2Z1bmN0aW9u
V3JhcHBlcjsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlciwgdHlwZW5h
bWUgUiwgdHlwZW5hbWUgUDE+Ci1jbGFzcyBCb3VuZEZ1bmN0aW9uSW1wbDxGdW5jdGlvbldyYXBw
ZXIsIFIgKFAxKT4gOiBwdWJsaWMgRnVuY3Rpb25JbXBsPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBl
cjo6UmVzdWx0VHlwZSAoKT4gewotcHVibGljOgotICAgIEJvdW5kRnVuY3Rpb25JbXBsKEZ1bmN0
aW9uV3JhcHBlciBmdW5jdGlvbldyYXBwZXIsIGNvbnN0IFAxJiBwMSkKLSAgICAgICAgOiBtX2Z1
bmN0aW9uV3JhcHBlcihmdW5jdGlvbldyYXBwZXIpCi0gICAgICAgICwgbV9wMShQYXJhbVN0b3Jh
Z2VUcmFpdHM8UDE+Ojp3cmFwKHAxKSkKLSAgICB7Ci0gICAgICAgIFJlZkFuZERlcmVmPFAxLCBG
dW5jdGlvbldyYXBwZXI6OnNob3VsZFJlZkZpcnN0UGFyYW1ldGVyPjo6cmVmKG1fcDEpOwotICAg
IH0KLQotICAgIH5Cb3VuZEZ1bmN0aW9uSW1wbCgpCi0gICAgewotICAgICAgICBSZWZBbmREZXJl
ZjxQMSwgRnVuY3Rpb25XcmFwcGVyOjpzaG91bGRSZWZGaXJzdFBhcmFtZXRlcj46OmRlcmVmKG1f
cDEpOwotICAgIH0KLQotICAgIHZpcnR1YWwgdHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyOjpSZXN1
bHRUeXBlIG9wZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVuY3Rpb25XcmFw
cGVyKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46OnVud3JhcChtX3AxKSk7Ci0gICAgfQotCi1wcml2
YXRlOgotICAgIEZ1bmN0aW9uV3JhcHBlciBtX2Z1bmN0aW9uV3JhcHBlcjsKLSAgICB0eXBlbmFt
ZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDE+OjpTdG9yYWdlVHlwZSBtX3AxOwotfTsKLQotdGVtcGxh
dGU8dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyLCB0eXBlbmFtZSBSLCB0eXBlbmFtZSBQMSwgdHlw
ZW5hbWUgUDI+Ci1jbGFzcyBCb3VuZEZ1bmN0aW9uSW1wbDxGdW5jdGlvbldyYXBwZXIsIFIgKFAx
LCBQMik+IDogcHVibGljIEZ1bmN0aW9uSW1wbDx0eXBlbmFtZSBGdW5jdGlvbldyYXBwZXI6OlJl
c3VsdFR5cGUgKCk+IHsKLXB1YmxpYzoKLSAgICBCb3VuZEZ1bmN0aW9uSW1wbChGdW5jdGlvbldy
YXBwZXIgZnVuY3Rpb25XcmFwcGVyLCBjb25zdCBQMSYgcDEsIGNvbnN0IFAyJiBwMikKLSAgICAg
ICAgOiBtX2Z1bmN0aW9uV3JhcHBlcihmdW5jdGlvbldyYXBwZXIpCi0gICAgICAgICwgbV9wMShQ
YXJhbVN0b3JhZ2VUcmFpdHM8UDE+Ojp3cmFwKHAxKSkKLSAgICAgICAgLCBtX3AyKFBhcmFtU3Rv
cmFnZVRyYWl0czxQMj46OndyYXAocDIpKQotICAgIHsKLSAgICAgICAgUmVmQW5kRGVyZWY8UDEs
IEZ1bmN0aW9uV3JhcHBlcjo6c2hvdWxkUmVmRmlyc3RQYXJhbWV0ZXI+OjpyZWYobV9wMSk7Ci0g
ICAgfQotICAgIAotICAgIH5Cb3VuZEZ1bmN0aW9uSW1wbCgpCi0gICAgewotICAgICAgICBSZWZB
bmREZXJlZjxQMSwgRnVuY3Rpb25XcmFwcGVyOjpzaG91bGRSZWZGaXJzdFBhcmFtZXRlcj46OmRl
cmVmKG1fcDEpOwotICAgIH0KLQotICAgIHZpcnR1YWwgdHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVy
OjpSZXN1bHRUeXBlIG9wZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVuY3Rp
b25XcmFwcGVyKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46OnVud3JhcChtX3AxKSwgUGFyYW1TdG9y
YWdlVHJhaXRzPFAyPjo6dW53cmFwKG1fcDIpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgRnVu
Y3Rpb25XcmFwcGVyIG1fZnVuY3Rpb25XcmFwcGVyOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFn
ZVRyYWl0czxQMT46OlN0b3JhZ2VUeXBlIG1fcDE7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdl
VHJhaXRzPFAyPjo6U3RvcmFnZVR5cGUgbV9wMjsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEZ1
bmN0aW9uV3JhcHBlciwgdHlwZW5hbWUgUiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBl
bmFtZSBQMz4KLWNsYXNzIEJvdW5kRnVuY3Rpb25JbXBsPEZ1bmN0aW9uV3JhcHBlciwgUiAoUDEs
IFAyLCBQMyk+IDogcHVibGljIEZ1bmN0aW9uSW1wbDx0eXBlbmFtZSBGdW5jdGlvbldyYXBwZXI6
OlJlc3VsdFR5cGUgKCk+IHsKLXB1YmxpYzoKLSAgICBCb3VuZEZ1bmN0aW9uSW1wbChGdW5jdGlv
bldyYXBwZXIgZnVuY3Rpb25XcmFwcGVyLCBjb25zdCBQMSYgcDEsIGNvbnN0IFAyJiBwMiwgY29u
c3QgUDMmIHAzKQotICAgICAgICA6IG1fZnVuY3Rpb25XcmFwcGVyKGZ1bmN0aW9uV3JhcHBlcikK
LSAgICAgICAgLCBtX3AxKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46OndyYXAocDEpKQotICAgICAg
ICAsIG1fcDIoUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6d3JhcChwMikpCi0gICAgICAgICwgbV9w
MyhQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+Ojp3cmFwKHAzKSkKLSAgICB7Ci0gICAgICAgIFJlZkFu
ZERlcmVmPFAxLCBGdW5jdGlvbldyYXBwZXI6OnNob3VsZFJlZkZpcnN0UGFyYW1ldGVyPjo6cmVm
KG1fcDEpOwotICAgIH0KLSAgICAKLSAgICB+Qm91bmRGdW5jdGlvbkltcGwoKQotICAgIHsKLSAg
ICAgICAgUmVmQW5kRGVyZWY8UDEsIEZ1bmN0aW9uV3JhcHBlcjo6c2hvdWxkUmVmRmlyc3RQYXJh
bWV0ZXI+OjpkZXJlZihtX3AxKTsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHR5cGVuYW1lIEZ1bmN0
aW9uV3JhcHBlcjo6UmVzdWx0VHlwZSBvcGVyYXRvcigpKCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBtX2Z1bmN0aW9uV3JhcHBlcihQYXJhbVN0b3JhZ2VUcmFpdHM8UDE+Ojp1bndyYXAobV9wMSks
IFBhcmFtU3RvcmFnZVRyYWl0czxQMj46OnVud3JhcChtX3AyKSwgUGFyYW1TdG9yYWdlVHJhaXRz
PFAzPjo6dW53cmFwKG1fcDMpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgRnVuY3Rpb25XcmFw
cGVyIG1fZnVuY3Rpb25XcmFwcGVyOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQ
MT46OlN0b3JhZ2VUeXBlIG1fcDE7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFAy
Pjo6U3RvcmFnZVR5cGUgbV9wMjsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+
OjpTdG9yYWdlVHlwZSBtX3AzOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25XcmFw
cGVyLCB0eXBlbmFtZSBSLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0
eXBlbmFtZSBQND4KLWNsYXNzIEJvdW5kRnVuY3Rpb25JbXBsPEZ1bmN0aW9uV3JhcHBlciwgUiAo
UDEsIFAyLCBQMywgUDQpPiA6IHB1YmxpYyBGdW5jdGlvbkltcGw8dHlwZW5hbWUgRnVuY3Rpb25X
cmFwcGVyOjpSZXN1bHRUeXBlICgpPiB7Ci1wdWJsaWM6Ci0gICAgQm91bmRGdW5jdGlvbkltcGwo
RnVuY3Rpb25XcmFwcGVyIGZ1bmN0aW9uV3JhcHBlciwgY29uc3QgUDEmIHAxLCBjb25zdCBQMiYg
cDIsIGNvbnN0IFAzJiBwMywgY29uc3QgUDQmIHA0KQotICAgICAgICA6IG1fZnVuY3Rpb25XcmFw
cGVyKGZ1bmN0aW9uV3JhcHBlcikKLSAgICAgICAgLCBtX3AxKFBhcmFtU3RvcmFnZVRyYWl0czxQ
MT46OndyYXAocDEpKQotICAgICAgICAsIG1fcDIoUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6d3Jh
cChwMikpCi0gICAgICAgICwgbV9wMyhQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+Ojp3cmFwKHAzKSkK
LSAgICAgICAgLCBtX3A0KFBhcmFtU3RvcmFnZVRyYWl0czxQND46OndyYXAocDQpKQotICAgIHsK
LSAgICAgICAgUmVmQW5kRGVyZWY8UDEsIEZ1bmN0aW9uV3JhcHBlcjo6c2hvdWxkUmVmRmlyc3RQ
YXJhbWV0ZXI+OjpyZWYobV9wMSk7Ci0gICAgfQotICAgIAotICAgIH5Cb3VuZEZ1bmN0aW9uSW1w
bCgpCi0gICAgewotICAgICAgICBSZWZBbmREZXJlZjxQMSwgRnVuY3Rpb25XcmFwcGVyOjpzaG91
bGRSZWZGaXJzdFBhcmFtZXRlcj46OmRlcmVmKG1fcDEpOwotICAgIH0KLQotICAgIHZpcnR1YWwg
dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyOjpSZXN1bHRUeXBlIG9wZXJhdG9yKCkoKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIG1fZnVuY3Rpb25XcmFwcGVyKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46
OnVud3JhcChtX3AxKSwgUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6dW53cmFwKG1fcDIpLCBQYXJh
bVN0b3JhZ2VUcmFpdHM8UDM+Ojp1bndyYXAobV9wMyksIFBhcmFtU3RvcmFnZVRyYWl0czxQND46
OnVud3JhcChtX3A0KSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIEZ1bmN0aW9uV3JhcHBlciBt
X2Z1bmN0aW9uV3JhcHBlcjsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDE+OjpT
dG9yYWdlVHlwZSBtX3AxOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQMj46OlN0
b3JhZ2VUeXBlIG1fcDI7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFAzPjo6U3Rv
cmFnZVR5cGUgbV9wMzsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDQ+OjpTdG9y
YWdlVHlwZSBtX3A0OwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyLCB0
eXBlbmFtZSBSLCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFt
ZSBQNCwgdHlwZW5hbWUgUDU+Ci1jbGFzcyBCb3VuZEZ1bmN0aW9uSW1wbDxGdW5jdGlvbldyYXBw
ZXIsIFIgKFAxLCBQMiwgUDMsIFA0LCBQNSk+IDogcHVibGljIEZ1bmN0aW9uSW1wbDx0eXBlbmFt
ZSBGdW5jdGlvbldyYXBwZXI6OlJlc3VsdFR5cGUgKCk+IHsKLXB1YmxpYzoKLSAgICBCb3VuZEZ1
bmN0aW9uSW1wbChGdW5jdGlvbldyYXBwZXIgZnVuY3Rpb25XcmFwcGVyLCBjb25zdCBQMSYgcDEs
IGNvbnN0IFAyJiBwMiwgY29uc3QgUDMmIHAzLCBjb25zdCBQNCYgcDQsIGNvbnN0IFA1JiBwNSkK
LSAgICAgICAgOiBtX2Z1bmN0aW9uV3JhcHBlcihmdW5jdGlvbldyYXBwZXIpCi0gICAgICAgICwg
bV9wMShQYXJhbVN0b3JhZ2VUcmFpdHM8UDE+Ojp3cmFwKHAxKSkKLSAgICAgICAgLCBtX3AyKFBh
cmFtU3RvcmFnZVRyYWl0czxQMj46OndyYXAocDIpKQotICAgICAgICAsIG1fcDMoUGFyYW1TdG9y
YWdlVHJhaXRzPFAzPjo6d3JhcChwMykpCi0gICAgICAgICwgbV9wNChQYXJhbVN0b3JhZ2VUcmFp
dHM8UDQ+Ojp3cmFwKHA0KSkKLSAgICAgICAgLCBtX3A1KFBhcmFtU3RvcmFnZVRyYWl0czxQNT46
OndyYXAocDUpKQotICAgIHsKLSAgICAgICAgUmVmQW5kRGVyZWY8UDEsIEZ1bmN0aW9uV3JhcHBl
cjo6c2hvdWxkUmVmRmlyc3RQYXJhbWV0ZXI+OjpyZWYobV9wMSk7Ci0gICAgfQotICAgIAotICAg
IH5Cb3VuZEZ1bmN0aW9uSW1wbCgpCi0gICAgewotICAgICAgICBSZWZBbmREZXJlZjxQMSwgRnVu
Y3Rpb25XcmFwcGVyOjpzaG91bGRSZWZGaXJzdFBhcmFtZXRlcj46OmRlcmVmKG1fcDEpOwotICAg
IH0KLQotICAgIHZpcnR1YWwgdHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyOjpSZXN1bHRUeXBlIG9w
ZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVuY3Rpb25XcmFwcGVyKFBhcmFt
U3RvcmFnZVRyYWl0czxQMT46OnVud3JhcChtX3AxKSwgUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6
dW53cmFwKG1fcDIpLCBQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+Ojp1bndyYXAobV9wMyksIFBhcmFt
U3RvcmFnZVRyYWl0czxQND46OnVud3JhcChtX3A0KSwgUGFyYW1TdG9yYWdlVHJhaXRzPFA1Pjo6
dW53cmFwKG1fcDUpKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgRnVuY3Rpb25XcmFwcGVyIG1f
ZnVuY3Rpb25XcmFwcGVyOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQMT46OlN0
b3JhZ2VUeXBlIG1fcDE7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6U3Rv
cmFnZVR5cGUgbV9wMjsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+OjpTdG9y
YWdlVHlwZSBtX3AzOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQND46OlN0b3Jh
Z2VUeXBlIG1fcDQ7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFA1Pjo6U3RvcmFn
ZVR5cGUgbV9wNTsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlciwgdHlw
ZW5hbWUgUiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUg
UDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNj4KLWNsYXNzIEJvdW5kRnVuY3Rpb25JbXBsPEZ1
bmN0aW9uV3JhcHBlciwgUiAoUDEsIFAyLCBQMywgUDQsIFA1LCBQNik+IDogcHVibGljIEZ1bmN0
aW9uSW1wbDx0eXBlbmFtZSBGdW5jdGlvbldyYXBwZXI6OlJlc3VsdFR5cGUgKCk+IHsKLXB1Ymxp
YzoKLSAgICBCb3VuZEZ1bmN0aW9uSW1wbChGdW5jdGlvbldyYXBwZXIgZnVuY3Rpb25XcmFwcGVy
LCBjb25zdCBQMSYgcDEsIGNvbnN0IFAyJiBwMiwgY29uc3QgUDMmIHAzLCBjb25zdCBQNCYgcDQs
IGNvbnN0IFA1JiBwNSwgY29uc3QgUDYmIHA2KQotICAgICAgICA6IG1fZnVuY3Rpb25XcmFwcGVy
KGZ1bmN0aW9uV3JhcHBlcikKLSAgICAgICAgLCBtX3AxKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46
OndyYXAocDEpKQotICAgICAgICAsIG1fcDIoUGFyYW1TdG9yYWdlVHJhaXRzPFAyPjo6d3JhcChw
MikpCi0gICAgICAgICwgbV9wMyhQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+Ojp3cmFwKHAzKSkKLSAg
ICAgICAgLCBtX3A0KFBhcmFtU3RvcmFnZVRyYWl0czxQND46OndyYXAocDQpKQotICAgICAgICAs
IG1fcDUoUGFyYW1TdG9yYWdlVHJhaXRzPFA1Pjo6d3JhcChwNSkpCi0gICAgICAgICwgbV9wNihQ
YXJhbVN0b3JhZ2VUcmFpdHM8UDY+Ojp3cmFwKHA2KSkKLSAgICB7Ci0gICAgICAgIFJlZkFuZERl
cmVmPFAxLCBGdW5jdGlvbldyYXBwZXI6OnNob3VsZFJlZkZpcnN0UGFyYW1ldGVyPjo6cmVmKG1f
cDEpOwotICAgIH0KLQotICAgIH5Cb3VuZEZ1bmN0aW9uSW1wbCgpCi0gICAgewotICAgICAgICBS
ZWZBbmREZXJlZjxQMSwgRnVuY3Rpb25XcmFwcGVyOjpzaG91bGRSZWZGaXJzdFBhcmFtZXRlcj46
OmRlcmVmKG1fcDEpOwotICAgIH0KLQotICAgIHZpcnR1YWwgdHlwZW5hbWUgRnVuY3Rpb25XcmFw
cGVyOjpSZXN1bHRUeXBlIG9wZXJhdG9yKCkoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIG1fZnVu
Y3Rpb25XcmFwcGVyKFBhcmFtU3RvcmFnZVRyYWl0czxQMT46OnVud3JhcChtX3AxKSwgUGFyYW1T
dG9yYWdlVHJhaXRzPFAyPjo6dW53cmFwKG1fcDIpLCBQYXJhbVN0b3JhZ2VUcmFpdHM8UDM+Ojp1
bndyYXAobV9wMyksIFBhcmFtU3RvcmFnZVRyYWl0czxQND46OnVud3JhcChtX3A0KSwgUGFyYW1T
dG9yYWdlVHJhaXRzPFA1Pjo6dW53cmFwKG1fcDUpLCBQYXJhbVN0b3JhZ2VUcmFpdHM8UDY+Ojp1
bndyYXAobV9wNikpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBGdW5jdGlvbldyYXBwZXIgbV9m
dW5jdGlvbldyYXBwZXI7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFAxPjo6U3Rv
cmFnZVR5cGUgbV9wMTsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDI+OjpTdG9y
YWdlVHlwZSBtX3AyOwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQMz46OlN0b3Jh
Z2VUeXBlIG1fcDM7Ci0gICAgdHlwZW5hbWUgUGFyYW1TdG9yYWdlVHJhaXRzPFA0Pjo6U3RvcmFn
ZVR5cGUgbV9wNDsKLSAgICB0eXBlbmFtZSBQYXJhbVN0b3JhZ2VUcmFpdHM8UDU+OjpTdG9yYWdl
VHlwZSBtX3A1OwotICAgIHR5cGVuYW1lIFBhcmFtU3RvcmFnZVRyYWl0czxQNj46OlN0b3JhZ2VU
eXBlIG1fcDY7Ci19OwotCi1jbGFzcyBGdW5jdGlvbkJhc2UgewotcHVibGljOgotICAgIGJvb2wg
aXNOdWxsKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiAhbV9pbXBsOwotICAgIH0KLQot
cHJvdGVjdGVkOgotICAgIEZ1bmN0aW9uQmFzZSgpCi0gICAgewotICAgIH0KLQotICAgIGV4cGxp
Y2l0IEZ1bmN0aW9uQmFzZShQYXNzUmVmUHRyPEZ1bmN0aW9uSW1wbEJhc2U+IGltcGwpCi0gICAg
ICAgIDogbV9pbXBsKGltcGwpCi0gICAgewotICAgIH0KLQotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEZ1bmN0aW9uVHlwZT4gRnVuY3Rpb25JbXBsPEZ1bmN0aW9uVHlwZT4qIGltcGwoKSBjb25zdAot
ICAgIHsgCi0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxGdW5jdGlvbkltcGw8RnVuY3Rpb25U
eXBlPio+KG1faW1wbC5nZXQoKSk7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIFJlZlB0cjxGdW5j
dGlvbkltcGxCYXNlPiBtX2ltcGw7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZT4KLWNsYXNzIEZ1
bmN0aW9uOwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBSPgotY2xhc3MgRnVuY3Rpb248UiAoKT4gOiBw
dWJsaWMgRnVuY3Rpb25CYXNlIHsKLXB1YmxpYzoKLSAgICBGdW5jdGlvbigpCi0gICAgewotICAg
IH0KLQotICAgIEZ1bmN0aW9uKFBhc3NSZWZQdHI8RnVuY3Rpb25JbXBsPFIgKCk+PiBpbXBsKQot
ICAgICAgICA6IEZ1bmN0aW9uQmFzZShpbXBsKQotICAgIHsKLSAgICB9Ci0KLSAgICBSIG9wZXJh
dG9yKCkoKSBjb25zdAotICAgIHsKLSAgICAgICAgQVNTRVJUKCFpc051bGwoKSk7Ci0KLSAgICAg
ICAgcmV0dXJuIGltcGw8UiAoKT4oKS0+b3BlcmF0b3IoKSgpOwotICAgIH0KLQotI2lmIE9TKERB
UldJTikgJiYgQ09NUElMRVJfU1VQUE9SVFMoQkxPQ0tTKQotICAgIHR5cGVkZWYgdm9pZCAoXkJs
b2NrVHlwZSkoKTsKLSAgICBvcGVyYXRvciBCbG9ja1R5cGUoKSBjb25zdAotICAgIHsKLSAgICAg
ICAgLy8gRGVjbGFyZSBhIFJlZlB0ciBoZXJlIHNvIHdlJ2xsIGJlIHN1cmUgdGhhdCB0aGUgdW5k
ZXJseWluZyBGdW5jdGlvbkltcGwgb2JqZWN0J3MKLSAgICAgICAgLy8gbGlmZWN5Y2xlIGlzIG1h
bmFnZWQgY29ycmVjdGx5LgotICAgICAgICBSZWZQdHI8RnVuY3Rpb25JbXBsPFIgKCk+PiBmdW5j
dGlvbkltcGwgPSBpbXBsPFIgKCk+KCk7Ci0gICAgICAgIEJsb2NrVHlwZSBibG9jayA9IF57Ci0g
ICAgICAgICAgIGZ1bmN0aW9uSW1wbC0+b3BlcmF0b3IoKSgpOwotICAgICAgICB9OwotCi0gICAg
ICAgIC8vIFRoaXMgaXMgZXF1aXZhbGVudCB0bzoKLSAgICAgICAgLy8KLSAgICAgICAgLy8gICBy
ZXR1cm4gW1tibG9jayBjb3B5XSBhdXRvcmVsZWFzZV07Ci0gICAgICAgIC8vCi0gICAgICAgIC8v
IFdlJ3JlIHVzaW5nIG1hbnVhbCBvYmpjX21zZ1NlbmQgY2FsbHMgaGVyZSBiZWNhdXNlIHdlIGRv
bid0IHdhbnQgdG8gbWFrZSB0aGUgZW50aXJlCi0gICAgICAgIC8vIGZpbGUgT2JqZWN0aXZlLUMu
IEl0J3MgdXNlZnVsIHRvIGJlIGFibGUgdG8gaW1wbGljaXRseSBjb252ZXJ0IGEgRnVuY3Rpb24g
dG8KLSAgICAgICAgLy8gYSBibG9jayBldmVuIGluIEMrKyBjb2RlLCBzaW5jZSB0aGF0IGFsbG93
cyB1cyB0byBkbyB0aGluZ3MgbGlrZToKLSAgICAgICAgLy8KLSAgICAgICAgLy8gICBkaXNwYXRj
aF9hc3luYyhxdWV1ZSwgYmluZCguLi4pKTsKLSAgICAgICAgLy8KLSAgICAgICAgaWQgY29waWVk
QmxvY2sgPSB3dGZPYmpjTXNnU2VuZDxpZD4oKGlkKWJsb2NrLCBzZWxfcmVnaXN0ZXJOYW1lKCJj
b3B5IikpOwotICAgICAgICBpZCBhdXRvcmVsZWFzZWRCbG9jayA9IHd0Zk9iamNNc2dTZW5kPGlk
Pihjb3BpZWRCbG9jaywgc2VsX3JlZ2lzdGVyTmFtZSgiYXV0b3JlbGVhc2UiKSk7Ci0gICAgICAg
IHJldHVybiAoQmxvY2tUeXBlKWF1dG9yZWxlYXNlZEJsb2NrOwotICAgIH0KLSNlbmRpZgotfTsK
LQotdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25UeXBlPgotRnVuY3Rpb248dHlwZW5hbWUgRnVu
Y3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT46OlJlc3VsdFR5cGUgKCk+IGJpbmQoRnVuY3Rpb25U
eXBlIGZ1bmN0aW9uKQotewotICAgIHJldHVybiBGdW5jdGlvbjx0eXBlbmFtZSBGdW5jdGlvbldy
YXBwZXI8RnVuY3Rpb25UeXBlPjo6UmVzdWx0VHlwZSAoKT4oYWRvcHRSZWYobmV3IEJvdW5kRnVu
Y3Rpb25JbXBsPEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+LCB0eXBlbmFtZSBGdW5jdGlv
bldyYXBwZXI8RnVuY3Rpb25UeXBlPjo6UmVzdWx0VHlwZSAoKT4oRnVuY3Rpb25XcmFwcGVyPEZ1
bmN0aW9uVHlwZT4oZnVuY3Rpb24pKSkpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlv
blR5cGUsIHR5cGVuYW1lIEExPgotRnVuY3Rpb248dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyPEZ1
bmN0aW9uVHlwZT46OlJlc3VsdFR5cGUgKCk+IGJpbmQoRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLCBj
b25zdCBBMSYgYTEpCi17Ci0gICAgcmV0dXJuIEZ1bmN0aW9uPHR5cGVuYW1lIEZ1bmN0aW9uV3Jh
cHBlcjxGdW5jdGlvblR5cGU+OjpSZXN1bHRUeXBlICgpPihhZG9wdFJlZihuZXcgQm91bmRGdW5j
dGlvbkltcGw8RnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT4sIHR5cGVuYW1lIEZ1bmN0aW9u
V3JhcHBlcjxGdW5jdGlvblR5cGU+OjpSZXN1bHRUeXBlIChBMSk+KEZ1bmN0aW9uV3JhcHBlcjxG
dW5jdGlvblR5cGU+KGZ1bmN0aW9uKSwgYTEpKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEZ1
bmN0aW9uVHlwZSwgdHlwZW5hbWUgQTEsIHR5cGVuYW1lIEEyPgotRnVuY3Rpb248dHlwZW5hbWUg
RnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT46OlJlc3VsdFR5cGUgKCk+IGJpbmQoRnVuY3Rp
b25UeXBlIGZ1bmN0aW9uLCBjb25zdCBBMSYgYTEsIGNvbnN0IEEyJiBhMikKLXsKLSAgICByZXR1
cm4gRnVuY3Rpb248dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT46OlJlc3Vs
dFR5cGUgKCk+KGFkb3B0UmVmKG5ldyBCb3VuZEZ1bmN0aW9uSW1wbDxGdW5jdGlvbldyYXBwZXI8
RnVuY3Rpb25UeXBlPiwgdHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT46OlJl
c3VsdFR5cGUgKEExLCBBMik+KEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+KGZ1bmN0aW9u
KSwgYTEsIGEyKSkpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvblR5cGUsIHR5cGVu
YW1lIEExLCB0eXBlbmFtZSBBMiwgdHlwZW5hbWUgQTM+Ci1GdW5jdGlvbjx0eXBlbmFtZSBGdW5j
dGlvbldyYXBwZXI8RnVuY3Rpb25UeXBlPjo6UmVzdWx0VHlwZSAoKT4gYmluZChGdW5jdGlvblR5
cGUgZnVuY3Rpb24sIGNvbnN0IEExJiBhMSwgY29uc3QgQTImIGEyLCBjb25zdCBBMyYgYTMpCi17
Ci0gICAgcmV0dXJuIEZ1bmN0aW9uPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5
cGU+OjpSZXN1bHRUeXBlICgpPihhZG9wdFJlZihuZXcgQm91bmRGdW5jdGlvbkltcGw8RnVuY3Rp
b25XcmFwcGVyPEZ1bmN0aW9uVHlwZT4sIHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlv
blR5cGU+OjpSZXN1bHRUeXBlIChBMSwgQTIsIEEzKT4oRnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9u
VHlwZT4oZnVuY3Rpb24pLCBhMSwgYTIsIGEzKSkpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBG
dW5jdGlvblR5cGUsIHR5cGVuYW1lIEExLCB0eXBlbmFtZSBBMiwgdHlwZW5hbWUgQTMsIHR5cGVu
YW1lIEE0PgotRnVuY3Rpb248dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT46
OlJlc3VsdFR5cGUgKCk+IGJpbmQoRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLCBjb25zdCBBMSYgYTEs
IGNvbnN0IEEyJiBhMiwgY29uc3QgQTMmIGEzLCBjb25zdCBBNCYgYTQpCi17Ci0gICAgcmV0dXJu
IEZ1bmN0aW9uPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+OjpSZXN1bHRU
eXBlICgpPihhZG9wdFJlZihuZXcgQm91bmRGdW5jdGlvbkltcGw8RnVuY3Rpb25XcmFwcGVyPEZ1
bmN0aW9uVHlwZT4sIHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+OjpSZXN1
bHRUeXBlIChBMSwgQTIsIEEzLCBBNCk+KEZ1bmN0aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+KGZ1
bmN0aW9uKSwgYTEsIGEyLCBhMywgYTQpKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0
aW9uVHlwZSwgdHlwZW5hbWUgQTEsIHR5cGVuYW1lIEEyLCB0eXBlbmFtZSBBMywgdHlwZW5hbWUg
QTQsIHR5cGVuYW1lIEE1PgotRnVuY3Rpb248dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVyPEZ1bmN0
aW9uVHlwZT46OlJlc3VsdFR5cGUgKCk+IGJpbmQoRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLCBjb25z
dCBBMSYgYTEsIGNvbnN0IEEyJiBhMiwgY29uc3QgQTMmIGEzLCBjb25zdCBBNCYgYTQsIGNvbnN0
IEE1JiBhNSkKLXsKLSAgICByZXR1cm4gRnVuY3Rpb248dHlwZW5hbWUgRnVuY3Rpb25XcmFwcGVy
PEZ1bmN0aW9uVHlwZT46OlJlc3VsdFR5cGUgKCk+KGFkb3B0UmVmKG5ldyBCb3VuZEZ1bmN0aW9u
SW1wbDxGdW5jdGlvbldyYXBwZXI8RnVuY3Rpb25UeXBlPiwgdHlwZW5hbWUgRnVuY3Rpb25XcmFw
cGVyPEZ1bmN0aW9uVHlwZT46OlJlc3VsdFR5cGUgKEExLCBBMiwgQTMsIEE0LCBBNSk+KEZ1bmN0
aW9uV3JhcHBlcjxGdW5jdGlvblR5cGU+KGZ1bmN0aW9uKSwgYTEsIGEyLCBhMywgYTQsIGE1KSkp
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdGlvblR5cGUsIHR5cGVuYW1lIEExLCB0eXBl
bmFtZSBBMiwgdHlwZW5hbWUgQTMsIHR5cGVuYW1lIEE0LCB0eXBlbmFtZSBBNSwgdHlwZW5hbWUg
QTY+Ci1GdW5jdGlvbjx0eXBlbmFtZSBGdW5jdGlvbldyYXBwZXI8RnVuY3Rpb25UeXBlPjo6UmVz
dWx0VHlwZSAoKT4gYmluZChGdW5jdGlvblR5cGUgZnVuY3Rpb24sIGNvbnN0IEExJiBhMSwgY29u
c3QgQTImIGEyLCBjb25zdCBBMyYgYTMsIGNvbnN0IEE0JiBhNCwgY29uc3QgQTUmIGE1LCBjb25z
dCBBNiYgYTYpCi17Ci0gICAgcmV0dXJuIEZ1bmN0aW9uPHR5cGVuYW1lIEZ1bmN0aW9uV3JhcHBl
cjxGdW5jdGlvblR5cGU+OjpSZXN1bHRUeXBlICgpPihhZG9wdFJlZihuZXcgQm91bmRGdW5jdGlv
bkltcGw8RnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT4sIHR5cGVuYW1lIEZ1bmN0aW9uV3Jh
cHBlcjxGdW5jdGlvblR5cGU+OjpSZXN1bHRUeXBlIChBMSwgQTIsIEEzLCBBNCwgQTUsIEE2KT4o
RnVuY3Rpb25XcmFwcGVyPEZ1bmN0aW9uVHlwZT4oZnVuY3Rpb24pLCBhMSwgYTIsIGEzLCBhNCwg
YTUsIGE2KSkpOwotfQotCi19Ci0KLXVzaW5nIFdURjo6RnVuY3Rpb247Ci11c2luZyBXVEY6OmJp
bmQ7Ci0KLSNlbmRpZiAvLyBXVEZfRnVuY3Rpb25hbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9NYWluVGhyZWFkLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCmluZGV4
IGEyNWQ4NDdjZDRlNWJjZDYwZWU1MWZjOGJmYTE4OWVmOWI4MmIxNzIuLjA2MDlkYjYzMTZlMGEw
MmQ2ODVhZmQxMGYwZGJlN2FhYjYzOWY5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01h
aW5UaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCkBAIC0zMSw4
ICszMSw4IEBACiAKICNpbmNsdWRlICJDdXJyZW50VGltZS5oIgogI2luY2x1ZGUgIkRlcXVlLmgi
Ci0jaW5jbHVkZSAiRnVuY3Rpb25hbC5oIgogI2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgorI2lu
Y2x1ZGUgIlRocmVhZGluZy5oIgogI2luY2x1ZGUgPG11dGV4PgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmlu
ZGV4IDMyMDE3NmQwYWNkN2NkZDc3M2NiMjgwMDQ2MzdhMTNlODM3MWI5YTIuLjZmOGEyYzIzYjkz
YTgwNDJkNGM0MmY0NjczNjUyZTIwN2E1NWE4ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1J1bkxvb3AuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTMxLDcgKzMxLDYg
QEAKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9GdW5jdGlvbkRpc3BhdGNoZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1dvcmtRdWV1ZS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwCmluZGV4IDZmYWJl
YzZhNDczMzg2MzIxY2ZkZjNjNWQzYWYxNmY5YzJhZDQ1ZDUuLjYzOTk4NGNiOTFhNTEyZWFjM2Fj
ZjVkNTUwNjExYmNhZmEyNDNkYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1
ZS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcApAQCAtMjYsNiArMjYsOCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZS5oIgogCisjaW5jbHVk
ZSAiUmVmLmgiCisKIG5hbWVzcGFjZSBXVEYgewogCiBSZWY8V29ya1F1ZXVlPiBXb3JrUXVldWU6
OmNyZWF0ZShjb25zdCBjaGFyKiBuYW1lLCBUeXBlIHR5cGUsIFFPUyBxb3MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5o
CmluZGV4IDZhOWUxYzU2YWVkZjY2YmRhMWNiNDM0ZGViZWI0ZWFhMTBjMDAzZjcuLmY5ZTU3MDdi
ZDMxZWE3MDdlYjAyMGJlYWM4YmI3ZjI2M2EzZGQ2ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1dvcmtRdWV1ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5oCkBAIC0zMSw3
ICszMSw2IEBACiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbkRpc3BhdGNoZXIuaD4KLSNpbmNsdWRlIDx3dGYvRnVu
Y3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1Ro
cmVhZGluZy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1
ZUVmbC5oIGIvU291cmNlL1dURi93dGYvZWZsL0Rpc3BhdGNoUXVldWVFZmwuaAppbmRleCBkY2Y4
ZTM3NzNhMWRkNmIwYTRlZjg5MmIzMTg2MzQ0MTM4YjI4NjQ0Li5kNjI0MTc0MDI3N2FlMDcwNzFm
ZDAwMzdjNjA3Y2Y0MDgyYzFiNDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlz
cGF0Y2hRdWV1ZUVmbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2VmbC9EaXNwYXRjaFF1ZXVlRWZs
LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgRGlzcGF0Y2hRdWV1ZUVmbF9oCiAKICNpbmNs
dWRlIDx0aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi93dGYvZWZsL0Rpc3BhdGNoUXVldWVXb3JrSXRlbUVmbC5oIGIvU291cmNlL1dURi93
dGYvZWZsL0Rpc3BhdGNoUXVldWVXb3JrSXRlbUVmbC5oCmluZGV4IGU4ZDg3YjM2MjliMGRiOTY3
OWEzYTg5ZWZmY2NhOTZiZDQ0NDQwOTUuLmIxZmJkYzgwNzA5NDEyZmQyMjJhZjA1ZmY5NDVkNjVh
N2IwMzI0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2VmbC9EaXNwYXRjaFF1ZXVlV29y
a0l0ZW1FZmwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1ZVdvcmtJdGVt
RWZsLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAj
aW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvbWFjL0RlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5
U2FmYXJpLm1tIGIvU291cmNlL1dURi93dGYvbWFjL0RlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5U2Fm
YXJpLm1tCmluZGV4IGZlNzMwZTQzOWY5OWQ2NWQ0M2MzMmMyZGYzY2M0Mjc2YWU1ZmI2NjguLjUy
MWU2YzZjNmRiNzY3M2U5MWU0YzdkZTU5YzdkNzczZGRmMWIyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL21hYy9EZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbQorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9tYWMvRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmkubW0KQEAgLTI1LDcg
KzI1LDYgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaW5jbHVkZSAiRnVuY3Rpb25hbC5o
IgogI2luY2x1ZGUgIk1haW5UaHJlYWQuaCIKICNpbmNsdWRlICJOZXZlckRlc3Ryb3llZC5oIgog
I2luY2x1ZGUgIlN0ZExpYkV4dHJhcy5oIgpAQCAtMzYsMTUgKzM1LDkgQEAKIAogbmFtZXNwYWNl
IFdURiB7CiAKLVdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGNhbGxPbk1haW5UaHJlYWQoY29uc3Qg
RnVuY3Rpb248dm9pZCAoKT4mKTsKIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGxvY2tBdG9taWNh
bGx5SW5pdGlhbGl6ZWRTdGF0aWNNdXRleCgpOwogV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgdW5s
b2NrQXRvbWljYWxseUluaXRpYWxpemVkU3RhdGljTXV0ZXgoKTsKIAotdm9pZCBjYWxsT25NYWlu
VGhyZWFkKGNvbnN0IEZ1bmN0aW9uPHZvaWQgKCk+JiBmdW5jdGlvbikKLXsKLSAgICBjYWxsT25N
YWluVGhyZWFkKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4oZnVuY3Rpb24pKTsKLX0KLQogc3RhdGlj
IHN0ZDo6bXV0ZXgmIGF0b21pY2FsbHlJbml0aWFsaXplZFN0YXRpY011dGV4KCkKIHsKICAgICBz
dGF0aWMgc3RkOjpvbmNlX2ZsYWcgb25jZUZsYWc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBiOWYwMGJm
ZTIzN2E1ZTc4MDNhOTRkMjFjNGQwNmY1NzFlYjQ0YjUxLi42YWRiNGZlNzA5ZWQxYWE1ZGViZGVm
OWY3N2VkOWJiYzIzNTFhZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAKICNp
bmNsdWRlICJNZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKLSNpbmNsdWRlIDx3
dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAK
aW5kZXggMjJjODdjMmNjYzFhNWRmZWUzNWFmMzBiODE2NTUwOWQyZTcxM2UzZS4uOTYyZmYwNjYx
NWQxNjcwMDJmMWZlNGE1MmUzY2IyMzAzNmMzMWU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFj
a1NvdXJjZXNSZXF1ZXN0LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUg
IlNvdXJjZUluZm8uaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCmluZGV4
IGQ3OTYxNDViZWJiODk2NGExNmI1YTAyMmI5YmE0N2Y3YjQwOWE4N2QuLjRhOWFlNjNlNTFiNzFl
ZGU3MGRhYjM0NDI2YTMwZTIwZjU1MzY4MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcApAQCAtNDksNyArNDks
NiBAQAogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKLSNpbmNs
dWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWUuaAppbmRleCA1NzhjYWYwNWU3YTM4OTQ4YTBhYzIyNGE1NzNhNjk0OTZjOWRmNGNl
Li43NTYyYTRiMmEyZGY0YmYwYzkyZjUzMDNjZDhiZmIxOTlhODgxYTdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0zMSw3ICszMSw2IEBA
CiAjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2ZW50LmgiCiAjaW5jbHVkZSAiUmVnaW9uLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1R5cGVDYXN0cy5oPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9y
SU9TLm1tCmluZGV4IDI4YzQxNDY4MTNkNWFlNGUwM2VhZWFmZmNmZGI0YzQ2ZTAzOTljYzguLjZj
YjNmNDNkOGEwZjBjM2I4NTA4MmUzNmE3Mjg0MzYxMjVhYzQ2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JJT1MubW0KQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCIK
ICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlSU9TLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCAxMTFiZGFjM2YzZDE4OTRiNWJhMmE3
ZDdhOGI2M2I0OGRmZGE5MmRkLi4zZTkyMWYxZWI0NzNlZjY5ZTBjMDk3OWRhZGEzZjU3MTEzMzc1
NGFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVk
ZSAiU2Nyb2xsaW5nVHJlZU1hYy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVTdGlja3lOb2Rl
LmgiCiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwu
aD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJl
SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRs
ZXIuY3BwCmluZGV4IGUyYjcyMjY2OTY5ZjVmN2U1NjczYzhmZjllMzVjMzI1YmMxMjFlMjUuLjhh
NmVjN2ExMjRmNjkxNzE4MGQ2NzQwMzkzNDRiMDVjMDc1MThhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMzksNyArMzks
NiBAQAogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGlt
ZS5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9u
YWwuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKaW5kZXggMzU4MTNiODcyN2Jj
YzI2MzRjZDFkNjBiMTQ2ODk0NmI5MzQ1M2ZlMS4uN2IwYzFkYTIyMTMwNzE2NjMzYjU0ZmYzY2Q0
YTg2M2M1OGQ4YTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFj
dGl2aXR5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKQEAg
LTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJIeXN0ZXJlc2lzQWN0aXZpdHkuaCIKIAogI2lmIEhB
VkUoTlNfQUNUSVZJVFkpCisjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiBPQkpDX0NMQVNTIE5TU3RyaW5n
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0
aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bi5oCmluZGV4IDk0NjdkYWE3NTU1MTM3Nzc2OTRlMmE0M2FjZjM1ZDBlMjVmZTA0MmIuLjY4MzM1
MmY4NzRhNjkxODYwYjY0MThiOTVmODRjNDQ2NjY1ZTgxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVB
VkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTMzLDcgKzMzLDYg
QEAKICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgog
I2luY2x1ZGUgPGZ1bmN0aW9uYWw+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVk
aWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDNhODkyOGUxN2MyZGQ2ZjI1NTEyYWU3ZGFjZTlkMTVj
Njc2ODJlYzcuLjMyMzhlNjhhOTJhNGJjNjExZjE0MzdkODFhOTlkZWUwZWQ0YTc2NGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTQwLDcgKzQwLDYgQEAKICNpbXBvcnQgPEFWRm91
bmRhdGlvbi9BVlRpbWUuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2ltcG9y
dCA8b2JqY19ydW50aW1lLmg+Ci0jaW1wb3J0IDx3dGYvRnVuY3Rpb25hbC5oPgogI2ltcG9ydCA8
d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oCmluZGV4IDhhOWI5YTViNTI1NTQw
NDIxYTI5NWI5Zjc0ZDFjMmI3OThmNzFiNWEuLjg3YWMxODgxYjdlMDI1MzFhMTY3NTBhMTgzZTQ3
M2U3ZjYyM2U2NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0
TGlua2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5o
CkBAIC0yNywxMCArMjcsNyBAQAogCiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9y
dCA8ZGxmY24uaD4KLQotI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgPG9iamMvcnVudGltZS5o
PgotI2VuZGlmCiAKICNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBtYWNyb3MgZm9yIHVzZSB3aXRo
aW4gYSBzaW5nbGUgc291cmNlIGZpbGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmluZGV4IGY1NTlkYjYyYjZiNTQxMDFmYzJh
ZWZiMTBlYmVkZmYzNTcyNTA1N2EuLmE1M2FmYzcyMmE2OTU3OGY0NjM3NjFlNWQ3NWVkODFkMWEy
NjhjOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5l
Y3Rpb25Vbml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25u
ZWN0aW9uVW5peC5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDxmY250bC5oPgogI2lu
Y2x1ZGUgPHBvbGwuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0
Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUg
PHd0Zi9VbmlTdGRFeHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMu
bW0KaW5kZXggMDcxY2E4OTkwODVhNTdmZDUwZDQyMjM5Mjg4NjEyZGE0MzM1Y2EwMS4uODQ4YjMz
ODJlMDIwZTJjMjJhNDBhYjVjYzkyNmE3MGIyYTMwOWJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05l
dHNjYXBlUGx1Z2luTWFjLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL01h
Y2hTZW5kUmlnaHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBv
cnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgorI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAj
aW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ1Zp
ZXcuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5jcHAKaW5kZXggM2M3M2VkMTA5YzcyNTQxNGNmYmIyN2U1YzFiNjZlNzExOGYwMmFmMS4u
YjliOGI2ZjliMjQ3NjYxOTY2MDk4Y2UzYzFmODlmMDViZTQzODI2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCkBAIC0zMiw3ICsz
Miw2IEBACiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxh
eVJlZnJlc2hNb25pdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJp
eC5oPgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAKIC8vIFN1YmNsYXNzZXMKICNpZiBQ
TEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA5ZjQ3NmNmOTg5YzI3N2U0NmFhZTljNzY1M2E5MDA4YjMwMTc5MzcwLi5jNTBi
ZWYzMGQ4M2NlZWY5Y2M2MmRhMDUzYTFlZDQxODVlY2MwZDk3IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDQt
MjkgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZd
IFJlbW92ZSBGdW5jdGlvbmFsLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NDQwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZSB0aGUgV1RGOjpGdW5jdGlvbmFsIHVuaXQgdGVzdC4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L0Z1bmN0aW9uYWwuY3BwOiBSZW1vdmVkLgorCiAyMDE1LTA0LTI5ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggL3dl
YmtpdDIvV2ViS2l0V2ViSW5zcGVjdG9yU2VydmVyL3Rlc3Qtb3Blbi1kZWJ1Z2dpbmctc2Vzc2lv
bi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0CmluZGV4IGZjOGM1YmU3ZjE5N2FjNDVjYzc5
NDliNjgxNTkxNzYxNjlkNTE1MzguLjgzZWM3MDJiN2I4YjM4YzJiNWQ3YjBiN2M4OWNjYTIxYWQ5
MDcyZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ01ha2VMaXN0cy50eHQKKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9DTWFrZUxpc3RzLnR4dApAQCAtNzAsNyArNzAsNiBAQCBz
ZXQoVGVzdFdURl9TT1VSQ0VTCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RGL0No
ZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAKICAgICAke1RFU1RXRUJLSVRBUElfRElSfS9U
ZXN0cy9XVEYvRGF0ZU1hdGguY3BwCiAgICAgJHtURVNUV0VCS0lUQVBJX0RJUn0vVGVzdHMvV1RG
L0RlcXVlLmNwcAotICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9GdW5jdGlvbmFs
LmNwcAogICAgICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9IYXNoTWFwLmNwcAogICAg
ICR7VEVTVFdFQktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9IYXNoU2V0LmNwcAogICAgICR7VEVTVFdF
QktJVEFQSV9ESVJ9L1Rlc3RzL1dURi9JbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmNwcApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHByb2ovVGVzdFdl
YktpdEFQSS52Y3hwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnZjeHBy
b2ovVGVzdFdlYktpdEFQSS52Y3hwcm9qCmluZGV4IGJjZmVhNDA5ZDU0M2RkMTA4OTgwNDczOWZl
NGVmYjdhYTJhZWNjMGIuLjk5MjQ4YjI0M2Y3NGI4MmRiYWRiMTM1ODhjZGNhODEzNTI1ZmUyZTEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rl
c3RXZWJLaXRBUEkudmN4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkudmN4cHJvai9UZXN0V2ViS2l0QVBJLnZjeHByb2oKQEAgLTMxNCw3ICszMTQsNiBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXENTdHJpbmcuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cVGVzdHNcV1RGXERhdGVNYXRoLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXFRlc3RzXFdURlxEZXF1ZS5jcHAiIC8+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcRnVuY3Rpb25hbC5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxUZXN0c1xXVEZcSGFzaE1hcC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxUZXN0c1xXVEZcSGFzaFNldC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxUZXN0c1xXVEZcSW50ZWdlclRvU3RyaW5nQ29udmVyc2lvbi5jcHAiIC8+CmRpZmYg
LS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkudmN4cHJvai9UZXN0V2Vi
S2l0QVBJLnZjeHByb2ouZmlsdGVycyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzCmluZGV4IDEwY2QzZTdmYjFk
YjE2MTlkNTMxMGRhZDQ1ODc1ZDYyN2FkODcxYWIuLmJhY2FiMDJhZGUzNWZlOTdmNjMxYzAyOWY0
ZjQ4ZjNmYzM2Y2YzZDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5maWx0ZXJzCisrKyBiL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS52Y3hwcm9qL1Rlc3RXZWJLaXRBUEkudmN4cHJvai5m
aWx0ZXJzCkBAIC02MCw5ICs2MCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxUZXN0
c1xXVEZcQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCI+CiAgICAgICA8RmlsdGVyPlRl
c3RzXFdURjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cVGVzdHNcV1RGXEZ1bmN0aW9uYWwuY3BwIj4KLSAgICAgIDxGaWx0ZXI+VGVzdHNcV1RG
PC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxU
ZXN0c1xXVEZcSGFzaE1hcC5jcHAiPgogICAgICAgPEZpbHRlcj5UZXN0c1xXVEY8L0ZpbHRlcj4K
ICAgICA8L0NsQ29tcGlsZT4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNTkyOGRkNzY5N2M3
Njc3ZTRkMWU5ZGZhY2JiNjczYjM4YmQ5MDRmYS4uM2MzYzI1YTVjMjE2MmYyYmI5YjlkNjc5OWRi
Zjk4ZDlkMmZkNGJmYSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxMyw3ICsyMTMsNiBA
QAogCQk3Q0NFN0YzMTFBNDExQjhFMDA0NDdDNEMgLyogQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRp
b25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3
QTk2NkRBMTQwRUNDQzgwMDVFRjlCNCAvKiBDaGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3Bw
ICovOyB9OwogCQk3Q0NFN0YzMjFBNDExQjhFMDA0NDdDNEMgLyogQ1N0cmluZy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyNkEyQzcyRTE1RTJFNzND
MDA1QjFBMTQgLyogQ1N0cmluZy5jcHAgKi87IH07CiAJCTdDQ0U3RjMzMUE0MTFCOEUwMDQ0N0M0
QyAvKiBEZXF1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFNEE3NTdEMzE3OEFFQTVCMDBCNUQ3QTQgLyogRGVxdWUuY3BwICovOyB9OwotCQk3Q0NF
N0YzNDFBNDExQjhFMDA0NDdDNEMgLyogRnVuY3Rpb25hbC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUE5RTU1NzE0OTgwQTk5MDAwMDFBOEEgLyog
RnVuY3Rpb25hbC5jcHAgKi87IH07CiAJCTdDQ0U3RjM1MUE0MTFCOEUwMDQ0N0M0QyAvKiBIYXNo
TWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBC
Q0Q4MzM0MTQ4NTdDRTQwMEVBMjAwMyAvKiBIYXNoTWFwLmNwcCAqLzsgfTsKIAkJN0NDRTdGMzYx
QTQxMUI4RTAwNDQ3QzRDIC8qIEhhc2hTZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMjZCMkRGRjgxNUJERTU5OTAwNEY2OTFEIC8qIEhhc2hTZXQu
Y3BwICovOyB9OwogCQk3Q0NFN0YzNzFBNDExQjhFMDA0NDdDNEMgLyogSW50ZWdlclRvU3RyaW5n
Q29udmVyc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyNjZGQUZEMjE1RTU3NzUyMDBGNjFENUIgLyogSW50ZWdlclRvU3RyaW5nQ29udmVyc2lv
bi5jcHAgKi87IH07CkBAIC00MjEsNyArNDIwLDYgQEAKIAkJMUE3QkZDMEExNzFBMEJEQjAwQkM1
RjY0IC8qIFdpbGxTZW5kU3VibWl0RXZlbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXaWxsU2VuZFN1Ym1pdEV2ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQTdFOEIzMzE4MTIwOERFMDBBRUI3NEEgLyogRnJhZ21lbnROYXZpZ2F0aW9u
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRnJhZ21lbnROYXZp
Z2F0aW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTdFOEIzNTE4MTIwOTM2
MDBBRUI3NEEgLyogRnJhZ21lbnROYXZpZ2F0aW9uLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7
IHBhdGggPSBGcmFnbWVudE5hdmlnYXRpb24uaHRtbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJMUFBOUU1NTcxNDk4MEE5OTAwMDAxQThBIC8qIEZ1bmN0aW9uYWwuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnVuY3Rpb25hbC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFBQkMzREVEMTg5OUJFNkQwMDRGMDYyNiAvKiBOYXZpZ2F0aW9u
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmF2aWdhdGlvbi5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFEQkVGQUQxMzBDNjg5QzAwRDYxRDE5
IC8qIEZvcmNlUmVwYWludC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBGb3JjZVJlcGFpbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQURCRUZC
QzEzMEM2QTAxMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAic2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0
aW5nLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA0OCw3ICsxMDQ2LDYg
QEAKIAkJCQlFNDAwMTkzMDFBQ0U5QjVDMDAxQjBBMkEgLyogQmxvb21GaWx0ZXIuY3BwICovLAog
CQkJCTdBQTAyMUJBMUFCMDlFQTcwMDUyOTUzRiAvKiBEYXRlTWF0aC5jcHAgKi8sCiAJCQkJRTRB
NzU3RDMxNzhBRUE1QjAwQjVEN0E0IC8qIERlcXVlLmNwcCAqLywKLQkJCQkxQUE5RTU1NzE0OTgw
QTk5MDAwMDFBOEEgLyogRnVuY3Rpb25hbC5jcHAgKi8sCiAJCQkJMEJDRDgzMzQxNDg1N0NFNDAw
RUEyMDAzIC8qIEhhc2hNYXAuY3BwICovLAogCQkJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAv
KiBIYXNoU2V0LmNwcCAqLywKIAkJCQkyNjZGQUZEMjE1RTU3NzUyMDBGNjFENUIgLyogSW50ZWdl
clRvU3RyaW5nQ29udmVyc2lvbi5jcHAgKi8sCkBAIC0xNDQzLDcgKzE0NDAsNiBAQAogCQkJCTdD
Q0U3RUMwMUE0MTFBN0UwMDQ0N0M0QyAvKiBGcmFnbWVudE5hdmlnYXRpb24ubW0gaW4gU291cmNl
cyAqLywKIAkJCQk3Q0NFN0VGNjFBNDExQUU2MDA0NDdDNEMgLyogRnJhbWVNSU1FVHlwZUhUTUwu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRjcxQTQxMUFFNjAwNDQ3QzRDIC8qIEZyYW1l
TUlNRVR5cGVQTkcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJN0NDRTdGMzQxQTQxMUI4RTAwNDQ3
QzRDIC8qIEZ1bmN0aW9uYWwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRjgxQTQxMUFF
NjAwNDQ3QzRDIC8qIEdlb2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUUx
MUE0MTFBOUEwMDQ0N0M0QyAvKiBHZXRCYWNraW5nU2NhbGVGYWN0b3IubW0gaW4gU291cmNlcyAq
LywKIAkJCQlDREJGQ0M0NTFBOUZGNDUzMDBBN0I2OTEgLyogRnVsbHNjcmVlblpvb21Jbml0aWFs
RnJhbWUubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL0Z1bmN0aW9uYWwuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYv
RnVuY3Rpb25hbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNmOGMzYzM5Yzcx
ZGE3ODBiZTZlNjQyNjgzODFlNjM1YzJjZDE2YTMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRnVuY3Rp
b25hbC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwyMTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUg
PHd0Zi9GdW5jdGlvbmFsLmg+Ci0KLW5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsKLQotc3RhdGlj
IGludCByZXR1cm5Gb3J0eVR3bygpCi17Ci0gICAgcmV0dXJuIDQyOwotfQotCi1URVNUKEZ1bmN0
aW9uYWxUZXN0LCBCYXNpYykKLXsKLSAgICBGdW5jdGlvbjxpbnQgKCk+IGVtcHR5RnVuY3Rpb247
Ci0gICAgQVNTRVJUX1RSVUUoZW1wdHlGdW5jdGlvbi5pc051bGwoKSk7Ci0KLSAgICBGdW5jdGlv
bjxpbnQgKCk+IHJldHVybkZvcnR5VHdvRnVuY3Rpb24gPSBiaW5kKHJldHVybkZvcnR5VHdvKTsK
LSAgICBBU1NFUlRfRkFMU0UocmV0dXJuRm9ydHlUd29GdW5jdGlvbi5pc051bGwoKSk7Ci0gICAg
QVNTRVJUX0VRKDQyLCByZXR1cm5Gb3J0eVR3b0Z1bmN0aW9uKCkpOwotfQotCi1zdGF0aWMgaW50
IG11bHRpcGx5QnlUd28oaW50IG4pCi17Ci0gICAgcmV0dXJuIG4gKiAyOwotfQotCi1zdGF0aWMg
ZG91YmxlIG11bHRpcGx5QnlPbmVBbmRBSGFsZihkb3VibGUgZCkKLXsKLSAgICByZXR1cm4gZCAq
IDEuNTsKLX0KLQotVEVTVChGdW5jdGlvbmFsVGVzdCwgVW5hcnlCaW5kKQotewotICAgIEZ1bmN0
aW9uPGludCAoKT4gbXVsdGlwbHlGb3VyQnlUd29GdW5jdGlvbiA9IGJpbmQobXVsdGlwbHlCeVR3
bywgNCk7Ci0gICAgQVNTRVJUX0VRKDgsIG11bHRpcGx5Rm91ckJ5VHdvRnVuY3Rpb24oKSk7Ci0K
LSAgICBGdW5jdGlvbjxkb3VibGUgKCk+IG11bHRpcGx5QnlPbmVBbmRBSGFsZkZ1bmN0aW9uID0g
YmluZChtdWx0aXBseUJ5T25lQW5kQUhhbGYsIDMpOwotICAgIEFTU0VSVF9FUSg0LjUsIG11bHRp
cGx5QnlPbmVBbmRBSGFsZkZ1bmN0aW9uKCkpOwotfQotCi1zdGF0aWMgaW50IG11bHRpcGx5KGlu
dCB4LCBpbnQgeSkKLXsKLSAgICByZXR1cm4geCAqIHk7Ci19Ci0KLXN0YXRpYyBpbnQgc3VidHJh
Y3QoaW50IHgsIGludCB5KQotewotICAgIHJldHVybiB4IC0geTsKLX0KLQotVEVTVChGdW5jdGlv
bmFsVGVzdCwgQmluYXJ5QmluZCkKLXsKLSAgICBGdW5jdGlvbjxpbnQgKCk+IG11bHRpcGx5Rm91
ckJ5VHdvRnVuY3Rpb24gPSBiaW5kKG11bHRpcGx5LCA0LCAyKTsKLSAgICBBU1NFUlRfRVEoOCwg
bXVsdGlwbHlGb3VyQnlUd29GdW5jdGlvbigpKTsKLQotICAgIEZ1bmN0aW9uPGludCAoKT4gc3Vi
dHJhY3RUd29Gcm9tRm91ckZ1bmN0aW9uID0gYmluZChzdWJ0cmFjdCwgNCwgMik7Ci0gICAgQVNT
RVJUX0VRKDIsIHN1YnRyYWN0VHdvRnJvbUZvdXJGdW5jdGlvbigpKTsKLX0KLQotY2xhc3MgQSB7
Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgQShpbnQgaSkKLSAgICAgICAgOiBtX2koaSkKLSAgICB7
Ci0gICAgfQotCi0gICAgaW50IGYoKSB7IHJldHVybiBtX2k7IH0KLSAgICBpbnQgYWRkRihpbnQg
aikgeyByZXR1cm4gbV9pICsgajsgfQotCi1wcml2YXRlOgotICAgIGludCBtX2k7Ci19OwotCi1U
RVNUKEZ1bmN0aW9uYWxUZXN0LCBNZW1iZXJGdW5jdGlvbkJpbmQpCi17Ci0gICAgQSBhKDEwKTsK
LSAgICBGdW5jdGlvbjxpbnQgKCk+IGZ1bmN0aW9uMSA9IGJpbmQoJkE6OmYsICZhKTsKLSAgICBB
U1NFUlRfRVEoMTAsIGZ1bmN0aW9uMSgpKTsKLQotICAgIEZ1bmN0aW9uPGludCAoKT4gZnVuY3Rp
b24yID0gYmluZCgmQTo6YWRkRiwgJmEsIDE1KTsKLSAgICBBU1NFUlRfRVEoMjUsIGZ1bmN0aW9u
MigpKTsKLX0KLQotY2xhc3MgQiB7Ci1wdWJsaWM6Ci0gICAgQigpCi0gICAgICAgIDogbV9udW1S
ZWZDYWxscygwKQotICAgICAgICAsIG1fbnVtRGVyZWZDYWxscygwKQotICAgIHsKLSAgICB9Ci0K
LSAgICB+QigpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgcmVmKCkKLSAgICB7Ci0gICAgICAg
IG1fbnVtUmVmQ2FsbHMrKzsKLSAgICB9Ci0KLSAgICB2b2lkIGRlcmVmKCkKLSAgICB7Ci0gICAg
ICAgIG1fbnVtRGVyZWZDYWxscysrOwotICAgIH0KLQotICAgIHZvaWQgZigpIHsgQVNTRVJUX0dU
KG1fbnVtUmVmQ2FsbHMsIDApOyB9Ci0gICAgdm9pZCBnKGludCkgeyBBU1NFUlRfR1QobV9udW1S
ZWZDYWxscywgMCk7IH0KLQotICAgIGludCBtX251bVJlZkNhbGxzOwotICAgIGludCBtX251bURl
cmVmQ2FsbHM7Ci19OwotCi1URVNUKEZ1bmN0aW9uYWxUZXN0LCBNZW1iZXJGdW5jdGlvbkJpbmRS
ZWZEZXJlZikKLXsKLSAgICBCIGI7Ci0KLSAgICB7Ci0gICAgICAgIEZ1bmN0aW9uPHZvaWQgKCk+
IGZ1bmN0aW9uMSA9IGJpbmQoJkI6OmYsICZiKTsKLSAgICAgICAgZnVuY3Rpb24xKCk7Ci0KLSAg
ICAgICAgRnVuY3Rpb248dm9pZCAoKT4gZnVuY3Rpb24yID0gYmluZCgmQjo6ZywgJmIsIDEwKTsK
LSAgICAgICAgZnVuY3Rpb24yKCk7Ci0gICAgfQotCi0gICAgQVNTRVJUX1RSVUUoYi5tX251bVJl
ZkNhbGxzID09IGIubV9udW1EZXJlZkNhbGxzKTsKLSAgICBBU1NFUlRfR1QoYi5tX251bVJlZkNh
bGxzLCAwKTsKLQotfQotCi1jbGFzcyBOdW1iZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxOdW1iZXI+
IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxOdW1iZXI+IGNyZWF0ZShpbnQgdmFs
dWUpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IE51bWJlcih2YWx1ZSkpOwot
ICAgIH0KLQotICAgIH5OdW1iZXIoKQotICAgIHsKLSAgICAgICAgbV92YWx1ZSA9IDA7Ci0gICAg
fQotCi0gICAgaW50IHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZTsgfQotCi1wcml2YXRl
OgotICAgIGV4cGxpY2l0IE51bWJlcihpbnQgdmFsdWUpCi0gICAgICAgIDogbV92YWx1ZSh2YWx1
ZSkKLSAgICB7Ci0gICAgfQotCi0gICAgaW50IG1fdmFsdWU7Ci19OwotCi1zdGF0aWMgaW50IG11
bHRpcGx5TnVtYmVyQnlUd28oTnVtYmVyKiBudW1iZXIpCi17Ci0gICAgcmV0dXJuIG51bWJlci0+
dmFsdWUoKSAqIDI7Ci19Ci0KLVRFU1QoRnVuY3Rpb25hbFRlc3QsIFJlZkNvdW50ZWRTdG9yYWdl
KQotewotICAgIFJlZlB0cjxOdW1iZXI+IGZpdmUgPSBOdW1iZXI6OmNyZWF0ZSg1KTsKLSAgICBG
dW5jdGlvbjxpbnQgKCk+IG11bHRpcGx5Rml2ZUJ5VHdvRnVuY3Rpb24gPSBiaW5kKG11bHRpcGx5
TnVtYmVyQnlUd28sIGZpdmUpOwotICAgIEFTU0VSVF9FUSgxMCwgbXVsdGlwbHlGaXZlQnlUd29G
dW5jdGlvbigpKTsKLQotICAgIEZ1bmN0aW9uPGludCAoKT4gbXVsdGlwbHlGb3VyQnlUd29GdW5j
dGlvbiA9IGJpbmQobXVsdGlwbHlOdW1iZXJCeVR3bywgTnVtYmVyOjpjcmVhdGUoNCkpOwotICAg
IEFTU0VSVF9FUSg4LCBtdWx0aXBseUZvdXJCeVR3b0Z1bmN0aW9uKCkpOwotCi0gICAgUmVmUHRy
PE51bWJlcj4gc2l4ID0gTnVtYmVyOjpjcmVhdGUoNik7Ci0gICAgRnVuY3Rpb248aW50ICgpPiBt
dWx0aXBseVNpeEJ5VHdvRnVuY3Rpb24gPSBiaW5kKG11bHRpcGx5TnVtYmVyQnlUd28sIHNpeC5y
ZWxlYXNlKCkpOwotICAgIEFTU0VSVF9GQUxTRShzaXgpOwotICAgIEFTU0VSVF9FUSgxMiwgbXVs
dGlwbHlTaXhCeVR3b0Z1bmN0aW9uKCkpOwotfQotCi1uYW1lc3BhY2UgUmVmQW5kRGVyZWZUZXN0
cyB7Ci0gICAgCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gc3RydWN0IFJlZkNvdW50ZWQgewot
ICAgICAgICB2b2lkIHJlZigpOwotICAgICAgICB2b2lkIGRlcmVmKCk7Ci0gICAgfTsKLSAgICBz
dHJ1Y3QgQ29ubmVjdGlvbiA6IFJlZkNvdW50ZWQ8Q29ubmVjdGlvbj4geyB9OwotICAgIENPTVBJ
TEVfQVNTRVJUKFdURjo6SGFzUmVmQW5kRGVyZWY8Q29ubmVjdGlvbj46OnZhbHVlLCBjbGFzc19o
YXNfcmVmX2FuZF9kZXJlZik7Ci0gICAgCi0gICAgc3RydWN0IE5vUmVmT3JEZXJlZiB7IH07Ci0g
ICAgQ09NUElMRV9BU1NFUlQoIVdURjo6SGFzUmVmQW5kRGVyZWY8Tm9SZWZPckRlcmVmPjo6dmFs
dWUsIGNsYXNzX2hhc19ub19yZWZfb3JfZGVyZWYpOwotICAgIAotICAgIHN0cnVjdCBSZWZPbmx5
IHsgdm9pZCByZWYoKTsgfTsKLSAgICBDT01QSUxFX0FTU0VSVCghV1RGOjpIYXNSZWZBbmREZXJl
ZjxSZWZPbmx5Pjo6dmFsdWUsIGNsYXNzX2hhc19yZWZfb25seSk7Ci0gICAgCi0gICAgc3RydWN0
IERlcmVmT25seSB7IHZvaWQgZGVyZWYoKTsgfTsKLSAgICBDT01QSUxFX0FTU0VSVCghV1RGOjpI
YXNSZWZBbmREZXJlZjxEZXJlZk9ubHk+Ojp2YWx1ZSwgY2xhc3NfaGFzX2RlcmVmX29ubHkpOwot
Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252234</attachid>
            <date>2015-05-02 09:59:27 -0700</date>
            <delta_ts>2015-05-04 00:23:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-144400-20150502185813.patch</filename>
            <type>text/plain</type>
            <size>13974</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE1ZDQzOTQ2MjQzMGVkZDhlODEyOWVm
YTJhYzM0ZGM3YmNhMGYyYzIuLjFiYmU1ZmIxZDM2MzM2NDliNDlmYjUxOTU3MDk1ZWUxNmU4YzZl
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUtMDUtMDIgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSBGdW5jdGlvbmFsLmggaW5j
bHVzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ0NDAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlIG1vc3Qgb2YgdGhlIEZ1bmN0aW9uYWwuaCBoZWFkZXIgaW5jbHVzaW9ucy4gVGhlIGhl
YWRlciBpcyBwcmVzZXJ2ZWQKKyAgICAgICAgc2luY2UgaXQncyBzdGlsbCB1c2VkIGJ5IG9sZGVy
IHZlcnNpb25zIG9mIFNhZmFyaSwgYW5kIGZvciB0aGUgY2FsbE9uTWFpblRocmVhZCgpCisgICAg
ICAgIHN0dWIgaW4gRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmkubW0uCisKKyAgICAgICAg
KiB3dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAg
KiB3dGYvV29ya1F1ZXVlLmNwcDoKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmg6CisgICAgICAg
ICogd3RmL2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmg6CisgICAgICAgICogd3RmL2VmbC9EaXNwYXRj
aFF1ZXVlV29ya0l0ZW1FZmwuaDoKKwogMjAxNS0wNS0wMSAgTWFydGluIFJvYmluc29uICA8bXJv
Ymluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgVVNFKC4uLikgbWFjcm8gc2hvdWxkIGV4cGVj
dCB1bnByZWZpeGVkIHZhcmlhYmxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGU3MTgyMjZhY2Y0YTgzNGI4Yzkx
MTZjNzFlNmQwZTBhYTM5MTMyNDguLmEwNTFiMTExMmIwNTRjYTAxZGIwZGJkYjVjYTczNTA4ZWI4
YzdkMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNS0wNS0wMiAgWmFuIERvYmVy
c2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dURl0gUmVtb3ZlIEZ1bmN0
aW9uYWwuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ0NDAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlIHVubmVjZXNzYXJ5IGluY2x1c2lvbnMgb2YgdGhlIDx3dGYvRnVuY3Rpb25hbC5oPiBo
ZWFkZXIgaW4gV2ViQ29yZS4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1UcmFjay5jcHA6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrU291cmNlc1JlcXVlc3QuY3BwOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
VXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRv
cklPUy5tbToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW06CisgICAgICAgICogcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaDogSW5jbHVkZSB0aGUgPG9iamMvb2Jq
Yy5oPiBoZWFkZXIgdGhhdCB3YXMgcHJldmlvdXNseQorICAgICAgICBpbmRpcmVjdGx5IGluY2x1
ZGVkIHRocm91Z2ggRnVuY3Rpb25hbC5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL1NvZnRMaW5raW5nLmg6
IFVuY29uZGl0aW9uYWxseSBpbmNsdWRlIHRoZSA8b2JqYy9ydW50aW1lLmg+IGhlYWRlcgorICAg
ICAgICB0aGF0IHdhcyBwcmV2aW91c2x5IGluY2x1ZGVkIGZvciB0aGUgTWFjIHBvcnQgdGhyb3Vn
aCBGdW5jdGlvbmFsLmguCisKIDIwMTUtMDUtMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgY29tcG9zaXRpbmcgdXBkYXRlcyBhZnRlciBz
dHlsZSByZWNhbGNzIHdoaWNoIGhhdmUgbm8gY29tcG9zaXRpbmcgaW1wbGljYXRpb25zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNzA0YjQ4OWU4OTFlNDA2ZTJiNjMzNzY2M2ZmZTQ4Mjg5ZmE2MjBmZi4uODY0NWMx
MDViY2ZmMTJjYTgyYzFkNjNmYTI0MWFkM2UyMzg1MDE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDE1LTA1LTAyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4K
KworICAgICAgICBbV1RGXSBSZW1vdmUgRnVuY3Rpb25hbC5oCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDQ0MDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVzaW9u
cyBvZiB0aGUgPHd0Zi9GdW5jdGlvbmFsLmg+IGhlYWRlciBpbiBXZWJLaXQyLgorCisgICAgICAg
ICogUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW06IEltcG9ydCB0
aGUgPG9iamMvcnVudGltZS5oPgorICAgICAgICBoZWFkZXIgdGhhdCB3YXMgcHJldmlvdXNseSBp
bmRpcmVjdGx5IGluY2x1ZGVkIHRocm91Z2ggdGhlIEZ1bmN0aW9uYWwuaCBoZWFkZXIuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcDoKKwogMjAxNS0wNS0wMSAg
RGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdDIgcGFydCBv
ZiA8cmRhcjovL3Byb2JsZW0vODYzNjA0NT4gQmFjay9mb3J3YXJkIG5hdmlnYXRpb24gdG8gYW4g
ZXJyb3IgcGFnZSBpbiBTYWZhcmkgYnJlYWtzIHRoZSBiYWNrLWZvcndhcmQgbGlzdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9NYWlu
VGhyZWFkLmNwcAppbmRleCBhMjVkODQ3Y2Q0ZTViY2Q2MGVlNTFmYzhiZmExODllZjliODJiMTcy
Li4wNjA5ZGI2MzE2ZTBhMDJkNjg1YWZkMTBmMGRiZTdhYWI2MzlmOTVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV1RGL3d0Zi9NYWluVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYWluVGhy
ZWFkLmNwcApAQCAtMzEsOCArMzEsOCBAQAogCiAjaW5jbHVkZSAiQ3VycmVudFRpbWUuaCIKICNp
bmNsdWRlICJEZXF1ZS5oIgotI2luY2x1ZGUgIkZ1bmN0aW9uYWwuaCIKICNpbmNsdWRlICJTdGRM
aWJFeHRyYXMuaCIKKyNpbmNsdWRlICJUaHJlYWRpbmcuaCIKICNpbmNsdWRlIDxtdXRleD4KICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkU3BlY2lm
aWMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaCBiL1NvdXJjZS9XVEYv
d3RmL1J1bkxvb3AuaAppbmRleCAzMjAxNzZkMGFjZDdjZGQ3NzNjYjI4MDA0NjM3YTEzZTgzNzFi
OWEyLi42ZjhhMmMyM2I5M2E4MDQyZDRjNDJmNDY3MzY1MmUyMDdhNTVhOGQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKKysrIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5o
CkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb25EaXNwYXRjaGVyLmg+Ci0jaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3BwIGIvU291cmNlL1dURi93dGYvV29ya1F1ZXVl
LmNwcAppbmRleCA2ZmFiZWM2YTQ3MzM4NjMyMWNmZGYzYzVkM2FmMTZmOWMyYWQ0NWQ1Li42Mzk5
ODRjYjkxYTUxMmVhYzNhY2Y1ZDU1MDYxMWJjYWZhMjQzZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9Xb3JrUXVldWUuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5jcHAK
QEAgLTI2LDYgKzI2LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXb3JrUXVl
dWUuaCIKIAorI2luY2x1ZGUgIlJlZi5oIgorCiBuYW1lc3BhY2UgV1RGIHsKIAogUmVmPFdvcmtR
dWV1ZT4gV29ya1F1ZXVlOjpjcmVhdGUoY29uc3QgY2hhciogbmFtZSwgVHlwZSB0eXBlLCBRT1Mg
cW9zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmggYi9Tb3VyY2UvV1RG
L3d0Zi9Xb3JrUXVldWUuaAppbmRleCA2YTllMWM1NmFlZGY2NmJkYTFjYjQzNGRlYmViNGVhYTEw
YzAwM2Y3Li5mOWU1NzA3YmQzMWVhNzA3ZWIwMjBiZWFjOGJiN2YyNjNhM2RkNmUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3Jr
UXVldWUuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb25EaXNwYXRjaGVyLmg+Ci0j
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
ZWZsL0Rpc3BhdGNoUXVldWVFZmwuaCBiL1NvdXJjZS9XVEYvd3RmL2VmbC9EaXNwYXRjaFF1ZXVl
RWZsLmgKaW5kZXggZGNmOGUzNzczYTFkZDZiMGE0ZWY4OTJiMzE4NjM0NDEzOGIyODY0NC4uOGVl
YjQ1NGQ2NGEzYzNhMjJjZTExNTk1NGI3NDdkZDZlNDliOTkyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvZWZsL0Rpc3BhdGNoUXVldWVFZmwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwv
RGlzcGF0Y2hRdWV1ZUVmbC5oCkBAIC0yNyw4ICsyNyw3IEBACiAjZGVmaW5lIERpc3BhdGNoUXVl
dWVFZmxfaAogCiAjaW5jbHVkZSA8dGltZS5oPgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIGNsYXNzIFRpbWVyV29ya0l0
ZW07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1ZVdvcmtJdGVt
RWZsLmggYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1ZVdvcmtJdGVtRWZsLmgKaW5k
ZXggZThkODdiMzYyOWIwZGI5Njc5YTNhODllZmZjY2E5NmJkNDQ0NDA5NS4uYjFmYmRjODA3MDk0
MTJmZDIyMmFmMDVmZjk0NWQ2NWE3YjAzMjQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
ZWZsL0Rpc3BhdGNoUXVldWVXb3JrSXRlbUVmbC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2VmbC9E
aXNwYXRjaFF1ZXVlV29ya0l0ZW1FZmwuaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KLSNpbmNsdWRl
IDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVk
ZSA8d3RmL1dvcmtRdWV1ZS5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCBiOWYwMGJmZTIzN2E1ZTc4
MDNhOTRkMjFjNGQwNmY1NzFlYjQ0YjUxLi42YWRiNGZlNzA5ZWQxYWE1ZGViZGVmOWY3N2VkOWJi
YzIzNTFhZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAKICNpbmNsdWRlICJN
ZWRpYVRyYWNrQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rp
b25hbC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAKaW5kZXggMjJj
ODdjMmNjYzFhNWRmZWUzNWFmMzBiODE2NTUwOWQyZTcxM2UzZS4uOTYyZmYwNjYxNWQxNjcwMDJm
MWZlNGE1MmUzY2IyMzAzNmMzMWU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNS
ZXF1ZXN0LmNwcApAQCAtMzMsNyArMzMsNiBAQAogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNvdXJjZUlu
Zm8uaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCmluZGV4IGQ3OTYxNDVi
ZWJiODk2NGExNmI1YTAyMmI5YmE0N2Y3YjQwOWE4N2QuLjRhOWFlNjNlNTFiNzFlZGU3MGRhYjM0
NDI2YTMwZTIwZjU1MzY4MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcApAQCAtNDksNyArNDksNiBAQAogI2lu
Y2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgogI2luY2x1ZGUgIlVzZXJNZWRpYUNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlIDx3dGYv
RnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1RyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUu
aAppbmRleCA1NmJjNTk2MDJiNzI0ZjQwYTQ4OGI3YzMwZmYwNGU4MjVhMGYyYjUxLi5hODk3Mzg4
M2E0OGNiNjMxY2MyMGZiZGRjZGFlOGIyZjM2MmIyNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5jbHVk
ZSAiUmVnaW9uLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKICNpbmNsdWRl
ICJXaGVlbEV2ZW50VGVzdFRyaWdnZXIuaCIKLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3Vu
dGVkLmg+CiAjaW5jbHVkZSA8d3RmL1R5cGVDYXN0cy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1t
CmluZGV4IDI4YzQxNDY4MTNkNWFlNGUwM2VhZWFmZmNmZGI0YzQ2ZTAzOTljYzguLjZjYjNmNDNk
OGEwZjBjM2I4NTA4MmUzNmE3Mjg0MzYxMjVhYzQ2ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1Mu
bW0KQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlSU9TLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCIKICNpbmNs
dWRlICJTY3JvbGxpbmdUcmVlSU9TLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5tbQppbmRleCAxMTFiZGFjM2YzZDE4OTRiNWJhMmE3ZDdhOGI2
M2I0OGRmZGE5MmRkLi4zZTkyMWYxZWI0NzNlZjY5ZTBjMDk3OWRhZGEzZjU3MTEzMzc1NGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiU2Ny
b2xsaW5nVHJlZU1hYy5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgiCiAj
aW5jbHVkZSAiVGlsZWRCYWNraW5nLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNp
bmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3Bw
CmluZGV4IGUyYjcyMjY2OTY5ZjVmN2U1NjczYzhmZjllMzVjMzI1YmMxMjFlMjUuLjhhNmVjN2Ex
MjRmNjkxNzE4MGQ2NzQwMzkzNDRiMDVjMDc1MThhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcApAQCAtMzksNyArMzksNiBAQAog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgog
I2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4K
ICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKaW5kZXggMzU4MTNiODcyN2JjYzI2MzRj
ZDFkNjBiMTQ2ODk0NmI5MzQ1M2ZlMS4uN2IwYzFkYTIyMTMwNzE2NjMzYjU0ZmYzY2Q0YTg2M2M1
OGQ4YTNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVXNlckFjdGl2aXR5LmgKQEAgLTI5LDYg
KzI5LDcgQEAKICNpbmNsdWRlICJIeXN0ZXJlc2lzQWN0aXZpdHkuaCIKIAogI2lmIEhBVkUoTlNf
QUNUSVZJVFkpCisjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiBPQkpDX0NMQVNTIE5TU3RyaW5nOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01l
ZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oCmlu
ZGV4IDk0NjdkYWE3NTU1MTM3Nzc2OTRlMmE0M2FjZjM1ZDBlMjVmZTA0MmIuLjY4MzM1MmY4NzRh
NjkxODYwYjY0MThiOTVmODRjNDQ2NjY1ZTgxZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRp
b24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTMzLDcgKzMzLDYgQEAKICNp
bmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgPGZ1bmN0aW9uYWw+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3
dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3Vy
Y2VBVkZPYmpDLm1tCmluZGV4IDNhODkyOGUxN2MyZGQ2ZjI1NTEyYWU3ZGFjZTlkMTVjNjc2ODJl
YzcuLjMyMzhlNjhhOTJhNGJjNjExZjE0MzdkODFhOTlkZWUwZWQ0YTc2NGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRp
YVNvdXJjZUFWRk9iakMubW0KQEAgLTQwLDcgKzQwLDYgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVlRpbWUuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgogI2ltcG9ydCA8b2Jq
Y19ydW50aW1lLmg+Ci0jaW1wb3J0IDx3dGYvRnVuY3Rpb25hbC5oPgogI2ltcG9ydCA8d3RmL01h
aW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oCmluZGV4IGNjZTU5M2RkNmYzOWQ0ODNmODg4
ZDQ3ZDU5OTY3ZDU1YzNjM2UzNmIuLmQ1NGEwZjVlOTNjMDdkNTEwMTE1YzEyMWI3NzZlN2FkODM3
MWRmNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oCkBAIC0y
NywxMCArMjcsNyBAQAogCiAjaW1wb3J0IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2ltcG9ydCA8ZGxm
Y24uaD4KLQotI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQgPG9iamMvcnVudGltZS5oPgotI2Vu
ZGlmCiAKICNwcmFnbWEgbWFyayAtIFNvZnQtbGluayBtYWNyb3MgZm9yIHVzZSB3aXRoaW4gYSBz
aW5nbGUgc291cmNlIGZpbGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCmluZGV4IGY1NTlkYjYyYjZiNTQxMDFmYzJhZWZiMTBl
YmVkZmYzNTcyNTA1N2EuLmE1M2FmYzcyMmE2OTU3OGY0NjM3NjFlNWQ3NWVkODFkMWEyNjhjOTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25V
bml4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9u
VW5peC5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlIDxmY250bC5oPgogI2luY2x1ZGUg
PHBvbGwuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotI2luY2x1ZGUgPHd0Zi9GdW5j
dGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9V
bmlTdGRFeHRyYXMuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KaW5k
ZXggMDcxY2E4OTkwODVhNTdmZDUwZDQyMjM5Mjg4NjEyZGE0MzM1Y2EwMS4uODQ4YjMzODJlMDIw
ZTJjMjJhNDBhYjVjYzkyNmE3MGIyYTMwOWJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBl
UGx1Z2luTWFjLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL01hY2hTZW5k
UmlnaHQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdl
YktpdFN5c3RlbUludGVyZmFjZS5oPgorI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CiAjaW1wb3J0
IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5j
cHAKaW5kZXggM2M3M2VkMTA5YzcyNTQxNGNmYmIyN2U1YzFiNjZlNzExOGYwMmFmMS4uYjliOGI2
ZjliMjQ3NjYxOTY2MDk4Y2UzYzFmODlmMDViZTQzODI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCkBAIC0zMiw3ICszMiw2IEBA
CiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRGlzcGxheVJlZnJl
c2hNb25pdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oPgot
I2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAKIC8vIFN1YmNsYXNzZXMKICNpZiBQTEFURk9S
TShDT0NPQSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252299</attachid>
            <date>2015-05-04 00:23:22 -0700</date>
            <delta_ts>2015-05-04 00:23:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-144400-20150504092208.patch</filename>
            <type>text/plain</type>
            <size>13951</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYxZTZiMzQzNDYyZWMyODJlYTNhOGZk
NTNkZDYyYTc5ZDRiMjUxYmEuLjRjM2FmNzU2ZWNhYmZjZDE0ZGVlMjQzY2ZmYzY5MTE0Y2RiYTI0
M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTUtMDUtMDQgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSBGdW5jdGlvbmFsLmggaW5j
bHVzaW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQ0NDAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmVt
b3ZlIG1vc3Qgb2YgdGhlIEZ1bmN0aW9uYWwuaCBoZWFkZXIgaW5jbHVzaW9ucy4gVGhlIGhlYWRl
ciBpcyBwcmVzZXJ2ZWQKKyAgICAgICAgc2luY2UgaXQncyBzdGlsbCB1c2VkIGJ5IG9sZGVyIHZl
cnNpb25zIG9mIFNhZmFyaSwgYW5kIGZvciB0aGUgY2FsbE9uTWFpblRocmVhZCgpCisgICAgICAg
IHN0dWIgaW4gRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmkubW0uCisKKyAgICAgICAgKiB3
dGYvTWFpblRocmVhZC5jcHA6CisgICAgICAgICogd3RmL1J1bkxvb3AuaDoKKyAgICAgICAgKiB3
dGYvV29ya1F1ZXVlLmNwcDoKKyAgICAgICAgKiB3dGYvV29ya1F1ZXVlLmg6CisgICAgICAgICog
d3RmL2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmg6CisgICAgICAgICogd3RmL2VmbC9EaXNwYXRjaFF1
ZXVlV29ya0l0ZW1FZmwuaDoKKwogMjAxNS0wNS0wMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4Mzcy
Mi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBiNmY5OTdiYWNmNTAxYzBiODA2NWExMzgyODk4ODA1YmRjNTAyZjY0
Li4wYjZkZjExN2NlZGNkOTdiMDJhNzdmMTQxYmZmY2Y4MmQ4YTc1NmNhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMTUtMDUtMDQgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFtXVEZdIFJlbW92ZSBGdW5jdGlvbmFsLmgKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDQwMAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNs
dXNpb25zIG9mIHRoZSA8d3RmL0Z1bmN0aW9uYWwuaD4gaGVhZGVyIGluIFdlYkNvcmUuCisKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwOgorICAgICAg
ICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBwYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW06CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tOgorICAgICAgICAqIHBs
YXRmb3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vVXNl
ckFjdGl2aXR5Lmg6IEluY2x1ZGUgdGhlIDxvYmpjL29iamMuaD4gaGVhZGVyIHRoYXQgd2FzIHBy
ZXZpb3VzbHkKKyAgICAgICAgaW5kaXJlY3RseSBpbmNsdWRlZCB0aHJvdWdoIEZ1bmN0aW9uYWwu
aC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQ
cml2YXRlQVZGb3VuZGF0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9Tb2Z0TGlua2luZy5oOiBVbmNvbmRpdGlvbmFsbHkgaW5jbHVk
ZSB0aGUgPG9iamMvcnVudGltZS5oPiBoZWFkZXIKKyAgICAgICAgdGhhdCB3YXMgcHJldmlvdXNs
eSBpbmNsdWRlZCBmb3IgdGhlIE1hYyBwb3J0IHRocm91Z2ggRnVuY3Rpb25hbC5oLgorCiAyMDE1
LTA1LTAzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBQdXJnZSBQYXNzUmVmUHRyIGluIFdlYkNvcmUvaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGY0MDQzNjBj
ZDgxNzBjYjk5MDIxYjhhM2EzNTEwNDI1MDBkZDUyZWYuLjAwMDhjMzM2NTFkYTYxMTE4NzYxZDQ1
NTU2MmRlYmExMTA5YmRjMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wNS0w
NCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW1dURl0g
UmVtb3ZlIEZ1bmN0aW9uYWwuaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ0NDAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGluY2x1c2lvbnMgb2YgdGhlIDx3dGYvRnVuY3Rp
b25hbC5oPiBoZWFkZXIgaW4gV2ViS2l0Mi4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy91bml4
L0Nvbm5lY3Rpb25Vbml4LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tOiBJbXBvcnQgdGhlIDxvYmpjL3J1bnRpbWUuaD4K
KyAgICAgICAgaGVhZGVyIHRoYXQgd2FzIHByZXZpb3VzbHkgaW5kaXJlY3RseSBpbmNsdWRlZCB0
aHJvdWdoIHRoZSBGdW5jdGlvbmFsLmggaGVhZGVyLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYS5jcHA6CisKIDIwMTUtMDUtMDMgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggaW4gU2FuZGJveEV4dGVuc2lvbjo6Y29u
c3VtZSB3aGVuIHVwbG9hZGluZyBpV29yayAtdGVmIGRvY3VtZW50cyB0byBpQ2xvdWQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwIGIvU291cmNlL1dURi93dGYvTWFp
blRocmVhZC5jcHAKaW5kZXggYTI1ZDg0N2NkNGU1YmNkNjBlZTUxZmM4YmZhMTg5ZWY5YjgyYjE3
Mi4uMDYwOWRiNjMxNmUwYTAyZDY4NWFmZDEwZjBkYmU3YWFiNjM5Zjk1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvTWFpblRo
cmVhZC5jcHAKQEAgLTMxLDggKzMxLDggQEAKIAogI2luY2x1ZGUgIkN1cnJlbnRUaW1lLmgiCiAj
aW5jbHVkZSAiRGVxdWUuaCIKLSNpbmNsdWRlICJGdW5jdGlvbmFsLmgiCiAjaW5jbHVkZSAiU3Rk
TGliRXh0cmFzLmgiCisjaW5jbHVkZSAiVGhyZWFkaW5nLmgiCiAjaW5jbHVkZSA8bXV0ZXg+CiAj
aW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNp
ZmljLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmggYi9Tb3VyY2UvV1RG
L3d0Zi9SdW5Mb29wLmgKaW5kZXggMzIwMTc2ZDBhY2Q3Y2RkNzczY2IyODAwNDYzN2ExM2U4Mzcx
YjlhMi4uNmY4YTJjMjNiOTNhODA0MmQ0YzQyZjQ2NzM2NTJlMjA3YTU1YThkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3Au
aApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uRGlzcGF0Y2hlci5oPgotI2luY2x1
ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1
ZS5jcHAKaW5kZXggNmZhYmVjNmE0NzMzODYzMjFjZmRmM2M1ZDNhZjE2ZjljMmFkNDVkNS4uNjM5
OTg0Y2I5MWE1MTJlYWMzYWNmNWQ1NTA2MTFiY2FmYTI0M2RiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvV29ya1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Xb3JrUXVldWUuY3Bw
CkBAIC0yNiw2ICsyNiw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV29ya1F1
ZXVlLmgiCiAKKyNpbmNsdWRlICJSZWYuaCIKKwogbmFtZXNwYWNlIFdURiB7CiAKIFJlZjxXb3Jr
UXVldWU+IFdvcmtRdWV1ZTo6Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIFR5cGUgdHlwZSwgUU9T
IHFvcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1dvcmtRdWV1ZS5oIGIvU291cmNlL1dU
Ri93dGYvV29ya1F1ZXVlLmgKaW5kZXggNmE5ZTFjNTZhZWRmNjZiZGExY2I0MzRkZWJlYjRlYWEx
MGMwMDNmNy4uZjllNTcwN2JkMzFlYTcwN2ViMDIwYmVhYzhiYjdmMjYzYTNkZDZlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvV29ya1F1ZXVlLmgKKysrIGIvU291cmNlL1dURi93dGYvV29y
a1F1ZXVlLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNsdWRlIDxmdW5jdGlvbmFsPgogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uRGlzcGF0Y2hlci5oPgot
I2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmggYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1
ZUVmbC5oCmluZGV4IGRjZjhlMzc3M2ExZGQ2YjBhNGVmODkyYjMxODYzNDQxMzhiMjg2NDQuLmZj
NTU1MTliMDFjZWU4ZmUwNDljMTNjMWU1ZmNmYzdkOTk3OTRmMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL2VmbC9EaXNwYXRjaFF1ZXVlRWZsLmgKKysrIGIvU291cmNlL1dURi93dGYvZWZs
L0Rpc3BhdGNoUXVldWVFZmwuaApAQCAtMjYsOSArMjYsMTAgQEAKICNpZm5kZWYgRGlzcGF0Y2hR
dWV1ZUVmbF9oCiAjZGVmaW5lIERpc3BhdGNoUXVldWVFZmxfaAogCisjaW5jbHVkZSA8ZnVuY3Rp
b25hbD4KICNpbmNsdWRlIDx0aW1lLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmdQcmltaXRpdmVzLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBjbGFzcyBUaW1lcldvcmtJdGVtOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvZWZsL0Rpc3BhdGNoUXVldWVXb3JrSXRlbUVmbC5oIGIvU291cmNlL1dURi93dGYv
ZWZsL0Rpc3BhdGNoUXVldWVXb3JrSXRlbUVmbC5oCmluZGV4IGU4ZDg3YjM2MjliMGRiOTY3OWEz
YTg5ZWZmY2NhOTZiZDQ0NDQwOTUuLmIxZmJkYzgwNzA5NDEyZmQyMjJhZjA1ZmY5NDVkNjVhN2Iw
MzI0OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2VmbC9EaXNwYXRjaFF1ZXVlV29ya0l0
ZW1FZmwuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9lZmwvRGlzcGF0Y2hRdWV1ZVdvcmtJdGVtRWZs
LmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFjay5jcHAKaW5kZXggYjlmMDBiZmUyMzdhNWU3ODAzYTk0ZDIxYzRkMDZmNTcxZWI0NGI1
MS4uNmFkYjRmZTcwOWVkMWFhNWRlYmRlZjlmNzdlZDliYmMyMzUxYWQ5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2su
Y3BwCkBAIC00NSw3ICs0NSw2IEBACiAjaW5jbHVkZSAiTWVkaWFUcmFja0NvbnN0cmFpbnRzLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrU291cmNlc1Jl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVRyYWNrU291cmNlc1JlcXVlc3QuY3BwCmluZGV4IDIyYzg3YzJjY2MxYTVkZmVlMzVhZjMwYjgx
NjU1MDlkMmU3MTNlM2UuLjk2MmZmMDY2MTVkMTY3MDAyZjFmZTRhNTJlM2NiMjMwMzZjMzFlNWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdC5jcHAKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTb3VyY2VJbmZvLmgiCi0jaW5jbHVkZSA8d3RmL0Z1
bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCBkNzk2MTQ1YmViYjg5NjRhMTZiNWEwMjJiOWJhNDdm
N2I0MDlhODdkLi40YTlhZTYzZTUxYjcxZWRlNzBkYWIzNDQyNmEzMGUyMGY1NTM2ODI4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlh
UmVxdWVzdC5jcHAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJVc2Vy
TWVkaWFDb250cm9sbGVyLmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKaW5kZXggNTZiYzU5NjAyYjcyNGY0
MGE0ODhiN2MzMGZmMDRlODI1YTBmMmI1MS4uYTg5NzM4ODNhNDhjYjYzMWNjMjBmYmRkY2RhZThi
MmYzNjJiMjY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWUuaApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2luY2x1ZGUg
IlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiV2hlZWxFdmVudFRlc3RUcmlnZ2Vy
LmgiCi0jaW5jbHVkZSA8d3RmL0Z1bmN0aW9uYWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9U
eXBlQ2FzdHMuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQppbmRleCAyOGM0MTQ2ODEzZDVhZTRl
MDNlYWVhZmZjZmRiNGM0NmUwMzk5Y2M4Li42Y2IzZjQzZDhhMGYwYzNiODUwODJlMzZhNzI4NDM2
MTI1YWM0NmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3Mv
U2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCkBAIC0zOSw3ICszOSw2IEBACiAj
aW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oIgogI2luY2x1ZGUg
IlNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUlPUy5o
IgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW0K
aW5kZXggMTExYmRhYzNmM2QxODk0YjViYTJhN2Q3YThiNjNiNDhkZmRhOTJkZC4uM2U5MjFmMWVi
NDczZWY2OWUwYzA5NzlkYWRhM2Y1NzExMzM3NTRhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5t
bQpAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVNYWMuaCIKICNpbmNs
dWRlICJTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5oIgogI2luY2x1ZGUgIlRpbGVkQmFja2luZy5o
IgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAppbmRleCBlMmI3MjI2Njk2OWY1Zjdl
NTY3M2M4ZmY5ZTM1YzMyNWJjMTIxZTI1Li44YTZlYzdhMTI0ZjY5MTcxODBkNjc0MDM5MzQ0YjA1
YzA3NTE4YWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVz
c3VyZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01lbW9yeVByZXNz
dXJlSGFuZGxlci5jcHAKQEAgLTM5LDcgKzM5LDYgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQu
aCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxv
Yy5oPgotI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9Vc2VyQWN0aXZpdHkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJB
Y3Rpdml0eS5oCmluZGV4IDM1ODEzYjg3MjdiY2MyNjM0Y2QxZDYwYjE0Njg5NDZiOTM0NTNmZTEu
LjdiMGMxZGEyMjEzMDcxNjYzM2I1NGZmM2NkNGE4NjNjNThkOGEzZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1VzZXJBY3Rpdml0eS5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiSHlz
dGVyZXNpc0FjdGl2aXR5LmgiCiAKICNpZiBIQVZFKE5TX0FDVElWSVRZKQorI2luY2x1ZGUgPG9i
amMvb2JqYy5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvUnVu
TG9vcC5oPgogT0JKQ19DTEFTUyBOU1N0cmluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5k
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9N
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaAppbmRleCA5NDY3ZGFhNzU1NTEzNzc3Njk0
ZTJhNDNhY2YzNWQwZTI1ZmUwNDJiLi42ODMzNTJmODc0YTY5MTg2MGI2NDE4Yjk1Zjg0YzQ0NjY2
NWU4MWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFW
Rm91bmRhdGlvbi5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2
YXRlLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotI2luY2x1
ZGUgPHd0Zi9GdW5jdGlvbmFsLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNl
QVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCAzYTg5
MjhlMTdjMmRkNmYyNTUxMmFlN2RhY2U5ZDE1YzY3NjgyZWM3Li4zMjM4ZTY4YTkyYTRiYzYxMWYx
NDM3ZDgxYTk5ZGVlMGVkNGE3NjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJj
ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC00
MCw3ICs0MCw2IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZUaW1lLmg+CiAjaW1wb3J0IDxR
dWFydHpDb3JlL0NBTGF5ZXIuaD4KICNpbXBvcnQgPG9iamNfcnVudGltZS5oPgotI2ltcG9ydCA8
d3RmL0Z1bmN0aW9uYWwuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0IDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1NvZnRMaW5raW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExp
bmtpbmcuaAppbmRleCBjY2U1OTNkZDZmMzlkNDgzZjg4OGQ0N2Q1OTk2N2Q1NWMzYzNlMzZiLi5k
NTRhMGY1ZTkzYzA3ZDUxMDExNWMxMjFiNzc2ZTdhZDgzNzFkZjZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU29mdExpbmtpbmcuaApAQCAtMjcsMTAgKzI3LDcgQEAKIAogI2ltcG9y
dCA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbXBvcnQgPGRsZmNuLmg+Ci0KLSNpZiBQTEFURk9STShJ
T1MpCiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KLSNlbmRpZgogCiAjcHJhZ21hIG1hcmsgLSBT
b2Z0LWxpbmsgbWFjcm9zIGZvciB1c2Ugd2l0aGluIGEgc2luZ2xlIHNvdXJjZSBmaWxlCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNw
cAppbmRleCBmNTU5ZGI2MmI2YjU0MTAxZmMyYWVmYjEwZWJlZGZmMzU3MjUwNTdhLi5hNTNhZmM3
MjJhNjk1NzhmNDYzNzYxZTVkNzVlZDgxZDFhMjY4Yzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5peC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCkBAIC0zNiw3ICszNiw2
IEBACiAjaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxwb2xsLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25hbC5oPgogI2luY2x1ZGUgPHd0
Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVW5pU3RkRXh0cmFzLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0
c2NhcGVQbHVnaW5NYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvbWFjL05ldHNjYXBlUGx1Z2luTWFjLm1tCmluZGV4IDA3MWNhODk5MDg1YTU3ZmQ1MGQ0
MjIzOTI4ODYxMmRhNDMzNWNhMDEuLjg0OGIzMzgyZTAyMGUyYzIyYTQwYWI1Y2M5MjZhNzBiMmEz
MDliZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9tYWMvTmV0c2NhcGVQbHVnaW5NYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVBsdWdpbk1hYy5tbQpAQCAtMzcsNiAr
MzcsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9NYWNoU2VuZFJpZ2h0Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4K
KyNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+
CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCmluZGV4IDNjNzNlZDEwOWM3MjU0
MTRjZmJiMjdlNWMxYjY2ZTcxMThmMDJhZjEuLmI5YjhiNmY5YjI0NzY2MTk2NjA5OGNlM2MxZjg5
ZjA1YmU0MzgyNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhLmNwcApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIldlYlByb2Nlc3Mu
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0Rpc3BsYXlSZWZyZXNoTW9uaXRvci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KLSNpbmNsdWRlIDx3dGYvRnVuY3Rpb25h
bC5oPgogCiAvLyBTdWJjbGFzc2VzCiAjaWYgUExBVEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>