<?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>157949</bug_id>
          
          <creation_ts>2016-05-20 10:47:29 -0700</creation_ts>
          <short_desc>Remove uses of PassRefPtr in JS bindings code</short_desc>
          <delta_ts>2016-05-22 10:26:18 -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>Bindings</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>keith_miller</cc>
    
    <cc>koivisto</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1195170</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-20 10:47:29 -0700</bug_when>
    <thetext>Remove uses of PassRefPtr in JS bindings code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195171</commentid>
    <comment_count>1</comment_count>
      <attachid>279489</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-05-20 10:48:55 -0700</bug_when>
    <thetext>Created attachment 279489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195416</commentid>
    <comment_count>2</comment_count>
      <attachid>279489</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-05-22 06:49:29 -0700</bug_when>
    <thetext>Comment on attachment 279489
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195427</commentid>
    <comment_count>3</comment_count>
      <attachid>279489</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-22 10:26:14 -0700</bug_when>
    <thetext>Comment on attachment 279489
Patch

Clearing flags on attachment: 279489

Committed r201253: &lt;http://trac.webkit.org/changeset/201253&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195428</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-22 10:26:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279489</attachid>
            <date>2016-05-20 10:48:55 -0700</date>
            <delta_ts>2016-05-22 10:26:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-157949-20160520104956.patch</filename>
            <type>text/plain</type>
            <size>29844</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMjA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
