<?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>149156</bug_id>
          
          <creation_ts>2015-09-15 02:00:40 -0700</creation_ts>
          <short_desc>Remove all uses of PassRefPtr in WebCore/inspector</short_desc>
          <delta_ts>2015-09-16 22:40:21 -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>New Bugs</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>
          
          <blocked>144092</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125916</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-15 02:00:40 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125917</commentid>
    <comment_count>1</comment_count>
      <attachid>261180</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-15 02:01:18 -0700</bug_when>
    <thetext>Created attachment 261180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126368</commentid>
    <comment_count>2</comment_count>
      <attachid>261180</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-09-16 09:50:32 -0700</bug_when>
    <thetext>Comment on attachment 261180
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=261180&amp;action=review

&gt; Source/WebCore/inspector/TimelineRecordFactory.cpp:186
&gt; +static RefPtr&lt;InspectorArray&gt; createQuad(const FloatQuad&amp; quad)

Seems like it should return a Ref, not a RefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126565</commentid>
    <comment_count>3</comment_count>
      <attachid>261350</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-09-16 18:56:46 -0700</bug_when>
    <thetext>Created attachment 261350
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126617</commentid>
    <comment_count>4</comment_count>
      <attachid>261350</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 22:40:17 -0700</bug_when>
    <thetext>Comment on attachment 261350
Patch for landing

Clearing flags on attachment: 261350

Committed r189905: &lt;http://trac.webkit.org/changeset/189905&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126618</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-16 22:40:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261180</attachid>
            <date>2015-09-15 02:01:18 -0700</date>
            <delta_ts>2015-09-16 18:56:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149156-20150915180107.patch</filename>
            <type>text/plain</type>
            <size>30618</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5Nzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE4NjQ1MmEwYTRmZjgy
