<?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>178408</bug_id>
          
          <creation_ts>2017-10-17 14:26:42 -0700</creation_ts>
          <short_desc>REGRESSION(r223500): Introduced a crash in CSSAnimationController::updateAnimations (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2017-10-17 14:29:49 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>178339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1361418</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-17 14:26:42 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/223500 broke the build:
Introduced a crash in CSSAnimationController::updateAnimations (Requested by rniwa on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361420</commentid>
    <comment_count>1</comment_count>
      <attachid>324058</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-17 14:26:50 -0700</bug_when>
    <thetext>Created attachment 324058
ROLLOUT of r223500

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361422</commentid>
    <comment_count>2</comment_count>
      <attachid>324058</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-17 14:29:31 -0700</bug_when>
    <thetext>Comment on attachment 324058
ROLLOUT of r223500

Clearing flags on attachment: 324058

Committed r223579: &lt;https://trac.webkit.org/changeset/223579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361423</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-17 14:29:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361425</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-17 14:29:49 -0700</bug_when>
    <thetext>&lt;rdar://problem/35038303&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324058</attachid>
            <date>2017-10-17 14:26:50 -0700</date>
            <delta_ts>2017-10-17 14:29:31 -0700</delta_ts>
            <desc>ROLLOUT of r223500</desc>
            <filename>bug-178408-20171017172650.patch</filename>
            <type>text/plain</type>
            <size>23569</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg2MWRjNzkyZmI2ODZh
NDc3YTkyYTJlNmQ0NmE2MWFiYjdmMmI1Mi4uMTBlYmJiNDE2ZmFmNmUyMTAwM2Q0YTQ4OTg5ZTFm
N2ZhNjAyOTA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTE3ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjIzNTAwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTc4NDA4CisKKyAgICAgICAgSW50cm9kdWNlZCBhIGNyYXNoIGluIENT
U0FuaW1hdGlvbkNvbnRyb2xsZXI6OnVwZGF0ZUFuaW1hdGlvbnMKKyAgICAgICAgKFJlcXVlc3Rl
ZCBieSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisK
KyAgICAgICAgIlJlc29sdmUgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzIGR1
cmluZyBzdHlsZQorICAgICAgICByZXNvbHV0aW9uIgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MzM5CisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8yMjM1MDAKKwogMjAxNy0xMC0xNyAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIERlbGV0ZSBidXR0b24gZG9lc24ndCBm
dWxseSBkZWxldGUgY2VydGFpbiBlbW9qaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L1BzZXVkb0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1lbnQuY3Bw
CmluZGV4IDJhNTliNzFkNjg0ZGEyNzAyYjQ0YzllZWNjZmI2YTJhODBkNjkwY2MuLjExMWY2MGI2
ZmQ4YzY4MjIxMTkxOGY3ODk0MDMzOWI0MDczZTkzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRv
RWxlbWVudC5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJQc2V1ZG9FbGVtZW50LmgiCiAKLSNpbmNsdWRlICJDU1NBbmltYXRpb25Db250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCkBAIC03MiwyMiArNzEsMTAg
QEAgUHNldWRvRWxlbWVudDo6flBzZXVkb0VsZW1lbnQoKQogICAgIEFTU0VSVCghbV9ob3N0RWxl
bWVudCk7CiB9CiAKLVJlZjxQc2V1ZG9FbGVtZW50PiBQc2V1ZG9FbGVtZW50OjpjcmVhdGUoRWxl
bWVudCYgaG9zdCwgUHNldWRvSWQgcHNldWRvSWQpCi17Ci0gICAgYXV0byBwc2V1ZG9FbGVtZW50
ID0gYWRvcHRSZWYoKm5ldyBQc2V1ZG9FbGVtZW50KGhvc3QsIHBzZXVkb0lkKSk7Ci0KLSAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnRDcmVhdGVkKGhvc3QuZG9jdW1l
bnQoKS5wYWdlKCksIHBzZXVkb0VsZW1lbnQuZ2V0KCkpOwotCi0gICAgcmV0dXJuIHBzZXVkb0Vs
ZW1lbnQ7Ci19Ci0KIHZvaWQgUHNldWRvRWxlbWVudDo6Y2xlYXJIb3N0RWxlbWVudCgpCiB7CiAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpwc2V1ZG9FbGVtZW50RGVzdHJveWVkKGRvY3Vt
ZW50KCkucGFnZSgpLCAqdGhpcyk7CiAKLSAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudCgp
LmZyYW1lKCkpCi0gICAgICAgIGZyYW1lLT5hbmltYXRpb24oKS5jYW5jZWxBbmltYXRpb25zKCp0
aGlzKTsKLQogICAgIG1faG9zdEVsZW1lbnQgPSBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bz
ZXVkb0VsZW1lbnQuaAppbmRleCAyODA5NTBjZDFlNjA1OGU3ZDFhNjZlM2I4N2U3ZGM0ZjEzM2Ez
NTg4Li40N2E5NDc0ODhmZTg2OWVhMmQ4ZTNiZGEzYjAzMTEwNWMwNTNmNmZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Qc2V1ZG9FbGVtZW50LmgKQEAgLTMzLDcgKzMzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgUHNldWRvRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBFbGVtZW50IHsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPFBzZXVkb0VsZW1lbnQ+IGNyZWF0ZShFbGVtZW50JiBob3N0LCBQ
c2V1ZG9JZCk7CisgICAgc3RhdGljIFJlZjxQc2V1ZG9FbGVtZW50PiBjcmVhdGUoRWxlbWVudCYg
aG9zdCwgUHNldWRvSWQgcHNldWRvSWQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBQc2V1ZG9FbGVtZW50KGhvc3QsIHBzZXVkb0lkKSk7CisgICAgfQogICAgIHZpcnR1YWwg
flBzZXVkb0VsZW1lbnQoKTsKIAogICAgIEVsZW1lbnQqIGhvc3RFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9ob3N0RWxlbWVudDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
UmVuZGVyVHJlZVVwZGF0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVw
ZGF0ZXIuY3BwCmluZGV4IGNkNzkxNmU3MDg3ZTY5MWU1MDA1ODQ2MDQzMjdjNzdkYzk3YTdhYjcu
LjYxNTdiMWVhYjU1MGMzYTgwODExOTZkODk1ZWNiNWJjODk1ZmQ2ZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5jcHAKQEAgLTc1LDkgKzc1LDkgQEAgUmVuZGVy
VHJlZVVwZGF0ZXI6OlBhcmVudDo6UGFyZW50KENvbnRhaW5lck5vZGUmIHJvb3QpCiB7CiB9CiAK
LVJlbmRlclRyZWVVcGRhdGVyOjpQYXJlbnQ6OlBhcmVudChFbGVtZW50JiBlbGVtZW50LCBjb25z
dCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqIHVwZGF0ZXMpCitSZW5kZXJUcmVlVXBkYXRlcjo6UGFy
ZW50OjpQYXJlbnQoRWxlbWVudCYgZWxlbWVudCwgU3R5bGU6OkNoYW5nZSBzdHlsZUNoYW5nZSkK
ICAgICA6IGVsZW1lbnQoJmVsZW1lbnQpCi0gICAgLCB1cGRhdGVzKHVwZGF0ZXMpCisgICAgLCBz
dHlsZUNoYW5nZShzdHlsZUNoYW5nZSkKICAgICAsIHJlbmRlclRyZWVQb3NpdGlvbihlbGVtZW50
LnJlbmRlcmVyKCkgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwoUmVuZGVyVHJlZVBvc2l0aW9uKCplbGVt
ZW50LnJlbmRlcmVyKCkpKSA6IHN0ZDo6bnVsbG9wdCkKIHsKIH0KQEAgLTE3Niw3ICsxNzYsNyBA
QCB2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRhaW5lck5vZGUm
IHJvb3QpCiAgICAgICAgIGlmIChpczxUZXh0Pihub2RlKSkgewogICAgICAgICAgICAgYXV0byYg
dGV4dCA9IGRvd25jYXN0PFRleHQ+KG5vZGUpOwogICAgICAgICAgICAgYXV0byogdGV4dFVwZGF0
ZSA9IG1fc3R5bGVVcGRhdGUtPnRleHRVcGRhdGUodGV4dCk7Ci0gICAgICAgICAgICBpZiAoKHBh
cmVudCgpLnVwZGF0ZXMgJiYgcGFyZW50KCkudXBkYXRlcy0+dXBkYXRlLmNoYW5nZSA9PSBTdHls
ZTo6RGV0YWNoKSB8fCB0ZXh0VXBkYXRlIHx8IG1faW52YWxpZGF0ZWRXaGl0ZXNwYWNlT25seVRl
eHRTaWJsaW5ncy5jb250YWlucygmdGV4dCkpCisgICAgICAgICAgICBpZiAocGFyZW50KCkuc3R5
bGVDaGFuZ2UgPT0gU3R5bGU6OkRldGFjaCB8fCB0ZXh0VXBkYXRlIHx8IG1faW52YWxpZGF0ZWRX
aGl0ZXNwYWNlT25seVRleHRTaWJsaW5ncy5jb250YWlucygmdGV4dCkpCiAgICAgICAgICAgICAg
ICAgdXBkYXRlVGV4dFJlbmRlcmVyKHRleHQsIHRleHRVcGRhdGUpOwogCiAgICAgICAgICAgICBp
dC50cmF2ZXJzZU5leHRTa2lwcGluZ0NoaWxkcmVuKCk7CkBAIC0xODUsMTcgKzE4NSwxNyBAQCB2
b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRhaW5lck5vZGUmIHJv
b3QpCiAKICAgICAgICAgYXV0byYgZWxlbWVudCA9IGRvd25jYXN0PEVsZW1lbnQ+KG5vZGUpOwog
Ci0gICAgICAgIGF1dG8qIGVsZW1lbnRVcGRhdGVzID0gbV9zdHlsZVVwZGF0ZS0+ZWxlbWVudFVw
ZGF0ZXMoZWxlbWVudCk7CisgICAgICAgIGF1dG8qIGVsZW1lbnRVcGRhdGUgPSBtX3N0eWxlVXBk
YXRlLT5lbGVtZW50VXBkYXRlKGVsZW1lbnQpOwogCiAgICAgICAgIC8vIFdlIGhvcCB0aHJvdWdo
IGRpc3BsYXk6IGNvbnRlbnRzIGVsZW1lbnRzIGluIGZpbmRSZW5kZXJpbmdSb290LCBzbwogICAg
ICAgICAvLyB0aGVyZSBtYXkgYmUgb3RoZXIgdXBkYXRlcyBkb3duIHRoZSB0cmVlLgotICAgICAg
ICBpZiAoIWVsZW1lbnRVcGRhdGVzICYmICFlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpKSB7
CisgICAgICAgIGlmICghZWxlbWVudFVwZGF0ZSAmJiAhZWxlbWVudC5oYXNEaXNwbGF5Q29udGVu
dHMoKSkgewogICAgICAgICAgICAgaXQudHJhdmVyc2VOZXh0U2tpcHBpbmdDaGlsZHJlbigpOwog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoZWxlbWVudFVw
ZGF0ZXMpCi0gICAgICAgICAgICB1cGRhdGVFbGVtZW50UmVuZGVyZXIoZWxlbWVudCwgZWxlbWVu
dFVwZGF0ZXMtPnVwZGF0ZSk7CisgICAgICAgIGlmIChlbGVtZW50VXBkYXRlKQorICAgICAgICAg
ICAgdXBkYXRlRWxlbWVudFJlbmRlcmVyKGVsZW1lbnQsICplbGVtZW50VXBkYXRlKTsKIAogICAg
ICAgICBib29sIG1heUhhdmVSZW5kZXJlZERlc2NlbmRhbnRzID0gZWxlbWVudC5yZW5kZXJlcigp
IHx8IChlbGVtZW50Lmhhc0Rpc3BsYXlDb250ZW50cygpICYmIHNob3VsZENyZWF0ZVJlbmRlcmVy
KGVsZW1lbnQsIHJlbmRlclRyZWVQb3NpdGlvbigpLnBhcmVudCgpKSk7CiAgICAgICAgIGlmICgh
bWF5SGF2ZVJlbmRlcmVkRGVzY2VuZGFudHMpIHsKQEAgLTIwMyw3ICsyMDMsNyBAQCB2b2lkIFJl
bmRlclRyZWVVcGRhdGVyOjp1cGRhdGVSZW5kZXJUcmVlKENvbnRhaW5lck5vZGUmIHJvb3QpCiAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIHB1c2hQYXJlbnQoZWxl
bWVudCwgZWxlbWVudFVwZGF0ZXMpOworICAgICAgICBwdXNoUGFyZW50KGVsZW1lbnQsIGVsZW1l
bnRVcGRhdGUgPyBlbGVtZW50VXBkYXRlLT5jaGFuZ2UgOiBTdHlsZTo6Tm9DaGFuZ2UpOwogCiAg
ICAgICAgIGl0LnRyYXZlcnNlTmV4dCgpOwogICAgIH0KQEAgLTIyMywxOCArMjIzLDE4IEBAIFJl
bmRlclRyZWVQb3NpdGlvbiYgUmVuZGVyVHJlZVVwZGF0ZXI6OnJlbmRlclRyZWVQb3NpdGlvbigp
CiAgICAgcmV0dXJuICptX3BhcmVudFN0YWNrLmxhc3QoKS5yZW5kZXJUcmVlUG9zaXRpb247CiB9
CiAKLXZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6OnB1c2hQYXJlbnQoRWxlbWVudCYgZWxlbWVudCwg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzKQordm9pZCBSZW5kZXJUcmVlVXBk
YXRlcjo6cHVzaFBhcmVudChFbGVtZW50JiBlbGVtZW50LCBTdHlsZTo6Q2hhbmdlIGNoYW5nZVR5
cGUpCiB7Ci0gICAgbV9wYXJlbnRTdGFjay5hcHBlbmQoUGFyZW50KGVsZW1lbnQsIHVwZGF0ZXMp
KTsKKyAgICBtX3BhcmVudFN0YWNrLmFwcGVuZChQYXJlbnQoZWxlbWVudCwgY2hhbmdlVHlwZSkp
OwogCi0gICAgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoZWxlbWVudCwgdXBkYXRlcyk7CisgICAg
dXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoZWxlbWVudCk7CiB9CiAKIHZvaWQgUmVuZGVyVHJlZVVw
ZGF0ZXI6OnBvcFBhcmVudCgpCiB7CiAgICAgYXV0byYgcGFyZW50ID0gbV9wYXJlbnRTdGFjay5s
YXN0KCk7CiAgICAgaWYgKHBhcmVudC5lbGVtZW50KQotICAgICAgICB1cGRhdGVBZnRlckRlc2Nl
bmRhbnRzKCpwYXJlbnQuZWxlbWVudCwgcGFyZW50LnVwZGF0ZXMpOworICAgICAgICB1cGRhdGVB
ZnRlckRlc2NlbmRhbnRzKCpwYXJlbnQuZWxlbWVudCwgcGFyZW50LnN0eWxlQ2hhbmdlKTsKIAog
ICAgIG1fcGFyZW50U3RhY2sucmVtb3ZlTGFzdCgpOwogfQpAQCAtMjQ3LDE2ICsyNDcsMTQgQEAg
dm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6cG9wUGFyZW50c1RvRGVwdGgodW5zaWduZWQgZGVwdGgp
CiAgICAgICAgIHBvcFBhcmVudCgpOwogfQogCi12b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRh
dGVCZWZvcmVEZXNjZW5kYW50cyhFbGVtZW50JiBlbGVtZW50LCBjb25zdCBTdHlsZTo6RWxlbWVu
dFVwZGF0ZXMqIHVwZGF0ZXMpCit2b2lkIFJlbmRlclRyZWVVcGRhdGVyOjp1cGRhdGVCZWZvcmVE
ZXNjZW5kYW50cyhFbGVtZW50JiBlbGVtZW50KQogewotICAgIGlmICh1cGRhdGVzKQotICAgICAg
ICBnZW5lcmF0ZWRDb250ZW50KCkudXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCB1cGRhdGVz
LT5iZWZvcmVQc2V1ZG9FbGVtZW50VXBkYXRlLCBCRUZPUkUpOworICAgIGdlbmVyYXRlZENvbnRl
bnQoKS51cGRhdGVCZWZvcmVQc2V1ZG9FbGVtZW50KGVsZW1lbnQpOwogfQogCi12b2lkIFJlbmRl
clRyZWVVcGRhdGVyOjp1cGRhdGVBZnRlckRlc2NlbmRhbnRzKEVsZW1lbnQmIGVsZW1lbnQsIGNv
bnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyogdXBkYXRlcykKK3ZvaWQgUmVuZGVyVHJlZVVwZGF0
ZXI6OnVwZGF0ZUFmdGVyRGVzY2VuZGFudHMoRWxlbWVudCYgZWxlbWVudCwgU3R5bGU6OkNoYW5n
ZSBzdHlsZUNoYW5nZSkKIHsKLSAgICBpZiAodXBkYXRlcykKLSAgICAgICAgZ2VuZXJhdGVkQ29u
dGVudCgpLnVwZGF0ZVBzZXVkb0VsZW1lbnQoZWxlbWVudCwgdXBkYXRlcy0+YWZ0ZXJQc2V1ZG9F
bGVtZW50VXBkYXRlLCBBRlRFUik7CisgICAgZ2VuZXJhdGVkQ29udGVudCgpLnVwZGF0ZUFmdGVy
UHNldWRvRWxlbWVudChlbGVtZW50KTsKIAogICAgIGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC5y
ZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCkBAIC0yNzAsNyArMjY4LDcgQEAgdm9pZCBS
ZW5kZXJUcmVlVXBkYXRlcjo6dXBkYXRlQWZ0ZXJEZXNjZW5kYW50cyhFbGVtZW50JiBlbGVtZW50
LCBjb25zdCBTdHlsZTo6RWwKICAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93PigqcmVuZGVyZXIp
KQogICAgICAgICBNdWx0aUNvbHVtbjo6dXBkYXRlKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4o
KnJlbmRlcmVyKSk7CiAKLSAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxs
YmFja3MoKSAmJiB1cGRhdGVzICYmIHVwZGF0ZXMtPnVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6OkRl
dGFjaCkKKyAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKSAm
JiBzdHlsZUNoYW5nZSA9PSBTdHlsZTo6RGV0YWNoKQogICAgICAgICBlbGVtZW50LmRpZEF0dGFj
aFJlbmRlcmVycygpOwogfQogCkBAIC00OTUsNyArNDkzLDcgQEAgdm9pZCBSZW5kZXJUcmVlVXBk
YXRlcjo6aW52YWxpZGF0ZVdoaXRlc3BhY2VPbmx5VGV4dFNpYmxpbmdzQWZ0ZXJBdHRhY2hJZk5l
ZWRlZCgKICAgICAvLyB0aGUgY3VycmVudCBub2RlIGdhaW5pbmcgb3IgbG9zaW5nIHRoZSByZW5k
ZXJlci4gVGhpcyBjYW4gb25seSBhZmZlY3Qgd2hpdGUgc3BhY2UgdGV4dCBub2Rlcy4KICAgICBm
b3IgKE5vZGUqIHNpYmxpbmcgPSBjdXJyZW50Lm5leHRTaWJsaW5nKCk7IHNpYmxpbmc7IHNpYmxp
bmcgPSBzaWJsaW5nLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIGlmIChpczxFbGVtZW50Pigq
c2libGluZykpIHsKLSAgICAgICAgICAgIGlmIChtX3N0eWxlVXBkYXRlLT5lbGVtZW50VXBkYXRl
cyhkb3duY2FzdDxFbGVtZW50Pigqc2libGluZykpKQorICAgICAgICAgICAgaWYgKG1fc3R5bGVV
cGRhdGUtPmVsZW1lbnRVcGRhdGUoZG93bmNhc3Q8RWxlbWVudD4oKnNpYmxpbmcpKSkKICAgICAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAvLyBUZXh0IHJlbmRlcmVycyBiZXlvbmQg
cmVuZGVyZWQgZWxlbWVudHMgY2FuJ3QgYmUgYWZmZWN0ZWQuCiAgICAgICAgICAgICBpZiAoc2li
bGluZy0+cmVuZGVyZXIoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRl
clRyZWVVcGRhdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlci5o
CmluZGV4IGZlZWYwNTQ5NmMzNGU5MDA1Yzg5NDUzN2NkOGNmOWM3YWJjODE2NmQuLmIzZmI3Yjhm
MWM4Nzk1YzJlNTAwZDNjYTUzNWQ0ZGEzNzI2N2E1ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
UmVuZGVyVHJlZVVwZGF0ZXIuaApAQCAtNjIsMjMgKzYyLDIzIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCB1cGRhdGVFbGVtZW50UmVuZGVyZXIoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBk
YXRlJik7CiAgICAgdm9pZCBjcmVhdGVSZW5kZXJlcihFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7
CiAgICAgdm9pZCBpbnZhbGlkYXRlV2hpdGVzcGFjZU9ubHlUZXh0U2libGluZ3NBZnRlckF0dGFj
aElmTmVlZGVkKE5vZGUmKTsKLSAgICB2b2lkIHVwZGF0ZUJlZm9yZURlc2NlbmRhbnRzKEVsZW1l
bnQmLCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKLSAgICB2b2lkIHVwZGF0ZUFmdGVy
RGVzY2VuZGFudHMoRWxlbWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOworICAg
IHZvaWQgdXBkYXRlQmVmb3JlRGVzY2VuZGFudHMoRWxlbWVudCYpOworICAgIHZvaWQgdXBkYXRl
QWZ0ZXJEZXNjZW5kYW50cyhFbGVtZW50JiwgU3R5bGU6OkNoYW5nZSk7CiAKICAgICBzdHJ1Y3Qg
UGFyZW50IHsKICAgICAgICAgRWxlbWVudCogZWxlbWVudCB7IG51bGxwdHIgfTsKLSAgICAgICAg
Y29uc3QgU3R5bGU6OkVsZW1lbnRVcGRhdGVzKiB1cGRhdGVzIHsgbnVsbHB0ciB9OworICAgICAg
ICBTdHlsZTo6Q2hhbmdlIHN0eWxlQ2hhbmdlIHsgU3R5bGU6Ok5vQ2hhbmdlIH07CiAgICAgICAg
IHN0ZDo6b3B0aW9uYWw8UmVuZGVyVHJlZVBvc2l0aW9uPiByZW5kZXJUcmVlUG9zaXRpb247CiAK
ICAgICAgICAgUGFyZW50KENvbnRhaW5lck5vZGUmIHJvb3QpOwotICAgICAgICBQYXJlbnQoRWxl
bWVudCYsIGNvbnN0IFN0eWxlOjpFbGVtZW50VXBkYXRlcyopOworICAgICAgICBQYXJlbnQoRWxl
bWVudCYsIFN0eWxlOjpDaGFuZ2UpOwogICAgIH07CiAgICAgUGFyZW50JiBwYXJlbnQoKSB7IHJl
dHVybiBtX3BhcmVudFN0YWNrLmxhc3QoKTsgfQogICAgIFJlbmRlclRyZWVQb3NpdGlvbiYgcmVu
ZGVyVHJlZVBvc2l0aW9uKCk7CiAKICAgICBHZW5lcmF0ZWRDb250ZW50JiBnZW5lcmF0ZWRDb250
ZW50KCkgeyByZXR1cm4gKm1fZ2VuZXJhdGVkQ29udGVudDsgfQogCi0gICAgdm9pZCBwdXNoUGFy
ZW50KEVsZW1lbnQmLCBjb25zdCBTdHlsZTo6RWxlbWVudFVwZGF0ZXMqKTsKKyAgICB2b2lkIHB1
c2hQYXJlbnQoRWxlbWVudCYsIFN0eWxlOjpDaGFuZ2UpOwogICAgIHZvaWQgcG9wUGFyZW50KCk7
CiAgICAgdm9pZCBwb3BQYXJlbnRzVG9EZXB0aCh1bnNpZ25lZCBkZXB0aCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5kZXJUcmVlVXBkYXRlckdlbmVyYXRlZENv
bnRlbnQuY3BwCmluZGV4IDg2ZDg4MTg2MWZkYTc4Y2QzNDg0ZWI4ODcyOTk4YWM0MjY3YTc3M2Eu
LjBmNTg0MGEzOWZkMThiYTE2NTU5MmM4ZjhjZWZkMDRjZGEzYWYzYmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUmVuZGVyVHJlZVVwZGF0ZXJHZW5lcmF0ZWRDb250
ZW50LmNwcApAQCAtNDQsNiArNDQsMTYgQEAgUmVuZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENv
bnRlbnQ6OkdlbmVyYXRlZENvbnRlbnQoUmVuZGVyVHJlZVVwZGF0ZXImIHVwZGF0ZXIKIHsKIH0K
IAordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlQmVmb3Jl
UHNldWRvRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQoreworICAgIHVwZGF0ZVBzZXVkb0VsZW1l
bnQoZWxlbWVudCwgQkVGT1JFKTsKK30KKwordm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJh
dGVkQ29udGVudDo6dXBkYXRlQWZ0ZXJQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGVsZW1lbnQpCit7
CisgICAgdXBkYXRlUHNldWRvRWxlbWVudChlbGVtZW50LCBBRlRFUik7Cit9CisKIHZvaWQgUmVu
ZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVJlbWFpbmluZ1F1b3Rlcygp
CiB7CiAgICAgaWYgKCFtX3VwZGF0ZXIucmVuZGVyVmlldygpLmhhc1F1b3Rlc05lZWRpbmdVcGRh
dGUoKSkKQEAgLTkyLDE0ICsxMDIsMTQgQEAgc3RhdGljIHZvaWQgdXBkYXRlU3R5bGVGb3JDb250
ZW50UmVuZGVyZXJzKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgIH0KIH0KIAotdm9pZCBS
ZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChF
bGVtZW50JiBjdXJyZW50LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFN0eWxlOjpFbGVtZW50VXBkYXRl
PiYgdXBkYXRlLCBQc2V1ZG9JZCBwc2V1ZG9JZCkKK3ZvaWQgUmVuZGVyVHJlZVVwZGF0ZXI6Okdl
bmVyYXRlZENvbnRlbnQ6OnVwZGF0ZVBzZXVkb0VsZW1lbnQoRWxlbWVudCYgY3VycmVudCwgUHNl
dWRvSWQgcHNldWRvSWQpCiB7CiAgICAgUHNldWRvRWxlbWVudCogcHNldWRvRWxlbWVudCA9IHBz
ZXVkb0lkID09IEJFRk9SRSA/IGN1cnJlbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpIDogY3VycmVu
dC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKIAogICAgIGlmIChhdXRvKiByZW5kZXJlciA9IHBzZXVk
b0VsZW1lbnQgPyBwc2V1ZG9FbGVtZW50LT5yZW5kZXJlcigpIDogbnVsbHB0cikKICAgICAgICAg
bV91cGRhdGVyLnJlbmRlclRyZWVQb3NpdGlvbigpLmludmFsaWRhdGVOZXh0U2libGluZygqcmVu
ZGVyZXIpOwogCi0gICAgaWYgKCFuZWVkc1BzZXVkb0VsZW1lbnQoY3VycmVudCwgdXBkYXRlKSkg
eworICAgIGlmICghbmVlZHNQc2V1ZG9FbGVtZW50KGN1cnJlbnQsIHBzZXVkb0lkKSkgewogICAg
ICAgICBpZiAocHNldWRvRWxlbWVudCkgewogICAgICAgICAgICAgaWYgKHBzZXVkb0lkID09IEJF
Rk9SRSkKICAgICAgICAgICAgICAgICBjdXJyZW50LmNsZWFyQmVmb3JlUHNldWRvRWxlbWVudCgp
OwpAQCAtMTE1LDIzICsxMjUsMjggQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJhdGVk
Q29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50LAogICAgICAgICBw
c2V1ZG9FbGVtZW50ID0gbmV3UHNldWRvRWxlbWVudC5nZXQoKTsKICAgICB9CiAKLSAgICBpZiAo
dXBkYXRlLT5jaGFuZ2UgPT0gU3R5bGU6Ok5vQ2hhbmdlKQorICAgIGF1dG8gbmV3U3R5bGUgPSBS
ZW5kZXJTdHlsZTo6Y2xvbmVQdHIoKmN1cnJlbnQucmVuZGVyZXIoKS0+Z2V0Q2FjaGVkUHNldWRv
U3R5bGUocHNldWRvSWQsICZjdXJyZW50LnJlbmRlcmVyKCktPnN0eWxlKCkpKTsKKworICAgIGF1
dG8gZWxlbWVudFVwZGF0ZSA9IFN0eWxlOjpUcmVlUmVzb2x2ZXI6OmNyZWF0ZUFuaW1hdGVkRWxl
bWVudFVwZGF0ZShXVEZNb3ZlKG5ld1N0eWxlKSwgKnBzZXVkb0VsZW1lbnQsIFN0eWxlOjpOb0No
YW5nZSk7CisKKyAgICBpZiAoZWxlbWVudFVwZGF0ZS5jaGFuZ2UgPT0gU3R5bGU6Ok5vQ2hhbmdl
KQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobmV3UHNldWRvRWxlbWVudCkgeworICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnBzZXVkb0VsZW1lbnRDcmVhdGVkKG1fdXBkYXRl
ci5tX2RvY3VtZW50LnBhZ2UoKSwgKm5ld1BzZXVkb0VsZW1lbnQpOwogICAgICAgICBpZiAocHNl
dWRvSWQgPT0gQkVGT1JFKQogICAgICAgICAgICAgY3VycmVudC5zZXRCZWZvcmVQc2V1ZG9FbGVt
ZW50KG5ld1BzZXVkb0VsZW1lbnQucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIGN1cnJlbnQuc2V0QWZ0ZXJQc2V1ZG9FbGVtZW50KG5ld1BzZXVkb0VsZW1lbnQu
cmVsZWFzZU5vbk51bGwoKSk7CiAgICAgfQogCi0gICAgbV91cGRhdGVyLnVwZGF0ZUVsZW1lbnRS
ZW5kZXJlcigqcHNldWRvRWxlbWVudCwgKnVwZGF0ZSk7CisgICAgbV91cGRhdGVyLnVwZGF0ZUVs
ZW1lbnRSZW5kZXJlcigqcHNldWRvRWxlbWVudCwgZWxlbWVudFVwZGF0ZSk7CiAKICAgICBhdXRv
KiBwc2V1ZG9SZW5kZXJlciA9IHBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFw
c2V1ZG9SZW5kZXJlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHVwZGF0ZS0+Y2hhbmdl
ID09IFN0eWxlOjpEZXRhY2gpCisgICAgaWYgKGVsZW1lbnRVcGRhdGUuY2hhbmdlID09IFN0eWxl
OjpEZXRhY2gpCiAgICAgICAgIGNyZWF0ZUNvbnRlbnRSZW5kZXJlcnMoKnBzZXVkb1JlbmRlcmVy
KTsKICAgICBlbHNlCiAgICAgICAgIHVwZGF0ZVN0eWxlRm9yQ29udGVudFJlbmRlcmVycygqcHNl
dWRvUmVuZGVyZXIpOwpAQCAtMTQ0LDE0ICsxNTksMTMgQEAgdm9pZCBSZW5kZXJUcmVlVXBkYXRl
cjo6R2VuZXJhdGVkQ29udGVudDo6dXBkYXRlUHNldWRvRWxlbWVudChFbGVtZW50JiBjdXJyZW50
LAogICAgICAgICBMaXN0SXRlbTo6dXBkYXRlTWFya2VyKGRvd25jYXN0PFJlbmRlckxpc3RJdGVt
PigqcHNldWRvUmVuZGVyZXIpKTsKIH0KIAotYm9vbCBSZW5kZXJUcmVlVXBkYXRlcjo6R2VuZXJh
dGVkQ29udGVudDo6bmVlZHNQc2V1ZG9FbGVtZW50KEVsZW1lbnQmIGN1cnJlbnQsIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+JiB1cGRhdGUpCitib29sIFJlbmRlclRy
ZWVVcGRhdGVyOjpHZW5lcmF0ZWRDb250ZW50OjpuZWVkc1BzZXVkb0VsZW1lbnQoRWxlbWVudCYg
Y3VycmVudCwgUHNldWRvSWQgcHNldWRvSWQpCiB7Ci0gICAgQVNTRVJUKCFjdXJyZW50LmlzUHNl
dWRvRWxlbWVudCgpKTsKLSAgICBpZiAoIXVwZGF0ZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIGlmICghY3VycmVudC5yZW5kZXJlcigpIHx8ICFjdXJyZW50LnJlbmRlcmVyKCktPmNhbkhh
dmVHZW5lcmF0ZWRDaGlsZHJlbigpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKCFw
c2V1ZG9FbGVtZW50UmVuZGVyZXJJc05lZWRlZCh1cGRhdGUtPnN0eWxlLmdldCgpKSkKKyAgICBp
ZiAoY3VycmVudC5pc1BzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IGlmICghcHNldWRvRWxlbWVudFJlbmRlcmVySXNOZWVkZWQoY3VycmVudC5yZW5kZXJlcigpLT5n
ZXRDYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG9JZCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9SZW5k
ZXJUcmVlVXBkYXRlckdlbmVyYXRlZENvbnRlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Jl
bmRlclRyZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCmluZGV4IGFlZmExODNkZWJjYTQxYzZm
ZjE3M2U4MzdjZjM4ZWJiNjk3YTk4ZGUuLjlhMzc2YjE1N2M2NTM0ZGQyZjFkNTMzYWFkYTFmZTUy
YWZjMjg1YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRyZWVVcGRh
dGVyR2VuZXJhdGVkQ29udGVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1JlbmRlclRy
ZWVVcGRhdGVyR2VuZXJhdGVkQ29udGVudC5oCkBAIC0zNywxMyArMzcsMTUgQEAgY2xhc3MgUmVu
ZGVyVHJlZVVwZGF0ZXI6OkdlbmVyYXRlZENvbnRlbnQgewogcHVibGljOgogICAgIEdlbmVyYXRl
ZENvbnRlbnQoUmVuZGVyVHJlZVVwZGF0ZXImKTsKIAotICAgIHZvaWQgdXBkYXRlUHNldWRvRWxl
bWVudChFbGVtZW50JiwgY29uc3Qgc3RkOjpvcHRpb25hbDxTdHlsZTo6RWxlbWVudFVwZGF0ZT4m
LCBQc2V1ZG9JZCk7CisgICAgdm9pZCB1cGRhdGVCZWZvcmVQc2V1ZG9FbGVtZW50KEVsZW1lbnQm
KTsKKyAgICB2b2lkIHVwZGF0ZUFmdGVyUHNldWRvRWxlbWVudChFbGVtZW50Jik7CiAgICAgdm9p
ZCB1cGRhdGVSZW1haW5pbmdRdW90ZXMoKTsKIAogcHJpdmF0ZToKKyAgICB2b2lkIHVwZGF0ZVBz
ZXVkb0VsZW1lbnQoRWxlbWVudCYsIFBzZXVkb0lkKTsKICAgICB2b2lkIHVwZGF0ZVF1b3Rlc1Vw
VG8oUmVuZGVyUXVvdGUqKTsKICAgICAKLSAgICBzdGF0aWMgYm9vbCBuZWVkc1BzZXVkb0VsZW1l
bnQoRWxlbWVudCYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRVcGRhdGU+Jik7
CisgICAgc3RhdGljIGJvb2wgbmVlZHNQc2V1ZG9FbGVtZW50KEVsZW1lbnQmLCBQc2V1ZG9JZCk7
CiAKICAgICBSZW5kZXJUcmVlVXBkYXRlciYgbV91cGRhdGVyOwogICAgIFJlbmRlclF1b3RlKiBt
X3ByZXZpb3VzVXBkYXRlZFF1b3RlIHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IDE5ZjQ0MTI3ZGYxN2QwYjc0MmQ0MWVmYzdmNTgz
MjBkNGIxMDc0NWEuLmE2MDQyYjU2YzEyYzBhYzNjYzMwOTI2OGU2ZjBkNWIxN2RmYjdjYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAgLTE3NCw3ICsx
NzQsNyBAQCBzdGF0aWMgY29uc3QgUmVuZGVyU3R5bGUqIHJlbmRlck9yRGlzcGxheUNvbnRlbnRz
U3R5bGUoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAot
RWxlbWVudFVwZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNvbHZlRWxlbWVudChFbGVtZW50JiBlbGVt
ZW50KQorRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KEVsZW1lbnQm
IGVsZW1lbnQpCiB7CiAgICAgaWYgKG1fZGlkU2VlUGVuZGluZ1N0eWxlc2hlZXQgJiYgIWVsZW1l
bnQucmVuZGVyZXIoKSAmJiAhbV9kb2N1bWVudC5pc0lnbm9yaW5nUGVuZGluZ1N0eWxlc2hlZXRz
KCkpIHsKICAgICAgICAgbV9kb2N1bWVudC5zZXRIYXNOb2Rlc1dpdGhNaXNzaW5nU3R5bGUoKTsK
QEAgLTIxOCwyOSArMjE4LDcgQEAgRWxlbWVudFVwZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNvbHZl
RWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAgICAgICAgICAgdXBkYXRlLmNoYW5nZSA9IERl
dGFjaDsKICAgICB9CiAKLSAgICBhdXRvIGJlZm9yZVVwZGF0ZSA9IHJlc29sdmVQc2V1ZG9TdHls
ZShlbGVtZW50LCB1cGRhdGUsIEJFRk9SRSk7Ci0gICAgYXV0byBhZnRlclVwZGF0ZSA9IHJlc29s
dmVQc2V1ZG9TdHlsZShlbGVtZW50LCB1cGRhdGUsIEFGVEVSKTsKLQotICAgIHJldHVybiB7IFdU
Rk1vdmUodXBkYXRlKSwgV1RGTW92ZShiZWZvcmVVcGRhdGUpLCBXVEZNb3ZlKGFmdGVyVXBkYXRl
KSB9OwotfQotCi1FbGVtZW50VXBkYXRlIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZVBzZXVkb1N0eWxl
KEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEVsZW1lbnRVcGRhdGUmIGVsZW1lbnRVcGRhdGUsIFBz
ZXVkb0lkIHBzZXVkb0lkKQotewotICAgIGlmICghZWxlbWVudFVwZGF0ZS5zdHlsZS0+aGFzUHNl
dWRvU3R5bGUocHNldWRvSWQpKQotICAgICAgICByZXR1cm4geyB9OwotICAgIGF1dG8gcHNldWRv
U3R5bGUgPSBzY29wZSgpLnN0eWxlUmVzb2x2ZXIucHNldWRvU3R5bGVGb3JFbGVtZW50KGVsZW1l
bnQsIHsgcHNldWRvSWQgfSwgKmVsZW1lbnRVcGRhdGUuc3R5bGUpOwotCi0gICAgUHNldWRvRWxl
bWVudCogcHNldWRvRWxlbWVudCA9IHBzZXVkb0lkID09IEJFRk9SRSA/IGVsZW1lbnQuYmVmb3Jl
UHNldWRvRWxlbWVudCgpIDogZWxlbWVudC5hZnRlclBzZXVkb0VsZW1lbnQoKTsKLSAgICBpZiAo
IXBzZXVkb0VsZW1lbnQpIHsKLSAgICAgICAgYXV0byBuZXdQc2V1ZG9FbGVtZW50ID0gUHNldWRv
RWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQsIHBzZXVkb0lkKTsKLSAgICAgICAgcHNldWRvRWxlbWVu
dCA9IG5ld1BzZXVkb0VsZW1lbnQucHRyKCk7Ci0gICAgICAgIGlmIChwc2V1ZG9JZCA9PSBCRUZP
UkUpCi0gICAgICAgICAgICBlbGVtZW50LnNldEJlZm9yZVBzZXVkb0VsZW1lbnQoV1RGTW92ZShu
ZXdQc2V1ZG9FbGVtZW50KSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVsZW1lbnQuc2V0
QWZ0ZXJQc2V1ZG9FbGVtZW50KFdURk1vdmUobmV3UHNldWRvRWxlbWVudCkpOwotICAgIH0KLQot
ICAgIHJldHVybiBjcmVhdGVBbmltYXRlZEVsZW1lbnRVcGRhdGUoV1RGTW92ZShwc2V1ZG9TdHls
ZSksICpwc2V1ZG9FbGVtZW50LCBlbGVtZW50VXBkYXRlLmNoYW5nZSk7CisgICAgcmV0dXJuIHVw
ZGF0ZTsKIH0KIAogY29uc3QgUmVuZGVyU3R5bGUqIFRyZWVSZXNvbHZlcjo6cGFyZW50Qm94U3R5
bGUoKSBjb25zdApAQCAtMjU5LDcgKzIzNyw3IEBAIGNvbnN0IFJlbmRlclN0eWxlKiBUcmVlUmVz
b2x2ZXI6OnBhcmVudEJveFN0eWxlKCkgY29uc3QKIAogRWxlbWVudFVwZGF0ZSBUcmVlUmVzb2x2
ZXI6OmNyZWF0ZUFuaW1hdGVkRWxlbWVudFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5
bGU+IG5ld1N0eWxlLCBFbGVtZW50JiBlbGVtZW50LCBDaGFuZ2UgcGFyZW50Q2hhbmdlKQogewot
ICAgIGF1dG8mIGFuaW1hdGlvbkNvbnRyb2xsZXIgPSBtX2RvY3VtZW50LmZyYW1lKCktPmFuaW1h
dGlvbigpOworICAgIGF1dG8mIGFuaW1hdGlvbkNvbnRyb2xsZXIgPSBlbGVtZW50LmRvY3VtZW50
KCkuZnJhbWUoKS0+YW5pbWF0aW9uKCk7CiAKICAgICBhdXRvKiBvbGRTdHlsZSA9IHJlbmRlck9y
RGlzcGxheUNvbnRlbnRzU3R5bGUoZWxlbWVudCk7CiAgICAgYXV0byBhbmltYXRpb25VcGRhdGUg
PSBhbmltYXRpb25Db250cm9sbGVyLnVwZGF0ZUFuaW1hdGlvbnMoZWxlbWVudCwgKm5ld1N0eWxl
LCBvbGRTdHlsZSk7CkBAIC00NDcsMTkgKzQyNSwxOSBAQCB2b2lkIFRyZWVSZXNvbHZlcjo6cmVz
b2x2ZUNvbXBvc2VkVHJlZSgpCiAgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNDdXN0b21TdHls
ZVJlc29sdmVDYWxsYmFja3MoKSkKICAgICAgICAgICAgICAgICBlbGVtZW50LndpbGxSZWNhbGNT
dHlsZShwYXJlbnQuY2hhbmdlKTsKIAotICAgICAgICAgICAgYXV0byBlbGVtZW50VXBkYXRlcyA9
IHJlc29sdmVFbGVtZW50KGVsZW1lbnQpOworICAgICAgICAgICAgYXV0byBlbGVtZW50VXBkYXRl
ID0gcmVzb2x2ZUVsZW1lbnQoZWxlbWVudCk7CiAKICAgICAgICAgICAgIGlmIChlbGVtZW50Lmhh
c0N1c3RvbVN0eWxlUmVzb2x2ZUNhbGxiYWNrcygpKQotICAgICAgICAgICAgICAgIGVsZW1lbnQu
ZGlkUmVjYWxjU3R5bGUoZWxlbWVudFVwZGF0ZXMudXBkYXRlLmNoYW5nZSk7CisgICAgICAgICAg
ICAgICAgZWxlbWVudC5kaWRSZWNhbGNTdHlsZShlbGVtZW50VXBkYXRlLmNoYW5nZSk7CiAKLSAg
ICAgICAgICAgIHN0eWxlID0gZWxlbWVudFVwZGF0ZXMudXBkYXRlLnN0eWxlLmdldCgpOwotICAg
ICAgICAgICAgY2hhbmdlID0gZWxlbWVudFVwZGF0ZXMudXBkYXRlLmNoYW5nZTsKKyAgICAgICAg
ICAgIHN0eWxlID0gZWxlbWVudFVwZGF0ZS5zdHlsZS5nZXQoKTsKKyAgICAgICAgICAgIGNoYW5n
ZSA9IGVsZW1lbnRVcGRhdGUuY2hhbmdlOwogCiAgICAgICAgICAgICBpZiAoYWZmZWN0ZWRCeVBy
ZXZpb3VzU2libGluZyAmJiBjaGFuZ2UgIT0gRGV0YWNoKQogICAgICAgICAgICAgICAgIGNoYW5n
ZSA9IEZvcmNlOwogCi0gICAgICAgICAgICBpZiAoZWxlbWVudFVwZGF0ZXMudXBkYXRlLnN0eWxl
KQotICAgICAgICAgICAgICAgIG1fdXBkYXRlLT5hZGRFbGVtZW50KGVsZW1lbnQsIHBhcmVudC5l
bGVtZW50LCBXVEZNb3ZlKGVsZW1lbnRVcGRhdGVzKSk7CisgICAgICAgICAgICBpZiAoZWxlbWVu
dFVwZGF0ZS5zdHlsZSkKKyAgICAgICAgICAgICAgICBtX3VwZGF0ZS0+YWRkRWxlbWVudChlbGVt
ZW50LCBwYXJlbnQuZWxlbWVudCwgV1RGTW92ZShlbGVtZW50VXBkYXRlKSk7CiAKICAgICAgICAg
ICAgIGNsZWFyTmVlZHNTdHlsZVJlc29sdXRpb24oZWxlbWVudCk7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5oCmluZGV4IGViMGQxOGUwMjgzZGY3MWRh
M2RjMWRkY2ZhYzk5Njc1NWNhZjcxMGQuLjJiODczY2U1YjY4ZDEwZGZiYzNjMDk3Mzk0N2ZkNmE5
OTI3MjU2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29s
dmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuaApAQCAt
NTEsMTMgKzUxLDEzIEBAIHB1YmxpYzoKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxVcGRhdGU+IHJl
c29sdmUoKTsKIAorICAgIHN0YXRpYyBFbGVtZW50VXBkYXRlIGNyZWF0ZUFuaW1hdGVkRWxlbWVu
dFVwZGF0ZShzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+LCBFbGVtZW50JiwgQ2hhbmdlIHBh
cmVudENoYW5nZSk7CisKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxl
PiBzdHlsZUZvckVsZW1lbnQoRWxlbWVudCYsIGNvbnN0IFJlbmRlclN0eWxlJiBpbmhlcml0ZWRT
dHlsZSk7CiAKICAgICB2b2lkIHJlc29sdmVDb21wb3NlZFRyZWUoKTsKLSAgICBFbGVtZW50VXBk
YXRlcyByZXNvbHZlRWxlbWVudChFbGVtZW50Jik7Ci0gICAgRWxlbWVudFVwZGF0ZSBjcmVhdGVB
bmltYXRlZEVsZW1lbnRVcGRhdGUoc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiwgRWxlbWVu
dCYsIENoYW5nZSBwYXJlbnRDaGFuZ2UpOwotICAgIEVsZW1lbnRVcGRhdGUgcmVzb2x2ZVBzZXVk
b1N0eWxlKEVsZW1lbnQmLCBjb25zdCBFbGVtZW50VXBkYXRlJiwgUHNldWRvSWQpOworICAgIEVs
ZW1lbnRVcGRhdGUgcmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYpOwogCiAgICAgc3RydWN0IFNjb3Bl
IDogUmVmQ291bnRlZDxTY29wZT4gewogICAgICAgICBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29s
dmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVVcGRhdGUuY3BwCmluZGV4IDA4NTkyYTJkOGEyMTgw
ZWY2ZTRhYTY0ZTA5Y2FkZmQ4MGMwYjliNzMuLmJiYjNjMGY2NDZlOTM4ZmI0NzJmOGM4ODgzMTEy
OGY1NTY5N2ZjZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRl
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5jcHAKQEAgLTQxLDcg
KzQxLDcgQEAgVXBkYXRlOjpVcGRhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQogewogfQogCi1jb25z
dCBFbGVtZW50VXBkYXRlcyogVXBkYXRlOjplbGVtZW50VXBkYXRlcyhjb25zdCBFbGVtZW50JiBl
bGVtZW50KSBjb25zdAorY29uc3QgRWxlbWVudFVwZGF0ZSogVXBkYXRlOjplbGVtZW50VXBkYXRl
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgYXV0byBpdCA9IG1fZWxlbWVu
dHMuZmluZCgmZWxlbWVudCk7CiAgICAgaWYgKGl0ID09IG1fZWxlbWVudHMuZW5kKCkpCkBAIC00
OSw3ICs0OSw3IEBAIGNvbnN0IEVsZW1lbnRVcGRhdGVzKiBVcGRhdGU6OmVsZW1lbnRVcGRhdGVz
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0CiAgICAgcmV0dXJuICZpdC0+dmFsdWU7CiB9
CiAKLUVsZW1lbnRVcGRhdGVzKiBVcGRhdGU6OmVsZW1lbnRVcGRhdGVzKGNvbnN0IEVsZW1lbnQm
IGVsZW1lbnQpCitFbGVtZW50VXBkYXRlKiBVcGRhdGU6OmVsZW1lbnRVcGRhdGUoY29uc3QgRWxl
bWVudCYgZWxlbWVudCkKIHsKICAgICBhdXRvIGl0ID0gbV9lbGVtZW50cy5maW5kKCZlbGVtZW50
KTsKICAgICBpZiAoaXQgPT0gbV9lbGVtZW50cy5lbmQoKSkKQEAgLTY3LDggKzY3LDggQEAgY29u
c3QgVGV4dFVwZGF0ZSogVXBkYXRlOjp0ZXh0VXBkYXRlKGNvbnN0IFRleHQmIHRleHQpIGNvbnN0
CiAKIGNvbnN0IFJlbmRlclN0eWxlKiBVcGRhdGU6OmVsZW1lbnRTdHlsZShjb25zdCBFbGVtZW50
JiBlbGVtZW50KSBjb25zdAogewotICAgIGlmIChhdXRvKiB1cGRhdGVzID0gZWxlbWVudFVwZGF0
ZXMoZWxlbWVudCkpCi0gICAgICAgIHJldHVybiB1cGRhdGVzLT51cGRhdGUuc3R5bGUuZ2V0KCk7
CisgICAgaWYgKGF1dG8qIHVwZGF0ZSA9IGVsZW1lbnRVcGRhdGUoZWxlbWVudCkpCisgICAgICAg
IHJldHVybiB1cGRhdGUtPnN0eWxlLmdldCgpOwogICAgIGF1dG8qIHJlbmRlcmVyID0gZWxlbWVu
dC5yZW5kZXJlcigpOwogICAgIGlmICghcmVuZGVyZXIpCiAgICAgICAgIHJldHVybiBudWxscHRy
OwpAQCAtNzcsMjEgKzc3LDIxIEBAIGNvbnN0IFJlbmRlclN0eWxlKiBVcGRhdGU6OmVsZW1lbnRT
dHlsZShjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAogCiBSZW5kZXJTdHlsZSogVXBkYXRl
OjplbGVtZW50U3R5bGUoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKIHsKLSAgICBpZiAoYXV0byog
dXBkYXRlcyA9IGVsZW1lbnRVcGRhdGVzKGVsZW1lbnQpKQotICAgICAgICByZXR1cm4gdXBkYXRl
cy0+dXBkYXRlLnN0eWxlLmdldCgpOworICAgIGlmIChhdXRvKiB1cGRhdGUgPSBlbGVtZW50VXBk
YXRlKGVsZW1lbnQpKQorICAgICAgICByZXR1cm4gdXBkYXRlLT5zdHlsZS5nZXQoKTsKICAgICBh
dXRvKiByZW5kZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gJnJlbmRlcmVyLT5tdXRhYmxlU3R5
bGUoKTsKIH0KIAotdm9pZCBVcGRhdGU6OmFkZEVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgRWxl
bWVudCogcGFyZW50LCBFbGVtZW50VXBkYXRlcyYmIGVsZW1lbnRVcGRhdGVzKQordm9pZCBVcGRh
dGU6OmFkZEVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCwgRWxlbWVudCogcGFyZW50LCBFbGVtZW50
VXBkYXRlJiYgZWxlbWVudFVwZGF0ZSkKIHsKICAgICBBU1NFUlQoIW1fZWxlbWVudHMuY29udGFp
bnMoJmVsZW1lbnQpKTsKICAgICBBU1NFUlQoY29tcG9zZWRUcmVlQW5jZXN0b3JzKGVsZW1lbnQp
LmZpcnN0KCkgPT0gcGFyZW50KTsKIAogICAgIGFkZFBvc3NpYmxlUm9vdChwYXJlbnQpOwotICAg
IG1fZWxlbWVudHMuYWRkKCZlbGVtZW50LCBXVEZNb3ZlKGVsZW1lbnRVcGRhdGVzKSk7CisgICAg
bV9lbGVtZW50cy5hZGQoJmVsZW1lbnQsIFdURk1vdmUoZWxlbWVudFVwZGF0ZSkpOwogfQogCiB2
b2lkIFVwZGF0ZTo6YWRkVGV4dChUZXh0JiB0ZXh0LCBFbGVtZW50KiBwYXJlbnQsIFRleHRVcGRh
dGUmJiB0ZXh0VXBkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVV
cGRhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVXBkYXRlLmgKaW5kZXggYWE5NjUx
MWQ0Y2JlZjkzZDVmY2ZmY2VmMDYwYWJjNjg2YThkOWMyMS4uZjZkODNlMDdmZjU4ZjAxMTUzOTdm
MDZlYjMzYTdkMTZmMjg3NGE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVVcGRhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVVwZGF0ZS5oCkBAIC01
NywyMSArNTcsNiBAQCBzdHJ1Y3QgRWxlbWVudFVwZGF0ZSB7CiAgICAgYm9vbCByZWNvbXBvc2l0
ZUxheWVyIHsgZmFsc2UgfTsKIH07CiAKLXN0cnVjdCBFbGVtZW50VXBkYXRlcyB7Ci0jaWYgIUNP
TVBJTEVSX1NVUFBPUlRTKE5TRE1JX0ZPUl9BR0dSRUdBVEVTKQotICAgIEVsZW1lbnRVcGRhdGVz
KCkgPSBkZWZhdWx0OwotICAgIEVsZW1lbnRVcGRhdGVzKEVsZW1lbnRVcGRhdGUgdXBkYXRlLCBz
dGQ6Om9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IGJlZm9yZVBzZXVkb0VsZW1lbnRVcGRhdGUsIHN0
ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYWZ0ZXJQc2V1ZG9FbGVtZW50VXBkYXRlKQotICAg
ICAgICA6IHVwZGF0ZSB7IFdURk1vdmUodXBkYXRlKSB9Ci0gICAgICAgICwgYmVmb3JlUHNldWRv
RWxlbWVudFVwZGF0ZSB7IFdURk1vdmUoYmVmb3JlUHNldWRvRWxlbWVudFVwZGF0ZSkgfQotICAg
ICAgICAsIGFmdGVyUHNldWRvRWxlbWVudFVwZGF0ZSB7IFdURk1vdmUoYWZ0ZXJQc2V1ZG9FbGVt
ZW50VXBkYXRlKSB9Ci0gICAgewotICAgIH0KLSNlbmRpZgotICAgIEVsZW1lbnRVcGRhdGUgdXBk
YXRlOwotICAgIHN0ZDo6b3B0aW9uYWw8RWxlbWVudFVwZGF0ZT4gYmVmb3JlUHNldWRvRWxlbWVu
dFVwZGF0ZTsKLSAgICBzdGQ6Om9wdGlvbmFsPEVsZW1lbnRVcGRhdGU+IGFmdGVyUHNldWRvRWxl
bWVudFVwZGF0ZTsKLX07Ci0KIHN0cnVjdCBUZXh0VXBkYXRlIHsKICNpZiAhQ09NUElMRVJfU1VQ
UE9SVFMoTlNETUlfRk9SX0FHR1JFR0FURVMpCiAgICAgVGV4dFVwZGF0ZSgpID0gZGVmYXVsdDsK
QEAgLTk1LDggKzgwLDggQEAgcHVibGljOgogCiAgICAgY29uc3QgTGlzdEhhc2hTZXQ8Q29udGFp
bmVyTm9kZSo+JiByb290cygpIGNvbnN0IHsgcmV0dXJuIG1fcm9vdHM7IH0KIAotICAgIGNvbnN0
IEVsZW1lbnRVcGRhdGVzKiBlbGVtZW50VXBkYXRlcyhjb25zdCBFbGVtZW50JikgY29uc3Q7Ci0g
ICAgRWxlbWVudFVwZGF0ZXMqIGVsZW1lbnRVcGRhdGVzKGNvbnN0IEVsZW1lbnQmKTsKKyAgICBj
b25zdCBFbGVtZW50VXBkYXRlKiBlbGVtZW50VXBkYXRlKGNvbnN0IEVsZW1lbnQmKSBjb25zdDsK
KyAgICBFbGVtZW50VXBkYXRlKiBlbGVtZW50VXBkYXRlKGNvbnN0IEVsZW1lbnQmKTsKIAogICAg
IGNvbnN0IFRleHRVcGRhdGUqIHRleHRVcGRhdGUoY29uc3QgVGV4dCYpIGNvbnN0OwogCkBAIC0x
MDcsNyArOTIsNyBAQCBwdWJsaWM6CiAKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1
cm4gbV9lbGVtZW50cy5zaXplKCkgKyBtX3RleHRzLnNpemUoKTsgfQogCi0gICAgdm9pZCBhZGRF
bGVtZW50KEVsZW1lbnQmLCBFbGVtZW50KiBwYXJlbnQsIEVsZW1lbnRVcGRhdGVzJiYpOworICAg
IHZvaWQgYWRkRWxlbWVudChFbGVtZW50JiwgRWxlbWVudCogcGFyZW50LCBFbGVtZW50VXBkYXRl
JiYpOwogICAgIHZvaWQgYWRkVGV4dChUZXh0JiwgRWxlbWVudCogcGFyZW50LCBUZXh0VXBkYXRl
JiYpOwogICAgIHZvaWQgYWRkVGV4dChUZXh0JiwgVGV4dFVwZGF0ZSYmKTsKIApAQCAtMTE2LDcg
KzEwMSw3IEBAIHByaXZhdGU6CiAKICAgICBEb2N1bWVudCYgbV9kb2N1bWVudDsKICAgICBMaXN0
SGFzaFNldDxDb250YWluZXJOb2RlKj4gbV9yb290czsKLSAgICBIYXNoTWFwPGNvbnN0IEVsZW1l
bnQqLCBFbGVtZW50VXBkYXRlcz4gbV9lbGVtZW50czsKKyAgICBIYXNoTWFwPGNvbnN0IEVsZW1l
bnQqLCBFbGVtZW50VXBkYXRlPiBtX2VsZW1lbnRzOwogICAgIEhhc2hNYXA8Y29uc3QgVGV4dCos
IFRleHRVcGRhdGU+IG1fdGV4dHM7CiB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>