<?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>25574</bug_id>
          
          <creation_ts>2009-05-05 12:18:01 -0700</creation_ts>
          <short_desc>AXImageMap children links don&apos;t respond properly to accessibilityHitTest:</short_desc>
          <delta_ts>2009-05-05 16:04:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</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="chris fleizach">cfleizach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>120006</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-05 12:18:01 -0700</bug_when>
    <thetext>if you roll the arrow over a link inside of an image map, the AXWebArea is returned instead of the AXLink</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120026</commentid>
    <comment_count>1</comment_count>
      <attachid>30038</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-05 15:42:30 -0700</bug_when>
    <thetext>Created attachment 30038
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120029</commentid>
    <comment_count>2</comment_count>
      <attachid>30038</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2009-05-05 15:49:44 -0700</bug_when>
    <thetext>Comment on attachment 30038
patch

&gt; +AccessibilityObject* AccessibilityRenderObject::doAccessibilityImageMapHitTest(HTMLAreaElement* area, const IntPoint&amp; point) const

This is a nitpick, but I don&apos;t care for the use of the word &quot;do&quot; in the function name here. How about just imageMapHitTest() or accessibilityImageMapHitTest()?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120030</commentid>
    <comment_count>3</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-05 15:50:20 -0700</bug_when>
    <thetext>do bothers me too, but was matching the other hit test method. will change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120033</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2009-05-05 16:04:18 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/43258</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30038</attachid>
            <date>2009-05-05 15:42:30 -0700</date>
            <delta_ts>2009-05-05 15:49:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>24343</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzI1NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMDUtMDUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBCdWcgMjU1NzQ6IEFYSW1hZ2VNYXAgY2hpbGRyZW4gbGlua3MgZG9uJ3QgcmVzcG9uZCBwcm9w