NWQ0ODYzNGVlMGFjMzYyNjZhNTYxNDZiNS4uMmNjNmVjZjY3YjY0NDUwZGRmNDdjOTkzM2Y0NmQ0
Y2U3MmM5NzRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE1LTA5LTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgYWxs
IHVzZXMgb2YgUGFzc1JlZlB0ciBpbiBXZWJDb3JlL2luc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NRWRpdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6SW5zZXJ0QmVmb3JlQWN0aW9uOjpJbnNl
cnRCZWZvcmVBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9yOjpSZXBsYWNlQ2hp
bGROb2RlQWN0aW9uOjpSZXBsYWNlQ2hpbGROb2RlQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6
cmVwbGFjZUNoaWxkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NRWRpdG9yLmg6CisgICAgICAg
ICogaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01Q
YXRjaFN1cHBvcnQ6OnJlbW92ZUNoaWxkQW5kTW92ZVRvTmV3KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9N
QWdlbnQ6OmhpZ2hsaWdodFNlbGVjdG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50OjpkaWRPcGVuRGF0YWJhc2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRh
YmFzZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1
bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3Vy
Y2UuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OnNldERh
dGFiYXNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyb250ZW5kTWVudVByb3ZpZGVyOjpjcmVhdGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRGF0YWJhc2VJbXBsKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JPdmVybGF5OjpoaWdobGlnaHROb2RlTGlzdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3Rvck92ZXJsYXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29u
dGVudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdGFy
dFByb2ZpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpzdG9wUHJvZmlsaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZSk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvcldvcmtlclJlc291cmNlOjpjcmVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmg6CisgICAgICAgICogaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU90aGVyUmVzb3VyY2VUZXh0RGVjb2Rlcik6
CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRkUmVzb3VyY2VTaGFy
ZWRCdWZmZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oOgor
ICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlUXVhZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2Ny
aXB0SG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpXZWJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlw
dE1hbmFnZXIuaDoKKwogMjAxNS0wOS0xNCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIGFsbCB1c2VzIG9mIFBhc3NSZWZQdHIgaW4gV2Vi
Q29yZS94bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01FZGl0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5jcHAKaW5kZXggMDhiODU0
NTJmYTJlMjc5YWU5ZDQ1MDYzZDM0NGIzYmVhMThiOTYyZS4uZDI0MmRhMWUyOTM4MGQ5NjQ3MTRm
Y2JmYmFjYmVjNTg4YTVkZjgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0RPTUVkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5j
cHAKQEAgLTc5LDEwICs3OSwxMCBAQCBwcml2YXRlOgogY2xhc3MgRE9NRWRpdG9yOjpJbnNlcnRC
ZWZvcmVBY3Rpb24gOiBwdWJsaWMgSW5zcGVjdG9ySGlzdG9yeTo6QWN0aW9uIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShJbnNlcnRCZWZvcmVBY3Rpb24pOwogcHVibGljOgotICAgIEluc2Vy
dEJlZm9yZUFjdGlvbihOb2RlKiBwYXJlbnROb2RlLCBQYXNzUmVmUHRyPE5vZGU+IG5vZGUsIE5v
ZGUqIGFuY2hvck5vZGUpCisgICAgSW5zZXJ0QmVmb3JlQWN0aW9uKE5vZGUqIHBhcmVudE5vZGUs
IFJlZlB0cjxOb2RlPiYmIG5vZGUsIE5vZGUqIGFuY2hvck5vZGUpCiAgICAgICAgIDogSW5zcGVj
dG9ySGlzdG9yeTo6QWN0aW9uKCJJbnNlcnRCZWZvcmUiKQogICAgICAgICAsIG1fcGFyZW50Tm9k
ZShwYXJlbnROb2RlKQotICAgICAgICAsIG1fbm9kZShub2RlKQorICAgICAgICAsIG1fbm9kZShX
VEY6Om1vdmUobm9kZSkpCiAgICAgICAgICwgbV9hbmNob3JOb2RlKGFuY2hvck5vZGUpCiAgICAg
ewogICAgIH0KQEAgLTI4MSwxMCArMjgxLDEwIEBAIHByaXZhdGU6CiBjbGFzcyBET01FZGl0b3I6
OlJlcGxhY2VDaGlsZE5vZGVBY3Rpb24gOiBwdWJsaWMgSW5zcGVjdG9ySGlzdG9yeTo6QWN0aW9u
IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBsYWNlQ2hpbGROb2RlQWN0aW9uKTsKIHB1
YmxpYzoKLSAgICBSZXBsYWNlQ2hpbGROb2RlQWN0aW9uKE5vZGUqIHBhcmVudE5vZGUsIFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Tm9kZSwgTm9kZSogb2xkTm9kZSkKKyAgICBSZXBsYWNlQ2hpbGROb2Rl
QWN0aW9uKE5vZGUqIHBhcmVudE5vZGUsIFJlZlB0cjxOb2RlPiYmIG5ld05vZGUsIE5vZGUqIG9s
ZE5vZGUpCiAgICAgICAgIDogSW5zcGVjdG9ySGlzdG9yeTo6QWN0aW9uKCJSZXBsYWNlQ2hpbGRO
b2RlIikKICAgICAgICAgLCBtX3BhcmVudE5vZGUocGFyZW50Tm9kZSkKLSAgICAgICAgLCBtX25l
d05vZGUobmV3Tm9kZSkKKyAgICAgICAgLCBtX25ld05vZGUoV1RGOjptb3ZlKG5ld05vZGUpKQog
ICAgICAgICAsIG1fb2xkTm9kZShvbGROb2RlKQogICAgIHsKICAgICB9CkBAIC0zNDgsOSArMzQ4
LDkgQEAgRE9NRWRpdG9yOjpET01FZGl0b3IoSW5zcGVjdG9ySGlzdG9yeSogaGlzdG9yeSkgOiBt
X2hpc3RvcnkoaGlzdG9yeSkgeyB9CiAKIERPTUVkaXRvcjo6fkRPTUVkaXRvcigpIHsgfQogCi1i
b29sIERPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVudE5vZGUsIFBhc3NSZWZQdHI8
Tm9kZT4gbm9kZSwgTm9kZSogYW5jaG9yTm9kZSwgRXhjZXB0aW9uQ29kZSYgZWMpCitib29sIERP
TUVkaXRvcjo6aW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVudE5vZGUsIFJlZlB0cjxOb2RlPiYmIG5v
ZGUsIE5vZGUqIGFuY2hvck5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIHJldHVybiBt
X2hpc3RvcnktPnBlcmZvcm0oc3RkOjptYWtlX3VuaXF1ZTxJbnNlcnRCZWZvcmVBY3Rpb24+KHBh
cmVudE5vZGUsIG5vZGUsIGFuY2hvck5vZGUpLCBlYyk7CisgICAgcmV0dXJuIG1faGlzdG9yeS0+
cGVyZm9ybShzdGQ6Om1ha2VfdW5pcXVlPEluc2VydEJlZm9yZUFjdGlvbj4ocGFyZW50Tm9kZSwg
V1RGOjptb3ZlKG5vZGUpLCBhbmNob3JOb2RlKSwgZWMpOwogfQogCiBib29sIERPTUVkaXRvcjo6
cmVtb3ZlQ2hpbGQoTm9kZSogcGFyZW50Tm9kZSwgTm9kZSogbm9kZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCkBAIC0zODMsOSArMzgzLDkgQEAgYm9vbCBET01FZGl0b3I6OnJlcGxhY2VXaG9sZVRleHQo
VGV4dCogdGV4dE5vZGUsIGNvbnN0IFN0cmluZyYgdGV4dCwgRXhjZXB0aW9uQ28KICAgICByZXR1
cm4gbV9oaXN0b3J5LT5wZXJmb3JtKHN0ZDo6bWFrZV91bmlxdWU8UmVwbGFjZVdob2xlVGV4dEFj
dGlvbj4odGV4dE5vZGUsIHRleHQpLCBlYyk7CiB9CiAKLWJvb2wgRE9NRWRpdG9yOjpyZXBsYWNl
Q2hpbGQoTm9kZSogcGFyZW50Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdOb2RlLCBOb2RlKiBv
bGROb2RlLCBFeGNlcHRpb25Db2RlJiBlYykKK2Jvb2wgRE9NRWRpdG9yOjpyZXBsYWNlQ2hpbGQo
Tm9kZSogcGFyZW50Tm9kZSwgUmVmUHRyPE5vZGU+JiYgbmV3Tm9kZSwgTm9kZSogb2xkTm9kZSwg
RXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIG1faGlzdG9yeS0+cGVyZm9ybShzdGQ6
Om1ha2VfdW5pcXVlPFJlcGxhY2VDaGlsZE5vZGVBY3Rpb24+KHBhcmVudE5vZGUsIG5ld05vZGUs
IG9sZE5vZGUpLCBlYyk7CisgICAgcmV0dXJuIG1faGlzdG9yeS0+cGVyZm9ybShzdGQ6Om1ha2Vf
dW5pcXVlPFJlcGxhY2VDaGlsZE5vZGVBY3Rpb24+KHBhcmVudE5vZGUsIFdURjo6bW92ZShuZXdO
b2RlKSwgb2xkTm9kZSksIGVjKTsKIH0KIAogYm9vbCBET01FZGl0b3I6OnNldE5vZGVWYWx1ZShO
b2RlKiBub2RlLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTQw
MSwxMCArNDAxLDEwIEBAIHN0YXRpYyB2b2lkIHBvcHVsYXRlRXJyb3JTdHJpbmcoY29uc3QgRXhj
ZXB0aW9uQ29kZSYgZWMsIEVycm9yU3RyaW5nJiBlcnJvclN0cmluCiAgICAgfQogfQogCi1ib29s
IERPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVudE5vZGUsIFBhc3NSZWZQdHI8Tm9k
ZT4gbm9kZSwgTm9kZSogYW5jaG9yTm9kZSwgRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nKQorYm9v
bCBET01FZGl0b3I6Omluc2VydEJlZm9yZShOb2RlKiBwYXJlbnROb2RlLCBSZWZQdHI8Tm9kZT4m
JiBub2RlLCBOb2RlKiBhbmNob3JOb2RlLCBFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcpCiB7CiAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgYm9vbCByZXN1bHQgPSBpbnNlcnRCZWZvcmUo
cGFyZW50Tm9kZSwgbm9kZSwgYW5jaG9yTm9kZSwgZWMpOworICAgIGJvb2wgcmVzdWx0ID0gaW5z
ZXJ0QmVmb3JlKHBhcmVudE5vZGUsIFdURjo6bW92ZShub2RlKSwgYW5jaG9yTm9kZSwgZWMpOwog
ICAgIHBvcHVsYXRlRXJyb3JTdHJpbmcoZWMsIGVycm9yU3RyaW5nKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5oCmluZGV4IDU2ZTExNGI4NWYw
ODhjNzliMjc0YjIyYjNmYjA4NjczOTU2ZGE2MGIuLjQxYmFkZjBkMjYzYzYzMGYwZWJmZTE0OTU4
ZDdkZDA5YjNmZmJhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01F
ZGl0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmgKQEAgLTUw
LDE2ICs1MCwxNiBAQCBwdWJsaWM6CiAgICAgZXhwbGljaXQgRE9NRWRpdG9yKEluc3BlY3Rvckhp
c3RvcnkqKTsKICAgICB+RE9NRWRpdG9yKCk7CiAKLSAgICBib29sIGluc2VydEJlZm9yZShOb2Rl
KiBwYXJlbnROb2RlLCBQYXNzUmVmUHRyPE5vZGU+LCBOb2RlKiBhbmNob3JOb2RlLCBFeGNlcHRp
b25Db2RlJik7CisgICAgYm9vbCBpbnNlcnRCZWZvcmUoTm9kZSogcGFyZW50Tm9kZSwgUmVmUHRy
PE5vZGU+JiYsIE5vZGUqIGFuY2hvck5vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHJl
bW92ZUNoaWxkKE5vZGUqIHBhcmVudE5vZGUsIE5vZGUqLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
Ym9vbCBzZXRBdHRyaWJ1dGUoRWxlbWVudCosIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGJvb2wgcmVtb3ZlQXR0cmlidXRlKEVs
ZW1lbnQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHNl
dE91dGVySFRNTChOb2RlJiwgY29uc3QgU3RyaW5nJiBodG1sLCBOb2RlKiogbmV3Tm9kZSwgRXhj
ZXB0aW9uQ29kZSYpOwogICAgIGJvb2wgcmVwbGFjZVdob2xlVGV4dChUZXh0KiwgY29uc3QgU3Ry
aW5nJiB0ZXh0LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgYm9vbCByZXBsYWNlQ2hpbGQoTm9kZSog
cGFyZW50Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdOb2RlLCBOb2RlKiBvbGROb2RlLCBFeGNl
cHRpb25Db2RlJik7CisgICAgYm9vbCByZXBsYWNlQ2hpbGQoTm9kZSogcGFyZW50Tm9kZSwgUmVm
UHRyPE5vZGU+JiYgbmV3Tm9kZSwgTm9kZSogb2xkTm9kZSwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IGJvb2wgc2V0Tm9kZVZhbHVlKE5vZGUqIHBhcmVudE5vZGUsIGNvbnN0IFN0cmluZyYgdmFsdWUs
IEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIGJvb2wgaW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVudE5v
ZGUsIFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUqIGFuY2hvck5vZGUsIEVycm9yU3RyaW5nJik7Cisg
ICAgYm9vbCBpbnNlcnRCZWZvcmUoTm9kZSogcGFyZW50Tm9kZSwgUmVmUHRyPE5vZGU+JiYsIE5v
ZGUqIGFuY2hvck5vZGUsIEVycm9yU3RyaW5nJik7CiAgICAgYm9vbCByZW1vdmVDaGlsZChOb2Rl
KiBwYXJlbnROb2RlLCBOb2RlKiwgRXJyb3JTdHJpbmcmKTsKICAgICBib29sIHNldEF0dHJpYnV0
ZShFbGVtZW50KiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFcnJv
clN0cmluZyYpOwogICAgIGJvb2wgcmVtb3ZlQXR0cmlidXRlKEVsZW1lbnQqLCBjb25zdCBTdHJp
bmcmIG5hbWUsIEVycm9yU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvRE9NUGF0Y2hTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01Q
YXRjaFN1cHBvcnQuY3BwCmluZGV4IGM3ODJiN2JmZGMxZDcwYjg1NTMwMWE2MzEwZDJiNWI3Njk2
NWNjNzkuLjk0NWUzNjU1OGFhZWYwZTFlZmFkNDJiYzcwNTY3YTJlMjgxZTEzZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwCkBAIC00NjgsNyArNDY4
LDcgQEAgYm9vbCBET01QYXRjaFN1cHBvcnQ6OnJlbW92ZUNoaWxkQW5kTW92ZVRvTmV3KERpZ2Vz
dCogb2xkRGlnZXN0LCBFeGNlcHRpb25Db2RlJgogICAgIGlmIChpdCAhPSBtX3VudXNlZE5vZGVz
TWFwLmVuZCgpKSB7CiAgICAgICAgIERpZ2VzdCogbmV3RGlnZXN0ID0gaXQtPnZhbHVlOwogICAg
ICAgICBOb2RlKiBuZXdOb2RlID0gbmV3RGlnZXN0LT5tX25vZGU7Ci0gICAgICAgIGlmICghbV9k
b21FZGl0b3ItPnJlcGxhY2VDaGlsZChuZXdOb2RlLT5wYXJlbnROb2RlKCksIG9sZE5vZGUsIG5l
d05vZGUsIGVjKSkKKyAgICAgICAgaWYgKCFtX2RvbUVkaXRvci0+cmVwbGFjZUNoaWxkKG5ld05v
ZGUtPnBhcmVudE5vZGUoKSwgV1RGOjptb3ZlKG9sZE5vZGUpLCBuZXdOb2RlLCBlYykpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIG5ld0RpZ2VzdC0+bV9ub2RlID0gb2xkTm9k
ZS5nZXQoKTsKICAgICAgICAgbWFya05vZGVBc1VzZWQobmV3RGlnZXN0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IDY3MzI0NGMxMGMz
ZGNjMjU4OTA5YTcxMzk4ZmRmMGIwMTk3N2Y4MmUuLmViZmUzMmNlMWRmNWI4NTM5ZDAxMjVhZGZm
MThhNGNiMDE3NmE4ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcApAQCAtMTExMiw3ICsxMTEyLDcgQEAgdm9pZCBJbnNwZWN0b3JET01BZ2Vu
dDo6aGlnaGxpZ2h0U2VsZWN0b3IoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBJbnNw
ZWMKICAgICBpZiAoIWhpZ2hsaWdodENvbmZpZykKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9v
dmVybGF5LT5oaWdobGlnaHROb2RlTGlzdChub2RlcywgKmhpZ2hsaWdodENvbmZpZyk7CisgICAg
bV9vdmVybGF5LT5oaWdobGlnaHROb2RlTGlzdChXVEY6Om1vdmUobm9kZXMpLCAqaGlnaGxpZ2h0
Q29uZmlnKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6aGlnaGxpZ2h0Tm9kZShFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IEluc3BlY3Rvck9iamVjdCYgaGlnaGxpZ2h0SW5z
cGVjdG9yT2JqZWN0LCBjb25zdCBpbnQqIG5vZGVJZCwgY29uc3QgU3RyaW5nKiBvYmplY3RJZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50
LmNwcAppbmRleCBlMGQ4ZDBiMDc2MTM2Y2U1NTFmNWY5YTM0NDVjMGFiYjM1ZTU0MzJkLi4yNDE0
NDVhYjQxODA2ZTI5NDIzYzQ2ZjY1MzJjNmZkYjczZmVhZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCkBAIC0xOTMsMTQg
KzE5MywxNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZQogCi12b2lkIEluc3BlY3RvckRh
dGFiYXNlQWdlbnQ6OmRpZE9wZW5EYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNlPiBkYXRhYmFz
ZSwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uKQordm9pZCBJbnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkaWRPcGVuRGF0YWJhc2Uo
UmVmUHRyPERhdGFiYXNlPiYmIGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCiB7CiAgICAgaWYgKEluc3BlY3Rv
ckRhdGFiYXNlUmVzb3VyY2UqIHJlc291cmNlID0gZmluZEJ5RmlsZU5hbWUoZGF0YWJhc2UtPmZp
bGVOYW1lKCkpKSB7Ci0gICAgICAgIHJlc291cmNlLT5zZXREYXRhYmFzZShkYXRhYmFzZSk7Cisg
ICAgICAgIHJlc291cmNlLT5zZXREYXRhYmFzZShXVEY6Om1vdmUoZGF0YWJhc2UpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJlZlB0cjxJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNl
PiByZXNvdXJjZSA9IEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OmNyZWF0ZShkYXRhYmFzZSwg
ZG9tYWluLCBuYW1lLCB2ZXJzaW9uKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yRGF0YWJhc2VSZXNv
dXJjZT4gcmVzb3VyY2UgPSBJbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlOjpjcmVhdGUoV1RGOjpt
b3ZlKGRhdGFiYXNlKSwgZG9tYWluLCBuYW1lLCB2ZXJzaW9uKTsKICAgICBtX3Jlc291cmNlcy5z
ZXQocmVzb3VyY2UtPmlkKCksIHJlc291cmNlKTsKICAgICAvLyBSZXNvdXJjZXMgYXJlIG9ubHkg
Ym91bmQgd2hpbGUgdmlzaWJsZS4KICAgICBpZiAobV9lbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKaW5kZXggNmM5ZDIyNzUx
YmJhOGIwMjA3M2I1YTI5OGIzYzY3N2I3NzkyMWVjNC4uYTg2MGYxOThiZDVhZmRjZGI4YjgyMDky
YTg2ZjgwZDlhOGQ1ZDY3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRGF0YWJhc2VBZ2VudC5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBD
YWxsZWQgZnJvbSB0aGUgaW5qZWN0ZWQgc2NyaXB0LgogICAgIFN0cmluZyBkYXRhYmFzZUlkKERh
dGFiYXNlKik7CiAKLSAgICB2b2lkIGRpZE9wZW5EYXRhYmFzZShQYXNzUmVmUHRyPERhdGFiYXNl
PiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uKTsKKyAgICB2b2lkIGRpZE9wZW5EYXRhYmFzZShSZWZQdHI8RGF0YWJhc2U+JiYs
IGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
dmVyc2lvbik7CiBwcml2YXRlOgogICAgIERhdGFiYXNlKiBkYXRhYmFzZUZvcklkKGNvbnN0IFN0
cmluZyYgZGF0YWJhc2VJZCk7CiAgICAgSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZSogZmluZEJ5
RmlsZU5hbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCmlu
ZGV4IDFmMTAwNTI3YjVkNTVhOTliMmVhNGYzZGI5ZGRlM2QxNWM1NmMwYjAuLjA4MWIyYzdkOGY5
ODJjOWMwMDkzMDRkNzBhM2IwNDdkMTdiY2YxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3RydW1lbnRhdGlvbi5oCkBA
IC0zMyw3ICszMyw2IEBACiAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgKaW5kZXggNmRiODVjOWM0OGRhNjk5MDFhMzg3NTYz
YTUwMGE4ZjQ2MDZkNjU2OC4uNmFjOTFjMzY4ZDVkYWRkMDU2ZGJhODMxMWZjMjE2NDU2MmQ1MTFk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
UmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VSZXNvdXJjZS5oCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYmluZChJ
bnNwZWN0b3I6OkRhdGFiYXNlRnJvbnRlbmREaXNwYXRjaGVyKik7CiAgICAgRGF0YWJhc2UqIGRh
dGFiYXNlKCkgeyByZXR1cm4gbV9kYXRhYmFzZS5nZXQoKTsgfQotICAgIHZvaWQgc2V0RGF0YWJh
c2UoUmVmUHRyPERhdGFiYXNlPiYmIGRhdGFiYXNlKSB7IG1fZGF0YWJhc2UgPSBkYXRhYmFzZTsg
fQorICAgIHZvaWQgc2V0RGF0YWJhc2UoUmVmUHRyPERhdGFiYXNlPiYmIGRhdGFiYXNlKSB7IG1f
ZGF0YWJhc2UgPSBXVEY6Om1vdmUoZGF0YWJhc2UpOyB9CiAgICAgU3RyaW5nIGlkKCkgY29uc3Qg
eyByZXR1cm4gbV9pZDsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCA4ODg1ZTFjYWQ1NTRlZTMxZDky
ZmUzM2ZhMTRlZDI1MWIzN2IyZWVhLi43YWZkMmEzYWVhOTRlN2I3NGJmNzE1ZmFhNGNhMWNmNDc3
MTQyZDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0LmNwcApAQCAtNTksOSArNTksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCiBjbGFzcyBGcm9udGVuZE1lbnVQcm92aWRlciA6IHB1Ymxp
YyBDb250ZXh0TWVudVByb3ZpZGVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxG
cm9udGVuZE1lbnVQcm92aWRlcj4gY3JlYXRlKEluc3BlY3RvckZyb250ZW5kSG9zdCogZnJvbnRl
bmRIb3N0LCBEZXByZWNhdGVkOjpTY3JpcHRPYmplY3QgZnJvbnRlbmRBcGlPYmplY3QsIGNvbnN0
IFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+JiBpdGVtcykKKyAgICBzdGF0aWMgUmVmPEZyb250ZW5k
TWVudVByb3ZpZGVyPiBjcmVhdGUoSW5zcGVjdG9yRnJvbnRlbmRIb3N0KiBmcm9udGVuZEhvc3Qs
IERlcHJlY2F0ZWQ6OlNjcmlwdE9iamVjdCBmcm9udGVuZEFwaU9iamVjdCwgY29uc3QgVmVjdG9y
PENvbnRleHRNZW51SXRlbT4mIGl0ZW1zKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBGcm9udGVuZE1lbnVQcm92aWRlcihmcm9udGVuZEhvc3QsIGZyb250ZW5kQXBpT2JqZWN0
LCBpdGVtcykpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBGcm9udGVuZE1lbnVQcm92
aWRlcihmcm9udGVuZEhvc3QsIGZyb250ZW5kQXBpT2JqZWN0LCBpdGVtcykpOwogICAgIH0KICAg
ICAKICAgICB2b2lkIGRpc2Nvbm5lY3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBkYmQyNDdmYmExMDMzNTc5
MmMxNWQ3ZGZlZGViYTMzYmZmYTA5ZTkxLi5jYjFkM2YyNWE2M2M3NGUxMTBhZjgwYjg4MDE2OTYw
NTE5ZjQ5ZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtOTYwLDcgKzk2MCw3IEBAIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRGF0YWJhc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
IGluc3RydW1lCiAgICAgaWYgKCFpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckVudmlyb25t
ZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAgICAgaWYg
KEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGRiQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmlu
c3BlY3RvckRhdGFiYXNlQWdlbnQoKSkKLSAgICAgICAgZGJBZ2VudC0+ZGlkT3BlbkRhdGFiYXNl
KGRhdGFiYXNlLCBkb21haW4sIG5hbWUsIHZlcnNpb24pOworICAgICAgICBkYkFnZW50LT5kaWRP
cGVuRGF0YWJhc2UoV1RGOjptb3ZlKGRhdGFiYXNlKSwgZG9tYWluLCBuYW1lLCB2ZXJzaW9uKTsK
IH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZERpc3BhdGNoRE9NU3RvcmFn
ZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBjb25z
dCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgU3RyaW5nJiBuZXdW
YWx1ZSwgU3RvcmFnZVR5cGUgc3RvcmFnZVR5cGUsIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9y
aWdpbiwgUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckxheWVyVHJlZUFnZW50LmgKaW5kZXggMTBkZWRmMjE5NWU1ZmRjODFiZmVlMmI1ZmE5MGQ4
ZjNlZjQzMTdkNS4uNmU5NWM4NzRhMjNkNTUzNmQ2NWUzYTAxZmY2ZTMyMzhmMzNmZjRhYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50
LmgKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9i
amVjdHMuaD4KICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgotI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5j
cHAKaW5kZXggYTMxZGE3OTI3NzUzNzYwMTA2MjZmMDE0ZDJlOTAyMmI5YjAwNzg1ZS4uZWJjNjIx
OTlmZGEwN2Q4MGQ0YmU4ZWI0YzEwOTFjODI3M2Y1MDdkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcApAQCAtMjU5LDEwICsyNTksMTAgQEAgdm9p
ZCBJbnNwZWN0b3JPdmVybGF5OjpoaWRlSGlnaGxpZ2h0KCkKICAgICB1cGRhdGUoKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JPdmVybGF5OjpoaWdobGlnaHROb2RlTGlzdChQYXNzUmVmUHRyPE5vZGVM
aXN0PiBub2RlcywgY29uc3QgSGlnaGxpZ2h0Q29uZmlnJiBoaWdobGlnaHRDb25maWcpCit2b2lk
IEluc3BlY3Rvck92ZXJsYXk6OmhpZ2hsaWdodE5vZGVMaXN0KFJlZlB0cjxOb2RlTGlzdD4mJiBu
b2RlcywgY29uc3QgSGlnaGxpZ2h0Q29uZmlnJiBoaWdobGlnaHRDb25maWcpCiB7CiAgICAgbV9u
b2RlSGlnaGxpZ2h0Q29uZmlnID0gaGlnaGxpZ2h0Q29uZmlnOwotICAgIG1faGlnaGxpZ2h0Tm9k
ZUxpc3QgPSBub2RlczsKKyAgICBtX2hpZ2hsaWdodE5vZGVMaXN0ID0gV1RGOjptb3ZlKG5vZGVz
KTsKICAgICBtX2hpZ2hsaWdodE5vZGUgPSBudWxscHRyOwogICAgIHVwZGF0ZSgpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKaW5kZXggMDExNDY0ZWNh
MTAxYzhkZGE5MDRlNzQxNTA0YzM1Y2ZlODZkNGE1Mi4uYjVjNDQzMmVlMGZkNThmOWNhYzZiMjA4
YzcxNTRlODhhYjY4OWI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
T3ZlcmxheS5oCkBAIC0xMjAsNyArMTIwLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UGF1c2Vk
SW5EZWJ1Z2dlck1lc3NhZ2UoY29uc3QgU3RyaW5nKik7CiAKICAgICB2b2lkIGhpZGVIaWdobGln
aHQoKTsKLSAgICB2b2lkIGhpZ2hsaWdodE5vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZUxpc3Q+LCBj
b25zdCBIaWdobGlnaHRDb25maWcmKTsKKyAgICB2b2lkIGhpZ2hsaWdodE5vZGVMaXN0KFJlZlB0
cjxOb2RlTGlzdD4mJiwgY29uc3QgSGlnaGxpZ2h0Q29uZmlnJik7CiAgICAgdm9pZCBoaWdobGln
aHROb2RlKE5vZGUqLCBjb25zdCBIaWdobGlnaHRDb25maWcmKTsKICAgICB2b2lkIGhpZ2hsaWdo
dFF1YWQoc3RkOjp1bmlxdWVfcHRyPEZsb2F0UXVhZD4sIGNvbnN0IEhpZ2hsaWdodENvbmZpZyYp
OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBh
Z2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmNwcAppbmRleCAxMTZkNjA3YjQyM2E5ZWE0NzY0ZWFhZDIyMmNiYWI3ZDQ3MWI2YmQyLi44OTlk
NTg1ODUwNWE4OGMwYWNkZTUwYTVjMWEwOWE0ZTFmMjNlZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMTkxLDcgKzE5MSw3IEBA
IGJvb2wgSW5zcGVjdG9yUGFnZUFnZW50OjptYWluUmVzb3VyY2VDb250ZW50KEZyYW1lKiBmcmFt
ZSwgYm9vbCB3aXRoQmFzZTY0RW5jb2RlCiB9CiAKIC8vIHN0YXRpYwotYm9vbCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OnNoYXJlZEJ1ZmZlckNvbnRlbnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1
ZmZlciwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNv
ZGUsIFN0cmluZyogcmVzdWx0KQorYm9vbCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNoYXJlZEJ1ZmZl
ckNvbnRlbnQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiBidWZmZXIsIGNvbnN0IFN0cmluZyYgdGV4
dEVuY29kaW5nTmFtZSwgYm9vbCB3aXRoQmFzZTY0RW5jb2RlLCBTdHJpbmcqIHJlc3VsdCkKIHsK
ICAgICByZXR1cm4gZGF0YUNvbnRlbnQoYnVmZmVyID8gYnVmZmVyLT5kYXRhKCkgOiBudWxscHRy
LCBidWZmZXIgPyBidWZmZXItPnNpemUoKSA6IDAsIHRleHRFbmNvZGluZ05hbWUsIHdpdGhCYXNl
NjRFbmNvZGUsIHJlc3VsdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmgKaW5kZXggMDVlZWZhZjJlMzEwMjZmNWU5MTk4OWZjNGViZTYzMWIzZTgw
NWNjMS4uMjgzODJiMGZjNmQzNDI2OWYxMThjMmI5NDYyMGNjYjlkNWM4ZDFmYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtODMsNyArODMs
NyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHN0YXRpYyBib29sIGNhY2hlZFJlc291cmNlQ29u
dGVudChDYWNoZWRSZXNvdXJjZSosIFN0cmluZyogcmVzdWx0LCBib29sKiBiYXNlNjRFbmNvZGVk
KTsKLSAgICBzdGF0aWMgYm9vbCBzaGFyZWRCdWZmZXJDb250ZW50KFBhc3NSZWZQdHI8U2hhcmVk
QnVmZmVyPiwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRF
bmNvZGUsIFN0cmluZyogcmVzdWx0KTsKKyAgICBzdGF0aWMgYm9vbCBzaGFyZWRCdWZmZXJDb250
ZW50KFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFt
ZSwgYm9vbCB3aXRoQmFzZTY0RW5jb2RlLCBTdHJpbmcqIHJlc3VsdCk7CiAgICAgc3RhdGljIHZv
aWQgcmVzb3VyY2VDb250ZW50KEVycm9yU3RyaW5nJiwgRnJhbWUqLCBjb25zdCBVUkwmLCBTdHJp
bmcqIHJlc3VsdCwgYm9vbCogYmFzZTY0RW5jb2RlZCk7CiAgICAgc3RhdGljIFN0cmluZyBzb3Vy
Y2VNYXBVUkxGb3JSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggZjk0ZWM3
OTAxM2Y4NDY4MjNiMGVlODViMDVlN2Y5MmFjZDRiMWZhYS4uMjk1MzkzYTRiZjg1MGRlMzQyODU0
YTZlOGRmN2Y4MmI5ZjkwM2UxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtODEsOCArODEsOCBAQCBuYW1lc3BhY2Ug
ewogY2xhc3MgSW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudCBmaW5hbCA6IHB1YmxpYyBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShJbnNwZWN0
b3JUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KTsKIHB1YmxpYzoKLSAgICBJbnNwZWN0b3JUaHJlYWRh
YmxlTG9hZGVyQ2xpZW50KFBhc3NSZWZQdHI8TG9hZFJlc291cmNlQ2FsbGJhY2s+IGNhbGxiYWNr
KQotICAgICAgICA6IG1fY2FsbGJhY2soY2FsbGJhY2spIHsgfQorICAgIEluc3BlY3RvclRocmVh
ZGFibGVMb2FkZXJDbGllbnQoUmVmUHRyPExvYWRSZXNvdXJjZUNhbGxiYWNrPiYmIGNhbGxiYWNr
KQorICAgICAgICA6IG1fY2FsbGJhY2soV1RGOjptb3ZlKGNhbGxiYWNrKSkgeyB9CiAKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KCkgeyB9CiAKQEAgLTE0MCw5
ICsxNDAsOSBAQCBwdWJsaWM6CiAgICAgICAgIGRpc3Bvc2UoKTsKICAgICB9CiAKLSAgICB2b2lk
IHNldExvYWRlcihQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXI+IGxvYWRlcikKKyAgICB2b2lk
IHNldExvYWRlcihSZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4mJiBsb2FkZXIpCiAgICAgewotICAg
ICAgICBtX2xvYWRlciA9IGxvYWRlcjsKKyAgICAgICAgbV9sb2FkZXIgPSBXVEY6Om1vdmUobG9h
ZGVyKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggYTllMTk4YjM2ZTRkNjYyNjliNzlj
ZmRkNWI3OTVkZmFlOTgyZTE0My4uNWZiMzcwMTdiNjk3NTExY2Q3OTBmN2FhMTllNGYyMjM0MTk2
NmQxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmNwcApAQCAtMjIzLDE5ICsyMjMsMTkgQEAgdm9pZCBJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50OjpzZXRQYWdlU2NyaXB0RGVidWdTZXJ2ZXIoUGFnZVNjcmlwdERlYnVnU2VydmVyKiBz
Y3IKICAgICBtX3NjcmlwdERlYnVnU2VydmVyID0gc2NyaXB0RGVidWdTZXJ2ZXI7CiB9CiAKLXN0
YXRpYyBpbmxpbmUgdm9pZCBzdGFydFByb2ZpbGluZyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29u
c3QgU3RyaW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTdG9wd2F0Y2g+IHN0b3B3YXRjaCkKK3N0YXRp
YyBpbmxpbmUgdm9pZCBzdGFydFByb2ZpbGluZyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgUmVmUHRyPFN0b3B3YXRjaD4mJiBzdG9wd2F0Y2gpCiB7Ci0gICAgSlND
OjpMZWdhY3lQcm9maWxlcjo6cHJvZmlsZXIoKS0+c3RhcnRQcm9maWxpbmcoZXhlYywgdGl0bGUs
IHN0b3B3YXRjaCk7CisgICAgSlNDOjpMZWdhY3lQcm9maWxlcjo6cHJvZmlsZXIoKS0+c3RhcnRQ
cm9maWxpbmcoZXhlYywgdGl0bGUsIFdURjo6bW92ZShzdG9wd2F0Y2gpKTsKIH0KIAotc3RhdGlj
IGlubGluZSBQYXNzUmVmUHRyPEpTQzo6UHJvZmlsZT4gc3RvcFByb2ZpbGluZyhKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3N0YXRpYyBpbmxpbmUgUmVmUHRyPEpT
Qzo6UHJvZmlsZT4gc3RvcFByb2ZpbGluZyhKU0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3Ry
aW5nJiB0aXRsZSkKIHsKICAgICByZXR1cm4gSlNDOjpMZWdhY3lQcm9maWxlcjo6cHJvZmlsZXIo
KS0+c3RvcFByb2ZpbGluZyhleGVjLCB0aXRsZSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBz
dGFydFByb2ZpbGluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUsIFBhc3NSZWZQ
dHI8U3RvcHdhdGNoPiBzdG9wd2F0Y2gpCitzdGF0aWMgaW5saW5lIHZvaWQgc3RhcnRQcm9maWxp
bmcoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWZQdHI8U3RvcHdhdGNoPiYm
IHN0b3B3YXRjaCkKIHsKLSAgICBzdGFydFByb2ZpbGluZyh0b0pTRE9NV2luZG93KGZyYW1lLCBk
ZWJ1Z2dlcldvcmxkKCkpLT5nbG9iYWxFeGVjKCksIHRpdGxlLCBzdG9wd2F0Y2gpOworICAgIHN0
YXJ0UHJvZmlsaW5nKHRvSlNET01XaW5kb3coZnJhbWUsIGRlYnVnZ2VyV29ybGQoKSktPmdsb2Jh
bEV4ZWMoKSwgdGl0bGUsIFdURjo6bW92ZShzdG9wd2F0Y2gpKTsKIH0KIAogc3RhdGljIGlubGlu
ZSBQYXNzUmVmUHRyPEpTQzo6UHJvZmlsZT4gc3RvcFByb2ZpbGluZyhGcmFtZSogZnJhbWUsIGNv
bnN0IFN0cmluZyYgdGl0bGUpCkBAIC0yNjQsNyArMjY0LDcgQEAgdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpzdGFydEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBT
dHJpbmcKICAgICBtX3BlbmRpbmdDb25zb2xlUHJvZmlsZVJlY29yZHMuYXBwZW5kKGNyZWF0ZVJl
Y29yZEVudHJ5KFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlQ29uc29sZVByb2ZpbGVEYXRh
KHRpdGxlKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpDb25zb2xlUHJvZmlsZSwgdHJ1ZSwgZnJhbWVG
cm9tRXhlY1N0YXRlKGV4ZWMpKSk7CiB9CiAKLVBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpzdG9wRnJvbUNvbnNvbGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMs
IGNvbnN0IFN0cmluZyYgdGl0bGUpCitSZWZQdHI8SlNDOjpQcm9maWxlPiBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpzdG9wRnJvbUNvbnNvbGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0
cmluZyYgdGl0bGUpCiB7CiAgICAgLy8gU3RvcCBwcm9maWxlcyBpbiByZXZlcnNlIG9yZGVyLiBJ
ZiB0aGUgdGl0bGUgaXMgZW1wdHksIHRoZW4gc3RvcCB0aGUgbGFzdCBwcm9maWxlLgogICAgIC8v
IE90aGVyd2lzZSwgbWF0Y2ggdGhlIHRpdGxlIG9mIHRoZSBwcm9maWxlIHRvIHN0b3AuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRl
eCAxY2JjZTU1ZjhlZDhjZDRkNDlhMDA5ZGUyZTBmMDdlNTdjN2Y1OWEwLi44Zjk1M2IxZGExOGU0
OTdjYjE5YTM4NWQ5M2M5YmFlNmIzYzI2YmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTEzNCw3ICsxMzQsNyBAQCBwdWJs
aWM6CiAKICAgICAvLyBNZXRob2RzIGNhbGxlZCBmcm9tIFdlYkNvcmUuCiAgICAgdm9pZCBzdGFy
dEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nICZ0aXRsZSk7Ci0gICAg
UGFzc1JlZlB0cjxKU0M6OlByb2ZpbGU+IHN0b3BGcm9tQ29uc29sZShKU0M6OkV4ZWNTdGF0ZSos
IGNvbnN0IFN0cmluZyYgdGl0bGUpOworICAgIFJlZlB0cjxKU0M6OlByb2ZpbGU+IHN0b3BGcm9t
Q29uc29sZShKU0M6OkV4ZWNTdGF0ZSosIGNvbnN0IFN0cmluZyYgdGl0bGUpOwogCiAgICAgLy8g
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uIGNhbGxiYWNrcy4KICAgICB2b2lkIGRpZEluc3RhbGxU
aW1lcihpbnQgdGltZXJJZCwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCwgRnJhbWUqKTsK
QEAgLTE5OCw4ICsxOTgsMTEgQEAgcHJpdmF0ZToKICAgICBzdHJ1Y3QgVGltZWxpbmVSZWNvcmRF
bnRyeSB7CiAgICAgICAgIFRpbWVsaW5lUmVjb3JkRW50cnkoKQogICAgICAgICAgICAgOiB0eXBl
KFRpbWVsaW5lUmVjb3JkVHlwZTo6RXZlbnREaXNwYXRjaCkgeyB9Ci0gICAgICAgIFRpbWVsaW5l
UmVjb3JkRW50cnkoUGFzc1JlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gcmVjb3Jk
LCBQYXNzUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiBkYXRhLCBQYXNzUmVmUHRy
PEluc3BlY3Rvcjo6SW5zcGVjdG9yQXJyYXk+IGNoaWxkcmVuLCBUaW1lbGluZVJlY29yZFR5cGUg
dHlwZSkKLSAgICAgICAgICAgIDogcmVjb3JkKHJlY29yZCksIGRhdGEoZGF0YSksIGNoaWxkcmVu
KGNoaWxkcmVuKSwgdHlwZSh0eXBlKQorICAgICAgICBUaW1lbGluZVJlY29yZEVudHJ5KFJlZlB0
cjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4mJiByZWNvcmQsIFJlZlB0cjxJbnNwZWN0b3I6
Okluc3BlY3Rvck9iamVjdD4mJiBkYXRhLCBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJh
eT4mJiBjaGlsZHJlbiwgVGltZWxpbmVSZWNvcmRUeXBlIHR5cGUpCisgICAgICAgICAgICA6IHJl
Y29yZChXVEY6Om1vdmUocmVjb3JkKSkKKyAgICAgICAgICAgICwgZGF0YShXVEY6Om1vdmUoZGF0
YSkpCisgICAgICAgICAgICAsIGNoaWxkcmVuKFdURjo6bW92ZShjaGlsZHJlbikpCisgICAgICAg
ICAgICAsIHR5cGUodHlwZSkKICAgICAgICAgewogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JXb3JrZXJSZXNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlclJlc291cmNlLmgKaW5kZXggZjhiZWQ1
MjRjMmE3MjA3YmJjODkzNTAzMzQyZDdlYTgzNjgxNTNmYS4uYWVhYTBkMDI2MmY1YjExNGYxZjY3
MGI4ZDgxMmViYTNhMWU5YWIxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldvcmtlclJlc291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvcldvcmtlclJlc291cmNlLmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgSW5z
cGVjdG9yV29ya2VyUmVzb3VyY2VfaAogI2RlZmluZSBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZV9o
CiAKLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgpAQCAtNDAsOSArMzksOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc3Bl
Y3RvcldvcmtlclJlc291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8SW5zcGVjdG9yV29ya2VyUmVz
b3VyY2U+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNwZWN0b3JXb3JrZXJS
ZXNvdXJjZT4gY3JlYXRlKGludHB0cl90IGlkLCBjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBpc1No
YXJlZFdvcmtlcikKKyAgICBzdGF0aWMgUmVmPEluc3BlY3RvcldvcmtlclJlc291cmNlPiBjcmVh
dGUoaW50cHRyX3QgaWQsIGNvbnN0IFN0cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJj
ZShpZCwgdXJsLCBpc1NoYXJlZFdvcmtlcikpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZShpZCwgdXJsLCBpc1NoYXJlZFdvcmtlcikpOwogICAg
IH0KIAogICAgIGludHB0cl90IGlkKCkgY29uc3QgeyByZXR1cm4gbV9pZDsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKaW5kZXggOTlmZmQ5MjNi
NDZlMWNhZTUzYTQ2NDQ4NmIwMDBiMzI4MDg0ZDZlOC4uMjViNWRjZTM4NTRmNzI5NTdmYzhkNzE3
YzQ1NjQ4ZmVjYjNjMDVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3RydW1lbnRpbmdBZ2VudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1
bWVudGluZ0FnZW50cy5oCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSA8aW5zcGVjdG9yL0lu
c3BlY3RvckVudmlyb25tZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAKaW5kZXgg
YTdmMzIyZjk5NTFkNmUyYjIyNWI4Y2I3NjQ2YzgwZjA1MmRlODQ4OS4uZGUxZWY5Y2MyNzc2N2Mz
MzVhY2UyNjIwZGFkZGQxMzJjMWM4NDk0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgdm9pZCBO
ZXR3b3JrUmVzb3VyY2VzRGF0YTo6cmVzb3VyY2VDcmVhdGVkKGNvbnN0IFN0cmluZyYgcmVxdWVz
dElkLCBjb25zdCBTdHJpbmcKICAgICBtX3JlcXVlc3RJZFRvUmVzb3VyY2VEYXRhTWFwLnNldChy
ZXF1ZXN0SWQsIG5ldyBSZXNvdXJjZURhdGEocmVxdWVzdElkLCBsb2FkZXJJZCkpOwogfQogCi1z
dGF0aWMgUGFzc1JlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBjcmVhdGVPdGhlclJlc291cmNl
VGV4dERlY29kZXIoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB0ZXh0RW5j
b2RpbmdOYW1lKQorc3RhdGljIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBjcmVhdGVPdGhl
clJlc291cmNlVGV4dERlY29kZXIoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5n
JiB0ZXh0RW5jb2RpbmdOYW1lKQogewogICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBk
ZWNvZGVyOwogICAgIGlmICghdGV4dEVuY29kaW5nTmFtZS5pc0VtcHR5KCkpCkBAIC0yMzcsMTIg
KzIzNywxMiBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjphZGRDYWNoZWRSZXNvdXJjZShj
b25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgQ2FjaGVkUmVzbwogICAgIHJlc291cmNlRGF0YS0+c2V0
Q2FjaGVkUmVzb3VyY2UoY2FjaGVkUmVzb3VyY2UpOwogfQogCi12b2lkIE5ldHdvcmtSZXNvdXJj
ZXNEYXRhOjphZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwg
UGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2Rp
bmdOYW1lKQordm9pZCBOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRkUmVzb3VyY2VTaGFyZWRCdWZm
ZXIoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYgYnVmZmVy
LCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpCiB7CiAgICAgUmVzb3VyY2VEYXRhKiBy
ZXNvdXJjZURhdGEgPSByZXNvdXJjZURhdGFGb3JSZXF1ZXN0SWQocmVxdWVzdElkKTsKICAgICBp
ZiAoIXJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuOwotICAgIHJlc291cmNlRGF0YS0+c2V0
QnVmZmVyKGJ1ZmZlcik7CisgICAgcmVzb3VyY2VEYXRhLT5zZXRCdWZmZXIoV1RGOjptb3ZlKGJ1
ZmZlcikpOwogICAgIHJlc291cmNlRGF0YS0+c2V0VGV4dEVuY29kaW5nTmFtZSh0ZXh0RW5jb2Rp
bmdOYW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdv
cmtSZXNvdXJjZXNEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291
cmNlc0RhdGEuaAppbmRleCBlZGQ3NTc5OWNjZWRmMWY3MGVhMWE2NjQxOWQzMGY1M2Y0OTZlZGUz
Li43Zjg1ZGQwMTNkYmU2OWIxM2FmMDI0MTA2MjY4Mjc3NjVkOTU1M2RjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaApAQCAtMTI5LDcgKzEy
OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIG1heWJlQWRkUmVzb3VyY2VEYXRhKGNvbnN0IFN0cmlu
ZyYgcmVxdWVzdElkLCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCk7CiAgICAg
dm9pZCBtYXliZURlY29kZURhdGFUb0NvbnRlbnQoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwog
ICAgIHZvaWQgYWRkQ2FjaGVkUmVzb3VyY2UoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIENhY2hl
ZFJlc291cmNlKik7Ci0gICAgdm9pZCBhZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJp
bmcmIHJlcXVlc3RJZCwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHRl
eHRFbmNvZGluZ05hbWUpOworICAgIHZvaWQgYWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIoY29uc3Qg
U3RyaW5nJiByZXF1ZXN0SWQsIFJlZlB0cjxTaGFyZWRCdWZmZXI+JiYsIGNvbnN0IFN0cmluZyYg
dGV4dEVuY29kaW5nTmFtZSk7CiAgICAgUmVzb3VyY2VEYXRhIGNvbnN0KiBkYXRhKGNvbnN0IFN0
cmluZyYgcmVxdWVzdElkKTsKICAgICBWZWN0b3I8U3RyaW5nPiByZW1vdmVDYWNoZWRSZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZSopOwogICAgIHZvaWQgY2xlYXIoY29uc3QgU3RyaW5nJiBwcmVzZXJ2
ZWRMb2FkZXJJZCA9IFN0cmluZygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAKaW5kZXggZjg1OWRkY2RkNDkwMTI4NjQ2NjBmNTU4
MDk1N2U3YjQwYWE1OWI5OC4uYjczMjE3ZWMyNzczYjZhZjQzZjllYjk4ZWU4YTVhMWIyZDVmODYz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFj
dG9yeS5jcHAKQEAgLTE4Myw3ICsxODMsNyBAQCBSZWY8SW5zcGVjdG9yT2JqZWN0PiBUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZUFuaW1hdGlvbkZyYW1lRGF0YShpbnQgY2FsbGJhYwogICAg
IHJldHVybiBXVEY6Om1vdmUoZGF0YSk7CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPEluc3BlY3Rv
ckFycmF5PiBjcmVhdGVRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCkKK3N0YXRpYyBSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+IGNyZWF0ZVF1YWQoY29uc3QgRmxvYXRRdWFkJiBxdWFkKQogewogICAg
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gYXJyYXkgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7
CiAgICAgYXJyYXktPnB1c2hEb3VibGUocXVhZC5wMSgpLngoKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmgKaW5kZXggNmU3Zjk4NmMzOWZk
ZmM0NmFhY2ZlY2RjMjc4YzEwNzQ3ZmFiNTc4MS4uODRhNDQzNWZjN2VmYzA2ZjI2ZTI5Mjg1M2Iy
OTYzNjRmYTIzODVmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYklu
amVjdGVkU2NyaXB0SG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmpl
Y3RlZFNjcmlwdEhvc3QuaApAQCAtMzIsNyArMzIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFdlYkluamVjdGVkU2NyaXB0SG9zdCBmaW5hbCA6IHB1YmxpYyBJbnNwZWN0b3I6Oklu
amVjdGVkU2NyaXB0SG9zdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViSW5q
ZWN0ZWRTY3JpcHRIb3N0PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViSW5qZWN0
ZWRTY3JpcHRIb3N0KTsgfQorICAgIHN0YXRpYyBSZWY8V2ViSW5qZWN0ZWRTY3JpcHRIb3N0PiBj
cmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkluamVjdGVkU2NyaXB0SG9zdCk7IH0K
IAogICAgIHZpcnR1YWwgSlNDOjpKU1ZhbHVlIHN1YnR5cGUoSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OkpTVmFsdWUpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBpc0hUTUxBbGxDb2xsZWN0aW9u
KEpTQzo6SlNWYWx1ZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3BwCmluZGV4IDU2MTk2ZjBhZTM3MWVmNDQz
YzA1MjNlYjMxYmI2ZmM1ZWFmM2U1YjEuLmM0YmU2MDE1OGY0MzJiZmJmZjQ0ZDNkNjA1ZmQ3Njcx
NzI2YzY1OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuY3BwCkBAIC0zMyw4ICszMyw4IEBAIHVzaW5nIG5hbWVzcGFjZSBJ
bnNwZWN0b3I7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotV2ViSW5qZWN0ZWRTY3JpcHRNYW5h
Z2VyOjpXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIoSW5zcGVjdG9yRW52aXJvbm1lbnQmIGVudmly
b25tZW50LCBQYXNzUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4gaG9zdCkKLSAgICA6IEluamVj
dGVkU2NyaXB0TWFuYWdlcihlbnZpcm9ubWVudCwgaG9zdCkKK1dlYkluamVjdGVkU2NyaXB0TWFu
YWdlcjo6V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKEluc3BlY3RvckVudmlyb25tZW50JiBlbnZp
cm9ubWVudCwgUmVmUHRyPEluamVjdGVkU2NyaXB0SG9zdD4mJiBob3N0KQorICAgIDogSW5qZWN0
ZWRTY3JpcHRNYW5hZ2VyKGVudmlyb25tZW50LCBXVEY6Om1vdmUoaG9zdCkpCiAgICAgLCBtX2Nv
bW1hbmRMaW5lQVBJSG9zdChDb21tYW5kTGluZUFQSUhvc3Q6OmNyZWF0ZSgpKQogewogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdl
ci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0TWFuYWdlci5o
CmluZGV4IGU4ZmM0NTIyYWIxMjE5YTdhMzA1NTQzYWRkOTIzMWE5OGZmMGEwNjkuLmZjZDQ1ZDcx
NTc1ODQyNDgwOTc3N2U2ZjE0YmY0N2NlOTAzMDliNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKQEAgLTM2LDcgKzM2LDcg
QEAgY2xhc3MgRE9NV2luZG93OwogCiBjbGFzcyBXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIgZmlu
YWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdE1hbmFnZXIgewogcHVibGljOgot
ICAgIFdlYkluamVjdGVkU2NyaXB0TWFuYWdlcihJbnNwZWN0b3I6Okluc3BlY3RvckVudmlyb25t
ZW50JiwgUGFzc1JlZlB0cjxJbnNwZWN0b3I6OkluamVjdGVkU2NyaXB0SG9zdD4pOworICAgIFdl
YkluamVjdGVkU2NyaXB0TWFuYWdlcihJbnNwZWN0b3I6Okluc3BlY3RvckVudmlyb25tZW50Jiwg
UmVmUHRyPEluc3BlY3Rvcjo6SW5qZWN0ZWRTY3JpcHRIb3N0PiYmKTsKICAgICB2aXJ0dWFsIH5X
ZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIoKSB7IH0KIAogICAgIENvbW1hbmRMaW5lQVBJSG9zdCog
Y29tbWFuZExpbmVBUElIb3N0KCkgY29uc3QgeyByZXR1cm4gbV9jb21tYW5kTGluZUFQSUhvc3Qu
Z2V0KCk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261350</attachid>
            <date>2015-09-16 18:56:46 -0700</date>
            <delta_ts>2015-09-16 22:40:17 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149156-20150917105633.patch</filename>
            <type>text/plain</type>
            <size>30772</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5ODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDkzNWI1MmMzMTg4ODZm
