<?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>49262</bug_id>
          
          <creation_ts>2010-11-09 10:15:03 -0800</creation_ts>
          <short_desc>Send messages directly to the WebContext</short_desc>
          <delta_ts>2010-11-09 11:19:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>306856</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-09 10:15:03 -0800</bug_when>
    <thetext>We should send message that are context related directly to the context instead of the WebProcessProxy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306857</commentid>
    <comment_count>1</comment_count>
      <attachid>73386</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-09 10:19:54 -0800</bug_when>
    <thetext>Created attachment 73386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306888</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-11-09 11:19:13 -0800</bug_when>
    <thetext>Landed in r71655.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73386</attachid>
            <date>2010-11-09 10:19:54 -0800</date>
            <delta_ts>2010-11-09 10:23:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>39445</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTggQEAKKzIwMTAtMTEtMDkgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZW5kIG1l
c3NhZ2VzIGRpcmVjdGx5IHRvIHRoZSBXZWJDb250ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTI2MgorCisgICAgICAgICogUGxhdGZvcm0vQ29y
ZUlQQy9NZXNzYWdlSUQuaDoKKyAgICAgICAgVGVtcG9yYXJpbHkgYWRkIE1lc3NhZ2VDbGFzc1dl
YkNvbnRleHRMZWdhY3kuCisKKyAgICAgICAgKiBTaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViQ29u
dGV4dE1lc3NhZ2VLaW5kcy5oOgorICAgICAgICBSZW5hbWUgYWRkaW5nIExlZ2FjeSBwcmVmaXgu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHQ6OmRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6ZGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6ZGlkVXBkYXRlSGlzdG9yeVRpdGxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dDo6c2V0Q2FjaGVNb2RlbCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRl
eHQ6OmFkZFZpc2l0ZWRMaW5rKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6YWRkVmlz
aXRlZExpbmtIYXNoKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6Z2V0UGx1Z2lucyk6
CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmdldFBsdWdpblBhdGgpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkNvbnRleHQ6OmRpZFJlY2VpdmVTeW5jTWVzc2FnZSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkNvbnRleHQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5p
bjogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlU3luY01lc3NhZ2Up
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZTo6cG9zdE1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6cG9zdFN5bmNocm9ub3VzTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lTG9hZGVyQ2xpZW50Ojp1cGRhdGVHbG9iYWxIaXN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnNldFRpdGxlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6cG9wdWxhdGVQbHVnaW5D
YWNoZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpjcmVhdGVQbHVnaW4pOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmFkZFZpc2l0ZWRM
aW5rKToKKyAgICAgICAgTW92ZSBjb250ZXh0IHJlbGF0ZWQgbWVzc2FnZXMgdG8gYmUgc2VudCBk
aXJlY3RseSB0byB0aGUgY29udGV4dC4KKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6
CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMucHJvOgorICAgICAgICAqIFdlYktpdDIucHJvOgor
ICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi52Y3Byb2o6CisgICAgICAgIEFkZCBuZXcgZmlsZXMuCisKIDIwMTAtMTEtMDkg
IFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggV2luZG93cyBidWls
ZC4KSW5kZXg6IFdlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDcxNjQ2KQorKysgV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xNyw2ICsxNyw3IEBAIE1FU1NBR0Vf
UkVDRUlWRVJTID0gXAogICAgIFBsdWdpblByb2Nlc3NQcm94eSBcCiAgICAgUGx1Z2luUHJveHkg
XAogICAgIFdlYkluc3BlY3RvciBcCisgICAgV2ViQ29udGV4dCBcCiAgICAgV2ViUGFnZSBcCiAg
ICAgV2ViUGFnZVByb3h5IFwKICAgICBXZWJQcm9jZXNzIFwKSW5kZXg6IFdlYktpdDIvRGVyaXZl
ZFNvdXJjZXMucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJvCShy
ZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJvCSh3b3JraW5nIGNv
cHkpCkBAIC05NCw2ICs5NCw3IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFBsdWdpblBy
b2Nlc3MubWVzc2FnZXMuaW4gXAogICAgIFBsdWdpblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBc
CiAgICAgUGx1Z2luUHJveHkubWVzc2FnZXMuaW4gXAorICAgIFdlYkNvbnRleHQubWVzc2FnZXMu
aW4gXAogICAgIFdlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluIFwKICAgICBXZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW4gXAogICAgIFdlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBcCklu
ZGV4OiBXZWJLaXQyL1dlYktpdDIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0Mi5w
cm8JKHJldmlzaW9uIDcxNjQ2KQorKysgV2ViS2l0Mi9XZWJLaXQyLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMTU0LDYgKzE1NCw3IEBAIFdFQktJVDJfR0VORVJBVEVEX0hFQURFUlMgPSBcCiAgICAg
JCRPVVRQVVRfRElSL1dlYktpdDIvZ2VuZXJhdGVkL1BsdWdpblByb2Nlc3NNZXNzYWdlcy5oIFwK
ICAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvUGx1Z2luUHJvY2Vzc1Byb3h5TWVz
c2FnZXMuaCBcCiAgICAgJCRPVVRQVVRfRElSL1dlYktpdDIvZ2VuZXJhdGVkL1BsdWdpblByb3h5
TWVzc2FnZXMuaCBcCisgICAgJCRPVVRQVVRfRElSL1dlYktpdDIvZ2VuZXJhdGVkL1dlYkNvbnRl
eHRNZXNzYWdlcy5oIFwKICAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvV2ViSW5z
cGVjdG9yTWVzc2FnZXMuaCBcCiAgICAgJCRPVVRQVVRfRElSL1dlYktpdDIvZ2VuZXJhdGVkL1dl
YlBhZ2VNZXNzYWdlcy5oIFwKICAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvV2Vi
UGFnZVByb3h5TWVzc2FnZXMuaCBcCkBAIC0xNjcsNiArMTY4LDcgQEAgV0VCS0lUMl9HRU5FUkFU
RURfU09VUkNFUyA9IFwKICAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvUGx1Z2lu
UHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAogICAgICQkT1VUUFVUX0RJUi9XZWJLaXQyL2dl
bmVyYXRlZC9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKICAgICAkJE9V
VFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvUGx1Z2luUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IFwKKyAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5lcmF0ZWQvV2ViQ29udGV4dE1lc3NhZ2VS
ZWNlaXZlci5jcHAgXAogICAgICQkT1VUUFVUX0RJUi9XZWJLaXQyL2dlbmVyYXRlZC9XZWJJbnNw
ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKICAgICAkJE9VVFBVVF9ESVIvV2ViS2l0Mi9nZW5l
cmF0ZWQvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgXAogICAgICQkT1VUUFVUX0RJUi9XZWJL
aXQyL2dlbmVyYXRlZC9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKSW5kZXg6IFdl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgJKHJldmlzaW9uIDcxNjQ2KQorKysgV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0
NSw3IEBAIGVudW0gTWVzc2FnZUNsYXNzIHsKICAgICBNZXNzYWdlQ2xhc3NEcmF3aW5nQXJlYVBy
b3h5LAogICAgIE1lc3NhZ2VDbGFzc0Rvd25sb2FkUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2Vi
Q29udGV4dCwKKyAgICBNZXNzYWdlQ2xhc3NXZWJDb250ZXh0TGVnYWN5LAogICAgIE1lc3NhZ2VD
bGFzc1dlYkluc3BlY3RvclByb3h5LAogICAgIE1lc3NhZ2VDbGFzc1dlYlBhZ2VQcm94eSwKICAg
ICBNZXNzYWdlQ2xhc3NXZWJQcm9jZXNzUHJveHksCkluZGV4OiBXZWJLaXQyL1NoYXJlZC9Db3Jl
SVBDU3VwcG9ydC9XZWJDb250ZXh0TWVzc2FnZUtpbmRzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViQ29udGV4dE1lc3NhZ2VLaW5kcy5oCShyZXZpc2lv
biA3MTY0NikKKysrIFdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYkNvbnRleHRNZXNz
YWdlS2luZHMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAi
TWVzc2FnZUlELmgiCiAKLW5hbWVzcGFjZSBXZWJDb250ZXh0TWVzc2FnZSB7CituYW1lc3BhY2Ug
V2ViQ29udGV4dExlZ2FjeU1lc3NhZ2UgewogCiBlbnVtIEtpbmQgewogICAgIFBvc3RNZXNzYWdl
LApAQCAtNDEsOCArNDEsOCBAQCBlbnVtIEtpbmQgewogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAK
LXRlbXBsYXRlPD4gc3RydWN0IE1lc3NhZ2VLaW5kVHJhaXRzPFdlYkNvbnRleHRNZXNzYWdlOjpL
aW5kPiB7Ci0gICAgc3RhdGljIGNvbnN0IE1lc3NhZ2VDbGFzcyBtZXNzYWdlQ2xhc3MgPSBNZXNz
YWdlQ2xhc3NXZWJDb250ZXh0OwordGVtcGxhdGU8PiBzdHJ1Y3QgTWVzc2FnZUtpbmRUcmFpdHM8
V2ViQ29udGV4dExlZ2FjeU1lc3NhZ2U6OktpbmQ+IHsKKyAgICBzdGF0aWMgY29uc3QgTWVzc2Fn
ZUNsYXNzIG1lc3NhZ2VDbGFzcyA9IE1lc3NhZ2VDbGFzc1dlYkNvbnRleHRMZWdhY3k7CiB9Owog
CiB9CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkocmV2aXNpb24gNzE2NDYpCisrKyBX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDMy
ICsyOTcsMzYgQEAgdm9pZCBXZWJDb250ZXh0OjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZQogCiAv
LyBIaXN0b3J5Q2xpZW50CiAKLXZvaWQgV2ViQ29udGV4dDo6ZGlkTmF2aWdhdGVXaXRoTmF2aWdh
dGlvbkRhdGEoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFdlYk5hdmlnYXRpb25EYXRhU3Rv
cmUmIHN0b3JlKSAKK3ZvaWQgV2ViQ29udGV4dDo6ZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRh
dGEodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlJiBzdG9yZSwg
dWludDY0X3QgZnJhbWVJRCkgCiB7CisgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nl
c3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAgIGlmICghZnJhbWUtPnBhZ2UoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIAogICAgIG1faGlzdG9yeUNsaWVudC5kaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0
aW9uRGF0YSh0aGlzLCBmcmFtZS0+cGFnZSgpLCBzdG9yZSwgZnJhbWUpOwogfQogCi12b2lkIFdl
YkNvbnRleHQ6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdChXZWJGcmFtZVByb3h5KiBmcmFtZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25V
UkxTdHJpbmcpCit2b2lkIFdlYkNvbnRleHQ6OmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh1aW50
NjRfdCBwYWdlSUQsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcm
IGRlc3RpbmF0aW9uVVJMU3RyaW5nLCB1aW50NjRfdCBmcmFtZUlEKQogeworICAgIFdlYkZyYW1l
UHJveHkqIGZyYW1lID0gbV9wcm9jZXNzLT53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBpZiAoIWZy
YW1lLT5wYWdlKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBtX2hpc3RvcnlDbGllbnQu
ZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KHRoaXMsIGZyYW1lLT5wYWdlKCksIHNvdXJjZVVSTFN0
cmluZywgZGVzdGluYXRpb25VUkxTdHJpbmcsIGZyYW1lKTsKIH0KIAotdm9pZCBXZWJDb250ZXh0
OjpkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMU3RyaW5nLCBjb25zdCBTdHJpbmcmIGRlc3RpbmF0aW9uVVJMU3RyaW5n
KQordm9pZCBXZWJDb250ZXh0OjpkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QodWludDY0X3QgcGFn
ZUlELCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBkZXN0aW5h
dGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKIHsKKyAgICBXZWJGcmFtZVByb3h5KiBm
cmFtZSA9IG1fcHJvY2Vzcy0+d2ViRnJhbWUoZnJhbWVJRCk7CiAgICAgaWYgKCFmcmFtZS0+cGFn
ZSgpKQogICAgICAgICByZXR1cm47CiAgICAgCiAgICAgbV9oaXN0b3J5Q2xpZW50LmRpZFBlcmZv
cm1TZXJ2ZXJSZWRpcmVjdCh0aGlzLCBmcmFtZS0+cGFnZSgpLCBzb3VyY2VVUkxTdHJpbmcsIGRl
c3RpbmF0aW9uVVJMU3RyaW5nLCBmcmFtZSk7CiB9CiAKLXZvaWQgV2ViQ29udGV4dDo6ZGlkVXBk
YXRlSGlzdG9yeVRpdGxlKFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBjb25zdCBTdHJpbmcmIHVybCkKK3ZvaWQgV2ViQ29udGV4dDo6ZGlkVXBkYXRlSGlzdG9yeVRp
dGxlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1
cmwsIHVpbnQ2NF90IGZyYW1lSUQpCiB7CisgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3By
b2Nlc3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAgIGlmICghZnJhbWUtPnBhZ2UoKSkKICAgICAg
ICAgcmV0dXJuOwogCkBAIC0zODIsMjcgKzM4Niw0NSBAQCB2b2lkIFdlYkNvbnRleHQ6OnNldERv
bWFpblJlbGF4YXRpb25Gb3JiCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpTZXREb21haW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKHVybFNjaGVtZSks
IDApOwogfQogCit2b2lkIFdlYkNvbnRleHQ6OnNldENhY2hlTW9kZWwoQ2FjaGVNb2RlbCBjYWNo
ZU1vZGVsKQoreworICAgIG1fY2FjaGVNb2RlbCA9IGNhY2hlTW9kZWw7CisKKyAgICBpZiAoIWhh
c1ZhbGlkUHJvY2VzcygpKQorICAgICAgICByZXR1cm47CisgICAgbV9wcm9jZXNzLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRDYWNoZU1vZGVsKHN0YXRpY19jYXN0PHVpbnQzMl90Piht
X2NhY2hlTW9kZWwpKSwgMCk7Cit9CisKIHZvaWQgV2ViQ29udGV4dDo6YWRkVmlzaXRlZExpbmso
Y29uc3QgU3RyaW5nJiB2aXNpdGVkVVJMKQogewogICAgIGlmICh2aXNpdGVkVVJMLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgTGlua0hhc2ggbGlua0hhc2ggPSB2aXNpdGVkTGlu
a0hhc2godmlzaXRlZFVSTC5jaGFyYWN0ZXJzKCksIHZpc2l0ZWRVUkwubGVuZ3RoKCkpOwotICAg
IGFkZFZpc2l0ZWRMaW5rKGxpbmtIYXNoKTsKKyAgICBhZGRWaXNpdGVkTGlua0hhc2gobGlua0hh
c2gpOwogfQogCi12b2lkIFdlYkNvbnRleHQ6OmFkZFZpc2l0ZWRMaW5rKExpbmtIYXNoIGxpbmtI
YXNoKQordm9pZCBXZWJDb250ZXh0OjphZGRWaXNpdGVkTGlua0hhc2goTGlua0hhc2ggbGlua0hh
c2gpCiB7CiAgICAgbV92aXNpdGVkTGlua1Byb3ZpZGVyLmFkZFZpc2l0ZWRMaW5rKGxpbmtIYXNo
KTsKIH0KIAotdm9pZCBXZWJDb250ZXh0OjpzZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVN
b2RlbCkKK3ZvaWQgV2ViQ29udGV4dDo6Z2V0UGx1Z2lucyhib29sIHJlZnJlc2gsIFZlY3RvcjxQ
bHVnaW5JbmZvPiYgcGx1Z2lucykKIHsKLSAgICBtX2NhY2hlTW9kZWwgPSBjYWNoZU1vZGVsOwor
ICAgIGlmIChyZWZyZXNoKQorICAgICAgICBwbHVnaW5JbmZvU3RvcmUoKS0+cmVmcmVzaCgpOwor
ICAgIHBsdWdpbkluZm9TdG9yZSgpLT5nZXRQbHVnaW5zKHBsdWdpbnMpOworfQogCi0gICAgaWYg
KCFoYXNWYWxpZFByb2Nlc3MoKSkKK3ZvaWQgV2ViQ29udGV4dDo6Z2V0UGx1Z2luUGF0aChjb25z
dCBTdHJpbmcmIG1pbWVUeXBlLCBjb25zdCBTdHJpbmcmIHVybFN0cmluZywgU3RyaW5nJiBwbHVn
aW5QYXRoKQoreworICAgIFN0cmluZyBuZXdNaW1lVHlwZSA9IG1pbWVUeXBlLmxvd2VyKCk7CisK
KyAgICBQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbiBwbHVnaW4gPSBwbHVnaW5JbmZvU3RvcmUoKS0+
ZmluZFBsdWdpbihuZXdNaW1lVHlwZSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybFN0cmluZykp
OworICAgIGlmICghcGx1Z2luLnBhdGgpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3Byb2Nlc3Mt
PnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OlNldENhY2hlTW9kZWwoc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KG1fY2FjaGVNb2RlbCkpLCAwKTsKKworICAgIHBsdWdpblBhdGggPSBwbHVnaW4ucGF0
aDsKIH0KIAogdWludDY0X3QgV2ViQ29udGV4dDo6Y3JlYXRlRG93bmxvYWRQcm94eSgpCkBAIC00
MTcsNiArNDM5LDExIEBAIHVpbnQ2NF90IFdlYkNvbnRleHQ6OmNyZWF0ZURvd25sb2FkUHJveHkK
IAogdm9pZCBXZWJDb250ZXh0OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1
bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKKyAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6
Ok1lc3NhZ2VDbGFzc1dlYkNvbnRleHQ+KCkpIHsKKyAgICAgICAgZGlkUmVjZWl2ZVdlYkNvbnRl
eHRNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKwogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNz
RG93bmxvYWRQcm94eT4oKSkgewogICAgICAgICBpZiAoRG93bmxvYWRQcm94eSogZG93bmxvYWRQ
cm94eSA9IG1fZG93bmxvYWRzLmdldChhcmd1bWVudHMtPmRlc3RpbmF0aW9uSUQoKSkuZ2V0KCkp
CiAgICAgICAgICAgICBkb3dubG9hZFByb3h5LT5kaWRSZWNlaXZlRG93bmxvYWRQcm94eU1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwpAQCAtNDI0LDggKzQ1MSw4IEBA
IHZvaWQgV2ViQ29udGV4dDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb250ZXh0TWVzc2FnZTo6
S2luZD4oKSkgewotICAgICAgICBjYXNlIFdlYkNvbnRleHRNZXNzYWdlOjpQb3N0TWVzc2FnZTog
eworICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6S2lu
ZD4oKSkgeworICAgICAgICBjYXNlIFdlYkNvbnRleHRMZWdhY3lNZXNzYWdlOjpQb3N0TWVzc2Fn
ZTogewogICAgICAgICAgICAgU3RyaW5nIG1lc3NhZ2VOYW1lOwogICAgICAgICAgICAgUmVmUHRy
PEFQSU9iamVjdD4gbWVzc2FnZUJvZHk7CiAgICAgICAgICAgICBXZWJDb250ZXh0VXNlck1lc3Nh
Z2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKG1lc3NhZ2VCb2R5LCB0aGlzKTsKQEAgLTQzNSwzMyAr
NDYyLDM4IEBAIHZvaWQgV2ViQ29udGV4dDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAg
ICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKG1lc3NhZ2VOYW1lLCBt
ZXNzYWdlQm9keS5nZXQoKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAg
ICAgY2FzZSBXZWJDb250ZXh0TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVzc2FnZToKKyAgICAg
ICAgY2FzZSBXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVzc2FnZToK
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KIAogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFdlYkNvbnRleHQ6OmRpZFJlY2VpdmVTeW5jTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlEIG1lc3NhZ2VJRCwgQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENvcmVJUEM6OkFyZ3VtZW50RW5jb2Rl
ciogcmVwbHkpCitDb3JlSVBDOjpTeW5jUmVwbHlNb2RlIFdlYkNvbnRleHQ6OmRpZFJlY2VpdmVT
eW5jTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNz
YWdlSUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cywgQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGVyKiByZXBseSkKIHsKLSAgICBzd2l0Y2ggKG1lc3NhZ2VJRC5n
ZXQ8V2ViQ29udGV4dE1lc3NhZ2U6OktpbmQ+KCkpIHsKLSAgICAgICAgY2FzZSBXZWJDb250ZXh0
TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVzc2FnZTogeworICAgIGlmIChtZXNzYWdlSUQuaXM8
Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29udGV4dD4oKSkKKyAgICAgICAgcmV0dXJuIGRpZFJl
Y2VpdmVTeW5jV2ViQ29udGV4dE1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVu
dHMsIHJlcGx5KTsKKworICAgIHN3aXRjaCAobWVzc2FnZUlELmdldDxXZWJDb250ZXh0TGVnYWN5
TWVzc2FnZTo6S2luZD4oKSkgeworICAgICAgICBjYXNlIFdlYkNvbnRleHRMZWdhY3lNZXNzYWdl
OjpQb3N0U3luY2hyb25vdXNNZXNzYWdlOiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIHByb2JhYmx5IGVuY29kZSBzb21ldGhpbmcgaW4gdGhlIGNhc2UgdGhhdCB0aGUgYXJndW1l
bnRzIGRvIG5vdCBkZWNvZGUgY29ycmVjdGx5LgogCiAgICAgICAgICAgICBTdHJpbmcgbWVzc2Fn
ZU5hbWU7CiAgICAgICAgICAgICBSZWZQdHI8QVBJT2JqZWN0PiBtZXNzYWdlQm9keTsKICAgICAg
ICAgICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURlY29kZXIobWVzc2Fn
ZUJvZHksIHRoaXMpOwogICAgICAgICAgICAgaWYgKCFhcmd1bWVudHMtPmRlY29kZShDb3JlSVBD
OjpPdXQobWVzc2FnZU5hbWUsIG1lc3NhZ2VEZWNvZGVyKSkpCi0gICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgICAgIHJldHVybiBDb3JlSVBDOjpBdXRvbWF0aWNSZXBseTsKIAog
ICAgICAgICAgICAgUmVmUHRyPEFQSU9iamVjdD4gcmV0dXJuRGF0YTsKICAgICAgICAgICAgIGRp
ZFJlY2VpdmVTeW5jaHJvbm91c01lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUobWVzc2FnZU5hbWUs
IG1lc3NhZ2VCb2R5LmdldCgpLCByZXR1cm5EYXRhKTsKICAgICAgICAgICAgIHJlcGx5LT5lbmNv
ZGUoQ29yZUlQQzo6SW4oV2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlcihyZXR1cm5EYXRhLmdl
dCgpKSkpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIENvcmVJUEM6
OkF1dG9tYXRpY1JlcGx5OwogICAgICAgICB9Ci0gICAgICAgIGNhc2UgV2ViQ29udGV4dE1lc3Nh
Z2U6OlBvc3RNZXNzYWdlOgorICAgICAgICBjYXNlIFdlYkNvbnRleHRMZWdhY3lNZXNzYWdlOjpQ
b3N0TWVzc2FnZToKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIH0KKwor
ICAgIHJldHVybiBDb3JlSVBDOjpBdXRvbWF0aWNSZXBseTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCShyZXZpc2lvbiA3MTY0NikKKysrIFdl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtOTQsMTEgKzk0
LDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5k
bGUoY29uc3QgU3RyaW5nJiwgQVBJT2JqZWN0Kik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU3luY2hy
b25vdXNNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKGNvbnN0IFN0cmluZyYsIEFQSU9iamVjdCos
IFJlZlB0cjxBUElPYmplY3Q+JiByZXR1cm5EYXRhKTsKIAotICAgIC8vIEhpc3RvcnkgY2xpZW50
Ci0gICAgdm9pZCBkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YShXZWJGcmFtZVByb3h5Kiwg
Y29uc3QgV2ViTmF2aWdhdGlvbkRhdGFTdG9yZSYpOyAKLSAgICB2b2lkIGRpZFBlcmZvcm1DbGll
bnRSZWRpcmVjdChXZWJGcmFtZVByb3h5KiwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkxTdHJpbmcs
IGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25VUkxTdHJpbmcpOwotICAgIHZvaWQgZGlkUGVyZm9y
bVNlcnZlclJlZGlyZWN0KFdlYkZyYW1lUHJveHkqLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTFN0
cmluZywgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblVSTFN0cmluZyk7Ci0gICAgdm9pZCBkaWRV
cGRhdGVIaXN0b3J5VGl0bGUoV2ViRnJhbWVQcm94eSosIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNv
bnN0IFN0cmluZyYgdXJsKTsKICAgICB2b2lkIHBvcHVsYXRlVmlzaXRlZExpbmtzKCk7CiAgICAg
CiAgICAgdm9pZCBnZXRTdGF0aXN0aWNzKFdLQ29udGV4dFN0YXRpc3RpY3MqIHN0YXRpc3RpY3Mp
OwpAQCAtMTEyLDEwICsxMDcsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RG9tYWluUmVsYXhh
dGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShjb25zdCBTdHJpbmcmKTsKIAogICAgIHZvaWQgYWRk
VmlzaXRlZExpbmsoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCBhZGRWaXNpdGVkTGluayhXZWJD
b3JlOjpMaW5rSGFzaCk7CisgICAgdm9pZCBhZGRWaXNpdGVkTGlua0hhc2goV2ViQ29yZTo6TGlu
a0hhc2gpOwogCiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9u
KiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKLSAgICB2
b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6
TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBDb3JlSVBDOjpBcmd1bWVudEVu
Y29kZXIqKTsKKyAgICBDb3JlSVBDOjpTeW5jUmVwbHlNb2RlIGRpZFJlY2VpdmVTeW5jTWVzc2Fn
ZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1
bWVudERlY29kZXIqLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqKTsKIAogICAgIHZvaWQgc2V0
Q2FjaGVNb2RlbChDYWNoZU1vZGVsKTsKICAgICBDYWNoZU1vZGVsIGNhY2hlTW9kZWwoKSBjb25z
dCB7IHJldHVybiBtX2NhY2hlTW9kZWw7IH0KQEAgLTEzNyw2ICsxMzIsMjAgQEAgcHJpdmF0ZToK
ICAgICBib29sIGhhc1ZhbGlkUHJvY2VzcygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvY2VzcyAmJiBt
X3Byb2Nlc3MtPmlzVmFsaWQoKTsgfQogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplV2ViUHJv
Y2VzcyhXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKKyAgICAvLyBIaXN0b3J5IGNs
aWVudAorICAgIHZvaWQgZGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGEodWludDY0X3QgcGFn
ZUlELCBjb25zdCBXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlJiBzdG9yZSwgdWludDY0X3QgZnJhbWVJ
RCk7CisgICAgdm9pZCBkaWRQZXJmb3JtQ2xpZW50UmVkaXJlY3QodWludDY0X3QgcGFnZUlELCBj
b25zdCBTdHJpbmcmIHNvdXJjZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblVS
TFN0cmluZywgdWludDY0X3QgZnJhbWVJRCk7CisgICAgdm9pZCBkaWRQZXJmb3JtU2VydmVyUmVk
aXJlY3QodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTFN0cmluZywgY29u
c3QgU3RyaW5nJiBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCk7CisgICAg
dm9pZCBkaWRVcGRhdGVIaXN0b3J5VGl0bGUodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBjb25zdCBTdHJpbmcmIHVybCwgdWludDY0X3QgZnJhbWVJRCk7CisKKyAgICAvLyBQ
bHVnaW5zCisgICAgdm9pZCBnZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCwgVmVjdG9yPFdlYkNvcmU6
OlBsdWdpbkluZm8+JiBwbHVnaW5zKTsKKyAgICB2b2lkIGdldFBsdWdpblBhdGgoY29uc3QgU3Ry
aW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIFN0cmluZyYgcGx1Z2luUGF0
aCk7CisKKyAgICAvLyBJbXBsZW1lbnRlZCBpbiBnZW5lcmF0ZWQgV2ViQ29udGV4dE1lc3NhZ2VS
ZWNlaXZlci5jcHAKKyAgICB2b2lkIGRpZFJlY2VpdmVXZWJDb250ZXh0TWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29k
ZXIqKTsKKyAgICBDb3JlSVBDOjpTeW5jUmVwbHlNb2RlIGRpZFJlY2VpdmVTeW5jV2ViQ29udGV4
dE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyKiwgQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKik7CisKICAgICBz
dGF0aWMgdm9pZCBsYW5ndWFnZUNoYW5nZWQodm9pZCogY29udGV4dCk7CiAgICAgdm9pZCBsYW5n
dWFnZUNoYW5nZWQoKTsKIApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNz
YWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3Nh
Z2VzLmluCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNz
YWdlcy5pbgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOCBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJDb250ZXh0IHsKKworICAgICMg
SGlzdG9yeSBjbGllbnQgbWVzc2FnZXMuCisgICAgRGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRh
dGEodWludDY0X3QgcGFnZUlELCBXZWJLaXQ6OldlYk5hdmlnYXRpb25EYXRhU3RvcmUgc3RvcmUs
IHVpbnQ2NF90IGZyYW1lSUQpCisgICAgRGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KHVpbnQ2NF90
IHBhZ2VJRCwgV1RGOjpTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBkZXN0aW5h
dGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKKyAgICBEaWRQZXJmb3JtU2VydmVyUmVk
aXJlY3QodWludDY0X3QgcGFnZUlELCBXVEY6OlN0cmluZyBzb3VyY2VVUkxTdHJpbmcsIFdURjo6
U3RyaW5nIGRlc3RpbmF0aW9uVVJMU3RyaW5nLCB1aW50NjRfdCBmcmFtZUlEKQorICAgIERpZFVw
ZGF0ZUhpc3RvcnlUaXRsZSh1aW50NjRfdCBwYWdlSUQsIFdURjo6U3RyaW5nIHRpdGxlLCBXVEY6
OlN0cmluZyB1cmwsIHVpbnQ2NF90IGZyYW1lSUQpCisKKyAgICAjIFZpc2l0ZWQgbGluayBwcm92
aWRlciBtZXNzYWdlcy4KKyAgICBBZGRWaXNpdGVkTGlua0hhc2godWludDY0X3QgbGlua0hhc2gp
CisgICAgCisgICAgIyBQbHVnaW4gbWVzc2FnZXMuCisgICAgR2V0UGx1Z2lucyhib29sIHJlZnJl
c2gpIC0+IChWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4gcGx1Z2lucykKKyAgICBHZXRQbHVn
aW5QYXRoKFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcpIC0+IChX
VEY6OlN0cmluZyBwbHVnaW5QYXRoKQorCit9CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHJldmlzaW9uIDcxNjQ2KQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2LDMxICsxNzYsNiBAQCBXZWJCYWNr
Rm9yd2FyZExpc3RJdGVtKiBXZWJQcm9jZXNzUHJveHk6CiAgICAgcmV0dXJuIG1fYmFja0Zvcndh
cmRMaXN0SXRlbU1hcC5nZXQoaXRlbUlEKS5nZXQoKTsKIH0KIAotdm9pZCBXZWJQcm9jZXNzUHJv
eHk6OmdldFBsdWdpbnMoYm9vbCByZWZyZXNoLCBWZWN0b3I8UGx1Z2luSW5mbz4mIHBsdWdpbnMp
Ci17Ci0gICAgaWYgKHJlZnJlc2gpCi0gICAgICAgIG1fY29udGV4dC0+cGx1Z2luSW5mb1N0b3Jl
KCktPnJlZnJlc2goKTsKLSAgICBtX2NvbnRleHQtPnBsdWdpbkluZm9TdG9yZSgpLT5nZXRQbHVn
aW5zKHBsdWdpbnMpOwotfQotCi0jaWYgRU5BQkxFKFBMVUdJTl9QUk9DRVNTKQotdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKGNvbnN0IFN0cmluZyYgcGx1
Z2luUGF0aCwgQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiByZXBseSkKLXsKLSAgICBQbHVnaW5Q
cm9jZXNzTWFuYWdlcjo6c2hhcmVkKCkuZ2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ocGx1Z2lu
UGF0aCwgdGhpcywgcmVwbHkpOwotfQotI2VuZGlmCi0KLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpn
ZXRQbHVnaW5QYXRoKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgdXJsU3Ry
aW5nLCBTdHJpbmcmIHBsdWdpblBhdGgpCi17Ci0gICAgU3RyaW5nIG5ld01pbWVUeXBlID0gbWlt
ZVR5cGUubG93ZXIoKTsKLQotICAgIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luIHBsdWdpbiA9IG1f
Y29udGV4dC0+cGx1Z2luSW5mb1N0b3JlKCktPmZpbmRQbHVnaW4obmV3TWltZVR5cGUsIEtVUkwo
UGFyc2VkVVJMU3RyaW5nLCB1cmxTdHJpbmcpKTsKLSAgICBpZiAoIXBsdWdpbi5wYXRoKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBwbHVnaW5QYXRoID0gcGx1Z2luLnBhdGg7Ci19Ci0KIHZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjphZGRCYWNrRm9yd2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBjb25z
dCBTdHJpbmcmIG9yaWdpbmFsVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0
aXRsZSkKIHsKICAgICBzdGQ6OnBhaXI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbU1hcDo6aXRlcmF0
b3IsIGJvb2w+IHJlc3VsdCA9IG1fYmFja0ZvcndhcmRMaXN0SXRlbU1hcC5hZGQoaXRlbUlELCAw
KTsKQEAgLTIxNiwzMCArMTkxLDEyIEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjphZGRCYWNrRm9y
d2FyZEl0ZW0KICAgICByZXN1bHQuZmlyc3QtPnNlY29uZC0+c2V0VGl0bGUodGl0bGUpOwogfQog
Ci12b2lkIFdlYlByb2Nlc3NQcm94eTo6YWRkVmlzaXRlZExpbmsoTGlua0hhc2ggbGlua0hhc2gp
Ci17Ci0gICAgbV9jb250ZXh0LT5hZGRWaXNpdGVkTGluayhsaW5rSGFzaCk7Ci19Ci0KLXZvaWQg
V2ViUHJvY2Vzc1Byb3h5OjpkaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YSh1aW50NjRfdCBw
YWdlSUQsIGNvbnN0IFdlYk5hdmlnYXRpb25EYXRhU3RvcmUmIHN0b3JlLCB1aW50NjRfdCBmcmFt
ZUlEKSAKLXsKLSAgICBtX2NvbnRleHQtPmRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKHdl
YkZyYW1lKGZyYW1lSUQpLCBzdG9yZSk7Ci19Ci0KLXZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3QodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIHNvdXJj
ZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3Qg
ZnJhbWVJRCkKLXsKLSAgICBtX2NvbnRleHQtPmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh3ZWJG
cmFtZShmcmFtZUlEKSwgc291cmNlVVJMU3RyaW5nLCBkZXN0aW5hdGlvblVSTFN0cmluZyk7Ci19
Ci0KLXZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QodWludDY0
X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTFN0cmluZywgY29uc3QgU3RyaW5nJiBk
ZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKLXsKLSAgICBtX2NvbnRleHQt
PmRpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh3ZWJGcmFtZShmcmFtZUlEKSwgc291cmNlVVJMU3Ry
aW5nLCBkZXN0aW5hdGlvblVSTFN0cmluZyk7Ci19Ci0KLXZvaWQgV2ViUHJvY2Vzc1Byb3h5Ojpk
aWRVcGRhdGVIaXN0b3J5VGl0bGUodWludDY0X3QgcGFnZUlELCBjb25zdCBTdHJpbmcmIHRpdGxl
LCBjb25zdCBTdHJpbmcmIHVybCwgdWludDY0X3QgZnJhbWVJRCkKKyNpZiBFTkFCTEUoUExVR0lO
X1BST0NFU1MpCit2b2lkIFdlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIHJl
cGx5KQogewotICAgIG1fY29udGV4dC0+ZGlkVXBkYXRlSGlzdG9yeVRpdGxlKHdlYkZyYW1lKGZy
YW1lSUQpLCB0aXRsZSwgdXJsKTsKKyAgICBQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6c2hhcmVkKCku
Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ocGx1Z2luUGF0aCwgdGhpcywgcmVwbHkpOwogfQor
I2VuZGlmCiAKIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVzc2FnZShDb3JlSVBD
OjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdlSUQgbWVzc2FnZUlELCBD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKIHsKQEAgLTI0Nyw4ICsyMDQsOSBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoCiAgICAgICAgIGRpZFJl
Y2VpdmVXZWJQcm9jZXNzUHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1l
bnRzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJ
UEM6Ok1lc3NhZ2VDbGFzc1dlYkNvbnRleHQ+KCkgfHwgbWVzc2FnZUlELmlzPENvcmVJUEM6Ok1l
c3NhZ2VDbGFzc0Rvd25sb2FkUHJveHk+KCkpIHsKLSAgICAgICAgbV9jb250ZXh0LT5kaWRSZWNl
aXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7ICAgIAorCisgICAg
aWYgKG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb250ZXh0PigpIHx8IG1l
c3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJDb250ZXh0TGVnYWN5PigpIHx8IG1l
c3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NEb3dubG9hZFByb3h5PigpKSB7CisgICAg
ICAgIG1fY29udGV4dC0+ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBh
cmd1bWVudHMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yNjAsMTYgKzIxOCwxMSBA
QCB2b2lkIFdlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoCiAgICAgaWYgKCFwYWdl
UHJveHkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBwYWdlUHJveHktPmRpZFJlY2VpdmVN
ZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsgICAgCisgICAgcGFnZVBy
b3h5LT5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7
CiB9CiAKIENvcmVJUEM6OlN5bmNSZXBseU1vZGUgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZl
U3luY01lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMsIENv
cmVJUEM6OkFyZ3VtZW50RW5jb2RlciogcmVwbHkpCiB7Ci0gICAgaWYgKG1lc3NhZ2VJRC5pczxD
b3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJQcm9jZXNzUHJveHk+KCkpIHsKLSAgICAgICAgZGlkUmVj
ZWl2ZVN5bmNXZWJQcm9jZXNzUHJveHlNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJn
dW1lbnRzLCByZXBseSk7Ci0gICAgICAgIHJldHVybiBDb3JlSVBDOjpBdXRvbWF0aWNSZXBseTsK
LSAgICB9Ci0KICNpZiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCiAgICAgaWYgKG1lc3NhZ2VJRC5p
czxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJQcm9jZXNzUHJveHlMZWdhY3k+KCkpIHsKICAgICAg
ICAgc3dpdGNoIChtZXNzYWdlSUQuZ2V0PFdlYlByb2Nlc3NQcm94eUxlZ2FjeU1lc3NhZ2U6Oktp
bmQ+KCkpIHsKQEAgLTI4NiwxMCArMjM5LDggQEAgQ29yZUlQQzo6U3luY1JlcGx5TW9kZSBXZWJQ
cm9jZXNzUHJveHk6OgogICAgIH0KICNlbmRpZgogCi0gICAgaWYgKG1lc3NhZ2VJRC5pczxDb3Jl
SVBDOjpNZXNzYWdlQ2xhc3NXZWJDb250ZXh0PigpKSB7Ci0gICAgICAgIG1fY29udGV4dC0+ZGlk
UmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzLCByZXBs
eSk7ICAgIAotICAgICAgICByZXR1cm4gQ29yZUlQQzo6QXV0b21hdGljUmVwbHk7Ci0gICAgfQor
ICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29udGV4dD4oKSB8
fCBtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViQ29udGV4dExlZ2FjeT4oKSkK
KyAgICAgICAgcmV0dXJuIG1fY29udGV4dC0+ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzLCByZXBseSk7CiAKICAgICB1aW50NjRfdCBwYWdlSUQg
PSBhcmd1bWVudHMtPmRlc3RpbmF0aW9uSUQoKTsKICAgICBpZiAoIXBhZ2VJRCkKSW5kZXg6IFdl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCShyZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIv
VUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYsMTggKzEw
NiwxMSBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBzZW5kTWVzc2FnZShDb3JlSVBDOjpNZXNzYWdl
SUQsIFBhc3NPd25QdHI8Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyPik7CiAKKyAgICB2b2lkIGFk
ZEJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIGNvbnN0IFN0cmluZyYgb3JpZ2luYWxV
UkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRpdGxlKTsK
KwogI2lmIEVOQUJMRShQTFVHSU5fUFJPQ0VTUykKICAgICB2b2lkIGdldFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgQ29yZUlQQzo6QXJndW1lbnRFbmNv
ZGVyKiByZXBseSk7CiAjZW5kaWYKLSAgICB2b2lkIGdldFBsdWdpblBhdGgoY29uc3QgU3RyaW5n
JiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIFN0cmluZyYgcGx1Z2luUGF0aCk7
Ci0gICAgdm9pZCBnZXRQbHVnaW5zKGJvb2wgcmVmcmVzaCwgVmVjdG9yPFdlYkNvcmU6OlBsdWdp
bkluZm8+Jik7Ci0KLSAgICB2b2lkIGFkZEJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQs
IGNvbnN0IFN0cmluZyYgb3JpZ2luYWxVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5n
LCBjb25zdCBTdHJpbmcmIHRpdGxlKTsKLSAgICB2b2lkIGFkZFZpc2l0ZWRMaW5rKFdlYkNvcmU6
OkxpbmtIYXNoKTsKLSAgICB2b2lkIGRpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKHVpbnQ2
NF90IHBhZ2VJRCwgY29uc3QgV2ViTmF2aWdhdGlvbkRhdGFTdG9yZSYgc3RvcmUsIHVpbnQ2NF90
IGZyYW1lSUQpOwotICAgIHZvaWQgZGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KHVpbnQ2NF90IHBh
Z2VJRCwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkxTdHJpbmcsIGNvbnN0IFN0cmluZyYgZGVzdGlu
YXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQpOwotICAgIHZvaWQgZGlkUGVyZm9ybVNl
cnZlclJlZGlyZWN0KHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkxTdHJp
bmcsIGNvbnN0IFN0cmluZyYgZGVzdGluYXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQp
OwotICAgIHZvaWQgZGlkVXBkYXRlSGlzdG9yeVRpdGxlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3Qg
U3RyaW5nJiB0aXRsZSwgY29uc3QgU3RyaW5nJiB1cmwsIHVpbnQ2NF90IGZyYW1lSUQpOwogCiAg
ICAgLy8gQ29yZUlQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3JlSVBDOjpB
cmd1bWVudERlY29kZXIqKTsKQEAgLTEzOSw3ICsxMzIsNiBAQCBwcml2YXRlOgogCiAgICAgLy8g
SW1wbGVtZW50ZWQgaW4gZ2VuZXJhdGVkIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAKICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQcm9jZXNzUHJveHlNZXNzYWdlKENvcmVJUEM6OkNv
bm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rlciop
OwotICAgIENvcmVJUEM6OlN5bmNSZXBseU1vZGUgZGlkUmVjZWl2ZVN5bmNXZWJQcm9jZXNzUHJv
eHlNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciosIENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopOwogCiAgICAg
UmVzcG9uc2l2ZW5lc3NUaW1lciBtX3Jlc3BvbnNpdmVuZXNzVGltZXI7CiAgICAgUmVmUHRyPENv
cmVJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDcxNjQ2KQorKysgV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSwxMiArMjUsNCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzUHJveHkgewogICAgIEFk
ZEJhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIFdURjo6U3RyaW5nIG9yaWdpbmFsVVJM
LCBXVEY6OlN0cmluZyB1cmwsIFdURjo6U3RyaW5nIHRpdGxlKQogICAgIERpZERlc3Ryb3lGcmFt
ZSh1aW50NjRfdCBmcmFtZUlEKSAKIAotICAgICMgRklYTUU6IFRoZXNlIG1heSB3YW50IHRvIG1v
dmUgdG8gV2ViQ29udGV4dC5tZXNzYWdlcy5pbgotICAgIERpZE5hdmlnYXRlV2l0aE5hdmlnYXRp
b25EYXRhKHVpbnQ2NF90IHBhZ2VJRCwgV2ViS2l0OjpXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlIHN0
b3JlLCB1aW50NjRfdCBmcmFtZUlEKQotICAgIERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh1aW50
NjRfdCBwYWdlSUQsIFdURjo6U3RyaW5nIHNvdXJjZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgZGVz
dGluYXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQpCi0gICAgRGlkUGVyZm9ybVNlcnZl
clJlZGlyZWN0KHVpbnQ2NF90IHBhZ2VJRCwgV1RGOjpTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBX
VEY6OlN0cmluZyBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKLSAgICBE
aWRVcGRhdGVIaXN0b3J5VGl0bGUodWludDY0X3QgcGFnZUlELCBXVEY6OlN0cmluZyB0aXRsZSwg
V1RGOjpTdHJpbmcgdXJsLCB1aW50NjRfdCBmcmFtZUlEKQotICAgIEFkZFZpc2l0ZWRMaW5rKHVp
bnQ2NF90IGxpbmtIYXNoKQotICAgIEdldFBsdWdpbnMoYm9vbCByZWZyZXNoKSAtPiAoVmVjdG9y
PFdlYkNvcmU6OlBsdWdpbkluZm8+IHBsdWdpbnMpCi0gICAgR2V0UGx1Z2luUGF0aChXVEY6OlN0
cmluZyBtaW1lVHlwZSwgV1RGOjpTdHJpbmcgdXJsU3RyaW5nKSAtPiAoV1RGOjpTdHJpbmcgcGx1
Z2luUGF0aCkKIH0KSW5kZXg6IFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NzQsNiArNDc0LDggQEAKIAkJQkNFNDY5Nzkx
MjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0Njk3ODEyMTRGMkI0MDAwQjk4
RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCAqLzsgfTsKIAkJQkNFRTdBRDAxMjgxNzk4
ODAwOTgyN0RBIC8qIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VFN0FDQzEyODE3OTg4MDA5
ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJQkNF
RTdBRDExMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VFN0FDRDEyODE3OTg4
MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLzsgfTsKKwkJQkNFRTdEMEQx
Mjg0NkY2OTAwOTgyN0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFRTdEMEIxMjg0NkY2OTAw
OTgyN0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQlCQ0VFN0Qw
RTEyODQ2RjY5MDA5ODI3REEgLyogV2ViQ29udGV4dE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VFN0QwQzEyODQ2RjY5MDA5ODI3REEg
LyogV2ViQ29udGV4dE1lc3NhZ2VzLmggKi87IH07CiAJCUJDRUU5NjZDMTEyRkFGNTcwMDZCQ0My
NCAvKiBBdHRhY2htZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDRUU5NjZBMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmNwcCAqLzsg
fTsKIAkJQkNFRTk2NkQxMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRUU5NjZCMTEyRkFGNTcwMDZC
Q0MyNCAvKiBBdHRhY2htZW50LmggKi87IH07CiAJCUJDRUU5OEM2MTEzMzE0RDcwMDZCQ0MyNCAv
KiBXZWJQYWdlTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRUU5OEM0MTEzMzE0RDcwMDZCQ0MyNCAvKiBXZWJQYWdlTmFtZXNwYWNl
LmNwcCAqLzsgfTsKQEAgLTEwMjcsNiArMTAyOSw5IEBACiAJCUJDRUU3QUIzMTI4MTcwOTUwMDk4
MjdEQSAvKiBXZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQ0VFN0FDQzEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlByb2Nl
c3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRUU3QUNEMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0VFN0QwOTEyODQ2QUVEMDA5ODI3REEg
LyogV2ViQ29udGV4dC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJDb250
ZXh0Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0VFN0QwQjEy
ODQ2RjY5MDA5ODI3REEgLyogV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNFRTdEMEMxMjg0NkY2OTAwOTgyN0RB
IC8qIFdlYkNvbnRleHRNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDb250ZXh0TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNF
RTk2NkExMTJGQUY1NzAwNkJDQzI0IC8qIEF0dGFjaG1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQXR0YWNobWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDRUU5NjZCMTEyRkFGNTcwMDZCQ0MyNCAvKiBBdHRhY2htZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF0dGFjaG1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNFRTk4QzQxMTMzMTRENzAwNkJDQzI0IC8qIFdlYlBhZ2VOYW1lc3Bh
Y2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGFnZU5hbWVz
cGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjE5LDYgKzE2MjQsNyBA
QAogCQkJCUJDNjQ2QkY2MTFERDM3N0IwMDY0NTVCMCAvKiBXZWJCYWNrRm9yd2FyZExpc3RJdGVt
LmggKi8sCiAJCQkJQkNCOUUyNDIxMTIwREFDQTAwQTEzN0UwIC8qIFdlYkNvbnRleHQuY3BwICov
LAogCQkJCUJDQjlFMjQxMTEyMERBQ0EwMEExMzdFMCAvKiBXZWJDb250ZXh0LmggKi8sCisJCQkJ
QkNFRTdEMDkxMjg0NkFFRDAwOTgyN0RBIC8qIFdlYkNvbnRleHQubWVzc2FnZXMuaW4gKi8sCiAJ
CQkJNTFBODRDRTIxMjdGMzg2QjAwQ0E2RUE0IC8qIFdlYkNvbnRleHRNZW51UHJveHkuY3BwICov
LAogCQkJCTUxQUNCQjgxMTI3QThCQUQwMEQyMDNCOSAvKiBXZWJDb250ZXh0TWVudVByb3h5Lmgg
Ki8sCiAJCQkJQkNERTA1OUExMUNEQThBRTAwRTQxQUYxIC8qIFdlYkNvbnRleHRJbmplY3RlZEJ1
bmRsZUNsaWVudC5jcHAgKi8sCkBAIC0yMDY1LDYgKzIwNzEsOCBAQAogCQkJCTFBMDQzQjVDMTI0
RDVFOUQwMEZGQkZCNSAvKiBQbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTFB
OEVGQTZFMTI1MkI4NDEwMEY3MDY3RiAvKiBQbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCiAJCQkJMUE4RUZBNkYxMjUyQjg0MTAwRjcwNjdGIC8qIFBsdWdpblByb3h5TWVzc2FnZXMu
aCAqLywKKwkJCQlCQ0VFN0QwQjEyODQ2RjY5MDA5ODI3REEgLyogV2ViQ29udGV4dE1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJQkNFRTdEMEMxMjg0NkY2OTAwOTgyN0RBIC8qIFdlYkNvbnRl
eHRNZXNzYWdlcy5oICovLAogCQkJCTFDOEUyQTMxMTI3Nzg1MjQwMEJDN0JEMCAvKiBXZWJJbnNw
ZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTFDOEUyQTMyMTI3Nzg1MjQwMEJDN0JE
MCAvKiBXZWJJbnNwZWN0b3JNZXNzYWdlcy5oICovLAogCQkJCUMwQ0U3MjlFMTI0N0U3MUQwMEJD
MEVDNCAvKiBXZWJQYWdlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTIzNTUsNiArMjM2Myw3
IEBACiAJCQkJMUEyRDkwRDIxMjgxQzk2NjAwMUVCOTYyIC8qIFBsdWdpblByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU3QUQxMTI4MTc5ODgwMDk4MjdE
QSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyRDk1
NkYxMjg0ODU2NDAwMUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
QkNFRTdEMEUxMjg0NkY2OTAwOTgyN0RBIC8qIFdlYkNvbnRleHRNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTEwRkJCOUIxMjg4Qzk1RTAwQUZGREY0IC8qIFdlYkNvbnRleHRNZW51SXRl
bURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjdENENBMTI4OEFBQTcwMENGRDA4QyAvKiBE
b3dubG9hZFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI3RDYxQTEyODhCOUQ5MDBDRkQw
OEMgLyogRG93bmxvYWRQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTI3MDUsNiAr
MjcxNCw3IEBACiAJCQkJMUEyRDkyMjExMjgxREMxQjAwMUVCOTYyIC8qIFBsdWdpblByb3h5TWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFRTdBRDAxMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEOTU3
MDEyODQ4NTY0MDAxRUI5NjIgLyogQ2hpbGRQcm9jZXNzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CUJDRUU3RDBEMTI4NDZGNjkwMDk4MjdEQSAvKiBXZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEZCQjlBMTI4OEM5NUUwMEFGRkRGNCAvKiBXZWJDb250
ZXh0TWVudUl0ZW1EYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjdENENCMTI4OEFBQTcw
MENGRDA4QyAvKiBEb3dubG9hZFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQjdENjE5
MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gNzE2
NDYpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5o
IgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCIKICNpbmNsdWRl
ICJSdW5Mb29wLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRl
ICJXZWJQYWdlLmgiCkBAIC0yMjAsOCArMjIxLDcgQEAgdm9pZCBXZWJQcm9jZXNzOjphZGRWaXNp
dGVkTGluayhXZWJDb3JlOgogewogICAgIGlmIChpc0xpbmtWaXNpdGVkKGxpbmtIYXNoKSkKICAg
ICAgICAgcmV0dXJuOwotCi0gICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzUHJveHk6OkFkZFZpc2l0ZWRMaW5rKGxpbmtIYXNoKSwgMCk7CisgICAgbV9jb25uZWN0aW9u
LT5zZW5kKE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpBZGRWaXNpdGVkTGlua0hhc2gobGlua0hhc2gp
LCAwKTsKIH0KIAogdm9pZCBXZWJQcm9jZXNzOjpzZXRDYWNoZU1vZGVsKHVpbnQzMl90IGNtKQpJ
bmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCShyZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzcz
LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZUNsaWVudChXSwogCiB2b2lkIElu
amVjdGVkQnVuZGxlOjpwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUElP
YmplY3QqIG1lc3NhZ2VCb2R5KQogewotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZChXZWJDb250ZXh0TWVzc2FnZTo6UG9zdE1lc3NhZ2UsIDAsIENvcmVJUEM6Oklu
KG1lc3NhZ2VOYW1lLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlcihtZXNzYWdlQm9k
eSkpKTsKKyAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoV2ViQ29u
dGV4dExlZ2FjeU1lc3NhZ2U6OlBvc3RNZXNzYWdlLCAwLCBDb3JlSVBDOjpJbihtZXNzYWdlTmFt
ZSwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIobWVzc2FnZUJvZHkpKSk7CiB9CiAK
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBvc3RTeW5jaHJvbm91c01lc3NhZ2UoY29uc3QgU3RyaW5n
JiBtZXNzYWdlTmFtZSwgQVBJT2JqZWN0KiBtZXNzYWdlQm9keSwgUmVmUHRyPEFQSU9iamVjdD4m
IHJldHVybkRhdGEpCkBAIC04MSw3ICs4MSw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBvc3RT
eW5jaHJvbm91c01lc3MKICAgICBSZWZQdHI8QVBJT2JqZWN0PiByZXR1cm5EYXRhVG1wOwogICAg
IEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VEZWNvZGVyIG1lc3NhZ2VEZWNvZGVyKHJldHVybkRh
dGFUbXApOwogICAgIAotICAgIGJvb2wgc3VjY2VlZGVkID0gV2ViUHJvY2Vzczo6c2hhcmVkKCku
Y29ubmVjdGlvbigpLT5zZW5kU3luYyhXZWJDb250ZXh0TWVzc2FnZTo6UG9zdFN5bmNocm9ub3Vz
TWVzc2FnZSwgMCwgQ29yZUlQQzo6SW4obWVzc2FnZU5hbWUsIEluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyKG1lc3NhZ2VCb2R5KSksIENvcmVJUEM6Ok91dChtZXNzYWdlRGVjb2Rlcikp
OworICAgIGJvb2wgc3VjY2VlZGVkID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigp
LT5zZW5kU3luYyhXZWJDb250ZXh0TGVnYWN5TWVzc2FnZTo6UG9zdFN5bmNocm9ub3VzTWVzc2Fn
ZSwgMCwgQ29yZUlQQzo6SW4obWVzc2FnZU5hbWUsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyKG1lc3NhZ2VCb2R5KSksIENvcmVJUEM6Ok91dChtZXNzYWdlRGVjb2RlcikpOwogCiAg
ICAgaWYgKCFzdWNjZWVkZWQpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcAkocmV2aXNpb24gNzE2NDYpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJQbHVn
aW5WaWV3LmgiCiAjaW5jbHVkZSAiU3RyaW5nUGFpclZlY3Rvci5oIgorI2luY2x1ZGUgIldlYkNv
bnRleHRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1ZGUgIldlYkV2ZW50LmgiCkBAIC03MjMsNyArNzI0
LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dXBkYXRlR2xvYmFsSAogICAgIGRhdGEu
dXJsID0gbG9hZGVyLT51cmxGb3JIaXN0b3J5KCkuc3RyaW5nKCk7CiAgICAgZGF0YS50aXRsZSA9
IGxvYWRlci0+dGl0bGUoKTsKIAotICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24o
KS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpEaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0
aW9uRGF0YSh3ZWJQYWdlLT5wYWdlSUQoKSwgZGF0YSwgbV9mcmFtZS0+ZnJhbWVJRCgpKSwgMCk7
CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJDb250ZXh0OjpEaWROYXZpZ2F0ZVdpdGhOYXZpZ2F0aW9uRGF0YSh3ZWJQYWdlLT5wYWdlSUQo
KSwgZGF0YSwgbV9mcmFtZS0+ZnJhbWVJRCgpKSwgMCk7CiB9CiAKIHZvaWQgV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OnVwZGF0ZUdsb2JhbEhpc3RvcnlSZWRpcmVjdExpbmtzKCkKQEAgLTczNywxMyAr
NzM4LDEzIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnVwZGF0ZUdsb2JhbEgKIAogICAg
IC8vIENsaWVudCByZWRpcmVjdAogICAgIGlmICghbG9hZGVyLT5jbGllbnRSZWRpcmVjdFNvdXJj
ZUZvckhpc3RvcnkoKS5pc051bGwoKSkgewotICAgICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5j
b25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6RGlkUGVyZm9ybUNs
aWVudFJlZGlyZWN0KHdlYlBhZ2UtPnBhZ2VJRCgpLAorICAgICAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkNvbnRleHQ6OkRpZFBlcmZvcm1D
bGllbnRSZWRpcmVjdCh3ZWJQYWdlLT5wYWdlSUQoKSwKICAgICAgICAgICAgIGxvYWRlci0+Y2xp
ZW50UmVkaXJlY3RTb3VyY2VGb3JIaXN0b3J5KCksIGxvYWRlci0+Y2xpZW50UmVkaXJlY3REZXN0
aW5hdGlvbkZvckhpc3RvcnkoKSwgbV9mcmFtZS0+ZnJhbWVJRCgpKSwgMCk7CiAgICAgfQogCiAg
ICAgLy8gU2VydmVyIHJlZGlyZWN0CiAgICAgaWYgKCFsb2FkZXItPnNlcnZlclJlZGlyZWN0U291
cmNlRm9ySGlzdG9yeSgpLmlzTnVsbCgpKSB7Ci0gICAgICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgp
LmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpEaWRQZXJmb3Jt
U2VydmVyUmVkaXJlY3Qod2ViUGFnZS0+cGFnZUlEKCksCisgICAgICAgIFdlYlByb2Nlc3M6OnNo
YXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6V2ViQ29udGV4dDo6RGlkUGVyZm9y
bVNlcnZlclJlZGlyZWN0KHdlYlBhZ2UtPnBhZ2VJRCgpLAogICAgICAgICAgICAgbG9hZGVyLT5z
ZXJ2ZXJSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKSwgbG9hZGVyLT5zZXJ2ZXJSZWRpcmVjdERl
c3RpbmF0aW9uRm9ySGlzdG9yeSgpLCBtX2ZyYW1lLT5mcmFtZUlEKCkpLCAwKTsKICAgICB9CiB9
CkBAIC05MTYsNyArOTE3LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6c2V0VGl0bGUo
Y29ucwogICAgIGlmICghd2ViUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgV2ViUHJvY2Vz
czo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6
OkRpZFVwZGF0ZUhpc3RvcnlUaXRsZSh3ZWJQYWdlLT5wYWdlSUQoKSwKKyAgICBXZWJQcm9jZXNz
OjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkNvbnRleHQ6OkRpZFVw
ZGF0ZUhpc3RvcnlUaXRsZSh3ZWJQYWdlLT5wYWdlSUQoKSwKICAgICAgICAgdGl0bGUsIHVybC5z
dHJpbmcoKSwgbV9mcmFtZS0+ZnJhbWVJRCgpKSwgMCk7CiB9CiAKSW5kZXg6IFdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwCShyZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5
ICsyOSw5IEBACiAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBsdWdp
bkluZm9TdG9yZS5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNs
dWRlICJXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KQEAgLTg2LDggKzg2LDggQEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnBvcHVs
YXRlUGx1ZwogICAgIFZlY3RvcjxQbHVnaW5JbmZvPiBwbHVnaW5zOwogICAgIAogICAgIC8vIEZJ
WE1FOiBTaG91bGQgd2UgZG8gc29tZXRoaW5nIGluIGNhc2Ugb2YgZXJyb3IgaGVyZT8KLSAgICBX
ZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzUHJveHk6OkdldFBsdWdpbnMobV9zaG91bGRSZWZyZXNoUGx1Z2lucyksCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXNzYWdlczo6V2ViUHJv
Y2Vzc1Byb3h5OjpHZXRQbHVnaW5zOjpSZXBseShwbHVnaW5zKSwgMCk7CisgICAgV2ViUHJvY2Vz
czo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViQ29udGV4dDo6
R2V0UGx1Z2lucyhtX3Nob3VsZFJlZnJlc2hQbHVnaW5zKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQbHVn
aW5zOjpSZXBseShwbHVnaW5zKSwgMCk7CiAKICAgICBtX2NhY2hlZFBsdWdpbnMuc3dhcChwbHVn
aW5zKTsKICAgICAKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShy
ZXZpc2lvbiA3MTY0NikKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiV2ViQ2hyb21lQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnUuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0
TWVudUNsaWVudC5oIgorI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkRyYWdDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJFZGl0b3JDbGllbnQuaCIKQEAgLTE4Niw4ICsxODcsOCBAQCBQYXNzUmVmUHRy
PFBsdWdpbj4gV2ViUGFnZTo6Y3JlYXRlUGx1Z2luCiAgICAgU3RyaW5nIHBsdWdpblBhdGg7CiAK
ICAgICBpZiAoIVdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZFN5bmMoCi0g
ICAgICAgICAgICBNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5QYXRoKHBhcmFt
ZXRlcnMubWltZVR5cGUsIHBhcmFtZXRlcnMudXJsLnN0cmluZygpKSwgCi0gICAgICAgICAgICBN
ZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5QYXRoOjpSZXBseShwbHVnaW5QYXRo
KSwgMCkpIHsKKyAgICAgICAgICAgIE1lc3NhZ2VzOjpXZWJDb250ZXh0OjpHZXRQbHVnaW5QYXRo
KHBhcmFtZXRlcnMubWltZVR5cGUsIHBhcmFtZXRlcnMudXJsLnN0cmluZygpKSwgCisgICAgICAg
ICAgICBNZXNzYWdlczo6V2ViQ29udGV4dDo6R2V0UGx1Z2luUGF0aDo6UmVwbHkocGx1Z2luUGF0
aCksIDApKSB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIApJbmRleDogV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJ
KHJldmlzaW9uIDcxNjQ2KQorKysgV2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHdvcmtpbmcg
Y29weSkKQEAgLTE3MTcsNiArMTcxNywxMCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViQ29udGV4dC5tZXNzYWdlcy5p
biINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xXZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KQEAgLTI0NjksNiArMjQ3MywxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYkNvbnRleHRNZXNzYWdlUmVjZWl2ZXIuY3BwIg0K
KwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJL
aXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb250ZXh0
TWVzc2FnZXMuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2
ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcV2ViSW5zcGVjdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4N
Cg==
</data>
<flag name="review"
          id="63815"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>