ZXJseSB0byBhY2Nlc3NpYmlsaXR5SGl0VGVzdDoKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI1NTc0CisKKyAgICAgICAgRW5hYmxlIGFjY2Vzc2liaWxp
dHkgaGl0LXRlc3RpbmcgZm9yIGltYWdlIG1hcCBsaW5rcy4gCisgICAgICAgIEFsbG93IGltYWdl
IG1hcCBsaW5rcyB0byByZXR1cm4gQVhVUkxzIGFuZCBBWEFjY2Vzc0tleSBpbmZvcm1hdGlvbi4K
KworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZW1hcC1oaXR0
ZXN0Lmh0bWwKKworICAgICAgICAqIHBhZ2UvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjp1cmwpOgorICAg
ICAgICAqIHBhZ2UvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5oOgorICAgICAgICAqIHBhZ2Uv
QWNjZXNzaWJpbGl0eU9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9i
amVjdDo6bWluVmFsdWVGb3JSYW5nZSk6CisgICAgICAgICogcGFnZS9BY2Nlc3NpYmlsaXR5UmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3Q6OmFjY2Vzc2liaWxpdHlQYXJlbnRGb3JJbWFnZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpkb0FjY2Vzc2liaWxpdHlJbWFnZU1hcEhpdFRlc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZG9BY2Nlc3Np
YmlsaXR5SGl0VGVzdCk6CisgICAgICAgICogcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0
Lmg6CisgICAgICAgICogcGFnZS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW06Cisg
ICAgICAgICgtW0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVOYW1lc10pOgorCiAyMDA5LTA1LTA1ICBKYW4gTWljaGFlbCBBbG9uem8gIDxqbWFsb256b0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFhhbiBMb3Blei4KSW5kZXg6IFdlYkNv
cmUvcGFnZS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BhZ2UvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5jcHAJKHJldmlzaW9uIDQzMjQ2KQor
KysgV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC03OCw2ICs3OCwxNCBAQCBFbGVtZW50KiBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5r
OjphbmNoCiAgICAgcmV0dXJuIG1fYXJlYUVsZW1lbnQ7CiB9CiAKK0tVUkwgQWNjZXNzaWJpbGl0
eUltYWdlTWFwTGluazo6dXJsKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fYXJlYUVsZW1lbnQpCisg
ICAgICAgIHJldHVybiBLVVJMKCk7CisgICAgCisgICAgcmV0dXJuIG1fYXJlYUVsZW1lbnQtPmhy
ZWYoKTsKK30KKyAgICAKIFN0cmluZyBBY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rOjphY2Nlc3Np
YmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAogewogICAgIGlmICghbV9hcmVhRWxlbWVudCkKSW5k
ZXg6IFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBMaW5rLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlJbWFnZU1hcExpbmsuaAkocmV2aXNpb24gNDMy
NDYpCisrKyBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eUltYWdlTWFwTGluay5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEFjY2Vzc2liaWxp
dHlPYmplY3QqIHBhcmVudE9iamVjdCgpIGNvbnN0OwogICAgIHZpcnR1YWwgRWxlbWVudCogYW5j
aG9yRWxlbWVudCgpIGNvbnN0OwogICAgIHZpcnR1YWwgRWxlbWVudCogYWN0aW9uRWxlbWVudCgp
IGNvbnN0OwotICAgIAorICAgIHZpcnR1YWwgS1VSTCB1cmwoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgaXNMaW5rKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfSAKICAgICB2aXJ0dWFsIFN0cmlu
ZyB0aXRsZSgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlw
dGlvbigpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlPYmplY3QuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eU9iamVjdC5oCShyZXZpc2lv
biA0MzI0NikKKysrIFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1Miw3ICsyNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgaW50VmFs
dWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIGZsb2F0IHZhbHVlRm9yUmFuZ2UoKSBjb25zdCB7IHJl
dHVybiAwLjBmOyB9CiAgICAgdmlydHVhbCBmbG9hdCBtYXhWYWx1ZUZvclJhbmdlKCkgY29uc3Qg
eyByZXR1cm4gMC4wZjsgfQotICAgIHZpcnR1YWwgZmxvYXQgbWluVmFsdWVGb3JSYW5nZSgpIGNv
bnN0IHtyZXR1cm4gMC4wZjsgfQorICAgIHZpcnR1YWwgZmxvYXQgbWluVmFsdWVGb3JSYW5nZSgp
IGNvbnN0IHsgcmV0dXJuIDAuMGY7IH0KICAgICB2aXJ0dWFsIGludCBsYXlvdXRDb3VudCgpIGNv
bnN0OwogICAgIHN0YXRpYyBib29sIGlzQVJJQUNvbnRyb2woQWNjZXNzaWJpbGl0eVJvbGUpOwog
ICAgIHN0YXRpYyBib29sIGlzQVJJQUlucHV0KEFjY2Vzc2liaWxpdHlSb2xlKTsKSW5kZXg6IFdl
YkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDQzMjQ2
KQorKysgV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTQwLDYgKzE1NDAsNyBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBY2Nlc3Np
YmlsaXR5UmVuZGVyCiAgICAgaWYgKCFtX3JlbmRlcmVyIHx8ICFtYXApCiAgICAgICAgIHJldHVy
biAwOwogCisgICAgU3RyaW5nIG1hcE5hbWUgPSBtYXAtPmdldE5hbWUoKS5zdHJpbmcoKS5sb3dl
cigpOwogICAgIFJlZlB0cjxIVE1MQ29sbGVjdGlvbj4gY29sbCA9IG1fcmVuZGVyZXItPmRvY3Vt
ZW50KCktPmltYWdlcygpOwogICAgIGZvciAoTm9kZSogY3VyciA9IGNvbGwtPmZpcnN0SXRlbSgp
OyBjdXJyOyBjdXJyID0gY29sbC0+bmV4dEl0ZW0oKSkgewogICAgICAgICBSZW5kZXJPYmplY3Qq
IG9iaiA9IGN1cnItPnJlbmRlcmVyKCk7CkBAIC0xNTQ4LDcgKzE1NDksOCBAQCBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBBY2Nlc3NpYmlsaXR5UmVuZGVyCiAgICAgICAgIAogICAgICAgICAvLyBUaGUg
SFRNTEltYWdlRWxlbWVudCdzIHVzZU1hcCgpIHZhbHVlIGluY2x1ZGVzIHRoZSAnIycgc3ltYm9s
IGF0IHRoZSBiZWdpbm5pbmcsCiAgICAgICAgIC8vIHdoaWNoIGhhcyB0byBiZSBzdHJpcHBlZCBv
ZmYKLSAgICAgICAgaWYgKHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihjdXJyKS0+dXNl
TWFwKCkuc3Vic3RyaW5nKDEpID09IG1hcC0+Z2V0TmFtZSgpKQorICAgICAgICBTdHJpbmcgdXNl
TWFwTmFtZSA9IHN0YXRpY19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihjdXJyKS0+dXNlTWFwKCku
c3Vic3RyaW5nKDEpLmxvd2VyKCk7CisgICAgICAgIGlmICh1c2VNYXBOYW1lID09IG1hcE5hbWUp
CiAgICAgICAgICAgICByZXR1cm4gYXhPYmplY3RDYWNoZSgpLT5nZXRPckNyZWF0ZShvYmopOwog
ICAgIH0KICAgICAKQEAgLTE5MzYsNiArMTkzOCwyNyBAQCBJbnRSZWN0IEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRvQVhCCiAgICAgcmV0dXJuIEludFJlY3QoKTsKIH0KIAorQWNjZXNzaWJp
bGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZG9BY2Nlc3NpYmlsaXR5SW1h
Z2VNYXBIaXRUZXN0KEhUTUxBcmVhRWxlbWVudCogYXJlYSwgY29uc3QgSW50UG9pbnQmIHBvaW50
KSBjb25zdAoreworICAgIGlmICghYXJlYSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAg
SFRNTE1hcEVsZW1lbnQgKm1hcCA9IHN0YXRpY19jYXN0PEhUTUxNYXBFbGVtZW50Kj4oYXJlYS0+
cGFyZW50KCkpOworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhcmVudCA9IGFjY2Vzc2liaWxp
dHlQYXJlbnRGb3JJbWFnZU1hcChtYXApOworICAgIGlmICghcGFyZW50KQorICAgICAgICByZXR1
cm4gMDsKKyAgICAKKyAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3IgY2hpbGRyZW4gPSBwYXJlbnQtPmNoaWxkcmVuKCk7CisgICAgCisgICAgdW5zaWdu
ZWQgY291bnQgPSBjaGlsZHJlbi5zaXplKCk7CisgICAgZm9yICh1bnNpZ25lZCBrID0gMDsgayA8
IGNvdW50OyArK2spIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuW2tdLT5lbGVtZW50UmVjdCgpLmNv
bnRhaW5zKHBvaW50KSkKKyAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbltrXS5nZXQoKTsKKyAg
ICB9CisgICAgCisgICAgcmV0dXJuIDA7Cit9CisgICAgCiBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBB
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Ojpkb0FjY2Vzc2liaWxpdHlIaXRUZXN0KGNvbnN0IElu
dFBvaW50JiBwb2ludCkgY29uc3QKIHsKICAgICBpZiAoIW1fcmVuZGVyZXIgfHwgIW1fcmVuZGVy
ZXItPmhhc0xheWVyKCkpCkBAIC0xOTUwLDYgKzE5NzMsMTAgQEAgQWNjZXNzaWJpbGl0eU9iamVj
dCogQWNjZXNzaWJpbGl0eVJlbmRlcgogICAgIGlmICghaGl0VGVzdFJlc3VsdC5pbm5lck5vZGUo
KSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgTm9kZSogbm9kZSA9IGhpdFRlc3RSZXN1bHQuaW5u
ZXJOb2RlKCktPnNoYWRvd0FuY2VzdG9yTm9kZSgpOworCisgICAgaWYgKG5vZGUtPmhhc1RhZ05h
bWUoYXJlYVRhZykpIAorICAgICAgICByZXR1cm4gZG9BY2Nlc3NpYmlsaXR5SW1hZ2VNYXBIaXRU
ZXN0KHN0YXRpY19jYXN0PEhUTUxBcmVhRWxlbWVudCo+KG5vZGUpLCBwb2ludCk7CisgICAgCiAg
ICAgUmVuZGVyT2JqZWN0KiBvYmogPSBub2RlLT5yZW5kZXJlcigpOwogICAgIGlmICghb2JqKQog
ICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFdlYkNvcmUvcGFnZS9BY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0FjY2Vzc2liaWxpdHlSZW5kZXJP
YmplY3QuaAkocmV2aXNpb24gNDMyNDYpCisrKyBXZWJDb3JlL3BhZ2UvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzMsNiArMjMzLDcgQEAgcHJpdmF0ZToK
ICAgICBJbnRSZWN0IGNoZWNrYm94T3JSYWRpb1JlY3QoKSBjb25zdDsKICAgICB2b2lkIGFkZFJh
ZGlvQnV0dG9uR3JvdXBNZW1iZXJzKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgbGlua2Vk
VUlFbGVtZW50cykgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogaW50ZXJuYWxMaW5r
RWxlbWVudCgpIGNvbnN0OworICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGRvQWNjZXNzaWJpbGl0
eUltYWdlTWFwSGl0VGVzdChIVE1MQXJlYUVsZW1lbnQqLCBjb25zdCBJbnRQb2ludCYpIGNvbnN0
OwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIGFjY2Vzc2liaWxpdHlQYXJlbnRGb3JJbWFnZU1h
cChIVE1MTWFwRWxlbWVudCogbWFwKSBjb25zdDsKIAogICAgIHZvaWQgbWFya0NoaWxkcmVuRGly
dHkoKSBjb25zdCB7IG1fY2hpbGRyZW5EaXJ0eSA9IHRydWU7IH0KSW5kZXg6IFdlYkNvcmUvcGFn
ZS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wYWdlL21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbQkocmV2aXNpb24gNDMyNDYp
CisrKyBXZWJDb3JlL3BhZ2UvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MzEsNyArODMxLDcgQEAgc3RhdGljIFdlYkNvcmVUZXh0TWFya2VyUmFu
Z2UqIHRleHRNYXJrZQogICAgIGlmIChtX29iamVjdC0+aXNUZXh0Q29udHJvbCgpKQogICAgICAg
ICByZXR1cm4gdGV4dEF0dHJzOwogCi0gICAgaWYgKG1fb2JqZWN0LT5pc0FuY2hvcigpIHx8IG1f
b2JqZWN0LT5pc0ltYWdlKCkpCisgICAgaWYgKG1fb2JqZWN0LT5pc0FuY2hvcigpIHx8IG1fb2Jq
ZWN0LT5pc0ltYWdlKCkgfHwgbV9vYmplY3QtPmlzTGluaygpKQogICAgICAgICByZXR1cm4gYW5j
aG9yQXR0cnM7CiAKICAgICBpZiAobV9vYmplY3QtPmlzRGF0YVRhYmxlKCkpCkluZGV4OiBXZWJL
aXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA0MzI1NCkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDM2IEBACisyMDA5LTA1LTA1ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQnVnIDI1NTc0OiBBWEltYWdlTWFwIGNoaWxkcmVuIGxpbmtzIGRvbid0IHJlc3BvbmQgcHJv
cGVybHkgdG8gYWNjZXNzaWJpbGl0eUhpdFRlc3Q6CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTU3NAorCisgICAgICAgIEFkZCBhYmlsaXR5IHRvIGdl
dCB4IGFuZCB5IG9mIGFuIGVsZW1lbnQsIGFuZCB0aGUgYWJpbGl0eSB0byBnZXQgYW4gZWxlbWVu
dCBhdCBhIHBvaW50LgorICAgICAgICBDaGFuZ2VkIHN0cmluZyBjb25zdGFudHMgdG8gdXNlIE5T
QWNjZXNzaWJpbGl0eSBjb25zdGFudHMgaW5zdGVhZC4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoZWxlbWVudEF0UG9pbnRD
YWxsYmFjayk6CisgICAgICAgIChnZXRYQ2FsbGJhY2spOgorICAgICAgICAoZ2V0WUNhbGxiYWNr
KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldEpTQ2xhc3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAg
KGRlc2NyaXB0aW9uT2ZWYWx1ZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpl
bGVtZW50QXRQb2ludCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKToKKyAgICAgICAgKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OngpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSk6CisgICAg
ICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0aCk6CisgICAgICAgIChBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpoZWlnaHQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW50VmFsdWUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgor
ICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUpOgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKToKKyAgICAgICAg
KEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1cHBvcnRzUHJlc3NBY3Rpb24pOgorICAgICAgICAo
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KToKKwogMjAwOS0wNS0wNSAgQWRh
bSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgdXNlIHBkZXZlbnYg
d2hlbiBidWlsZGluZyB3aXRoIFZDKysgRXhwcmVzcwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAJKHJldmlzaW9u
IDQzMjQ2KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0OSw2ICsxNDksMTggQEAgc3RhdGljIEpTVmFs
dWVSZWYgY2hpbGRBdEluZGV4Q2FsbGJhY2soSgogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptYWtlSlNBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnRleHQsIHRvQVhFbGVtZW50
KHRoaXNPYmplY3QpLT5nZXRDaGlsZEF0SW5kZXgoaW5kZXhOdW1iZXIpKTsKIH0KIAorc3RhdGlj
IEpTVmFsdWVSZWYgZWxlbWVudEF0UG9pbnRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCit7CisgICAgaW50IHgsIHk7CisgICAgaWYgKGFyZ3VtZW50Q291bnQgPT0gMikgewor
ICAgICAgICB4ID0gSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIGFyZ3VtZW50c1swXSwgZXhjZXB0
aW9uKTsKKyAgICAgICAgeSA9IEpTVmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1bWVudHNbMV0s
IGV4Y2VwdGlvbik7CisgICAgfQorICAgIAorICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjptYWtlSlNBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnRleHQsIHRvQVhFbGVtZW50KHRo
aXNPYmplY3QpLT5lbGVtZW50QXRQb2ludCh4LCB5KSk7Cit9CisKKwogc3RhdGljIEpTVmFsdWVS
ZWYgaXNBdHRyaWJ1dGVTZXR0YWJsZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09i
amVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50
Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKIHsKICAgICBKU1N0cmluZ1JlZiBhdHRyaWJ1dGUgPSBOVUxMOwpAQCAtMjI5LDYgKzI0MSwx
NiBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBnZXRDaGlsZHJlbkNvdW50Q2FsbGJhCiAgICAgcmV0dXJu
IEpTVmFsdWVNYWtlTnVtYmVyKGNvbnRleHQsIHRvQVhFbGVtZW50KHRoaXNPYmplY3QpLT5jaGls
ZHJlbkNvdW50KCkpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBnZXRYQ2FsbGJhY2soSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpTU3RyaW5nUmVmIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIHJldHVybiBKU1ZhbHVlTWFr
ZU51bWJlcihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+eCgpKTsKK30KKworc3Rh
dGljIEpTVmFsdWVSZWYgZ2V0WUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VOdW1iZXIoY29udGV4dCwgdG9BWEVs
ZW1lbnQodGhpc09iamVjdCktPnkoKSk7Cit9CisKIHN0YXRpYyBKU1ZhbHVlUmVmIGdldFdpZHRo
Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIEpT
U3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIHJl
dHVybiBKU1ZhbHVlTWFrZU51bWJlcihjb250ZXh0LCB0b0FYRWxlbWVudCh0aGlzT2JqZWN0KS0+
d2lkdGgoKSk7CkBAIC0yOTAsNiArMzEyLDggQEAgSlNDbGFzc1JlZiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpnZXRKUwogICAgICAgICB7ICJyb2xlIiwgZ2V0Um9sZUNhbGxiYWNrLCAwLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInRpdGxlIiwgZ2V0VGl0bGVDYWxsYmFjaywgMCwga0pTUHJvcGVydHlB
dHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAg
ICAgICB7ICJkZXNjcmlwdGlvbiIsIGdldERlc2NyaXB0aW9uQ2FsbGJhY2ssIDAsIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
KyAgICAgICAgeyAieCIsIGdldFhDYWxsYmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJ5Iiwg
Z2V0WUNhbGxiYWNrLCAwLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgIndpZHRoIiwgZ2V0V2lkdGhDYWxs
YmFjaywgMCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJoZWlnaHQiLCBnZXRIZWlnaHRDYWxsYmFjaywg
MCwga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAogICAgICAgICB7ICJpbnRWYWx1ZSIsIGdldEludFZhbHVlQ2FsbGJhY2ssIDAs
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKQEAgLTMxMSw2ICszMzUsNyBAQCBKU0NsYXNzUmVmIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmdldEpTCiAgICAgICAgIHsgImxpbmVGb3JJbmRleCIsIGxpbmVGb3JJbmRleENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCiAgICAgICAgIHsgImJvdW5kc0ZvclJhbmdlIiwgYm91bmRzRm9yUmFuZ2VD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJjaGlsZEF0SW5kZXgiLCBjaGlsZEF0SW5kZXhD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAorICAgICAgICB7ICJlbGVtZW50QXRQb2ludCIsIGVsZW1lbnRBdFBv
aW50Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAiYXR0cmlidXRlc09mQ29sdW1uSGVhZGVy
cyIsIGF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7
ICJhdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzIiwgYXR0cmlidXRlc09mUm93SGVhZGVyc0NhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCiAgICAgICAgIHsgImF0dHJpYnV0ZXNPZkNvbHVtbnMiLCBhdHRyaWJ1dGVzT2ZD
b2x1bW5zQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgJKHJldmlzaW9uIDQzMjQ2KQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldENoaWxkcmVu
KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiYpOwogICAgIHZvaWQgZ2V0Q2hpbGRyZW5X
aXRoUmFuZ2UoVmVjdG9yPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+JiwgdW5zaWduZWQgbG9jYXRp
b24sIHVuc2lnbmVkIGxlbmd0aCk7CiAgICAgCisgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBl
bGVtZW50QXRQb2ludChpbnQgeCwgaW50IHkpOwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQg
Z2V0Q2hpbGRBdEluZGV4KHVuc2lnbmVkKTsKICAgICBpbnQgY2hpbGRyZW5Db3VudCgpOwogICAg
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgdGl0bGVVSUVsZW1lbnQoKTsKQEAgLTgwLDYgKzgxLDgg
QEAgcHVibGljOgogICAgIEpTU3RyaW5nUmVmIHJvbGUoKTsKICAgICBKU1N0cmluZ1JlZiB0aXRs
ZSgpOwogICAgIEpTU3RyaW5nUmVmIGRlc2NyaXB0aW9uKCk7CisgICAgZG91YmxlIHgoKTsKKyAg
ICBkb3VibGUgeSgpOwogICAgIGRvdWJsZSB3aWR0aCgpOwogICAgIGRvdWJsZSBoZWlnaHQoKTsK
ICAgICBkb3VibGUgaW50VmFsdWUoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCShyZXZp
c2lvbiA0MzI0NikKKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsOCArMTExLDggQEAgc3Rh
dGljIE5TU3RyaW5nKiBkZXNjcmlwdGlvbk9mVmFsdWUoaWQgdgogCiAgICAgLy8gU3RyaXAgcG9p
bnRlciBsb2NhdGlvbnMKICAgICBpZiAoW2Rlc2NyaXB0aW9uIHJhbmdlT2ZTdHJpbmc6QCIweCJd
Lmxlbmd0aCkgewotICAgICAgICBOU1N0cmluZyogcm9sZSA9IFtmb2N1c2VkQWNjZXNzaWJpbGl0
eU9iamVjdCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJBWFJvbGUiXTsKLSAgICAgICAg
TlNTdHJpbmcqIHRpdGxlID0gW2ZvY3VzZWRBY2Nlc3NpYmlsaXR5T2JqZWN0IGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpAIkFYVGl0bGUiXTsKKyAgICAgICAgTlNTdHJpbmcqIHJvbGUgPSBb
Zm9jdXNlZEFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5T
QWNjZXNzaWJpbGl0eVJvbGVBdHRyaWJ1dGVdOworICAgICAgICBOU1N0cmluZyogdGl0bGUgPSBb
Zm9jdXNlZEFjY2Vzc2liaWxpdHlPYmplY3QgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5T
QWNjZXNzaWJpbGl0eVRpdGxlQXR0cmlidXRlXTsKICAgICAgICAgaWYgKFt0aXRsZSBsZW5ndGhd
KQogICAgICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OkAiPCVAOiAn
JUAnPiIsIHJvbGUsIHRpdGxlXTsKICAgICAgICAgcmV0dXJuIFtOU1N0cmluZyBzdHJpbmdXaXRo
Rm9ybWF0OkAiPCVAPiIsIHJvbGVdOwpAQCAtMjExLDYgKzIxMSwxNSBAQCBpbnQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Y2hpbGRyZW5Db3VuCiAgICAgcmV0dXJuIGNoaWxkcmVuLnNpemUoKTsK
IH0KIAorQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbGVt
ZW50QXRQb2ludChpbnQgeCwgaW50IHkpCit7CisgICAgaWQgZWxlbWVudCA9IFttX2VsZW1lbnQg
YWNjZXNzaWJpbGl0eUhpdFRlc3Q6TlNNYWtlUG9pbnQoeCwgeSldOworICAgIGlmICghZWxlbWVu
dCkKKyAgICAgICAgcmV0dXJuIG5pbDsKKyAgICAKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudChlbGVtZW50KTsgCit9CisKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQogewogICAgIFZl
Y3RvcjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBjaGlsZHJlbjsKQEAgLTI5MywzNyArMzAyLDQ5
IEBAIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmEKIAogSlNTdHJpbmdS
ZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSgpCiB7Ci0gICAgTlNTdHJpbmcqIHJvbGUg
PSBkZXNjcmlwdGlvbk9mVmFsdWUoW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6QCJBWFJvbGUiXSwgbV9lbGVtZW50KTsKKyAgICBOU1N0cmluZyogcm9sZSA9IGRlc2NyaXB0
aW9uT2ZWYWx1ZShbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vz
c2liaWxpdHlSb2xlQXR0cmlidXRlXSwgbV9lbGVtZW50KTsKICAgICByZXR1cm4gY29uY2F0ZW5h
dGVBdHRyaWJ1dGVBbmRWYWx1ZShAIkFYUm9sZSIsIHJvbGUpOwogfQogCiBKU1N0cmluZ1JlZiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7Ci0gICAgTlNTdHJpbmcqIHRpdGxlID0g
ZGVzY3JpcHRpb25PZlZhbHVlKFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVl
OkAiQVhUaXRsZSJdLCBtX2VsZW1lbnQpOworICAgIE5TU3RyaW5nKiB0aXRsZSA9IGRlc2NyaXB0
aW9uT2ZWYWx1ZShbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vz
c2liaWxpdHlUaXRsZUF0dHJpYnV0ZV0sIG1fZWxlbWVudCk7CiAgICAgcmV0dXJuIGNvbmNhdGVu
YXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWFRpdGxlIiwgdGl0bGUpOwogfQogCiBKU1N0cmluZ1Jl
ZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCiB7Ci0gICAgaWQgZGVzY3Jp
cHRpb24gPSBkZXNjcmlwdGlvbk9mVmFsdWUoW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmli
dXRlVmFsdWU6QCJBWERlc2NyaXB0aW9uIl0sIG1fZWxlbWVudCk7CisgICAgaWQgZGVzY3JpcHRp
b24gPSBkZXNjcmlwdGlvbk9mVmFsdWUoW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
VmFsdWU6TlNBY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdLCBtX2VsZW1lbnQpOwog
ICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhEZXNjcmlwdGlvbiIs
IGRlc2NyaXB0aW9uKTsKIH0KIAorZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQor
eworICAgIE5TVmFsdWUqIHBvc2l0aW9uVmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlB
dHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlQb3NpdGlvbkF0dHJpYnV0ZV07CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGRvdWJsZT4oW3Bvc2l0aW9uVmFsdWUgcG9pbnRWYWx1ZV0ueCk7ICAg
IAorfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSgpCit7CisgICAgTlNWYWx1
ZSogcG9zaXRpb25WYWx1ZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVl
Ok5TQWNjZXNzaWJpbGl0eVBvc2l0aW9uQXR0cmlidXRlXTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8ZG91YmxlPihbcG9zaXRpb25WYWx1ZSBwb2ludFZhbHVlXS55KTsgICAgCit9CisKIGRvdWJs
ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0aCgpCiB7Ci0gICAgTlNWYWx1ZSogc2l6ZVZh
bHVlID0gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJBWFNpemUiXTsK
KyAgICBOU1ZhbHVlKiBzaXplVmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTaXplQXR0cmlidXRlXTsKICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8ZG91YmxlPihbc2l6ZVZhbHVlIHNpemVWYWx1ZV0ud2lkdGgpOwogfQogCiBkb3VibGUg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVpZ2h0KCkKIHsKLSAgICBOU1ZhbHVlKiBzaXplVmFs
dWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYU2l6ZSJdOwor
ICAgIE5TVmFsdWUqIHNpemVWYWx1ZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVNpemVBdHRyaWJ1dGVdOwogICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxkb3VibGU+KFtzaXplVmFsdWUgc2l6ZVZhbHVlXS5oZWlnaHQpOwogfQogCiBkb3VibGUg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUoKQogewotICAgIGlkIHZhbHVlID0gW21f
ZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJBWFZhbHVlIl07CisgICAgaWQg
dmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2li
aWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgaWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOltOU051
bWJlciBjbGFzc11dKQogICAgICAgICByZXR1cm4gWyhOU051bWJlciopdmFsdWUgZG91YmxlVmFs
dWVdOyAKICAgICByZXR1cm4gMC4wZjsKQEAgLTMzMSw3ICszNTIsNyBAQCBkb3VibGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUoCiAKIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjptaW5WYWx1ZSgpCiB7Ci0gICAgaWQgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpAIkFYTWluVmFsdWUiXTsKKyAgICBpZCB2YWx1ZSA9IFttX2VsZW1l
bnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eU1pblZhbHVlQXR0
cmlidXRlXTsKICAgICBpZiAoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0p
CiAgICAgICAgIHJldHVybiBbKE5TTnVtYmVyKil2YWx1ZSBkb3VibGVWYWx1ZV07IAogICAgIHJl
dHVybiAwLjBmOwpAQCAtMzM5LDcgKzM2MCw3IEBAIGRvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjptaW5WYWx1ZSgKIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVl
KCkKIHsKLSAgICBpZCB2YWx1ZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZh
bHVlOkAiQVhNYXhWYWx1ZSJdOworICAgIGlkIHZhbHVlID0gW21fZWxlbWVudCBhY2Nlc3NpYmls
aXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5TWF4VmFsdWVBdHRyaWJ1dGVdOwogICAg
IGlmIChbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNOdW1iZXIgY2xhc3NdXSkKICAgICAgICAgcmV0
dXJuIFsoTlNOdW1iZXIqKXZhbHVlIGRvdWJsZVZhbHVlXTsgCiAgICAgcmV0dXJuIDAuMDsKQEAg
LTM0Nyw3ICszNjgsNyBAQCBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUo
CiAKIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIo
KQogewotICAgIGlkIHZhbHVlID0gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6QCJBWEluc2VydGlvblBvaW50TGluZU51bWJlciJdOworICAgIGlkIHZhbHVlID0gW21fZWxl
bWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5SW5zZXJ0aW9u
UG9pbnRMaW5lTnVtYmVyQXR0cmlidXRlXTsKICAgICBpZiAoW3ZhbHVlIGlzS2luZE9mQ2xhc3M6
W05TTnVtYmVyIGNsYXNzXV0pCiAgICAgICAgIHJldHVybiBbKE5TTnVtYmVyICopdmFsdWUgaW50
VmFsdWVdOyAKICAgICByZXR1cm4gLTE7CkBAIC0zNTYsMTMgKzM3NywxMyBAQCBpbnQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnN1cHBvcnRzUHJlc3NBY3Rpb24oKQogewogICAgIE5TQXJyYXkqIGFjdGlvbnMgPSBbbV9l
bGVtZW50IGFjY2Vzc2liaWxpdHlBY3Rpb25OYW1lc107Ci0gICAgcmV0dXJuIFthY3Rpb25zIGNv
bnRhaW5zT2JqZWN0OkAiQVhQcmVzcyJdOworICAgIHJldHVybiBbYWN0aW9ucyBjb250YWluc09i
amVjdDpOU0FjY2Vzc2liaWxpdHlQcmVzc0FjdGlvbl07CiB9CiAKIC8vIHBhcmFtZXRlcml6ZWQg
YXR0cmlidXRlcwogaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVGb3JJbmRleChpbnQg
aW5kZXgpCiB7Ci0gICAgaWQgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpAIkFYTGluZUZvckluZGV4IiBmb3JQYXJhbWV0ZXI6W05TTnVtYmVyIG51bWJlcldp
dGhJbnQ6aW5kZXhdXTsKKyAgICBpZCB2YWx1ZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eUxpbmVGb3JJbmRleFBhcmFtZXRlcml6ZWRBdHRy
aWJ1dGUgZm9yUGFyYW1ldGVyOltOU051bWJlciBudW1iZXJXaXRoSW50OmluZGV4XV07CiAgICAg
aWYgKFt2YWx1ZSBpc0tpbmRPZkNsYXNzOltOU051bWJlciBjbGFzc11dKQogICAgICAgICByZXR1
cm4gWyhOU051bWJlciAqKXZhbHVlIGludFZhbHVlXTsgCiAgICAgcmV0dXJuIC0xOwpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNDMyNTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wNS0wNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXph
Y2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEJ1ZyAyNTU3NDogQVhJbWFnZU1hcCBjaGlsZHJlbiBsaW5rcyBkb24ndCByZXNwb25k
IHByb3Blcmx5IHRvIGFjY2Vzc2liaWxpdHlIaXRUZXN0OgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1NzQKKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy9hY2Nlc3NpYmlsaXR5L2RvY3VtZW50LWxpbmtzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAxLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZW1hcC1oaXR0ZXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
aW1hZ2VtYXAtaGl0dGVzdC5odG1sOiBBZGRlZC4KKwogMjAwOS0wNS0wNSAgRGFuIEJlcm5zdGVp
biAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvZG9jdW1lbnQtbGlu
a3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L2RvY3VtZW50LWxpbmtzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDMyNDYp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9kb2N1bWVudC1saW5r
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIxLDYgKzIxLDggQEAgQVhMaW5rZWRV
SUVsZW1lbnRzOiAobnVsbCkKIEFYU2VsZWN0ZWQ6IDAKIEFYQmxvY2tRdW90ZUxldmVsOiAwCiBB
WFRvcExldmVsVUlFbGVtZW50OiA8QVhMaW5rOiAnTGluazEnPgorQVhVUkw6IGh0dHA6Ly93d3cu
YXBwbGUuY29tLworQVhBY2Nlc3NLZXk6IChudWxsKQogCiAtLS0tLS0tLS0tLS0KIEFYUm9sZTog
QVhMaW5rCkBAIC00NCw2ICs0Niw4IEBAIEFYTGlua2VkVUlFbGVtZW50czogKG51bGwpCiBBWFNl
bGVjdGVkOiAwCiBBWEJsb2NrUXVvdGVMZXZlbDogMAogQVhUb3BMZXZlbFVJRWxlbWVudDogPEFY
TGluazogJ0xpbmsyJz4KK0FYVVJMOiBodHRwOi8vd3d3LmFwcGxlLmNvbS8KK0FYQWNjZXNzS2V5
OiAobnVsbCkKIAogLS0tLS0tLS0tLS0tCiBBWFJvbGU6IEFYTGluawpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1hZ2Ut
bWFwMS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQzMjQ2KQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1hZ2UtbWFwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDYgKzQ1LDggQEAgQVhMaW5rZWRVSUVsZW1lbnRzOiAobnVsbCkKIEFYU2VsZWN0
ZWQ6IDAKIEFYQmxvY2tRdW90ZUxldmVsOiAwCiBBWFRvcExldmVsVUlFbGVtZW50OiA8QVhMaW5r
OiAnTGluazEnPgorQVhVUkw6IGh0dHA6Ly93d3cuYXBwbGUuY29tLworQVhBY2Nlc3NLZXk6IChu
dWxsKQogCiAtLS0tLS0tLS0tLS0KIEFYUm9sZTogQVhMaW5rCkBAIC02OCw2ICs3MCw4IEBAIEFY
TGlua2VkVUlFbGVtZW50czogKG51bGwpCiBBWFNlbGVjdGVkOiAwCiBBWEJsb2NrUXVvdGVMZXZl
bDogMAogQVhUb3BMZXZlbFVJRWxlbWVudDogPEFYTGluazogJ0xpbmsyJz4KK0FYVVJMOiBodHRw
Oi8vd3d3LmFwcGxlLmNvbS8KK0FYQWNjZXNzS2V5OiAobnVsbCkKIAogLS0tLS0tLS0tLS0tCiBB
WFJvbGU6IEFYTGluawpAQCAtOTEsNiArOTUsOCBAQCBBWExpbmtlZFVJRWxlbWVudHM6IChudWxs
KQogQVhTZWxlY3RlZDogMAogQVhCbG9ja1F1b3RlTGV2ZWw6IDAKIEFYVG9wTGV2ZWxVSUVsZW1l
bnQ6IDxBWExpbms6ICdMaW5rMyc+CitBWFVSTDogaHR0cDovL3d3dy5hcHBsZS5jb20vCitBWEFj
Y2Vzc0tleTogKG51bGwpCiAKIC0tLS0tLS0tLS0tLQogCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNDMyNDYpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS9pbWFnZS1tYXAyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNiArNDUsOCBAQCBBWExpbmtlZFVJRWxlbWVudHM6IChudWxsKQogQVhTZWxlY3RlZDogMAog
QVhCbG9ja1F1b3RlTGV2ZWw6IDAKIEFYVG9wTGV2ZWxVSUVsZW1lbnQ6IDxBWExpbms+CitBWFVS
TDogaHR0cDovL3d3dy5hcHBsZS5jb20vCitBWEFjY2Vzc0tleTogKG51bGwpCiAKIC0tLS0tLS0t
LS0tLQogQVhSb2xlOiBBWExpbmsKQEAgLTY4LDYgKzcwLDggQEAgQVhMaW5rZWRVSUVsZW1lbnRz
OiAobnVsbCkKIEFYU2VsZWN0ZWQ6IDAKIEFYQmxvY2tRdW90ZUxldmVsOiAwCiBBWFRvcExldmVs
VUlFbGVtZW50OiA8QVhMaW5rPgorQVhVUkw6IGh0dHA6Ly93d3cuYXBwbGUuY29tLworQVhBY2Nl
c3NLZXk6IChudWxsKQogCiAtLS0tLS0tLS0tLS0KIApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1hZ2VtYXAtaGl0dGVzdC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvaW1hZ2VtYXAt
aGl0dGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZW1hcC1oaXR0ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzIEBACisKK1Rlc3QgcGFzc2VkCisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2ltYWdlbWFwLWhpdHRlc3QuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS9pbWFnZW1hcC1o
aXR0ZXN0Lmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNj
ZXNzaWJpbGl0eS9pbWFnZW1hcC1oaXR0ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDAgQEAKKzxodG1sPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cis8L3Njcmlw
dD4KKzxib2R5IGlkPSJib2R5Ij4KKworPGh0bWw+CisgCisgICAgPCEtLSBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IGFuIGltYWdlIG1hcCBjYW4gYmUgaGl0IHRlc3RlZCAtLT4KKyAKKyAgICA8
SU1HIHNyYz0icmVzb3VyY2VzL2Nha2UucG5nIiBpc21hcD0iIiB1c2VtYXA9IiNJSElQX05FVyIg
d2lkdGg9IjE5MCIgaGVpZ2h0PSIyNjAiPgorCisgICAgPE1BUCBuYW1lPSJJSElQX05FVyI+PEFS
RUEgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMjAsMjUsODQsMTEzIiBocmVmPSJyZWN0YW5nbGUuaHRt
bCI+CisgICAgPEFSRUEgc2hhcGU9InBvbHlnb24iIGNvb3Jkcz0iOTAsMjUsMTYyLDI2LDE2Myw5
Niw4OSwyNSw5MCwyNCIgaHJlZj0idHJpYW5nbGUuaHRtbCI+CisgICAgPEFSRUEgc2hhcGU9ImNp
cmNsZSIgY29vcmRzPSIxMzAsMTE0LDI5IiBocmVmPSJjaXJjbGUuaHRtbCI+CisgICAgPEFSRUEg
c2hhcGU9ImRlZmF1bHQiIGhyZWY9InRlc3QuaHRtbCI+CisgICAgPC9NQVA+CisgICAgCisgICAg
PGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKyAgICAgCisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYg
KHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgICAgICAgICAgdmFyIHJlc3Vs
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKKworICAgICAgICAgICAgdmFy
IGJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYm9keSIpOworICAgICAgICAgICAgYm9k
eS5mb2N1cygpOworCisgICAgICAgICAgICB2YXIgaW1hZ2VNYXBMaW5rID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQuZWxlbWVudEF0UG9pbnQoMzAsIDEwMCk7CisgICAg
ICAgICAgICB2YXIgcGF0dGVybiA9ICJBWFJvbGU6IEFYTGluayI7CisgICAgICAgICAgICBpZiAo
aW1hZ2VNYXBMaW5rLmFsbEF0dHJpYnV0ZXMoKS5pbmRleE9mKHBhdHRlcm4pICE9IC0xKSB7Cisg
ICAgICAgICAgICAgICAgcmVzdWx0LmlubmVyVGV4dCArPSAiVGVzdCBwYXNzZWRcbiI7CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICAgcmVzdWx0Lmlu
bmVyVGV4dCArPSAiVGVzdCBmYWlsZWRcbiIgKyBpbWFnZU1hcExpbmsuYWxsQXR0cmlidXRlcygp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>
<flag name="review"
          id="15073"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>