auth-yes/archive/.forum/ast/audit_fragments.tsx.ast

762 lines
59 KiB
Plaintext

(program [0, 0] - [172, 0]
(import_statement [0, 0] - [0, 68]
(import_clause [0, 7] - [0, 30]
(named_imports [0, 7] - [0, 30]
(import_specifier [0, 9] - [0, 28]
name: (identifier [0, 9] - [0, 28]))))
source: (string [0, 36] - [0, 67]
(string_fragment [0, 37] - [0, 66])))
(export_statement [2, 0] - [171, 2]
declaration: (lexical_declaration [2, 7] - [171, 2]
(variable_declarator [2, 13] - [171, 1]
name: (identifier [2, 13] - [2, 33])
value: (arrow_function [2, 36] - [171, 1]
parameters: (formal_parameters [2, 36] - [6, 2]
(required_parameter [2, 37] - [6, 1]
pattern: (object_pattern [2, 37] - [4, 1]
(shorthand_property_identifier_pattern [3, 2] - [3, 6]))
type: (type_annotation [4, 1] - [6, 1]
(object_type [4, 3] - [6, 1]
(property_signature [5, 2] - [5, 13]
name: (property_identifier [5, 2] - [5, 6])
type: (type_annotation [5, 6] - [5, 13]
(array_type [5, 8] - [5, 13]
(predefined_type [5, 8] - [5, 11]))))))))
body: (statement_block [6, 6] - [171, 1]
(return_statement [7, 2] - [170, 4]
(parenthesized_expression [7, 9] - [170, 3]
(jsx_element [8, 4] - [169, 26]
open_tag: (jsx_opening_element [8, 4] - [8, 76]
name: (identifier [8, 5] - [8, 24])
attribute: (jsx_attribute [8, 25] - [8, 43]
(property_identifier [8, 25] - [8, 30])
(string [8, 31] - [8, 43]
(string_fragment [8, 32] - [8, 42])))
attribute: (jsx_attribute [8, 44] - [8, 75]
(property_identifier [8, 44] - [8, 55])
(string [8, 56] - [8, 75]
(string_fragment [8, 57] - [8, 74]))))
(jsx_element [9, 6] - [41, 12]
open_tag: (jsx_opening_element [9, 6] - [9, 142]
name: (identifier [9, 7] - [9, 10])
attribute: (jsx_attribute [9, 11] - [9, 141]
(property_identifier [9, 11] - [9, 16])
(string [9, 17] - [9, 141]
(string_fragment [9, 18] - [9, 140]))))
(jsx_element [10, 8] - [18, 14]
open_tag: (jsx_opening_element [10, 8] - [10, 13]
name: (identifier [10, 9] - [10, 12]))
(jsx_element [11, 10] - [13, 15]
open_tag: (jsx_opening_element [11, 10] - [11, 110]
name: (identifier [11, 11] - [11, 13])
attribute: (jsx_attribute [11, 14] - [11, 109]
(property_identifier [11, 14] - [11, 19])
(string [11, 20] - [11, 109]
(string_fragment [11, 21] - [11, 108]))))
(jsx_text [11, 110] - [13, 10])
close_tag: (jsx_closing_element [13, 10] - [13, 15]
name: (identifier [13, 12] - [13, 14])))
(jsx_element [14, 10] - [17, 14]
open_tag: (jsx_opening_element [14, 10] - [14, 82]
name: (identifier [14, 11] - [14, 12])
attribute: (jsx_attribute [14, 13] - [14, 81]
(property_identifier [14, 13] - [14, 18])
(string [14, 19] - [14, 81]
(string_fragment [14, 20] - [14, 80]))))
(jsx_text [14, 82] - [17, 10])
close_tag: (jsx_closing_element [17, 10] - [17, 14]
name: (identifier [17, 12] - [17, 13])))
close_tag: (jsx_closing_element [18, 8] - [18, 14]
name: (identifier [18, 10] - [18, 13])))
(jsx_element [20, 8] - [40, 14]
open_tag: (jsx_opening_element [20, 8] - [20, 90]
name: (identifier [20, 9] - [20, 12])
attribute: (jsx_attribute [20, 13] - [20, 89]
(property_identifier [20, 13] - [20, 18])
(string [20, 19] - [20, 89]
(string_fragment [20, 20] - [20, 88]))))
(jsx_self_closing_element [21, 10] - [27, 12]
name: (identifier [21, 11] - [21, 16])
attribute: (jsx_attribute [22, 12] - [22, 23]
(property_identifier [22, 12] - [22, 16])
(string [22, 17] - [22, 23]
(string_fragment [22, 18] - [22, 22])))
attribute: (jsx_attribute [23, 12] - [23, 33]
(property_identifier [23, 12] - [23, 14])
(string [23, 15] - [23, 33]
(string_fragment [23, 16] - [23, 32])))
attribute: (jsx_attribute [24, 12] - [24, 52]
(property_identifier [24, 12] - [24, 23])
(string [24, 24] - [24, 52]
(string_fragment [24, 25] - [24, 51])))
attribute: (jsx_attribute [25, 12] - [25, 39]
(property_identifier [25, 12] - [25, 19])
(string [25, 20] - [25, 39]
(string_fragment [25, 21] - [25, 38])))
attribute: (jsx_attribute [26, 12] - [26, 90]
(property_identifier [26, 12] - [26, 17])
(string [26, 18] - [26, 90]
(string_fragment [26, 19] - [26, 89]))))
(jsx_element [28, 10] - [39, 16]
open_tag: (jsx_opening_element [28, 10] - [36, 11]
name: (identifier [28, 11] - [28, 14])
attribute: (jsx_attribute [29, 12] - [29, 22]
(property_identifier [29, 12] - [29, 17])
(string [29, 18] - [29, 22]
(string_fragment [29, 19] - [29, 21])))
attribute: (jsx_attribute [30, 12] - [30, 23]
(property_identifier [30, 12] - [30, 18])
(string [30, 19] - [30, 23]
(string_fragment [30, 20] - [30, 22])))
attribute: (jsx_attribute [31, 12] - [31, 31]
(property_identifier [31, 12] - [31, 19])
(string [31, 20] - [31, 31]
(string_fragment [31, 21] - [31, 30])))
attribute: (jsx_attribute [32, 12] - [32, 23]
(property_identifier [32, 12] - [32, 16])
(string [32, 17] - [32, 23]
(string_fragment [32, 18] - [32, 22])))
attribute: (jsx_attribute [33, 12] - [33, 33]
(property_identifier [33, 12] - [33, 18])
(string [33, 19] - [33, 33]
(string_fragment [33, 20] - [33, 32])))
attribute: (jsx_attribute [34, 12] - [34, 28]
(property_identifier [34, 12] - [34, 24])
(string [34, 25] - [34, 28]
(string_fragment [34, 26] - [34, 27])))
attribute: (jsx_attribute [35, 12] - [35, 141]
(property_identifier [35, 12] - [35, 17])
(string [35, 18] - [35, 141]
(string_fragment [35, 19] - [35, 140]))))
(jsx_element [37, 12] - [37, 51]
open_tag: (jsx_opening_element [37, 12] - [37, 42]
name: (identifier [37, 13] - [37, 19])
attribute: (jsx_attribute [37, 20] - [37, 27]
(property_identifier [37, 20] - [37, 22])
(string [37, 23] - [37, 27]
(string_fragment [37, 24] - [37, 26])))
attribute: (jsx_attribute [37, 28] - [37, 35]
(property_identifier [37, 28] - [37, 30])
(string [37, 31] - [37, 35]
(string_fragment [37, 32] - [37, 34])))
attribute: (jsx_attribute [37, 36] - [37, 41]
(property_identifier [37, 36] - [37, 37])
(string [37, 38] - [37, 41]
(string_fragment [37, 39] - [37, 40]))))
close_tag: (jsx_closing_element [37, 42] - [37, 51]
name: (identifier [37, 44] - [37, 50])))
(jsx_element [38, 12] - [38, 63]
open_tag: (jsx_opening_element [38, 12] - [38, 56]
name: (identifier [38, 13] - [38, 17])
attribute: (jsx_attribute [38, 18] - [38, 25]
(property_identifier [38, 18] - [38, 20])
(string [38, 21] - [38, 25]
(string_fragment [38, 22] - [38, 24])))
attribute: (jsx_attribute [38, 26] - [38, 33]
(property_identifier [38, 26] - [38, 28])
(string [38, 29] - [38, 33]
(string_fragment [38, 30] - [38, 32])))
attribute: (jsx_attribute [38, 34] - [38, 44]
(property_identifier [38, 34] - [38, 36])
(string [38, 37] - [38, 44]
(string_fragment [38, 38] - [38, 43])))
attribute: (jsx_attribute [38, 45] - [38, 55]
(property_identifier [38, 45] - [38, 47])
(string [38, 48] - [38, 55]
(string_fragment [38, 49] - [38, 54]))))
close_tag: (jsx_closing_element [38, 56] - [38, 63]
name: (identifier [38, 58] - [38, 62])))
close_tag: (jsx_closing_element [39, 10] - [39, 16]
name: (identifier [39, 12] - [39, 15])))
close_tag: (jsx_closing_element [40, 8] - [40, 14]
name: (identifier [40, 10] - [40, 13])))
close_tag: (jsx_closing_element [41, 6] - [41, 12]
name: (identifier [41, 8] - [41, 11])))
(jsx_expression [43, 6] - [43, 38]
(comment [43, 7] - [43, 37]))
(jsx_element [44, 6] - [103, 12]
open_tag: (jsx_opening_element [44, 6] - [44, 60]
name: (identifier [44, 7] - [44, 10])
attribute: (jsx_attribute [44, 11] - [44, 36]
(property_identifier [44, 11] - [44, 16])
(string [44, 17] - [44, 36]
(string_fragment [44, 18] - [44, 35])))
attribute: (jsx_attribute [44, 37] - [44, 59]
(property_identifier [44, 37] - [44, 42])
(string [44, 43] - [44, 59]
(string_fragment [44, 44] - [44, 58]))))
(jsx_element [45, 8] - [102, 14]
open_tag: (jsx_opening_element [45, 8] - [45, 37]
name: (identifier [45, 9] - [45, 12])
attribute: (jsx_attribute [45, 13] - [45, 36]
(property_identifier [45, 13] - [45, 18])
(string [45, 19] - [45, 36]
(string_fragment [45, 20] - [45, 35]))))
(jsx_element [46, 10] - [101, 18]
open_tag: (jsx_opening_element [46, 10] - [46, 33]
name: (identifier [46, 11] - [46, 16])
attribute: (jsx_attribute [46, 17] - [46, 32]
(property_identifier [46, 17] - [46, 19])
(string [46, 20] - [46, 32]
(string_fragment [46, 21] - [46, 31]))))
(jsx_element [47, 12] - [55, 20]
open_tag: (jsx_opening_element [47, 12] - [47, 19]
name: (identifier [47, 13] - [47, 18]))
(jsx_element [48, 14] - [54, 19]
open_tag: (jsx_opening_element [48, 14] - [48, 18]
name: (identifier [48, 15] - [48, 17]))
(jsx_element [49, 16] - [49, 34]
open_tag: (jsx_opening_element [49, 16] - [49, 20]
name: (identifier [49, 17] - [49, 19]))
(jsx_text [49, 20] - [49, 29])
close_tag: (jsx_closing_element [49, 29] - [49, 34]
name: (identifier [49, 31] - [49, 33])))
(jsx_element [50, 16] - [50, 37]
open_tag: (jsx_opening_element [50, 16] - [50, 20]
name: (identifier [50, 17] - [50, 19]))
(jsx_text [50, 20] - [50, 32])
close_tag: (jsx_closing_element [50, 32] - [50, 37]
name: (identifier [50, 34] - [50, 36])))
(jsx_element [51, 16] - [51, 39]
open_tag: (jsx_opening_element [51, 16] - [51, 20]
name: (identifier [51, 17] - [51, 19]))
(jsx_text [51, 20] - [51, 34])
close_tag: (jsx_closing_element [51, 34] - [51, 39]
name: (identifier [51, 36] - [51, 38])))
(jsx_element [52, 16] - [52, 33]
open_tag: (jsx_opening_element [52, 16] - [52, 20]
name: (identifier [52, 17] - [52, 19]))
(jsx_text [52, 20] - [52, 28])
close_tag: (jsx_closing_element [52, 28] - [52, 33]
name: (identifier [52, 30] - [52, 32])))
(jsx_element [53, 16] - [53, 35]
open_tag: (jsx_opening_element [53, 16] - [53, 20]
name: (identifier [53, 17] - [53, 19]))
(jsx_text [53, 20] - [53, 30])
close_tag: (jsx_closing_element [53, 30] - [53, 35]
name: (identifier [53, 32] - [53, 34])))
close_tag: (jsx_closing_element [54, 14] - [54, 19]
name: (identifier [54, 16] - [54, 18])))
close_tag: (jsx_closing_element [55, 12] - [55, 20]
name: (identifier [55, 14] - [55, 19])))
(jsx_element [56, 12] - [100, 20]
open_tag: (jsx_opening_element [56, 12] - [56, 19]
name: (identifier [56, 13] - [56, 18]))
(jsx_expression [57, 14] - [99, 17]
(call_expression [57, 15] - [99, 16]
function: (member_expression [57, 15] - [57, 23]
object: (identifier [57, 15] - [57, 19])
property: (property_identifier [57, 20] - [57, 23]))
arguments: (arguments [57, 23] - [99, 16]
(arrow_function [57, 24] - [99, 15]
parameters: (formal_parameters [57, 24] - [57, 29]
(required_parameter [57, 25] - [57, 28]
pattern: (identifier [57, 25] - [57, 28])))
body: (statement_block [57, 33] - [99, 15]
(lexical_declaration [58, 16] - [59, 48]
(variable_declarator [58, 22] - [59, 47]
name: (identifier [58, 22] - [58, 28])
value: (binary_expression [58, 31] - [59, 47]
left: (call_expression [58, 31] - [58, 58]
function: (member_expression [58, 31] - [58, 50]
object: (member_expression [58, 31] - [58, 41]
object: (identifier [58, 31] - [58, 34])
property: (property_identifier [58, 35] - [58, 41]))
property: (property_identifier [58, 42] - [58, 50]))
arguments: (arguments [58, 50] - [58, 58]
(string [58, 51] - [58, 57]
(string_fragment [58, 52] - [58, 56]))))
right: (call_expression [59, 18] - [59, 47]
function: (member_expression [59, 18] - [59, 37]
object: (member_expression [59, 18] - [59, 28]
object: (identifier [59, 18] - [59, 21])
property: (property_identifier [59, 22] - [59, 28]))
property: (property_identifier [59, 29] - [59, 37]))
arguments: (arguments [59, 37] - [59, 47]
(string [59, 38] - [59, 46]
(string_fragment [59, 39] - [59, 45])))))))
(lexical_declaration [60, 16] - [63, 49]
(variable_declarator [60, 22] - [63, 48]
name: (identifier [60, 22] - [60, 31])
value: (binary_expression [60, 34] - [63, 48]
left: (binary_expression [60, 34] - [62, 49]
left: (binary_expression [60, 34] - [61, 47]
left: (call_expression [60, 34] - [60, 64]
function: (member_expression [60, 34] - [60, 53]
object: (member_expression [60, 34] - [60, 44]
object: (identifier [60, 34] - [60, 37])
property: (property_identifier [60, 38] - [60, 44]))
property: (property_identifier [60, 45] - [60, 53]))
arguments: (arguments [60, 53] - [60, 64]
(string [60, 54] - [60, 63]
(string_fragment [60, 55] - [60, 62]))))
right: (call_expression [61, 18] - [61, 47]
function: (member_expression [61, 18] - [61, 37]
object: (member_expression [61, 18] - [61, 28]
object: (identifier [61, 18] - [61, 21])
property: (property_identifier [61, 22] - [61, 28]))
property: (property_identifier [61, 29] - [61, 37]))
arguments: (arguments [61, 37] - [61, 47]
(string [61, 38] - [61, 46]
(string_fragment [61, 39] - [61, 45])))))
right: (call_expression [62, 18] - [62, 49]
function: (member_expression [62, 18] - [62, 37]
object: (member_expression [62, 18] - [62, 28]
object: (identifier [62, 18] - [62, 21])
property: (property_identifier [62, 22] - [62, 28]))
property: (property_identifier [62, 29] - [62, 37]))
arguments: (arguments [62, 37] - [62, 49]
(string [62, 38] - [62, 48]
(string_fragment [62, 39] - [62, 47])))))
right: (call_expression [63, 18] - [63, 48]
function: (member_expression [63, 18] - [63, 37]
object: (member_expression [63, 18] - [63, 28]
object: (identifier [63, 18] - [63, 21])
property: (property_identifier [63, 22] - [63, 28]))
property: (property_identifier [63, 29] - [63, 37]))
arguments: (arguments [63, 37] - [63, 48]
(string [63, 38] - [63, 47]
(string_fragment [63, 39] - [63, 46])))))))
(lexical_declaration [64, 16] - [68, 33]
(variable_declarator [64, 22] - [68, 32]
name: (identifier [64, 22] - [64, 32])
value: (ternary_expression [64, 35] - [68, 32]
condition: (identifier [64, 35] - [64, 41])
consequence: (string [65, 20] - [65, 34]
(string_fragment [65, 21] - [65, 33]))
alternative: (ternary_expression [66, 20] - [68, 32]
condition: (identifier [66, 20] - [66, 29])
consequence: (string [67, 20] - [67, 35]
(string_fragment [67, 21] - [67, 34]))
alternative: (string [68, 20] - [68, 32]
(string_fragment [68, 21] - [68, 31]))))))
(return_statement [70, 16] - [98, 18]
(parenthesized_expression [70, 23] - [98, 17]
(jsx_element [71, 18] - [97, 23]
open_tag: (jsx_opening_element [71, 18] - [77, 19]
name: (identifier [71, 19] - [71, 21])
attribute: (jsx_attribute [72, 20] - [72, 32]
(property_identifier [72, 20] - [72, 23])
(jsx_expression [72, 24] - [72, 32]
(member_expression [72, 25] - [72, 31]
object: (identifier [72, 25] - [72, 28])
property: (property_identifier [72, 29] - [72, 31]))))
attribute: (jsx_attribute [73, 20] - [73, 35]
(property_identifier [73, 20] - [73, 25])
(string [73, 26] - [73, 35]
(string_fragment [73, 27] - [73, 34])))
attribute: (jsx_attribute [74, 20] - [76, 61]
(property_identifier [74, 20] - [74, 31])
(jsx_expression [74, 32] - [76, 61]
(call_expression [74, 33] - [76, 60]
function: (member_expression [74, 33] - [76, 58]
object: (template_string [74, 33] - [76, 46]
(template_substitution [74, 34] - [74, 47]
(member_expression [74, 36] - [74, 46]
object: (identifier [74, 36] - [74, 39])
property: (property_identifier [74, 40] - [74, 46])))
(string_fragment [74, 47] - [74, 48])
(template_substitution [74, 48] - [74, 71]
(binary_expression [74, 50] - [74, 70]
left: (member_expression [74, 50] - [74, 58]
object: (identifier [74, 50] - [74, 53])
property: (property_identifier [74, 54] - [74, 58]))
right: (string [74, 62] - [74, 70]
(string_fragment [74, 63] - [74, 69]))))
(string_fragment [74, 71] - [74, 72])
(template_substitution [74, 72] - [76, 21]
(binary_expression [75, 22] - [75, 40]
left: (member_expression [75, 22] - [75, 34]
object: (identifier [75, 22] - [75, 25])
property: (property_identifier [75, 26] - [75, 34]))
right: (string [75, 38] - [75, 40])))
(string_fragment [76, 21] - [76, 22])
(template_substitution [76, 22] - [76, 45]
(binary_expression [76, 24] - [76, 44]
left: (member_expression [76, 24] - [76, 38]
object: (identifier [76, 24] - [76, 27])
property: (property_identifier [76, 28] - [76, 38]))
right: (string [76, 42] - [76, 44]))))
property: (property_identifier [76, 47] - [76, 58]))
arguments: (arguments [76, 58] - [76, 60])))))
(jsx_element [78, 20] - [80, 25]
open_tag: (jsx_opening_element [78, 20] - [78, 98]
name: (identifier [78, 21] - [78, 23])
attribute: (jsx_attribute [78, 24] - [78, 97]
(property_identifier [78, 24] - [78, 29])
(string [78, 30] - [78, 97]
(string_fragment [78, 31] - [78, 96]))))
(jsx_expression [79, 22] - [79, 65]
(call_expression [79, 23] - [79, 64]
function: (member_expression [79, 23] - [79, 62]
object: (new_expression [79, 23] - [79, 47]
constructor: (identifier [79, 27] - [79, 31])
arguments: (arguments [79, 31] - [79, 47]
(member_expression [79, 32] - [79, 46]
object: (identifier [79, 32] - [79, 35])
property: (property_identifier [79, 36] - [79, 46]))))
property: (property_identifier [79, 48] - [79, 62]))
arguments: (arguments [79, 62] - [79, 64])))
close_tag: (jsx_closing_element [80, 20] - [80, 25]
name: (identifier [80, 22] - [80, 24])))
(jsx_element [81, 20] - [85, 25]
open_tag: (jsx_opening_element [81, 20] - [81, 24]
name: (identifier [81, 21] - [81, 23]))
(jsx_element [82, 22] - [84, 29]
open_tag: (jsx_opening_element [82, 22] - [82, 58]
name: (identifier [82, 23] - [82, 27])
attribute: (jsx_attribute [82, 28] - [82, 57]
(property_identifier [82, 28] - [82, 33])
(jsx_expression [82, 34] - [82, 57]
(template_string [82, 35] - [82, 56]
(string_fragment [82, 36] - [82, 42])
(template_substitution [82, 42] - [82, 55]
(identifier [82, 44] - [82, 54]))))))
(jsx_expression [83, 24] - [83, 36]
(member_expression [83, 25] - [83, 35]
object: (identifier [83, 25] - [83, 28])
property: (property_identifier [83, 29] - [83, 35])))
close_tag: (jsx_closing_element [84, 22] - [84, 29]
name: (identifier [84, 24] - [84, 28])))
close_tag: (jsx_closing_element [85, 20] - [85, 25]
name: (identifier [85, 22] - [85, 24])))
(jsx_element [86, 20] - [90, 25]
open_tag: (jsx_opening_element [86, 20] - [86, 24]
name: (identifier [86, 21] - [86, 23]))
(jsx_element [87, 22] - [89, 31]
open_tag: (jsx_opening_element [87, 22] - [87, 66]
name: (identifier [87, 23] - [87, 29])
attribute: (jsx_attribute [87, 30] - [87, 65]
(property_identifier [87, 30] - [87, 35])
(string [87, 36] - [87, 65]
(string_fragment [87, 37] - [87, 64]))))
(jsx_expression [88, 24] - [88, 46]
(binary_expression [88, 25] - [88, 45]
left: (member_expression [88, 25] - [88, 33]
object: (identifier [88, 25] - [88, 28])
property: (property_identifier [88, 29] - [88, 33]))
right: (string [88, 37] - [88, 45]
(string_fragment [88, 38] - [88, 44]))))
close_tag: (jsx_closing_element [89, 22] - [89, 31]
name: (identifier [89, 24] - [89, 30])))
close_tag: (jsx_closing_element [90, 20] - [90, 25]
name: (identifier [90, 22] - [90, 24])))
(jsx_element [91, 20] - [93, 25]
open_tag: (jsx_opening_element [91, 20] - [91, 62]
name: (identifier [91, 21] - [91, 23])
attribute: (jsx_attribute [91, 24] - [91, 61]
(property_identifier [91, 24] - [91, 29])
(string [91, 30] - [91, 61]
(string_fragment [91, 31] - [91, 60]))))
(jsx_expression [92, 22] - [92, 43]
(binary_expression [92, 23] - [92, 42]
left: (member_expression [92, 23] - [92, 35]
object: (identifier [92, 23] - [92, 26])
property: (property_identifier [92, 27] - [92, 35]))
right: (string [92, 39] - [92, 42]
(string_fragment [92, 40] - [92, 41]))))
close_tag: (jsx_closing_element [93, 20] - [93, 25]
name: (identifier [93, 22] - [93, 24])))
(jsx_element [94, 20] - [96, 25]
open_tag: (jsx_opening_element [94, 20] - [94, 106]
name: (identifier [94, 21] - [94, 23])
attribute: (jsx_attribute [94, 24] - [94, 105]
(property_identifier [94, 24] - [94, 29])
(string [94, 30] - [94, 105]
(string_fragment [94, 31] - [94, 104]))))
(jsx_expression [95, 22] - [95, 45]
(binary_expression [95, 23] - [95, 44]
left: (member_expression [95, 23] - [95, 37]
object: (identifier [95, 23] - [95, 26])
property: (property_identifier [95, 27] - [95, 37]))
right: (string [95, 41] - [95, 44]
(string_fragment [95, 42] - [95, 43]))))
close_tag: (jsx_closing_element [96, 20] - [96, 25]
name: (identifier [96, 22] - [96, 24])))
close_tag: (jsx_closing_element [97, 18] - [97, 23]
name: (identifier [97, 20] - [97, 22]))))))))))
close_tag: (jsx_closing_element [100, 12] - [100, 20]
name: (identifier [100, 14] - [100, 19])))
close_tag: (jsx_closing_element [101, 10] - [101, 18]
name: (identifier [101, 12] - [101, 17])))
close_tag: (jsx_closing_element [102, 8] - [102, 14]
name: (identifier [102, 10] - [102, 13])))
close_tag: (jsx_closing_element [103, 6] - [103, 12]
name: (identifier [103, 8] - [103, 11])))
(jsx_expression [105, 6] - [105, 40]
(comment [105, 7] - [105, 39]))
(jsx_element [106, 6] - [153, 12]
open_tag: (jsx_opening_element [106, 6] - [110, 7]
name: (identifier [106, 7] - [106, 10])
attribute: (jsx_attribute [107, 8] - [107, 28]
(property_identifier [107, 8] - [107, 10])
(string [107, 11] - [107, 28]
(string_fragment [107, 12] - [107, 27])))
attribute: (jsx_attribute [108, 8] - [108, 27]
(property_identifier [108, 8] - [108, 13])
(string [108, 14] - [108, 27]
(string_fragment [108, 15] - [108, 26])))
attribute: (jsx_attribute [109, 8] - [109, 65]
(property_identifier [109, 8] - [109, 13])
(string [109, 14] - [109, 65]
(string_fragment [109, 15] - [109, 64]))))
(jsx_expression [111, 8] - [152, 11]
(call_expression [111, 9] - [152, 10]
function: (member_expression [111, 9] - [111, 17]
object: (identifier [111, 9] - [111, 13])
property: (property_identifier [111, 14] - [111, 17]))
arguments: (arguments [111, 17] - [152, 10]
(arrow_function [111, 18] - [152, 9]
parameters: (formal_parameters [111, 18] - [111, 23]
(required_parameter [111, 19] - [111, 22]
pattern: (identifier [111, 19] - [111, 22])))
body: (statement_block [111, 27] - [152, 9]
(lexical_declaration [112, 10] - [113, 42]
(variable_declarator [112, 16] - [113, 41]
name: (identifier [112, 16] - [112, 22])
value: (binary_expression [112, 25] - [113, 41]
left: (call_expression [112, 25] - [112, 52]
function: (member_expression [112, 25] - [112, 44]
object: (member_expression [112, 25] - [112, 35]
object: (identifier [112, 25] - [112, 28])
property: (property_identifier [112, 29] - [112, 35]))
property: (property_identifier [112, 36] - [112, 44]))
arguments: (arguments [112, 44] - [112, 52]
(string [112, 45] - [112, 51]
(string_fragment [112, 46] - [112, 50]))))
right: (call_expression [113, 12] - [113, 41]
function: (member_expression [113, 12] - [113, 31]
object: (member_expression [113, 12] - [113, 22]
object: (identifier [113, 12] - [113, 15])
property: (property_identifier [113, 16] - [113, 22]))
property: (property_identifier [113, 23] - [113, 31]))
arguments: (arguments [113, 31] - [113, 41]
(string [113, 32] - [113, 40]
(string_fragment [113, 33] - [113, 39])))))))
(lexical_declaration [114, 10] - [117, 43]
(variable_declarator [114, 16] - [117, 42]
name: (identifier [114, 16] - [114, 25])
value: (binary_expression [114, 28] - [117, 42]
left: (binary_expression [114, 28] - [116, 43]
left: (binary_expression [114, 28] - [115, 41]
left: (call_expression [114, 28] - [114, 58]
function: (member_expression [114, 28] - [114, 47]
object: (member_expression [114, 28] - [114, 38]
object: (identifier [114, 28] - [114, 31])
property: (property_identifier [114, 32] - [114, 38]))
property: (property_identifier [114, 39] - [114, 47]))
arguments: (arguments [114, 47] - [114, 58]
(string [114, 48] - [114, 57]
(string_fragment [114, 49] - [114, 56]))))
right: (call_expression [115, 12] - [115, 41]
function: (member_expression [115, 12] - [115, 31]
object: (member_expression [115, 12] - [115, 22]
object: (identifier [115, 12] - [115, 15])
property: (property_identifier [115, 16] - [115, 22]))
property: (property_identifier [115, 23] - [115, 31]))
arguments: (arguments [115, 31] - [115, 41]
(string [115, 32] - [115, 40]
(string_fragment [115, 33] - [115, 39])))))
right: (call_expression [116, 12] - [116, 43]
function: (member_expression [116, 12] - [116, 31]
object: (member_expression [116, 12] - [116, 22]
object: (identifier [116, 12] - [116, 15])
property: (property_identifier [116, 16] - [116, 22]))
property: (property_identifier [116, 23] - [116, 31]))
arguments: (arguments [116, 31] - [116, 43]
(string [116, 32] - [116, 42]
(string_fragment [116, 33] - [116, 41])))))
right: (call_expression [117, 12] - [117, 42]
function: (member_expression [117, 12] - [117, 31]
object: (member_expression [117, 12] - [117, 22]
object: (identifier [117, 12] - [117, 15])
property: (property_identifier [117, 16] - [117, 22]))
property: (property_identifier [117, 23] - [117, 31]))
arguments: (arguments [117, 31] - [117, 42]
(string [117, 32] - [117, 41]
(string_fragment [117, 33] - [117, 40])))))))
(lexical_declaration [118, 10] - [122, 27]
(variable_declarator [118, 16] - [122, 26]
name: (identifier [118, 16] - [118, 26])
value: (ternary_expression [118, 29] - [122, 26]
condition: (identifier [118, 29] - [118, 35])
consequence: (string [119, 14] - [119, 28]
(string_fragment [119, 15] - [119, 27]))
alternative: (ternary_expression [120, 14] - [122, 26]
condition: (identifier [120, 14] - [120, 23])
consequence: (string [121, 14] - [121, 29]
(string_fragment [121, 15] - [121, 28]))
alternative: (string [122, 14] - [122, 26]
(string_fragment [122, 15] - [122, 25]))))))
(return_statement [124, 10] - [151, 12]
(parenthesized_expression [124, 17] - [151, 11]
(jsx_element [125, 12] - [150, 18]
open_tag: (jsx_opening_element [125, 12] - [132, 13]
name: (identifier [125, 13] - [125, 16])
attribute: (jsx_attribute [126, 14] - [126, 35]
(property_identifier [126, 14] - [126, 19])
(string [126, 20] - [126, 35]
(string_fragment [126, 21] - [126, 34])))
attribute: (jsx_attribute [127, 14] - [127, 26]
(property_identifier [127, 14] - [127, 17])
(jsx_expression [127, 18] - [127, 26]
(member_expression [127, 19] - [127, 25]
object: (identifier [127, 19] - [127, 22])
property: (property_identifier [127, 23] - [127, 25]))))
attribute: (jsx_attribute [128, 14] - [130, 55]
(property_identifier [128, 14] - [128, 25])
(jsx_expression [128, 26] - [130, 55]
(call_expression [128, 27] - [130, 54]
function: (member_expression [128, 27] - [130, 52]
object: (template_string [128, 27] - [130, 40]
(template_substitution [128, 28] - [128, 41]
(member_expression [128, 30] - [128, 40]
object: (identifier [128, 30] - [128, 33])
property: (property_identifier [128, 34] - [128, 40])))
(string_fragment [128, 41] - [128, 42])
(template_substitution [128, 42] - [128, 65]
(binary_expression [128, 44] - [128, 64]
left: (member_expression [128, 44] - [128, 52]
object: (identifier [128, 44] - [128, 47])
property: (property_identifier [128, 48] - [128, 52]))
right: (string [128, 56] - [128, 64]
(string_fragment [128, 57] - [128, 63]))))
(string_fragment [128, 65] - [128, 66])
(template_substitution [128, 66] - [130, 15]
(binary_expression [129, 16] - [129, 34]
left: (member_expression [129, 16] - [129, 28]
object: (identifier [129, 16] - [129, 19])
property: (property_identifier [129, 20] - [129, 28]))
right: (string [129, 32] - [129, 34])))
(string_fragment [130, 15] - [130, 16])
(template_substitution [130, 16] - [130, 39]
(binary_expression [130, 18] - [130, 38]
left: (member_expression [130, 18] - [130, 32]
object: (identifier [130, 18] - [130, 21])
property: (property_identifier [130, 22] - [130, 32]))
right: (string [130, 36] - [130, 38]))))
property: (property_identifier [130, 41] - [130, 52]))
arguments: (arguments [130, 52] - [130, 54]))))
attribute: (jsx_attribute [131, 14] - [131, 39]
(property_identifier [131, 14] - [131, 19])
(string [131, 20] - [131, 39]
(string_fragment [131, 21] - [131, 38]))))
(jsx_element [133, 14] - [140, 20]
open_tag: (jsx_opening_element [133, 14] - [133, 122]
name: (identifier [133, 15] - [133, 18])
attribute: (jsx_attribute [133, 19] - [133, 121]
(property_identifier [133, 19] - [133, 24])
(string [133, 25] - [133, 121]
(string_fragment [133, 26] - [133, 120]))))
(jsx_element [134, 16] - [136, 23]
open_tag: (jsx_opening_element [134, 16] - [134, 52]
name: (identifier [134, 17] - [134, 21])
attribute: (jsx_attribute [134, 22] - [134, 51]
(property_identifier [134, 22] - [134, 27])
(jsx_expression [134, 28] - [134, 51]
(template_string [134, 29] - [134, 50]
(string_fragment [134, 30] - [134, 36])
(template_substitution [134, 36] - [134, 49]
(identifier [134, 38] - [134, 48]))))))
(jsx_expression [135, 18] - [135, 30]
(member_expression [135, 19] - [135, 29]
object: (identifier [135, 19] - [135, 22])
property: (property_identifier [135, 23] - [135, 29])))
close_tag: (jsx_closing_element [136, 16] - [136, 23]
name: (identifier [136, 18] - [136, 22])))
(jsx_element [137, 16] - [139, 23]
open_tag: (jsx_opening_element [137, 16] - [137, 76]
name: (identifier [137, 17] - [137, 21])
attribute: (jsx_attribute [137, 22] - [137, 75]
(property_identifier [137, 22] - [137, 27])
(string [137, 28] - [137, 75]
(string_fragment [137, 29] - [137, 74]))))
(jsx_expression [138, 18] - [138, 65]
(call_expression [138, 19] - [138, 64]
function: (member_expression [138, 19] - [138, 62]
object: (new_expression [138, 19] - [138, 43]
constructor: (identifier [138, 23] - [138, 27])
arguments: (arguments [138, 27] - [138, 43]
(member_expression [138, 28] - [138, 42]
object: (identifier [138, 28] - [138, 31])
property: (property_identifier [138, 32] - [138, 42]))))
property: (property_identifier [138, 44] - [138, 62]))
arguments: (arguments [138, 62] - [138, 64])))
close_tag: (jsx_closing_element [139, 16] - [139, 23]
name: (identifier [139, 18] - [139, 22])))
close_tag: (jsx_closing_element [140, 14] - [140, 20]
name: (identifier [140, 16] - [140, 19])))
(jsx_element [141, 14] - [143, 20]
open_tag: (jsx_opening_element [141, 14] - [141, 97]
name: (identifier [141, 15] - [141, 18])
attribute: (jsx_attribute [141, 19] - [141, 96]
(property_identifier [141, 19] - [141, 24])
(string [141, 25] - [141, 96]
(string_fragment [141, 26] - [141, 95]))))
(jsx_expression [142, 16] - [142, 38]
(binary_expression [142, 17] - [142, 37]
left: (member_expression [142, 17] - [142, 25]
object: (identifier [142, 17] - [142, 20])
property: (property_identifier [142, 21] - [142, 25]))
right: (string [142, 29] - [142, 37]
(string_fragment [142, 30] - [142, 36]))))
close_tag: (jsx_closing_element [143, 14] - [143, 20]
name: (identifier [143, 16] - [143, 19])))
(jsx_element [144, 14] - [146, 20]
open_tag: (jsx_opening_element [144, 14] - [144, 101]
name: (identifier [144, 15] - [144, 18])
attribute: (jsx_attribute [144, 19] - [144, 100]
(property_identifier [144, 19] - [144, 24])
(string [144, 25] - [144, 100]
(string_fragment [144, 26] - [144, 99]))))
(jsx_text [144, 101] - [145, 26])
(jsx_expression [145, 26] - [145, 47]
(binary_expression [145, 27] - [145, 46]
left: (member_expression [145, 27] - [145, 39]
object: (identifier [145, 27] - [145, 30])
property: (property_identifier [145, 31] - [145, 39]))
right: (string [145, 43] - [145, 46]
(string_fragment [145, 44] - [145, 45]))))
close_tag: (jsx_closing_element [146, 14] - [146, 20]
name: (identifier [146, 16] - [146, 19])))
(jsx_element [147, 14] - [149, 20]
open_tag: (jsx_opening_element [147, 14] - [147, 96]
name: (identifier [147, 15] - [147, 18])
attribute: (jsx_attribute [147, 19] - [147, 95]
(property_identifier [147, 19] - [147, 24])
(string [147, 25] - [147, 95]
(string_fragment [147, 26] - [147, 94]))))
(jsx_text [147, 96] - [148, 20])
(jsx_expression [148, 20] - [148, 43]
(binary_expression [148, 21] - [148, 42]
left: (member_expression [148, 21] - [148, 35]
object: (identifier [148, 21] - [148, 24])
property: (property_identifier [148, 25] - [148, 35]))
right: (string [148, 39] - [148, 42]
(string_fragment [148, 40] - [148, 41]))))
close_tag: (jsx_closing_element [149, 14] - [149, 20]
name: (identifier [149, 16] - [149, 19])))
close_tag: (jsx_closing_element [150, 12] - [150, 18]
name: (identifier [150, 14] - [150, 17]))))))))))
close_tag: (jsx_closing_element [153, 6] - [153, 12]
name: (identifier [153, 8] - [153, 11])))
(jsx_element [155, 6] - [166, 14]
open_tag: (jsx_opening_element [155, 6] - [155, 13]
name: (identifier [155, 7] - [155, 12]))
(jsx_expression [156, 8] - [165, 10]
(template_string [156, 9] - [165, 9]
(string_fragment [156, 10] - [165, 8])))
close_tag: (jsx_closing_element [166, 6] - [166, 14]
name: (identifier [166, 8] - [166, 13])))
(jsx_element [168, 6] - [168, 54]
open_tag: (jsx_opening_element [168, 6] - [168, 45]
name: (identifier [168, 7] - [168, 13])
attribute: (jsx_attribute [168, 14] - [168, 44]
(property_identifier [168, 14] - [168, 17])
(string [168, 18] - [168, 44]
(string_fragment [168, 19] - [168, 43]))))
close_tag: (jsx_closing_element [168, 45] - [168, 54]
name: (identifier [168, 47] - [168, 53])))
close_tag: (jsx_closing_element [169, 4] - [169, 26]
name: (identifier [169, 6] - [169, 25])))))))))))