<?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>95233</bug_id>
          
          <creation_ts>2012-08-28 12:38:28 -0700</creation_ts>
          <short_desc>[WK2] Add testRunner.dumpWebNotificationCallbacks() to WTR</short_desc>
          <delta_ts>2012-08-30 15:37:04 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.8</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>95234</dependson>
          <blocked>77969</blocked>
    
    <blocked>95493</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Jon Lee">jonlee</assigned_to>
          <cc>jberlin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>706629</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-28 12:38:28 -0700</bug_when>
    <thetext>With this flag set, test output will include events that mimic what would happen on the platform level, such as a user clicking on a notification, or the platform showing a notification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706630</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-08-28 12:38:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/12190792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709065</commentid>
    <comment_count>2</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-30 14:58:18 -0700</bug_when>
    <thetext>ap did not feel that this additional output added value for tests, and that the javascript events should suffice.

will attach the patch for posterity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709108</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-30 15:36:43 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709109</commentid>
    <comment_count>4</comment_count>
      <attachid>161574</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-08-30 15:36:46 -0700</bug_when>
    <thetext>Created attachment 161574
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161574</attachid>
            <date>2012-08-30 15:36:46 -0700</date>
            <delta_ts>2012-08-30 15:36:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95233-20120830153635.patch</filename>
            <type>text/plain</type>
            <size>22375</size>
            <attacher name="Jon Lee">jonlee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3MDQyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOWE0NDY5ZjZlNjBhMWM1MGQ4MzViOWFlMjQxNzBlNGJm