NzEzMGM0ZjhlMTM4MWI1OWQ5MGY1ZDE5ZS4uOTc1NWU0ZWZkYzI5Y2UxNjkxYjYxNjhkODA4ZGNj
MjM2NjM2YWVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE1LTA5LTE2ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgYWxs
IHVzZXMgb2YgUGFzc1JlZlB0ciBpbiBXZWJDb3JlL2luc3BlY3RvcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NRWRpdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6SW5zZXJ0QmVmb3JlQWN0aW9uOjpJbnNlcnRC
ZWZvcmVBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6RE9NRWRpdG9yOjpSZXBsYWNlQ2hpbGRO
b2RlQWN0aW9uOjpSZXBsYWNlQ2hpbGROb2RlQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRP
TUVkaXRvcjo6aW5zZXJ0QmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTUVkaXRvcjo6cmVw
bGFjZUNoaWxkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvRE9NRWRpdG9yLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01QYXRj
aFN1cHBvcnQ6OnJlbW92ZUNoaWxkQW5kTW92ZVRvTmV3KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdl
bnQ6OmhpZ2hsaWdodFNlbGVjdG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0
YWJhc2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JEYXRhYmFzZUFnZW50
OjpkaWRPcGVuRGF0YWJhc2UpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVu
dGF0aW9uLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OnNldERhdGFi
YXNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyb250ZW5kTWVudVByb3ZpZGVyOjpjcmVhdGUpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRPcGVuRGF0YWJhc2VJbXBsKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JP
dmVybGF5OjpoaWdobGlnaHROb2RlTGlzdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ck92ZXJsYXkuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29udGVu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdGFydFBy
b2ZpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpzdG9wUHJvZmlsaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
cldvcmtlclJlc291cmNlOjpjcmVhdGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50
aW5nQWdlbnRzLmg6CisgICAgICAgICogaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZU90aGVyUmVzb3VyY2VUZXh0RGVjb2Rlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpOZXR3b3JrUmVzb3VyY2VzRGF0YTo6YWRkUmVzb3VyY2VTaGFyZWRC
dWZmZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oOgorICAg
ICAgICAqIGluc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlUXVhZCk6CisgICAgICAgICogaW5zcGVjdG9yL1dlYkluamVjdGVkU2NyaXB0
SG9zdC5oOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOjpXZWJJbmplY3Rl
ZFNjcmlwdE1hbmFnZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1h
bmFnZXIuaDoKKwogMjAxNS0wOS0xNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIEVsZW1lbnQncyBhdHRyaWJ1dGUgTlMgQVBJIHNob3VsZCBkZWZpbmVkIHRyZWF0
IHVuZGVmaW5lZCBuYW1lc3BhY2UgYXMgbnVsbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0RPTUVkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRp
dG9yLmNwcAppbmRleCAwOGI4NTQ1MmZhMmUyNzlhZTlkNDUwNjNkMzQ0YjNiZWExOGI5NjJlLi5k
MjQyZGExZTI5MzgwZDk2NDcxNGZjYmZiYWNiZWM1ODhhNWRmODE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvRE9NRWRpdG9yLmNwcApAQCAtNzksMTAgKzc5LDEwIEBAIHByaXZhdGU6CiBjbGFz
cyBET01FZGl0b3I6Okluc2VydEJlZm9yZUFjdGlvbiA6IHB1YmxpYyBJbnNwZWN0b3JIaXN0b3J5
OjpBY3Rpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc2VydEJlZm9yZUFjdGlvbik7
CiBwdWJsaWM6Ci0gICAgSW5zZXJ0QmVmb3JlQWN0aW9uKE5vZGUqIHBhcmVudE5vZGUsIFBhc3NS
ZWZQdHI8Tm9kZT4gbm9kZSwgTm9kZSogYW5jaG9yTm9kZSkKKyAgICBJbnNlcnRCZWZvcmVBY3Rp
b24oTm9kZSogcGFyZW50Tm9kZSwgUmVmUHRyPE5vZGU+JiYgbm9kZSwgTm9kZSogYW5jaG9yTm9k
ZSkKICAgICAgICAgOiBJbnNwZWN0b3JIaXN0b3J5OjpBY3Rpb24oIkluc2VydEJlZm9yZSIpCiAg
ICAgICAgICwgbV9wYXJlbnROb2RlKHBhcmVudE5vZGUpCi0gICAgICAgICwgbV9ub2RlKG5vZGUp
CisgICAgICAgICwgbV9ub2RlKFdURjo6bW92ZShub2RlKSkKICAgICAgICAgLCBtX2FuY2hvck5v
ZGUoYW5jaG9yTm9kZSkKICAgICB7CiAgICAgfQpAQCAtMjgxLDEwICsyODEsMTAgQEAgcHJpdmF0
ZToKIGNsYXNzIERPTUVkaXRvcjo6UmVwbGFjZUNoaWxkTm9kZUFjdGlvbiA6IHB1YmxpYyBJbnNw
ZWN0b3JIaXN0b3J5OjpBY3Rpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlcGxhY2VD
aGlsZE5vZGVBY3Rpb24pOwogcHVibGljOgotICAgIFJlcGxhY2VDaGlsZE5vZGVBY3Rpb24oTm9k
ZSogcGFyZW50Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdOb2RlLCBOb2RlKiBvbGROb2RlKQor
ICAgIFJlcGxhY2VDaGlsZE5vZGVBY3Rpb24oTm9kZSogcGFyZW50Tm9kZSwgUmVmUHRyPE5vZGU+
JiYgbmV3Tm9kZSwgTm9kZSogb2xkTm9kZSkKICAgICAgICAgOiBJbnNwZWN0b3JIaXN0b3J5OjpB
Y3Rpb24oIlJlcGxhY2VDaGlsZE5vZGUiKQogICAgICAgICAsIG1fcGFyZW50Tm9kZShwYXJlbnRO
b2RlKQotICAgICAgICAsIG1fbmV3Tm9kZShuZXdOb2RlKQorICAgICAgICAsIG1fbmV3Tm9kZShX
VEY6Om1vdmUobmV3Tm9kZSkpCiAgICAgICAgICwgbV9vbGROb2RlKG9sZE5vZGUpCiAgICAgewog
ICAgIH0KQEAgLTM0OCw5ICszNDgsOSBAQCBET01FZGl0b3I6OkRPTUVkaXRvcihJbnNwZWN0b3JI
aXN0b3J5KiBoaXN0b3J5KSA6IG1faGlzdG9yeShoaXN0b3J5KSB7IH0KIAogRE9NRWRpdG9yOjp+
RE9NRWRpdG9yKCkgeyB9CiAKLWJvb2wgRE9NRWRpdG9yOjppbnNlcnRCZWZvcmUoTm9kZSogcGFy
ZW50Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBub2RlLCBOb2RlKiBhbmNob3JOb2RlLCBFeGNlcHRp
b25Db2RlJiBlYykKK2Jvb2wgRE9NRWRpdG9yOjppbnNlcnRCZWZvcmUoTm9kZSogcGFyZW50Tm9k
ZSwgUmVmUHRyPE5vZGU+JiYgbm9kZSwgTm9kZSogYW5jaG9yTm9kZSwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7Ci0gICAgcmV0dXJuIG1faGlzdG9yeS0+cGVyZm9ybShzdGQ6Om1ha2VfdW5pcXVlPElu
c2VydEJlZm9yZUFjdGlvbj4ocGFyZW50Tm9kZSwgbm9kZSwgYW5jaG9yTm9kZSksIGVjKTsKKyAg
ICByZXR1cm4gbV9oaXN0b3J5LT5wZXJmb3JtKHN0ZDo6bWFrZV91bmlxdWU8SW5zZXJ0QmVmb3Jl
QWN0aW9uPihwYXJlbnROb2RlLCBXVEY6Om1vdmUobm9kZSksIGFuY2hvck5vZGUpLCBlYyk7CiB9
CiAKIGJvb2wgRE9NRWRpdG9yOjpyZW1vdmVDaGlsZChOb2RlKiBwYXJlbnROb2RlLCBOb2RlKiBu
b2RlLCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTM4Myw5ICszODMsOSBAQCBib29sIERPTUVkaXRv
cjo6cmVwbGFjZVdob2xlVGV4dChUZXh0KiB0ZXh0Tm9kZSwgY29uc3QgU3RyaW5nJiB0ZXh0LCBF
eGNlcHRpb25DbwogICAgIHJldHVybiBtX2hpc3RvcnktPnBlcmZvcm0oc3RkOjptYWtlX3VuaXF1
ZTxSZXBsYWNlV2hvbGVUZXh0QWN0aW9uPih0ZXh0Tm9kZSwgdGV4dCksIGVjKTsKIH0KIAotYm9v
bCBET01FZGl0b3I6OnJlcGxhY2VDaGlsZChOb2RlKiBwYXJlbnROb2RlLCBQYXNzUmVmUHRyPE5v
ZGU+IG5ld05vZGUsIE5vZGUqIG9sZE5vZGUsIEV4Y2VwdGlvbkNvZGUmIGVjKQorYm9vbCBET01F
ZGl0b3I6OnJlcGxhY2VDaGlsZChOb2RlKiBwYXJlbnROb2RlLCBSZWZQdHI8Tm9kZT4mJiBuZXdO
b2RlLCBOb2RlKiBvbGROb2RlLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICByZXR1cm4gbV9o
aXN0b3J5LT5wZXJmb3JtKHN0ZDo6bWFrZV91bmlxdWU8UmVwbGFjZUNoaWxkTm9kZUFjdGlvbj4o
cGFyZW50Tm9kZSwgbmV3Tm9kZSwgb2xkTm9kZSksIGVjKTsKKyAgICByZXR1cm4gbV9oaXN0b3J5
LT5wZXJmb3JtKHN0ZDo6bWFrZV91bmlxdWU8UmVwbGFjZUNoaWxkTm9kZUFjdGlvbj4ocGFyZW50
Tm9kZSwgV1RGOjptb3ZlKG5ld05vZGUpLCBvbGROb2RlKSwgZWMpOwogfQogCiBib29sIERPTUVk
aXRvcjo6c2V0Tm9kZVZhbHVlKE5vZGUqIG5vZGUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQpAQCAtNDAxLDEwICs0MDEsMTAgQEAgc3RhdGljIHZvaWQgcG9wdWxhdGVF
cnJvclN0cmluZyhjb25zdCBFeGNlcHRpb25Db2RlJiBlYywgRXJyb3JTdHJpbmcmIGVycm9yU3Ry
aW4KICAgICB9CiB9CiAKLWJvb2wgRE9NRWRpdG9yOjppbnNlcnRCZWZvcmUoTm9kZSogcGFyZW50
Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiBub2RlLCBOb2RlKiBhbmNob3JOb2RlLCBFcnJvclN0cmlu
ZyYgZXJyb3JTdHJpbmcpCitib29sIERPTUVkaXRvcjo6aW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVu
dE5vZGUsIFJlZlB0cjxOb2RlPiYmIG5vZGUsIE5vZGUqIGFuY2hvck5vZGUsIEVycm9yU3RyaW5n
JiBlcnJvclN0cmluZykKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBib29sIHJl
c3VsdCA9IGluc2VydEJlZm9yZShwYXJlbnROb2RlLCBub2RlLCBhbmNob3JOb2RlLCBlYyk7Cisg
ICAgYm9vbCByZXN1bHQgPSBpbnNlcnRCZWZvcmUocGFyZW50Tm9kZSwgV1RGOjptb3ZlKG5vZGUp
LCBhbmNob3JOb2RlLCBlYyk7CiAgICAgcG9wdWxhdGVFcnJvclN0cmluZyhlYywgZXJyb3JTdHJp
bmcpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvRE9NRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvRE9NRWRpdG9y
LmgKaW5kZXggNTZlMTE0Yjg1ZjA4OGM3OWIyNzRiMjJiM2ZiMDg2NzM5NTZkYTYwYi4uNDFiYWRm
MGQyNjNjNjMwZjBlYmZlMTQ5NThkN2RkMDliM2ZmYmFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0RPTUVkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9ET01FZGl0b3IuaApAQCAtNTAsMTYgKzUwLDE2IEBAIHB1YmxpYzoKICAgICBleHBsaWNpdCBE
T01FZGl0b3IoSW5zcGVjdG9ySGlzdG9yeSopOwogICAgIH5ET01FZGl0b3IoKTsKIAotICAgIGJv
b2wgaW5zZXJ0QmVmb3JlKE5vZGUqIHBhcmVudE5vZGUsIFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUq
IGFuY2hvck5vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIGluc2VydEJlZm9yZShOb2Rl
KiBwYXJlbnROb2RlLCBSZWZQdHI8Tm9kZT4mJiwgTm9kZSogYW5jaG9yTm9kZSwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIGJvb2wgcmVtb3ZlQ2hpbGQoTm9kZSogcGFyZW50Tm9kZSwgTm9kZSosIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHNldEF0dHJpYnV0ZShFbGVtZW50KiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgYm9v
bCByZW1vdmVBdHRyaWJ1dGUoRWxlbWVudCosIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9u
Q29kZSYpOwogICAgIGJvb2wgc2V0T3V0ZXJIVE1MKE5vZGUmLCBjb25zdCBTdHJpbmcmIGh0bWws
IE5vZGUqKiBuZXdOb2RlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCByZXBsYWNlV2hvbGVU
ZXh0KFRleHQqLCBjb25zdCBTdHJpbmcmIHRleHQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICBib29s
IHJlcGxhY2VDaGlsZChOb2RlKiBwYXJlbnROb2RlLCBQYXNzUmVmUHRyPE5vZGU+IG5ld05vZGUs
IE5vZGUqIG9sZE5vZGUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBib29sIHJlcGxhY2VDaGlsZChO
b2RlKiBwYXJlbnROb2RlLCBSZWZQdHI8Tm9kZT4mJiBuZXdOb2RlLCBOb2RlKiBvbGROb2RlLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgYm9vbCBzZXROb2RlVmFsdWUoTm9kZSogcGFyZW50Tm9kZSwg
Y29uc3QgU3RyaW5nJiB2YWx1ZSwgRXhjZXB0aW9uQ29kZSYpOwogCi0gICAgYm9vbCBpbnNlcnRC
ZWZvcmUoTm9kZSogcGFyZW50Tm9kZSwgUGFzc1JlZlB0cjxOb2RlPiwgTm9kZSogYW5jaG9yTm9k
ZSwgRXJyb3JTdHJpbmcmKTsKKyAgICBib29sIGluc2VydEJlZm9yZShOb2RlKiBwYXJlbnROb2Rl
LCBSZWZQdHI8Tm9kZT4mJiwgTm9kZSogYW5jaG9yTm9kZSwgRXJyb3JTdHJpbmcmKTsKICAgICBi
b29sIHJlbW92ZUNoaWxkKE5vZGUqIHBhcmVudE5vZGUsIE5vZGUqLCBFcnJvclN0cmluZyYpOwog
ICAgIGJvb2wgc2V0QXR0cmlidXRlKEVsZW1lbnQqLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdmFsdWUsIEVycm9yU3RyaW5nJik7CiAgICAgYm9vbCByZW1vdmVBdHRyaWJ1dGUo
RWxlbWVudCosIGNvbnN0IFN0cmluZyYgbmFtZSwgRXJyb3JTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9ET01QYXRjaFN1cHBvcnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9ydC5jcHAKaW5kZXggYzc4MmI3YmZkYzFkNzBi
ODU1MzAxYTYzMTBkMmI1Yjc2OTY1Y2M3OS4uOTQ1ZTM2NTU4YWFlZjBlMWVmYWQ0MmJjNzA1Njdh
MmUyODFlMTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNo
U3VwcG9ydC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0RPTVBhdGNoU3VwcG9y
dC5jcHAKQEAgLTQ2OCw3ICs0NjgsNyBAQCBib29sIERPTVBhdGNoU3VwcG9ydDo6cmVtb3ZlQ2hp
bGRBbmRNb3ZlVG9OZXcoRGlnZXN0KiBvbGREaWdlc3QsIEV4Y2VwdGlvbkNvZGUmCiAgICAgaWYg
KGl0ICE9IG1fdW51c2VkTm9kZXNNYXAuZW5kKCkpIHsKICAgICAgICAgRGlnZXN0KiBuZXdEaWdl
c3QgPSBpdC0+dmFsdWU7CiAgICAgICAgIE5vZGUqIG5ld05vZGUgPSBuZXdEaWdlc3QtPm1fbm9k
ZTsKLSAgICAgICAgaWYgKCFtX2RvbUVkaXRvci0+cmVwbGFjZUNoaWxkKG5ld05vZGUtPnBhcmVu
dE5vZGUoKSwgb2xkTm9kZSwgbmV3Tm9kZSwgZWMpKQorICAgICAgICBpZiAoIW1fZG9tRWRpdG9y
LT5yZXBsYWNlQ2hpbGQobmV3Tm9kZS0+cGFyZW50Tm9kZSgpLCBXVEY6Om1vdmUob2xkTm9kZSks
IG5ld05vZGUsIGVjKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgbmV3RGln
ZXN0LT5tX25vZGUgPSBvbGROb2RlLmdldCgpOwogICAgICAgICBtYXJrTm9kZUFzVXNlZChuZXdE
aWdlc3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRP
TUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5j
cHAKaW5kZXggNjczMjQ0YzEwYzNkY2MyNTg5MDlhNzEzOThmZGYwYjAxOTc3ZjgyZS4uZWJmZTMy
Y2UxZGY1Yjg1MzlkMDEyNWFkZmYxOGE0Y2IwMTc2YThkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xMTEyLDcgKzExMTIsNyBAQCB2
b2lkIEluc3BlY3RvckRPTUFnZW50OjpoaWdobGlnaHRTZWxlY3RvcihFcnJvclN0cmluZyYgZXJy
b3JTdHJpbmcsIGNvbnN0IEluc3BlYwogICAgIGlmICghaGlnaGxpZ2h0Q29uZmlnKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBtX292ZXJsYXktPmhpZ2hsaWdodE5vZGVMaXN0KG5vZGVzLCAqaGln
aGxpZ2h0Q29uZmlnKTsKKyAgICBtX292ZXJsYXktPmhpZ2hsaWdodE5vZGVMaXN0KFdURjo6bW92
ZShub2RlcyksICpoaWdobGlnaHRDb25maWcpOwogfQogCiB2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpoaWdobGlnaHROb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgSW5zcGVjdG9y
T2JqZWN0JiBoaWdobGlnaHRJbnNwZWN0b3JPYmplY3QsIGNvbnN0IGludCogbm9kZUlkLCBjb25z
dCBTdHJpbmcqIG9iamVjdElkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCmluZGV4IGUwZDhkMGIwNzYxMzZjZTU1MWY1ZjlhMzQ0
NWMwYWJiMzVlNTQzMmQuLjI0MTQ0NWFiNDE4MDZlMjk0MjNjNDZmNjUzMmM2ZmRiNzNmZWFmMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFn
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudC5jcHAKQEAgLTE5MywxNCArMTkzLDE0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNl
CiAKLXZvaWQgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6ZGlkT3BlbkRhdGFiYXNlKFBhc3NSZWZQ
dHI8RGF0YWJhc2U+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCit2b2lkIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQ6OmRpZE9wZW5EYXRhYmFzZShSZWZQdHI8RGF0YWJhc2U+JiYgZGF0YWJhc2UsIGNvbnN0IFN0
cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbikK
IHsKICAgICBpZiAoSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZSogcmVzb3VyY2UgPSBmaW5kQnlG
aWxlTmFtZShkYXRhYmFzZS0+ZmlsZU5hbWUoKSkpIHsKLSAgICAgICAgcmVzb3VyY2UtPnNldERh
dGFiYXNlKGRhdGFiYXNlKTsKKyAgICAgICAgcmVzb3VyY2UtPnNldERhdGFiYXNlKFdURjo6bW92
ZShkYXRhYmFzZSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPEluc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2U+IHJlc291cmNlID0gSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJj
ZTo6Y3JlYXRlKGRhdGFiYXNlLCBkb21haW4sIG5hbWUsIHZlcnNpb24pOworICAgIFJlZlB0cjxJ
bnNwZWN0b3JEYXRhYmFzZVJlc291cmNlPiByZXNvdXJjZSA9IEluc3BlY3RvckRhdGFiYXNlUmVz
b3VyY2U6OmNyZWF0ZShXVEY6Om1vdmUoZGF0YWJhc2UpLCBkb21haW4sIG5hbWUsIHZlcnNpb24p
OwogICAgIG1fcmVzb3VyY2VzLnNldChyZXNvdXJjZS0+aWQoKSwgcmVzb3VyY2UpOwogICAgIC8v
IFJlc291cmNlcyBhcmUgb25seSBib3VuZCB3aGlsZSB2aXNpYmxlLgogICAgIGlmIChtX2VuYWJs
ZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdl
bnQuaAppbmRleCA2YzlkMjI3NTFiYmE4YjAyMDczYjVhMjk4YjNjNjc3Yjc3OTIxZWM0Li5hODYw
ZjE5OGJkNWFmZGNkYjhiODIwOTJhODZmODBkOWE4ZDVkNjdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgKQEAgLTY3LDcgKzY3LDcg
QEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmcm9tIHRoZSBpbmplY3RlZCBzY3JpcHQuCiAgICAg
U3RyaW5nIGRhdGFiYXNlSWQoRGF0YWJhc2UqKTsKIAotICAgIHZvaWQgZGlkT3BlbkRhdGFiYXNl
KFBhc3NSZWZQdHI8RGF0YWJhc2U+LCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pOworICAgIHZvaWQgZGlkT3BlbkRhdGFiYXNl
KFJlZlB0cjxEYXRhYmFzZT4mJiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKIHByaXZhdGU6CiAgICAgRGF0YWJhc2UqIGRh
dGFiYXNlRm9ySWQoY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlkKTsKICAgICBJbnNwZWN0b3JEYXRh
YmFzZVJlc291cmNlKiBmaW5kQnlGaWxlTmFtZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUluc3Ry
dW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
SW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggMWYxMDA1MjdiNWQ1NWE5OWIyZWE0ZjNkYjlkZGUzZDE1
YzU2YzBiMC4uMDgxYjJjN2Q4Zjk4MmM5YzAwOTMwNGQ3MGEzYjA0N2QxN2JjZjFiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVu
dGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNl
SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTMzLDcgKzMzLDYgQEAKIAogI2luY2x1ZGUgIkRhdGFiYXNl
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCi0jaW5jbHVkZSA8d3Rm
L1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaAppbmRleCA2ZGI4
NWM5YzQ4ZGE2OTkwMWEzODc1NjNhNTAwYThmNDYwNmQ2NTY4Li42YWM5MWMzNjhkNWRhZGQwNTZk
YmE4MzExZmMyMTY0NTYyZDUxMWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCBiaW5kKEluc3BlY3Rvcjo6RGF0YWJhc2VGcm9udGVuZERpc3BhdGNoZXIq
KTsKICAgICBEYXRhYmFzZSogZGF0YWJhc2UoKSB7IHJldHVybiBtX2RhdGFiYXNlLmdldCgpOyB9
Ci0gICAgdm9pZCBzZXREYXRhYmFzZShSZWZQdHI8RGF0YWJhc2U+JiYgZGF0YWJhc2UpIHsgbV9k
YXRhYmFzZSA9IGRhdGFiYXNlOyB9CisgICAgdm9pZCBzZXREYXRhYmFzZShSZWZQdHI8RGF0YWJh
c2U+JiYgZGF0YWJhc2UpIHsgbV9kYXRhYmFzZSA9IFdURjo6bW92ZShkYXRhYmFzZSk7IH0KICAg
ICBTdHJpbmcgaWQoKSBjb25zdCB7IHJldHVybiBtX2lkOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4
IDg4ODVlMWNhZDU1NGVlMzFkOTJmZTMzZmExNGVkMjUxYjM3YjJlZWEuLjdhZmQyYTNhZWE5NGU3
Yjc0YmY3MTVmYWE0Y2ExY2Y0NzcxNDJkNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwCkBAIC01OSw5ICs1OSw5IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIGNsYXNzIEZyb250ZW5k
TWVudVByb3ZpZGVyIDogcHVibGljIENvbnRleHRNZW51UHJvdmlkZXIgewogcHVibGljOgotICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEZyb250ZW5kTWVudVByb3ZpZGVyPiBjcmVhdGUoSW5zcGVjdG9y
RnJvbnRlbmRIb3N0KiBmcm9udGVuZEhvc3QsIERlcHJlY2F0ZWQ6OlNjcmlwdE9iamVjdCBmcm9u
dGVuZEFwaU9iamVjdCwgY29uc3QgVmVjdG9yPENvbnRleHRNZW51SXRlbT4mIGl0ZW1zKQorICAg
IHN0YXRpYyBSZWY8RnJvbnRlbmRNZW51UHJvdmlkZXI+IGNyZWF0ZShJbnNwZWN0b3JGcm9udGVu
ZEhvc3QqIGZyb250ZW5kSG9zdCwgRGVwcmVjYXRlZDo6U2NyaXB0T2JqZWN0IGZyb250ZW5kQXBp
T2JqZWN0LCBjb25zdCBWZWN0b3I8Q29udGV4dE1lbnVJdGVtPiYgaXRlbXMpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZyb250ZW5kTWVudVByb3ZpZGVyKGZyb250ZW5kSG9z
dCwgZnJvbnRlbmRBcGlPYmplY3QsIGl0ZW1zKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IEZyb250ZW5kTWVudVByb3ZpZGVyKGZyb250ZW5kSG9zdCwgZnJvbnRlbmRBcGlPYmplY3Qs
IGl0ZW1zKSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgZGlzY29ubmVjdCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmlu
ZGV4IDY4ZmYxN2RiOTlkMDExMDU3OGQ1YTUxMzI4MzJkNGEwNjU2OTA5ZWUuLmY1YjE3Yzg4MzM0
YTA4NjRiM2FlMDA1ZTZmMmZkYzhiY2FhYTM4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC05NzMsNyArOTcz
LDcgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWUKICAgICBpZiAoIWluc3RydW1lbnRpbmdBZ2Vu
dHMuaW5zcGVjdG9yRW52aXJvbm1lbnQoKS5kZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKICAgICBpZiAoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGJBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yRGF0YWJhc2VBZ2VudCgpKQotICAgICAgICBkYkFn
ZW50LT5kaWRPcGVuRGF0YWJhc2UoZGF0YWJhc2UsIGRvbWFpbiwgbmFtZSwgdmVyc2lvbik7Cisg
ICAgICAgIGRiQWdlbnQtPmRpZE9wZW5EYXRhYmFzZShXVEY6Om1vdmUoZGF0YWJhc2UpLCBkb21h
aW4sIG5hbWUsIHZlcnNpb24pOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRGlzcGF0Y2hET01TdG9yYWdlRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIG9sZFZhbHVl
LCBjb25zdCBTdHJpbmcmIG5ld1ZhbHVlLCBTdG9yYWdlVHlwZSBzdG9yYWdlVHlwZSwgU2VjdXJp
dHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBQYWdlKiBwYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaAppbmRleCAxMGRlZGYyMTk1
ZTVmZGM4MWJmZWUyYjVmYTkwZDhmM2VmNDMxN2Q1Li42ZTk1Yzg3NGEyM2Q1NTM2ZDY1ZTNhMDFm
ZjZlMzIzOGYzM2ZmNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yTGF5ZXJUcmVlQWdlbnQuaApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oPgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCi0j
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JPdmVybGF5LmNwcAppbmRleCBhMzFkYTc5Mjc3NTM3NjAxMDYyNmYwMTRkMmU5
MDIyYjliMDA3ODVlLi5lYmM2MjE5OWZkYTA3ZDgwZDRiZThlYjRjMTA5MWM4MjczZjUwN2RhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCkBAIC0y
NTksMTAgKzI1OSwxMCBAQCB2b2lkIEluc3BlY3Rvck92ZXJsYXk6OmhpZGVIaWdobGlnaHQoKQog
ICAgIHVwZGF0ZSgpOwogfQogCi12b2lkIEluc3BlY3Rvck92ZXJsYXk6OmhpZ2hsaWdodE5vZGVM
aXN0KFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IG5vZGVzLCBjb25zdCBIaWdobGlnaHRDb25maWcmIGhp
Z2hsaWdodENvbmZpZykKK3ZvaWQgSW5zcGVjdG9yT3ZlcmxheTo6aGlnaGxpZ2h0Tm9kZUxpc3Qo
UmVmUHRyPE5vZGVMaXN0PiYmIG5vZGVzLCBjb25zdCBIaWdobGlnaHRDb25maWcmIGhpZ2hsaWdo
dENvbmZpZykKIHsKICAgICBtX25vZGVIaWdobGlnaHRDb25maWcgPSBoaWdobGlnaHRDb25maWc7
Ci0gICAgbV9oaWdobGlnaHROb2RlTGlzdCA9IG5vZGVzOworICAgIG1faGlnaGxpZ2h0Tm9kZUxp
c3QgPSBXVEY6Om1vdmUobm9kZXMpOwogICAgIG1faGlnaGxpZ2h0Tm9kZSA9IG51bGxwdHI7CiAg
ICAgdXBkYXRlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yT3ZlcmxheS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJs
YXkuaAppbmRleCAwMTE0NjRlY2ExMDFjOGRkYTkwNGU3NDE1MDRjMzVjZmU4NmQ0YTUyLi5iNWM0
NDMyZWUwZmQ1OGY5Y2FjNmIyMDhjNzE1NGU4OGFiNjg5YjY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmgKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRQYXVzZWRJbkRlYnVnZ2VyTWVzc2FnZShjb25zdCBTdHJpbmcqKTsKIAog
ICAgIHZvaWQgaGlkZUhpZ2hsaWdodCgpOwotICAgIHZvaWQgaGlnaGxpZ2h0Tm9kZUxpc3QoUGFz
c1JlZlB0cjxOb2RlTGlzdD4sIGNvbnN0IEhpZ2hsaWdodENvbmZpZyYpOworICAgIHZvaWQgaGln
aGxpZ2h0Tm9kZUxpc3QoUmVmUHRyPE5vZGVMaXN0PiYmLCBjb25zdCBIaWdobGlnaHRDb25maWcm
KTsKICAgICB2b2lkIGhpZ2hsaWdodE5vZGUoTm9kZSosIGNvbnN0IEhpZ2hsaWdodENvbmZpZyYp
OwogICAgIHZvaWQgaGlnaGxpZ2h0UXVhZChzdGQ6OnVuaXF1ZV9wdHI8RmxvYXRRdWFkPiwgY29u
c3QgSGlnaGxpZ2h0Q29uZmlnJik7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDExNmQ2MDdiNDIzYTllYTQ3NjRlYWFkMjIy
Y2JhYjdkNDcxYjZiZDIuLjg5OWQ1ODU4NTA1YTg4YzBhY2RlNTBhNWMxYTA5YTRlMWYyM2VlNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3Bw
CkBAIC0xOTEsNyArMTkxLDcgQEAgYm9vbCBJbnNwZWN0b3JQYWdlQWdlbnQ6Om1haW5SZXNvdXJj
ZUNvbnRlbnQoRnJhbWUqIGZyYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUKIH0KIAogLy8gc3Rh
dGljCi1ib29sIEluc3BlY3RvclBhZ2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29udGVudChQYXNzUmVm
UHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUs
IGJvb2wgd2l0aEJhc2U2NEVuY29kZSwgU3RyaW5nKiByZXN1bHQpCitib29sIEluc3BlY3RvclBh
Z2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29udGVudChSZWZQdHI8U2hhcmVkQnVmZmVyPiYmIGJ1ZmZl
ciwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUs
IFN0cmluZyogcmVzdWx0KQogewogICAgIHJldHVybiBkYXRhQ29udGVudChidWZmZXIgPyBidWZm
ZXItPmRhdGEoKSA6IG51bGxwdHIsIGJ1ZmZlciA/IGJ1ZmZlci0+c2l6ZSgpIDogMCwgdGV4dEVu
Y29kaW5nTmFtZSwgd2l0aEJhc2U2NEVuY29kZSwgcmVzdWx0KTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCAwNWVlZmFmMmUzMTAyNmY1
ZTkxOTg5ZmM0ZWJlNjMxYjNlODA1Y2MxLi4yODM4MmIwZmM2ZDM0MjY5ZjExOGMyYjk0NjIwY2Ni
OWQ1YzhkMWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5oCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgc3RhdGljIGJv
b2wgY2FjaGVkUmVzb3VyY2VDb250ZW50KENhY2hlZFJlc291cmNlKiwgU3RyaW5nKiByZXN1bHQs
IGJvb2wqIGJhc2U2NEVuY29kZWQpOwotICAgIHN0YXRpYyBib29sIHNoYXJlZEJ1ZmZlckNvbnRl
bnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05h
bWUsIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwgU3RyaW5nKiByZXN1bHQpOworICAgIHN0YXRpYyBi
b29sIHNoYXJlZEJ1ZmZlckNvbnRlbnQoUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mJiwgY29uc3QgU3Ry
aW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmluZyogcmVz
dWx0KTsKICAgICBzdGF0aWMgdm9pZCByZXNvdXJjZUNvbnRlbnQoRXJyb3JTdHJpbmcmLCBGcmFt
ZSosIGNvbnN0IFVSTCYsIFN0cmluZyogcmVzdWx0LCBib29sKiBiYXNlNjRFbmNvZGVkKTsKICAg
ICBzdGF0aWMgU3RyaW5nIHNvdXJjZU1hcFVSTEZvclJlc291cmNlKENhY2hlZFJlc291cmNlKik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJj
ZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmNwcAppbmRleCBmOTRlYzc5MDEzZjg0NjgyM2IwZWU4NWIwNWU3ZjkyYWNkNGIxZmFhLi4y
OTUzOTNhNGJmODUwZGUzNDI4NTRhNmU4ZGY3ZjgyYjlmOTAzZTE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC04MSw4
ICs4MSw4IEBAIG5hbWVzcGFjZSB7CiBjbGFzcyBJbnNwZWN0b3JUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50IGZpbmFsIDogcHVibGljIFRocmVhZGFibGVMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEluc3BlY3RvclRocmVhZGFibGVMb2FkZXJDbGllbnQpOwogcHVibGljOgot
ICAgIEluc3BlY3RvclRocmVhZGFibGVMb2FkZXJDbGllbnQoUGFzc1JlZlB0cjxMb2FkUmVzb3Vy
Y2VDYWxsYmFjaz4gY2FsbGJhY2spCi0gICAgICAgIDogbV9jYWxsYmFjayhjYWxsYmFjaykgeyB9
CisgICAgSW5zcGVjdG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudChSZWZQdHI8TG9hZFJlc291cmNl
Q2FsbGJhY2s+JiYgY2FsbGJhY2spCisgICAgICAgIDogbV9jYWxsYmFjayhXVEY6Om1vdmUoY2Fs
bGJhY2spKSB7IH0KIAogICAgIHZpcnR1YWwgfkluc3BlY3RvclRocmVhZGFibGVMb2FkZXJDbGll
bnQoKSB7IH0KIApAQCAtMTQwLDkgKzE0MCw5IEBAIHB1YmxpYzoKICAgICAgICAgZGlzcG9zZSgp
OwogICAgIH0KIAotICAgIHZvaWQgc2V0TG9hZGVyKFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRl
cj4gbG9hZGVyKQorICAgIHZvaWQgc2V0TG9hZGVyKFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiYm
IGxvYWRlcikKICAgICB7Ci0gICAgICAgIG1fbG9hZGVyID0gbG9hZGVyOworICAgICAgICBtX2xv
YWRlciA9IFdURjo6bW92ZShsb2FkZXIpOwogICAgIH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAppbmRleCBh
OWUxOThiMzZlNGQ2NjI2OWI3OWNmZGQ1Yjc5NWRmYWU5ODJlMTQzLi41ZmIzNzAxN2I2OTc1MTFj
ZDc5MGY3YWExOWU0ZjIyMzQxOTY2ZDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCkBAIC0yMjMsMTkgKzIyMywxOSBAQCB2
b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnNldFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcihQYWdl
U2NyaXB0RGVidWdTZXJ2ZXIqIHNjcgogICAgIG1fc2NyaXB0RGVidWdTZXJ2ZXIgPSBzY3JpcHRE
ZWJ1Z1NlcnZlcjsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHN0YXJ0UHJvZmlsaW5nKEpTQzo6
RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBQYXNzUmVmUHRyPFN0b3B3YXRj
aD4gc3RvcHdhdGNoKQorc3RhdGljIGlubGluZSB2b2lkIHN0YXJ0UHJvZmlsaW5nKEpTQzo6RXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBSZWZQdHI8U3RvcHdhdGNoPiYmIHN0
b3B3YXRjaCkKIHsKLSAgICBKU0M6OkxlZ2FjeVByb2ZpbGVyOjpwcm9maWxlcigpLT5zdGFydFBy
b2ZpbGluZyhleGVjLCB0aXRsZSwgc3RvcHdhdGNoKTsKKyAgICBKU0M6OkxlZ2FjeVByb2ZpbGVy
Ojpwcm9maWxlcigpLT5zdGFydFByb2ZpbGluZyhleGVjLCB0aXRsZSwgV1RGOjptb3ZlKHN0b3B3
YXRjaCkpOwogfQogCi1zdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBzdG9w
UHJvZmlsaW5nKEpTQzo6RXhlY1N0YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlKQorc3Rh
dGljIGlubGluZSBSZWZQdHI8SlNDOjpQcm9maWxlPiBzdG9wUHJvZmlsaW5nKEpTQzo6RXhlY1N0
YXRlKiBleGVjLCBjb25zdCBTdHJpbmcmIHRpdGxlKQogewogICAgIHJldHVybiBKU0M6OkxlZ2Fj
eVByb2ZpbGVyOjpwcm9maWxlcigpLT5zdG9wUHJvZmlsaW5nKGV4ZWMsIHRpdGxlKTsKIH0KIAot
c3RhdGljIGlubGluZSB2b2lkIHN0YXJ0UHJvZmlsaW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3Ry
aW5nJiB0aXRsZSwgUGFzc1JlZlB0cjxTdG9wd2F0Y2g+IHN0b3B3YXRjaCkKK3N0YXRpYyBpbmxp
bmUgdm9pZCBzdGFydFByb2ZpbGluZyhGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdGl0bGUs
IFJlZlB0cjxTdG9wd2F0Y2g+JiYgc3RvcHdhdGNoKQogewotICAgIHN0YXJ0UHJvZmlsaW5nKHRv
SlNET01XaW5kb3coZnJhbWUsIGRlYnVnZ2VyV29ybGQoKSktPmdsb2JhbEV4ZWMoKSwgdGl0bGUs
IHN0b3B3YXRjaCk7CisgICAgc3RhcnRQcm9maWxpbmcodG9KU0RPTVdpbmRvdyhmcmFtZSwgZGVi
dWdnZXJXb3JsZCgpKS0+Z2xvYmFsRXhlYygpLCB0aXRsZSwgV1RGOjptb3ZlKHN0b3B3YXRjaCkp
OwogfQogCiBzdGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8SlNDOjpQcm9maWxlPiBzdG9wUHJvZmls
aW5nKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiB0aXRsZSkKQEAgLTI2NCw3ICsyNjQsNyBA
QCB2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0YXJ0RnJvbUNvbnNvbGUoSlNDOjpFeGVj
U3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZwogICAgIG1fcGVuZGluZ0NvbnNvbGVQcm9maWxlUmVj
b3Jkcy5hcHBlbmQoY3JlYXRlUmVjb3JkRW50cnkoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVh
dGVDb25zb2xlUHJvZmlsZURhdGEodGl0bGUpLCBUaW1lbGluZVJlY29yZFR5cGU6OkNvbnNvbGVQ
cm9maWxlLCB0cnVlLCBmcmFtZUZyb21FeGVjU3RhdGUoZXhlYykpKTsKIH0KIAotUGFzc1JlZlB0
cjxKU0M6OlByb2ZpbGU+IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZShK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiB0aXRsZSkKK1JlZlB0cjxKU0M6OlBy
b2ZpbGU+IEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OnN0b3BGcm9tQ29uc29sZShKU0M6OkV4ZWNT
dGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiB0aXRsZSkKIHsKICAgICAvLyBTdG9wIHByb2ZpbGVz
IGluIHJldmVyc2Ugb3JkZXIuIElmIHRoZSB0aXRsZSBpcyBlbXB0eSwgdGhlbiBzdG9wIHRoZSBs
YXN0IHByb2ZpbGUuCiAgICAgLy8gT3RoZXJ3aXNlLCBtYXRjaCB0aGUgdGl0bGUgb2YgdGhlIHBy
b2ZpbGUgdG8gc3RvcC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5oCmluZGV4IDFjYmNlNTVmOGVkOGNkNGQ0OWEwMDlkZTJlMGYwN2U1N2M3
ZjU5YTAuLjhmOTUzYjFkYTE4ZTQ5N2NiMTlhMzg1ZDkzYzliYWU2YjNjMjZiZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAt
MTM0LDcgKzEzNCw3IEBAIHB1YmxpYzoKIAogICAgIC8vIE1ldGhvZHMgY2FsbGVkIGZyb20gV2Vi
Q29yZS4KICAgICB2b2lkIHN0YXJ0RnJvbUNvbnNvbGUoSlNDOjpFeGVjU3RhdGUqLCBjb25zdCBT
dHJpbmcgJnRpdGxlKTsKLSAgICBQYXNzUmVmUHRyPEpTQzo6UHJvZmlsZT4gc3RvcEZyb21Db25z
b2xlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5nJiB0aXRsZSk7CisgICAgUmVmUHRyPEpT
Qzo6UHJvZmlsZT4gc3RvcEZyb21Db25zb2xlKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgU3RyaW5n
JiB0aXRsZSk7CiAKICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24gY2FsbGJhY2tzLgog
ICAgIHZvaWQgZGlkSW5zdGFsbFRpbWVyKGludCB0aW1lcklkLCBpbnQgdGltZW91dCwgYm9vbCBz
aW5nbGVTaG90LCBGcmFtZSopOwpAQCAtMTk4LDggKzE5OCwxMSBAQCBwcml2YXRlOgogICAgIHN0
cnVjdCBUaW1lbGluZVJlY29yZEVudHJ5IHsKICAgICAgICAgVGltZWxpbmVSZWNvcmRFbnRyeSgp
CiAgICAgICAgICAgICA6IHR5cGUoVGltZWxpbmVSZWNvcmRUeXBlOjpFdmVudERpc3BhdGNoKSB7
IH0KLSAgICAgICAgVGltZWxpbmVSZWNvcmRFbnRyeShQYXNzUmVmUHRyPEluc3BlY3Rvcjo6SW5z
cGVjdG9yT2JqZWN0PiByZWNvcmQsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmpl
Y3Q+IGRhdGEsIFBhc3NSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJheT4gY2hpbGRyZW4s
IFRpbWVsaW5lUmVjb3JkVHlwZSB0eXBlKQotICAgICAgICAgICAgOiByZWNvcmQocmVjb3JkKSwg
ZGF0YShkYXRhKSwgY2hpbGRyZW4oY2hpbGRyZW4pLCB0eXBlKHR5cGUpCisgICAgICAgIFRpbWVs
aW5lUmVjb3JkRW50cnkoUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiYmIHJlY29y
ZCwgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiYmIGRhdGEsIFJlZlB0cjxJbnNw
ZWN0b3I6Okluc3BlY3RvckFycmF5PiYmIGNoaWxkcmVuLCBUaW1lbGluZVJlY29yZFR5cGUgdHlw
ZSkKKyAgICAgICAgICAgIDogcmVjb3JkKFdURjo6bW92ZShyZWNvcmQpKQorICAgICAgICAgICAg
LCBkYXRhKFdURjo6bW92ZShkYXRhKSkKKyAgICAgICAgICAgICwgY2hpbGRyZW4oV1RGOjptb3Zl
KGNoaWxkcmVuKSkKKyAgICAgICAgICAgICwgdHlwZSh0eXBlKQogICAgICAgICB7CiAgICAgICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcldvcmtl
clJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVz
b3VyY2UuaAppbmRleCBmOGJlZDUyNGMyYTcyMDdiYmM4OTM1MDMzNDJkN2VhODM2ODE1M2ZhLi5h
ZWFhMGQwMjYyZjViMTE0ZjFmNjcwYjhkODEyZWJhM2ExZTlhYjFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UuaApAQCAtMzEsNyAr
MzEsNiBAQAogI2lmbmRlZiBJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZV9oCiAjZGVmaW5lIEluc3Bl
Y3RvcldvcmtlclJlc291cmNlX2gKIAotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC00MCw5ICszOSw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgSW5zcGVjdG9yV29ya2VyUmVzb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRl
ZDxJbnNwZWN0b3JXb3JrZXJSZXNvdXJjZT4gewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEluc3BlY3RvcldvcmtlclJlc291cmNlPiBjcmVhdGUoaW50cHRyX3QgaWQsIGNvbnN0IFN0
cmluZyYgdXJsLCBib29sIGlzU2hhcmVkV29ya2VyKQorICAgIHN0YXRpYyBSZWY8SW5zcGVjdG9y
V29ya2VyUmVzb3VyY2U+IGNyZWF0ZShpbnRwdHJfdCBpZCwgY29uc3QgU3RyaW5nJiB1cmwsIGJv
b2wgaXNTaGFyZWRXb3JrZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElu
c3BlY3RvcldvcmtlclJlc291cmNlKGlkLCB1cmwsIGlzU2hhcmVkV29ya2VyKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IEluc3BlY3RvcldvcmtlclJlc291cmNlKGlkLCB1cmwsIGlz
U2hhcmVkV29ya2VyKSk7CiAgICAgfQogCiAgICAgaW50cHRyX3QgaWQoKSBjb25zdCB7IHJldHVy
biBtX2lkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVu
dGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2Vu
dHMuaAppbmRleCA5OWZmZDkyM2I0NmUxY2FlNTNhNDY0NDg2YjAwMGIzMjgwODRkNmU4Li4yNWI1
ZGNlMzg1NGY3Mjk1N2ZjOGQ3MTdjNDU2NDhmZWNiM2MwNWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTM1LDcgKzM1LDYgQEAKICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yRW52aXJvbm1lbnQuaD4KICNpbmNsdWRlIDx3dGYv
RmFzdE1hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNl
IEluc3BlY3RvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29y
a1Jlc291cmNlc0RhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNv
dXJjZXNEYXRhLmNwcAppbmRleCBhN2YzMjJmOTk1MWQ2ZTJiMjI1YjhjYjc2NDZjODBmMDUyZGU4
NDg5Li5kZTFlZjljYzI3NzY3YzMzNWFjZTI2MjBkYWRkZDEzMmMxYzg0OTQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5jcHAKQEAgLTEz
Niw3ICsxMzYsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjpyZXNvdXJjZUNyZWF0ZWQo
Y29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IFN0cmluZwogICAgIG1fcmVxdWVzdElkVG9S
ZXNvdXJjZURhdGFNYXAuc2V0KHJlcXVlc3RJZCwgbmV3IFJlc291cmNlRGF0YShyZXF1ZXN0SWQs
IGxvYWRlcklkKSk7CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPFRleHRSZXNvdXJjZURlY29kZXI+
IGNyZWF0ZU90aGVyUmVzb3VyY2VUZXh0RGVjb2Rlcihjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBj
b25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpCitzdGF0aWMgUmVmUHRyPFRleHRSZXNvdXJj
ZURlY29kZXI+IGNyZWF0ZU90aGVyUmVzb3VyY2VUZXh0RGVjb2Rlcihjb25zdCBTdHJpbmcmIG1p
bWVUeXBlLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpCiB7CiAgICAgUmVmUHRyPFRl
eHRSZXNvdXJjZURlY29kZXI+IGRlY29kZXI7CiAgICAgaWYgKCF0ZXh0RW5jb2RpbmdOYW1lLmlz
RW1wdHkoKSkKQEAgLTIzNywxMiArMjM3LDEyIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6
OmFkZENhY2hlZFJlc291cmNlKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBDYWNoZWRSZXNvCiAg
ICAgcmVzb3VyY2VEYXRhLT5zZXRDYWNoZWRSZXNvdXJjZShjYWNoZWRSZXNvdXJjZSk7CiB9CiAK
LXZvaWQgTmV0d29ya1Jlc291cmNlc0RhdGE6OmFkZFJlc291cmNlU2hhcmVkQnVmZmVyKGNvbnN0
IFN0cmluZyYgcmVxdWVzdElkLCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyLCBjb25z
dCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUpCit2b2lkIE5ldHdvcmtSZXNvdXJjZXNEYXRhOjph
ZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4mJiBidWZmZXIsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSkKIHsK
ICAgICBSZXNvdXJjZURhdGEqIHJlc291cmNlRGF0YSA9IHJlc291cmNlRGF0YUZvclJlcXVlc3RJ
ZChyZXF1ZXN0SWQpOwogICAgIGlmICghcmVzb3VyY2VEYXRhKQogICAgICAgICByZXR1cm47Ci0g
ICAgcmVzb3VyY2VEYXRhLT5zZXRCdWZmZXIoYnVmZmVyKTsKKyAgICByZXNvdXJjZURhdGEtPnNl
dEJ1ZmZlcihXVEY6Om1vdmUoYnVmZmVyKSk7CiAgICAgcmVzb3VyY2VEYXRhLT5zZXRUZXh0RW5j
b2RpbmdOYW1lKHRleHRFbmNvZGluZ05hbWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9OZXR3b3JrUmVzb3VyY2VzRGF0YS5oCmluZGV4IGVkZDc1Nzk5Y2NlZGYxZjcwZWEx
YTY2NDE5ZDMwZjUzZjQ5NmVkZTMuLjdmODVkZDAxM2RiZTY5YjEzYWYwMjQxMDYyNjgyNzc2NWQ5
NTUzZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3Vy
Y2VzRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3VyY2Vz
RGF0YS5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZvaWQgbWF5YmVBZGRSZXNv
dXJjZURhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVf
dCBkYXRhTGVuZ3RoKTsKICAgICB2b2lkIG1heWJlRGVjb2RlRGF0YVRvQ29udGVudChjb25zdCBT
dHJpbmcmIHJlcXVlc3RJZCk7CiAgICAgdm9pZCBhZGRDYWNoZWRSZXNvdXJjZShjb25zdCBTdHJp
bmcmIHJlcXVlc3RJZCwgQ2FjaGVkUmVzb3VyY2UqKTsKLSAgICB2b2lkIGFkZFJlc291cmNlU2hh
cmVkQnVmZmVyKGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4sIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSk7CisgICAgdm9pZCBhZGRSZXNvdXJj
ZVNoYXJlZEJ1ZmZlcihjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4mJiwgY29uc3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lKTsKICAgICBSZXNvdXJjZURhdGEg
Y29uc3QqIGRhdGEoY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQpOwogICAgIFZlY3RvcjxTdHJpbmc+
IHJlbW92ZUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKik7CiAgICAgdm9pZCBjbGVhcihj
b25zdCBTdHJpbmcmIHByZXNlcnZlZExvYWRlcklkID0gU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAppbmRleCBmODU5
ZGRjZGQ0OTAxMjg2NDY2MGY1NTgwOTU3ZTdiNDBhYTU5Yjk4Li5lYmM3ZDdmZmJhYjY5OGJlNmU0
YzAyMTA5MTJlYWE5OGNkNWUyOWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5LmNwcApAQCAtMTgzLDkgKzE4Myw5IEBAIFJlZjxJbnNw
ZWN0b3JPYmplY3Q+IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlQW5pbWF0aW9uRnJhbWVE
YXRhKGludCBjYWxsYmFjCiAgICAgcmV0dXJuIFdURjo6bW92ZShkYXRhKTsKIH0KIAotc3RhdGlj
IFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGNyZWF0ZVF1YWQoY29uc3QgRmxvYXRRdWFkJiBx
dWFkKQorc3RhdGljIFJlZjxJbnNwZWN0b3JBcnJheT4gY3JlYXRlUXVhZChjb25zdCBGbG9hdFF1
YWQmIHF1YWQpCiB7Ci0gICAgUmVmUHRyPEluc3BlY3RvckFycmF5PiBhcnJheSA9IEluc3BlY3Rv
ckFycmF5OjpjcmVhdGUoKTsKKyAgICBSZWY8SW5zcGVjdG9yQXJyYXk+IGFycmF5ID0gSW5zcGVj
dG9yQXJyYXk6OmNyZWF0ZSgpOwogICAgIGFycmF5LT5wdXNoRG91YmxlKHF1YWQucDEoKS54KCkp
OwogICAgIGFycmF5LT5wdXNoRG91YmxlKHF1YWQucDEoKS55KCkpOwogICAgIGFycmF5LT5wdXNo
RG91YmxlKHF1YWQucDIoKS54KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dlYkluamVjdGVkU2NyaXB0SG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dl
YkluamVjdGVkU2NyaXB0SG9zdC5oCmluZGV4IDZlN2Y5ODZjMzlmZGZjNDZhYWNmZWNkYzI3OGMx
MDc0N2ZhYjU3ODEuLjg0YTQ0MzVmYzdlZmMwNmYyNmUyOTI4NTNiMjk2MzY0ZmEyMzg1ZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdEhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRIb3N0LmgK
QEAgLTMyLDcgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXZWJJbmplY3Rl
ZFNjcmlwdEhvc3QgZmluYWwgOiBwdWJsaWMgSW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3Qg
ewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkluamVjdGVkU2NyaXB0SG9zdD4g
Y3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYkluamVjdGVkU2NyaXB0SG9zdCk7IH0K
KyAgICBzdGF0aWMgUmVmPFdlYkluamVjdGVkU2NyaXB0SG9zdD4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJJbmplY3RlZFNjcmlwdEhvc3QpOyB9CiAKICAgICB2aXJ0dWFsIEpT
Qzo6SlNWYWx1ZSBzdWJ0eXBlKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpKU1ZhbHVlKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNIVE1MQWxsQ29sbGVjdGlvbihKU0M6OkpTVmFsdWUpIG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dlYkluamVjdGVk
U2NyaXB0TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyLmNwcAppbmRleCA1NjE5NmYwYWUzNzFlZjQ0M2MwNTIzZWIzMWJiNmZjNWVh
ZjNlNWIxLi5jNGJlNjAxNThmNDMyYmZiZmY0NGQzZDYwNWZkNzY3MTcyNmM2NTkyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2Vy
LmNwcApAQCAtMzMsOCArMzMsOCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLVdlYkluamVjdGVkU2NyaXB0TWFuYWdlcjo6V2ViSW5qZWN0ZWRT
Y3JpcHRNYW5hZ2VyKEluc3BlY3RvckVudmlyb25tZW50JiBlbnZpcm9ubWVudCwgUGFzc1JlZlB0
cjxJbmplY3RlZFNjcmlwdEhvc3Q+IGhvc3QpCi0gICAgOiBJbmplY3RlZFNjcmlwdE1hbmFnZXIo
ZW52aXJvbm1lbnQsIGhvc3QpCitXZWJJbmplY3RlZFNjcmlwdE1hbmFnZXI6OldlYkluamVjdGVk
U2NyaXB0TWFuYWdlcihJbnNwZWN0b3JFbnZpcm9ubWVudCYgZW52aXJvbm1lbnQsIFJlZlB0cjxJ
bmplY3RlZFNjcmlwdEhvc3Q+JiYgaG9zdCkKKyAgICA6IEluamVjdGVkU2NyaXB0TWFuYWdlcihl
bnZpcm9ubWVudCwgV1RGOjptb3ZlKGhvc3QpKQogICAgICwgbV9jb21tYW5kTGluZUFQSUhvc3Qo
Q29tbWFuZExpbmVBUElIb3N0OjpjcmVhdGUoKSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9XZWJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaAppbmRleCBlOGZjNDUyMmFi
MTIxOWE3YTMwNTU0M2FkZDkyMzFhOThmZjBhMDY5Li5mY2Q0NWQ3MTU3NTg0MjQ4MDk3NzdlNmYx
NGJmNDdjZTkwMzA5YjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV2Vi
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL1dl
YkluamVjdGVkU2NyaXB0TWFuYWdlci5oCkBAIC0zNiw3ICszNiw3IEBAIGNsYXNzIERPTVdpbmRv
dzsKIAogY2xhc3MgV2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIGZpbmFsIDogcHVibGljIEluc3Bl
Y3Rvcjo6SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyIHsKIHB1YmxpYzoKLSAgICBXZWJJbmplY3RlZFNj
cmlwdE1hbmFnZXIoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYsIFBhc3NSZWZQdHI8
SW5zcGVjdG9yOjpJbmplY3RlZFNjcmlwdEhvc3Q+KTsKKyAgICBXZWJJbmplY3RlZFNjcmlwdE1h
bmFnZXIoSW5zcGVjdG9yOjpJbnNwZWN0b3JFbnZpcm9ubWVudCYsIFJlZlB0cjxJbnNwZWN0b3I6
OkluamVjdGVkU2NyaXB0SG9zdD4mJik7CiAgICAgdmlydHVhbCB+V2ViSW5qZWN0ZWRTY3JpcHRN
YW5hZ2VyKCkgeyB9CiAKICAgICBDb21tYW5kTGluZUFQSUhvc3QqIGNvbW1hbmRMaW5lQVBJSG9z
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29tbWFuZExpbmVBUElIb3N0LmdldCgpOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>