Filter: ExploitFilter

Filter type for Exploit.

All fields in this type are and-combined; see the or field for or-combination.


Input Fields

NameTypeDescription
ANDExploitFilter

A field that checks if all filters in the list apply

If the list is empty, this filter applies to all objects.

ORExploitFilter

A field that checks if any of the filters in the list apply.

If the list is empty, this filter applies to no objects.

Note that only the items in the list or-combined; this complete OR field is and-combined with outer fields in the parent filter type.

authorString

Checks if author equals a specified string, case-sensitively.

If an index exists on author, it can be used.

See also like for a case-insensitive filter.

The author of the exploit

author_containsString

Checks if author contains a specified string, case-sensitively.

The author of the exploit

author_ends_withString

Checks if author ends with a specified string, case-sensitively.

The author of the exploit

author_gtString

Checks if author is greater than a specified value.

The author of the exploit

author_gteString

Checks if author is greater or equal a specified value.

The author of the exploit

author_inString

Checks if author is equal to one of the specified values.

The author of the exploit

author_likeString

Matches author against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on author, it can be used for the literal prefix (the part until the first placeholder).

The author of the exploit

author_ltString

Checks if author is less than a specified value.

The author of the exploit

author_lteString

Checks if author is less or equal a specified value.

The author of the exploit

author_notString

Checks if author does not equal a specified string, case-sensitively.

The author of the exploit

author_not_containsString

Checks if author does not contain a specified string, case-sensitively.

The author of the exploit

author_not_ends_withString

Checks if author does not end with a specified string, case-sensitively.

The author of the exploit

author_not_inString

Checks if author is not equal to one of the specified values.

The author of the exploit

author_not_likeString

Checks if author does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The author of the exploit

author_not_starts_withString

Checks if author does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The author of the exploit

author_starts_withString

Checks if author starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The author of the exploit

availabilityString

Checks if availability equals a specified string, case-sensitively.

If an index exists on availability, it can be used.

See also like for a case-insensitive filter.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_containsString

Checks if availability contains a specified string, case-sensitively.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_ends_withString

Checks if availability ends with a specified string, case-sensitively.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_gtString

Checks if availability is greater than a specified value.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_gteString

Checks if availability is greater or equal a specified value.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_inString

Checks if availability is equal to one of the specified values.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_likeString

Matches availability against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on availability, it can be used for the literal prefix (the part until the first placeholder).

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_ltString

Checks if availability is less than a specified value.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_lteString

Checks if availability is less or equal a specified value.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_notString

Checks if availability does not equal a specified string, case-sensitively.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_not_containsString

Checks if availability does not contain a specified string, case-sensitively.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_not_ends_withString

Checks if availability does not end with a specified string, case-sensitively.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_not_inString

Checks if availability is not equal to one of the specified values.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_not_likeString

Checks if availability does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_not_starts_withString

Checks if availability does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

availability_starts_withString

Checks if availability starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The availability of the exploit. Values can be "Public", "Private", "Unknown"

createdAtDateTime

Checks if createdAt equals a specified value.

If an index exists on createdAt, it can be used.

The instant this object has been created

createdAt_gtDateTime

Checks if createdAt is greater than a specified value.

The instant this object has been created

createdAt_gteDateTime

Checks if createdAt is greater or equal a specified value.

The instant this object has been created

createdAt_inDateTime

Checks if createdAt is equal to one of the specified values.

The instant this object has been created

createdAt_ltDateTime

Checks if createdAt is less than a specified value.

The instant this object has been created

createdAt_lteDateTime

Checks if createdAt is less or equal a specified value.

The instant this object has been created

createdAt_notDateTime

Checks if createdAt does not equal a specified value

The instant this object has been created

createdAt_not_inDateTime

Checks if createdAt is not equal to one of the specified values.

The instant this object has been created

dateDateTime

Checks if date equals a specified value.

If an index exists on date, it can be used.

The date the exploit was published

date_gtDateTime

Checks if date is greater than a specified value.

The date the exploit was published

date_gteDateTime

Checks if date is greater or equal a specified value.

The date the exploit was published

date_inDateTime

Checks if date is equal to one of the specified values.

The date the exploit was published

date_ltDateTime

Checks if date is less than a specified value.