NzE4N2MxMi4uMDU4NDIxYjM2YWNlYjU3NjhhNDEzYjEzMjJkNTYzMTk1NzkxMmExMSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2
IEBACisyMDEyLTA4LTI2ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KKworICAgICAgICBb
V0syXSBBZGQgdGVzdFJ1bm5lci5kdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkgdG8gV1RS
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIzMwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTIxOTA3OTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qgb3V0cHV0IHdoZW4gdGhlIHRlc3Qg
Y2FsbHMgdGVzdFJ1bm5lci5kdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIu
aWRsOiBBZGQgdGVzdFJ1bm5lci5kdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2Uu
Y3BwOgorICAgICAgICAoV1RSOjp3ZWJOb3RpZmljYXRpb25Ub1N0cmluZyk6IEhlbHBlciBmdW5j
dGlvbiB0aGF0IG91dHB1dHMgbm90aWZpY2F0aW9uIGRhdGEuCisgICAgICAgIChXVFI6OkluamVj
dGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKTogRGVmaW5lZCBpbmplY3RlZCBidW5k
bGUgbm90aWZpY2F0aW9uIGNsaWVudC4KKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdl
OjpkaWRTaG93Tm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGVQYWdl
OjpkaWRDbGlja05vdGlmaWNhdGlvbik6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlUGFn
ZTo6ZGlkQ2xvc2VOb3RpZmljYXRpb24pOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZVBh
Z2U6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJtaXNzaW9uRGVjaXNpb24pOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmg6Cisg
ICAgICAgIChJbmplY3RlZEJ1bmRsZVBhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6
OlRlc3RSdW5uZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpkdW1wV2ViTm90aWZpY2F0
aW9uQ2FsbGJhY2tzKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2hvdWxkRHVtcFdlYk5v
dGlmaWNhdGlvbkNhbGxiYWNrcyk6CisgICAgICAgIChUZXN0UnVubmVyKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENv
bnRyb2xsZXI6OmluaXRpYWxpemUpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGVj
aWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QpOiBBdXRvbWF0aWNhbGx5
IGFjY2VwdCBwZXJtaXNzaW9uIHJlcXVlc3RzLgorICAgICAgICAoV1RSKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChUZXN0Q29udHJvbGxl
cik6CisKIDIwMTItMDgtMjkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAg
IFtNYWNdIEJhc2ljIERSVCBzdXBwb3J0IGZvciB3ZWIgbm90aWZpY2F0aW9ucwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlci5t
bS5vcmlnIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL01vY2tXZWJOb3RpZmljYXRpb25Qcm92
aWRlci5tbS5vcmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzMDZmMDgxY2YxNmNmZjdiNzZjYmE2MmQ2NDI5YzUy
ZDg1MjEyYWUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTW9j
a1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLm1tLm9yaWcKQEAgLTAsMCArMSwxOTIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBv
cnQgImNvbmZpZy5oIgorI2ltcG9ydCAiTW9ja1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmgiCisK
KyNpbXBvcnQgIkR1bXBSZW5kZXJUcmVlLmgiCisjaW1wb3J0ICJUZXN0UnVubmVyLmgiCisjaW1w
b3J0IDxXZWJLaXQvV2ViTm90aWZpY2F0aW9uLmg+CisjaW1wb3J0IDxXZWJLaXQvV2ViU2VjdXJp
dHlPcmlnaW5Qcml2YXRlLmg+CisKK0BpbnRlcmZhY2UgV2ViTm90aWZpY2F0aW9uIChEUlRFeHRy
YXMpCistIChOU1N0cmluZyAqKV9kcnRfZGVzY3JpcHRpb25TdWl0YWJsZUZvclRlc3RSZXN1bHQ7
CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXZWJOb3RpZmljYXRpb24gKERSVEV4dHJhcykKKy0g
KE5TU3RyaW5nICopX2RydF9kZXNjcmlwdGlvblN1aXRhYmxlRm9yVGVzdFJlc3VsdAoreworICAg
IHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAInt0aXRsZTogXCIlQFwiLCBib2R5
OiBcIiVAXCIsIHRhZzogXCIlQFwiLCBpY29uVVJMOiAlQH0iLCBbc2VsZiB0aXRsZV0sIFtzZWxm
IGJvZHldLCBbc2VsZiB0YWddLCBbc2VsZiBpY29uVVJMXV07Cit9CitAZW5kCisKK0BpbXBsZW1l
bnRhdGlvbiBNb2NrV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIKKworKyAoTW9ja1dlYk5vdGlmaWNh
dGlvblByb3ZpZGVyICopc2hhcmVkCit7CisgICAgc3RhdGljIE1vY2tXZWJOb3RpZmljYXRpb25Q
cm92aWRlciAqcHJvdmlkZXIgPSBbW01vY2tXZWJOb3RpZmljYXRpb25Qcm92aWRlciBhbGxvY10g
aW5pdF07CisgICAgcmV0dXJuIHByb3ZpZGVyOworfQorCistIChpZClpbml0Cit7CisgICAgaWYg
KCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisgICAgX3Blcm1p
c3Npb25zLmFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CisgICAg
cmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpcmVnaXN0ZXJXZWJWaWV3OihXZWJWaWV3ICopd2Vi
VmlldworeworICAgIEFTU0VSVCghX3JlZ2lzdGVyZWRXZWJWaWV3cy5jb250YWlucyh3ZWJWaWV3
KSk7CisgICAgX3JlZ2lzdGVyZWRXZWJWaWV3cy5hZGQod2ViVmlldyk7Cit9CisKKy0gKHZvaWQp
dW5yZWdpc3RlcldlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgQVNTRVJUKF9yZWdp
c3RlcmVkV2ViVmlld3MuY29udGFpbnMod2ViVmlldykpOworICAgIF9yZWdpc3RlcmVkV2ViVmll
d3MucmVtb3ZlKHdlYlZpZXcpOworfQorCistICh2b2lkKXNob3dOb3RpZmljYXRpb246KFdlYk5v
dGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbiBmcm9tV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcK
K3sKKyAgICBBU1NFUlQoX3JlZ2lzdGVyZWRXZWJWaWV3cy5jb250YWlucyh3ZWJWaWV3KSk7CisK
KyAgICB1aW50NjRfdCBub3RpZmljYXRpb25JRCA9IFtub3RpZmljYXRpb24gbm90aWZpY2F0aW9u
SURdOworICAgIF9ub3RpZmljYXRpb25zLmFkZChub3RpZmljYXRpb25JRCwgbm90aWZpY2F0aW9u
KTsKKyAgICBfbm90aWZpY2F0aW9uVmlld01hcC5hZGQobm90aWZpY2F0aW9uSUQsIHdlYlZpZXcp
OworCisgICAgW3dlYlZpZXcgX25vdGlmaWNhdGlvbkRpZFNob3c6bm90aWZpY2F0aW9uSURdOwor
fQorCistICh2b2lkKWNhbmNlbE5vdGlmaWNhdGlvbjooV2ViTm90aWZpY2F0aW9uICopbm90aWZp
Y2F0aW9uCit7CisgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQgPSBbbm90aWZpY2F0aW9uIG5v
dGlmaWNhdGlvbklEXTsKKyAgICBBU1NFUlQoX25vdGlmaWNhdGlvbnMuY29udGFpbnMobm90aWZp
Y2F0aW9uSUQpKTsKKworICAgIFtfbm90aWZpY2F0aW9uVmlld01hcC5nZXQobm90aWZpY2F0aW9u
SUQpIF9ub3RpZmljYXRpb25zRGlkQ2xvc2U6W05TQXJyYXkgYXJyYXlXaXRoT2JqZWN0OltOU051
bWJlciBudW1iZXJXaXRoVW5zaWduZWRMb25nTG9uZzpub3RpZmljYXRpb25JRF1dXTsKK30KKwor
LSAodm9pZClub3RpZmljYXRpb25EZXN0cm95ZWQ6KFdlYk5vdGlmaWNhdGlvbiAqKW5vdGlmaWNh
dGlvbgoreworICAgIF9ub3RpZmljYXRpb25zLnJlbW92ZShbbm90aWZpY2F0aW9uIG5vdGlmaWNh
dGlvbklEXSk7CisgICAgX25vdGlmaWNhdGlvblZpZXdNYXAucmVtb3ZlKFtub3RpZmljYXRpb24g
bm90aWZpY2F0aW9uSURdKTsKK30KKworLSAodm9pZCljbGVhck5vdGlmaWNhdGlvbnM6KE5TQXJy
YXkgKilub3RpZmljYXRpb25JRHMKK3sKKyAgICBmb3IgKE5TTnVtYmVyICpub3RpZmljYXRpb25J
RCBpbiBub3RpZmljYXRpb25JRHMpIHsKKyAgICAgICAgdWludDY0X3QgaWQgPSBbbm90aWZpY2F0
aW9uSUQgdW5zaWduZWRMb25nTG9uZ1ZhbHVlXTsKKyAgICAgICAgUmV0YWluUHRyPFdlYk5vdGlm
aWNhdGlvbj4gbm90aWZpY2F0aW9uID0gX25vdGlmaWNhdGlvbnMudGFrZShpZCk7CisgICAgICAg
IF9ub3RpZmljYXRpb25WaWV3TWFwLnJlbW92ZShpZCk7CisgICAgfQorfQorCistICh2b2lkKXdl
YlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGRpZFNob3dOb3RpZmljYXRpb246KHVpbnQ2NF90KW5v
dGlmaWNhdGlvbklECit7Cis8PDw8PDw8IEhFQUQKKyAgICBbX25vdGlmaWNhdGlvbnMuZ2V0KG5v
dGlmaWNhdGlvbklEKS5nZXQoKSBkaXNwYXRjaFNob3dFdmVudF07Cis9PT09PT09CisgICAgTm90
aWZpY2F0aW9uSURNYXA6Oml0ZXJhdG9yIGl0ID0gX25vdGlmaWNhdGlvbnMuZmluZChub3RpZmlj
YXRpb25JRCk7CisgICAgQVNTRVJUKGl0ICE9IF9ub3RpZmljYXRpb25zLmVuZCgpKTsKKworICAg
IFdlYk5vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uID0gaXQtPnNlY29uZC5nZXQoKTsKKyAgICBp
ZiAoIWRvbmUgJiYgZ1Rlc3RSdW5uZXItPmR1bXBXZWJOb3RpZmljYXRpb25DYWxsYmFja3MoKSkK
KyAgICAgICAgcHJpbnRmKCJTSE9XRUQgV0VCIE5PVElGSUNBVElPTiAlc1xuIiwgW1tub3RpZmlj
YXRpb24gX2RydF9kZXNjcmlwdGlvblN1aXRhYmxlRm9yVGVzdFJlc3VsdF0gVVRGOFN0cmluZ10p
OworCisgICAgW25vdGlmaWNhdGlvbiBkaXNwYXRjaFNob3dFdmVudF07Cis+Pj4+Pj4+IDk1MDNj
YjguLi4gV29yayB0b3dhcmRzIFdlYktpdFRlc3RSdW5uZXIgc2hvdWxkIHN1cHBvcnQgbm90aWZp
Y2F0aW9ucworfQorCistICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3IGRpZENsaWNr
Tm90aWZpY2F0aW9uOih1aW50NjRfdClub3RpZmljYXRpb25JRAoreworPDw8PDw8PCBIRUFECisg
ICAgW19ub3RpZmljYXRpb25zLmdldChub3RpZmljYXRpb25JRCkuZ2V0KCkgZGlzcGF0Y2hDbGlj
a0V2ZW50XTsKKz09PT09PT0KKyAgICBOb3RpZmljYXRpb25JRE1hcDo6aXRlcmF0b3IgaXQgPSBf
bm90aWZpY2F0aW9ucy5maW5kKG5vdGlmaWNhdGlvbklEKTsKKyAgICBBU1NFUlQoaXQgIT0gX25v
dGlmaWNhdGlvbnMuZW5kKCkpOworCisgICAgV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRpb24g
PSBpdC0+c2Vjb25kLmdldCgpOworICAgIGlmICghZG9uZSAmJiBnVGVzdFJ1bm5lci0+ZHVtcFdl
Yk5vdGlmaWNhdGlvbkNhbGxiYWNrcygpKQorICAgICAgICBwcmludGYoIkNMSUNLRUQgV0VCIE5P
VElGSUNBVElPTiAlc1xuIiwgW1tub3RpZmljYXRpb24gX2RydF9kZXNjcmlwdGlvblN1aXRhYmxl
Rm9yVGVzdFJlc3VsdF0gVVRGOFN0cmluZ10pOworCisgICAgW25vdGlmaWNhdGlvbiBkaXNwYXRj
aENsaWNrRXZlbnRdOworPj4+Pj4+PiA5NTAzY2I4Li4uIFdvcmsgdG93YXJkcyBXZWJLaXRUZXN0
UnVubmVyIHNob3VsZCBzdXBwb3J0IG5vdGlmaWNhdGlvbnMKK30KKworLSAodm9pZCl3ZWJWaWV3
OihXZWJWaWV3ICopd2ViVmlldyBkaWRDbG9zZU5vdGlmaWNhdGlvbnM6KE5TQXJyYXkgKilub3Rp
ZmljYXRpb25JRHMKK3sKKyAgICBmb3IgKE5TTnVtYmVyICpub3RpZmljYXRpb25JRCBpbiBub3Rp
ZmljYXRpb25JRHMpIHsKKyAgICAgICAgdWludDY0X3QgaWQgPSBbbm90aWZpY2F0aW9uSUQgdW5z
aWduZWRMb25nTG9uZ1ZhbHVlXTsKKyAgICAgICAgTm90aWZpY2F0aW9uSURNYXA6Oml0ZXJhdG9y
IGl0ID0gX25vdGlmaWNhdGlvbnMuZmluZChpZCk7CisgICAgICAgIEFTU0VSVChpdCAhPSBfbm90
aWZpY2F0aW9ucy5lbmQoKSk7CisKKyAgICAgICAgV2ViTm90aWZpY2F0aW9uICpub3RpZmljYXRp
b24gPSBpdC0+c2Vjb25kLmdldCgpOworICAgICAgICBpZiAoIWRvbmUgJiYgZ1Rlc3RSdW5uZXIt
PmR1bXBXZWJOb3RpZmljYXRpb25DYWxsYmFja3MoKSkKKyAgICAgICAgICAgIHByaW50ZigiQ0xP
U0VEIFdFQiBOT1RJRklDQVRJT04gJXNcbiIsIFtbbm90aWZpY2F0aW9uIF9kcnRfZGVzY3JpcHRp
b25TdWl0YWJsZUZvclRlc3RSZXN1bHRdIFVURjhTdHJpbmddKTsKKworICAgICAgICBbbm90aWZp
Y2F0aW9uIGRpc3BhdGNoQ2xvc2VFdmVudF07CisgICAgICAgIF9ub3RpZmljYXRpb25zLnJlbW92
ZShpdCk7CisgICAgICAgIF9ub3RpZmljYXRpb25WaWV3TWFwLnJlbW92ZShpZCk7CisgICAgfQor
fQorCistICh2b2lkKXNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2s6KHVpbnQ2NF90KW5vdGlm
aWNhdGlvbklECit7CisgICAgQVNTRVJUKF9ub3RpZmljYXRpb25zLmNvbnRhaW5zKG5vdGlmaWNh
dGlvbklEKSk7CisgICAgW19ub3RpZmljYXRpb25WaWV3TWFwLmdldChub3RpZmljYXRpb25JRCkg
X25vdGlmaWNhdGlvbkRpZENsaWNrOm5vdGlmaWNhdGlvbklEXTsKK30KKworLSAoV2ViTm90aWZp
Y2F0aW9uUGVybWlzc2lvbilwb2xpY3lGb3JPcmlnaW46KFdlYlNlY3VyaXR5T3JpZ2luICopb3Jp
Z2luCit7CisgICAgTlNOdW1iZXIgKnBlcm1pc3Npb24gPSBbX3Blcm1pc3Npb25zLmdldCgpIG9i
amVjdEZvcktleTpbb3JpZ2luIHN0cmluZ1ZhbHVlXV07CisgICAgaWYgKCFwZXJtaXNzaW9uKQor
ICAgICAgICByZXR1cm4gV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbk5vdEFsbG93ZWQ7CisgICAg
aWYgKFtwZXJtaXNzaW9uIGJvb2xWYWx1ZV0pCisgICAgICAgIHJldHVybiBXZWJOb3RpZmljYXRp
b25QZXJtaXNzaW9uQWxsb3dlZDsKKyAgICByZXR1cm4gV2ViTm90aWZpY2F0aW9uUGVybWlzc2lv
bkRlbmllZDsKK30KKworLSAodm9pZClzZXRXZWJOb3RpZmljYXRpb25PcmlnaW46KE5TU3RyaW5n
KilvcmlnaW4gcGVybWlzc2lvbjooQk9PTClhbGxvd2VkCit7CisgICAgW19wZXJtaXNzaW9ucy5n
ZXQoKSBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOmFsbG93ZWRdIGZvcktleTpv
cmlnaW5dOworfQorCistICh2b2lkKXJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25z
Cit7CisgICAgW19wZXJtaXNzaW9ucy5nZXQoKSByZW1vdmVBbGxPYmplY3RzXTsKK30KKworLSAo
dm9pZClyZXNldAoreworICAgIF9ub3RpZmljYXRpb25zLmNsZWFyKCk7CisgICAgX25vdGlmaWNh
dGlvblZpZXdNYXAuY2xlYXIoKTsKKyAgICBbc2VsZiByZW1vdmVBbGxXZWJOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uc107Cit9CisKK0BlbmQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCmluZGV4IDA3
YTM1YTJmZWNjZmFhNGI2Yzc3ZTRjMTAxZjhiOGRiZjJjYzcwODguLjgwNDk4YmQ5ZWFlMjczMzdh
M2ZkODM4MGU0ZTZmZjU3ZGFjODA5YTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbApAQCAt
NDYsNiArNDYsNyBAQCBtb2R1bGUgV1RSIHsKICAgICAgICAgdm9pZCBkdW1wUHJvZ3Jlc3NGaW5p
c2hlZENhbGxiYWNrKCk7CiAgICAgICAgIHZvaWQgZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygp
OwogICAgICAgICB2b2lkIGR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7CisgICAgICAg
IHZvaWQgZHVtcFdlYk5vdGlmaWNhdGlvbkNhbGxiYWNrcygpOwogCiAgICAgICAgIC8vIFNwZWNp
YWwgb3B0aW9ucy4KICAgICAgICAgdm9pZCBrZWVwV2ViSGlzdG9yeSgpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2Uu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZVBhZ2UuY3BwCmluZGV4IDdkMmNiOTgyMzMzOTQ0OGQ0YzdjZjNiODJkMzRmMDg4ZTQzZjdhM2Yu
LmZjNzYxZTYxY2Q0MjE0YWU5YzZlY2RmZDg0ZTEzYmE5ZTgwZmYwNTUgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZS5jcHAKQEAgLTQwLDcgKzQwLDkgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQnVuZGxl
SGl0VGVzdFJlc3VsdC5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tCdW5kbGVOYXZpZ2F0aW9uQWN0
aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmg+Cisj
aW5jbHVkZSA8V2ViS2l0Mi9XS0J1bmRsZU5vdGlmaWNhdGlvblByaXZhdGUuaD4KICNpbmNsdWRl
IDxXZWJLaXQyL1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLU2Vj
dXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLVVJMUmVxdWVzdC5oPgogI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgpAQCAtMjY2
LDYgKzI2OCwyNSBAQCBzdGF0aWMgaW5saW5lIFdURjo6U3RyaW5nIHVybFN1aXRhYmxlRm9yVGVz
dFJlc3VsdChXS1VSTFJlZiBmaWxlVXJsKQogICAgIHJldHVybiAoaW5kZXhCYXNlTmFtZSA9PSBu
b3RGb3VuZCkgPyB1cmxTdHJpbmcgOiB1cmxTdHJpbmcuc3Vic3RyaW5nKGluZGV4QmFzZU5hbWUg
KyAxKTsKIH0KIAorc3RhdGljIFdURjo6U3RyaW5nIHdlYk5vdGlmaWNhdGlvblRvU3RyaW5nKFdL
QnVuZGxlTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKK3sKKyAgICBpZiAoIW5vdGlmaWNh
dGlvbikKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgV1RGOjpTdHJpbmdCdWlsZGVy
IHN0cmluZ0J1aWxkZXI7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoInt0aXRsZTogXCIiKTsK
KyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0b1dURlN0cmluZyhhZG9wdFdLKFdLQnVuZGxlTm90
aWZpY2F0aW9uQ29weVRpdGxlKG5vdGlmaWNhdGlvbikpKSk7CisgICAgc3RyaW5nQnVpbGRlci5h
cHBlbmQoIlwiLCBib2R5OiBcIiIpOworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKHRvV1RGU3Ry
aW5nKGFkb3B0V0soV0tCdW5kbGVOb3RpZmljYXRpb25Db3B5Qm9keShub3RpZmljYXRpb24pKSkp
OworICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJcIiwgdGFnOiBcIiIpOworICAgIHN0cmluZ0J1
aWxkZXIuYXBwZW5kKHRvV1RGU3RyaW5nKGFkb3B0V0soV0tCdW5kbGVOb3RpZmljYXRpb25Db3B5
VGFnKG5vdGlmaWNhdGlvbikpKSk7CisgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIlwiLCBpY29u
VVJMOiAiKTsKKyAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCh0b1dURlN0cmluZyhhZG9wdFdLKFdL
QnVuZGxlTm90aWZpY2F0aW9uQ29weUljb25VUkwobm90aWZpY2F0aW9uKSkpKTsKKyAgICBzdHJp
bmdCdWlsZGVyLmFwcGVuZCgifSIpOworCisgICAgcmV0dXJuIHN0cmluZ0J1aWxkZXIudG9TdHJp
bmcoKTsKK30KKwogc3RhdGljIEhhc2hNYXA8dWludDY0X3QsIFN0cmluZz4gYXNzaWduZWRVcmxz
Q2FjaGU7CiAKIEluamVjdGVkQnVuZGxlUGFnZTo6SW5qZWN0ZWRCdW5kbGVQYWdlKFdLQnVuZGxl
UGFnZVJlZiBwYWdlKQpAQCAtMzgyLDYgKzQwMywxNiBAQCBJbmplY3RlZEJ1bmRsZVBhZ2U6Oklu
amVjdGVkQnVuZGxlUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSkKICAgICB9OwogICAgIFdLQnVu
ZGxlUGFnZVNldEZ1bGxTY3JlZW5DbGllbnQobV9wYWdlLCAmZnVsbFNjcmVlbkNsaWVudCk7CiAj
ZW5kaWYKKworICAgIFdLQnVuZGxlUGFnZU5vdGlmaWNhdGlvbkNsaWVudCBub3RpZmljYXRpb25D
bGllbnQgPSB7CisgICAgICAgIGtXS0J1bmRsZVBhZ2VOb3RpZmljYXRpb25DbGllbnRDdXJyZW50
VmVyc2lvbiwKKyAgICAgICAgdGhpcywKKyAgICAgICAgZGlkU2hvd05vdGlmaWNhdGlvbiwKKyAg
ICAgICAgZGlkQ2xpY2tOb3RpZmljYXRpb24sCisgICAgICAgIGRpZENsb3NlTm90aWZpY2F0aW9u
LAorICAgICAgICBkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uLAorICAg
IH07CisgICAgV0tCdW5kbGVQYWdlU2V0Tm90aWZpY2F0aW9uQ2xpZW50KG1fcGFnZSwgJm5vdGlm
aWNhdGlvbkNsaWVudCk7CiB9CiAKIEluamVjdGVkQnVuZGxlUGFnZTo6fkluamVjdGVkQnVuZGxl
UGFnZSgpCkBAIC0xNjYxLDYgKzE2OTIsNjIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmNs
b3NlRnVsbFNjcmVlbihXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIH0KICNlbmRpZgogCit2b2lk
IEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkU2hvd05vdGlmaWNhdGlvbihXS0J1bmRsZVBhZ2VSZWYg
cGFnZSwgV0tCdW5kbGVOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQoreworICAgIHN0YXRpY19jYXN0PEluamVjdGVkQnVuZGxlUGFnZSo+KGNvbnN0
X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGlkU2hvd05vdGlmaWNhdGlvbihwYWdlLCBub3Rp
ZmljYXRpb24pOworfQorCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkQ2xpY2tOb3RpZmlj
YXRpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlTm90aWZpY2F0aW9uUmVmIG5vdGlm
aWNhdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3sKKyAgICBzdGF0aWNfY2FzdDxJbmpl
Y3RlZEJ1bmRsZVBhZ2UqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSktPmRpZENsaWNr
Tm90aWZpY2F0aW9uKHBhZ2UsIG5vdGlmaWNhdGlvbik7Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5k
bGVQYWdlOjpkaWRDbG9zZU5vdGlmaWNhdGlvbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5k
bGVOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQor
eworICAgIHN0YXRpY19jYXN0PEluamVjdGVkQnVuZGxlUGFnZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+
KGNsaWVudEluZm8pKS0+ZGlkQ2xvc2VOb3RpZmljYXRpb24ocGFnZSwgbm90aWZpY2F0aW9uKTsK
K30KKwordm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZFJlY2VpdmVOb3RpZmljYXRpb25QZXJt
aXNzaW9uRGVjaXNpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmlnaW5SZWYg
b3JpZ2luLCBib29sIGFsbG93ZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCit7CisgICAgc3Rh
dGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGVQYWdlKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5m
bykpLT5kaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKHBhZ2UsIG9yaWdp
biwgYWxsb3dlZCk7Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpkaWRTaG93Tm90aWZp
Y2F0aW9uKFdLQnVuZGxlUGFnZVJlZiwgV0tCdW5kbGVOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0
aW9uKQoreworICAgIGlmICghSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnRlc3RSdW5uZXIoKS0+
c2hvdWxkRHVtcFdlYk5vdGlmaWNhdGlvbkNhbGxiYWNrcygpKQorICAgICAgICByZXR1cm47Cisg
ICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnN0cmluZ0J1aWxkZXIoKS0+YXBwZW5kKCJTSE9X
RUQgV0VCIE5PVElGSUNBVElPTiAiKTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3Ry
aW5nQnVpbGRlcigpLT5hcHBlbmQod2ViTm90aWZpY2F0aW9uVG9TdHJpbmcobm90aWZpY2F0aW9u
KSk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnN0cmluZ0J1aWxkZXIoKS0+YXBwZW5k
KCJcbiIpOworfQorCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkQ2xpY2tOb3RpZmljYXRp
b24oV0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24p
Cit7CisgICAgaWYgKCFJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkudGVzdFJ1bm5lcigpLT5zaG91
bGREdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkpCisgICAgICAgIHJldHVybjsKKyAgICBJ
bmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5nQnVpbGRlcigpLT5hcHBlbmQoIkNMSUNLRUQg
V0VCIE5PVElGSUNBVElPTiAiKTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5n
QnVpbGRlcigpLT5hcHBlbmQod2ViTm90aWZpY2F0aW9uVG9TdHJpbmcobm90aWZpY2F0aW9uKSk7
CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnN0cmluZ0J1aWxkZXIoKS0+YXBwZW5kKCJc
biIpOworfQorCit2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkQ2xvc2VOb3RpZmljYXRpb24o
V0tCdW5kbGVQYWdlUmVmLCBXS0J1bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24pCit7
CisgICAgaWYgKCFJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkudGVzdFJ1bm5lcigpLT5zaG91bGRE
dW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkpCisgICAgICAgIHJldHVybjsKKyAgICBJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5nQnVpbGRlcigpLT5hcHBlbmQoIkNMT1NFRCBXRUIg
Tk9USUZJQ0FUSU9OICIpOworICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zdHJpbmdCdWls
ZGVyKCktPmFwcGVuZCh3ZWJOb3RpZmljYXRpb25Ub1N0cmluZyhub3RpZmljYXRpb24pKTsKKyAg
ICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5nQnVpbGRlcigpLT5hcHBlbmQoIlxuIik7
Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVQYWdlOjpkaWRSZWNlaXZlTm90aWZpY2F0aW9uUGVy
bWlzc2lvbkRlY2lzaW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1NlY3VyaXR5T3JpZ2luUmVm
IG9yaWdpbiwgYm9vbCBhbGxvd2VkKQoreworICAgIGlmICghSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLnRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFdlYk5vdGlmaWNhdGlvbkNhbGxiYWNrcygpKQor
ICAgICAgICByZXR1cm47CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnN0cmluZ0J1aWxk
ZXIoKS0+YXBwZW5kKCJSRVFVRVNURUQgV0VCIE5PVElGSUNBVElPTiBQRVJNSVNTSU9OIEZPUiAi
KTsKKyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc3RyaW5nQnVpbGRlcigpLT5hcHBlbmQo
dG9XVEZTdHJpbmcoYWRvcHRXSyhXS1NlY3VyaXR5T3JpZ2luQ29weVRvU3RyaW5nKG9yaWdpbikp
KSk7CisgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnN0cmluZ0J1aWxkZXIoKS0+YXBwZW5k
KCJcbiIpOworfQorCiBzdGF0aWMgYm9vbCBjb21wYXJlQnlUYXJnZXROYW1lKFdLQnVuZGxlQmFj
a0ZvcndhcmRMaXN0SXRlbVJlZiBpdGVtMSwgV0tCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtUmVm
IGl0ZW0yKQogewogICAgIHJldHVybiB0b1NURChhZG9wdFdLKFdLQnVuZGxlQmFja0ZvcndhcmRM
aXN0SXRlbUNvcHlUYXJnZXQoaXRlbTEpKSkgPCB0b1NURChhZG9wdFdLKFdLQnVuZGxlQmFja0Zv
cndhcmRMaXN0SXRlbUNvcHlUYXJnZXQoaXRlbTIpKSk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5oIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuaAppbmRl
eCAwNzQzMTRlNjRjNDc4MDQyNjQ5M2Q0YmE0MjhkMmZhZWJkNWIwMzM3Li5hNThlYzcwMTY2NjNi
NjUyMTQ2YTY3YzczNTg2OTRiMzdhNTdhNzVhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5oCisrKyBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmgKQEAgLTE2
Myw2ICsxNjMsMTYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZENoYW5nZShXS1N0cmluZ1JlZiBu
b3RpZmljYXRpb25OYW1lKTsKICAgICB2b2lkIGRpZENoYW5nZVNlbGVjdGlvbihXS1N0cmluZ1Jl
ZiBub3RpZmljYXRpb25OYW1lKTsKIAorICAgIC8vIE5vdGlmaWNhdGlvbiBjbGllbnQKKyAgICBz
dGF0aWMgdm9pZCBkaWRTaG93Tm90aWZpY2F0aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1
bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
OworICAgIHN0YXRpYyB2b2lkIGRpZENsaWNrTm90aWZpY2F0aW9uKFdLQnVuZGxlUGFnZVJlZiBw
YWdlLCBXS0J1bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24sIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRpZENsb3NlTm90aWZpY2F0aW9uKFdLQnVuZGxl
UGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpb24sIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pOworICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVOb3RpZmljYXRp
b25QZXJtaXNzaW9uRGVjaXNpb24oV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU2VjdXJpdHlPcmln
aW5SZWYgb3JpZ2luLCBib29sIGFsbG93ZWQsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOworICAg
IHZvaWQgZGlkU2hvd05vdGlmaWNhdGlvbihXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tCdW5kbGVO
b3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW9uKTsKKyAgICB2b2lkIGRpZENsaWNrTm90aWZpY2F0
aW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZU5vdGlmaWNhdGlvblJlZiBub3RpZmlj
YXRpb24pOworICAgIHZvaWQgZGlkQ2xvc2VOb3RpZmljYXRpb24oV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLQnVuZGxlTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7CisgICAgdm9pZCBkaWRS
ZWNlaXZlTm90aWZpY2F0aW9uUGVybWlzc2lvbkRlY2lzaW9uKFdLQnVuZGxlUGFnZVJlZiBwYWdl
LCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9yaWdpbiwgYm9vbCBhbGxvd2VkKTsKKwogICAgIHZvaWQg
ZHVtcEFsbEZyYW1lc1RleHQoKTsKICAgICB2b2lkIGR1bXBBbGxGcmFtZVNjcm9sbFBvc2l0aW9u
cygpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9U
ZXN0UnVubmVyLmNwcAppbmRleCAxYWRjZGFjYmFhYmZjMjgwZWJiOWYxZTI0MTVlY2U5NWZmNTMz
ZDY2Li4wYWM0YzFhMmFlMjNiZWNhYmI2ODViNTQ0MjMyYjJmNGNkZjM5ZDA5IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
QEAgLTc5LDYgKzc5LDcgQEAgVGVzdFJ1bm5lcjo6VGVzdFJ1bm5lcigpCiAgICAgLCBtX2R1bXBQ
cm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2soZmFsc2UpCiAgICAgLCBtX2R1bXBSZXNvdXJjZUxvYWRD
YWxsYmFja3MoZmFsc2UpCiAgICAgLCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKGZh
bHNlKQorICAgICwgbV9kdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKGZhbHNlKQogICAgICwg
bV93YWl0VG9EdW1wKGZhbHNlKQogICAgICwgbV90ZXN0UmVwYWludChmYWxzZSkKICAgICAsIG1f
dGVzdFJlcGFpbnRTd2VlcEhvcml6b250YWxseShmYWxzZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggOGM0MDQyZWVkNzdj
MmNiOGY3YzQyYjc0ZjFiMTcyNTY4YTExNmE3MC4uNGMxMjg0MjdhOTM1NThlY2NmZDRkMTNmYTFl
YzhjM2Q3Zjg2MmZiMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTgxLDYgKzgxLDcgQEAgcHVibGljOgogICAgIHZvaWQg
ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjaygpIHsgc2V0U2hvdWxkRHVtcFByb2dyZXNzRmlu
aXNoZWRDYWxsYmFjayh0cnVlKTsgfQogICAgIHZvaWQgZHVtcFJlc291cmNlTG9hZENhbGxiYWNr
cygpIHsgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVt
cFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSB7IG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMgPSB0cnVlOyB9CisgICAgdm9pZCBkdW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkg
eyBtX2R1bXBXZWJOb3RpZmljYXRpb25DYWxsYmFja3MgPSB0cnVlOyB9CiAKICAgICB2b2lkIHNl
dFNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBGcmFtZUxv
YWRDYWxsYmFja3MgPSB2YWx1ZTsgfQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcFByb2dyZXNzRmlu
aXNoZWRDYWxsYmFjayhib29sIHZhbHVlKSB7IG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFj
ayA9IHZhbHVlOyB9CkBAIC0xNjYsNiArMTY3LDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxk
RHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjaygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcFByb2dy
ZXNzRmluaXNoZWRDYWxsYmFjazsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENh
bGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcFJlc291cmNlTG9hZENhbGxiYWNrczsgfQog
ICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSBjb25zdCB7IHJl
dHVybiBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOyB9CisgICAgYm9vbCBzaG91bGRE
dW1wV2ViTm90aWZpY2F0aW9uQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wV2ViTm90
aWZpY2F0aW9uQ2FsbGJhY2tzOyB9CiAKICAgICBib29sIGlzUG9saWN5RGVsZWdhdGVFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQ7IH0KICAgICBib29sIGlz
UG9saWN5RGVsZWdhdGVQZXJtaXNzaXZlKCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lEZWxlZ2F0
ZVBlcm1pc3NpdmU7IH0KQEAgLTI1OSw2ICsyNjEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9k
dW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrOwogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzOwogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlczsKKyAg
ICBib29sIG1fZHVtcFdlYk5vdGlmaWNhdGlvbkNhbGxiYWNrczsKICAgICBib29sIG1fd2FpdFRv
RHVtcDsgLy8gVHJ1ZSBpZiB3YWl0VW50aWxEb25lKCkgaGFzIGJlZW4gY2FsbGVkLCBidXQgbm90
aWZ5RG9uZSgpIGhhcyBub3QgeWV0IGJlZW4gY2FsbGVkLgogICAgIGJvb2wgbV90ZXN0UmVwYWlu
dDsKICAgICBib29sIG1fdGVzdFJlcGFpbnRTd2VlcEhvcml6b250YWxseTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYzlhZWMzZmY2NjRlNjhmYWE2ZDJj
MjA4OTNkNTRmNWEyZjM5YmNkMS4uOTEyOGIwZjRhNWVjMDg2OTM5OWY1Mzg0YjBhODQ2NjMzNDhk
ODc2MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTMy
LDYgKzMyLDcgQEAKICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dFByaXZhdGUuaD4KICNpbmNs
dWRlIDxXZWJLaXQyL1dLTm90aWZpY2F0aW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS05vdGlm
aWNhdGlvbk1hbmFnZXIuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLTm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLTnVtYmVyLmg+CiAjaW5jbHVkZSA8
V2ViS2l0Mi9XS1BhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tQYWdlUHJpdmF0ZS5o
PgpAQCAtMzg4LDcgKzM4OSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUoaW50
IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAgICAgMCwgLy8gc2hvdWxkSW50ZXJydXB0
SmF2YVNjcmlwdAogICAgICAgICBjcmVhdGVPdGhlclBhZ2UsCiAgICAgICAgIDAsIC8vIG1vdXNl
RGlkTW92ZU92ZXJFbGVtZW50Ci0gICAgICAgIDAsIC8vIGRlY2lkZVBvbGljeUZvck5vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0CisgICAgICAgIGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0LCAvLyBkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdAogICAgICAgICAwLCAvLyB1bmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQK
ICAgICB9OwogICAgIFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCks
ICZwYWdlVUlDbGllbnQpOwpAQCAtOTM1LDQgKzkzNiwxNCBAQCB2b2lkIFRlc3RDb250cm9sbGVy
OjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQog
ICAgIG1fd2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGlj
ayhub3RpZmljYXRpb25JRCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGlj
eUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiBwYWdlLCBXS1NlY3Vy
aXR5T3JpZ2luUmVmIG9yaWdpbiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiBy
ZXF1ZXN0LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHN0YXRpY19jYXN0PFRlc3RD
b250cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5kZWNpZGVQb2xpY3lG
b3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChwYWdlLCBvcmlnaW4sIHJlcXVlc3QpOwor
fQorCit2b2lkIFRlc3RDb250cm9sbGVyOjpkZWNpZGVQb2xpY3lGb3JOb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIFdLTm90aWZpY2F0
aW9uUGVybWlzc2lvblJlcXVlc3RSZWYgcmVxdWVzdCkKK3sKKyAgICBXS05vdGlmaWNhdGlvblBl
cm1pc3Npb25SZXF1ZXN0QWxsb3cocmVxdWVzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdUUgpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDMzMDlhZjJhNDRmMTAz
MjdlMTE5N2FhNDQyZjVjOTgwOTc5ZTcxMTYuLjBkMzM3MTdiNzFjNmE5MTg2NzE1Y2NlZGY2MWIy
MGRkNjdiZjMzY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAg
LTk3LDYgKzk3LDkgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2go
V0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRD
cmFzaCgpOwogCisgICAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS05vdGlmaWNh
dGlvblBlcm1pc3Npb25SZXF1ZXN0UmVmLCBjb25zdCB2b2lkKik7CisgICAgdm9pZCBkZWNpZGVQ
b2xpY3lGb3JOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJp
dHlPcmlnaW5SZWYsIFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYpOworCiAgICAg
c3RhdGljIFdLUGFnZVJlZiBjcmVhdGVPdGhlclBhZ2UoV0tQYWdlUmVmIG9sZFBhZ2UsIFdLVVJM
UmVxdWVzdFJlZiwgV0tEaWN0aW9uYXJ5UmVmLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24sIGNvbnN0IHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIHJ1bk1vZGFsKFdLUGFn
ZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>