<?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>69673</bug_id>
          
          <creation_ts>2011-10-07 14:51:33 -0700</creation_ts>
          <short_desc>Add static version of JSCell::getConstructData</short_desc>
          <delta_ts>2011-10-08 16:25:54 -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>
          
          <blocked>67690</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>480326</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-07 14:51:33 -0700</bug_when>
    <thetext>On the path to de-virtualizing JSCell, we come to getConstructData.  We first need to add static versions of the functions to be called by the corresponding virtual methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480328</commentid>
    <comment_count>1</comment_count>
      <attachid>110221</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2011-10-07 14:54:59 -0700</bug_when>
    <thetext>Created attachment 110221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480381</commentid>
    <comment_count>2</comment_count>
      <attachid>110221</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-10-07 16:40:32 -0700</bug_when>
    <thetext>Comment on attachment 110221
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480631</commentid>
    <comment_count>3</comment_count>
      <attachid>110221</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-08 16:25:50 -0700</bug_when>
    <thetext>Comment on attachment 110221
Patch

Clearing flags on attachment: 110221

Committed r97016: &lt;http://trac.webkit.org/changeset/97016&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480632</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-08 16:25:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110221</attachid>
            <date>2011-10-07 14:54:59 -0700</date>
            <delta_ts>2011-10-08 16:25:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69673-20111007145500.patch</filename>
            <type>text/plain</type>
            <size>37472</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY5NjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmNwcAppbmRleCA5ZDcyNDcwM2M0YjQ2ZWU1MGZl
