<?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>134273</bug_id>
          
          <creation_ts>2014-06-24 15:14:13 -0700</creation_ts>
          <short_desc>[ftlopt] Renamed DebuggerActivation to DebuggerScope.</short_desc>
          <delta_ts>2014-06-24 16:17:55 -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>JavaScriptCore</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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1018120</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-06-24 15:14:13 -0700</bug_when>
    <thetext>Just a refactoring rename operation, but also deleted an unused forwarding header in WebCore as well as an unneeded #include in WebKit/mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018121</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-06-24 15:15:47 -0700</bug_when>
    <thetext>This is being done in the FTLOPT branch in preparation for more debugger scope / activation work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018139</commentid>
    <comment_count>2</comment_count>
      <attachid>233753</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-06-24 15:37:40 -0700</bug_when>
    <thetext>Created attachment 233753
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018154</commentid>
    <comment_count>3</comment_count>
      <attachid>233753</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-06-24 16:12:39 -0700</bug_when>
    <thetext>Comment on attachment 233753
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1018158</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-06-24 16:17:55 -0700</bug_when>
    <thetext>Thanks.  Landed in r170399: &lt;http://trac.webkit.org/r170399&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233753</attachid>
            <date>2014-06-24 15:37:40 -0700</date>
            <delta_ts>2014-06-24 16:12:39 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>bug-134273.patch</filename>
            <type>text/plain</type>
            <size>39169</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwMzkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDE0LTA2LTI0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBb
ZnRsb3B0XSBSZW5hbWVkIERlYnVnZ2VyQWN0aXZhdGlvbiB0byBEZWJ1Z2dlclNjb3BlLgorICAg
ICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTM0MjczPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
SmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAgICAq
IEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcDogUmVtb3ZlZC4KKyAgICAgICAg
KiBkZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaDogUmVtb3ZlZC4KKyAgICAgICAgKiBkZWJ1
Z2dlci9EZWJ1Z2dlclNjb3BlLmNwcDogQ29waWVkIGZyb20gLi4vLi4vdHJ1bmsvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHAuCisgICAgICAgIChK
U0M6OkRlYnVnZ2VyU2NvcGU6OkRlYnVnZ2VyU2NvcGUpOgorICAgICAgICAoSlNDOjpEZWJ1Z2dl
clNjb3BlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyU2NvcGU6OnZp
c2l0Q2hpbGRyZW4pOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlclNjb3BlOjpjbGFzc05hbWUpOgor
ICAgICAgICAoSlNDOjpEZWJ1Z2dlclNjb3BlOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAg
ICAoSlNDOjpEZWJ1Z2dlclNjb3BlOjpwdXQpOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlclNjb3Bl
OjpkZWxldGVQcm9wZXJ0eSk6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyU2NvcGU6OmdldE93blBy
b3BlcnR5TmFtZXMpOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlclNjb3BlOjpkZWZpbmVPd25Qcm9w
ZXJ0eSk6CisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6RGVidWdnZXJBY3RpdmF0
aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpmaW5pc2hD
cmVhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6dmlz
aXRDaGlsZHJlbik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6
Y2xhc3NOYW1lKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9uOjpn
ZXRPd25Qcm9wZXJ0eVNsb3QpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2
YXRpb246OnB1dCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkRlYnVnZ2VyQWN0aXZhdGlvbjo6
ZGVsZXRlUHJvcGVydHkpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2YXRp
b246OmdldE93blByb3BlcnR5TmFtZXMpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpEZWJ1Z2dl
ckFjdGl2YXRpb246OmRlZmluZU93blByb3BlcnR5KTogRGVsZXRlZC4KKyAgICAgICAgKiBkZWJ1
Z2dlci9EZWJ1Z2dlclNjb3BlLmg6IENvcGllZCBmcm9tIC4uLy4uL3RydW5rL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaC4KKyAgICAgICAgKEpTQzo6
RGVidWdnZXJTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKEpTQzo6RGVidWdnZXJBY3RpdmF0aW9u
OjpjcmVhdGUpOiBEZWxldGVkLgorICAgICAgICAqIHJ1bnRpbWUvVk0uY3BwOgorICAgICAgICAo
SlNDOjpWTTo6Vk0pOgorICAgICAgICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxNC0wNi0yNCAgRmls
aXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFtmdGxvcHRdIFB1dEJ5SWRG
bHVzaCBjYW4gYWxzbyBiZSBjb252ZXJ0ZWQgdG8gYSBQdXRCeU9mZnNldCBzbyBkb24ndCBhc3Nl
cnQgb3RoZXJ3aXNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZp
c2lvbiAxNzAzOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTEwMyw4ICsxMDMsOCBAQCBzZXQoSmF2YVNjcmlwdENvcmVfU09VUkNF
UwogICAgIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCiAKICAgICBkZWJ1Z2dlci9EZWJ1
Z2dlci5jcHAKLSAgICBkZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwCiAgICAgZGVidWdn
ZXIvRGVidWdnZXJDYWxsRnJhbWUuY3BwCisgICAgZGVidWdnZXIvRGVidWdnZXJTY29wZS5jcHAK
IAogICAgIGRmZy9ERkdBYnN0cmFjdEhlYXAuY3BwCiAgICAgZGZnL0RGR0Fic3RyYWN0VmFsdWUu
Y3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9K
YXZhU2NyaXB0Q29yZS52Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHJldmlzaW9u
IDE3MDM5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTM1NSw4ICszNTUsOCBA
QAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYnl0ZWNvbXBpbGVyXEJ5dGVjb2RlR2VuZXJh
dG9yLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJ5dGVjb21waWxlclxOb2Rl
c0NvZGVnZW4uY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcRGVi
dWdnZXIuY3BwIiAvPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcRGVidWdn
ZXJBY3RpdmF0aW9uLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRlYnVnZ2Vy
XERlYnVnZ2VyQ2FsbEZyYW1lLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRl
YnVnZ2VyXERlYnVnZ2VyU2NvcGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
ZGZnXERGR0Fic3RyYWN0SGVhcC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxk
ZmdcREZHQWJzdHJhY3RWYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxk
ZmdcREZHQXJndW1lbnRzU2ltcGxpZmljYXRpb25QaGFzZS5jcHAiIC8+CkBAIC05MDYsOSArOTA2
LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGNvbmZpZy5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcQnJlYWtwb2ludC5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcRGVidWdnZXIuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyQWN0aXZhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcRGVidWdnZXJDYWxsRnJhbWUuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyUHJpbWl0aXZlcy5oIiAvPgorICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGVidWdnZXJcRGVidWdnZXJTY29wZS5oIiAvPgogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0SGVhcC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oIiAvPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ouZmlsdGVycwkocmV2aXNpb24gMTcwMzkyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDcsMTAgKzIwNywxMCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cZGVidWdnZXJcRGVidWdnZXIuY3BwIj4KICAgICAgIDxGaWx0ZXI+ZGVidWdnZXI8L0ZpbHRl
cj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRlYnVnZ2Vy
XERlYnVnZ2VyQWN0aXZhdGlvbi5jcHAiPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGVi
dWdnZXJcRGVidWdnZXJDYWxsRnJhbWUuY3BwIj4KICAgICAgIDxGaWx0ZXI+ZGVidWdnZXI8L0Zp
bHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRlYnVn
Z2VyXERlYnVnZ2VyQ2FsbEZyYW1lLmNwcCI+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxk
ZWJ1Z2dlclxEZWJ1Z2dlclNjb3BlLmNwcCI+CiAgICAgICA8RmlsdGVyPmRlYnVnZ2VyPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkaXNhc3Nl
bWJsZXJcRGlzYXNzZW1ibGVyLmNwcCI+CkBAIC0xNjQ2LDE1ICsxNjQ2LDE1IEBACiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZWJ1Z2dlclxEZWJ1Z2dlci5oIj4KICAgICAgIDxGaWx0ZXI+
ZGVidWdnZXI8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyQWN0aXZhdGlvbi5oIj4KLSAgICAgIDxGaWx0ZXI+ZGVi
dWdnZXI8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGRlYnVnZ2VyXERlYnVnZ2VyQ2FsbEZyYW1lLmgiPgogICAgICAgPEZpbHRlcj5kZWJ1Z2dl
cjwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
ZGVidWdnZXJcRGVidWdnZXJQcmltaXRpdmVzLmgiPgogICAgICAgPEZpbHRlcj5kZWJ1Z2dlcjwv
RmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGVi
dWdnZXJcRGVidWdnZXJTY29wZS5oIj4KKyAgICAgIDxGaWx0ZXI+ZGVidWdnZXI8L0ZpbHRlcj4K
KyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdEcml2
ZXIuaCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE3MDM5MikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTU3LDggKzE5NTcsOCBAQAogCQlCQzE4QzUyRTBFMTZGQ0Ux
MDBCMzQ0NjAgLyogTGV4ZXIubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzE4QzUyRDBFMTZGQ0UxMDBCMzQ0NjAgLyogTGV4ZXIubHV0LmggKi87
IH07CiAJCUJDMjU3REU4MEUxRjUxQzUwMDE2QjZDOSAvKiBBcmd1bWVudHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjU3REU2MEUxRjUxQzUwMDE2
QjZDOSAvKiBBcmd1bWVudHMuaCAqLzsgfTsKIAkJQkMzMDQ2MDcwRTFGNDk3RjAwMzIzMkNGIC8q
IEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzMwNDYwNjBFMUY0OTdGMDAzMjMyQ0YgLyogRXJyb3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQzMxMzU2NDBGMzAyRkEzMDAzREZEM0EgLyog
RGVidWdnZXJBY3RpdmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzMxMzU2MjBGMzAyRkEzMDAzREZEM0EgLyogRGVidWdnZXJBY3RpdmF0aW9u
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkMz
MTM1NjUwRjMwMkZBMzAwM0RGRDNBIC8qIERlYnVnZ2VyQWN0aXZhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzMxMzU2MzBGMzAyRkEzMDAz
REZEM0EgLyogRGVidWdnZXJBY3RpdmF0aW9uLmNwcCAqLzsgfTsKKwkJQkMzMTM1NjQwRjMwMkZB
MzAwM0RGRDNBIC8qIERlYnVnZ2VyU2NvcGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDMzEzNTYyMEYzMDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlclNj
b3BlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
QkMzMTM1NjUwRjMwMkZBMzAwM0RGRDNBIC8qIERlYnVnZ2VyU2NvcGUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzMTM1NjMwRjMwMkZBMzAwM0RG
RDNBIC8qIERlYnVnZ2VyU2NvcGUuY3BwICovOyB9OwogCQlCQzZBQUFFNTBFMUY0MjY1MDBBRDg3
RDggLyogQ2xhc3NJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzZBQUFFNDBFMUY0MjY1MDBBRDg3RDggLyogQ2xhc3NJbmZvLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3NTZGQzkwRTIwMzFC
MjAwREU3RDEyIC8qIEpTR2xvYmFsT2JqZWN0RnVuY3Rpb25zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc1NkZDNzBFMjAzMUIyMDBERTdEMTIgLyog
SlNHbG9iYWxPYmplY3RGdW5jdGlvbnMuaCAqLzsgfTsKIAkJQkM4N0NEQjkxMDcxMkFENDAwMDYx
NENGIC8qIEpTT05PYmplY3QubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzg3Q0RCODEwNzEyQUNBMDAwNjE0Q0YgLyogSlNPTk9iamVjdC5sdXQu
aCAqLzsgfTsKQEAgLTM1NzQsOCArMzU3NCw4IEBACiAJCUJDMjY4MEM5MEUxNkQ0RTkwMEEwNkU5
MiAvKiBPYmplY3RQcm90b3R5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
T2JqZWN0UHJvdG90eXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMjY4MEU2
MEUxNkQ1MjMwMEEwNkU5MiAvKiBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTnVtYmVyQ29uc3RydWN0b3IubHV0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUJDMzA0NjA2MEUxRjQ5N0YwMDMyMzJDRiAvKiBFcnJvci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlCQzMxMzU2MjBGMzAyRkEzMDAzREZEM0EgLyogRGVidWdnZXJBY3RpdmF0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyQWN0aXZhdGlv
bi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzMxMzU2MzBGMzAyRkEzMDAzREZE
M0EgLyogRGVidWdnZXJBY3RpdmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERlYnVnZ2VyQWN0aXZhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUJDMzEzNTYyMEYzMDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlclNjb3BlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERlYnVnZ2VyU2NvcGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQkMzMTM1NjMwRjMwMkZBMzAwM0RGRDNBIC8qIERlYnVnZ2VyU2Nv
cGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGVidWdnZXJTY29w
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMzM3QkRFMEUxQUYwQjgwMDc2
OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2V0dGVyU2V0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMzM3QkVBMEUx
QjAwQ0IwMDc2OTE4QSAvKiBFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNkFBQUU0
MEUxRjQyNjUwMEFEODdEOCAvKiBDbGFzc0luZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ2xhc3NJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NDEy
LDExICs0NDEyLDExIEBACiAJCQkJRkVBMDg2MUUxODJCN0EwNDAwRjZEODUxIC8qIEJyZWFrcG9p
bnQuaCAqLywKIAkJCQlGNjkyQTg1ODAyNTU1OTdEMDFGRjYwRjcgLyogRGVidWdnZXIuY3BwICov
LAogCQkJCUY2OTJBODU5MDI1NTU5N0QwMUZGNjBGNyAvKiBEZWJ1Z2dlci5oICovLAotCQkJCUJD
MzEzNTYzMEYzMDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlckFjdGl2YXRpb24uY3BwICovLAotCQkJ
CUJDMzEzNTYyMEYzMDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlckFjdGl2YXRpb24uaCAqLywKIAkJ
CQkxNDk1NTlFRDBERENEREY3MDA2NDgwODcgLyogRGVidWdnZXJDYWxsRnJhbWUuY3BwICovLAog
CQkJCTE0ODBEQjlCMEREQzIyN0YwMDNDRkRGMiAvKiBEZWJ1Z2dlckNhbGxGcmFtZS5oICovLAog
CQkJCUZFQTA4NjFGMTgyQjdBMDQwMEY2RDg1MSAvKiBEZWJ1Z2dlclByaW1pdGl2ZXMuaCAqLywK
KwkJCQlCQzMxMzU2MzBGMzAyRkEzMDAzREZEM0EgLyogRGVidWdnZXJTY29wZS5jcHAgKi8sCisJ
CQkJQkMzMTM1NjIwRjMwMkZBMzAwM0RGRDNBIC8qIERlYnVnZ2VyU2NvcGUuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gZGVidWdnZXI7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNjAw
MCw5ICs2MDAwLDkgQEAKIAkJCQlCQ0QyMDM0QzBFMTcxMzVFMDAyQzdFODIgLyogRGF0ZVByb3Rv
dHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEMjAzRTgwRTE3MThGNDAwMkM3RTgyIC8qIERh
dGVQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzNGQTBFMTZGNUNEMDBC
MzQ0NjAgLyogRGVidWdnZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDMzEzNTY0MEYzMDJGQTMw
MDNERkQzQSAvKiBEZWJ1Z2dlckFjdGl2YXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThD
M0ZCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBEZWJ1Z2dlckNhbGxGcmFtZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkVBMDg2MjExODJCN0EwNDAwRjZEODUxIC8qIERlYnVnZ2VyUHJpbWl0aXZlcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQkMzMTM1NjQwRjMwMkZBMzAwM0RGRDNBIC8qIERlYnVnZ2VyU2Nv
cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGMTM2RDREMTc0QUQ2OUUwMDc1QjM1NCAvKiBEZWZl
ckdDLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkM3MTJERjE3Q0Q4NzdDMDA4Q0M5M0MgLyogRGVm
ZXJyZWRDb21waWxhdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQkyQTI4MjVEMDE4
MzQxRjJEMDA4N0ZCQTkgLyogRGVsYXllZFJlbGVhc2VTY29wZS5oIGluIEhlYWRlcnMgKi8sCkBA
IC03NjAwLDggKzc2MDAsOCBAQAogCQkJCTE0N0YzOUM1MTA3RUMzNzYwMDQyN0E0OCAvKiBEYXRl
SW5zdGFuY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5QzYxMDdFQzM3NjAwNDI3QTQ4
IC8qIERhdGVQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4MjMxMDdFQzAy
QzAwMTNFN0IyIC8qIERlYnVnZ2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDMzEzNTY1MEYz
MDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlckFjdGl2YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMTQ5NTU5RUUwRERDRERGNzAwNjQ4MDg3IC8qIERlYnVnZ2VyQ2FsbEZyYW1lLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUJDMzEzNTY1MEYzMDJGQTMwMDNERkQzQSAvKiBEZWJ1Z2dlclNjb3Bl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJBN0E1OEVGMTgwOEE0QzQwMDIwQkRGNyAvKiBEZWZl
ckdDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGQzcxMkRFMTdDRDg3NzkwMDhDQzkzQyAvKiBE
ZWZlcnJlZENvbXBpbGF0aW9uQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTc3QTQy
M0QxN0EwQkJGRDAwQThEQjgxIC8qIERGR0Fic3RyYWN0SGVhcC5jcHAgaW4gU291cmNlcyAqLywK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dl
ckFjdGl2YXRpb24uY3BwCShyZXZpc2lvbiAxNzAzOTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw5
OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZWJ1Z2dlckFjdGl2YXRpb24u
aCIKLQotI2luY2x1ZGUgIkpTQWN0aXZhdGlvbi5oIgotI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIK
LQotbmFtZXNwYWNlIEpTQyB7Ci0KLVNUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RFU1RSVUNU
SUJMRShEZWJ1Z2dlckFjdGl2YXRpb24pOwotCi1jb25zdCBDbGFzc0luZm8gRGVidWdnZXJBY3Rp
dmF0aW9uOjpzX2luZm8gPSB7ICJEZWJ1Z2dlckFjdGl2YXRpb24iLCAmQmFzZTo6c19pbmZvLCAw
LCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKERlYnVnZ2VyQWN0aXZhdGlvbikgfTsKLQotRGVidWdn
ZXJBY3RpdmF0aW9uOjpEZWJ1Z2dlckFjdGl2YXRpb24oVk0mIHZtKQotICAgIDogSlNOb25GaW5h
bE9iamVjdCh2bSwgdm0uZGVidWdnZXJBY3RpdmF0aW9uU3RydWN0dXJlLmdldCgpKQotewotfQot
Ci12b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVj
dCogYWN0aXZhdGlvbikKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgQVNT
RVJUKGFjdGl2YXRpb24pOwotICAgIEFTU0VSVChhY3RpdmF0aW9uLT5pc0FjdGl2YXRpb25PYmpl
Y3QoKSk7Ci0gICAgbV9hY3RpdmF0aW9uLnNldCh2bSwgdGhpcywganNDYXN0PEpTQWN0aXZhdGlv
bio+KGFjdGl2YXRpb24pKTsKLX0KLQotdm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OnZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKLXsKLSAgICBEZWJ1Z2dl
ckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJBY3RpdmF0aW9uKj4oY2Vs
bCk7Ci0gICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZvKCkpOwot
ICAgIENPTVBJTEVfQVNTRVJUKFN0cnVjdHVyZUZsYWdzICYgT3ZlcnJpZGVzVmlzaXRDaGlsZHJl
biwgT3ZlcnJpZGVzVmlzaXRDaGlsZHJlbldpdGhvdXRTZXR0aW5nRmxhZyk7Ci0gICAgQVNTRVJU
KHRoaXNPYmplY3QtPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm92ZXJyaWRlc1Zpc2l0Q2hpbGRy
ZW4oKSk7Ci0KLSAgICBKU09iamVjdDo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9y
KTsKLSAgICB2aXNpdG9yLmFwcGVuZCgmdGhpc09iamVjdC0+bV9hY3RpdmF0aW9uKTsKLX0KLQot
U3RyaW5nIERlYnVnZ2VyQWN0aXZhdGlvbjo6Y2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0KiBvYmpl
Y3QpCi17Ci0gICAgY29uc3QgRGVidWdnZXJBY3RpdmF0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PGNvbnN0IERlYnVnZ2VyQWN0aXZhdGlvbio+KG9iamVjdCk7Ci0gICAgcmV0dXJuIHRoaXNPYmpl
Y3QtPm1fYWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRoaXNPYmplY3QtPm1f
YWN0aXZhdGlvbi5nZXQoKSk7Ci19Ci0KLWJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpnZXRPd25Q
cm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5h
bWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCi17Ci0gICAgRGVidWdnZXJBY3Rp
dmF0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+KG9iamVjdCk7
Ci0gICAgcmV0dXJuIHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+Z2V0
T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywgcHJv
cGVydHlOYW1lLCBzbG90KTsKLX0KLQotdm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OnB1dChKU0Nl
bGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KQotewotICAgIERlYnVnZ2VyQWN0aXZh
dGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxsKTsKLSAg
ICB0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPnB1dCh0aGlzT2JqZWN0
LT5tX2FjdGl2YXRpb24uZ2V0KCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpOwot
fQotCi1ib29sIERlYnVnZ2VyQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxs
LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgRGVi
dWdnZXJBY3RpdmF0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+
KGNlbGwpOwotICAgIHJldHVybiB0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24tPm1ldGhvZFRhYmxl
KCktPmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywg
cHJvcGVydHlOYW1lKTsKLX0KLQotdm9pZCBEZWJ1Z2dlckFjdGl2YXRpb246OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVB
cnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCi17Ci0gICAgRGVidWdn
ZXJBY3RpdmF0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+KG9i
amVjdCk7Ci0gICAgdGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLT5tZXRob2RUYWJsZSgpLT5nZXRQ
cm9wZXJ0eU5hbWVzKHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywgcHJvcGVy
dHlOYW1lcywgbW9kZSk7Ci19Ci0KLWJvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWZpbmVPd25Q
cm9wZXJ0eShKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUsIGNvbnN0IFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBz
aG91bGRUaHJvdykKLXsKLSAgICBEZWJ1Z2dlckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nh
c3Q8RGVidWdnZXJBY3RpdmF0aW9uKj4ob2JqZWN0KTsKLSAgICByZXR1cm4gdGhpc09iamVjdC0+
bV9hY3RpdmF0aW9uLT5tZXRob2RUYWJsZSgpLT5kZWZpbmVPd25Qcm9wZXJ0eSh0aGlzT2JqZWN0
LT5tX2FjdGl2YXRpb24uZ2V0KCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvciwgc2hv
dWxkVGhyb3cpOwotfQotCi19IC8vIG5hbWVzcGFjZSBKU0MKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgJKHJldmlzaW9u
IDE3MDM5MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2
YXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMSw3MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgRGVidWdnZXJBY3Rp
dmF0aW9uX2gKLSNkZWZpbmUgRGVidWdnZXJBY3RpdmF0aW9uX2gKLQotI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCi0KLW5hbWVzcGFjZSBKU0MgewotCi1jbGFzcyBEZWJ1Z2dlckFjdGl2YXRpb24gOiBw
dWJsaWMgSlNOb25GaW5hbE9iamVjdCB7Ci1wdWJsaWM6Ci0gICAgdHlwZWRlZiBKU05vbkZpbmFs
T2JqZWN0IEJhc2U7Ci0KLSAgICBzdGF0aWMgRGVidWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoVk0m
IHZtLCBKU09iamVjdCogb2JqZWN0KQotICAgIHsKLSAgICAgICAgRGVidWdnZXJBY3RpdmF0aW9u
KiBhY3RpdmF0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0
aW9uPih2bS5oZWFwKSkgRGVidWdnZXJBY3RpdmF0aW9uKHZtKTsKLSAgICAgICAgYWN0aXZhdGlv
bi0+ZmluaXNoQ3JlYXRpb24odm0sIG9iamVjdCk7Ci0gICAgICAgIHJldHVybiBhY3RpdmF0aW9u
OwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDZWxsKiwgU2xvdFZp
c2l0b3ImKTsKLSAgICBzdGF0aWMgU3RyaW5nIGNsYXNzTmFtZShjb25zdCBKU09iamVjdCopOwot
ICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7Ci0gICAgc3RhdGljIHZvaWQgcHV0KEpTQ2Vs
bCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgUHV0UHJvcGVydHlTbG90Jik7
Ci0gICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lKTsKLSAgICBzdGF0aWMgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0
KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUpOwotICAg
IHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3ImLCBib29sIHNob3VsZFRocm93KTsK
LQotICAgIERFQ0xBUkVfRVhQT1JUX0lORk87Ci0KLSAgICBzdGF0aWMgU3RydWN0dXJlKiBjcmVh
dGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVl
IHByb3RvdHlwZSkgCi0gICAgewotICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0s
IGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7IAotICAgIH0KLQotcHJvdGVjdGVkOgotICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8IE92
ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBKU09iamVjdDo6U3RydWN0dXJlRmxhZ3M7Ci0KLSAgICBK
U19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNPYmplY3QqIGFjdGl2
YXRpb24pOwotCi1wcml2YXRlOgotICAgIEpTX0VYUE9SVF9QUklWQVRFIERlYnVnZ2VyQWN0aXZh
dGlvbihWTSYpOwotICAgIFdyaXRlQmFycmllcjxKU0FjdGl2YXRpb24+IG1fYWN0aXZhdGlvbjsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIEpTQwotCi0jZW5kaWYgLy8gRGVidWdnZXJBY3RpdmF0aW9u
X2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlclNjb3BlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJT
Y29wZS5jcHAJKHJldmlzaW9uIDE3MDM5MikJKGZyb20gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rl
YnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5jcHA6MTcwMzkyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAg
KzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRlYnVnZ2VyQWN0aXZhdGlvbi5o
IgorCisjaW5jbHVkZSAiSlNBY3RpdmF0aW9uLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgor
CituYW1lc3BhY2UgSlNDIHsKKworU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJ
QkxFKERlYnVnZ2VyQWN0aXZhdGlvbik7CisKK2NvbnN0IENsYXNzSW5mbyBEZWJ1Z2dlckFjdGl2
YXRpb246OnNfaW5mbyA9IHsgIkRlYnVnZ2VyQWN0aXZhdGlvbiIsICZCYXNlOjpzX2luZm8sIDAs
IDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRGVidWdnZXJBY3RpdmF0aW9uKSB9OworCitEZWJ1Z2dl
ckFjdGl2YXRpb246OkRlYnVnZ2VyQWN0aXZhdGlvbihWTSYgdm0pCisgICAgOiBKU05vbkZpbmFs
T2JqZWN0KHZtLCB2bS5kZWJ1Z2dlckFjdGl2YXRpb25TdHJ1Y3R1cmUuZ2V0KCkpCit7Cit9CisK
K3ZvaWQgRGVidWdnZXJBY3RpdmF0aW9uOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTT2JqZWN0
KiBhY3RpdmF0aW9uKQoreworICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBBU1NF
UlQoYWN0aXZhdGlvbik7CisgICAgQVNTRVJUKGFjdGl2YXRpb24tPmlzQWN0aXZhdGlvbk9iamVj
dCgpKTsKKyAgICBtX2FjdGl2YXRpb24uc2V0KHZtLCB0aGlzLCBqc0Nhc3Q8SlNBY3RpdmF0aW9u
Kj4oYWN0aXZhdGlvbikpOworfQorCit2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6dmlzaXRDaGls
ZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIERlYnVnZ2Vy
QWN0aXZhdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxs
KTsKKyAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7Cisg
ICAgQ09NUElMRV9BU1NFUlQoU3RydWN0dXJlRmxhZ3MgJiBPdmVycmlkZXNWaXNpdENoaWxkcmVu
LCBPdmVycmlkZXNWaXNpdENoaWxkcmVuV2l0aG91dFNldHRpbmdGbGFnKTsKKyAgICBBU1NFUlQo
dGhpc09iamVjdC0+c3RydWN0dXJlKCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJl
bigpKTsKKworICAgIEpTT2JqZWN0Ojp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3Ip
OworICAgIHZpc2l0b3IuYXBwZW5kKCZ0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24pOworfQorCitT
dHJpbmcgRGVidWdnZXJBY3RpdmF0aW9uOjpjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqIG9iamVj
dCkKK3sKKyAgICBjb25zdCBEZWJ1Z2dlckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8
Y29uc3QgRGVidWdnZXJBY3RpdmF0aW9uKj4ob2JqZWN0KTsKKyAgICByZXR1cm4gdGhpc09iamVj
dC0+bV9hY3RpdmF0aW9uLT5tZXRob2RUYWJsZSgpLT5jbGFzc05hbWUodGhpc09iamVjdC0+bV9h
Y3RpdmF0aW9uLmdldCgpKTsKK30KKworYm9vbCBEZWJ1Z2dlckFjdGl2YXRpb246OmdldE93blBy
b3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFt
ZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkKK3sKKyAgICBEZWJ1Z2dlckFjdGl2
YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJBY3RpdmF0aW9uKj4ob2JqZWN0KTsK
KyAgICByZXR1cm4gdGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLT5tZXRob2RUYWJsZSgpLT5nZXRP
d25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLmdldCgpLCBleGVjLCBwcm9w
ZXJ0eU5hbWUsIHNsb3QpOworfQorCit2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6cHV0KEpTQ2Vs
bCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1Zh
bHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpCit7CisgICAgRGVidWdnZXJBY3RpdmF0
aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+KGNlbGwpOworICAg
IHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+cHV0KHRoaXNPYmplY3Qt
Pm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7Cit9
CisKK2Jvb2wgRGVidWdnZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGws
IEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3sKKyAgICBEZWJ1
Z2dlckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJBY3RpdmF0aW9uKj4o
Y2VsbCk7CisgICAgcmV0dXJuIHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi0+bWV0aG9kVGFibGUo
KS0+ZGVsZXRlUHJvcGVydHkodGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLmdldCgpLCBleGVjLCBw
cm9wZXJ0eU5hbWUpOworfQorCit2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6Z2V0T3duUHJvcGVy
dHlOYW1lcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZUFy
cmF5JiBwcm9wZXJ0eU5hbWVzLCBFbnVtZXJhdGlvbk1vZGUgbW9kZSkKK3sKKyAgICBEZWJ1Z2dl
ckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJBY3RpdmF0aW9uKj4ob2Jq
ZWN0KTsKKyAgICB0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPmdldFBy
b3BlcnR5TmFtZXModGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLmdldCgpLCBleGVjLCBwcm9wZXJ0
eU5hbWVzLCBtb2RlKTsKK30KKworYm9vbCBEZWJ1Z2dlckFjdGl2YXRpb246OmRlZmluZU93blBy
b3BlcnR5KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNo
b3VsZFRocm93KQoreworICAgIERlYnVnZ2VyQWN0aXZhdGlvbiogdGhpc09iamVjdCA9IGpzQ2Fz
dDxEZWJ1Z2dlckFjdGl2YXRpb24qPihvYmplY3QpOworICAgIHJldHVybiB0aGlzT2JqZWN0LT5t
X2FjdGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPmRlZmluZU93blByb3BlcnR5KHRoaXNPYmplY3Qt
Pm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBzaG91
bGRUaHJvdyk7Cit9CisKK30gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlclNjb3BlLmNwcAkod29ya2luZyBjb3B5KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAw
OSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgt
MjAwOSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI0LDIzICsyNCwyMyBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJEZWJ1Z2dlckFjdGl2YXRpb24uaCIKKyNpbmNsdWRlICJEZWJ1
Z2dlclNjb3BlLmgiCiAKICNpbmNsdWRlICJKU0FjdGl2YXRpb24uaCIKICNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCiAKIG5hbWVzcGFjZSBKU0MgewogCi1TVEFUSUNfQVNTRVJUX0lTX1RSSVZJQUxM
WV9ERVNUUlVDVElCTEUoRGVidWdnZXJBY3RpdmF0aW9uKTsKK1NUQVRJQ19BU1NFUlRfSVNfVFJJ
VklBTExZX0RFU1RSVUNUSUJMRShEZWJ1Z2dlclNjb3BlKTsKIAotY29uc3QgQ2xhc3NJbmZvIERl
YnVnZ2VyQWN0aXZhdGlvbjo6c19pbmZvID0geyAiRGVidWdnZXJBY3RpdmF0aW9uIiwgJkJhc2U6
OnNfaW5mbywgMCwgMCwgQ1JFQVRFX01FVEhPRF9UQUJMRShEZWJ1Z2dlckFjdGl2YXRpb24pIH07
Citjb25zdCBDbGFzc0luZm8gRGVidWdnZXJTY29wZTo6c19pbmZvID0geyAiRGVidWdnZXJTY29w
ZSIsICZCYXNlOjpzX2luZm8sIDAsIDAsIENSRUFURV9NRVRIT0RfVEFCTEUoRGVidWdnZXJTY29w
ZSkgfTsKIAotRGVidWdnZXJBY3RpdmF0aW9uOjpEZWJ1Z2dlckFjdGl2YXRpb24oVk0mIHZtKQot
ICAgIDogSlNOb25GaW5hbE9iamVjdCh2bSwgdm0uZGVidWdnZXJBY3RpdmF0aW9uU3RydWN0dXJl
LmdldCgpKQorRGVidWdnZXJTY29wZTo6RGVidWdnZXJTY29wZShWTSYgdm0pCisgICAgOiBKU05v
bkZpbmFsT2JqZWN0KHZtLCB2bS5kZWJ1Z2dlclNjb3BlU3RydWN0dXJlLmdldCgpKQogewogfQog
Ci12b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU09iamVj
dCogYWN0aXZhdGlvbikKK3ZvaWQgRGVidWdnZXJTY29wZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZt
LCBKU09iamVjdCogYWN0aXZhdGlvbikKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7
CiAgICAgQVNTRVJUKGFjdGl2YXRpb24pOwpAQCAtNDgsOSArNDgsOSBAQCB2b2lkIERlYnVnZ2Vy
QWN0aXZhdGlvbjo6ZmluaXNoQ3JlYXRpb24oCiAgICAgbV9hY3RpdmF0aW9uLnNldCh2bSwgdGhp
cywganNDYXN0PEpTQWN0aXZhdGlvbio+KGFjdGl2YXRpb24pKTsKIH0KIAotdm9pZCBEZWJ1Z2dl
ckFjdGl2YXRpb246OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlz
aXRvcikKK3ZvaWQgRGVidWdnZXJTY29wZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogewotICAgIERlYnVnZ2VyQWN0aXZhdGlvbiogdGhpc09iamVj
dCA9IGpzQ2FzdDxEZWJ1Z2dlckFjdGl2YXRpb24qPihjZWxsKTsKKyAgICBEZWJ1Z2dlclNjb3Bl
KiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyU2NvcGUqPihjZWxsKTsKICAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CiAgICAgQ09NUElMRV9BU1NF
UlQoU3RydWN0dXJlRmxhZ3MgJiBPdmVycmlkZXNWaXNpdENoaWxkcmVuLCBPdmVycmlkZXNWaXNp
dENoaWxkcmVuV2l0aG91dFNldHRpbmdGbGFnKTsKICAgICBBU1NFUlQodGhpc09iamVjdC0+c3Ry
dWN0dXJlKCktPnR5cGVJbmZvKCkub3ZlcnJpZGVzVmlzaXRDaGlsZHJlbigpKTsKQEAgLTU5LDM5
ICs1OSwzOSBAQCB2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6dmlzaXRDaGlsZHJlbihKCiAgICAg
dmlzaXRvci5hcHBlbmQoJnRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbik7CiB9CiAKLVN0cmluZyBE
ZWJ1Z2dlckFjdGl2YXRpb246OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0KQorU3Ry
aW5nIERlYnVnZ2VyU2NvcGU6OmNsYXNzTmFtZShjb25zdCBKU09iamVjdCogb2JqZWN0KQogewot
ICAgIGNvbnN0IERlYnVnZ2VyQWN0aXZhdGlvbiogdGhpc09iamVjdCA9IGpzQ2FzdDxjb25zdCBE
ZWJ1Z2dlckFjdGl2YXRpb24qPihvYmplY3QpOworICAgIGNvbnN0IERlYnVnZ2VyU2NvcGUqIHRo
aXNPYmplY3QgPSBqc0Nhc3Q8Y29uc3QgRGVidWdnZXJTY29wZSo+KG9iamVjdCk7CiAgICAgcmV0
dXJuIHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+Y2xhc3NOYW1lKHRo
aXNPYmplY3QtPm1fYWN0aXZhdGlvbi5nZXQoKSk7CiB9CiAKLWJvb2wgRGVidWdnZXJBY3RpdmF0
aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCitib29sIERl
YnVnZ2VyU2NvcGU6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3Rh
dGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xvdCkK
IHsKLSAgICBEZWJ1Z2dlckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJB
Y3RpdmF0aW9uKj4ob2JqZWN0KTsKKyAgICBEZWJ1Z2dlclNjb3BlKiB0aGlzT2JqZWN0ID0ganND
YXN0PERlYnVnZ2VyU2NvcGUqPihvYmplY3QpOwogICAgIHJldHVybiB0aGlzT2JqZWN0LT5tX2Fj
dGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPmdldE93blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LT5t
X2FjdGl2YXRpb24uZ2V0KCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLXZvaWQg
RGVidWdnZXJBY3RpdmF0aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFBy
b3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIFB1dFByb3BlcnR5U2xvdCYg
c2xvdCkKK3ZvaWQgRGVidWdnZXJTY29wZTo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBl
eGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0
eVNsb3QmIHNsb3QpCiB7Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9uKiB0aGlzT2JqZWN0ID0ganND
YXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+KGNlbGwpOworICAgIERlYnVnZ2VyU2NvcGUqIHRoaXNP
YmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJTY29wZSo+KGNlbGwpOwogICAgIHRoaXNPYmplY3QtPm1f
YWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+cHV0KHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5n
ZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLWJvb2wgRGVidWdn
ZXJBY3RpdmF0aW9uOjpkZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK2Jvb2wgRGVidWdnZXJTY29wZTo6ZGVsZXRl
UHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZXJ0eU5hbWUpCiB7Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9uKiB0aGlzT2JqZWN0ID0ganNDYXN0
PERlYnVnZ2VyQWN0aXZhdGlvbio+KGNlbGwpOworICAgIERlYnVnZ2VyU2NvcGUqIHRoaXNPYmpl
Y3QgPSBqc0Nhc3Q8RGVidWdnZXJTY29wZSo+KGNlbGwpOwogICAgIHJldHVybiB0aGlzT2JqZWN0
LT5tX2FjdGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPmRlbGV0ZVByb3BlcnR5KHRoaXNPYmplY3Qt
Pm1fYWN0aXZhdGlvbi5nZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lKTsKIH0KIAotdm9pZCBEZWJ1
Z2dlckFjdGl2YXRpb246OmdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqIG9iamVjdCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVydHlOYW1lcywgRW51bWVyYXRp
b25Nb2RlIG1vZGUpCit2b2lkIERlYnVnZ2VyU2NvcGU6OmdldE93blByb3BlcnR5TmFtZXMoSlNP
YmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWVBcnJheSYgcHJvcGVy
dHlOYW1lcywgRW51bWVyYXRpb25Nb2RlIG1vZGUpCiB7Ci0gICAgRGVidWdnZXJBY3RpdmF0aW9u
KiB0aGlzT2JqZWN0ID0ganNDYXN0PERlYnVnZ2VyQWN0aXZhdGlvbio+KG9iamVjdCk7CisgICAg
RGVidWdnZXJTY29wZSogdGhpc09iamVjdCA9IGpzQ2FzdDxEZWJ1Z2dlclNjb3BlKj4ob2JqZWN0
KTsKICAgICB0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24tPm1ldGhvZFRhYmxlKCktPmdldFByb3Bl
cnR5TmFtZXModGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLmdldCgpLCBleGVjLCBwcm9wZXJ0eU5h
bWVzLCBtb2RlKTsKIH0KIAotYm9vbCBEZWJ1Z2dlckFjdGl2YXRpb246OmRlZmluZU93blByb3Bl
cnR5KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSwgY29uc3QgUHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNob3Vs
ZFRocm93KQorYm9vbCBEZWJ1Z2dlclNjb3BlOjpkZWZpbmVPd25Qcm9wZXJ0eShKU09iamVjdCog
b2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIGNvbnN0
IFByb3BlcnR5RGVzY3JpcHRvciYgZGVzY3JpcHRvciwgYm9vbCBzaG91bGRUaHJvdykKIHsKLSAg
ICBEZWJ1Z2dlckFjdGl2YXRpb24qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8RGVidWdnZXJBY3RpdmF0
aW9uKj4ob2JqZWN0KTsKKyAgICBEZWJ1Z2dlclNjb3BlKiB0aGlzT2JqZWN0ID0ganNDYXN0PERl
YnVnZ2VyU2NvcGUqPihvYmplY3QpOwogICAgIHJldHVybiB0aGlzT2JqZWN0LT5tX2FjdGl2YXRp
b24tPm1ldGhvZFRhYmxlKCktPmRlZmluZU93blByb3BlcnR5KHRoaXNPYmplY3QtPm1fYWN0aXZh
dGlvbi5nZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCBzaG91bGRUaHJvdyk7
CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlclNjb3Bl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2Vy
U2NvcGUuaAkocmV2aXNpb24gMTcwMzkyKQkoZnJvbSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVi
dWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmg6MTcwMzkyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZm5kZWYgRGVidWdnZXJBY3RpdmF0aW9uX2gKKyNkZWZpbmUgRGVidWdnZXJBY3RpdmF0aW9u
X2gKKworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBE
ZWJ1Z2dlckFjdGl2YXRpb24gOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CitwdWJsaWM6Cisg
ICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisKKyAgICBzdGF0aWMgRGVidWdnZXJB
Y3RpdmF0aW9uKiBjcmVhdGUoVk0mIHZtLCBKU09iamVjdCogb2JqZWN0KQorICAgIHsKKyAgICAg
ICAgRGVidWdnZXJBY3RpdmF0aW9uKiBhY3RpdmF0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8RGVidWdnZXJBY3RpdmF0aW9uPih2bS5oZWFwKSkgRGVidWdnZXJBY3RpdmF0aW9uKHZt
KTsKKyAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNoQ3JlYXRpb24odm0sIG9iamVjdCk7CisgICAg
ICAgIHJldHVybiBhY3RpdmF0aW9uOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hp
bGRyZW4oSlNDZWxsKiwgU2xvdFZpc2l0b3ImKTsKKyAgICBzdGF0aWMgU3RyaW5nIGNsYXNzTmFt
ZShjb25zdCBKU09iamVjdCopOworICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChK
U09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CisgICAg
c3RhdGljIHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgSlNWYWx1
ZSwgUHV0UHJvcGVydHlTbG90Jik7CisgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBF
bnVtZXJhdGlvbk1vZGUpOworICAgIHN0YXRpYyBib29sIGRlZmluZU93blByb3BlcnR5KEpTT2Jq
ZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eURlc2NyaXB0b3Im
LCBib29sIHNob3VsZFRocm93KTsKKworICAgIERFQ0xBUkVfRVhQT1JUX0lORk87CisKKyAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkgCisgICAgeworICAgICAgICByZXR1cm4g
U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhP
YmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7IAorICAgIH0KKworcHJvdGVjdGVk
OgorICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dl
dE93blByb3BlcnR5U2xvdCB8IE92ZXJyaWRlc1Zpc2l0Q2hpbGRyZW4gfCBKU09iamVjdDo6U3Ry
dWN0dXJlRmxhZ3M7CisKKyAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIGZpbmlzaENyZWF0aW9u
KFZNJiwgSlNPYmplY3QqIGFjdGl2YXRpb24pOworCitwcml2YXRlOgorICAgIEpTX0VYUE9SVF9Q
UklWQVRFIERlYnVnZ2VyQWN0aXZhdGlvbihWTSYpOworICAgIFdyaXRlQmFycmllcjxKU0FjdGl2
YXRpb24+IG1fYWN0aXZhdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYg
Ly8gRGVidWdnZXJBY3RpdmF0aW9uX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1
Z2dlci9EZWJ1Z2dlclNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuaAkod29ya2luZyBjb3B5KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyU2NvcGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDksIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMywyMCArMjMsMjAgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAogICovCiAKLSNpZm5kZWYgRGVi
dWdnZXJBY3RpdmF0aW9uX2gKLSNkZWZpbmUgRGVidWdnZXJBY3RpdmF0aW9uX2gKKyNpZm5kZWYg
RGVidWdnZXJTY29wZV9oCisjZGVmaW5lIERlYnVnZ2VyU2NvcGVfaAogCiAjaW5jbHVkZSAiSlNP
YmplY3QuaCIKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIERlYnVnZ2VyQWN0aXZhdGlvbiA6
IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKK2NsYXNzIERlYnVnZ2VyU2NvcGUgOiBwdWJsaWMg
SlNOb25GaW5hbE9iamVjdCB7CiBwdWJsaWM6CiAgICAgdHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0
IEJhc2U7CiAKLSAgICBzdGF0aWMgRGVidWdnZXJBY3RpdmF0aW9uKiBjcmVhdGUoVk0mIHZtLCBK
U09iamVjdCogb2JqZWN0KQorICAgIHN0YXRpYyBEZWJ1Z2dlclNjb3BlKiBjcmVhdGUoVk0mIHZt
LCBKU09iamVjdCogb2JqZWN0KQogICAgIHsKLSAgICAgICAgRGVidWdnZXJBY3RpdmF0aW9uKiBh
Y3RpdmF0aW9uID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8RGVidWdnZXJBY3RpdmF0aW9u
Pih2bS5oZWFwKSkgRGVidWdnZXJBY3RpdmF0aW9uKHZtKTsKKyAgICAgICAgRGVidWdnZXJTY29w
ZSogYWN0aXZhdGlvbiA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPERlYnVnZ2VyU2NvcGU+
KHZtLmhlYXApKSBEZWJ1Z2dlclNjb3BlKHZtKTsKICAgICAgICAgYWN0aXZhdGlvbi0+ZmluaXNo
Q3JlYXRpb24odm0sIG9iamVjdCk7CiAgICAgICAgIHJldHVybiBhY3RpdmF0aW9uOwogICAgIH0K
QEAgLTYyLDEwICs2MiwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9p
ZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTT2JqZWN0KiBhY3RpdmF0aW9uKTsKIAogcHJpdmF0ZToK
LSAgICBKU19FWFBPUlRfUFJJVkFURSBEZWJ1Z2dlckFjdGl2YXRpb24oVk0mKTsKKyAgICBKU19F
WFBPUlRfUFJJVkFURSBEZWJ1Z2dlclNjb3BlKFZNJik7CiAgICAgV3JpdGVCYXJyaWVyPEpTQWN0
aXZhdGlvbj4gbV9hY3RpdmF0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbmRp
ZiAvLyBEZWJ1Z2dlckFjdGl2YXRpb25faAorI2VuZGlmIC8vIERlYnVnZ2VyU2NvcGVfaApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmNwcAkocmV2aXNpb24gMTcwMzkyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw3ICszOSw3IEBACiAjaW5jbHVkZSAiQ29tbW9uU2xvd1BhdGhzLmgiCiAjaW5jbHVkZSAiREZH
TG9uZ0xpdmVkU3RhdGUuaCIKICNpbmNsdWRlICJERkdXb3JrbGlzdC5oIgotI2luY2x1ZGUgIkRl
YnVnZ2VyQWN0aXZhdGlvbi5oIgorI2luY2x1ZGUgIkRlYnVnZ2VyU2NvcGUuaCIKICNpbmNsdWRl
ICJFcnJvckluc3RhbmNlLmgiCiAjaW5jbHVkZSAiRlRMVGh1bmtzLmgiCiAjaW5jbHVkZSAiRnVu
Y3Rpb25Db25zdHJ1Y3Rvci5oIgpAQCAtMjUxLDcgKzI1MSw3IEBAIFZNOjpWTShWTVR5cGUgdm1U
eXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICBwcm9wZXJ0eU5hbWVzID0gbmV3IENvbW1vbklk
ZW50aWZpZXJzKHRoaXMpOwogICAgIHN0cnVjdHVyZVN0cnVjdHVyZS5zZXQoKnRoaXMsIFN0cnVj
dHVyZTo6Y3JlYXRlU3RydWN0dXJlKCp0aGlzKSk7CiAgICAgc3RydWN0dXJlUmFyZURhdGFTdHJ1
Y3R1cmUuc2V0KCp0aGlzLCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y3JlYXRlU3RydWN0dXJlKCp0aGlz
LCAwLCBqc051bGwoKSkpOwotICAgIGRlYnVnZ2VyQWN0aXZhdGlvblN0cnVjdHVyZS5zZXQoKnRo
aXMsIERlYnVnZ2VyQWN0aXZhdGlvbjo6Y3JlYXRlU3RydWN0dXJlKCp0aGlzLCAwLCBqc051bGwo
KSkpOworICAgIGRlYnVnZ2VyU2NvcGVTdHJ1Y3R1cmUuc2V0KCp0aGlzLCBEZWJ1Z2dlclNjb3Bl
OjpjcmVhdGVTdHJ1Y3R1cmUoKnRoaXMsIDAsIGpzTnVsbCgpKSk7CiAgICAgdGVybWluYXRlZEV4
ZWN1dGlvbkVycm9yU3RydWN0dXJlLnNldCgqdGhpcywgVGVybWluYXRlZEV4ZWN1dGlvbkVycm9y
OjpjcmVhdGVTdHJ1Y3R1cmUoKnRoaXMsIDAsIGpzTnVsbCgpKSk7CiAgICAgc3RyaW5nU3RydWN0
dXJlLnNldCgqdGhpcywgSlNTdHJpbmc6OmNyZWF0ZVN0cnVjdHVyZSgqdGhpcywgMCwganNOdWxs
KCkpKTsKICAgICBub3RBbk9iamVjdFN0cnVjdHVyZS5zZXQoKnRoaXMsIEpTTm90QW5PYmplY3Q6
OmNyZWF0ZVN0cnVjdHVyZSgqdGhpcywgMCwganNOdWxsKCkpKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMTcwMzkyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtMjU2LDcgKzI1Niw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIFN0cm9uZzxTdHJ1Y3R1cmU+IHN0cnVjdHVyZVN0cnVjdHVy
ZTsKICAgICAgICAgU3Ryb25nPFN0cnVjdHVyZT4gc3RydWN0dXJlUmFyZURhdGFTdHJ1Y3R1cmU7
Ci0gICAgICAgIFN0cm9uZzxTdHJ1Y3R1cmU+IGRlYnVnZ2VyQWN0aXZhdGlvblN0cnVjdHVyZTsK
KyAgICAgICAgU3Ryb25nPFN0cnVjdHVyZT4gZGVidWdnZXJTY29wZVN0cnVjdHVyZTsKICAgICAg
ICAgU3Ryb25nPFN0cnVjdHVyZT4gdGVybWluYXRlZEV4ZWN1dGlvbkVycm9yU3RydWN0dXJlOwog
ICAgICAgICBTdHJvbmc8U3RydWN0dXJlPiBzdHJpbmdTdHJ1Y3R1cmU7CiAgICAgICAgIFN0cm9u
ZzxTdHJ1Y3R1cmU+IG5vdEFuT2JqZWN0U3RydWN0dXJlOwpJbmRleDogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gMTcwMzkzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTQtMDYtMjQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtmdGxvcHRdIFJlbmFtZWQgRGVidWdnZXJBY3RpdmF0aW9uIHRvIERlYnVn
Z2VyU2NvcGUuCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzQyNzM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgor
CisgICAgICAgICogRm9yd2FyZGluZ0hlYWRlcnMvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9u
Lmg6IFJlbW92ZWQuCisgICAgICAgIC0gUmVtb3ZlZCBiZWNhdXNlIHRoaXMgaXMgbm90IHVzZWQu
CisKIDIwMTQtMDUtMDggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgT2NjYXNpb25hbCBjcmFzaCB1bmRlciBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
OjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoKSBvbiBoaXN0b3J5IG5hdmlnYXRpb24KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL2RlYnVnZ2VyL0RlYnVnZ2VyQWN0
aXZhdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJz
L2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCShyZXZpc2lvbiAxNzAzOTIpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICswLDAgQEAKLSNpZm5kZWYgV2ViQ29yZV9GV0RfRGVi
dWdnZXJBY3RpdmF0aW9uX2gKLSNkZWZpbmUgV2ViQ29yZV9GV0RfRGVidWdnZXJBY3RpdmF0aW9u
X2gKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9EZWJ1Z2dlckFjdGl2YXRpb24uaD4KLSNlbmRp
ZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwMzkzKQorKysgU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTQtMDYt
MjQgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtmdGxvcHRdIFJl
bmFtZWQgRGVidWdnZXJBY3RpdmF0aW9uIHRvIERlYnVnZ2VyU2NvcGUuCisgICAgICAgIDxodHRw
czovL3dlYmtpdC5vcmcvYi8xMzQyNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlNjcmlwdERlYnVnRGVsZWdhdGUubW06Cisg
ICAgICAgIC0gUmVtb3ZlZCB1bm5lZWRlZCAjaW5jbHVkZS4KKwogMjAxNC0wNS0wOCAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjLCBpT1NdIEFkZCBzb3Vy
Y2UgYXBwbGljYXRpb24gYWNjb3VudGluZyB0byBBVlVSTEFzc2V0LgpJbmRleDogU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1Z0RlbGVnYXRlLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViU2NyaXB0RGVidWdEZWxlZ2F0ZS5tbQkocmV2
aXNpb24gMTcwMzkyKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJTY3JpcHREZWJ1
Z0RlbGVnYXRlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw2IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL1dlYlNjcmlwdE9iamVjdFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvcnVudGlt
ZV9yb290Lmg+CiAjaW1wb3J0IDxkZWJ1Z2dlci9EZWJ1Z2dlci5oPgotI2ltcG9ydCA8ZGVidWdn
ZXIvRGVidWdnZXJBY3RpdmF0aW9uLmg+CiAjaW1wb3J0IDxpbnRlcnByZXRlci9DYWxsRnJhbWUu
aD4KICNpbXBvcnQgPHJ1bnRpbWUvQ29tcGxldGlvbi5oPgogI2ltcG9ydCA8cnVudGltZS9KU0Z1
bmN0aW9uLmg+Cg==
</data>
<flag name="review"
          id="258247"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>