<?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>108797</bug_id>
          
          <creation_ts>2013-02-03 23:53:54 -0800</creation_ts>
          <short_desc>Split InspectorCSSOMWrappers out from StyleResolver.h into its own file.</short_desc>
          <delta_ts>2013-02-04 02:29:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          <blocked>107777</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Hayato Ito">hayato</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>824101</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2013-02-03 23:53:54 -0800</bug_when>
    <thetext>This is a following patch after r141373.

CSSDefaultStyleSheets is now factored out from StyleResolver.cpp in r141733. Now we can have InspectorCSSOMWrappers in its own file.

I&apos;ve thought that we should have InspectorCSSOMWrappers.h in WebCore/inspector rather than WebCore/css. But it seems WebCore/inspector is used for basic inspector functionalities.
So I&apos;ve decided to put InspectorCSSOMWrappers.{h,cpp} in WebCore/css.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824137</commentid>
    <comment_count>1</comment_count>
      <attachid>186320</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2013-02-04 01:20:58 -0800</bug_when>
    <thetext>Created attachment 186320
Factor</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824161</commentid>
    <comment_count>2</comment_count>
      <attachid>186320</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-02-04 02:21:04 -0800</bug_when>
    <thetext>Comment on attachment 186320
Factor

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824163</commentid>
    <comment_count>3</comment_count>
      <attachid>186320</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 02:29:03 -0800</bug_when>
    <thetext>Comment on attachment 186320
Factor

Clearing flags on attachment: 186320

Committed r141750: &lt;http://trac.webkit.org/changeset/141750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824164</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-04 02:29:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186320</attachid>
            <date>2013-02-04 01:20:58 -0800</date>
            <delta_ts>2013-02-04 02:29:03 -0800</delta_ts>
            <desc>Factor</desc>
            <filename>bug-108797-20130204181738.patch</filename>
            <type>text/plain</type>
            <size>25110</size>
            <attacher name="Hayato Ito">hayato</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxNzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRmZDIzN2VhZDZkNGI5