The date the exploit was published

date_lteDateTime

Checks if date is less or equal a specified value.

The date the exploit was published

date_notDateTime

Checks if date does not equal a specified value

The date the exploit was published

date_not_inDateTime

Checks if date is not equal to one of the specified values.

The date the exploit was published

descriptionString

Checks if description equals a specified string, case-sensitively.

If an index exists on description, it can be used.

See also like for a case-insensitive filter.

A description of the exploit

description_containsString

Checks if description contains a specified string, case-sensitively.

A description of the exploit

description_ends_withString

Checks if description ends with a specified string, case-sensitively.

A description of the exploit

description_gtString

Checks if description is greater than a specified value.

A description of the exploit

description_gteString

Checks if description is greater or equal a specified value.

A description of the exploit

description_inString

Checks if description is equal to one of the specified values.

A description of the exploit

description_likeString

Matches description against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on description, it can be used for the literal prefix (the part until the first placeholder).

A description of the exploit

description_ltString

Checks if description is less than a specified value.

A description of the exploit

description_lteString

Checks if description is less or equal a specified value.

A description of the exploit

description_notString

Checks if description does not equal a specified string, case-sensitively.

A description of the exploit

description_not_containsString

Checks if description does not contain a specified string, case-sensitively.

A description of the exploit

description_not_ends_withString

Checks if description does not end with a specified string, case-sensitively.

A description of the exploit

description_not_inString

Checks if description is not equal to one of the specified values.

A description of the exploit

description_not_likeString

Checks if description does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

A description of the exploit

description_not_starts_withString

Checks if description does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

A description of the exploit

description_starts_withString

Checks if description starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

A description of the exploit

downloadUrlString

Checks if downloadUrl equals a specified string, case-sensitively.

If an index exists on downloadUrl, it can be used.

See also like for a case-insensitive filter.

The URL to download the exploit code, or reference material

downloadUrl_containsString

Checks if downloadUrl contains a specified string, case-sensitively.

The URL to download the exploit code, or reference material

downloadUrl_ends_withString

Checks if downloadUrl ends with a specified string, case-sensitively.

The URL to download the exploit code, or reference material

downloadUrl_gtString

Checks if downloadUrl is greater than a specified value.

The URL to download the exploit code, or reference material

downloadUrl_gteString

Checks if downloadUrl is greater or equal a specified value.

The URL to download the exploit code, or reference material

downloadUrl_inString

Checks if downloadUrl is equal to one of the specified values.

The URL to download the exploit code, or reference material

downloadUrl_likeString

Matches downloadUrl against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on downloadUrl, it can be used for the literal prefix (the part until the first placeholder).

The URL to download the exploit code, or reference material

downloadUrl_ltString

Checks if downloadUrl is less than a specified value.

The URL to download the exploit code, or reference material

downloadUrl_lteString

Checks if downloadUrl is less or equal a specified value.

The URL to download the exploit code, or reference material

downloadUrl_notString

Checks if downloadUrl does not equal a specified string, case-sensitively.

The URL to download the exploit code, or reference material

downloadUrl_not_containsString

Checks if downloadUrl does not contain a specified string, case-sensitively.

The URL to download the exploit code, or reference material

downloadUrl_not_ends_withString

Checks if downloadUrl does not end with a specified string, case-sensitively.

The URL to download the exploit code, or reference material

downloadUrl_not_inString

Checks if downloadUrl is not equal to one of the specified values.

The URL to download the exploit code, or reference material

downloadUrl_not_likeString

Checks if downloadUrl does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The URL to download the exploit code, or reference material

downloadUrl_not_starts_withString

Checks if downloadUrl does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The URL to download the exploit code, or reference material

downloadUrl_starts_withString

Checks if downloadUrl starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The URL to download the exploit code, or reference material

exploitIdString

Checks if exploitId equals a specified string, case-sensitively.

If an index exists on exploitId, it can be used.

See also like for a case-insensitive filter.

The ID of the exploit

exploitId_containsString

Checks if exploitId contains a specified string, case-sensitively.

The ID of the exploit

exploitId_ends_withString

Checks if exploitId ends with a specified string, case-sensitively.

The ID of the exploit

exploitId_gtString

