<?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>71716</bug_id>
          
          <creation_ts>2011-11-07 12:17:58 -0800</creation_ts>
          <short_desc>De-virtualize JSObject::putWithAttributes</short_desc>
          <delta_ts>2011-11-07 15:57:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>70960</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497357</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-07 12:17:58 -0800</bug_when>
    <thetext>We&apos;re de-virtualizing JSObject. Thanks to Sam, putWithAttributes is now a single virtual method in JSObject.  Thus, we need to de-virtualize putWithAttributes.  We&apos;ll put it in the MethodTable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497394</commentid>
    <comment_count>1</comment_count>
      <attachid>113914</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-11-07 12:53:02 -0800</bug_when>
    <thetext>Created attachment 113914
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497554</commentid>
    <comment_count>2</comment_count>
      <attachid>113914</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 15:57:54 -0800</bug_when>
    <thetext>Comment on attachment 113914
Patch

Clearing flags on attachment: 113914

Committed r99497: &lt;http://trac.webkit.org/changeset/99497&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497555</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 15:57:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113914</attachid>
            <date>2011-11-07 12:53:02 -0800</date>
            <delta_ts>2011-11-07 15:57:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71716-20111107125301.patch</filename>
            <type>text/plain</type>
            <size>27468</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk0MzkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGEx
MjQ4M2E1Y2Q0MjU1NTg1NWEwNmE1ZDg5ZGI2NzcwMGJlZGQyZWMuLmVkMDg4NzVkMDczZjg0ZmZl
NjA3MjFlOWI2MGEzY2YyYzRkYzQyMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQ0IEBACisyMDExLTExLTA3ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBs
ZS5jb20+CisKKyAgICAgICAgRGUtdmlydHVhbGl6ZSBKU09iamVjdDo6cHV0V2l0aEF0dHJpYnV0
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNzE2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
cHV0V2l0aEF0dHJpYnV0ZXMgdG8gdGhlIE1ldGhvZFRhYmxlLCBjaGFuZ2VkIGFsbCB0aGUgdmly
dHVhbCAKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIG9mIHB1dFdpdGhBdHRyaWJ1dGVzIHRvIHN0
YXRpYyBvbmVzLCBhbmQgcmVwbGFjZWQgCisgICAgICAgIGFsbCBjYWxsIHNpdGVzIHdpdGggY29y
cmVzcG9uZGluZyBsb29rdXBzIGluIHRoZSBNZXRob2RUYWJsZS4KKworICAgICAgICAqIEFQSS9K
U09iamVjdFJlZi5jcHA6CisgICAgICAgIChKU09iamVjdFNldFByb3BlcnR5KToKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmRlZjoKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1
Z2dlckFjdGl2YXRpb24uY3BwOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlckFjdGl2YXRpb246OnB1
dFdpdGhBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24u
aDoKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6
OkludGVycHJldGVyOjpleGVjdXRlKToKKyAgICAgICAgKiBydW50aW1lL0NsYXNzSW5mby5oOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBY3Rp
dmF0aW9uOjpwdXRXaXRoQXR0cmlidXRlcyk6CisgICAgICAgICogcnVudGltZS9KU0FjdGl2YXRp
b24uaDoKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2Vs
bDo6cHV0V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAqIHJ1bnRpbWUvSlNDZWxsLmg6CisgICAg
ICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFs
T2JqZWN0OjpwdXRXaXRoQXR0cmlidXRlcyk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9i
amVjdC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpK
U09iamVjdDo6cHV0V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAoSlNDOjpwdXREZXNjcmlwdG9y
KToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9KU1N0
YXRpY1Njb3BlT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNTdGF0aWNTY29wZU9iamVjdDo6
cHV0V2l0aEF0dHJpYnV0ZXMpOgorICAgICAgICAqIHJ1bnRpbWUvSlNTdGF0aWNTY29wZU9iamVj
dC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHA6CisgICAgICAgIChK
U0M6OkpTVmFyaWFibGVPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBydW50
aW1lL0pTVmFyaWFibGVPYmplY3QuaDoKKwogMjAxMS0xMS0wNyAgTWljaGFlbCBTYWJvZmYgIDxt
c2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBUb3dhcmRzIDggQml0IFN0cmluZ3M6IFRlbXBs
YXRpemUgSlNDOjpMZXhlciBjbGFzcyBieSBjaGFyYWN0ZXIgdHlwZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA3
ZGU4OWQzNTJhODc5MjQ4YTNjYWJiM2YzYTQ5ZmU4N2QwYjllMTcuLjQyNGY2ZjAxMDZjZjBmNjI3
YjYzMTZlNjMxODI0M2NlNDM3N2NmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAx
MS0xMS0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAg
ICAgIERlLXZpcnR1YWxpemUgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTcxNgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAg
ICAgICBBZGRlZCBwdXRXaXRoQXR0cmlidXRlcyB0byB0aGUgTWV0aG9kVGFibGUsIGNoYW5nZWQg
YWxsIHRoZSB2aXJ0dWFsIAorICAgICAgICBpbXBsZW1lbnRhdGlvbnMgb2YgcHV0V2l0aEF0dHJp
YnV0ZXMgdG8gc3RhdGljIG9uZXMsIGFuZCByZXBsYWNlZCAKKyAgICAgICAgYWxsIGNhbGwgc2l0
ZXMgd2l0aCBjb3JyZXNwb25kaW5nIGxvb2t1cHMgaW4gdGhlIE1ldGhvZFRhYmxlLgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RPTVdpbmRvd1NoZWxsOjpwdXRXaXRoQXR0cmlidXRlcyk6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5oOgorCiAyMDExLTExLTA3ICBKZXNzaWUgQmVybGluICA8
amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTmVlZCBhIHdheSB0byBhbGxvdyBhIHNjaGVt
ZSBhY2Nlc3MgdG8gTG9jYWwgU3RvcmFnZSBhbmQgRGF0YWJhc2VzIHdoaWxlIFByaXZhdGUgQnJv
d3NpbmcgaXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RS
ZWYuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXgg
NzhkYTNiZTlmYWY3MGIyNTVlNWU3ZTgxOTBlNDNjM2YxODM2ZGI3ZC4uOTliNDFiNjg1MmVjNmJi
NDZkOTk5N2NkZDdlNzkxZDY4NWFlMTFjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU09iamVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U09iamVjdFJlZi5jcHAKQEAgLTI3NCw3ICsyNzQsNyBAQCB2b2lkIEpTT2JqZWN0U2V0UHJvcGVy
dHkoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9w
ZQogICAgIEpTVmFsdWUganNWYWx1ZSA9IHRvSlMoZXhlYywgdmFsdWUpOwogCiAgICAgaWYgKGF0
dHJpYnV0ZXMgJiYgIWpzT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBuYW1lKSkKLSAgICAgICAg
anNPYmplY3QtPnB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMsIG5hbWUsIGpzVmFsdWUsIGF0dHJpYnV0
ZXMpOworICAgICAgICBqc09iamVjdC0+bWV0aG9kVGFibGUoKS0+cHV0V2l0aEF0dHJpYnV0ZXMo
anNPYmplY3QsIGV4ZWMsIG5hbWUsIGpzVmFsdWUsIGF0dHJpYnV0ZXMpOwogICAgIGVsc2Ugewog
ICAgICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKICAgICAgICAganNPYmplY3QtPm1ldGhvZFRh
YmxlKCktPnB1dChqc09iamVjdCwgZXhlYywgbmFtZSwganNWYWx1ZSwgc2xvdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCA3MjU2M2JkN2E3ZWIwNjAzYTZl
MDU0MzU5OTgwYjFkOTM3ZWVhNTIyLi5jMGRjM2NhMzQ4ZThlNzU4YWMyYzE3NDZkZDgzNjA3MTll
ZmQ4NDY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
ZXhwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTE3
MCw3ICsxNzAsNyBAQCBfX1pOM0pTQzE0SlNHbG9iYWxPYmplY3QxMmRlZmluZVNldHRlckVQTlNf
OEpTT2JqZWN0RVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudAogX19aTjNKU0MxNEpTR2xvYmFs
T2JqZWN0MTNjbGVhclJhcmVEYXRhRVBOU182SlNDZWxsRQogX19aTjNKU0MxNEpTR2xvYmFsT2Jq
ZWN0MTN2aXNpdENoaWxkcmVuRVBOU182SlNDZWxsRVJOU18xMVNsb3RWaXNpdG9yRQogX19aTjNK
U0MxNEpTR2xvYmFsT2JqZWN0MTZhZGRTdGF0aWNHbG9iYWxzRVBOUzBfMThHbG9iYWxQcm9wZXJ0
eUluZm9FaQotX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRlc0VQTlNf
OUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1ZUVqCitfX1pOM0pTQzE0SlNH
bG9iYWxPYmplY3QxN3B1dFdpdGhBdHRyaWJ1dGVzRVBOU184SlNPYmplY3RFUE5TXzlFeGVjU3Rh
dGVFUktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFagogX19aTjNKU0MxNEpTR2xvYmFsT2Jq
ZWN0MThnZXRPd25Qcm9wZXJ0eVNsb3RFUE5TXzZKU0NlbGxFUE5TXzlFeGVjU3RhdGVFUktOU18x
MElkZW50aWZpZXJFUk5TXzEyUHJvcGVydHlTbG90RQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0
MjRnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JFUE5TXzlFeGVjU3RhdGVFUktOU18xMElkZW50aWZp
ZXJFUk5TXzE4UHJvcGVydHlEZXNjcmlwdG9yRQogX19aTjNKU0MxNEpTR2xvYmFsT2JqZWN0M3B1
dEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVOU183SlNWYWx1
ZUVSTlNfMTVQdXRQcm9wZXJ0eVNsb3RFCkBAIC0zMTcsNyArMzE3LDcgQEAgX19aTjNKU0M4SlNP
YmplY3QxNmdldFByb3BlcnR5TmFtZXNFUFMwX1BOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5
TmFtZUFycmF5RU4KIF9fWk4zSlNDOEpTT2JqZWN0MTdkZWZpbmVPd25Qcm9wZXJ0eUVQTlNfOUV4
ZWNTdGF0ZUVSS05TXzEwSWRlbnRpZmllckVSTlNfMThQcm9wZXJ0eURlc2NyaXB0b3JFYgogX19a
TjNKU0M4SlNPYmplY3QxN3ByZXZlbnRFeHRlbnNpb25zRVJOU18xMkpTR2xvYmFsRGF0YUUKIF9f
Wk4zSlNDOEpTT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRlc0VQTlNfMTJKU0dsb2JhbERhdGFFUktO
U18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFagotX19aTjNKU0M4SlNPYmplY3QxN3B1dFdpdGhB
dHRyaWJ1dGVzRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRU5TXzdKU1ZhbHVlRWoK
K19fWk4zSlNDOEpTT2JqZWN0MTdwdXRXaXRoQXR0cmlidXRlc0VQUzBfUE5TXzlFeGVjU3RhdGVF
UktOU18xMElkZW50aWZpZXJFTlNfN0pTVmFsdWVFagogX19aTjNKU0M4SlNPYmplY3QxOWdldE93
blByb3BlcnR5TmFtZXNFUFMwX1BOU185RXhlY1N0YXRlRVJOU18xN1Byb3BlcnR5TmFtZUFycmF5
RU5TXzE1RW51bWVyYXRpb25Nb2RlRQogX19aTjNKU0M4SlNPYmplY3QyMWRlbGV0ZVByb3BlcnR5
QnlJbmRleEVQTlNfNkpTQ2VsbEVQTlNfOUV4ZWNTdGF0ZUVqCiBfX1pOM0pTQzhKU09iamVjdDIx
Z2V0UHJvcGVydHlEZXNjcmlwdG9yRVBOU185RXhlY1N0YXRlRVJLTlNfMTBJZGVudGlmaWVyRVJO
U18xOFByb3BlcnR5RGVzY3JpcHRvckUKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZGVm
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKaW5kZXggNjZjYjcxMTVkYjE5YzExNzU4Mzc3NzJjMGFj
MDY3MmZiM2E1ZTU2NC4uNTY5NTNhOGNkODY0YzI0YTgxZjc4OWI0MjRhZDVlNTRiZTE3YzIxYyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5kZWYKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5k
ZWYKQEAgLTI2OCw4ICsyNjgsOCBAQCBFWFBPUlRTCiAgICAgP3B1dEJ5SW5kZXhASlNCeXRlQXJy
YXlASlNDQEBTQVhQQVZKU0NlbGxAMkBQQVZFeGVjU3RhdGVAMkBJVkpTVmFsdWVAMkBAWgogICAg
ID9wdXRCeUluZGV4QEpTT2JqZWN0QEpTQ0BAU0FYUEFWSlNDZWxsQDJAUEFWRXhlY1N0YXRlQDJA
SVZKU1ZhbHVlQDJAQFoKICAgICA/cHV0RGlyZWN0SW50ZXJuYWxASlNPYmplY3RASlNDQEBBQUVf
TkFBVkpTR2xvYmFsRGF0YUAyQEFCVklkZW50aWZpZXJAMkBWSlNWYWx1ZUAyQElfTkFBVlB1dFBy
b3BlcnR5U2xvdEAyQFBBVkpTQ2VsbEAyQEBaCi0gICAgP3B1dFdpdGhBdHRyaWJ1dGVzQEpTR2xv
YmFsT2JqZWN0QEpTQ0BAVUFFWFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBWSlNWYWx1
ZUAyQElAWgotICAgID9wdXRXaXRoQXR0cmlidXRlc0BKU09iamVjdEBKU0NAQFVBRVhQQVZFeGVj
U3RhdGVAMkBBQlZJZGVudGlmaWVyQDJAVkpTVmFsdWVAMkBJQFoKKyAgICA/cHV0V2l0aEF0dHJp
YnV0ZXNASlNHbG9iYWxPYmplY3RASlNDQEBTQVhQQVZKU09iamVjdEAyQFBBVkV4ZWNTdGF0ZUAy
QEFCVklkZW50aWZpZXJAMkBWSlNWYWx1ZUAyQElAWgorICAgID9wdXRXaXRoQXR0cmlidXRlc0BK
U09iamVjdEBKU0NAQFNBWFBBVjEyQFBBVkV4ZWNTdGF0ZUAyQEFCVklkZW50aWZpZXJAMkBWSlNW
YWx1ZUAyQElAWgogICAgID9yYW5kb21OdW1iZXJAV1RGQEBZQU5YWgogICAgID9yZWNvbXBpbGVB
bGxKU0Z1bmN0aW9uc0BEZWJ1Z2dlckBKU0NAQFFBRVhQQVZKU0dsb2JhbERhdGFAMkBAWgogICAg
ID9yZWdFeHBGbGFnc0BKU0NAQFlBP0FXNFJlZ0V4cEZsYWdzQDFAQUJWVVN0cmluZ0AxQEBaCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0
aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRp
b24uY3BwCmluZGV4IGY2YzI0MmJhOGRjZGI3NTcwZDRjMGVhMjM1YTdhNTM3OTA5Y2I4OTMuLjVh
N2ZjMjgxNzM5YjkwNzNlOWY1M2IzYTEyZTRkY2M3YzRjODVkYWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uY3BwCkBAIC03
Myw5ICs3MywxMCBAQCB2b2lkIERlYnVnZ2VyQWN0aXZhdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwg
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcgogICAgIHRoaXNPYmplY3QtPm1f
YWN0aXZhdGlvbi0+bWV0aG9kVGFibGUoKS0+cHV0KHRoaXNPYmplY3QtPm1fYWN0aXZhdGlvbi5n
ZXQoKSwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLXZvaWQgRGVidWdn
ZXJBY3RpdmF0aW9uOjpwdXRXaXRoQXR0cmlidXRlcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRl
cykKK3ZvaWQgRGVidWdnZXJBY3RpdmF0aW9uOjpwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCog
b2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcykKIHsKLSAgICBtX2FjdGl2YXRpb24t
PnB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMp
OworICAgIERlYnVnZ2VyQWN0aXZhdGlvbiogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PERlYnVn
Z2VyQWN0aXZhdGlvbio+KG9iamVjdCk7CisgICAgdGhpc09iamVjdC0+bV9hY3RpdmF0aW9uLT5t
ZXRob2RUYWJsZSgpLT5wdXRXaXRoQXR0cmlidXRlcyh0aGlzT2JqZWN0LT5tX2FjdGl2YXRpb24u
Z2V0KCksIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMpOwogfQogCiBib29s
IERlYnVnZ2VyQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3Rh
dGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlckFjdGl2YXRpb24uaAppbmRleCAwYmNi
MTMzYTNkZDI3NTFlNTU4MjQyMGE5M2I0Njk2YTQ5NzljYTI2Li4xZmZiMWU0YzZmYjRkY2JlMWMw
YTczYjUxYzE2YWZkNzAxMTc4YmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGVidWdnZXIvRGVidWdnZXJBY3RpdmF0aW9uLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RlYnVnZ2VyL0RlYnVnZ2VyQWN0aXZhdGlvbi5oCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFj
ZSBKU0MgewogICAgICAgICBzdGF0aWMgVVN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3Qq
KTsKICAgICAgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQ2VsbCosIEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAg
ICAgICAgIHN0YXRpYyB2b2lkIHB1dChKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIFB1dFByb3BlcnR5U2xvdCYpOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKKyAgICAgICAg
c3RhdGljIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25z
dCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
OwogICAgICAgICBzdGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUq
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMgdm9pZCBn
ZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJy
YXkmLCBFbnVtZXJhdGlvbk1vZGUpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2Ny
aXB0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9J
bnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCmluZGV4IDczNDQyMmVhMTgzMDFkYTliN2Q5NjRmYWYyZTM5OTQ2MjEzNTFhOGIu
LjBmYTM2ZDYxM2UyMGFjZjZkODJlYTM0NzE0MTAzYzI4M2ZlODdmZTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcApAQCAtNzkzLDcg
Kzc5Myw3IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoUHJvZ3JhbUV4ZWN1dGFibGUq
IHByb2dyYW0sIENhbGxGcmFtZSogY2FsbEZyYW1lLCBTCiAgICAgICAgICAgICAgICAgICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90OwogICAgICAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPm1l
dGhvZFRhYmxlKCktPnB1dChnbG9iYWxPYmplY3QsIGNhbGxGcmFtZSwgSlNPTlBQYXRoWzBdLm1f
cGF0aEVudHJ5TmFtZSwgSlNPTlBWYWx1ZSwgc2xvdCk7CiAgICAgICAgICAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIGdsb2JhbE9iamVjdC0+cHV0V2l0aEF0dHJpYnV0ZXMoY2Fs
bEZyYW1lLCBKU09OUFBhdGhbMF0ubV9wYXRoRW50cnlOYW1lLCBKU09OUFZhbHVlLCBEb250RW51
bSB8IERvbnREZWxldGUpOworICAgICAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3QtPm1ldGhv
ZFRhYmxlKCktPnB1dFdpdGhBdHRyaWJ1dGVzKGdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLCBKU09O
UFBhdGhbMF0ubV9wYXRoRW50cnlOYW1lLCBKU09OUFZhbHVlLCBEb250RW51bSB8IERvbnREZWxl
dGUpOwogICAgICAgICAgICAgICAgIC8vIHZhciBkZWNsYXJhdGlvbnMgcmV0dXJuIHVuZGVmaW5l
ZAogICAgICAgICAgICAgICAgIHJlc3VsdCA9IGpzVW5kZWZpbmVkKCk7CiAgICAgICAgICAgICAg
ICAgY29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9D
bGFzc0luZm8uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCmlu
ZGV4IGU0ZTIwMmQ4OTNhMzMxMzkzOTQyYmFiOTg3MWI2ZjU3ZmJhZTcyYTguLjdiNWFjZDE4NjI3
MWFiOTgwNjdiNzYwNjMxNDZhN2U0NTYzNzY3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0NsYXNzSW5mby5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0NsYXNzSW5mby5oCkBAIC04Myw2ICs4Myw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgICAgIHR5cGVkZWYgYm9vbCAoKkhhc0luc3RhbmNlRnVuY3Rpb25QdHIpKEpTT2JqZWN0Kiwg
RXhlY1N0YXRlKiwgSlNWYWx1ZSwgSlNWYWx1ZSk7CiAgICAgICAgIEhhc0luc3RhbmNlRnVuY3Rp
b25QdHIgaGFzSW5zdGFuY2U7CisKKyAgICAgICAgdHlwZWRlZiB2b2lkICgqUHV0V2l0aEF0dHJp
YnV0ZXNGdW5jdGlvblB0cikoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOworICAgICAgICBQ
dXRXaXRoQXR0cmlidXRlc0Z1bmN0aW9uUHRyIHB1dFdpdGhBdHRyaWJ1dGVzOwogICAgIH07CiAK
ICNkZWZpbmUgQ1JFQVRFX01FTUJFUl9DSEVDS0VSKG1lbWJlcikgXApAQCAtMTIyLDYgKzEyNSw3
IEBAIHN0cnVjdCBNZW1iZXJDaGVjayMjbWVtYmVyIHsgXAogICAgICAgICAmQ2xhc3NOYW1lOjpn
ZXRQcm9wZXJ0eU5hbWVzLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmNsYXNzTmFtZSwgXAogICAg
ICAgICAmQ2xhc3NOYW1lOjpoYXNJbnN0YW5jZSwgXAorICAgICAgICAmQ2xhc3NOYW1lOjpwdXRX
aXRoQXR0cmlidXRlcywgXAogICAgIH0sIFwKICAgICBzaXplb2YoQ2xhc3NOYW1lKQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uY3BwIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAppbmRleCA0ZDNk
YjgzYzkwZmNmYzQ5OTEzOTcwMTBlMTVmMGRiYTM2ZjFlODU4Li4wNzVkOGRiOTZiM2VkMjVhOWI0
YmFlZDI2N2Y3ODg0MTcxNzZmMDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FjdGl2YXRpb24uY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQWN0aXZhdGlvbi5jcHAKQEAgLTE4MSwxOCArMTgxLDE5IEBAIHZvaWQgSlNBY3RpdmF0
aW9uOjpwdXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXIm
IHByb3BlcnR5CiB9CiAKIC8vIEZJWE1FOiBNYWtlIHRoaXMgZnVuY3Rpb24gaG9ub3IgUmVhZE9u
bHkgKGNvbnN0KSBhbmQgRG9udEVudW0KLXZvaWQgSlNBY3RpdmF0aW9uOjpwdXRXaXRoQXR0cmli
dXRlcyhFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNW
YWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcykKK3ZvaWQgSlNBY3RpdmF0aW9uOjpwdXRX
aXRoQXR0cmlidXRlcyhKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRl
cykKIHsKLSAgICBBU1NFUlQoIUhlYXA6OmhlYXAodmFsdWUpIHx8IEhlYXA6OmhlYXAodmFsdWUp
ID09IEhlYXA6OmhlYXAodGhpcykpOworICAgIEpTQWN0aXZhdGlvbiogdGhpc09iamVjdCA9IHN0
YXRpY19jYXN0PEpTQWN0aXZhdGlvbio+KG9iamVjdCk7CisgICAgQVNTRVJUKCFIZWFwOjpoZWFw
KHZhbHVlKSB8fCBIZWFwOjpoZWFwKHZhbHVlKSA9PSBIZWFwOjpoZWFwKHRoaXNPYmplY3QpKTsK
IAotICAgIGlmIChzeW1ib2xUYWJsZVB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMtPmdsb2JhbERhdGEo
KSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cmlidXRlcykpCisgICAgaWYgKHRoaXNPYmplY3Qt
PnN5bWJvbFRhYmxlUHV0V2l0aEF0dHJpYnV0ZXMoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0
eU5hbWUsIHZhbHVlLCBhdHRyaWJ1dGVzKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2Ug
ZG9uJ3QgY2FsbCB0aHJvdWdoIHRvIEpTT2JqZWN0IGJlY2F1c2UgX19wcm90b19fIGFuZCBnZXR0
ZXIvc2V0dGVyIAogICAgIC8vIHByb3BlcnRpZXMgYXJlIG5vbi1zdGFuZGFyZCBleHRlbnNpb25z
IHRoYXQgb3RoZXIgaW1wbGVtZW50YXRpb25zIGRvIG5vdAogICAgIC8vIGV4cG9zZSBpbiB0aGUg
YWN0aXZhdGlvbiBvYmplY3QuCi0gICAgQVNTRVJUKCFoYXNHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVz
KCkpOwotICAgIEpTT2JqZWN0OjpwdXRXaXRoQXR0cmlidXRlcyhleGVjLCBwcm9wZXJ0eU5hbWUs
IHZhbHVlLCBhdHRyaWJ1dGVzKTsKKyAgICBBU1NFUlQoIXRoaXNPYmplY3QtPmhhc0dldHRlclNl
dHRlclByb3BlcnRpZXMoKSk7CisgICAgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKHRoaXNP
YmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMpOwogfQogCiBib29s
IEpTQWN0aXZhdGlvbjo6ZGVsZXRlUHJvcGVydHkoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4
ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKaW5kZXggYjJkYWVlYzdmMWZjNWIwMWVkZWZkZDEx
NTIyZDM1NDhiM2U1NDBkNC4uOTU4OTI2MjZiZTRmYjlmMDQyZTdjZWFkNDc1ZjQ3MzljMWYxN2Vi
NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9u
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmgKQEAg
LTY0LDcgKzY0LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc3RhdGljIHZvaWQgcHV0
KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCBQdXRQcm9w
ZXJ0eVNsb3QmKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoRXhl
Y1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMp
OworICAgICAgICBzdGF0aWMgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCosIEV4ZWNT
dGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsK
ICAgICAgICAgc3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKTsKIAogICAgICAgICBzdGF0aWMgSlNPYmpl
Y3QqIHRvVGhpc09iamVjdChKU0NlbGwqLCBFeGVjU3RhdGUqKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDkzMWUzZGE2ODFkMzBmNzMyZDlmMzE2ODIwMDYx
ZWIxZTRhM2I2YmEuLjI5ZGM3NTQ2YzE5YTE2MmFmYmNiNTkxZmQ4OGMxMWMwMjJhMzBiY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtMTk2LDQgKzE5Niw5
IEBAIGJvb2wgSlNDZWxsOjpoYXNJbnN0YW5jZShKU09iamVjdCosIEV4ZWNTdGF0ZSosIEpTVmFs
dWUsIEpTVmFsdWUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIEpTQ2VsbDo6cHV0V2l0
aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNW
YWx1ZSwgdW5zaWduZWQpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAppbmRleCA5
NzRhZDU5OWNjZDVmYWIwMGU3MmI4MzZhNGZiN2IwN2EzM2Q3YzI0Li44YTJjODJjMzdlZGFiM2U0
MDAwN2RiMzNjNGRmYTNmZGE4YTZkNjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0NlbGwuaApAQCAtMTQ3LDYgKzE0Nyw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0
aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBnZXRQcm9wZXJ0eU5hbWVzKEpTT2JqZWN0
KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVtZXJhdGlvbk1vZGUpOwogICAg
ICAgICBzdGF0aWMgVVN0cmluZyBjbGFzc05hbWUoY29uc3QgSlNPYmplY3QqKTsKICAgICAgICAg
c3RhdGljIGJvb2wgaGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVlLCBK
U1ZhbHVlIHByb3RvdHlwZVByb3BlcnR5KTsKKyAgICAgICAgc3RhdGljIE5PX1JFVFVSTl9EVUVf
VE9fQVNTRVJUIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBj
b25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9z
dHJ1Y3R1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0ds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9i
amVjdC5jcHAKaW5kZXggMjYwMzRkMjA1MGE1ZTg3M2ZmZGEzNTY4NzY1Y2I0NzBhMWRlNzVkNy4u
OTkyMTk2NzJkNjExOWFjNzYzN2M0NzhhNzk0NmYxM2FlZTQzOTZkOSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTQ2LDIwICsx
NDYsMjEgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRl
KiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXIKICAgICBKU1ZhcmlhYmxlT2JqZWN0Ojpw
dXQodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAKLXZv
aWQgSlNHbG9iYWxPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRy
aWJ1dGVzKQordm9pZCBKU0dsb2JhbE9iamVjdDo6cHV0V2l0aEF0dHJpYnV0ZXMoSlNPYmplY3Qq
IG9iamVjdCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUs
IEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpCiB7Ci0gICAgQVNTRVJUKCFIZWFw
OjpoZWFwKHZhbHVlKSB8fCBIZWFwOjpoZWFwKHZhbHVlKSA9PSBIZWFwOjpoZWFwKHRoaXMpKTsK
KyAgICBKU0dsb2JhbE9iamVjdCogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4ob2JqZWN0KTsKKyAgICBBU1NFUlQoIUhlYXA6OmhlYXAodmFsdWUpIHx8IEhlYXA6Omhl
YXAodmFsdWUpID09IEhlYXA6OmhlYXAodGhpc09iamVjdCkpOwogCi0gICAgaWYgKHN5bWJvbFRh
YmxlUHV0V2l0aEF0dHJpYnV0ZXMoZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIHZh
bHVlLCBhdHRyaWJ1dGVzKSkKKyAgICBpZiAodGhpc09iamVjdC0+c3ltYm9sVGFibGVQdXRXaXRo
QXR0cmlidXRlcyhleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJp
YnV0ZXMpKQogICAgICAgICByZXR1cm47CiAKLSAgICBKU1ZhbHVlIHZhbHVlQmVmb3JlID0gZ2V0
RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lKTsKKyAgICBKU1ZhbHVlIHZh
bHVlQmVmb3JlID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJv
cGVydHlOYW1lKTsKICAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdDsKLSAgICBKU1ZhcmlhYmxlT2Jq
ZWN0OjpwdXQodGhpcywgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CisgICAgSlNW
YXJpYWJsZU9iamVjdDo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUs
IHNsb3QpOwogICAgIGlmICghdmFsdWVCZWZvcmUpIHsKLSAgICAgICAgSlNWYWx1ZSB2YWx1ZUFm
dGVyID0gZ2V0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgcHJvcGVydHlOYW1lKTsKKyAgICAg
ICAgSlNWYWx1ZSB2YWx1ZUFmdGVyID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0KGV4ZWMtPmdsb2Jh
bERhdGEoKSwgcHJvcGVydHlOYW1lKTsKICAgICAgICAgaWYgKHZhbHVlQWZ0ZXIpCi0gICAgICAg
ICAgICBKU09iamVjdDo6cHV0V2l0aEF0dHJpYnV0ZXMoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1
ZUFmdGVyLCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgICAgIEpTT2JqZWN0OjpwdXRXaXRoQXR0cmli
dXRlcyh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlQWZ0ZXIsIGF0dHJpYnV0
ZXMpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsT2JqZWN0LmgKaW5kZXggZjdmYzUxMjNkNTU0NmNhZWM1ZTA4NGRkNmQxZWE5ODE0OTBjOTZi
YS4uYzBlOWY2MzkwYzQ0MmIwOTliMjFmNjAyZWZjZWNiZTFiMjIxMjI2NSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCkBAIC0xODcsNyArMTg3
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNPd25Qcm9wZXJ0
eUZvcldyaXRlKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImKTsKICAgICAgICAgc3RhdGlj
IHZvaWQgcHV0KEpTQ2VsbCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBKU1ZhbHVl
LCBQdXRQcm9wZXJ0eVNsb3QmKTsKIAotICAgICAgICB2aXJ0dWFsIHZvaWQgcHV0V2l0aEF0dHJp
YnV0ZXMoRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
IHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKKyAgICAgICAgc3RhdGljIHZvaWQgcHV0V2l0
aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogCiAgICAgICAgIHN0YXRp
YyB2b2lkIGRlZmluZUdldHRlcihKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImIHByb3BlcnR5TmFtZSwgSlNPYmplY3QqIGdldHRlckZ1bmMsIHVuc2lnbmVkIGF0dHJpYnV0
ZXMpOwogICAgICAgICBzdGF0aWMgdm9pZCBkZWZpbmVTZXR0ZXIoSlNPYmplY3QqLCBFeGVjU3Rh
dGUqLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTT2JqZWN0KiBzZXR0ZXJGdW5j
LCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
T2JqZWN0LmNwcAppbmRleCAzNGFmMmUyZTFlZWJkNTFmMjVmODdlZmU4M2QyOTI3NmM4OGRjOTFh
Li4yNDc4NDc5ZDI4MTUwYmVmZWU0ODMyZDZhMzBkYTU2MGY5NzhhNjZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCkBAIC0yMDAsMTAgKzIwMCwxMCBAQCB2
b2lkIEpTT2JqZWN0OjpwdXRCeUluZGV4KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCB1
bnNpZ25lZCBwcm9wZXJ0eU5hbWUsCiAgICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoKS0+cHV0
KHRoaXNPYmplY3QsIGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgcHJvcGVydHlOYW1lKSwg
dmFsdWUsIHNsb3QpOwogfQogCi12b2lkIEpTT2JqZWN0OjpwdXRXaXRoQXR0cmlidXRlcyhFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1
ZSwgdW5zaWduZWQgYXR0cmlidXRlcykKK3ZvaWQgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVz
KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQogewogICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90OwotICAgIHB1dERpcmVjdEludGVybmFsKGV4ZWMtPmdsb2JhbERh
dGEoKSwgcHJvcGVydHlOYW1lLCB2YWx1ZSwgYXR0cmlidXRlcywgdHJ1ZSwgc2xvdCwgZ2V0SlNG
dW5jdGlvbih2YWx1ZSkpOworICAgIG9iamVjdC0+cHV0RGlyZWN0SW50ZXJuYWwoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyaWJ1dGVzLCB0cnVlLCBzbG90LCBn
ZXRKU0Z1bmN0aW9uKHZhbHVlKSk7CiB9CiAKIHZvaWQgSlNPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1
dGVzKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQpAQCAtNjgzLDcgKzY4Myw3
IEBAIHN0YXRpYyBib29sIHB1dERlc2NyaXB0b3IoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
dGFyZ2V0LCBjb25zdCBJZGVudGlmaWVyJiBwCiAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyB8
PSBTZXR0ZXI7CiAgICAgICAgICAgICAgICAgYWNjZXNzb3ItPnNldFNldHRlcihleGVjLT5nbG9i
YWxEYXRhKCksIGFzT2JqZWN0KG9sZERlc2NyaXB0b3Iuc2V0dGVyKCkpKTsKICAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIHRhcmdldC0+cHV0V2l0aEF0dHJpYnV0ZXMoZXhlYywgcHJvcGVydHlO
YW1lLCBhY2Nlc3NvciwgYXR0cmlidXRlcyk7CisgICAgICAgICAgICB0YXJnZXQtPm1ldGhvZFRh
YmxlKCktPnB1dFdpdGhBdHRyaWJ1dGVzKHRhcmdldCwgZXhlYywgcHJvcGVydHlOYW1lLCBhY2Nl
c3NvciwgYXR0cmlidXRlcyk7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQog
ICAgICAgICBKU1ZhbHVlIG5ld1ZhbHVlID0ganNVbmRlZmluZWQoKTsKQEAgLTY5MSw3ICs2OTEs
NyBAQCBzdGF0aWMgYm9vbCBwdXREZXNjcmlwdG9yKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
IHRhcmdldCwgY29uc3QgSWRlbnRpZmllciYgcAogICAgICAgICAgICAgbmV3VmFsdWUgPSBkZXNj
cmlwdG9yLnZhbHVlKCk7CiAgICAgICAgIGVsc2UgaWYgKG9sZERlc2NyaXB0b3IudmFsdWUoKSkK
ICAgICAgICAgICAgIG5ld1ZhbHVlID0gb2xkRGVzY3JpcHRvci52YWx1ZSgpOwotICAgICAgICB0
YXJnZXQtPnB1dFdpdGhBdHRyaWJ1dGVzKGV4ZWMsIHByb3BlcnR5TmFtZSwgbmV3VmFsdWUsIGF0
dHJpYnV0ZXMgJiB+KEdldHRlciB8IFNldHRlcikpOworICAgICAgICB0YXJnZXQtPm1ldGhvZFRh
YmxlKCktPnB1dFdpdGhBdHRyaWJ1dGVzKHRhcmdldCwgZXhlYywgcHJvcGVydHlOYW1lLCBuZXdW
YWx1ZSwgYXR0cmlidXRlcyAmIH4oR2V0dGVyIHwgU2V0dGVyKSk7CiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KICAgICBhdHRyaWJ1dGVzICY9IH5SZWFkT25seTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDg4YzA3ODNlNGQ1MjMxMWY4ZDE0MGZlNzE2
YmQ5OTU1YWIxNWEzYjUuLjlhZTQxMWZkNmRmMTUyNmJhYmI5MzUxYzQ5MGZmNTA1OTNjNzQ5N2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaApAQCAtMTA2LDcgKzEw
Niw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlNDZWxsKiwg
RXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQdXRQ
cm9wZXJ0eVNsb3QmKTsKICAgICAgICAgc3RhdGljIHZvaWQgcHV0QnlJbmRleChKU0NlbGwqLCBF
eGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUpOwogCi0gICAgICAgIHZp
cnR1YWwgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOworICAgICAgICBz
dGF0aWMgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcyk7
CiAgICAgICAgIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoSlNHbG9iYWxEYXRhKiwgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKIAog
ICAgICAgICBib29sIHByb3BlcnR5SXNFbnVtZXJhYmxlKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50
aWZpZXImIHByb3BlcnR5TmFtZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RhdGljU2NvcGVPYmplY3QuY3BwCmluZGV4IDA2Zjg2NTU1ZjgwODJk
ZWFlNzhlYzEwZGY3ZGVkMTI3YThkMzM3OTYuLmJlMDFkNGU1NzlhYWNkNTMyOGIwNTNkNzk0ZGFm
MjAwMjdlNTg0NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
U3RhdGljU2NvcGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTU3RhdGljU2NvcGVPYmplY3QuY3BwCkBAIC03Myw5ICs3MywxMCBAQCB2b2lkIEpTU3RhdGlj
U2NvcGVPYmplY3Q6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIEpTU3RhdGlj
U2NvcGVPYmplY3Q6OnB1dFdpdGhBdHRyaWJ1dGVzKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRl
bnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVz
KQordm9pZCBKU1N0YXRpY1Njb3BlT2JqZWN0OjpwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCog
b2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZSB2YWx1ZSwgdW5zaWduZWQgYXR0cmlidXRlcykKIHsKLSAgICBpZiAoc3ltYm9sVGFi
bGVQdXRXaXRoQXR0cmlidXRlcyhleGVjLT5nbG9iYWxEYXRhKCksIHByb3BlcnR5TmFtZSwgdmFs
dWUsIGF0dHJpYnV0ZXMpKQorICAgIEpTU3RhdGljU2NvcGVPYmplY3QqIHRoaXNPYmplY3QgPSBz
dGF0aWNfY2FzdDxKU1N0YXRpY1Njb3BlT2JqZWN0Kj4ob2JqZWN0KTsKKyAgICBpZiAodGhpc09i
amVjdC0+c3ltYm9sVGFibGVQdXRXaXRoQXR0cmlidXRlcyhleGVjLT5nbG9iYWxEYXRhKCksIHBy
b3BlcnR5TmFtZSwgdmFsdWUsIGF0dHJpYnV0ZXMpKQogICAgICAgICByZXR1cm47CiAgICAgCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU1N0YXRpY1Njb3BlT2JqZWN0LmgKaW5kZXggM2M1OTQyYTU0ZjgwZjA5MGEzNWIw
Y2U1MDU5NjQ1NmFlMDk2ZTViNC4uYjU5YmIwMzU1Yjk0ZmY1YzAyMGFkYjA5ZDhhYzFlMTUzNmYx
ZmQ4ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdGF0aWNT
Y29wZU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RhdGlj
U2NvcGVPYmplY3QuaApAQCAtNDcsNyArNDcsNyBAQCBuYW1lc3BhY2UgSlNDewogICAgICAgICBz
dGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDZWxsKiwgRXhlY1N0YXRlKiwgY29uc3Qg
SWRlbnRpZmllciYsIFByb3BlcnR5U2xvdCYpOwogICAgICAgICBzdGF0aWMgdm9pZCBwdXQoSlND
ZWxsKiwgRXhlY1N0YXRlKiwgY29uc3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIFB1dFByb3BlcnR5
U2xvdCYpOwogCi0gICAgICAgIHZvaWQgcHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiwgY29u
c3QgSWRlbnRpZmllciYsIEpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOworICAgICAgICBz
dGF0aWMgdm9pZCBwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0
IElkZW50aWZpZXImLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKIAogICAgICAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoSlNHbG9iYWxEYXRhJiBnbG9iYWxEYXRh
LCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvKSB7IHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvLCBUeXBlSW5m
byhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksICZzX2luZm8pOyB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmplY3QuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHAKaW5kZXggNDI1
OGE0MWQyNzJiNGRlZWVjZTgyYzU5YTM1NTI2MzQ3OTExNGYwNC4uNWQxZDIzODY2MTBjMWFhZTE5
OGE5ZjY4N2E2ZGU1ZDkzZDg1N2RkMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5jcHAKQEAgLTY5LDQgKzY5LDkgQEAgYm9vbCBKU1Zh
cmlhYmxlT2JqZWN0OjpzeW1ib2xUYWJsZUdldChjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5RGUKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgSlNWYXJpYWJsZU9i
amVjdDo6cHV0V2l0aEF0dHJpYnV0ZXMoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVu
dGlmaWVyJiwgSlNWYWx1ZSwgdW5zaWduZWQpCit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNWYXJpYWJsZU9iamVjdC5oCmluZGV4IDUzYTM5Y2E1OGNmYWM1NmI1OWQzZWZlNDVl
OTI5MTIwZTUxMWM5NWYuLjlhM2Y1OTdmYWI0OWE5ZjA5NGQwZThjMzU5ZWUwNDNjMzE1MDQyMjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFyaWFibGVPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhcmlhYmxlT2JqZWN0
LmgKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgdmlydHVhbCB+
SlNWYXJpYWJsZU9iamVjdCgpOwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBwdXRXaXRoQXR0cmli
dXRlcyhFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJiwgSlNWYWx1ZSwgdW5zaWduZWQgYXR0
cmlidXRlcykgPSAwOworICAgICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19BU1NFUlQgdm9p
ZCBwdXRXaXRoQXR0cmlidXRlcyhKU09iamVjdCosIEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZp
ZXImLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKIAogICAgICAgICBzdGF0aWMgYm9v
bCBkZWxldGVQcm9wZXJ0eShKU0NlbGwqLCBFeGVjU3RhdGUqLCBjb25zdCBJZGVudGlmaWVyJik7
CiAgICAgICAgIHN0YXRpYyB2b2lkIGdldE93blByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBFeGVj
U3RhdGUqLCBQcm9wZXJ0eU5hbWVBcnJheSYsIEVudW1lcmF0aW9uTW9kZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwCmluZGV4IDFlOWZiNWY2
OWQzYzdlMTYzYTA4MDk3MDIwMTY0ZTdkY2RlMGY0OTIuLjZiNGE1ZmUwZDYwNzAyZmYzOTMzMThh
YTI0MGI3YTNmZDA1YTY3M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93U2hlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93U2hlbGwuY3BwCkBAIC0xMDcsOSArMTA3LDEwIEBAIHZvaWQgSlNET01XaW5kb3dT
aGVsbDo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVy
JiBwcm9wCiAgICAgdGhpc09iamVjdC0+d2luZG93KCktPm1ldGhvZFRhYmxlKCktPnB1dCh0aGlz
T2JqZWN0LT53aW5kb3coKSwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiB9CiAK
LXZvaWQgSlNET01XaW5kb3dTaGVsbDo6cHV0V2l0aEF0dHJpYnV0ZXMoRXhlY1N0YXRlKiBleGVj
LCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUgdmFsdWUsIHVuc2lnbmVk
IGF0dHJpYnV0ZXMpCit2b2lkIEpTRE9NV2luZG93U2hlbGw6OnB1dFdpdGhBdHRyaWJ1dGVzKEpT
T2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKQogewotICAgIHdpbmRv
dygpLT5wdXRXaXRoQXR0cmlidXRlcyhleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBhdHRyaWJ1
dGVzKTsKKyAgICBKU0RPTVdpbmRvd1NoZWxsKiB0aGlzT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNE
T01XaW5kb3dTaGVsbCo+KG9iamVjdCk7CisgICAgdGhpc09iamVjdC0+d2luZG93KCktPnB1dFdp
dGhBdHRyaWJ1dGVzKHRoaXNPYmplY3QtPndpbmRvdygpLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZh
bHVlLCBhdHRyaWJ1dGVzKTsKIH0KIAogYm9vbCBKU0RPTVdpbmRvd1NoZWxsOjpkZWZpbmVPd25Q
cm9wZXJ0eShKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9w
ZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJiBkZXNjcmlwdG9yLCBib29sIHNob3Vs
ZFRocm93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dTaGVsbC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5o
CmluZGV4IDc4MmUxMjNjZjA3Nzc3YzA5MWY5YTQxN2EzZTYyZTAyZDAxZDc2ZDIuLjlkOTIxYzk2
MDJlZDcyMWFkY2IwYjQzMjJhY2M4NDBiN2M5ZWExNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgKQEAgLTgyLDcgKzgyLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNDOjpK
U0NlbGwqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlO
YW1lLCBKU0M6OlByb3BlcnR5U2xvdCYpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJv
cGVydHlEZXNjcmlwdG9yKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBw
cm9wZXJ0eU5hbWUsIEpTQzo6UHJvcGVydHlEZXNjcmlwdG9yJik7CiAgICAgICAgIHN0YXRpYyB2
b2lkIHB1dChKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlm
aWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgSlNDOjpQdXRQcm9wZXJ0eVNsb3QmKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6SlNWYWx1ZSwgdW5zaWdu
ZWQgYXR0cmlidXRlcyk7CisgICAgICAgIHN0YXRpYyB2b2lkIHB1dFdpdGhBdHRyaWJ1dGVzKEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJv
cGVydHlOYW1lLCBKU0M6OkpTVmFsdWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMpOwogICAgICAgICBz
dGF0aWMgYm9vbCBkZWxldGVQcm9wZXJ0eShKU0M6OkpTQ2VsbCosIEpTQzo6RXhlY1N0YXRlKiwg
Y29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUpOwogICAgICAgICBzdGF0aWMgdm9p
ZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6UHJvcGVydHlOYW1lQXJyYXkmLCBKU0M6OkVudW1lcmF0aW9uTW9kZSk7CiAgICAgICAgIHN0
YXRpYyB2b2lkIGdldFByb3BlcnR5TmFtZXMoSlNDOjpKU09iamVjdCosIEpTQzo6RXhlY1N0YXRl
KiwgSlNDOjpQcm9wZXJ0eU5hbWVBcnJheSYsIEpTQzo6RW51bWVyYXRpb25Nb2RlKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>