ZmJkNjI4ODM5ZmExOGVkY2RhZGViNjAwOS4uZDA3YjU4MmIxM2RjZjdiYWI0YjRiZTcxZDk0NGE1
ZjhjZmU2ZGViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEzLTAyLTA0ICBIYXlh
dG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KKworICAgICAgICBTcGxpdCBJbnNwZWN0b3JD
U1NPTVdyYXBwZXJzIG91dCBmcm9tIFN0eWxlUmVzb2x2ZXIuaCBpbnRvIGl0cyBvd24gZmlsZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODc5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMg
YSBmb2xsb3dpbmcgcGF0Y2ggYWZ0ZXIgcjE0MTM3My4gTm93IHdlIGNhbiBoYXZlCisgICAgICAg
IEluc3BlY3RvckNTU09NV3JhcHBlcnMgaW4gaXRzIG93biBmaWxlIHNpbmNlIENTU0RlZmF1bHRT
dHlsZVNoZWV0cworICAgICAgICB3YXMgZmFjdG9yZWQgb3V0IGZyb20gU3R5bGVSZXNvbHZlci5j
cHAgaW4gcjE0MTczMy4KKworICAgICAgICBXZWJDb3JlL2luc3BlY3Rvci8gZGlyZWN0b3J5IGlz
IHVzZWQgZm9yIGJhc2ljIGluc3BlY3RvcgorICAgICAgICBmdW5jdGlvbmFsaXRpZXMuIFRoZXJl
Zm9yZSwgSSd2ZSBwdXQKKyAgICAgICAgSW5zcGVjdG9yQ1NTT01XcmFwcGVycy57aCxjcHB9IGlu
IFdlYkNvcmUvY3NzLyByYXRoZXIgdGhhbgorICAgICAgICBXZWJDb3JlL2luc3BlY3Rvci8uCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzLCByZWZhY3RvcmluZyBvbmx5LgorCisgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBU
YXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoK
KyAgICAgICAgKiBjc3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDU1NPTVdyYXBwZXJzOjpj
b2xsZWN0RnJvbVN0eWxlU2hlZXRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDU1NPTVdyYXBwZXJzOjpjb2xsZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNT
U09NV3JhcHBlcnM6OmNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3RGcm9tU3R5bGVTaGVldHMpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTT01XcmFwcGVyczo6Y29sbGVjdEZyb21Eb2N1
bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNT
U09NV3JhcHBlcnM6OmdldFdyYXBwZXJGb3JSdWxlSW5TaGVldHMpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ1NTT01XcmFwcGVyczo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAq
IGNzcy9JbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChJbnNwZWN0b3JDU1NPTVdyYXBwZXJzKToKKyAgICAgICAgKiBjc3MvU3R5bGVS
ZXNvbHZlci5jcHA6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKwogMjAxMy0wMi0w
MyAgS2Fzc3kgQ29hbiAgPGthc3N5Y29hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkcyB1
c2FnZSBpbnN0cnVtZW50YXRpb24gZm9yIGluZGV4ZWREQgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBlMDFiMTY2NTE1ZjJlYTg4MTA5ZGQ2ZTRlOGZhM2FiNDE1OWNjZWUxLi5mZWNiYTE2ZjEzNjI4
MWQ5N2NjMzczYjhmNzFiMzhmNjA1ZWJlNTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTA3
MCw2ICsxMDcwLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NWYWx1ZVBvb2wu
Y3BwCiAgICAgY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3BwCiAgICAgY3NzL0ZvbnRWYWx1ZS5jcHAK
KyAgICBjc3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAKICAgICBjc3MvTGVuZ3RoRnVuY3Rp
b25zLmNwcAogICAgIGNzcy9NZWRpYUZlYXR1cmVOYW1lcy5jcHAKICAgICBjc3MvTWVkaWFMaXN0
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYmRiN2I3NzZhNzI2ZjlkYWVi
NzFmNDRiZWMwMmQ0MzI4NDJkNDNmMi4uMjMyODk0NWIxZmVkYmU2M2ZiMzY1YWI2ODczYTJiNmUz
Yjc1MzFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNjIwLDYgKzI2MjAs
OCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmVhdHVy
ZVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9Gb250VmFsdWUuY3BwIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvRm9udFZhbHVlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9JbnNwZWN0b3JD
U1NPTVdyYXBwZXJzLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0luc3BlY3RvckNTU09NV3Jh
cHBlcnMuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0xlbmd0aEZ1bmN0aW9ucy5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9MZW5ndGhGdW5jdGlvbnMuaCBcCiAJU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhRmVhdHVyZU5hbWVzLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCA1NTFkMmY5NzdkNzQ0YjMw
MzU0YmEzYWY0ZmFhMDIzYThhNjdhOGIzLi5lOGY2ZmMxNjJkMzk5NDVjNDQxYjBlNmM0Mjk5MzBk
Y2FkN2QwYjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI5Nyw2ICsyOTcsNyBAQCBTT1VSQ0VTICs9IFwK
ICAgICBjc3MvQ1NTVmFsdWVQb29sLmNwcCBcCiAgICAgY3NzL0ZvbnRGZWF0dXJlVmFsdWUuY3Bw
IFwKICAgICBjc3MvRm9udFZhbHVlLmNwcCBcCisgICAgY3NzL0luc3BlY3RvckNTU09NV3JhcHBl
cnMuY3BwIFwKICAgICBjc3MvTGVuZ3RoRnVuY3Rpb25zLmNwcCBcCiAgICAgY3NzL01lZGlhRmVh
dHVyZU5hbWVzLmNwcCBcCiAgICAgY3NzL01lZGlhTGlzdC5jcHAgXApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmlu
ZGV4IDY1Mzk1NGM4MjZiYmU2ODk3ODlmMmM4Mjc5Y2QwOTU3NGNjYzMzNmYuLmI4NWE3NjMzMTIw
MmMxNjM3ZmUxNjBjMjcxYWJjOTlkNGNhZmIyMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE1NDAs
NiArMTU0MCw4IEBACiAgICAgICAgICAgICAnY3NzL0ZvbnRGZWF0dXJlVmFsdWUuaCcsCiAgICAg
ICAgICAgICAnY3NzL0ZvbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9Gb250VmFsdWUu
aCcsCisgICAgICAgICAgICAnY3NzL0luc3BlY3RvckNTU09NV3JhcHBlcnMuY3BwJywKKyAgICAg
ICAgICAgICdjc3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5oJywKICAgICAgICAgICAgICdjc3Mv
TGVuZ3RoRnVuY3Rpb25zLmNwcCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhRmVhdHVyZU5hbWVz
LmNwcCcsCiAgICAgICAgICAgICAnY3NzL01lZGlhRmVhdHVyZU5hbWVzLmgnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDc1NGU5
M2ZhMWExNzg5MDQ1MDk3MTkzMDkxOTcyZTZjMTkwYWQ3ZTguLjQ3NTYxZGI2OTI0MjlhNmQ1ZDg1
MmFjY2M3ZDkxOWM2Y2Q4Yjk0ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NDgsNiArMTQ0OCw4IEBACiAJCTRBOEM5NkVC
MEJFNjkwMzIwMDRFRUZGMCAvKiBGcmFtZVNlbGVjdGlvbk1hYy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBOEM5NkVBMEJFNjkwMzIwMDRFRUZGMCAv
KiBGcmFtZVNlbGVjdGlvbk1hYy5tbSAqLzsgfTsKIAkJNEE5Q0M4MTcxNkJCOUFDNjAwRUM2NDVB
IC8qIENTU0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0QTlDQzgxNTE2QkI5QUM2MDBFQzY0NUEgLyogQ1NTRGVmYXVs
dFN0eWxlU2hlZXRzLmNwcCAqLzsgfTsKIAkJNEE5Q0M4MTgxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNEE5Q0M4MTYxNkJCOUFDNjAwRUM2NDVBIC8qIENTU0RlZmF1bHRTdHlsZVNo
ZWV0cy5oICovOyB9OworCQk0QTlDQzgyMDE2QkY5QkI0MDBFQzY0NUEgLyogSW5zcGVjdG9yQ1NT
T01XcmFwcGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QTlDQzgxRTE2QkY5QkI0MDBFQzY0NUEgLyogSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5j
cHAgKi87IH07CisJCTRBOUNDODIxMTZCRjlCQjQwMEVDNjQ1QSAvKiBJbnNwZWN0b3JDU1NPTVdy
YXBwZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
QTlDQzgxRjE2QkY5QkI0MDBFQzY0NUEgLyogSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5oICovOyB9
OwogCQk0QUJERkYwQjE0REJFMzg1MDA0RDExN0QgLyogSFRNTFNoYWRvd0VsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEFCREZGMDcxNERC
RTMxMjAwNEQxMTdEIC8qIEhUTUxTaGFkb3dFbGVtZW50LmNwcCAqLzsgfTsKIAkJNEFCREZGMEMx
NERCRTM4NTAwNEQxMTdEIC8qIEhUTUxTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QUJERkYwODE0REJFMzEyMDA0RDExN0QgLyog
SFRNTFNoYWRvd0VsZW1lbnQuaCAqLzsgfTsKIAkJNEFDQkMwQkUxMjcxM0NCRDAwOTRGOUIyIC8q
IENsYXNzTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QUNCQzBCQzEyNzEzQ0JEMDA5NEY5QjIgLyogQ2xhc3NMaXN0LmNwcCAqLzsgfTsKQEAg
LTg4MTgsNiArODgyMCw4IEBACiAJCTRBOEM5NkVBMEJFNjkwMzIwMDRFRUZGMCAvKiBGcmFtZVNl
bGVjdGlvbk1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBG
cmFtZVNlbGVjdGlvbk1hYy5tbTsgcGF0aCA9IG1hYy9GcmFtZVNlbGVjdGlvbk1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE5Q0M4MTUxNkJCOUFDNjAwRUM2NDVBIC8qIENT
U0RlZmF1bHRTdHlsZVNoZWV0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDU1NEZWZhdWx0U3R5bGVTaGVldHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0QTlDQzgxNjE2QkI5QUM2MDBFQzY0NUEgLyogQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0RlZmF1bHRTdHlsZVNoZWV0cy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0QTlDQzgxRTE2QkY5QkI0MDBFQzY0NUEg
LyogSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNEE5Q0M4MUYxNkJGOUJCNDAwRUM2NDVBIC8qIEluc3BlY3RvckNTU09NV3Jh
cHBlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ1NTT01X
cmFwcGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QUJERkYwNzE0REJFMzEy
MDA0RDExN0QgLyogSFRNTFNoYWRvd0VsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSFRNTFNoYWRvd0VsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0QUJERkYwODE0REJFMzEyMDA0RDExN0QgLyogSFRNTFNoYWRvd0VsZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFNoYWRvd0VsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEFCREZGMDkxNERCRTMxMjAwNEQxMTdEIC8q
IEhUTUxTaGFkb3dFbGVtZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MU2hhZG93
RWxlbWVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTgyMSw2ICsyMTgy
NSw4IEBACiAJCQkJQ0Q0RTBBRkExMUY3QkMyNzAwOUQzODExIC8qIGZ1bGxzY3JlZW4uY3NzICov
LAogCQkJCUNEQkQ5M0JBMTMzM0JENEIwMDI1NzBFMyAvKiBmdWxsc2NyZWVuUXVpY2tUaW1lLmNz
cyAqLywKIAkJCQk5M0NBNEM5OTA5REY5M0ZBMDBERjg2NzcgLyogaHRtbC5jc3MgKi8sCisJCQkJ
NEE5Q0M4MUUxNkJGOUJCNDAwRUM2NDVBIC8qIEluc3BlY3RvckNTU09NV3JhcHBlcnMuY3BwICov
LAorCQkJCTRBOUNDODFGMTZCRjlCQjQwMEVDNjQ1QSAvKiBJbnNwZWN0b3JDU1NPTVdyYXBwZXJz
LmggKi8sCiAJCQkJRTU1RjQ5NzkxNTFCODg4MDAwQkI2N0RCIC8qIExlbmd0aEZ1bmN0aW9ucy5j
cHAgKi8sCiAJCQkJRTVCQTdENjIxNTE0MzdDQTAwRkUxRTNGIC8qIExlbmd0aEZ1bmN0aW9ucy5o
ICovLAogCQkJCTkzQ0E0QzlBMDlERjkzRkEwMERGODY3NyAvKiBtYWtlLWNzcy1maWxlLWFycmF5
cy5wbCAqLywKQEAgLTI0NDg5LDYgKzI0NDk1LDcgQEAKIAkJCQkxQzgxQjk1QTBFOTczMzA4MDAy
NjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjMyNUE0
MEIxNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNvdW50ZXJzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4MkFCMTc0NDEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTRBOUNDODIxMTZCRjlCQjQwMEVDNjQ1QSAvKiBJbnNwZWN0b3JDU1NP
TVdyYXBwZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QUIwQjFDMTEyMTFBNjIyMDBBNzY5NDAg
LyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjNGNUNGMTMx
MkVEODFCMzAwODRDNTY5IC8qIEluc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0MUYwNjIxNDBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVjdG9yRGF0
YWJhc2VSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzc1OCw2ICsyNzc2NSw3IEBACiAJ
CQkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJRjMyNUE0MEExNEVFMzZGQTAwNzMyNEUyIC8qIEluc3BlY3RvckNv
dW50ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgyQUIxNzQzMTI0Qjk5RUMwMEM1MDY5RCAv
KiBJbnNwZWN0b3JDU1NBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0QTlDQzgyMDE2QkY5
QkI0MDBFQzY0NUEgLyogSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3QUIwQjFDMDEyMTFBNjIyMDBBNzY5NDAgLyogSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MUYwNjIxNTBGNUYxOTI2MDBBMDdFQUMgLyogSW5zcGVj
dG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzNGMDUzRDEyMEIw
REE1MDBFNTc0M0EgLyogSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDA3NmFiNWMyOTg2NmZlNTBhN2Q0Njgz
MzIxZGRhOThjNzk5NThlMDAuLmM4MWMzYjIxZjk4ZDk2ZDE0M2M5MmNiYWVjMTM5MDg1Y2FkZjBm
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApAQCAtNjksNiArNjksNyBAQAogI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuY3BwIgogI2luY2x1
ZGUgIkNTU1ZhbHVlUG9vbC5jcHAiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5j
cHAiCiAjaW5jbHVkZSAiUnVsZUZlYXR1cmUuY3BwIgogI2luY2x1ZGUgIlJ1bGVTZXQuY3BwIgog
I2luY2x1ZGUgIlNlbGVjdG9yRmlsdGVyLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9JbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9JbnNw
ZWN0b3JDU1NPTVdyYXBwZXJzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzVjOTUzNGFmNDc5N2YxZjdmNDIy
MjlmM2E3OGEzOGZmNzJjYjk2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0luc3BlY3RvckNTU09NV3JhcHBlcnMuY3BwCkBAIC0wLDAgKzEsMTM5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAxOTk5IExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAgICAgICAgICAg
KEMpIDIwMDQtMjAwNSBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gKGtkZUBjYXJld29sZi5jb20pCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgTmljaG9sYXMgU2hhbmtzICh3ZWJraXRAbmlja3No
YW5rcy5jb20pCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA3IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdlYmtpdC5vcmc+CisgKiBD
b3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAq
IENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSBUb3JjaCBNb2JpbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQorICogQ29weXJpZ2h0IChjKSAy
MDExLCBDb2RlIEF1cm9yYSBGb3J1bS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5o
IgorCisjaW5jbHVkZSAiQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgiCisjaW5jbHVkZSAiQ1NTSG9z
dFJ1bGUuaCIKKyNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCisjaW5jbHVkZSAiQ1NTTWVkaWFS
dWxlLmgiCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgor
I2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJEb2N1bWVudFN0eWxlU2hlZXRD
b2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiU3R5bGVTaGVldENvbnRlbnRzLmgiCisjaW5jbHVkZSAi
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgorCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRh
dGlvbkhhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uSGFzaFNl
dC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgSW5zcGVjdG9yQ1NTT01XcmFwcGVy
czo6Y29sbGVjdEZyb21TdHlsZVNoZWV0SWZOZWVkZWQoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVl
dCkKK3sKKyAgICBpZiAoIW1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuaXNFbXB0eSgpKQor
ICAgICAgICBjb2xsZWN0KHN0eWxlU2hlZXQpOworfQorCit0ZW1wbGF0ZSA8Y2xhc3MgTGlzdFR5
cGU+Cit2b2lkIEluc3BlY3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3QoTGlzdFR5cGUqIGxpc3RU
eXBlKQoreworICAgIGlmICghbGlzdFR5cGUpCisgICAgICAgIHJldHVybjsKKyAgICB1bnNpZ25l
ZCBzaXplID0gbGlzdFR5cGUtPmxlbmd0aCgpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzaXplOyArK2kpIHsKKyAgICAgICAgQ1NTUnVsZSogY3NzUnVsZSA9IGxpc3RUeXBlLT5pdGVt
KGkpOworICAgICAgICBzd2l0Y2ggKGNzc1J1bGUtPnR5cGUoKSkgeworICAgICAgICBjYXNlIENT
U1J1bGU6OklNUE9SVF9SVUxFOgorICAgICAgICAgICAgY29sbGVjdChzdGF0aWNfY2FzdDxDU1NJ
bXBvcnRSdWxlKj4oY3NzUnVsZSktPnN0eWxlU2hlZXQoKSk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJQV9SVUxFOgorICAgICAgICAgICAgY29sbGVjdChz
dGF0aWNfY2FzdDxDU1NNZWRpYVJ1bGUqPihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsK
KyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICAgICAgY2FzZSBDU1NSdWxl
OjpTVVBQT1JUU19SVUxFOgorICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMoc3RhdGlj
X2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4oY3NzUnVsZSkpOworICAgICAgICAgICAgYnJlYWs7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6V0VC
S0lUX1JFR0lPTl9SVUxFOgorICAgICAgICAgICAgY29sbGVjdChzdGF0aWNfY2FzdDxXZWJLaXRD
U1NSZWdpb25SdWxlKj4oY3NzUnVsZSkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyNp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6Cisg
ICAgICAgICAgICBjb2xsZWN0KHN0YXRpY19jYXN0PENTU0hvc3RSdWxlKj4oY3NzUnVsZSkpOwor
ICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgY2FzZSBDU1NSdWxlOjpTVFlMRV9S
VUxFOgorICAgICAgICAgICAgbV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcC5hZGQoc3RhdGlj
X2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oY3NzUnVsZSktPnN0eWxlUnVsZSgpLCBzdGF0aWNfY2FzdDxD
U1NTdHlsZVJ1bGUqPihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIElu
c3BlY3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKEhhc2hT
ZXQ8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4mIHNoZWV0V3JhcHBlclNldCwgU3R5bGVTaGVldENv
bnRlbnRzKiBzdHlsZVNoZWV0KQoreworICAgIGlmICghc3R5bGVTaGVldCkKKyAgICAgICAgcmV0
dXJuOworICAgIFJlZlB0cjxDU1NTdHlsZVNoZWV0PiBzdHlsZVNoZWV0V3JhcHBlciA9IENTU1N0
eWxlU2hlZXQ6OmNyZWF0ZShzdHlsZVNoZWV0KTsKKyAgICBzaGVldFdyYXBwZXJTZXQuYWRkKHN0
eWxlU2hlZXRXcmFwcGVyKTsKKyAgICBjb2xsZWN0KHN0eWxlU2hlZXRXcmFwcGVyLmdldCgpKTsK
K30KKwordm9pZCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzOjpjb2xsZWN0RnJvbVN0eWxlU2hlZXRz
KGNvbnN0IFZlY3RvcjxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiYgc2hlZXRzKQoreworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaGVldHMuc2l6ZSgpOyArK2kpCisgICAgICAgIGNvbGxl
Y3Qoc2hlZXRzW2ldLmdldCgpKTsKK30KKwordm9pZCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzOjpj
b2xsZWN0RnJvbURvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24oRG9jdW1lbnRTdHlsZVNoZWV0
Q29sbGVjdGlvbiogc3R5bGVTaGVldENvbGxlY3Rpb24pCit7CisgICAgY29sbGVjdEZyb21TdHls
ZVNoZWV0cyhzdHlsZVNoZWV0Q29sbGVjdGlvbi0+YWN0aXZlQXV0aG9yU3R5bGVTaGVldHMoKSk7
CisgICAgY29sbGVjdChzdHlsZVNoZWV0Q29sbGVjdGlvbi0+cGFnZVVzZXJTaGVldCgpKTsKKyAg
ICBjb2xsZWN0RnJvbVN0eWxlU2hlZXRzKHN0eWxlU2hlZXRDb2xsZWN0aW9uLT5pbmplY3RlZFVz
ZXJTdHlsZVNoZWV0cygpKTsKKyAgICBjb2xsZWN0RnJvbVN0eWxlU2hlZXRzKHN0eWxlU2hlZXRD
b2xsZWN0aW9uLT5kb2N1bWVudFVzZXJTdHlsZVNoZWV0cygpKTsKK30KKworQ1NTU3R5bGVSdWxl
KiBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzOjpnZXRXcmFwcGVyRm9yUnVsZUluU2hlZXRzKFN0eWxl
UnVsZSogcnVsZSwgRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbiogc3R5bGVTaGVldENvbGxl
Y3Rpb24pCit7CisgICAgaWYgKG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuaXNFbXB0eSgp
KSB7CisgICAgICAgIGNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENT
U09NV3JhcHBlclNldCwgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpzaW1wbGVEZWZhdWx0U3R5bGVT
aGVldCk7CisgICAgICAgIGNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVl
dENTU09NV3JhcHBlclNldCwgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGVTaGVl
dCk7CisgICAgICAgIGNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENT
U09NV3JhcHBlclNldCwgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpxdWlya3NTdHlsZVNoZWV0KTsK
KyAgICAgICAgY29sbGVjdEZyb21TdHlsZVNoZWV0Q29udGVudHMobV9zdHlsZVNoZWV0Q1NTT01X
cmFwcGVyU2V0LCBDU1NEZWZhdWx0U3R5bGVTaGVldHM6OnN2Z1N0eWxlU2hlZXQpOworICAgICAg
ICBjb2xsZWN0RnJvbVN0eWxlU2hlZXRDb250ZW50cyhtX3N0eWxlU2hlZXRDU1NPTVdyYXBwZXJT
ZXQsIENTU0RlZmF1bHRTdHlsZVNoZWV0czo6bWF0aE1MU3R5bGVTaGVldCk7CisgICAgICAgIGNv
bGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCwg
Q1NTRGVmYXVsdFN0eWxlU2hlZXRzOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldCk7CisgICAgICAg
IGNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNl
dCwgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpmdWxsc2NyZWVuU3R5bGVTaGVldCk7CisKKyAgICAg
ICAgY29sbGVjdEZyb21Eb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uKHN0eWxlU2hlZXRDb2xs
ZWN0aW9uKTsKKyAgICB9CisgICAgcmV0dXJuIG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAu
Z2V0KHJ1bGUpLmdldCgpOworfQorCit2b2lkIEluc3BlY3RvckNTU09NV3JhcHBlcnM6OnJlcG9y
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7
CisgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29y
ZU1lbW9yeVR5cGVzOjpDU1MpOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGVSdWxlVG9DU1NP
TVdyYXBwZXJNYXApOworICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGVTaGVldENTU09NV3JhcHBl
clNldCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9JbnNwZWN0b3JDU1NPTVdyYXBwZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
SW5zcGVjdG9yQ1NTT01XcmFwcGVycy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2NDE4ZTZlODI5Y2MzYzAzOTVm
Yzk4ZjIyMTkyZWYzNTI3NGVlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvSW5zcGVjdG9yQ1NTT01XcmFwcGVycy5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDE5OTkgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIENvcHlyaWdodCAo
QykgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNpZm5kZWYgSW5zcGVjdG9yQ1NTT01X
cmFwcGVyc19oCisjZGVmaW5lIEluc3BlY3RvckNTU09NV3JhcHBlcnNfaAorCisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9N
ZW1vcnlPYmplY3RJbmZvLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU1N0eWxlUnVsZTsKK2NsYXNzIENTU1N0eWxlU2hlZXQ7Citj
bGFzcyBEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOworY2xhc3MgU3R5bGVSdWxlOworY2xh
c3MgU3R5bGVTaGVldENvbnRlbnRzOworCitjbGFzcyBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzIHsK
K3B1YmxpYzoKKyAgICAvLyBXQVJOSU5HLiBUaGlzIHdpbGwgY29uc3RydWN0IENTU09NIHdyYXBw
ZXJzIGZvciBhbGwgc3R5bGUgcnVsZXMgYW5kIGNhY2hlIHRoZW0gaW4gYSBtYXAgZm9yIHNpZ25p
ZmljYW50IG1lbW9yeSBjb3N0LgorICAgIC8vIEl0IGlzIGhlcmUgdG8gc3VwcG9ydCBpbnNwZWN0
b3IuIERvbid0IHVzZSBmb3IgYW55IHJlZ3VsYXIgZW5naW5lIGZ1bmN0aW9ucy4KKyAgICBDU1NT
dHlsZVJ1bGUqIGdldFdyYXBwZXJGb3JSdWxlSW5TaGVldHMoU3R5bGVSdWxlKiwgRG9jdW1lbnRT
dHlsZVNoZWV0Q29sbGVjdGlvbiopOworICAgIHZvaWQgY29sbGVjdEZyb21TdHlsZVNoZWV0SWZO
ZWVkZWQoQ1NTU3R5bGVTaGVldCopOworCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgdGVtcGxhdGUgPGNsYXNzIExp
c3RUeXBlPgorICAgIHZvaWQgY29sbGVjdChMaXN0VHlwZSopOworCisgICAgdm9pZCBjb2xsZWN0
RnJvbVN0eWxlU2hlZXRDb250ZW50cyhIYXNoU2V0PFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+JiBz
aGVldFdyYXBwZXJTZXQsIFN0eWxlU2hlZXRDb250ZW50cyopOworICAgIHZvaWQgY29sbGVjdEZy
b21TdHlsZVNoZWV0cyhjb25zdCBWZWN0b3I8UmVmUHRyPENTU1N0eWxlU2hlZXQ+ID4mKTsKKyAg
ICB2b2lkIGNvbGxlY3RGcm9tRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbihEb2N1bWVudFN0
eWxlU2hlZXRDb2xsZWN0aW9uKik7CisKKyAgICBIYXNoTWFwPFN0eWxlUnVsZSosIFJlZlB0cjxD
U1NTdHlsZVJ1bGU+ID4gbV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcDsKKyAgICBIYXNoU2V0
PFJlZlB0cjxDU1NTdHlsZVNoZWV0PiA+IG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEluc3BlY3RvckNTU09NV3Jh
cHBlcnNfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGUzYzk4ZGQzNjVj
N2RiYjVhYWQzMDBiZDU0NzRjMzE5M2VlMmM1OWIuLjczOWUxYjQwOTAxMmEyMmJjYTI5MDYxN2Uy
MmFlZmJkZDQ5ZGE3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM2
LDEwICszNiw3IEBACiAjaW5jbHVkZSAiQ1NTRGVmYXVsdFN0eWxlU2hlZXRzLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCi0jaW5j
bHVkZSAiQ1NTSG9zdFJ1bGUuaCIKLSNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVk
ZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgotI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgog
I2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5jbHVk
ZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIgpAQCAtNDksNyArNDYsNiBAQAogI2luY2x1
ZGUgIkNTU1NlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3JMaXN0LmgiCiAjaW5jbHVk
ZSAiQ1NTU3R5bGVSdWxlLmgiCi0jaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgogI2luY2x1ZGUg
IkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKQEAgLTI1MTMsOTcgKzI1MDksNiBAQCBTdHJpbmcg
U3R5bGVSZXNvbHZlcjo6cGFnZU5hbWUoaW50IC8qIHBhZ2VJbmRleCAqLykgY29uc3QKICAgICBy
ZXR1cm4gIiI7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ1NTT01XcmFwcGVyczo6Y29sbGVjdEZyb21T
dHlsZVNoZWV0SWZOZWVkZWQoQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCkKLXsKLSAgICBpZiAo
IW1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuaXNFbXB0eSgpKQotICAgICAgICBjb2xsZWN0
KHN0eWxlU2hlZXQpOwotfQotCi10ZW1wbGF0ZSA8Y2xhc3MgTGlzdFR5cGU+Ci12b2lkIEluc3Bl
Y3RvckNTU09NV3JhcHBlcnM6OmNvbGxlY3QoTGlzdFR5cGUqIGxpc3RUeXBlKQotewotICAgIGlm
ICghbGlzdFR5cGUpCi0gICAgICAgIHJldHVybjsKLSAgICB1bnNpZ25lZCBzaXplID0gbGlzdFR5
cGUtPmxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsK
LSAgICAgICAgQ1NTUnVsZSogY3NzUnVsZSA9IGxpc3RUeXBlLT5pdGVtKGkpOwotICAgICAgICBz
d2l0Y2ggKGNzc1J1bGUtPnR5cGUoKSkgewotICAgICAgICBjYXNlIENTU1J1bGU6OklNUE9SVF9S
VUxFOgotICAgICAgICAgICAgY29sbGVjdChzdGF0aWNfY2FzdDxDU1NJbXBvcnRSdWxlKj4oY3Nz
UnVsZSktPnN0eWxlU2hlZXQoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBD
U1NSdWxlOjpNRURJQV9SVUxFOgotICAgICAgICAgICAgY29sbGVjdChzdGF0aWNfY2FzdDxDU1NN
ZWRpYVJ1bGUqPihjc3NSdWxlKSk7Ci0gICAgICAgICAgICBicmVhazsKLSNpZiBFTkFCTEUoQ1NT
M19DT05ESVRJT05BTF9SVUxFUykKLSAgICAgICAgY2FzZSBDU1NSdWxlOjpTVVBQT1JUU19SVUxF
OgotICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMoc3RhdGljX2Nhc3Q8Q1NTU3VwcG9y
dHNSdWxlKj4oY3NzUnVsZSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLSNpZiBFTkFC
TEUoQ1NTX1JFR0lPTlMpCi0gICAgICAgIGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxF
OgotICAgICAgICAgICAgY29sbGVjdChzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4o
Y3NzUnVsZSkpOwotICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLSNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKLSAgICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6Ci0gICAgICAgICAgICBjb2xs
ZWN0KHN0YXRpY19jYXN0PENTU0hvc3RSdWxlKj4oY3NzUnVsZSkpOwotICAgICAgICAgICAgYnJl
YWs7Ci0jZW5kaWYKLSAgICAgICAgY2FzZSBDU1NSdWxlOjpTVFlMRV9SVUxFOgotICAgICAgICAg
ICAgbV9zdHlsZVJ1bGVUb0NTU09NV3JhcHBlck1hcC5hZGQoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVS
dWxlKj4oY3NzUnVsZSktPnN0eWxlUnVsZSgpLCBzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUqPihj
c3NSdWxlKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotfQotCi12b2lkIEluc3BlY3RvckNTU09NV3Jh
cHBlcnM6OmNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKEhhc2hTZXQ8UmVmUHRyPENTU1N0
eWxlU2hlZXQ+ID4mIHNoZWV0V3JhcHBlclNldCwgU3R5bGVTaGVldENvbnRlbnRzKiBzdHlsZVNo
ZWV0KQotewotICAgIGlmICghc3R5bGVTaGVldCkKLSAgICAgICAgcmV0dXJuOwotICAgIFJlZlB0
cjxDU1NTdHlsZVNoZWV0PiBzdHlsZVNoZWV0V3JhcHBlciA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0
ZShzdHlsZVNoZWV0KTsKLSAgICBzaGVldFdyYXBwZXJTZXQuYWRkKHN0eWxlU2hlZXRXcmFwcGVy
KTsKLSAgICBjb2xsZWN0KHN0eWxlU2hlZXRXcmFwcGVyLmdldCgpKTsKLX0KLQotdm9pZCBJbnNw
ZWN0b3JDU1NPTVdyYXBwZXJzOjpjb2xsZWN0RnJvbVN0eWxlU2hlZXRzKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiYgc2hlZXRzKQotewotICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBzaGVldHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGNvbGxlY3Qoc2hlZXRzW2ldLmdl
dCgpKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDU1NPTVdyYXBwZXJzOjpjb2xsZWN0RnJvbURvY3Vt
ZW50U3R5bGVTaGVldENvbGxlY3Rpb24oRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbiogc3R5
bGVTaGVldENvbGxlY3Rpb24pCi17Ci0gICAgY29sbGVjdEZyb21TdHlsZVNoZWV0cyhzdHlsZVNo
ZWV0Q29sbGVjdGlvbi0+YWN0aXZlQXV0aG9yU3R5bGVTaGVldHMoKSk7Ci0gICAgY29sbGVjdChz
dHlsZVNoZWV0Q29sbGVjdGlvbi0+cGFnZVVzZXJTaGVldCgpKTsKLSAgICBjb2xsZWN0RnJvbVN0
eWxlU2hlZXRzKHN0eWxlU2hlZXRDb2xsZWN0aW9uLT5pbmplY3RlZFVzZXJTdHlsZVNoZWV0cygp
KTsKLSAgICBjb2xsZWN0RnJvbVN0eWxlU2hlZXRzKHN0eWxlU2hlZXRDb2xsZWN0aW9uLT5kb2N1
bWVudFVzZXJTdHlsZVNoZWV0cygpKTsKLX0KLQotQ1NTU3R5bGVSdWxlKiBJbnNwZWN0b3JDU1NP
TVdyYXBwZXJzOjpnZXRXcmFwcGVyRm9yUnVsZUluU2hlZXRzKFN0eWxlUnVsZSogcnVsZSwgRG9j
dW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbiogc3R5bGVTaGVldENvbGxlY3Rpb24pCi17Ci0gICAg
aWYgKG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNv
bGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCwg
Q1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpzaW1wbGVEZWZhdWx0U3R5bGVTaGVldCk7Ci0gICAgICAg
IGNvbGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNl
dCwgQ1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpkZWZhdWx0U3R5bGVTaGVldCk7Ci0gICAgICAgIGNv
bGxlY3RGcm9tU3R5bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCwg
Q1NTRGVmYXVsdFN0eWxlU2hlZXRzOjpxdWlya3NTdHlsZVNoZWV0KTsKLSAgICAgICAgY29sbGVj
dEZyb21TdHlsZVNoZWV0Q29udGVudHMobV9zdHlsZVNoZWV0Q1NTT01XcmFwcGVyU2V0LCBDU1NE
ZWZhdWx0U3R5bGVTaGVldHM6OnN2Z1N0eWxlU2hlZXQpOwotICAgICAgICBjb2xsZWN0RnJvbVN0
eWxlU2hlZXRDb250ZW50cyhtX3N0eWxlU2hlZXRDU1NPTVdyYXBwZXJTZXQsIENTU0RlZmF1bHRT
dHlsZVNoZWV0czo6bWF0aE1MU3R5bGVTaGVldCk7Ci0gICAgICAgIGNvbGxlY3RGcm9tU3R5bGVT
aGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCwgQ1NTRGVmYXVsdFN0eWxl
U2hlZXRzOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldCk7Ci0gICAgICAgIGNvbGxlY3RGcm9tU3R5
bGVTaGVldENvbnRlbnRzKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCwgQ1NTRGVmYXVsdFN0
eWxlU2hlZXRzOjpmdWxsc2NyZWVuU3R5bGVTaGVldCk7Ci0KLSAgICAgICAgY29sbGVjdEZyb21E
b2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uKHN0eWxlU2hlZXRDb2xsZWN0aW9uKTsKLSAgICB9
Ci0gICAgcmV0dXJuIG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXAuZ2V0KHJ1bGUpLmdldCgp
OwotfQotCi12b2lkIEluc3BlY3RvckNTU09NV3JhcHBlcnM6OnJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Ci17Ci0gICAgTWVtb3J5Q2xh
c3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpD
U1MpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXApOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fc3R5bGVTaGVldENTU09NV3JhcHBlclNldCk7Ci19Ci0KIHZv
aWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eVRvU3R5bGUoQ1NTUHJvcGVydHlJRCBpZCwg
Q1NTVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUpCiB7CiAgICAgaW5pdEVsZW1lbnQo
MCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAppbmRleCBhM2FmNTQ0OGI5MDk4ZTNjMzI4
YTY1MjBlODA5MWIyMTUzNWY1NDZlLi43OGM1ZWU0MmViYzYxOWE3OGQxYTQ4NDYzMjQwMmJiN2Nm
YjNjY2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKQEAgLTI1LDYgKzI1LDcgQEAK
ICNpbmNsdWRlICJDU1NSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTVG9TdHlsZU1hcC5oIgogI2luY2x1
ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNTU09NV3JhcHBlcnMuaCIK
ICNpbmNsdWRlICJMaW5rSGFzaC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFeHAuaCIKICNpbmNs
dWRlICJSZW5kZXJTdHlsZS5oIgpAQCAtNTksNyArNjAsNiBAQCBjbGFzcyBDU1NQcmltaXRpdmVW
YWx1ZTsKIGNsYXNzIENTU1Byb3BlcnR5OwogY2xhc3MgQ1NTUnVsZUxpc3Q7CiBjbGFzcyBDU1NT
ZWxlY3RvcjsKLWNsYXNzIENTU1N0eWxlUnVsZTsKIGNsYXNzIENTU1N0eWxlU2hlZXQ7CiBjbGFz
cyBDU1NWYWx1ZTsKIGNsYXNzIENvbnRhaW5lck5vZGU7CkBAIC05NSw3ICs5NSw2IEBAIGNsYXNz
IFN0eWxlUnVsZVBhZ2U7CiBjbGFzcyBTdHlsZVJ1bGVSZWdpb247CiBjbGFzcyBTdHlsZVNoYWRl
cjsKIGNsYXNzIFN0eWxlU2hlZXQ7Ci1jbGFzcyBTdHlsZVNoZWV0Q29udGVudHM7CiBjbGFzcyBT
dHlsZVNoZWV0TGlzdDsKIGNsYXNzIFN0eWxlZEVsZW1lbnQ7CiBjbGFzcyBWaWV3cG9ydFN0eWxl
UmVzb2x2ZXI7CkBAIC0xMzIsMjcgKzEzMSw2IEBAIGVudW0gUnVsZU1hdGNoaW5nQmVoYXZpb3Ig
ewogICAgIE1hdGNoT25seVVzZXJBZ2VudFJ1bGVzLAogfTsKIAotY2xhc3MgSW5zcGVjdG9yQ1NT
T01XcmFwcGVycyB7Ci1wdWJsaWM6Ci0gICAgLy8gV0FSTklORy4gVGhpcyB3aWxsIGNvbnN0cnVj
dCBDU1NPTSB3cmFwcGVycyBmb3IgYWxsIHN0eWxlIHJ1bGVzIGFuZCBjYWNoZSB0aGVtIGluIGEg
bWFwIGZvciBzaWduaWZpY2FudCBtZW1vcnkgY29zdC4KLSAgICAvLyBJdCBpcyBoZXJlIHRvIHN1
cHBvcnQgaW5zcGVjdG9yLiBEb24ndCB1c2UgZm9yIGFueSByZWd1bGFyIGVuZ2luZSBmdW5jdGlv
bnMuCi0gICAgQ1NTU3R5bGVSdWxlKiBnZXRXcmFwcGVyRm9yUnVsZUluU2hlZXRzKFN0eWxlUnVs
ZSosIERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24qKTsKLSAgICB2b2lkIGNvbGxlY3RGcm9t
U3R5bGVTaGVldElmTmVlZGVkKENTU1N0eWxlU2hlZXQqKTsKLQotICAgIHZvaWQgcmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwotCi1wcml2YXRlOgotICAgIHRlbXBs
YXRlIDxjbGFzcyBMaXN0VHlwZT4KLSAgICB2b2lkIGNvbGxlY3QoTGlzdFR5cGUqKTsKLQotICAg
IHZvaWQgY29sbGVjdEZyb21TdHlsZVNoZWV0Q29udGVudHMoSGFzaFNldDxSZWZQdHI8Q1NTU3R5
bGVTaGVldD4gPiYgc2hlZXRXcmFwcGVyU2V0LCBTdHlsZVNoZWV0Q29udGVudHMqKTsKLSAgICB2
b2lkIGNvbGxlY3RGcm9tU3R5bGVTaGVldHMoY29uc3QgVmVjdG9yPFJlZlB0cjxDU1NTdHlsZVNo
ZWV0PiA+Jik7Ci0gICAgdm9pZCBjb2xsZWN0RnJvbURvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rp
b24oRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbiopOwotCi0gICAgSGFzaE1hcDxTdHlsZVJ1
bGUqLCBSZWZQdHI8Q1NTU3R5bGVSdWxlPiA+IG1fc3R5bGVSdWxlVG9DU1NPTVdyYXBwZXJNYXA7
Ci0gICAgSGFzaFNldDxSZWZQdHI8Q1NTU3R5bGVTaGVldD4gPiBtX3N0eWxlU2hlZXRDU1NPTVdy
YXBwZXJTZXQ7Ci19OwotCiAvLyBUaGlzIGNsYXNzIHNlbGVjdHMgYSBSZW5kZXJTdHlsZSBmb3Ig
YSBnaXZlbiBlbGVtZW50IGJhc2VkIG9uIGEgY29sbGVjdGlvbiBvZiBzdHlsZXNoZWV0cy4KIGNs
YXNzIFN0eWxlUmVzb2x2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFN0eWxlUmVzb2x2
ZXIpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>