Checks if exploitId is greater than a specified value.

The ID of the exploit

exploitId_gteString

Checks if exploitId is greater or equal a specified value.

The ID of the exploit

exploitId_inString

Checks if exploitId is equal to one of the specified values.

The ID of the exploit

exploitId_likeString

Matches exploitId against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on exploitId, it can be used for the literal prefix (the part until the first placeholder).

The ID of the exploit

exploitId_ltString

Checks if exploitId is less than a specified value.

The ID of the exploit

exploitId_lteString

Checks if exploitId is less or equal a specified value.

The ID of the exploit

exploitId_notString

Checks if exploitId does not equal a specified string, case-sensitively.

The ID of the exploit

exploitId_not_containsString

Checks if exploitId does not contain a specified string, case-sensitively.

The ID of the exploit

exploitId_not_ends_withString

Checks if exploitId does not end with a specified string, case-sensitively.

The ID of the exploit

exploitId_not_inString

Checks if exploitId is not equal to one of the specified values.

The ID of the exploit

exploitId_not_likeString

Checks if exploitId does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The ID of the exploit

exploitId_not_starts_withString

Checks if exploitId does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The ID of the exploit

exploitId_starts_withString

Checks if exploitId starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The ID of the exploit

idID

Checks if id equals a specified value.

If an index exists on id, it can be used.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_gtID

Checks if id is greater than a specified value.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_gteID

Checks if id is greater or equal a specified value.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_inID

Checks if id is equal to one of the specified values.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_ltID

Checks if id is less than a specified value.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_lteID

Checks if id is less or equal a specified value.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_notID

Checks if id does not equal a specified value

An auto-generated string that identifies this child entity uniquely within this collection of child entities

id_not_inID

Checks if id is not equal to one of the specified values.

An auto-generated string that identifies this child entity uniquely within this collection of child entities

maturityString

Checks if maturity equals a specified string, case-sensitively.

If an index exists on maturity, it can be used.

See also like for a case-insensitive filter.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_containsString

Checks if maturity contains a specified string, case-sensitively.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_ends_withString

Checks if maturity ends with a specified string, case-sensitively.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_gtString

Checks if maturity is greater than a specified value.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_gteString

Checks if maturity is greater or equal a specified value.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_inString

Checks if maturity is equal to one of the specified values.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_likeString

Matches maturity against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on maturity, it can be used for the literal prefix (the part until the first placeholder).

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_ltString

Checks if maturity is less than a specified value.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_lteString

Checks if maturity is less or equal a specified value.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_notString

Checks if maturity does not equal a specified string, case-sensitively.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_not_containsString

Checks if maturity does not contain a specified string, case-sensitively.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_not_ends_withString

Checks if maturity does not end with a specified string, case-sensitively.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_not_inString

Checks if maturity is not equal to one of the specified values.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_not_likeString

Checks if maturity does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_not_starts_withString

Checks if maturity does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

maturity_starts_withString

Checks if maturity starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The maturity level of the exploit. Values can be "Proof of Concept", "Weaponized by Threat Actor", "Exploited by Threat Actor", "Reported in the Wild", "Unknown"

referenceSourceString

Checks if referenceSource equals a specified string, case-sensitively.

If an index exists on referenceSource, it can be used.

See also like for a case-insensitive filter.

The source where the exploit is published or documented

referenceSource_containsString

Checks if referenceSource contains a specified string, case-sensitively.

The source where the exploit is published or documented

referenceSource_ends_withString

Checks if referenceSource ends with a specified string, case-sensitively.

The source where the exploit is published or documented

referenceSource_gtString

Checks if referenceSource is greater than a specified value.

The source where the exploit is published or documented

referenceSource_gteString

Checks if referenceSource is greater or equal a specified value.

The source where the exploit is published or documented

referenceSource_inString

Checks if referenceSource is equal to one of the specified values.

The source where the exploit is published or documented

referenceSource_likeString

Matches referenceSource against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on referenceSource, it can be used for the literal prefix (the part until the first placeholder).

The source where the exploit is published or documented

referenceSource_ltString

Checks if referenceSource is less than a specified value.

The source where the exploit is published or documented

referenceSource_lteString

Checks if referenceSource is less or equal a specified value.

