<?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>134049</bug_id>
          
          <creation_ts>2014-06-18 17:00:44 -0700</creation_ts>
          <short_desc>Simplify WebSecurityOrigin</short_desc>
          <delta_ts>2014-06-18 17:12:26 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016592</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-18 17:00:44 -0700</bug_when>
    <thetext>Simplify WebSecurityOrigin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016594</commentid>
    <comment_count>1</comment_count>
      <attachid>233341</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-18 17:01:00 -0700</bug_when>
    <thetext>Created attachment 233341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016596</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-06-18 17:12:26 -0700</bug_when>
    <thetext>Committed r170133: &lt;http://trac.webkit.org/changeset/170133&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233341</attachid>
            <date>2014-06-18 17:01:00 -0700</date>
            <delta_ts>2014-06-18 17:02:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134049-20140618170042.patch</filename>
            <type>text/plain</type>
            <size>22742</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZWVhZjM1ZGIxNjczZDg0
MDBmYjk5YWU3Njg3NGZlM2VmMjlmZDMxZC4uNDg2MGZiYWM4MDJiM2IyMTMyOWU3MTRmYmFkNzJk
NzA5MzkzZmZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU4IEBACiAyMDE0LTA2LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgU2ltcGxpZnkgV2Vi
U2VjdXJpdHlPcmlnaW4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzNDA0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV0tT
ZWN1cml0eU9yaWdpbkNyZWF0ZUZyb21TdHJpbmcpOgorICAgICAgICAoV0tTZWN1cml0eU9yaWdp
bkNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIpOgorICAgICAgICAoV0tTZWN1cml0eU9yaWdp
bkNvcHlEYXRhYmFzZUlkZW50aWZpZXIpOgorICAgICAgICAoV0tTZWN1cml0eU9yaWdpbkNvcHlU
b1N0cmluZyk6CisgICAgICAgIChXS1NlY3VyaXR5T3JpZ2luQ29weVByb3RvY29sKToKKyAgICAg
ICAgKFdLU2VjdXJpdHlPcmlnaW5Db3B5SG9zdCk6CisgICAgICAgIChXS1NlY3VyaXR5T3JpZ2lu
R2V0UG9ydCk6CisgICAgICAgICogU2hhcmVkL1dlYlNlY3VyaXR5T3JpZ2luLmg6CisgICAgICAg
IChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpzZWN1cml0eU9yaWdpbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVyKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU2VjdXJpdHlPcmlnaW46OnByb3RvY29sKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU2VjdXJpdHlPcmlnaW46Omhvc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6cG9ydCk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZUlkZW50aWZpZXIp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6dG9TdHJpbmcp
OiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1h
bmFnZXJQcm94eTo6cHJvdmlkZXJEaWRVcGRhdGVOb3RpZmljYXRpb25Qb2xpY3kpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVyRGlkUmVtb3Zl
Tm90aWZpY2F0aW9uUG9saWNpZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3Jh
Z2VNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXI6OmRlbGV0ZUVu
dHJpZXNGb3JPcmlnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5h
Z2VyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5
OjpkZWxldGVFbnRyaWVzRm9yT3JpZ2luKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRGF0YWJh
c2VNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZU1hbmFnZXJQ
cm94eTo6ZGlkR2V0RGF0YWJhc2VzQnlPcmlnaW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRh
YmFzZU1hbmFnZXJQcm94eTo6ZGlkR2V0RGF0YWJhc2VPcmlnaW5zKToKKyAgICAgICAgKFdlYktp
dDo6V2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRlbGV0ZURhdGFiYXNlV2l0aE5hbWVGb3JPcmln
aW4pOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGVsZXRlRGF0
YWJhc2VzRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VNYW5hZ2VyUHJv
eHk6OnNldFF1b3RhRm9yT3JpZ2luKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VNYW5h
Z2VyUHJveHk6OmRpZE1vZGlmeU9yaWdpbik6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNl
TWFuYWdlclByb3h5OjpkaWRNb2RpZnlEYXRhYmFzZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpkaWRHZXRTdG9y
YWdlRGV0YWlsc0J5T3JpZ2luKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViT3JpZ2luRGF0YU1h
bmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYk9yaWdpbkRhdGFNYW5hZ2VyUHJv
eHk6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmV4Y2VlZGVkRGF0YWJh
c2VRdW90YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVxdWVzdEdlb2xvY2F0
aW9uUGVybWlzc2lvbkZvckZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUmVzb3VyY2VD
YWNoZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlQ2FjaGVN
YW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JPcmlnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TLm1tOgorICAgICAgICAoLVtXS0dlb2xvY2F0aW9u
UHJvdmlkZXJJT1MgZGVjaWRlUG9saWN5Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjpm
cmFtZTpyZXF1ZXN0OndpbmRvdzpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVu
dDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKToKKworMjAxNC0wNi0xOCAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCiAgICAgICAgIEFkZCBiYWNrIFdLUGFnZVJ1bkphdmFT
Y3JpcHRJbk1haW5GcmFtZV9iIGZvciBub3cKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNDA0NQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTczNjg4
Nzk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZWN1cml0eU9y
aWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZWN1cml0eU9yaWdpbi5j
cHAKaW5kZXggZjcyOTEwNjVmNWNhZjM4MTI3OWY5YjhlNDgwNzYyN2ZhMzkxNTJmNC4uZmNlNTkw
ZjY2OGU5NzUyN2EzMmRlZDJlMjllYjMxZmMyMTUxM2E3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLU2VjdXJpdHlPcmlnaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1NlY3VyaXR5T3JpZ2luLmNwcApAQCAtMzgsMTQgKzM4LDEyIEBA
IFdLVHlwZUlEIFdLU2VjdXJpdHlPcmlnaW5HZXRUeXBlSUQoKQogCiBXS1NlY3VyaXR5T3JpZ2lu
UmVmIFdLU2VjdXJpdHlPcmlnaW5DcmVhdGVGcm9tU3RyaW5nKFdLU3RyaW5nUmVmIHN0cmluZykK
IHsKLSAgICBSZWZQdHI8V2ViU2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luID0gV2ViU2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcodG9JbXBsKHN0cmluZyktPnN0cmluZygpKTsK
LSAgICByZXR1cm4gdG9BUEkoc2VjdXJpdHlPcmlnaW4ucmVsZWFzZSgpLmxlYWtSZWYoKSk7Cisg
ICAgcmV0dXJuIHRvQVBJKFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUZyb21TdHJpbmcodG9JbXBsKHN0cmluZyktPnN0cmluZygpKSkubGVh
a1JlZigpKTsKIH0KIAogV0tTZWN1cml0eU9yaWdpblJlZiBXS1NlY3VyaXR5T3JpZ2luQ3JlYXRl
RnJvbURhdGFiYXNlSWRlbnRpZmllcihXS1N0cmluZ1JlZiBpZGVudGlmaWVyKQogewotICAgIFJl
ZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcih0b0ltcGwoaWRlbnRpZmllciktPnN0cmlu
ZygpKTsKLSAgICByZXR1cm4gdG9BUEkoc2VjdXJpdHlPcmlnaW4ucmVsZWFzZSgpLmxlYWtSZWYo
KSk7CisgICAgcmV0dXJuIHRvQVBJKFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIoKHRvSW1wbChpZGVu
dGlmaWVyKS0+c3RyaW5nKCkpKSkubGVha1JlZigpKTsKIH0KIAogV0tTZWN1cml0eU9yaWdpblJl
ZiBXS1NlY3VyaXR5T3JpZ2luQ3JlYXRlKFdLU3RyaW5nUmVmIHByb3RvY29sLCBXS1N0cmluZ1Jl
ZiBob3N0LCBpbnQgcG9ydCkKQEAgLTU2LDI3ICs1NCwyNyBAQCBXS1NlY3VyaXR5T3JpZ2luUmVm
IFdLU2VjdXJpdHlPcmlnaW5DcmVhdGUoV0tTdHJpbmdSZWYgcHJvdG9jb2wsIFdLU3RyaW5nUmVm
IGhvcwogCiBXS1N0cmluZ1JlZiBXS1NlY3VyaXR5T3JpZ2luQ29weURhdGFiYXNlSWRlbnRpZmll
cihXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2luKQogewotICAgIHJldHVybiB0b0Nv
cGllZEFQSSh0b0ltcGwoc2VjdXJpdHlPcmlnaW4pLT5kYXRhYmFzZUlkZW50aWZpZXIoKSk7Cisg
ICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChzZWN1cml0eU9yaWdpbiktPnNlY3VyaXR5T3Jp
Z2luKCkuZGF0YWJhc2VJZGVudGlmaWVyKCkpOwogfQogCiBXS1N0cmluZ1JlZiBXS1NlY3VyaXR5
T3JpZ2luQ29weVRvU3RyaW5nKFdLU2VjdXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlPcmlnaW4pCiB7
Ci0gICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChzZWN1cml0eU9yaWdpbiktPnRvU3RyaW5n
KCkpOworICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoc2VjdXJpdHlPcmlnaW4pLT5zZWN1
cml0eU9yaWdpbigpLnRvU3RyaW5nKCkpOwogfQogCiBXS1N0cmluZ1JlZiBXS1NlY3VyaXR5T3Jp
Z2luQ29weVByb3RvY29sKFdLU2VjdXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlPcmlnaW4pCiB7Ci0g
ICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChzZWN1cml0eU9yaWdpbiktPnByb3RvY29sKCkp
OworICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwoc2VjdXJpdHlPcmlnaW4pLT5zZWN1cml0
eU9yaWdpbigpLnByb3RvY29sKCkpOwogfQogCiBXS1N0cmluZ1JlZiBXS1NlY3VyaXR5T3JpZ2lu
Q29weUhvc3QoV0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbikKIHsKLSAgICByZXR1
cm4gdG9Db3BpZWRBUEkodG9JbXBsKHNlY3VyaXR5T3JpZ2luKS0+aG9zdCgpKTsKKyAgICByZXR1
cm4gdG9Db3BpZWRBUEkodG9JbXBsKHNlY3VyaXR5T3JpZ2luKS0+c2VjdXJpdHlPcmlnaW4oKS5o
b3N0KCkpOwogfQogCiB1bnNpZ25lZCBzaG9ydCBXS1NlY3VyaXR5T3JpZ2luR2V0UG9ydChXS1Nl
Y3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2luKQogewotICAgIHJldHVybiB0b0ltcGwoc2Vj
dXJpdHlPcmlnaW4pLT5wb3J0KCk7CisgICAgcmV0dXJuIHRvSW1wbChzZWN1cml0eU9yaWdpbikt
PnNlY3VyaXR5T3JpZ2luKCkucG9ydCgpOwogfQogCiAvLyBGb3IgYmFja3dhcmRzIEFCSSBjb21w
YXRpYmlsaXR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlNlY3VyaXR5
T3JpZ2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViU2VjdXJpdHlPcmlnaW4uaAppbmRl
eCBmNTJhYTYyYzc0MmRlY2YwOGI2NjA5YTA2NmZlMjlhZDI2MTRhMzAwLi4xMDU2YmVmYzhlNDQ1
ZDYyZjY3M2VjZTQ4YjZhZDIyNzYzOWFiMGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViU2VjdXJpdHlPcmlnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
U2VjdXJpdHlPcmlnaW4uaApAQCAtMzksMTEgKzM5LDYgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gY3JlYXRlKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tU3RyaW5nKHN0cmlu
ZykpOwogICAgIH0KIAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBj
cmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKLSAg
ICB7Ci0gICAgICAgIHJldHVybiBjcmVhdGUoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0
ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIoaWRlbnRpZmllcikpOwotICAgIH0KLQogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBwcm90
b2NvbCwgY29uc3QgU3RyaW5nJiBob3N0LCBpbnQgcG9ydCkKICAgICB7CiAgICAgICAgIHJldHVy
biBjcmVhdGUoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShwcm90b2NvbCwgaG9zdCwg
cG9ydCkpOwpAQCAtNTYsMTggKzUxLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFdlYlNlY3VyaXR5T3JpZ2luKHNlY3VyaXR5T3JpZ2luKSk7CiAgICAgfQogCi0gICAg
U3RyaW5nIHByb3RvY29sKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9yaWdpbi0+cHJvdG9j
b2woKTsgfQotICAgIFN0cmluZyBob3N0KCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9yaWdp
bi0+aG9zdCgpOyB9Ci0gICAgdW5zaWduZWQgc2hvcnQgcG9ydCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VjdXJpdHlPcmlnaW4tPnBvcnQoKTsgfQotCi0gICAgU3RyaW5nIGRhdGFiYXNlSWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1fc2VjdXJpdHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigp
OyB9Ci0gICAgU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9yaWdp
bi0+dG9TdHJpbmcoKTsgfQotCi0gICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5
T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gbV9zZWN1cml0eU9yaWdpbi5nZXQoKTsgfQotCi0jaWYg
UExBVEZPUk0oSU9TKQotICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdp
bigpIHsgcmV0dXJuIG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCk7IH0KLSNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCisgICAgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHNlY3VyaXR5T3JpZ2lu
KCkgY29uc3QgeyByZXR1cm4gKm1fc2VjdXJpdHlPcmlnaW47IH0KIAogcHJpdmF0ZToKICAgICBX
ZWJTZWN1cml0eU9yaWdpbihQYXNzUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzZWN1
cml0eU9yaWdpbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCmlu
ZGV4IDQxOWY4OTQzZTFmNzA2MWQ5MzIyZDY5MDhlY2NiZDk2NjNiMTA1MjkuLmQzMmQwNDkxZTM4
OWRiYjUxMzI1OGYxYjM0ZjJlMzRjM2M3YjI1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5LmNwcApAQCAtMjM3LDcgKzIzNyw3IEBAIHZvaWQgV2ViTm90aWZpY2F0
aW9uTWFuYWdlclByb3h5Ojpwcm92aWRlckRpZFVwZGF0ZU5vdGlmaWNhdGlvblBvbGljeShjb25z
dCBXZWJTCiAgICAgaWYgKCFjb250ZXh0KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGNvbnRl
eHQoKS0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRpb25NYW5hZ2Vy
OjpEaWRVcGRhdGVOb3RpZmljYXRpb25EZWNpc2lvbihvcmlnaW4tPnRvU3RyaW5nKCksIGFsbG93
ZWQpKTsKKyAgICBjb250ZXh0KCktPnNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViTm90
aWZpY2F0aW9uTWFuYWdlcjo6RGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24ob3JpZ2luLT5z
ZWN1cml0eU9yaWdpbigpLnRvU3RyaW5nKCksIGFsbG93ZWQpKTsKIH0KIAogdm9pZCBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNp
ZXMoQVBJOjpBcnJheSogb3JpZ2lucykKQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvbk1hbmFnZXJQcm94eTo6cHJvdmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2ll
cyhBUEk6OkFycgogICAgIG9yaWdpblN0cmluZ3MucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShzaXpl
KTsKICAgICAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHNpemU7ICsraSkKLSAgICAgICAg
b3JpZ2luU3RyaW5ncy5hcHBlbmQob3JpZ2lucy0+YXQ8V2ViU2VjdXJpdHlPcmlnaW4+KGkpLT50
b1N0cmluZygpKTsKKyAgICAgICAgb3JpZ2luU3RyaW5ncy5hcHBlbmQob3JpZ2lucy0+YXQ8V2Vi
U2VjdXJpdHlPcmlnaW4+KGkpLT5zZWN1cml0eU9yaWdpbigpLnRvU3RyaW5nKCkpOwogICAgIAog
ICAgIGNvbnRleHQoKS0+c2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRp
b25NYW5hZ2VyOjpEaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMob3JpZ2luU3RyaW5ncykp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFn
ZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1h
bmFnZXIuY3BwCmluZGV4IGU1NzY1NDVlOGZiNmQ3MmVkZjdkNDRjNDZiMzE5MmE5YjU5YWU5Mzgu
LmNmNmY1M2I5YzU4ODNiODk4MGYxY2EzMGIxMDkwMzhjMTExMjkzMWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5jcHAKQEAgLTQy
Nyw5ICs0MjcsOSBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpnZXRTdG9yYWdlRGV0YWlsc0J5T3Jp
Z2luKEZ1bmN0aW9uRGlzcGF0Y2hlciYgY2FsbGJhY2tEaXNwYQogICAgIG1fcXVldWUtPmRpc3Bh
dGNoKGJpbmQoJlN0b3JhZ2VNYW5hZ2VyOjpnZXRTdG9yYWdlRGV0YWlsc0J5T3JpZ2luSW50ZXJu
YWwsIHRoaXMsIFJlZlB0cjxGdW5jdGlvbkRpc3BhdGNoZXI+KCZjYWxsYmFja0Rpc3BhdGNoZXIp
LCBjb250ZXh0LCBjYWxsYmFjaykpOwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyOjpkZWxldGVF
bnRyaWVzRm9yT3JpZ2luKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbikKK3ZvaWQgU3Rv
cmFnZU1hbmFnZXI6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW4m
IHNlY3VyaXR5T3JpZ2luKQogewotICAgIG1fcXVldWUtPmRpc3BhdGNoKGJpbmQoJlN0b3JhZ2VN
YW5hZ2VyOjpkZWxldGVFbnRyaWVzRm9yT3JpZ2luSW50ZXJuYWwsIHRoaXMsIFJlZlB0cjxTZWN1
cml0eU9yaWdpbj4oc2VjdXJpdHlPcmlnaW4pKSk7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goYmlu
ZCgmU3RvcmFnZU1hbmFnZXI6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW5JbnRlcm5hbCwgdGhpcywg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPihjb25zdF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4oJnNlY3Vy
aXR5T3JpZ2luKSkpKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlcjo6ZGVsZXRlQWxsRW50cmll
cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
TWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXIuaAppbmRleCA1MTcyYjBlM2VmNTcxMmFlMmI5MjRhYTY0MWFlMDRhZjZhMTlhNTk1Li41NmY0
YjZlNjA4ZmIxZDJmOWVmNzgxY2RlMTYyMDhjOTVkYTlhMzVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmgKQEAgLTYyLDcgKzYyLDcg
QEAgcHVibGljOgogICAgIC8vIHN1cHBvcnQgYXJndW1lbnRzIGluIGZ1bmN0aW9ucy4KICAgICB2
b2lkIGdldE9yaWdpbnMoRnVuY3Rpb25EaXNwYXRjaGVyJiBjYWxsYmFja0Rpc3BhdGNoZXIsIHZv
aWQqIGNvbnRleHQsIHZvaWQgKCpjYWxsYmFjaykoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbj4+Jiwgdm9pZCogY29udGV4dCkpOwogICAgIHZvaWQgZ2V0U3RvcmFn
ZURldGFpbHNCeU9yaWdpbihGdW5jdGlvbkRpc3BhdGNoZXImIGNhbGxiYWNrRGlzcGF0Y2hlciwg
dm9pZCogY29udGV4dCwgdm9pZCAoKmNhbGxiYWNrKShjb25zdCBWZWN0b3I8TG9jYWxTdG9yYWdl
RGV0YWlscz4mLCB2b2lkKiBjb250ZXh0KSk7Ci0gICAgdm9pZCBkZWxldGVFbnRyaWVzRm9yT3Jp
Z2luKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKik7CisgICAgdm9pZCBkZWxldGVFbnRyaWVzRm9y
T3JpZ2luKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJik7CiAgICAgdm9pZCBkZWxldGVB
bGxFbnRyaWVzKCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggM2Ez
Yzg4YzA1ZDE2OWYyODY3MjZhMTdjMjBhNDdjOTc1NTkyNjcwMS4uNGZhYmQzMGFhNDQ5NWNhYjVi
NzY0NDEwYjI1Njg2MmM0MmMwMDJlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlclByb3h5LmNwcApAQCAtMTA4
LDkgKzEwOCw5IEBAIHZvaWQgV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eTo6ZGVsZXRl
RW50cmllc0Zvck9yaWdpbihXZWJTZWN1cml0eU9yaWdpbioKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgU2VjdXJpdHlPcmlnaW5EYXRhIHNlY3VyaXR5T3JpZ2luRGF0YTsKLSAgICBzZWN1cml0eU9y
aWdpbkRhdGEucHJvdG9jb2wgPSBvcmlnaW4tPnByb3RvY29sKCk7Ci0gICAgc2VjdXJpdHlPcmln
aW5EYXRhLmhvc3QgPSBvcmlnaW4tPmhvc3QoKTsKLSAgICBzZWN1cml0eU9yaWdpbkRhdGEucG9y
dCA9IG9yaWdpbi0+cG9ydCgpOworICAgIHNlY3VyaXR5T3JpZ2luRGF0YS5wcm90b2NvbCA9IG9y
aWdpbi0+c2VjdXJpdHlPcmlnaW4oKS5wcm90b2NvbCgpOworICAgIHNlY3VyaXR5T3JpZ2luRGF0
YS5ob3N0ID0gb3JpZ2luLT5zZWN1cml0eU9yaWdpbigpLmhvc3QoKTsKKyAgICBzZWN1cml0eU9y
aWdpbkRhdGEucG9ydCA9IG9yaWdpbi0+c2VjdXJpdHlPcmlnaW4oKS5wb3J0KCk7CiAKICAgICAv
LyBGSVhNRSAoTXVsdGktV2ViUHJvY2Vzcyk6IDxyZGFyOi8vcHJvYmxlbS8xMjIzOTc2NT4gTWFr
ZSBtYW5pcHVsYXRpbmcgY2FjaGUgaW5mb3JtYXRpb24gd29yayB3aXRoIHBlci10YWIgV2ViUHJv
Y2Vzcy4KICAgICBjb250ZXh0KCktPnNlbmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlm
TmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdlcjo6RGVsZXRlRW50
cmllc0Zvck9yaWdpbihzZWN1cml0eU9yaWdpbkRhdGEpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkuY3BwCmluZGV4IGY1NzEzMmRl
ZmQxZTEwMmVjYmEyMmFhMGI1YjljMTA5NzZmMjM2ZjMuLmMyMGRmMmY3YjlmYjQ5N2FlMmMxNWY4
NjEyMzM0M2QxMzdmNjkyNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkRhdGFiYXNlTWFuYWdlclByb3h5LmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIHZvaWQgV2Vi
RGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRpZEdldERhdGFiYXNlc0J5T3JpZ2luKGNvbnN0IFZlY3Rv
cjxPcmlnaW5BbmREYXRhCiAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkob3JpZ2lu
QW5kRGF0YWJhc2VzVmVjdG9yLnNpemUoKSk7CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIG9yaWdp
bkFuZERhdGFiYXNlcyA6IG9yaWdpbkFuZERhdGFiYXNlc1ZlY3RvcikgewotICAgICAgICBSZWZQ
dHI8QVBJOjpPYmplY3Q+IG9yaWdpbiA9IFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0
YWJhc2VJZGVudGlmaWVyKG9yaWdpbkFuZERhdGFiYXNlcy5vcmlnaW5JZGVudGlmaWVyKTsKKyAg
ICAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiBvcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdpbjo6Y3Jl
YXRlKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVyKG9yaWdpbkFu
ZERhdGFiYXNlcy5vcmlnaW5JZGVudGlmaWVyKSk7CiAKICAgICAgICAgVmVjdG9yPFJlZlB0cjxB
UEk6Ok9iamVjdD4+IGRhdGFiYXNlczsKICAgICAgICAgZGF0YWJhc2VzLnJlc2VydmVJbml0aWFs
Q2FwYWNpdHkob3JpZ2luQW5kRGF0YWJhc2VzLmRhdGFiYXNlcy5zaXplKCkpOwpAQCAtMjI2LDE5
ICsyMjYsMTkgQEAgdm9pZCBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGlkR2V0RGF0YWJhc2VP
cmlnaW5zKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBvcmlnaW4KICAgICBzZWN1cml0eU9yaWdpbnMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShvcmlnaW5JZGVudGlmaWVycy5zaXplKCkpOwogCiAgICAg
Zm9yIChjb25zdCBhdXRvJiBvcmlnaW5JZGVudGlmaWVyIDogb3JpZ2luSWRlbnRpZmllcnMpCi0g
ICAgICAgIHNlY3VyaXR5T3JpZ2lucy51bmNoZWNrZWRBcHBlbmQoV2ViU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIob3JpZ2luSWRlbnRpZmllcikpOworICAgICAg
ICBzZWN1cml0eU9yaWdpbnMudW5jaGVja2VkQXBwZW5kKFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIob3JpZ2luSWRl
bnRpZmllcikpKTsKIAogICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFs
dWUoQVBJOjpBcnJheTo6Y3JlYXRlKHN0ZDo6bW92ZShzZWN1cml0eU9yaWdpbnMpKS5nZXQoKSk7
CiB9CiAKIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRlbGV0ZURhdGFiYXNlV2l0aE5h
bWVGb3JPcmlnaW4oY29uc3QgU3RyaW5nJiBkYXRhYmFzZUlkZW50aWZpZXIsIFdlYlNlY3VyaXR5
T3JpZ2luKiBvcmlnaW4pCiB7Ci0gICAgY29udGV4dCgpLT5zZW5kVG9PbmVQcm9jZXNzKE1lc3Nh
Z2VzOjpXZWJEYXRhYmFzZU1hbmFnZXI6OkRlbGV0ZURhdGFiYXNlV2l0aE5hbWVGb3JPcmlnaW4o
ZGF0YWJhc2VJZGVudGlmaWVyLCBvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpKSk7CisgICAg
Y29udGV4dCgpLT5zZW5kVG9PbmVQcm9jZXNzKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXI6
OkRlbGV0ZURhdGFiYXNlV2l0aE5hbWVGb3JPcmlnaW4oZGF0YWJhc2VJZGVudGlmaWVyLCBvcmln
aW4tPnNlY3VyaXR5T3JpZ2luKCkuZGF0YWJhc2VJZGVudGlmaWVyKCkpKTsKIH0KIAogdm9pZCBX
ZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2luKFdlYlNlY3Vy
aXR5T3JpZ2luKiBvcmlnaW4pCiB7Ci0gICAgY29udGV4dCgpLT5zZW5kVG9PbmVQcm9jZXNzKE1l
c3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXI6OkRlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbihvcmln
aW4tPmRhdGFiYXNlSWRlbnRpZmllcigpKSk7CisgICAgY29udGV4dCgpLT5zZW5kVG9PbmVQcm9j
ZXNzKE1lc3NhZ2VzOjpXZWJEYXRhYmFzZU1hbmFnZXI6OkRlbGV0ZURhdGFiYXNlc0Zvck9yaWdp
bihvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkuZGF0YWJhc2VJZGVudGlmaWVyKCkpKTsKIH0KIAog
dm9pZCBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTo6ZGVsZXRlQWxsRGF0YWJhc2VzKCkKQEAgLTI0
OCwxOCArMjQ4LDE4IEBAIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OmRlbGV0ZUFsbERh
dGFiYXNlcygpCiAKIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6OnNldFF1b3RhRm9yT3Jp
Z2luKFdlYlNlY3VyaXR5T3JpZ2luKiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhKQogewotICAgIGNv
bnRleHQoKS0+c2VuZFRvT25lUHJvY2VzcyhNZXNzYWdlczo6V2ViRGF0YWJhc2VNYW5hZ2VyOjpT
ZXRRdW90YUZvck9yaWdpbihvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpLCBxdW90YSkpOwor
ICAgIGNvbnRleHQoKS0+c2VuZFRvT25lUHJvY2VzcyhNZXNzYWdlczo6V2ViRGF0YWJhc2VNYW5h
Z2VyOjpTZXRRdW90YUZvck9yaWdpbihvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkuZGF0YWJhc2VJ
ZGVudGlmaWVyKCksIHF1b3RhKSk7CiB9CiAKIHZvaWQgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHk6
OmRpZE1vZGlmeU9yaWdpbihjb25zdCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIpCiB7Ci0gICAg
UmVmUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdpbjo6Y3Jl
YXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcihvcmlnaW5JZGVudGlmaWVyKTsKKyAgICBSZWZQdHI8
V2ViU2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9IFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoU2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIob3JpZ2luSWRlbnRpZmll
cikpOwogICAgIG1fY2xpZW50LmRpZE1vZGlmeU9yaWdpbih0aGlzLCBvcmlnaW4uZ2V0KCkpOwog
fQogCiB2b2lkIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OjpkaWRNb2RpZnlEYXRhYmFzZShjb25z
dCBTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VJZGVudGlm
aWVyKQogewotICAgIFJlZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gV2ViU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIob3JpZ2luSWRlbnRpZmllcik7
CisgICAgUmVmUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVyKG9y
aWdpbklkZW50aWZpZXIpKTsKICAgICBtX2NsaWVudC5kaWRNb2RpZnlEYXRhYmFzZSh0aGlzLCBv
cmlnaW4uZ2V0KCksIGRhdGFiYXNlSWRlbnRpZmllcik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcAppbmRleCBj
ZTZlNjMwNmU0YzNjZjBjYmE0YmE2MmEwNGExZWJkNjkwNzY2MDA2Li41MWQzODE3MmU0MjcxZjkw
ZTI1MTYzNWEzY2U2MDViYmYwZTA2YWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuY3BwCkBAIC0xMTQsNyArMTE0LDcg
QEAgc3RhdGljIHZvaWQgZGlkR2V0U3RvcmFnZURldGFpbHNCeU9yaWdpbihjb25zdCBWZWN0b3I8
TG9jYWxTdG9yYWdlRGV0YWlscz4mIHN0b3IKICAgICBmb3IgKGNvbnN0IExvY2FsU3RvcmFnZURl
dGFpbHMmIG9yaWdpbkRldGFpbHMgOiBzdG9yYWdlRGV0YWlscykgewogICAgICAgICBIYXNoTWFw
PFN0cmluZywgUmVmUHRyPEFQSTo6T2JqZWN0Pj4gZGV0YWlsc01hcDsKIAotICAgICAgICBSZWZQ
dHI8QVBJOjpPYmplY3Q+IG9yaWdpbiA9IFdlYlNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0
YWJhc2VJZGVudGlmaWVyKG9yaWdpbkRldGFpbHMub3JpZ2luSWRlbnRpZmllcik7CisgICAgICAg
IFJlZlB0cjxBUEk6Ok9iamVjdD4gb3JpZ2luID0gV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShT
ZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmllcihvcmlnaW5EZXRhaWxz
Lm9yaWdpbklkZW50aWZpZXIpKTsKIAogICAgICAgICBkZXRhaWxzTWFwLnNldChXZWJLZXlWYWx1
ZVN0b3JhZ2VNYW5hZ2VyOjpvcmlnaW5LZXkoKSwgb3JpZ2luKTsKICAgICAgICAgaWYgKG9yaWdp
bkRldGFpbHMuY3JlYXRpb25UaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYk9yaWdpbkRhdGFNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDBkNTI0MjM2OGUwMjA0M2Iy
MjE3MjY1ZTM5ZWFkNDlhOWYzNzZiNjcuLjA1NjA0MWYxNzM5OTU4NGRiMDViNWFiOTE4NTllYzg1
MzIwNGIyNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJPcmlnaW5E
YXRhTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViT3Jp
Z2luRGF0YU1hbmFnZXJQcm94eS5jcHAKQEAgLTEwOCw5ICsxMDgsOSBAQCB2b2lkIFdlYk9yaWdp
bkRhdGFNYW5hZ2VyUHJveHk6OmRlbGV0ZUVudHJpZXNGb3JPcmlnaW4oV0tPcmlnaW5EYXRhVHlw
ZXMgdHlwZXMsCiAgICAgICAgIHJldHVybjsKIAogICAgIFNlY3VyaXR5T3JpZ2luRGF0YSBzZWN1
cml0eU9yaWdpbkRhdGE7Ci0gICAgc2VjdXJpdHlPcmlnaW5EYXRhLnByb3RvY29sID0gb3JpZ2lu
LT5wcm90b2NvbCgpOwotICAgIHNlY3VyaXR5T3JpZ2luRGF0YS5ob3N0ID0gb3JpZ2luLT5ob3N0
KCk7Ci0gICAgc2VjdXJpdHlPcmlnaW5EYXRhLnBvcnQgPSBvcmlnaW4tPnBvcnQoKTsKKyAgICBz
ZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2wgPSBvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkucHJv
dG9jb2woKTsKKyAgICBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCA9IG9yaWdpbi0+c2VjdXJpdHlP
cmlnaW4oKS5ob3N0KCk7CisgICAgc2VjdXJpdHlPcmlnaW5EYXRhLnBvcnQgPSBvcmlnaW4tPnNl
Y3VyaXR5T3JpZ2luKCkucG9ydCgpOwogCiAgICAgLy8gRklYTUUgKE11bHRpLVdlYlByb2Nlc3Mp
OiA8cmRhcjovL3Byb2JsZW0vMTIyMzk3NjU+IE1ha2UgbWFuaXB1bGF0aW5nIGNhY2hlIGluZm9y
bWF0aW9uIHdvcmsgd2l0aCBwZXItdGFiIFdlYlByb2Nlc3MuCiAgICAgY29udGV4dCgpLT5zZW5k
VG9BbGxQcm9jZXNzZXNSZWxhdW5jaGluZ1RoZW1JZk5lY2Vzc2FyeShNZXNzYWdlczo6V2ViT3Jp
Z2luRGF0YU1hbmFnZXI6OkRlbGV0ZUVudHJpZXNGb3JPcmlnaW4odHlwZXMsIHNlY3VyaXR5T3Jp
Z2luRGF0YSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRl
eCA2MTI1ZTAzMzlkMmVkMmQ4ODcwMDgxOTc2ZGUxOWU3Yjg4ZjQwNDIzLi42MjIzNGEwNmQyMDBl
ZjZkM2VjNTIwY2I0MGU1YjgxMGE5NTEzZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcApAQCAtNDQ5MCw3ICs0NDkwLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmV4Y2VlZGVkRGF0YWJhc2VRdW90YSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG9y
aWdpbkkKICAgICAgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndlYkZyYW1l
KHJlY29yZC0+ZnJhbWVJRCk7CiAgICAgICAgIE1FU1NBR0VfQ0hFQ0soZnJhbWUpOwogCi0gICAg
ICAgIFJlZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gV2ViU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIocmVjb3JkLT5vcmlnaW5JZGVudGlmaWVyKTsK
KyAgICAgICAgUmVmUHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBXZWJTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVy
KHJlY29yZC0+b3JpZ2luSWRlbnRpZmllcikpOwogCiAgICAgICAgIHVpbnQ2NF90IG5ld1F1b3Rh
ID0gbV91aUNsaWVudC0+ZXhjZWVkZWREYXRhYmFzZVF1b3RhKHRoaXMsIGZyYW1lLCBvcmlnaW4u
Z2V0KCksCiAgICAgICAgICAgICByZWNvcmQtPmRhdGFiYXNlTmFtZSwgcmVjb3JkLT5kaXNwbGF5
TmFtZSwgcmVjb3JkLT5jdXJyZW50UXVvdGEsCkBAIC00NTA3LDcgKzQ1MDcsNyBAQCB2b2lkIFdl
YlBhZ2VQcm94eTo6cmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1lKHVpbnQ2NF90
IGdlb2xvY2F0aW9uSUQsCiAgICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7CiAKICAgICAvLyBGSVhN
RTogR2VvbG9jYXRpb24gc2hvdWxkIHByb2JhYmx5IGJlIHVzaW5nIHRvU3RyaW5nKCkgYXMgaXRz
IHN0cmluZyByZXByZXNlbnRhdGlvbiBpbnN0ZWFkIG9mIGRhdGFiYXNlSWRlbnRpZmllcigpLgot
ICAgIFJlZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4gb3JpZ2luID0gV2ViU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZUZyb21EYXRhYmFzZUlkZW50aWZpZXIob3JpZ2luSWRlbnRpZmllcik7CisgICAgUmVm
UHRyPFdlYlNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdpbjo6Y3JlYXRl
KFNlY3VyaXR5T3JpZ2luOjpjcmVhdGVGcm9tRGF0YWJhc2VJZGVudGlmaWVyKG9yaWdpbklkZW50
aWZpZXIpKTsKICAgICBSZWZQdHI8R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByb3h5PiBy
ZXF1ZXN0ID0gbV9nZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcmVhdGVSZXF1
ZXN0KGdlb2xvY2F0aW9uSUQpOwogCiAgICAgaWYgKG1fdWlDbGllbnQtPmRlY2lkZVBvbGljeUZv
ckdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QodGhpcywgZnJhbWUsIG9yaWdpbi5nZXQoKSwg
cmVxdWVzdC5nZXQoKSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5jcHAKaW5kZXggOTY2YjcxODA1Y2YzNTMyMzBi
ZWNhYTdlZTE5M2UwOGYyMDcwYmRmOS4uZjkyMGFlMmYzZTQ5YjE5NjA2NmIwNWYxZjQ1MTNjNzlk
ZGQzMDcxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlJlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmNwcApAQCAtMTA3LDkgKzEwNyw5IEBAIHZvaWQgV2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTo6ZGlkR2V0Q2FjaGVPcmlnaW5zKGNvbnN0IFZlY3Rv
cjxTZWN1cml0eU9yaWdpCiB2b2lkIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFy
Q2FjaGVGb3JPcmlnaW4oV2ViU2VjdXJpdHlPcmlnaW4qIG9yaWdpbiwgUmVzb3VyY2VDYWNoZXNU
b0NsZWFyIGNhY2hlc1RvQ2xlYXIpCiB7CiAgICAgU2VjdXJpdHlPcmlnaW5EYXRhIHNlY3VyaXR5
T3JpZ2luOwotICAgIHNlY3VyaXR5T3JpZ2luLnByb3RvY29sID0gb3JpZ2luLT5wcm90b2NvbCgp
OwotICAgIHNlY3VyaXR5T3JpZ2luLmhvc3QgPSBvcmlnaW4tPmhvc3QoKTsKLSAgICBzZWN1cml0
eU9yaWdpbi5wb3J0ID0gb3JpZ2luLT5wb3J0KCk7CisgICAgc2VjdXJpdHlPcmlnaW4ucHJvdG9j
b2wgPSBvcmlnaW4tPnNlY3VyaXR5T3JpZ2luKCkucHJvdG9jb2woKTsKKyAgICBzZWN1cml0eU9y
aWdpbi5ob3N0ID0gb3JpZ2luLT5zZWN1cml0eU9yaWdpbigpLmhvc3QoKTsKKyAgICBzZWN1cml0
eU9yaWdpbi5wb3J0ID0gb3JpZ2luLT5zZWN1cml0eU9yaWdpbigpLnBvcnQoKTsKIAogICAgIC8v
IEZJWE1FIChNdWx0aS1XZWJQcm9jZXNzKTogPHJkYXI6Ly9wcm9ibGVtLzEyMjM5NzY1PiBUaGVy
ZSBpcyBubyBuZWVkIHRvIHJlbGF1bmNoIGFsbCBwcm9jZXNzZXMuIE9uZSBwcm9jZXNzIHRvIHRh
a2UgY2FyZSBvZiBwZXJzaXN0ZW50IGNhY2hlIGlzIGVub3VnaC4KICAgICBjb250ZXh0KCktPnNl
bmRUb0FsbFByb2Nlc3Nlc1JlbGF1bmNoaW5nVGhlbUlmTmVjZXNzYXJ5KE1lc3NhZ2VzOjpXZWJS
ZXNvdXJjZUNhY2hlTWFuYWdlcjo6Q2xlYXJDYWNoZUZvck9yaWdpbihzZWN1cml0eU9yaWdpbiwg
Y2FjaGVzVG9DbGVhcikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPUy5tbQppbmRleCAxOThkZTE0OTZmZjZhODQ4M2Ri
ZjUxNWI5ZjE3YWEwZTk5MzEzNjcwLi4yNTJmN2JkZjE5NDI1ZTU5Y2VhYjJjNzllNDYyZjMyMTVk
ZmU5NjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9j
YXRpb25Qcm92aWRlcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
R2VvbG9jYXRpb25Qcm92aWRlcklPUy5tbQpAQCAtMTU0LDcgKzE1NCw3IEBAIHN0YXRpYyB2b2lk
IHNldEVuYWJsZUhpZ2hBY2N1cmFjeShXS0dlb2xvY2F0aW9uTWFuYWdlclJlZiBnZW9sb2NhdGlv
bk1hbmFnZXIsIGJvCiB7CiAgICAgLy8gU3RlcCAxOiBhc2sgdGhlIHVzZXIgaWYgdGhlIGFwcCBj
YW4gdXNlIEdlb2xvY2F0aW9uLgogICAgIEdlb2xvY2F0aW9uUmVxdWVzdERhdGEgZ2VvbG9jYXRp
b25SZXF1ZXN0RGF0YTsKLSAgICBnZW9sb2NhdGlvblJlcXVlc3REYXRhLm9yaWdpbiA9IHRvSW1w
bChvcmlnaW4pLT5zZWN1cml0eU9yaWdpbigpOworICAgIGdlb2xvY2F0aW9uUmVxdWVzdERhdGEu
b3JpZ2luID0gY29uc3RfY2FzdDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbio+KCZ0b0ltcGwob3Jp
Z2luKS0+c2VjdXJpdHlPcmlnaW4oKSk7CiAgICAgZ2VvbG9jYXRpb25SZXF1ZXN0RGF0YS5mcmFt
ZSA9IHRvSW1wbChmcmFtZSk7CiAgICAgZ2VvbG9jYXRpb25SZXF1ZXN0RGF0YS5wZXJtaXNzaW9u
UmVxdWVzdCA9IHRvSW1wbChwZXJtaXNzaW9uUmVxdWVzdCk7CiAgICAgZ2VvbG9jYXRpb25SZXF1
ZXN0RGF0YS53aW5kb3cgPSB3aW5kb3c7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKaW5kZXggN2E1
ODU5MWExNWU0NGZmZDg5NjY4OGMyMDRlMTg5OTRiZWExYjRkZi4uYWIxMDMxN2QzMTM5ODQ5Mzdm
NGU4ZDM4OWZhOGIxMWE5MTM5YmIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtNjQ4
LDcgKzY0OCw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpleGNlZWRlZERhdGFiYXNlUXVvdGEo
RnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlCiAgICAgdWludDY0X3QgY3VycmVu
dFF1b3RhID0gZGJNYW5hZ2VyLnF1b3RhRm9yT3JpZ2luKG9yaWdpbik7CiAgICAgdWludDY0X3Qg
Y3VycmVudE9yaWdpblVzYWdlID0gZGJNYW5hZ2VyLnVzYWdlRm9yT3JpZ2luKG9yaWdpbik7CiAg
ICAgdWludDY0X3QgbmV3UXVvdGEgPSAwOwotICAgIFJlZlB0cjxXZWJTZWN1cml0eU9yaWdpbj4g
d2ViU2VjdXJpdHlPcmlnaW4gPSBXZWJTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNl
SWRlbnRpZmllcihvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpKTsKKyAgICBSZWZQdHI8V2Vi
U2VjdXJpdHlPcmlnaW4+IHdlYlNlY3VyaXR5T3JpZ2luID0gV2ViU2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNlSWRlbnRpZmll
cihvcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpKSk7CiAgICAgbmV3UXVvdGEgPSBtX3BhZ2Ut
PmluamVjdGVkQnVuZGxlVUlDbGllbnQoKS5kaWRFeGNlZWREYXRhYmFzZVF1b3RhKG1fcGFnZSwg
d2ViU2VjdXJpdHlPcmlnaW4uZ2V0KCksIGRhdGFiYXNlTmFtZSwgZGV0YWlscy5kaXNwbGF5TmFt
ZSgpLCBjdXJyZW50UXVvdGEsIGN1cnJlbnRPcmlnaW5Vc2FnZSwgZGV0YWlscy5jdXJyZW50VXNh
Z2UoKSwgZGV0YWlscy5leHBlY3RlZFVzYWdlKCkpOwogCiAgICAgaWYgKCFuZXdRdW90YSkgewo=
</data>
<flag name="review"
          id="257837"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>