MWY4NWJjZDg2YzhmNmJiY2FjMjE3Li45NjZkMzRhZGIyNzBhYzJlNzJhZjE1NGM0OWE4NDRkYTZh
YzExNjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tD
b25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNr
Q29uc3RydWN0b3IuY3BwCkBAIC04OCw2ICs4OCwxMSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0NhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYykKIAogQ29u
c3RydWN0VHlwZSBKU0NhbGxiYWNrQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29uc3Ry
dWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKKyAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0
aGlzLCBjb25zdHJ1Y3REYXRhKTsKK30KKworQ29uc3RydWN0VHlwZSBKU0NhbGxiYWNrQ29uc3Ry
dWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0
RGF0YSkKK3sKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdEpT
Q2FsbGJhY2s7CiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVIb3N0OwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0NvbnN0cnVjdG9yLmgKaW5kZXggNzIwZmRm
YzQxZDE3OTcyOTgyY2M5ZDU1NTE3ODM5MDU1ODQ5YWNjMi4uNDZlYTgyMGI2NzA1NTE2MzVhYzhl
MGVmMGVjZmUzYWZjN2M1ZjViNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oCkBAIC01OSw2ICs1OSw3IEBAIHByb3RlY3RlZDoKIAog
cHJpdmF0ZToKICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25z
dHJ1Y3REYXRhJik7CisgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShK
U0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAKICAgICBKU0NsYXNzUmVmIG1fY2xhc3M7CiAgICAg
SlNPYmplY3RDYWxsQXNDb25zdHJ1Y3RvckNhbGxiYWNrIG1fY2FsbGJhY2s7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdC5oCmluZGV4IGZlYjdkOTdjOWU0MGY3
ZDMxNTQzZTA3MzBiMjMxOTMwMGVkMWUwNTcuLmI1ZGNkMDgwOTdiZDIwNmY5MTQ3NTUyNTM1ZWQw
NjViZDMxNjZhNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxs
YmFja09iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja09i
amVjdC5oCkBAIC0xOTQsNiArMTk0LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFVTdHJpbmcg
dG9TdHJpbmcoRXhlY1N0YXRlKikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUg
Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJik7CisgICAgc3RhdGljIENvbnN0cnVjdFR5
cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgdmlydHVh
bCBDYWxsVHlwZSBnZXRDYWxsRGF0YVZpcnR1YWwoQ2FsbERhdGEmKTsKICAgICBzdGF0aWMgQ2Fs
bFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAppbmRleCBk
YjM4MzZiNmZhNGUxNmQ2MzZkMDYyMWEyM2YxYzM5NzVmZDJmM2JiLi43MjUyOTIyMTU4NmM5MTdl
YmRmMTE4YTlhMmJmZDk4ZTc4ZDI5OTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtMzEwLDcgKzMxMCwxNCBA
QCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6ZGVsZXRlUHJvcGVydHkoRXhlY1N0YXRl
KiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eQogdGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KIENvbnN0
cnVjdFR5cGUgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0
cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7Ci0gICAgZm9yIChKU0NsYXNzUmVmIGpzQ2xhc3Mg
PSBjbGFzc1JlZigpOyBqc0NsYXNzOyBqc0NsYXNzID0ganNDbGFzcy0+cGFyZW50Q2xhc3MpIHsK
KyAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKK30KKwor
dGVtcGxhdGUgPGNsYXNzIFBhcmVudD4KK0NvbnN0cnVjdFR5cGUgSlNDYWxsYmFja09iamVjdDxQ
YXJlbnQ+OjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCogY2VsbCwgQ29uc3RydWN0RGF0YSYgY29u
c3RydWN0RGF0YSkKK3sKKyAgICBKU0NhbGxiYWNrT2JqZWN0KiB0aGlzT2JqZWN0ID0gc3RhdGlj
X2Nhc3Q8SlNDYWxsYmFja09iamVjdCo+KGNlbGwpOworICAgIGZvciAoSlNDbGFzc1JlZiBqc0Ns
YXNzID0gdGhpc09iamVjdC0+Y2xhc3NSZWYoKTsganNDbGFzczsganNDbGFzcyA9IGpzQ2xhc3Mt
PnBhcmVudENsYXNzKSB7CiAgICAgICAgIGlmIChqc0NsYXNzLT5jYWxsQXNDb25zdHJ1Y3Rvcikg
ewogICAgICAgICAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3Q7
CiAgICAgICAgICAgICByZXR1cm4gQ29uc3RydWN0VHlwZUhvc3Q7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5n
ZUxvZwppbmRleCBiYzU2ZDJmY2EwZTU0NmM0ZTZkMDQ3MmM4YmFmNzhlMTZmZWIxYmU4Li5iMmM4
NzlkZjNjYjk3MTMzNDIwMjhkOTZlMWU2ZGNhM2RlZGE0OWU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw1NyBAQAorMjAxMS0xMC0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhh
aG5lbmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdGF0aWMgdmVyc2lvbiBvZiBKU0Nl
bGw6OmdldENvbnN0cnVjdERhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY5NjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgc3RhdGljIHZlcnNpb24gb2YgZ2V0Q29uc3RydWN0RGF0YSB0byBh
bGwgY2xhc3NlcyB0aGF0IAorICAgICAgICBvdmVycmlkZSBpdCBhbmQgY2hhbmdlZCB0aGUgdmly
dHVhbCB2ZXJzaW9ucyB0byBjYWxsIHRoZSBzdGF0aWMgCisgICAgICAgIHZlcnNpb25zLiAgVGhp
cyBpcyB0aGUgZmlyc3Qgc3RlcCBpbiBkZS12aXJ0dWFsaXppbmcgSlNDZWxsOjpnZXRDb25zdHJ1
Y3REYXRhLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHA6CisgICAg
ICAgIChKU0M6OkpTQ2FsbGJhY2tDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAg
ICAgICogQVBJL0pTQ2FsbGJhY2tDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIEFQSS9KU0NhbGxi
YWNrT2JqZWN0Lmg6CisgICAgICAgICogQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaDoK
KyAgICAgICAgKEpTQzo6OjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1lL0Fy
cmF5Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpBcnJheUNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1lL0FycmF5Q29uc3RydWN0b3IuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6OkJv
b2xlYW5Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogcnVudGltZS9C
b29sZWFuQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5j
cHA6CisgICAgICAgIChKU0M6OkRhdGVDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YSk6Cisg
ICAgICAgICogcnVudGltZS9EYXRlQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0Vy
cm9yQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpFcnJvckNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaDoKKyAg
ICAgICAgKiBydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoSlNDOjpG
dW5jdGlvbkNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1l
L0Z1bmN0aW9uQ29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL0pTQ2VsbC5jcHA6Cisg
ICAgICAgIChKU0M6OkpTQ2VsbDo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogcnVudGlt
ZS9KU0NlbGwuaDoKKyAgICAgICAgKiBydW50aW1lL0pTRnVuY3Rpb24uY3BwOgorICAgICAgICAo
SlNDOjpKU0Z1bmN0aW9uOjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBydW50aW1lL0pT
RnVuY3Rpb24uaDoKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRh
KToKKyAgICAgICAgKiBydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaDoKKyAgICAgICAg
KiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6TnVtYmVyQ29u
c3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEpOgorICAgICAgICAqIHJ1bnRpbWUvTnVtYmVyQ29u
c3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6T2JqZWN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEpOgorICAgICAg
ICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaDoKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4
cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6UmVnRXhwQ29uc3RydWN0b3I6OmdldENv
bnN0cnVjdERhdGEpOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaDoKKyAg
ICAgICAgKiBydW50aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6U3Ry
aW5nQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEpOgorICAgICAgICAqIHJ1bnRpbWUvU3Ry
aW5nQ29uc3RydWN0b3IuaDoKKwogMjAxMS0xMC0wNyAgRG9taW5pYyBDb29uZXkgIDxkb21pbmlj
Y0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0pTQ10gRGlzYWJsZSBUaHJlYWRSZXN0cmljdGlv
blZlcmlmaWVyIGZvciBKSVQgRXhlY3V0YWJsZU1lbW9yeUhhbmRsZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKaW5kZXggNDUzOGNi
ODQzOTQ4NDM1YmZjNmQ3ZmJmNjljZGI0YWY1YzRkNDhiOS4uYjU2NjIyOTZhMGYyZTZmNjU5ZmIz
ZjViYmVkZGExYTE5ZjFmMGE4MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5jcHAKQEAgLTk5LDYgKzk5LDExIEBAIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhBcnJheUNvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXhlCiAKIENvbnN0cnVjdFR5cGUgQXJyYXlDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3Ry
dWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogeworICAgIHJldHVybiBnZXRD
b25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOworfQorCitDb25zdHJ1Y3RUeXBlIEFy
cmF5Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYg
Y29uc3RydWN0RGF0YSkKK3sKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNv
bnN0cnVjdFdpdGhBcnJheUNvbnN0cnVjdG9yOwogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9z
dDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29u
c3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5Q29uc3RydWN0
b3IuaAppbmRleCBjNDZkY2IyMzYzMmRhYjRmYzdiODY2ZjlhN2MwNzcwM2UzNjFlMDI2Li5lOTQx
ZDhmZDExYjFjN2JhZTA2YjcyMmExODJiNWRmYjVjOWYxOGRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlDb25zdHJ1Y3Rvci5oCkBAIC01NSw2ICs1NSw3IEBA
IG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKEV4ZWNTdGF0ZSosIGNvbnN0IElkZW50aWZpZXImLCBQcm9wZXJ0eURlc2NyaXB0b3Im
KTsKIAogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25z
dHJ1Y3REYXRhJik7CisgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdl
dENhbGxEYXRhVmlydHVhbChDYWxsRGF0YSYpOwogICAgICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0
Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5jcHAKaW5kZXggN2NiZGVi
MzY4ZTZlN2ZlMjY3N2FkZWMwZTZjZjUxMGVmMzI2MTEyMC4uZTNkMDI0MmRlMmViYThhOGUzODJm
MTIwMjkxY2UyZjMzZmE3NmJiZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQm9vbGVhbkNvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9Cb29sZWFuQ29uc3RydWN0b3IuY3BwCkBAIC02MCw2ICs2MCwxMSBAQCBzdGF0aWMg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoQm9vbGVhbkNvbnN0cnVj
dG9yKEV4ZWNTdGF0ZSogZQogCiBDb25zdHJ1Y3RUeXBlIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Z2V0
Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogeworICAgIHJldHVy
biBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOworfQorCitDb25zdHJ1Y3RU
eXBlIEJvb2xlYW5Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1
Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQorewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0
aW9uID0gY29uc3RydWN0V2l0aEJvb2xlYW5Db25zdHJ1Y3RvcjsKICAgICByZXR1cm4gQ29uc3Ry
dWN0VHlwZUhvc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9Cb29sZWFuQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jv
b2xlYW5Db25zdHJ1Y3Rvci5oCmluZGV4IGE5ODljMzA3ZTdmNDVjZGYwZDYzZTg2ZWM5OGUyMDBm
MjQ5M2NiY2YuLmIzNjA1MDIwMDU2NGUzNmFkNTNjZDYyMzhkMDNkNGUzNmI3MjNlMzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Jvb2xlYW5Db25zdHJ1Y3Rvci5o
CkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHByaXZhdGU6CiAgICAgICAg
IEJvb2xlYW5Db25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAg
ICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJik7
CisgICAgICAgIHN0YXRpYyBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwg
Q29uc3RydWN0RGF0YSYpOwogICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhVmly
dHVhbChDYWxsRGF0YSYpOwogICAgICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlND
ZWxsKiwgQ2FsbERhdGEmKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5jcHAKaW5kZXggM2VhMTYzN2RiZDUxY2ZiMThlZjBjNzBk
Zjg1MjgzYzhmMzliMDk0Yy4uMGQ0NDE3YWY3MmUxYjlmOWRiMDQ1OTljZjY3NDQzMzI5MzU0YjQz
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVj
dG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlQ29uc3RydWN0
b3IuY3BwCkBAIC0xNTgsNiArMTU4LDExIEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIGNvbnN0cnVjdFdpdGhEYXRlQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjCiAKIENv
bnN0cnVjdFR5cGUgRGF0ZUNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERh
dGEmIGNvbnN0cnVjdERhdGEpCiB7CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywg
Y29uc3RydWN0RGF0YSk7Cit9CisKK0NvbnN0cnVjdFR5cGUgRGF0ZUNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CiAg
ICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoRGF0ZUNvbnN0
cnVjdG9yOwogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9zdDsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RhdGVDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZUNvbnN0cnVjdG9yLmgKaW5kZXggMDZkYzk0YThiN2Iw
YzM0Y2YxZDA5YWQyNDgyNGEzMjc1ZjlkNGIwNi4uYmYxMzM5YzU5NzI5NzU2ODFlNmY4YzVkMmRj
ODllY2E5YjY1ZTgzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RGF0ZUNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0
ZUNvbnN0cnVjdG9yLmgKQEAgLTUyLDYgKzUyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHJp
dmF0ZToKICAgICAgICAgRGF0ZUNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Kik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENvbnN0
cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5cGUgZ2V0
Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlwZSBnZXRD
YWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuY3BwCmluZGV4IDdhMDAyYmExMzM3YjAyZmE5
YzMzMDMzMWFkZWQwMzQ5MDJhOGE1ZTAuLjdiZDI3OGU4OGIxYjQ3MDk4ODk0ODQ1N2ZhMTdjOTEw
MmMzZGY2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9y
Q29uc3RydWN0b3IuY3BwCkBAIC01NSw2ICs1NSwxMSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4
ZQogCiBDb25zdHJ1Y3RUeXBlIEVycm9yQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29u
c3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKKyAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0
YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKK30KKworQ29uc3RydWN0VHlwZSBFcnJvckNvbnN0cnVj
dG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERh
dGEpCit7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRo
RXJyb3JDb25zdHJ1Y3RvcjsKICAgICByZXR1cm4gQ29uc3RydWN0VHlwZUhvc3Q7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckNvbnN0cnVjdG9yLmgKaW5kZXgg
YjdkODgxYjNjMjM3NGIyOTFmZmRjYWI5MzdjYmU3ZGQ2ODNiN2ZlNC4uYmRhZjMxZDNlMjk4Y2Jj
MTFlNzIwY2RiZWE0ZDA4ZmJiOTU0ODE0NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0Vycm9yQ29uc3RydWN0b3IuaApAQCAtNTIsNiArNTIsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICBwcml2YXRlOgogICAgICAgICBFcnJvckNvbnN0cnVjdG9yKEpTR2xvYmFsT2Jq
ZWN0KiwgU3RydWN0dXJlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUg
Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1
YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJik7CiAgICAgICAgIHN0YXRp
YyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvbkNvbnN0cnVjdG9y
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IDc2NzgyMjQ2NmZhNzE0OTJkNzc5NzE4OTE3NDBiYjc1ODIyZTcyYzAuLjk2ZTM4
ZGRiMjE3OGM0Nzk3MDA4M2VlY2IwOTU0ZDRkYTRiZmYzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuY3BwCkBAIC02MSw2
ICs2MSwxMSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RX
aXRoRnVuY3Rpb25Db25zdHJ1Y3RvcihFeGVjU3RhdGUqCiAKIENvbnN0cnVjdFR5cGUgRnVuY3Rp
b25Db25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3RE
YXRhKQogeworICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEp
OworfQorCitDb25zdHJ1Y3RUeXBlIEZ1bmN0aW9uQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKICAgICBjb25zdHJ1
Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdFdpdGhGdW5jdGlvbkNvbnN0cnVjdG9y
OwogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9zdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uQ29uc3RydWN0b3IuaAppbmRleCAyMmE2MDE2Yjc4
NTNiZDE2ODI5ZTY1NTE3NjdkZjMxMGEwNjhlZTgxLi5iZTRhYjZhZTkyMmY1NDc3N2RhZDkwMmE3
Yjg0ZWVjMTI5MWE3NDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9GdW5jdGlvbkNvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRnVuY3Rpb25Db25zdHJ1Y3Rvci5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVzcGFjZSBKU0Mg
ewogICAgICAgICBGdW5jdGlvbkNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJl
Kik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgRnVuY3Rpb25Qcm90
b3R5cGUqKTsKICAgICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEo
Q29uc3RydWN0RGF0YSYpOworICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1
Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlw
ZSBnZXRDYWxsRGF0YVZpcnR1YWwoQ2FsbERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxUeXBl
IGdldENhbGxEYXRhKEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0NlbGwuY3BwCmluZGV4IDc5YTAxNDQ3NGVkMDAxNDc1MDE5YjBhOTgw
ODcyNTY3ODFiNzNiNjIuLjMwODM5YjllYWIxMmZmMDI0NDFmZDU3MTY3MmQzNjhkYTMwNjA2Zjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmNwcApAQCAtNjksNiArNjks
MTEgQEAgQ29uc3RydWN0VHlwZSBKU0NlbGw6OmdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0
YSYpCiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVOb25lOwogfQogCitDb25zdHJ1Y3RUeXBlIEpT
Q2VsbDo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJikKK3sKKyAgICBy
ZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7Cit9CisKIGJvb2wgSlNDZWxsOjpnZXRPd25Qcm9wZXJ0
eVNsb3QoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudGlmaWVyLCBQcm9w
ZXJ0eVNsb3QmIHNsb3QpCiB7CiAgICAgLy8gVGhpcyBpcyBub3QgYSBnZW5lcmFsIHB1cnBvc2Ug
aW1wbGVtZW50YXRpb24gb2YgZ2V0T3duUHJvcGVydHlTbG90LgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0NlbGwuaAppbmRleCBjY2MxZTk5MGU4YjhiZWY0YzU5Yjg4MWJhNWJlYmYyOTZm
YzQ4YmVmLi4xOWMyYzFmZWI3NzA2MmUyZjMyMjAwNTI1Yzk0ZmZiOTZlMzU1M2Q0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaApAQCAtNzYsNiArNzYsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0YVZpcnR1YWwoQ2Fs
bERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRhKEpTQ2VsbCosIENh
bGxEYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRh
KENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAKICAgICAgICAgLy8gQmFzaWMgY29u
dmVyc2lvbnMuCiAgICAgICAgIEpTVmFsdWUgdG9QcmltaXRpdmUoRXhlY1N0YXRlKiwgUHJlZmVy
cmVkUHJpbWl0aXZlVHlwZSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTRnVuY3Rpb24uY3BwCmluZGV4IGZiZWRkZWQ4MWMyOTI4YWI1ZTBmMjU0ZmQxM2UwMTc1NDcw
MzkxM2MuLjAzMzlkYWJlMTFiOTY4M2E0ZjgzMzcyYjQwYzA3YjZjYTI3ZWFhZmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwCkBAIC0zMzUsMTUgKzMz
NSwyMSBAQCBib29sIEpTRnVuY3Rpb246OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywg
Y29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lKQogICAgIHJldHVybiBCYXNlOjpkZWxldGVQ
cm9wZXJ0eShleGVjLCBwcm9wZXJ0eU5hbWUpOwogfQogCi0vLyBFQ01BIDEzLjIuMiBbW0NvbnN0
cnVjdF1dCiBDb25zdHJ1Y3RUeXBlIEpTRnVuY3Rpb246OmdldENvbnN0cnVjdERhdGEoQ29uc3Ry
dWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKLSAgICBpZiAoaXNIb3N0RnVuY3Rpb24oKSkgewot
ICAgICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IG5hdGl2ZUNvbnN0cnVjdG9y
KCk7CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Cit9
CisKKy8vIEVDTUEgMTMuMi4yIFtbQ29uc3RydWN0XV0KK0NvbnN0cnVjdFR5cGUgSlNGdW5jdGlv
bjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqIGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVj
dERhdGEpCit7CisgICAgSlNGdW5jdGlvbiogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTRnVu
Y3Rpb24qPihjZWxsKTsKKyAgICBpZiAodGhpc09iamVjdC0+aXNIb3N0RnVuY3Rpb24oKSkgewor
ICAgICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IHRoaXNPYmplY3QtPm5hdGl2
ZUNvbnN0cnVjdG9yKCk7CiAgICAgICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9zdDsKICAgICB9
Ci0gICAgY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUgPSBqc0V4ZWN1dGFibGUo
KTsKLSAgICBjb25zdHJ1Y3REYXRhLmpzLnNjb3BlQ2hhaW4gPSBzY29wZSgpOworICAgIGNvbnN0
cnVjdERhdGEuanMuZnVuY3Rpb25FeGVjdXRhYmxlID0gdGhpc09iamVjdC0+anNFeGVjdXRhYmxl
KCk7CisgICAgY29uc3RydWN0RGF0YS5qcy5zY29wZUNoYWluID0gdGhpc09iamVjdC0+c2NvcGUo
KTsKICAgICByZXR1cm4gQ29uc3RydWN0VHlwZUpTOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5kZXggOTFjM2NjZmQ5NTI0YzJjOWNkMzUwODUzYjYw
NjUyYmIyZTEwZmFhYi4uZjFlZDRjMWE2ODVhYmNlM2IwYWMyOTVmNWE2ZDE0OWI2YWIyZDdiYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTA5LDYg
KzEwOSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBOYXRpdmVGdW5jdGlvbiBuYXRpdmVD
b25zdHJ1Y3RvcigpOwogCiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1
Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0
Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwg
Q2FsbFR5cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJik7CiAgICAgICAgIHN0YXRpYyBD
YWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9yLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3Bw
CmluZGV4IGYyZTZiY2NmNzEwODNmZjI0ZjNhZDU1OTY4ZGY5ZjliYzliNTk5ZGUuLmQ0M2NjMTg4
MTgyNDJlZDg2Mjk1NzZlZWY5YzQ4NmM3ZDQ5YmFhMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuY3BwCkBAIC01
OCw2ICs1OCwxMSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1
Y3RXaXRoTmF0aXZlRXJyb3JDb25zdHJ1Y3RvcihFeGVjU3RhdAogCiBDb25zdHJ1Y3RUeXBlIE5h
dGl2ZUVycm9yQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYgY29u
c3RydWN0RGF0YSkKIHsKKyAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1
Y3REYXRhKTsKK30KKworQ29uc3RydWN0VHlwZSBOYXRpdmVFcnJvckNvbnN0cnVjdG9yOjpnZXRD
b25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CiAg
ICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoTmF0aXZlRXJy
b3JDb25zdHJ1Y3RvcjsKICAgICByZXR1cm4gQ29uc3RydWN0VHlwZUhvc3Q7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9y
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OYXRpdmVFcnJvckNvbnN0cnVjdG9y
LmgKaW5kZXggNjdmNTI4ZDBhZTcyZTNmOWIxMzYxNzBiMzM2ZTI4NDVlZGJhOGE3My4uZjMwMWNh
YTViMDVkZjBmNDZjNGJhNzQwNTk5NGJiNmMxMzY5OGQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTmF0aXZlRXJyb3JDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL05hdGl2ZUVycm9yQ29uc3RydWN0b3IuaApAQCAtNjks
NiArNjksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgTmF0aXZlRXJyb3JDb25zdHJ1Y3Rv
cihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgU3RydWN0dXJlRmxhZ3MgPSBPdmVycmlkZXNWaXNpdENoaWxkcmVuIHwgSW50ZXJuYWxG
dW5jdGlvbjo6U3RydWN0dXJlRmxhZ3M7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBn
ZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAg
IHZpcnR1YWwgQ2FsbFR5cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJik7CiAgICAgICAg
IHN0YXRpYyBDYWxsVHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgICAg
ICBzdGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5jcHAK
aW5kZXggZmNhMDIyYjE0ZjkwNzVjOWUyMzIyNDNhMTM0ODQwNjMwNzQyYzA5OC4uYTM1MGFjOTMz
M2JhZDBhYTZjNjIyYjVjZDdmYmM1NmQyYmEzYmU0OCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcApAQCAtMTE3LDYgKzExNywx
MSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RXaXRoTnVt
YmVyQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleAogCiBDb25zdHJ1Y3RUeXBlIE51bWJlckNvbnN0
cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7
CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Cit9CisK
K0NvbnN0cnVjdFR5cGUgTnVtYmVyQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoSlNDZWxs
KiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKICAgICBjb25zdHJ1Y3REYXRhLm5h
dGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdFdpdGhOdW1iZXJDb25zdHJ1Y3RvcjsKICAgICByZXR1
cm4gQ29uc3RydWN0VHlwZUhvc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuaAppbmRleCA4YWVhNjkwN2EzMjZlYmEwNTM1ZWYzMWFh
MjRkYjBhMDZlN2VjZGUyLi45MTBjNWQxNjFlYjBhMzBlZDUzYmQ3YWRjNTFiMzdjMmYzMTFiNWFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1
Y3Rvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVj
dG9yLmgKQEAgLTU4LDYgKzU4LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgcHJpdmF0ZToKICAg
ICAgICAgTnVtYmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqLCBTdHJ1Y3R1cmUqKTsKICAg
ICAgICAgdmlydHVhbCBDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0
YSYpOworICAgICAgICBzdGF0aWMgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2Vs
bCosIENvbnN0cnVjdERhdGEmKTsKICAgICAgICAgdmlydHVhbCBDYWxsVHlwZSBnZXRDYWxsRGF0
YVZpcnR1YWwoQ2FsbERhdGEmKTsKICAgICAgICAgc3RhdGljIENhbGxUeXBlIGdldENhbGxEYXRh
KEpTQ2VsbCosIENhbGxEYXRhJik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCAxYTM5YzE4OWRjN2JjMjc2
NTVlNzk4OTg0MzYzMTQ3OTQxMzRhNTNlLi41NDU2ZTE5OGU2NjRmODdjZWFiMGEzNTBlOTJhNGI4
NTg4MzM1ZmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2Jq
ZWN0Q29uc3RydWN0b3IuY3BwCkBAIC0xMTYsNiArMTE2LDExIEBAIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIGNvbnN0cnVjdFdpdGhPYmplY3RDb25zdHJ1Y3RvcihFeGVjU3Rh
dGUqIGV4CiAKIENvbnN0cnVjdFR5cGUgT2JqZWN0Q29uc3RydWN0b3I6OmdldENvbnN0cnVjdERh
dGEoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKKyAgICByZXR1cm4gZ2V0Q29uc3Ry
dWN0RGF0YSh0aGlzLCBjb25zdHJ1Y3REYXRhKTsKK30KKworQ29uc3RydWN0VHlwZSBPYmplY3RD
b25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25z
dHJ1Y3REYXRhKQorewogICAgIGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3Ry
dWN0V2l0aE9iamVjdENvbnN0cnVjdG9yOwogICAgIHJldHVybiBDb25zdHJ1Y3RUeXBlSG9zdDsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0
cnVjdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rv
ci5oCmluZGV4IGRkZjNjYWY0YzQxMWMyYmE4MGE4NjJkZmUwNzFhMmQ3ZGEzMDA5NTcuLmNjZTUx
N2QzMjQwYTk0YmY5M2UyNmU3YTRiYTA4NTZkMGQ1ZTJmZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdENvbnN0cnVjdG9yLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuaApAQCAtNTUsNiArNTUsNyBA
QCBuYW1lc3BhY2UgSlNDIHsKICAgICBwcml2YXRlOgogICAgICAgICBPYmplY3RDb25zdHJ1Y3Rv
cihKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIHN0YXRpYyBD
b25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwog
ICAgICAgICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhVmlydHVhbChDYWxsRGF0YSYpOwog
ICAgICAgICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsK
ICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
Q29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29u
c3RydWN0b3IuY3BwCmluZGV4IGQwZWE5YTEwZGRlMjJjZWRkZDdjODJhMWNmYmU2MGQ3NWRjNjcz
MDguLjZhNzE2OGJiM2ZlYTY5MzBiZWM1ODc5YTNmODdiOWIzMGE4ZTgxNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKQEAg
LTM0Niw2ICszNDYsMTEgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29u
c3RydWN0V2l0aFJlZ0V4cENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXgKIAogQ29uc3RydWN0VHlw
ZSBSZWdFeHBDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25z
dHJ1Y3REYXRhKQogeworICAgIHJldHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVj
dERhdGEpOworfQorCitDb25zdHJ1Y3RUeXBlIFJlZ0V4cENvbnN0cnVjdG9yOjpnZXRDb25zdHJ1
Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CiAgICAgY29u
c3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RXaXRoUmVnRXhwQ29uc3RydWN0
b3I7CiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVIb3N0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmgKaW5kZXggZGVlNDg0NDUxZDU4
ZjlmMzQzMWRlZmI5ZTg1ZWQ1NTIxZGNkMzJiMi4uYTQ2NTMwM2YxMzcyOTcwM2IwMTRhYjY2NTQ0
ZjQwOTE5ZWI2NDg4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5oCkBAIC05OCw2ICs5OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
IHByaXZhdGU6CiAgICAgICAgIFJlZ0V4cENvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiwgU3Ry
dWN0dXJlKik7CiAgICAgICAgIHZpcnR1YWwgQ29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRh
KENvbnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIENvbnN0cnVjdFR5cGUgZ2V0Q29uc3Ry
dWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJik7CiAgICAgICAgIHZpcnR1YWwgQ2FsbFR5
cGUgZ2V0Q2FsbERhdGFWaXJ0dWFsKENhbGxEYXRhJik7CiAgICAgICAgIHN0YXRpYyBDYWxsVHlw
ZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5jcHAKaW5kZXggYzEzN2NjYjFk
NzNhMDc1ZGU2ODYzYWRiYmRhNDMyNTYwNGUzNzM1ZS4uNzAxNDJkYTg0MjhhYjQ3YTAzYWJjOTRl
YzFmYjlkY2ZhYjAxN2Y4NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cmluZ0NvbnN0cnVjdG9yLmNwcApAQCAtOTgsNiArOTgsMTEgQEAgc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0V2l0aFN0cmluZ0NvbnN0cnVjdG9yKEV4
ZWNTdGF0ZSogZXgKIAogQ29uc3RydWN0VHlwZSBTdHJpbmdDb25zdHJ1Y3Rvcjo6Z2V0Q29uc3Ry
dWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQogeworICAgIHJldHVybiBnZXRD
b25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOworfQorCitDb25zdHJ1Y3RUeXBlIFN0
cmluZ0NvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEm
IGNvbnN0cnVjdERhdGEpCit7CiAgICAgY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBj
b25zdHJ1Y3RXaXRoU3RyaW5nQ29uc3RydWN0b3I7CiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVI
b3N0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5n
Q29uc3RydWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ0NvbnN0
cnVjdG9yLmgKaW5kZXggNzAwZGVhYjVmN2VjODg1N2I0ZjM1NjJiMTI0M2RkMTBhOWUyMzEzNS4u
NTQ3YjNjNDhmOThiMGIxYTNkYWI3MDI5NzQzZjFiYTgxY2U0NTY3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rvci5oCkBAIC01Miw2ICs1
Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBTdHJpbmdDb25zdHJ1Y3RvcihKU0dsb2Jh
bE9iamVjdCosIFN0cnVjdHVyZSopOwogICAgICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEV4ZWNT
dGF0ZSosIFN0cmluZ1Byb3RvdHlwZSopOwogICAgICAgICB2aXJ0dWFsIENvbnN0cnVjdFR5cGUg
Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIHN0YXRpYyBDb25zdHJ1
Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYpOwogICAgICAg
ICB2aXJ0dWFsIENhbGxUeXBlIGdldENhbGxEYXRhVmlydHVhbChDYWxsRGF0YSYpOwogICAgICAg
ICBzdGF0aWMgQ2FsbFR5cGUgZ2V0Q2FsbERhdGEoSlNDZWxsKiwgQ2FsbERhdGEmKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGU2MjAyNzQyODJlYWFiYjExMjYwNmZhNGIwZjJjOWJjNGE4MGQwOGMuLmIwNjA4
NThmZmU5OGViNzYwNGYxYzVjOGZjOWM5MWExYjI3ZThlMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzNCBAQAorMjAxMS0xMC0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdGF0aWMgdmVyc2lvbiBvZiBKU0NlbGw6OmdldENvbnN0cnVj
dERhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5
NjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLgorCisgICAgICAgIEFkZGVkIHN0YXRpYyB2ZXJzaW9uIG9mIGdldENvbnN0cnVj
dERhdGEgdG8gYWxsIGNsYXNzZXMgdGhhdCAKKyAgICAgICAgb3ZlcnJpZGUgaXQgYW5kIGNoYW5n
ZWQgdGhlIHZpcnR1YWwgdmVyc2lvbnMgdG8gY2FsbCB0aGUgc3RhdGljIAorICAgICAgICB2ZXJz
aW9ucy4gIFRoaXMgaXMgdGhlIGZpcnN0IHN0ZXAgaW4gZGUtdmlydHVhbGl6aW5nIEpTQ2VsbDo6
Z2V0Q29uc3RydWN0RGF0YS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0F1ZGlvQ29uc3RydWN0b3I6OmdldENvbnN0
cnVjdERhdGEpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpKU0ltYWdlQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEpOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTT3B0aW9uQ29uc3RydWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNPcHRpb25Db25z
dHJ1Y3Rvcjo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNPcHRp
b25Db25zdHJ1Y3Rvci5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtOgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uKToKKyAgICAg
ICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKToKKyAgICAgICAgKiBi
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6UnVudGlt
ZU9iamVjdDo6Z2V0Q29uc3RydWN0RGF0YSk6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfb2Jq
ZWN0Lmg6CisKIDIwMTEtMTAtMDcgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBNYWtlIEljb25Mb2FkZXIgYSBDYWNoZWRSZXNvdXJjZUNsaWVudCBpbnN0ZWFk
IG9mIGEgU3VicmVzb3VyY2VMb2FkZXJDbGllbnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmNwcAppbmRleCA1NjRkNGQ3NDIzNWY0MTEzODU1
ZGFhNzU5Yzg3ZDc1N2RhN2RlNDE1Li4zYWNjMGJiZTEyMjczZjE0ZjlhYmM2MGE0Y2Q1NjViMTAx
ZGUyNzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29u
c3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db25z
dHJ1Y3Rvci5jcHAKQEAgLTc3LDYgKzc3LDExIEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGNvbnN0cnVjdEF1ZGlvKEV4ZWNTdGF0ZSogZXhlYykKIAogQ29uc3RydWN0VHlw
ZSBKU0F1ZGlvQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERhdGEoQ29uc3RydWN0RGF0YSYgY29u
c3RydWN0RGF0YSkKIHsKKyAgICByZXR1cm4gZ2V0Q29uc3RydWN0RGF0YSh0aGlzLCBjb25zdHJ1
Y3REYXRhKTsKK30KKworQ29uc3RydWN0VHlwZSBKU0F1ZGlvQ29uc3RydWN0b3I6OmdldENvbnN0
cnVjdERhdGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKICAgICBj
b25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdEF1ZGlvOwogICAgIHJldHVy
biBDb25zdHJ1Y3RUeXBlSG9zdDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQXVkaW9Db25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNBdWRpb0NvbnN0cnVjdG9yLmgKaW5kZXggMzVjNDgwNTE2YmRkNTFmYTcwYzc3MjMzNjBlNTNj
NzYzNjZjMWE5OC4uM2JlNDVlMzE5YTE1MmM2ZmYxNmQyMGU0MzkzNGQ1NTEzMmQyZGQ0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNBdWRpb0NvbnN0cnVjdG9yLmgKQEAg
LTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBKU0F1ZGlvQ29uc3Ry
dWN0b3IoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCopOwogICAgICAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKICAg
ICAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkNv
bnN0cnVjdERhdGEmKTsKKyAgICAgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRDb25z
dHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7CiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNJbWFnZUNvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTSW1hZ2VDb25zdHJ1Y3Rvci5jcHAKaW5kZXggY2M3ZDVjNzFjNjk3NGM5MTRiNGRiZTZkZGQ4
ZWZhMWY2Nzk1YmQ3Ni4uMTkxNDc4NjJjNGNkNDNhNzQwNjVjYTE2NTMzNjZkYzY5ZjkyZDRmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbWFnZUNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0ltYWdlQ29uc3RydWN0b3Iu
Y3BwCkBAIC03Niw2ICs3NiwxMSBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBjb25zdHJ1Y3RJbWFnZShFeGVjU3RhdGUqIGV4ZWMpCiAKIENvbnN0cnVjdFR5cGUgSlNJbWFn
ZUNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERh
dGEpCiB7CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7
Cit9CisKK0NvbnN0cnVjdFR5cGUgSlNJbWFnZUNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRh
KEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CiAgICAgY29uc3RydWN0
RGF0YS5uYXRpdmUuZnVuY3Rpb24gPSBjb25zdHJ1Y3RJbWFnZTsKICAgICByZXR1cm4gQ29uc3Ry
dWN0VHlwZUhvc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0ltYWdlQ29uc3RydWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VD
b25zdHJ1Y3Rvci5oCmluZGV4IGQ0NTRiNDI1YTRlMzc4NDA2MTdiM2MyYjJiNzg0NmRkN2I4ZDQ2
MmUuLmFiM2ZkMzE3ZjU4YzUwOWU3YWE1ODljOTk4OWU2YTY4YjYwMzc5MTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW1hZ2VDb25zdHJ1Y3Rvci5oCkBAIC00Nyw2ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgSlNJbWFnZUNvbnN0cnVjdG9yKEpT
Qzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmplY3QqKTsKICAgICAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHZp
cnR1YWwgSlNDOjpDb25zdHJ1Y3RUeXBlIGdldENvbnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3RE
YXRhJik7CisgICAgICAgIHN0YXRpYyBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YShKU0M6OkpTQ2VsbCosIEpTQzo6Q29uc3RydWN0RGF0YSYpOwogICAgIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
T3B0aW9uQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRp
b25Db25zdHJ1Y3Rvci5jcHAKaW5kZXggNDQ5YjI5MmU4Mjc2ZmNmZGRiODUyM2FjMGFlMzVhZmUy
MTJmMTM5ZS4uMDIyYTNjZGYxZjMyYTgxNzc1NDJkNTVhMzk3NTAyM2ZjYzE5YmVhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5jcHAK
QEAgLTc3LDYgKzc3LDExIEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNv
bnN0cnVjdEhUTUxPcHRpb25FbGVtZW50KEV4ZWNTdGF0ZSogZXhlYykKIAogQ29uc3RydWN0VHlw
ZSBKU09wdGlvbkNvbnN0cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNv
bnN0cnVjdERhdGEpCiB7CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3Ry
dWN0RGF0YSk7Cit9CisKK0NvbnN0cnVjdFR5cGUgSlNPcHRpb25Db25zdHJ1Y3Rvcjo6Z2V0Q29u
c3RydWN0RGF0YShKU0NlbGwqLCBDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQorewogICAg
IGNvbnN0cnVjdERhdGEubmF0aXZlLmZ1bmN0aW9uID0gY29uc3RydWN0SFRNTE9wdGlvbkVsZW1l
bnQ7CiAgICAgcmV0dXJuIENvbnN0cnVjdFR5cGVIb3N0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNPcHRpb25Db25zdHJ1Y3Rvci5oCmluZGV4IDJkOTM1Y2FlNzNmYjM3
ZDFmNzg2NmVmZjMxMjg1ZTdkY2Y0Yjc4OWMuLjAxYjhlY2JmNGFmYjVkYjBkZGQ4OThmZjE4ZmFi
NGZiYzNiZTYwMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTT3B0
aW9uQ29uc3RydWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU09wdGlv
bkNvbnN0cnVjdG9yLmgKQEAgLTQ4LDYgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBKU09wdGlvbkNvbnN0cnVjdG9yKEpTQzo6U3RydWN0dXJlKiwgSlNET01HbG9iYWxPYmpl
Y3QqKTsKICAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OkV4ZWNTdGF0ZSosIEpTRE9N
R2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHZpcnR1YWwgSlNDOjpDb25zdHJ1Y3RUeXBlIGdldENv
bnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3REYXRhJik7CisgICAgICAgIHN0YXRpYyBKU0M6OkNv
bnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkpTQ2VsbCosIEpTQzo6Q29uc3RydWN0
RGF0YSYpOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXggMWM4NzYw
ZjJkNTNlNjRmODc1OTY2MmZjMDI1MDk5MTc1ZmRhZGM5Mi4uOThiOWIzNTg0NTEwNmM0ZDhlMmZj
YmRmN2I0YWQzYTkzZWFiMzIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTMxNTIsNiArMzE1Miw3IEBAIHN1YiBHZW5l
cmF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24KICAgICBpZiAoJGNhbkNvbnN0cnVjdCkgewogICAg
ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljIEpTQzo6RW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3Qke2NsYXNzTmFtZX0oSlNDOjpFeGVjU3RhdGUqKTtcbiIp
OwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVj
dFR5cGUgZ2V0Q29uc3RydWN0RGF0YShKU0M6OkNvbnN0cnVjdERhdGEmKTtcbiIpOworICAgICAg
ICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljIEpTQzo6Q29uc3RydWN0VHlwZSBnZXRD
b25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25zdHJ1Y3REYXRhJik7XG4iKTsKICAg
ICB9CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifTtcblxuIik7CiB9CkBAIC0zMjE4LDYgKzMy
MTksMTEgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uCiAKICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiQ29uc3RydWN0VHlwZSAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6
Z2V0Q29uc3RydWN0RGF0YShDb25zdHJ1Y3REYXRhJiBjb25zdHJ1Y3REYXRhKVxuIik7CiAgICAg
ICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIntcbiIpOworICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7XG4i
KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxuXG4iKTsKKworICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICJDb25zdHJ1Y3RUeXBlICR7Y29uc3RydWN0b3JDbGFzc05hbWV9Ojpn
ZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpXG4i
KTsKKyAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVj
dCR7Y2xhc3NOYW1lfTtcbiIpOwogICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgcmV0
dXJuIENvbnN0cnVjdFR5cGVIb3N0O1xuIik7CiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
In1cblxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCmluZGV4IDliNzgzOGYxYmI0MWI2ZWU3MmU1
NTE3ZTYxMzliYTQ1YmI0ZjhkODguLmRhOTkxMWVjNWQyYmU4MTZmMDJhMTRjODNjMDhlMmRlMjJm
MDAyOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RJbnRlcmZhY2UuY3BwCkBAIC05Nyw2ICs5Nyw3IEBAIHByb3RlY3Rl
ZDoKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBKU0M6Ok92ZXJy
aWRlc0dldE93blByb3BlcnR5U2xvdCB8IEpTQzo6SW1wbGVtZW50c0hhc0luc3RhbmNlIHwgRE9N
Q29uc3RydWN0b3JPYmplY3Q6OlN0cnVjdHVyZUZsYWdzOwogICAgIHN0YXRpYyBKU0M6OkVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29uc3RydWN0SlNUZXN0SW50ZXJmYWNlKEpTQzo6RXhl
Y1N0YXRlKik7CiAgICAgdmlydHVhbCBKU0M6OkNvbnN0cnVjdFR5cGUgZ2V0Q29uc3RydWN0RGF0
YShKU0M6OkNvbnN0cnVjdERhdGEmKTsKKyAgICBzdGF0aWMgSlNDOjpDb25zdHJ1Y3RUeXBlIGdl
dENvbnN0cnVjdERhdGEoSlNDOjpKU0NlbGwqLCBKU0M6OkNvbnN0cnVjdERhdGEmKTsKIH07CiAK
IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAi
VGVzdEludGVyZmFjZUNvbnN0cnVjdG9yIiwgJkRPTUNvbnN0cnVjdG9yT2JqZWN0OjpzX2luZm8s
ICZKU1Rlc3RJbnRlcmZhY2VDb25zdHJ1Y3RvclRhYmxlLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yKSB9OwpAQCAtMTMzLDYgKzEzNCwxMSBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTVGVzdEludGVyZmFjZUNvbnN0cnVjdG9yOjpjb25z
dHJ1Y3RKU1Rlc3RJbnRlcmZhYwogCiBDb25zdHJ1Y3RUeXBlIEpTVGVzdEludGVyZmFjZUNvbnN0
cnVjdG9yOjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCiB7
CisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Cit9CisK
K0NvbnN0cnVjdFR5cGUgSlNUZXN0SW50ZXJmYWNlQ29uc3RydWN0b3I6OmdldENvbnN0cnVjdERh
dGEoSlNDZWxsKiwgQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKK3sKICAgICBjb25zdHJ1
Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbiA9IGNvbnN0cnVjdEpTVGVzdEludGVyZmFjZTsKICAgICBy
ZXR1cm4gQ29uc3RydWN0VHlwZUhvc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2UvcnVudGltZV9vYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVf
b2JqZWN0LmNwcAppbmRleCBkZjExZmViNmNhOThlYWM5MjJhOGEwZjM2YzNiMDc5ZDNkYzVjZjVl
Li5jMWFmOWQ3OTJkYzk0YmVmMTc0ZDE1ZDZiZmQ2ZDEyNDEyMDhmYWFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5jcHAKQEAgLTI5NCwxMCArMjk0LDE2IEBAIHN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGNhbGxSdW50aW1lQ29uc3RydWN0b3IoRXhl
Y1N0YXRlKiBleGVjKQogCiBDb25zdHJ1Y3RUeXBlIFJ1bnRpbWVPYmplY3Q6OmdldENvbnN0cnVj
dERhdGEoQ29uc3RydWN0RGF0YSYgY29uc3RydWN0RGF0YSkKIHsKLSAgICBpZiAoIW1faW5zdGFu
Y2UpCisgICAgcmV0dXJuIGdldENvbnN0cnVjdERhdGEodGhpcywgY29uc3RydWN0RGF0YSk7Cit9
CisKK0NvbnN0cnVjdFR5cGUgUnVudGltZU9iamVjdDo6Z2V0Q29uc3RydWN0RGF0YShKU0NlbGwq
IGNlbGwsIENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEpCit7CisgICAgUnVudGltZU9iamVj
dCogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PFJ1bnRpbWVPYmplY3QqPihjZWxsKTsKKyAgICBp
ZiAoIXRoaXNPYmplY3QtPm1faW5zdGFuY2UpCiAgICAgICAgIHJldHVybiBDb25zdHJ1Y3RUeXBl
Tm9uZTsKICAgICAKLSAgICBSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlID0gbV9pbnN0YW5jZTsK
KyAgICBSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlID0gdGhpc09iamVjdC0+bV9pbnN0YW5jZTsK
ICAgICBpZiAoIWluc3RhbmNlLT5zdXBwb3J0c0NvbnN0cnVjdCgpKQogICAgICAgICByZXR1cm4g
Q29uc3RydWN0VHlwZU5vbmU7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2UvcnVudGltZV9vYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVj
dC5oCmluZGV4IDFhYzIxYWQ0OGYyODM3Yzk2MDA4YWUzNTA4MWZjMGMwMzkzYTYxYTMuLmYzMmRh
NTA2ZTE5YmUyZjUyOGJhYzFjZTcyNTdiOWQ2YWYzYWNhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX29iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRn
ZS9ydW50aW1lX29iamVjdC5oCkBAIC01Myw2ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IENhbGxUeXBlIGdldENhbGxEYXRhVmlydHVhbChDYWxsRGF0YSYpOwogICAgIHN0YXRpYyBDYWxs
VHlwZSBnZXRDYWxsRGF0YShKU0NlbGwqLCBDYWxsRGF0YSYpOwogICAgIHZpcnR1YWwgQ29uc3Ry
dWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmKTsKKyAgICBzdGF0aWMgQ29u
c3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQ2VsbCosIENvbnN0cnVjdERhdGEmKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCBnZXRPd25Qcm9wZXJ0eU5hbWVzKEV4ZWNTdGF0ZSosIFByb3BlcnR5
TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2RlIG1vZGUgPSBFeGNsdWRlRG9udEVudW1Qcm9wZXJ0
aWVzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDM5MDA0N2IyMmM2YWFjNWZkNjNlOGY1NzRhOTU1ZTQ3MmY3
NGMwOGEuLjhmMGIwNDM1YjhlZjBkMzE2OTFiYjc0OTc4ZDI2NjU2ZWM0MjM1ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0xMC0wNyAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5l
bmJlcmdAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdGF0aWMgdmVyc2lvbiBvZiBKU0NlbGw6
OmdldENvbnN0cnVjdERhdGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY5NjczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgc3RhdGljIHZlcnNpb24gb2YgZ2V0Q29uc3RydWN0RGF0YSB0byBhbGwg
Y2xhc3NlcyB0aGF0IAorICAgICAgICBvdmVycmlkZSBpdCBhbmQgY2hhbmdlZCB0aGUgdmlydHVh
bCB2ZXJzaW9ucyB0byBjYWxsIHRoZSBzdGF0aWMgCisgICAgICAgIHZlcnNpb25zLiAgVGhpcyBp
cyB0aGUgZmlyc3Qgc3RlcCBpbiBkZS12aXJ0dWFsaXppbmcgSlNDZWxsOjpnZXRDb25zdHJ1Y3RE
YXRhLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0OjpnZXRDb25zdHJ1Y3REYXRhKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oOgorCiAyMDEx
LTEwLTA3ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF1b
V0syXSBBcHBsaWNhdGlvbkNhY2hlIExheW91dFRlc3RzIGZhaWxlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3Bw
CmluZGV4IGFlOWI5ZTg0NWEyYzEyZjAwOWZkYTY3YmJmODU1MDhiNzRjM2QxZDAuLmIxYTgyMWJj
ODg1NTVhZjc3NWFiODU0M2NhZDY2M2FhZjA2MTI5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAKQEAg
LTI0Myw4ICsyNDMsMTQgQEAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgY29u
c3RydWN0V2l0aENvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYykKIAogQ29uc3RydWN0VHlwZSBK
U05QT2JqZWN0OjpnZXRDb25zdHJ1Y3REYXRhKENvbnN0cnVjdERhdGEmIGNvbnN0cnVjdERhdGEp
CiB7Ci0gICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzLCAmc19pbmZvKTsKLSAgICBp
ZiAoIW1fbnBPYmplY3QgfHwgIW1fbnBPYmplY3QtPl9jbGFzcy0+Y29uc3RydWN0KQorICAgIHJl
dHVybiBnZXRDb25zdHJ1Y3REYXRhKHRoaXMsIGNvbnN0cnVjdERhdGEpOworfQorCitDb25zdHJ1
Y3RUeXBlIEpTTlBPYmplY3Q6OmdldENvbnN0cnVjdERhdGEoSlNDZWxsKiBjZWxsLCBDb25zdHJ1
Y3REYXRhJiBjb25zdHJ1Y3REYXRhKQoreworICAgIEpTTlBPYmplY3QqIHRoaXNPYmplY3QgPSBz
dGF0aWNfY2FzdDxKU05QT2JqZWN0Kj4oY2VsbCk7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhF
UklUUyh0aGlzT2JqZWN0LCAmc19pbmZvKTsKKyAgICBpZiAoIXRoaXNPYmplY3QtPm1fbnBPYmpl
Y3QgfHwgIXRoaXNPYmplY3QtPm1fbnBPYmplY3QtPl9jbGFzcy0+Y29uc3RydWN0KQogICAgICAg
ICByZXR1cm4gQ29uc3RydWN0VHlwZU5vbmU7CiAKICAgICBjb25zdHJ1Y3REYXRhLm5hdGl2ZS5m
dW5jdGlvbiA9IGNvbnN0cnVjdFdpdGhDb25zdHJ1Y3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5oCmluZGV4IDI2
NGE2MzVjMDE1ZjQ5NjE4NzI2Njc4ZmIxYjNmZTcxM2VmYjlmMzUuLjcyODVhM2MyN2EzZmUxZTE3
NzdjMTE1ODBkM2VjZGVjOWQyZWY2NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaApAQCAtODIsNiArODIsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgSlNDOjpDYWxsVHlwZSBnZXRDYWxsRGF0YVZpcnR1YWwo
SlNDOjpDYWxsRGF0YSYpOwogICAgIHN0YXRpYyBKU0M6OkNhbGxUeXBlIGdldENhbGxEYXRhKEpT
Qzo6SlNDZWxsKiwgSlNDOjpDYWxsRGF0YSYpOwogICAgIHZpcnR1YWwgSlNDOjpDb25zdHJ1Y3RU
eXBlIGdldENvbnN0cnVjdERhdGEoSlNDOjpDb25zdHJ1Y3REYXRhJik7CisgICAgc3RhdGljIEpT
Qzo6Q29uc3RydWN0VHlwZSBnZXRDb25zdHJ1Y3REYXRhKEpTQzo6SlNDZWxsKiwgSlNDOjpDb25z
dHJ1Y3REYXRhJik7CiAKICAgICB2aXJ0dWFsIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTQzo6
RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIEpTQzo6UHJv
cGVydHlTbG90Jik7CiAgICAgdmlydHVhbCBib29sIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihK
U0M6OkV4ZWNTdGF0ZSosIGNvbnN0IEpTQzo6SWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU0M6
OlByb3BlcnR5RGVzY3JpcHRvciYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>