ODRhZjMzNWYxYTI0N2JkYzY2Y2ExZmVkYWI4YzM1MTA5MzIzYzVhLi4zNzM3ZTQwYmEyNWU3MTQw
NDI5OTVlMjU5YmY5Yzg5N2IyMjQxZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNi0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgor
CisgICAgICAgIFJlbW92ZSB1c2VzIG9mIFBhc3NSZWZQdHIgaW4gSlMgYmluZGluZ3MgY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTQ5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVz
ZXMgb2YgUGFzc1JlZlB0ciBpbiBKUyBiaW5kaW5ncyBjb2RlLgorCisgICAgICAgICogcnVudGlt
ZS9KU0dsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpxdWV1
ZU1pY3JvdGFzayk6CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorCiAyMDE2
LTA1LTE4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHOjpM
SUNNUGhhc2Ugc2hvdWxkbid0IGhvaXN0IHR5cGUgY2hlY2tzIHVubGVzcyBpdCBrbm93cyB0aGF0
IHRoZSBjaGVjayB3aWxsIHN1Y2NlZWQgYXQgdGhlIGxvb3AgcHJlLWhlYWRlcgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDA2MTU4YjQ0OWRiZjE0NjUxYmJkYTJhMjc0ZjQ1MzRhZmIwY2VkNzguLjNiNDc3NTUyOWVj
NTIyN2FmYjY0N2U1ODg1YTE1Y2Q3YjA4ZDA2M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBA
QAorMjAxNi0wNS0yMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSB1c2VzIG9mIFBhc3NSZWZQdHIgaW4gSlMgYmluZGluZ3MgY29kZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTQ5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHVzZXMgb2YgUGFz
c1JlZlB0ciBpbiBKUyBiaW5kaW5ncyBjb2RlLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzQXJyYXkpOgorICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTRE9NQmluZGluZy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjpKU0RP
TUdsb2JhbE9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3Qu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNHbG9iYWxPYmplY3RUYXNrOjpKU0dsb2JhbE9iamVjdFRhc2spOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5oOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RP
TVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd01pY3JvdGFza0NhbGxiYWNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01X
aW5kb3dNaWNyb3Rhc2tDYWxsYmFjazo6Y2FsbCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdp
bmRvd01pY3JvdGFza0NhbGxiYWNrOjpKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxiYWNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6cXVldWVUYXNrVG9FdmVudExvb3ApOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5k
b3dTaGVsbDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dT
aGVsbDo6c2V0V2luZG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxs
Lmg6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd1NoZWxsOjpjcmVhdGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpKU1dvcmtlckdsb2JhbFNjb3BlQmFzZSk6
CisgICAgICAgIChXZWJDb3JlOjpKU1dvcmtlckdsb2JhbFNjb3BlQmFzZTo6cXVldWVUYXNrVG9F
dmVudExvb3ApOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNl
Lmg6CisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DdXN0b21YUGF0aE5TUmVzb2x2ZXIuaDoK
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAg
KEdldE5hdGl2ZVR5cGVGb3JDYWxsYmFja3MpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1Rlc3RDYWxs
YmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0pOgorICAgICAgICAo
V2ViQ29yZTo6SlNUZXN0Q2FsbGJhY2s6OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNrRnVuY3Rpb246OmNhbGxiYWNrV2l0aFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKToKKyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdENhbGxiYWNr
RnVuY3Rpb246OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1bmN0aW9uLmg6CisKIDIwMTYtMDUtMTkgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIGNvbXBpbGUt
dGltZSBhc3NlcnRpb25zIGluIGlzPD4oKSAvIGRvd25jYXN0PD4oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCmluZGV4IDFjOTJhMjAzYWIz
ZjhiY2NmMzgwYTE3MTE5OGRkODY1YmQ0NWIxOGIuLjYxZjY4N2RmMTczZDcwMjg5Yjg3YjM2Y2Ez
OTJhOTVjZGFkMTVmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAKQEAgLTEzNjgsMTQgKzEzNjgsMTQgQEAgY29uc3QgSGFzaFNldDxT
dHJpbmc+JiBKU0dsb2JhbE9iamVjdDo6aW50bE51bWJlckZvcm1hdEF2YWlsYWJsZUxvY2FsZXMo
KQogfQogI2VuZGlmIC8vIEVOQUJMRShJTlRMKQogCi12b2lkIEpTR2xvYmFsT2JqZWN0OjpxdWV1
ZU1pY3JvdGFzayhQYXNzUmVmUHRyPE1pY3JvdGFzaz4gdGFzaykKK3ZvaWQgSlNHbG9iYWxPYmpl
Y3Q6OnF1ZXVlTWljcm90YXNrKFJlZjxNaWNyb3Rhc2s+JiYgdGFzaykKIHsKICAgICBpZiAoZ2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+cXVldWVUYXNrVG9FdmVudExvb3ApIHsKLSAgICAgICAg
Z2xvYmFsT2JqZWN0TWV0aG9kVGFibGUoKS0+cXVldWVUYXNrVG9FdmVudExvb3AodGhpcywgdGFz
ayk7CisgICAgICAgIGdsb2JhbE9iamVjdE1ldGhvZFRhYmxlKCktPnF1ZXVlVGFza1RvRXZlbnRM
b29wKHRoaXMsIFdURk1vdmUodGFzaykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
dm0oKS5xdWV1ZU1pY3JvdGFzayh0aGlzLCB0YXNrKTsKKyAgICB2bSgpLnF1ZXVlTWljcm90YXNr
KHRoaXMsIFdURk1vdmUodGFzaykpOwogfQogCiBib29sIEpTR2xvYmFsT2JqZWN0OjpoYXNEZWJ1
Z2dlcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaAppbmRleCBmNTgwNDc2YTFlMGJmN2RkMWU2NTA5M2NlNWI1OTRkOWExNmVmNzY1Li5l
OWEwYjhhODJjNDE1YWYzMzQ4MDMyZDczMDBkMjFkOGE4YTFmMDdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTE2Myw3ICsxNjMsNyBA
QCBzdHJ1Y3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgewogICAgIHR5cGVkZWYgUnVudGltZUZs
YWdzICgqSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc0Z1bmN0aW9uUHRyKShjb25zdCBKU0dsb2JhbE9i
amVjdCopOwogICAgIEphdmFTY3JpcHRSdW50aW1lRmxhZ3NGdW5jdGlvblB0ciBqYXZhU2NyaXB0
UnVudGltZUZsYWdzOwogCi0gICAgdHlwZWRlZiB2b2lkICgqUXVldWVUYXNrVG9FdmVudExvb3BG
dW5jdGlvblB0cikoY29uc3QgSlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRyPE1pY3JvdGFzaz4p
OworICAgIHR5cGVkZWYgdm9pZCAoKlF1ZXVlVGFza1RvRXZlbnRMb29wRnVuY3Rpb25QdHIpKGNv
bnN0IEpTR2xvYmFsT2JqZWN0KiwgUmVmPE1pY3JvdGFzaz4mJik7CiAgICAgUXVldWVUYXNrVG9F
dmVudExvb3BGdW5jdGlvblB0ciBxdWV1ZVRhc2tUb0V2ZW50TG9vcDsKIAogICAgIHR5cGVkZWYg
Ym9vbCAoKlNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXRQdHIpKGNvbnN0IEpTR2xv
YmFsT2JqZWN0Kik7CkBAIC03MjYsNyArNzI2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IHNob3VsZEludGVycnVwdFNjcmlwdEJlZm9yZVRpbWVvdXQoY29uc3QgSlNHbG9iYWxPYmplY3Qq
KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRpYyBSdW50aW1lRmxhZ3MgamF2YVNjcmlwdFJ1
bnRpbWVGbGFncyhjb25zdCBKU0dsb2JhbE9iamVjdCopIHsgcmV0dXJuIFJ1bnRpbWVGbGFncygp
OyB9CiAKLSAgICB2b2lkIHF1ZXVlTWljcm90YXNrKFBhc3NSZWZQdHI8TWljcm90YXNrPik7Cisg
ICAgdm9pZCBxdWV1ZU1pY3JvdGFzayhSZWY8TWljcm90YXNrPiYmKTsKIAogICAgIGJvb2wgZXZh
bEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2V2YWxFbmFibGVkOyB9CiAgICAgY29uc3QgU3Ry
aW5nJiBldmFsRGlzYWJsZWRFcnJvck1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBtX2V2YWxEaXNh
YmxlZEVycm9yTWVzc2FnZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01CaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmlu
ZGluZy5jcHAKaW5kZXggZWM1MmEwZDcxYTA5NDA0Y2E4NjQzNWQ0NzFiNmM4ZjI3N2E4MTBjZS4u
ZTc4NDZmYWQxOGM3YjZjZmI0YTFjMjZmOGI0Mzg4MmExY2E3NzY4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCkBAIC0xNDYsNyArMTQ2LDcgQEAgZG91
YmxlIHZhbHVlVG9EYXRlKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSkKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8RGF0ZUluc3RhbmNlKj4odmFsdWUudG9PYmplY3QoZXhlYykpLT5pbnRl
cm5hbE51bWJlcigpOwogfQogCi1KU0M6OkpTVmFsdWUganNBcnJheShKU0M6OkV4ZWNTdGF0ZSog
ZXhlYywgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUGFzc1JlZlB0cjxET01TdHJp
bmdMaXN0PiBzdHJpbmdMaXN0KQorSlNDOjpKU1ZhbHVlIGpzQXJyYXkoSlNDOjpFeGVjU3RhdGUq
IGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIERPTVN0cmluZ0xpc3QqIHN0
cmluZ0xpc3QpCiB7CiAgICAgSlNDOjpNYXJrZWRBcmd1bWVudEJ1ZmZlciBsaXN0OwogICAgIGlm
IChzdHJpbmdMaXN0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5o
CmluZGV4IDQ2NWQ4NThiNGZmMTBjYzI2MmI5MjAzNDZmZDIwNjZkNTE5ODJlZjkuLjkwMzI2ZjE3
YjQ4MGU1MzAxYzRjYjJmYjVhZWNjMjAyNDAwMTU2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC0yNjUsNyArMjY1LDcgQEAgSlNDOjpKU1ZhbHVlIHRv
SlNJdGVyYXRvckVuZChKU0M6OkV4ZWNTdGF0ZSYpOwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBz
aXplX3QgaW5saW5lQ2FwYWNpdHk+IEpTQzo6SlNWYWx1ZSBqc0FycmF5KEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqLCBjb25zdCBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHk+Jik7
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+IEpTQzo6SlNWYWx1
ZSBqc0FycmF5KEpTQzo6RXhlY1N0YXRlKiwgSlNET01HbG9iYWxPYmplY3QqLCBjb25zdCBWZWN0
b3I8VCwgaW5saW5lQ2FwYWNpdHk+Kik7Ci1XRUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUganNB
cnJheShKU0M6OkV4ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxET01T
dHJpbmdMaXN0Pik7CitXRUJDT1JFX0VYUE9SVCBKU0M6OkpTVmFsdWUganNBcnJheShKU0M6OkV4
ZWNTdGF0ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiwgRE9NU3RyaW5nTGlzdCopOwogCiBKU0M6OkpT
VmFsdWUganNQYWlyKEpTQzo6RXhlY1N0YXRlJiwgSlNET01HbG9iYWxPYmplY3QqLCBKU0M6OkpT
VmFsdWUsIEpTQzo6SlNWYWx1ZSk7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBGaXJzdFR5cGUsIHR5cGVu
YW1lIFNlY29uZFR5cGU+IEpTQzo6SlNWYWx1ZSBqc1BhaXIoSlNDOjpFeGVjU3RhdGUmLCBKU0RP
TUdsb2JhbE9iamVjdCosIGNvbnN0IEZpcnN0VHlwZSYsIGNvbnN0IFNlY29uZFR5cGUmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAppbmRl
eCBlNWI1OThlMWMzYTYzODJiYjEzYzNmMTQ0MmVmYzM0MDFiNDFkNjU0Li4xY2M1NjZlMjcwN2Mx
N2U0MTdkNjVjYzZiODUyYzQxYzI3YjZhNmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC00NiwxNCArNDYsMTMgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjb25zdCBDbGFzc0luZm8gSlNET01HbG9iYWxPYmplY3Q6OnNfaW5m
byA9IHsgIkRPTUdsb2JhbE9iamVjdCIsICZKU0dsb2JhbE9iamVjdDo6c19pbmZvLCAwLCBDUkVB
VEVfTUVUSE9EX1RBQkxFKEpTRE9NR2xvYmFsT2JqZWN0KSB9OwogCi1KU0RPTUdsb2JhbE9iamVj
dDo6SlNET01HbG9iYWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1Jl
ZlB0cjxET01XcmFwcGVyV29ybGQ+IHdvcmxkLCBjb25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSogZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUpCitKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9i
YWxPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUmVmPERPTVdyYXBwZXJXb3Js
ZD4mJiB3b3JsZCwgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqIGdsb2JhbE9iamVjdE1l
dGhvZFRhYmxlKQogICAgIDogSlNHbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0TWV0aG9kVGFibGUpCiAgICAgLCBtX2N1cnJlbnRFdmVudCgwKQotICAgICwgbV93b3JsZCh3
b3JsZCkKKyAgICAsIG1fd29ybGQoV1RGTW92ZSh3b3JsZCkpCiAgICAgLCBtX3dvcmxkSXNOb3Jt
YWwobV93b3JsZC0+aXNOb3JtYWwoKSkKICAgICAsIG1fYnVpbHRpbkludGVybmFsRnVuY3Rpb25z
KHZtKQogewotICAgIEFTU0VSVChtX3dvcmxkKTsKIH0KIAogdm9pZCBKU0RPTUdsb2JhbE9iamVj
dDo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01HbG9iYWxPYmplY3QuaAppbmRleCAxNTU4MmFhODhhYzI1YjY2MzhhZDgzNTQyNGQ4MmY1
OGQ2ZGY2MTgwLi40ZGEwZGE5MGU4OWYxZDMxOTZlZWQ5MWJlNDcxZTc2M2QzYjQ3YTNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmgKQEAgLTQ3
LDcgKzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByb3RlY3RlZDoKICAgICAgICAg
c3RydWN0IEpTRE9NR2xvYmFsT2JqZWN0RGF0YTsKIAotICAgICAgICBKU0RPTUdsb2JhbE9iamVj
dChKU0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4s
IGNvbnN0IEpTQzo6R2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqID0gMCk7CisgICAgICAgIEpTRE9N
R2xvYmFsT2JqZWN0KEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSosIFJlZjxET01XcmFwcGVyV29y
bGQ+JiYsIGNvbnN0IEpTQzo6R2xvYmFsT2JqZWN0TWV0aG9kVGFibGUqID0gMCk7CiAgICAgICAg
IHN0YXRpYyB2b2lkIGRlc3Ryb3koSlNDOjpKU0NlbGwqKTsKICAgICAgICAgdm9pZCBmaW5pc2hD
cmVhdGlvbihKU0M6OlZNJik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYs
IEpTQzo6SlNPYmplY3QqKTsKQEAgLTY2LDcgKzY2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIHN0YXRpYyB2b2lkIHZpc2l0Q2hpbGRyZW4oSlNDOjpKU0NlbGwqLCBKU0M6OlNs
b3RWaXNpdG9yJik7CiAKLSAgICAgICAgRE9NV3JhcHBlcldvcmxkJiB3b3JsZCgpIHsgcmV0dXJu
ICptX3dvcmxkOyB9CisgICAgICAgIERPTVdyYXBwZXJXb3JsZCYgd29ybGQoKSB7IHJldHVybiBt
X3dvcmxkLmdldCgpOyB9CiAgICAgICAgIGJvb2wgd29ybGRJc05vcm1hbCgpIGNvbnN0IHsgcmV0
dXJuIG1fd29ybGRJc05vcm1hbDsgfQogCiAgICAgICAgIEpTQnVpbHRpbkludGVybmFsRnVuY3Rp
b25zJiBidWlsdGluSW50ZXJuYWxGdW5jdGlvbnMoKSB7IHJldHVybiBtX2J1aWx0aW5JbnRlcm5h
bEZ1bmN0aW9uczsgfQpAQCAtODcsNyArODcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgbV9jb25zdHJ1Y3RvcnM7CiAKICAgICAgICAgRXZlbnQq
IG1fY3VycmVudEV2ZW50OwotICAgICAgICBjb25zdCBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBt
X3dvcmxkOworICAgICAgICBSZWY8RE9NV3JhcHBlcldvcmxkPiBtX3dvcmxkOwogICAgICAgICBi
b29sIG1fd29ybGRJc05vcm1hbDsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3RUYXNrLmNwcAppbmRleCBjNjIzMDdl
OGZmN2FkODFhOWIwOTliMjM1YzJiNWUxNWQzZGNhYmM1Li45ZjM2ZWQzOTliMzNiZGNkOTkxYjg3
ZjllNTA5MGE4ODczNTk5NTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUdsb2JhbE9iamVjdFRhc2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5jcHAKQEAgLTM4LDkgKzM4LDkgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBKU0dsb2JhbE9iamVjdENhbGxiYWNrIGZpbmFsIDogcHVibGlj
IFJlZkNvdW50ZWQ8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4sIHByaXZhdGUgQWN0aXZlRE9NQ2Fs
bGJhY2sgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4g
Y3JlYXRlKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBhc3NSZWZQdHI8TWljcm90
YXNrPiB0YXNrKQorICAgIHN0YXRpYyBSZWY8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4gY3JlYXRl
KEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxNaWNyb3Rhc2s+JiYgdGFzaykK
ICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEpTR2xvYmFsT2JqZWN0Q2FsbGJh
Y2soZ2xvYmFsT2JqZWN0LCB0YXNrKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEpT
R2xvYmFsT2JqZWN0Q2FsbGJhY2soZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2spKSk7CiAgICAg
fQogCiAgICAgdm9pZCBjYWxsKCkKQEAgLTYxLDI4ICs2MSwyOCBAQCBwdWJsaWM6CiAgICAgICAg
IC8vIFdoZW4gb24gdGhlIG1haW4gdGhyZWFkIChlLmcuIHRoZSBkb2N1bWVudCdzIHRocmVhZCks
IHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRvCiAgICAgICAgIC8vIHB1c2ggdGhlIGN1cnJlbnQgRXhl
Y1N0YXRlIG9uIHRvIHRoZSBKU01haW5UaHJlYWRFeGVjU3RhdGUgc3RhY2suCiAgICAgICAgIGlm
IChjb250ZXh0LT5pc0RvY3VtZW50KCkpCi0gICAgICAgICAgICBKU01haW5UaHJlYWRFeGVjU3Rh
dGU6OnJ1blRhc2soZXhlYywgKm1fdGFzay5nZXQoKSk7CisgICAgICAgICAgICBKU01haW5UaHJl
YWRFeGVjU3RhdGU6OnJ1blRhc2soZXhlYywgbV90YXNrKTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgbV90YXNrLT5ydW4oZXhlYyk7CiAgICAgICAgIEFTU0VSVCghZXhlYy0+aGFkRXhjZXB0
aW9uKCkpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBKU0dsb2JhbE9iamVjdENhbGxiYWNrKEpT
RE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFBhc3NSZWZQdHI8TWljcm90YXNrPiB0YXNr
KQorICAgIEpTR2xvYmFsT2JqZWN0Q2FsbGJhY2soSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgUmVmPE1pY3JvdGFzaz4mJiB0YXNrKQogICAgICAgICA6IEFjdGl2ZURPTUNhbGxiYWNr
KGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKQogICAgICAgICAsIG1fZ2xv
YmFsT2JqZWN0KGdsb2JhbE9iamVjdC0+dm0oKSwgZ2xvYmFsT2JqZWN0KQotICAgICAgICAsIG1f
dGFzayh0YXNrKQorICAgICAgICAsIG1fdGFzayhXVEZNb3ZlKHRhc2spKQogICAgIHsKICAgICB9
CiAKICAgICBTdHJvbmc8SlNET01HbG9iYWxPYmplY3Q+IG1fZ2xvYmFsT2JqZWN0OwotICAgIFJl
ZlB0cjxNaWNyb3Rhc2s+IG1fdGFzazsKKyAgICBSZWY8TWljcm90YXNrPiBtX3Rhc2s7CiB9Owog
Ci1KU0dsb2JhbE9iamVjdFRhc2s6OkpTR2xvYmFsT2JqZWN0VGFzayhKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBQYXNzUmVmUHRyPE1pY3JvdGFzaz4gdGFzaykKK0pTR2xvYmFsT2Jq
ZWN0VGFzazo6SlNHbG9iYWxPYmplY3RUYXNrKEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QsIFJlZjxNaWNyb3Rhc2s+JiYgdGFzaykKICAgICA6IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OlRhc2sobnVsbHB0cikKIHsKLSAgICBSZWZQdHI8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4gY2Fs
bGJhY2sgPSBKU0dsb2JhbE9iamVjdENhbGxiYWNrOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCB0YXNr
KTsKKyAgICBSZWZQdHI8SlNHbG9iYWxPYmplY3RDYWxsYmFjaz4gY2FsbGJhY2sgPSBKU0dsb2Jh
bE9iamVjdENhbGxiYWNrOjpjcmVhdGUoZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKHRhc2spKTsKICAg
ICBtX3Rhc2sgPSBbY2FsbGJhY2tdIChTY3JpcHRFeGVjdXRpb25Db250ZXh0JikgewogICAgICAg
ICBjYWxsYmFjay0+Y2FsbCgpOwogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdFRhc2suaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0VGFzay5oCmluZGV4IDg3YmUzMmQ2MDA3M2E2ZTUwZmFl
Y2ViNDFmZGE5ZGNiYzA4MTU5M2EuLmYzZjAwMDI4N2VmMTMwNmJlNzViMzBlNjNiM2NlOTYzZjRj
OWJkNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0VGFzay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0VGFzay5oCkBAIC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgSlNHbG9iYWxPYmplY3RUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRh
c2sgewogcHVibGljOgotICAgIEpTR2xvYmFsT2JqZWN0VGFzayhKU0RPTUdsb2JhbE9iamVjdCos
IFBhc3NSZWZQdHI8SlNDOjpNaWNyb3Rhc2s+KTsKKyAgICBKU0dsb2JhbE9iamVjdFRhc2soSlNE
T01HbG9iYWxPYmplY3QqLCBSZWY8SlNDOjpNaWNyb3Rhc2s+JiYpOwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5jcHAKaW5kZXggZWY5ZTY3M2M1OWFjZTAwMmM0M2EwMThkZDAxY2RhMmVhMTc1M2Q3Yi4u
NjQ5NmU2MDkwZjVhODQzZGI1OGNlM2I2MGRmYjkzZGJjNWI2MDIyYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC02NiwxMCArNjYsMTAg
QEAgY29uc3QgQ2xhc3NJbmZvIEpTRE9NV2luZG93QmFzZTo6c19pbmZvID0geyAiV2luZG93Iiwg
JkpTRE9NR2xvYmFsT2JqZWN0OjpzX2luZm8KIAogY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFi
bGUgSlNET01XaW5kb3dCYXNlOjpzX2dsb2JhbE9iamVjdE1ldGhvZFRhYmxlID0geyAmc2hvdWxk
QWxsb3dBY2Nlc3NGcm9tLCAmc3VwcG9ydHNMZWdhY3lQcm9maWxpbmcsICZzdXBwb3J0c1JpY2hT
b3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2YVNjcmlwdFJ1bnRpbWVGbGFn
cywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0QmVmb3JlVGlt
ZW91dCwgJm1vZHVsZUxvYWRlclJlc29sdmUsICZtb2R1bGVMb2FkZXJGZXRjaCwgbnVsbHB0ciwg
bnVsbHB0ciwgJm1vZHVsZUxvYWRlckV2YWx1YXRlLCAmZGVmYXVsdExhbmd1YWdlIH07CiAKLUpT
RE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93U2hlbGwqIHNoZWxs
KQotICAgIDogSlNET01HbG9iYWxPYmplY3Qodm0sIHN0cnVjdHVyZSwgJnNoZWxsLT53b3JsZCgp
LCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJsZSkKK0pTRE9NV2luZG93QmFzZTo6SlNET01XaW5k
b3dCYXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFJlZlB0cjxET01XaW5kb3c+JiYg
d2luZG93LCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCkKKyAgICA6IEpTRE9NR2xvYmFsT2JqZWN0
KHZtLCBzdHJ1Y3R1cmUsIHNoZWxsLT53b3JsZCgpLCAmc19nbG9iYWxPYmplY3RNZXRob2RUYWJs
ZSkKICAgICAsIG1fd2luZG93Q2xvc2VXYXRjaHBvaW50cygod2luZG93ICYmIHdpbmRvdy0+ZnJh
bWUoKSkgPyBJc1dhdGNoZWQgOiBJc0ludmFsaWRhdGVkKQotICAgICwgbV93cmFwcGVkKHdpbmRv
dykKKyAgICAsIG1fd3JhcHBlZChXVEZNb3ZlKHdpbmRvdykpCiAgICAgLCBtX3NoZWxsKHNoZWxs
KQogewogfQpAQCAtMjA0LDkgKzIwNCw5IEBAIFJ1bnRpbWVGbGFncyBKU0RPTVdpbmRvd0Jhc2U6
OmphdmFTY3JpcHRSdW50aW1lRmxhZ3MoY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVjCiAKIGNs
YXNzIEpTRE9NV2luZG93TWljcm90YXNrQ2FsbGJhY2sgOiBwdWJsaWMgUmVmQ291bnRlZDxKU0RP
TVdpbmRvd01pY3JvdGFza0NhbGxiYWNrPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxKU0RP
TVdpbmRvd01pY3JvdGFza0NhbGxiYWNrPiBjcmVhdGUoSlNET01XaW5kb3dCYXNlKiBnbG9iYWxP
YmplY3QsIFBhc3NSZWZQdHI8SlNDOjpNaWNyb3Rhc2s+IHRhc2spCisgICAgc3RhdGljIFJlZjxK
U0RPTVdpbmRvd01pY3JvdGFza0NhbGxiYWNrPiBjcmVhdGUoSlNET01XaW5kb3dCYXNlKiBnbG9i
YWxPYmplY3QsIFJlZjxKU0M6Ok1pY3JvdGFzaz4mJiB0YXNrKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgSlNET01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjayhnbG9iYWxPYmpl
Y3QsIHRhc2spKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSlNET01XaW5kb3dNaWNy
b3Rhc2tDYWxsYmFjayhnbG9iYWxPYmplY3QsIFdURk1vdmUodGFzaykpKTsKICAgICB9CiAKICAg
ICB2b2lkIGNhbGwoKQpAQCAtMjE2LDI3ICsyMTYsMjcgQEAgcHVibGljOgogCiAgICAgICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IG1fZ2xvYmFsT2JqZWN0LT5nbG9iYWxFeGVjKCk7CiAKLSAgICAgICAg
SlNNYWluVGhyZWFkRXhlY1N0YXRlOjpydW5UYXNrKGV4ZWMsICptX3Rhc2suZ2V0KCkpOworICAg
ICAgICBKU01haW5UaHJlYWRFeGVjU3RhdGU6OnJ1blRhc2soZXhlYywgbV90YXNrKTsKIAogICAg
ICAgICBBU1NFUlQoIWV4ZWMtPmhhZEV4Y2VwdGlvbigpKTsKICAgICB9CiAKIHByaXZhdGU6Ci0g
ICAgSlNET01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjayhKU0RPTVdpbmRvd0Jhc2UqIGdsb2JhbE9i
amVjdCwgUGFzc1JlZlB0cjxKU0M6Ok1pY3JvdGFzaz4gdGFzaykKKyAgICBKU0RPTVdpbmRvd01p
Y3JvdGFza0NhbGxiYWNrKEpTRE9NV2luZG93QmFzZSogZ2xvYmFsT2JqZWN0LCBSZWY8SlNDOjpN
aWNyb3Rhc2s+JiYgdGFzaykKICAgICAgICAgOiBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3Qt
PnZtKCksIGdsb2JhbE9iamVjdCkKLSAgICAgICAgLCBtX3Rhc2sodGFzaykKKyAgICAgICAgLCBt
X3Rhc2soV1RGTW92ZSh0YXNrKSkKICAgICB7CiAgICAgfQogCiAgICAgU3Ryb25nPEpTRE9NV2lu
ZG93QmFzZT4gbV9nbG9iYWxPYmplY3Q7Ci0gICAgUmVmUHRyPEpTQzo6TWljcm90YXNrPiBtX3Rh
c2s7CisgICAgUmVmPEpTQzo6TWljcm90YXNrPiBtX3Rhc2s7CiB9OwogCi12b2lkIEpTRE9NV2lu
ZG93QmFzZTo6cXVldWVUYXNrVG9FdmVudExvb3AoY29uc3QgSlNHbG9iYWxPYmplY3QqIG9iamVj
dCwgUGFzc1JlZlB0cjxKU0M6Ok1pY3JvdGFzaz4gdGFzaykKK3ZvaWQgSlNET01XaW5kb3dCYXNl
OjpxdWV1ZVRhc2tUb0V2ZW50TG9vcChjb25zdCBKU0dsb2JhbE9iamVjdCogb2JqZWN0LCBSZWY8
SlNDOjpNaWNyb3Rhc2s+JiYgdGFzaykKIHsKICAgICBjb25zdCBKU0RPTVdpbmRvd0Jhc2UqIHRo
aXNPYmplY3QgPSBzdGF0aWNfY2FzdDxjb25zdCBKU0RPTVdpbmRvd0Jhc2UqPihvYmplY3QpOwog
Ci0gICAgUmVmUHRyPEpTRE9NV2luZG93TWljcm90YXNrQ2FsbGJhY2s+IGNhbGxiYWNrID0gSlNE
T01XaW5kb3dNaWNyb3Rhc2tDYWxsYmFjazo6Y3JlYXRlKChKU0RPTVdpbmRvd0Jhc2UqKXRoaXNP
YmplY3QsIHRhc2spOworICAgIFJlZlB0cjxKU0RPTVdpbmRvd01pY3JvdGFza0NhbGxiYWNrPiBj
YWxsYmFjayA9IEpTRE9NV2luZG93TWljcm90YXNrQ2FsbGJhY2s6OmNyZWF0ZSgoSlNET01XaW5k
b3dCYXNlKil0aGlzT2JqZWN0LCBXVEZNb3ZlKHRhc2spKTsKICAgICBhdXRvIG1pY3JvdGFzayA9
IHN0ZDo6bWFrZV91bmlxdWU8QWN0aXZlRE9NQ2FsbGJhY2tNaWNyb3Rhc2s+KE1pY3JvdGFza1F1
ZXVlOjptYWluVGhyZWFkUXVldWUoKSwgKnRoaXNPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgW2NhbGxiYWNrXSgpIG11dGFibGUgewogICAgICAgICBjYWxsYmFjay0+Y2FsbCgpOwog
ICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5k
b3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApp
bmRleCA1NjY5ZGU1ZjQyNmE1OTkxNTM0MTIwM2U3OTY0NjM2YzkwMzc1NzM5Li5iYTcxNjRjMDM5
Y2VkMGQ4NDYyMzk2ODU2ZDdjN2VjZDY2M2ViZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgY2xhc3MgV0VCQ09SRV9FWFBPUlQgSlNET01XaW5kb3dCYXNlIDogcHVibGlj
IEpTRE9NR2xvYmFsT2JqZWN0IHsKICAgICAgICAgdHlwZWRlZiBKU0RPTUdsb2JhbE9iamVjdCBC
YXNlOwogICAgIHByb3RlY3RlZDoKLSAgICAgICAgSlNET01XaW5kb3dCYXNlKEpTQzo6Vk0mLCBK
U0M6OlN0cnVjdHVyZSosIFBhc3NSZWZQdHI8RE9NV2luZG93PiwgSlNET01XaW5kb3dTaGVsbCop
OworICAgICAgICBKU0RPTVdpbmRvd0Jhc2UoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJlKiwgUmVm
UHRyPERPTVdpbmRvdz4mJiwgSlNET01XaW5kb3dTaGVsbCopOwogICAgICAgICB2b2lkIGZpbmlz
aENyZWF0aW9uKEpTQzo6Vk0mLCBKU0RPTVdpbmRvd1NoZWxsKik7CiAKICAgICAgICAgc3RhdGlj
IHZvaWQgZGVzdHJveShKU0NlbGwqKTsKQEAgLTY1LDcgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRTY3JpcHQoY29uc3QgSlND
OjpKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBzdGF0aWMgYm9vbCBzaG91bGRJbnRlcnJ1cHRT
Y3JpcHRCZWZvcmVUaW1lb3V0KGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKICAgICAgICAg
c3RhdGljIEpTQzo6UnVudGltZUZsYWdzIGphdmFTY3JpcHRSdW50aW1lRmxhZ3MoY29uc3QgSlND
OjpKU0dsb2JhbE9iamVjdCopOwotICAgICAgICBzdGF0aWMgdm9pZCBxdWV1ZVRhc2tUb0V2ZW50
TG9vcChjb25zdCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgUGFzc1JlZlB0cjxKU0M6Ok1pY3JvdGFz
az4pOworICAgICAgICBzdGF0aWMgdm9pZCBxdWV1ZVRhc2tUb0V2ZW50TG9vcChjb25zdCBKU0M6
OkpTR2xvYmFsT2JqZWN0KiwgUmVmPEpTQzo6TWljcm90YXNrPiYmKTsKICAgICAgICAgCiAgICAg
ICAgIHZvaWQgcHJpbnRFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggYmI1
MjYxYWE4ZTQ5Y2M3NmU4OTUxZjU3MTQyM2UxYjg1NTkwNDc1NS4uMjZjZWNkNWE3ZTNkZmE1N2Ri
Y2QzZjcyMWRlZmY2ZDdjNDU2ZTMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dTaGVsbC5jcHAKQEAgLTQ5LDExICs0OSwxMSBAQCBKU0RPTVdpbmRvd1No
ZWxsOjpKU0RPTVdpbmRvd1NoZWxsKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERPTVdy
YXBwZXJXb3JsZAogewogfQogCi12b2lkIEpTRE9NV2luZG93U2hlbGw6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSwgUGFzc1JlZlB0cjxET01XaW5kb3c+IHdpbmRvdykKK3ZvaWQgSlNET01XaW5kb3dT
aGVsbDo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBSZWZQdHI8RE9NV2luZG93PiYmIHdpbmRvdykK
IHsKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGlu
Zm8oKSkpOwotICAgIHNldFdpbmRvdyh3aW5kb3cpOworICAgIHNldFdpbmRvdyhXVEZNb3ZlKHdp
bmRvdykpOwogfQogCiB2b2lkIEpTRE9NV2luZG93U2hlbGw6OmRlc3Ryb3koSlNDZWxsKiBjZWxs
KQpAQCAtNjksNyArNjksNyBAQCB2b2lkIEpTRE9NV2luZG93U2hlbGw6OnNldFdpbmRvdyhWTSYg
dm0sIEpTRE9NV2luZG93KiB3aW5kb3cpCiAgICAgR0NDb250cm9sbGVyOjpzaW5nbGV0b24oKS5n
YXJiYWdlQ29sbGVjdFNvb24oKTsKIH0KIAotdm9pZCBKU0RPTVdpbmRvd1NoZWxsOjpzZXRXaW5k
b3coUGFzc1JlZlB0cjxET01XaW5kb3c+IGRvbVdpbmRvdykKK3ZvaWQgSlNET01XaW5kb3dTaGVs
bDo6c2V0V2luZG93KFJlZlB0cjxET01XaW5kb3c+JiYgZG9tV2luZG93KQogewogICAgIC8vIFJl
cGxhY2luZyBKU0RPTVdpbmRvdyB2aWEgdGVsbGluZyBKU0RPTVdpbmRvd1NoZWxsIHRvIHVzZSB0
aGUgc2FtZSBET01XaW5kb3cgaXQgYWxyZWFkeSB1c2VzIG1ha2VzIG5vIHNlbnNlLAogICAgIC8v
IHNvIHdlJ2QgYmV0dGVyIG5ldmVyIHRyeSB0by4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93U2hlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTRE9NV2luZG93U2hlbGwuaAppbmRleCBiZGZkZDJmZGQyZTM3NWJjZjdhM2FmMzUxOTkw
YjJkMmZmN2MzMjlkLi4wM2FhMDEyZTIyNjk0MmU5YzRkNjNlZWVlOTk1NzhiNTg4MGE1ZjhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd1NoZWxsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dTaGVsbC5oCkBAIC00
NCwxNiArNDQsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIEpTRE9NV2luZG93
KiB3aW5kb3coKSBjb25zdCB7IHJldHVybiBKU0M6OmpzQ2FzdDxKU0RPTVdpbmRvdyo+KHRhcmdl
dCgpKTsgfQogICAgICAgICB2b2lkIHNldFdpbmRvdyhKU0M6OlZNJiwgSlNET01XaW5kb3cqKTsK
LSAgICAgICAgdm9pZCBzZXRXaW5kb3coUGFzc1JlZlB0cjxET01XaW5kb3c+KTsKKyAgICAgICAg
dm9pZCBzZXRXaW5kb3coUmVmUHRyPERPTVdpbmRvdz4mJik7CiAKICAgICAgICAgREVDTEFSRV9J
TkZPOwogCiAgICAgICAgIERPTVdpbmRvdyYgd3JhcHBlZCgpIGNvbnN0OwogCi0gICAgICAgIHN0
YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVhdGUoSlNDOjpWTSYgdm0sIFBhc3NSZWZQdHI8RE9N
V2luZG93PiB3aW5kb3csIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIERPTVdyYXBwZXJXb3Js
ZCYgd29ybGQpCisgICAgICAgIHN0YXRpYyBKU0RPTVdpbmRvd1NoZWxsKiBjcmVhdGUoSlNDOjpW
TSYgdm0sIFJlZlB0cjxET01XaW5kb3c+JiYgd2luZG93LCBKU0M6OlN0cnVjdHVyZSogc3RydWN0
dXJlLCBET01XcmFwcGVyV29ybGQmIHdvcmxkKQogICAgICAgICB7CiAgICAgICAgICAgICBKU0RP
TVdpbmRvd1NoZWxsKiBzaGVsbCA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0ZUNlbGw8SlNE
T01XaW5kb3dTaGVsbD4odm0uaGVhcCkpIEpTRE9NV2luZG93U2hlbGwodm0sIHN0cnVjdHVyZSwg
d29ybGQpOwotICAgICAgICAgICAgc2hlbGwtPmZpbmlzaENyZWF0aW9uKHZtLCB3aW5kb3cpOwor
ICAgICAgICAgICAgc2hlbGwtPmZpbmlzaENyZWF0aW9uKHZtLCBXVEZNb3ZlKHdpbmRvdykpOwog
ICAgICAgICAgICAgcmV0dXJuIHNoZWxsOyAKICAgICAgICAgfQogCkBAIC02Niw3ICs2Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgSlNET01XaW5k
b3dTaGVsbChKU0M6OlZNJiwgSlNDOjpTdHJ1Y3R1cmUqLCBET01XcmFwcGVyV29ybGQmKTsKLSAg
ICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgUGFzc1JlZlB0cjxET01XaW5kb3c+
KTsKKyAgICAgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJiwgUmVmUHRyPERPTVdpbmRv
dz4mJik7CiAKICAgICAgICAgUmVmPERPTVdyYXBwZXJXb3JsZD4gbV93b3JsZDsKICAgICB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29w
ZUJhc2UuY3BwCmluZGV4IDNkNDc2ZGVhNTk5ZTY2NGFhYjU3MjFhOGViYWU1MjliN2Q5NWU0NDEu
LjM3YjNmZWIwMjA5YTMyNmZlN2Q1YWNmYzZhYWRkNjA0NzA1ZDAwN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5jcHAK
QEAgLTQ2LDkgKzQ2LDkgQEAgY29uc3QgQ2xhc3NJbmZvIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNl
OjpzX2luZm8gPSB7ICJXb3JrZXJHbG9iYWxTY29wZSIsICZKU0RPTUcKIAogY29uc3QgR2xvYmFs
T2JqZWN0TWV0aG9kVGFibGUgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2U6OnNfZ2xvYmFsT2JqZWN0
TWV0aG9kVGFibGUgPSB7ICZhbGxvd3NBY2Nlc3NGcm9tLCAmc3VwcG9ydHNMZWdhY3lQcm9maWxp
bmcsICZzdXBwb3J0c1JpY2hTb3VyY2VJbmZvLCAmc2hvdWxkSW50ZXJydXB0U2NyaXB0LCAmamF2
YVNjcmlwdFJ1bnRpbWVGbGFncywgJnF1ZXVlVGFza1RvRXZlbnRMb29wLCAmc2hvdWxkSW50ZXJy
dXB0U2NyaXB0QmVmb3JlVGltZW91dCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0
ciwgbnVsbHB0ciwgJmRlZmF1bHRMYW5ndWFnZSB9OwogCi1KU1dvcmtlckdsb2JhbFNjb3BlQmFz
ZTo6SlNXb3JrZXJHbG9iYWxTY29wZUJhc2UoSlNDOjpWTSYgdm0sIEpTQzo6U3RydWN0dXJlKiBz
dHJ1Y3R1cmUsIFBhc3NSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+IGltcGwpCi0gICAgOiBKU0RP
TUdsb2JhbE9iamVjdCh2bSwgc3RydWN0dXJlLCAmbm9ybWFsV29ybGQodm0pLCAmc19nbG9iYWxP
YmplY3RNZXRob2RUYWJsZSkKLSAgICAsIG1fd3JhcHBlZChpbXBsKQorSlNXb3JrZXJHbG9iYWxT
Y29wZUJhc2U6OkpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKEpTQzo6Vk0mIHZtLCBKU0M6OlN0cnVj
dHVyZSogc3RydWN0dXJlLCBSZWZQdHI8V29ya2VyR2xvYmFsU2NvcGU+JiYgaW1wbCkKKyAgICA6
IEpTRE9NR2xvYmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUsIG5vcm1hbFdvcmxkKHZtKSwgJnNfZ2xv
YmFsT2JqZWN0TWV0aG9kVGFibGUpCisgICAgLCBtX3dyYXBwZWQoV1RGTW92ZShpbXBsKSkKIHsK
IH0KIApAQCAtOTgsMTAgKzk4LDEwIEBAIFJ1bnRpbWVGbGFncyBKU1dvcmtlckdsb2JhbFNjb3Bl
QmFzZTo6amF2YVNjcmlwdFJ1bnRpbWVGbGFncyhjb25zdCBKU0dsb2JhbE9iamVjCiAgICAgcmV0
dXJuIEpTR2xvYmFsT2JqZWN0OjpqYXZhU2NyaXB0UnVudGltZUZsYWdzKG9iamVjdCk7CiB9CiAK
LXZvaWQgSlNXb3JrZXJHbG9iYWxTY29wZUJhc2U6OnF1ZXVlVGFza1RvRXZlbnRMb29wKGNvbnN0
IEpTR2xvYmFsT2JqZWN0KiBvYmplY3QsIFBhc3NSZWZQdHI8SlNDOjpNaWNyb3Rhc2s+IHRhc2sp
Cit2b2lkIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlOjpxdWV1ZVRhc2tUb0V2ZW50TG9vcChjb25z
dCBKU0dsb2JhbE9iamVjdCogb2JqZWN0LCBSZWY8SlNDOjpNaWNyb3Rhc2s+JiYgdGFzaykKIHsK
ICAgICBjb25zdCBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZSogdGhpc09iamVjdCA9IHN0YXRpY19j
YXN0PGNvbnN0IEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlKj4ob2JqZWN0KTsKLSAgICB0aGlzT2Jq
ZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKEpTR2xvYmFsT2JqZWN0VGFz
aygoSlNET01HbG9iYWxPYmplY3QqKXRoaXNPYmplY3QsIHRhc2spKTsKKyAgICB0aGlzT2JqZWN0
LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnBvc3RUYXNrKEpTR2xvYmFsT2JqZWN0VGFzaygo
SlNET01HbG9iYWxPYmplY3QqKXRoaXNPYmplY3QsIFdURk1vdmUodGFzaykpKTsKIH0KIAogSlNW
YWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqLCBXb3JrZXJHbG9i
YWxTY29wZSYgd29ya2VyR2xvYmFsU2NvcGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNXb3JrZXJHbG9iYWxTY29wZUJhc2UuaAppbmRleCAxYmQyYjEwM2YzMjBmZGVh
ODdkMDU4YzdiYWI0MmI1ZDc2NzBlY2U1Li5hZTQ5NmFlZmUxMzhiOWNjNzFiZDQ1NzA5NmJlMzEy
NzY4N2U0NDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dvcmtl
ckdsb2JhbFNjb3BlQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV29y
a2VyR2xvYmFsU2NvcGVCYXNlLmgKQEAgLTU4LDEwICs1OCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHN0YXRpYyBib29sIHNob3VsZEludGVycnVwdFNjcmlwdChjb25zdCBKU0M6
OkpTR2xvYmFsT2JqZWN0Kik7CiAgICAgICAgIHN0YXRpYyBib29sIHNob3VsZEludGVycnVwdFNj
cmlwdEJlZm9yZVRpbWVvdXQoY29uc3QgSlNDOjpKU0dsb2JhbE9iamVjdCopOwogICAgICAgICBz
dGF0aWMgSlNDOjpSdW50aW1lRmxhZ3MgamF2YVNjcmlwdFJ1bnRpbWVGbGFncyhjb25zdCBKU0M6
OkpTR2xvYmFsT2JqZWN0Kik7Ci0gICAgICAgIHN0YXRpYyB2b2lkIHF1ZXVlVGFza1RvRXZlbnRM
b29wKGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqLCBQYXNzUmVmUHRyPEpTQzo6TWljcm90YXNr
Pik7CisgICAgICAgIHN0YXRpYyB2b2lkIHF1ZXVlVGFza1RvRXZlbnRMb29wKGNvbnN0IEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBSZWY8SlNDOjpNaWNyb3Rhc2s+JiYpOwogCiAgICAgcHJvdGVjdGVk
OgotICAgICAgICBKU1dvcmtlckdsb2JhbFNjb3BlQmFzZShKU0M6OlZNJiwgSlNDOjpTdHJ1Y3R1
cmUqLCBQYXNzUmVmUHRyPFdvcmtlckdsb2JhbFNjb3BlPik7CisgICAgICAgIEpTV29ya2VyR2xv
YmFsU2NvcGVCYXNlKEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSosIFJlZlB0cjxXb3JrZXJHbG9i
YWxTY29wZT4mJik7CiAgICAgICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpOwogCiAg
ICAgcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9N
Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RP
TUN1c3RvbVhQYXRoTlNSZXNvbHZlci5oCmluZGV4IDU5YmQ3OGUwN2VkOTAzNTUyY2ZjOTM3NWRm
MGY3ODBlNTY5NTEwZGQuLjQzMmZlYzUxZjcxMGQyNjI3ZDEyZDkyNmZkYzdjZGE3Njg0ZDZhNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ3VzdG9tWFBhdGhO
U1Jlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIlhQYXRoTlNSZXNv
bHZlci5oIgogCiAjaW5jbHVkZSAiRE9NWFBhdGhOU1Jlc29sdmVyLmgiCi0jaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQppbmRleCA5MjEyYjcxOWM1YTY5YWRkZTAyZWU0NDViNTIyZDIwYTE1NGZhYjU0Li4w
NDZmZmQ3NjA1YjcwZDAzZDhkOTEyMzdhNWQ3M2RlNmU2ZDM2MWY3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtNDMxMyw4
ICs0MzEzLDggQEAgc3ViIEdldE5hdGl2ZVR5cGVGb3JDYWxsYmFja3MKIHsKICAgICBteSAoJGlu
dGVyZmFjZSwgJHR5cGUpID0gQF87CiAKLSAgICByZXR1cm4gIlBhc3NSZWZQdHI8U2VyaWFsaXpl
ZFNjcmlwdFZhbHVlPiIgaWYgJHR5cGUgZXEgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSI7Ci0gICAg
cmV0dXJuICJQYXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5n
TGlzdCI7CisgICAgcmV0dXJuICJSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmIiBpZiAk
dHlwZSBlcSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlIjsKKyAgICByZXR1cm4gIlJlZlB0cjxQYXNz
UmVmUHRyPERPTVN0cmluZ0xpc3Q+PiYmIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nTGlzdCI7CiAg
ICAgcmV0dXJuICJjb25zdCBTdHJpbmcmIiBpZiAkdHlwZSBlcSAiRE9NU3RyaW5nIjsKICAgICBy
ZXR1cm4gR2V0TmF0aXZlVHlwZSgkaW50ZXJmYWNlLCAkdHlwZSk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNr
LmNwcAppbmRleCBlY2I3ZDNhMWRmZTdkMDg1OGFkOGFkZjI4ZDZmOWVhYjQ3MDM3ODdmLi5kNjNk
OTIyNzRhNDIyY2RmODBhNGE2MWNlZTgxYWNlOTk5MjMxMmFjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5j
cHAKQEAgLTEzNSw3ICsxMzUsNyBAQCBib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhB
cnJheVBhcmFtKFJlZlB0cjxGbG9hdDMyQXJyYXk+IGFycmF5UGFyYW0pCiAgICAgcmV0dXJuICFy
ZXR1cm5lZEV4Y2VwdGlvbjsKIH0KIAotYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRo
U2VyaWFsaXplZFNjcmlwdFZhbHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFs
dWU+IHNyelBhcmFtLCBjb25zdCBTdHJpbmcmIHN0ckFyZykKK2Jvb2wgSlNUZXN0Q2FsbGJhY2s6
OmNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFJlZlB0cjxTZXJpYWxpemVk
U2NyaXB0VmFsdWU+JiYgc3J6UGFyYW0sIGNvbnN0IFN0cmluZyYgc3RyQXJnKQogewogICAgIGlm
ICghY2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNTYsNyAr
MTU2LDcgQEAgYm9vbCBKU1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlw
dFZhbHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemUKICAgICByZXR1cm4gIXJldHVybmVkRXhj
ZXB0aW9uOwogfQogCi1ib29sIEpTVGVzdENhbGxiYWNrOjpjYWxsYmFja1dpdGhTdHJpbmdMaXN0
KFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gbGlzdFBhcmFtKQorYm9vbCBKU1Rlc3RDYWxsYmFj
azo6Y2FsbGJhY2tXaXRoU3RyaW5nTGlzdChSZWZQdHI8UGFzc1JlZlB0cjxET01TdHJpbmdMaXN0
Pj4mJiBsaXN0UGFyYW0pCiB7CiAgICAgaWYgKCFjYW5JbnZva2VDYWxsYmFjaygpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmgKaW5kZXggMGMzNDg5ODAyYzAwOTg2OTI3ZjU4
NjE0MDcyMTI5ZWZlZjM5NWE0MS4uMDM5ZjMxMjgwMTM2YWI2NzNkMzMxOTc4NjVjZWEyYTUwN2I2
MWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pT
L0pTVGVzdENhbGxiYWNrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmgKQEAgLTQ1LDEwICs0NSwxMCBAQCBwdWJsaWM6CiAgICAg
Ly8gRnVuY3Rpb25zCiAgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aE5vUGFyYW0oKTsKICAg
ICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoQXJyYXlQYXJhbShSZWZQdHI8RmxvYXQzMkFycmF5
PiBhcnJheVBhcmFtKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNj
cmlwdFZhbHVlUGFyYW0oUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNyelBhcmFt
LCBjb25zdCBTdHJpbmcmIHN0ckFyZyk7CisgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYg
c3J6UGFyYW0sIGNvbnN0IFN0cmluZyYgc3RyQXJnKTsKICAgICB2aXJ0dWFsIGludDMyX3QgY2Fs
bGJhY2tXaXRoTm9uQm9vbFJldHVyblR5cGUoY29uc3QgU3RyaW5nJiBzdHJBcmcpOwogICAgIHZp
cnR1YWwgaW50MzJfdCBjdXN0b21DYWxsYmFjayhDbGFzczUqIGNsYXNzNVBhcmFtLCBDbGFzczYq
IGNsYXNzNlBhcmFtKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoU3RyaW5nTGlzdChQ
YXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+IGxpc3RQYXJhbSk7CisgICAgdmlydHVhbCBib29sIGNh
bGxiYWNrV2l0aFN0cmluZ0xpc3QoUmVmUHRyPFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4+JiYg
bGlzdFBhcmFtKTsKICAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoQm9vbGVhbihib29sIGJv
b2xQYXJhbSk7CiAgICAgdmlydHVhbCBib29sIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGlu
dDMyX3QgbG9uZ1BhcmFtLCBUZXN0Tm9kZSogdGVzdE5vZGVQYXJhbSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFja0Z1
bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RDYWxsYmFja0Z1bmN0aW9uLmNwcAppbmRleCBmOGQwODQ0MGVmMmJmMzMzMmU5NDY4YjFkNzlm
YzM4MjY1MzIwNzE4Li4wYzQyYmJkNmU5YTM3NWM1YmViYTU2YjNiZDk0ZDI3NzBlOTA5OTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
Q2FsbGJhY2tGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb24uY3BwCkBAIC0xMDEsNyArMTAxLDcgQEAg
Ym9vbCBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uOjpjYWxsYmFja1dpdGhBcnJheVBhcmFtKFJlZlB0
cjxGbG9hdDMyQXJyYXk+IGFycmF5UGEKICAgICByZXR1cm4gIXJldHVybmVkRXhjZXB0aW9uOwog
fQogCi1ib29sIEpTVGVzdENhbGxiYWNrRnVuY3Rpb246OmNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZVBhcmFtKFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzcnpQYXJh
bSwgY29uc3QgU3RyaW5nJiBzdHJBcmcpCitib29sIEpTVGVzdENhbGxiYWNrRnVuY3Rpb246OmNh
bGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZVBhcmFtKFJlZlB0cjxTZXJpYWxpemVkU2Ny
aXB0VmFsdWU+JiYgc3J6UGFyYW0sIGNvbnN0IFN0cmluZyYgc3RyQXJnKQogewogICAgIGlmICgh
Y2FuSW52b2tlQ2FsbGJhY2soKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMjMsNyArMTIz
LDcgQEAgYm9vbCBKU1Rlc3RDYWxsYmFja0Z1bmN0aW9uOjpjYWxsYmFja1dpdGhTZXJpYWxpemVk
U2NyaXB0VmFsdWVQYXJhbShQYXNzUmVmUHRyPFMKICAgICByZXR1cm4gIXJldHVybmVkRXhjZXB0
aW9uOwogfQogCi1ib29sIEpTVGVzdENhbGxiYWNrRnVuY3Rpb246OmNhbGxiYWNrV2l0aFN0cmlu
Z0xpc3QoUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBsaXN0UGFyYW0pCitib29sIEpTVGVzdENh
bGxiYWNrRnVuY3Rpb246OmNhbGxiYWNrV2l0aFN0cmluZ0xpc3QoUmVmUHRyPFBhc3NSZWZQdHI8
RE9NU3RyaW5nTGlzdD4+JiYgbGlzdFBhcmFtKQogewogICAgIGlmICghY2FuSW52b2tlQ2FsbGJh
Y2soKSkKICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrRnVuY3Rpb24u
aAppbmRleCAxYWI2NGYwMTdhOTY4ZjJkNWY5MTZiMTk0YjdlMjJlZGNhOTk0ZDZiLi44MzU3MTBi
MTZmOGE1ZTMzNTJjMzU0ZWU5YWM5MjQwYWExM2NhMjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2tGdW5jdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFj
a0Z1bmN0aW9uLmgKQEAgLTQ0LDEwICs0NCwxMCBAQCBwdWJsaWM6CiAgICAgLy8gRnVuY3Rpb25z
CiAgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aE5vUGFyYW0oKTsKICAgICB2aXJ0dWFsIGJv
b2wgY2FsbGJhY2tXaXRoQXJyYXlQYXJhbShSZWZQdHI8RmxvYXQzMkFycmF5PiBhcnJheVBhcmFt
KTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoU2VyaWFsaXplZFNjcmlwdFZhbHVlUGFy
YW0oUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNyelBhcmFtLCBjb25zdCBTdHJp
bmcmIHN0ckFyZyk7CisgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZVBhcmFtKFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYgc3J6UGFyYW0sIGNv
bnN0IFN0cmluZyYgc3RyQXJnKTsKICAgICB2aXJ0dWFsIGludDMyX3QgY2FsbGJhY2tXaXRoTm9u
Qm9vbFJldHVyblR5cGUoY29uc3QgU3RyaW5nJiBzdHJBcmcpOwogICAgIHZpcnR1YWwgaW50MzJf
dCBjdXN0b21DYWxsYmFjayhDbGFzczUqIGNsYXNzNVBhcmFtLCBDbGFzczYqIGNsYXNzNlBhcmFt
KTsKLSAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoU3RyaW5nTGlzdChQYXNzUmVmUHRyPERP
TVN0cmluZ0xpc3Q+IGxpc3RQYXJhbSk7CisgICAgdmlydHVhbCBib29sIGNhbGxiYWNrV2l0aFN0
cmluZ0xpc3QoUmVmUHRyPFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4+JiYgbGlzdFBhcmFtKTsK
ICAgICB2aXJ0dWFsIGJvb2wgY2FsbGJhY2tXaXRoQm9vbGVhbihib29sIGJvb2xQYXJhbSk7CiAg
ICAgdmlydHVhbCBib29sIGNhbGxiYWNrUmVxdWlyZXNUaGlzVG9QYXNzKGludDMyX3QgbG9uZ1Bh
cmFtLCBUZXN0Tm9kZSogdGVzdE5vZGVQYXJhbSk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>