The source where the exploit is published or documented

referenceSource_notString

Checks if referenceSource does not equal a specified string, case-sensitively.

The source where the exploit is published or documented

referenceSource_not_containsString

Checks if referenceSource does not contain a specified string, case-sensitively.

The source where the exploit is published or documented

referenceSource_not_ends_withString

Checks if referenceSource does not end with a specified string, case-sensitively.

The source where the exploit is published or documented

referenceSource_not_inString

Checks if referenceSource is not equal to one of the specified values.

The source where the exploit is published or documented

referenceSource_not_likeString

Checks if referenceSource does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The source where the exploit is published or documented

referenceSource_not_starts_withString

Checks if referenceSource does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The source where the exploit is published or documented

referenceSource_starts_withString

Checks if referenceSource starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The source where the exploit is published or documented

sourceTypeString

Checks if sourceType equals a specified string, case-sensitively.

If an index exists on sourceType, it can be used.

See also like for a case-insensitive filter.

The type of the source where the exploit is published or documented

sourceType_containsString

Checks if sourceType contains a specified string, case-sensitively.

The type of the source where the exploit is published or documented

sourceType_ends_withString

Checks if sourceType ends with a specified string, case-sensitively.

The type of the source where the exploit is published or documented

sourceType_gtString

Checks if sourceType is greater than a specified value.

The type of the source where the exploit is published or documented

sourceType_gteString

Checks if sourceType is greater or equal a specified value.

The type of the source where the exploit is published or documented

sourceType_inString

Checks if sourceType is equal to one of the specified values.

The type of the source where the exploit is published or documented

sourceType_likeString

Matches sourceType against a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

If an index exists on sourceType, it can be used for the literal prefix (the part until the first placeholder).

The type of the source where the exploit is published or documented

sourceType_ltString

Checks if sourceType is less than a specified value.

The type of the source where the exploit is published or documented

sourceType_lteString

Checks if sourceType is less or equal a specified value.

The type of the source where the exploit is published or documented

sourceType_notString

Checks if sourceType does not equal a specified string, case-sensitively.

The type of the source where the exploit is published or documented

sourceType_not_containsString

Checks if sourceType does not contain a specified string, case-sensitively.

The type of the source where the exploit is published or documented

sourceType_not_ends_withString

Checks if sourceType does not end with a specified string, case-sensitively.

The type of the source where the exploit is published or documented

sourceType_not_inString

Checks if sourceType is not equal to one of the specified values.

The type of the source where the exploit is published or documented

sourceType_not_likeString

Checks if sourceType does not match a pattern case-insensitively with the following placeholders:

% matches any sequence of characters, including the empty string; _ matches exactly one character; \ can be used to escape the placeholders (use \\ for a literal backslash);

The type of the source where the exploit is published or documented

sourceType_not_starts_withString

Checks if sourceType does not start with a specified string, case-sensitively.

Never uses an index. Consider using not_like (with the % placeholder) for a case-insensitive filter that can use an index.

The type of the source where the exploit is published or documented

sourceType_starts_withString

Checks if sourceType starts with a specified string, case-sensitively.

Never uses an index. Consider using like (with the % placeholder) for a case-insensitive filter that can use an index.

The type of the source where the exploit is published or documented

updatedAtDateTime

Checks if updatedAt equals a specified value.

If an index exists on updatedAt, it can be used.

The instant this object has been updated the last time

updatedAt_gtDateTime

Checks if updatedAt is greater than a specified value.

The instant this object has been updated the last time

updatedAt_gteDateTime

Checks if updatedAt is greater or equal a specified value.

The instant this object has been updated the last time

updatedAt_inDateTime

Checks if updatedAt is equal to one of the specified values.

The instant this object has been updated the last time

updatedAt_ltDateTime

Checks if updatedAt is less than a specified value.

The instant this object has been updated the last time

updatedAt_lteDateTime

Checks if updatedAt is less or equal a specified value.

The instant this object has been updated the last time

updatedAt_notDateTime

Checks if updatedAt does not equal a specified value

The instant this object has been updated the last time

updatedAt_not_inDateTime

Checks if updatedAt is not equal to one of the specified values.

The instant this object has been updated the last time


This page was generated: 2024-05-17