@genesislcap/expression-builder 14.251.2 → 14.251.3-alpha-335acc7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -659,41 +659,6 @@
659
659
  }
660
660
  ]
661
661
  },
662
- {
663
- "kind": "javascript-module",
664
- "path": "src/types/index.ts",
665
- "declarations": [],
666
- "exports": [
667
- {
668
- "kind": "js",
669
- "name": "*",
670
- "declaration": {
671
- "name": "*",
672
- "package": "./public.types"
673
- }
674
- },
675
- {
676
- "kind": "js",
677
- "name": "*",
678
- "declaration": {
679
- "name": "*",
680
- "package": "./private.types"
681
- }
682
- }
683
- ]
684
- },
685
- {
686
- "kind": "javascript-module",
687
- "path": "src/types/private.types.ts",
688
- "declarations": [],
689
- "exports": []
690
- },
691
- {
692
- "kind": "javascript-module",
693
- "path": "src/types/public.types.ts",
694
- "declarations": [],
695
- "exports": []
696
- },
697
662
  {
698
663
  "kind": "javascript-module",
699
664
  "path": "src/utils/data-model.ts",
@@ -943,6 +908,41 @@
943
908
  }
944
909
  ]
945
910
  },
911
+ {
912
+ "kind": "javascript-module",
913
+ "path": "src/types/index.ts",
914
+ "declarations": [],
915
+ "exports": [
916
+ {
917
+ "kind": "js",
918
+ "name": "*",
919
+ "declaration": {
920
+ "name": "*",
921
+ "package": "./public.types"
922
+ }
923
+ },
924
+ {
925
+ "kind": "js",
926
+ "name": "*",
927
+ "declaration": {
928
+ "name": "*",
929
+ "package": "./private.types"
930
+ }
931
+ }
932
+ ]
933
+ },
934
+ {
935
+ "kind": "javascript-module",
936
+ "path": "src/types/private.types.ts",
937
+ "declarations": [],
938
+ "exports": []
939
+ },
940
+ {
941
+ "kind": "javascript-module",
942
+ "path": "src/types/public.types.ts",
943
+ "declarations": [],
944
+ "exports": []
945
+ },
946
946
  {
947
947
  "kind": "javascript-module",
948
948
  "path": "src/main/expression-group/expression-group.styles.ts",
@@ -1150,6 +1150,120 @@
1150
1150
  }
1151
1151
  ]
1152
1152
  },
1153
+ {
1154
+ "kind": "javascript-module",
1155
+ "path": "src/main/rule-field/rule-field.template.ts",
1156
+ "declarations": [
1157
+ {
1158
+ "kind": "variable",
1159
+ "name": "template",
1160
+ "default": "html<RuleField>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleField>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.dispatchFieldsChanged(c.event)}\n value=${(x) => x.field?.fieldId}\n >\n <${optionTag} value=\"\">Select a field</${optionTag}>\n ${repeat(\n (x) => x.groupedFieldss,\n html<{ optgroup: string | null; xs: Field[] } | Field, RuleField>`\n ${(groupOrFields) => {\n if ('xs' in groupOrFields) {\n return html<{\n optgroup: string | null;\n xs: Field[];\n }>`\n <${optgroupTag} label=\"${(x) => x.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parentContext.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1161
+ }
1162
+ ],
1163
+ "exports": [
1164
+ {
1165
+ "kind": "js",
1166
+ "name": "template",
1167
+ "declaration": {
1168
+ "name": "template",
1169
+ "module": "src/main/rule-field/rule-field.template.ts"
1170
+ }
1171
+ }
1172
+ ]
1173
+ },
1174
+ {
1175
+ "kind": "javascript-module",
1176
+ "path": "src/main/rule-field/rule-field.ts",
1177
+ "declarations": [
1178
+ {
1179
+ "kind": "class",
1180
+ "description": "",
1181
+ "name": "RuleField",
1182
+ "members": [
1183
+ {
1184
+ "kind": "field",
1185
+ "name": "fields",
1186
+ "type": {
1187
+ "text": "Field[]"
1188
+ },
1189
+ "default": "[]"
1190
+ },
1191
+ {
1192
+ "kind": "field",
1193
+ "name": "field",
1194
+ "type": {
1195
+ "text": "Field"
1196
+ }
1197
+ },
1198
+ {
1199
+ "kind": "field",
1200
+ "name": "config",
1201
+ "type": {
1202
+ "text": "Config"
1203
+ }
1204
+ },
1205
+ {
1206
+ "kind": "field",
1207
+ "name": "styles",
1208
+ "type": {
1209
+ "text": "Styles | undefined"
1210
+ }
1211
+ },
1212
+ {
1213
+ "kind": "field",
1214
+ "name": "groupedFieldss",
1215
+ "type": {
1216
+ "text": "(Field | { optgroup: string | null; xs: Field[] })[]"
1217
+ },
1218
+ "readonly": true
1219
+ },
1220
+ {
1221
+ "kind": "method",
1222
+ "name": "dispatchFieldsChanged",
1223
+ "parameters": [
1224
+ {
1225
+ "name": "event",
1226
+ "type": {
1227
+ "text": "Event"
1228
+ }
1229
+ }
1230
+ ]
1231
+ }
1232
+ ],
1233
+ "events": [
1234
+ {
1235
+ "type": {
1236
+ "text": "CustomEvent"
1237
+ }
1238
+ }
1239
+ ],
1240
+ "superclass": {
1241
+ "name": "GenesisElement",
1242
+ "package": "@genesislcap/web-core"
1243
+ },
1244
+ "tagName": "expression-rule-field",
1245
+ "customElement": true
1246
+ }
1247
+ ],
1248
+ "exports": [
1249
+ {
1250
+ "kind": "js",
1251
+ "name": "RuleField",
1252
+ "declaration": {
1253
+ "name": "RuleField",
1254
+ "module": "src/main/rule-field/rule-field.ts"
1255
+ }
1256
+ },
1257
+ {
1258
+ "kind": "custom-element-definition",
1259
+ "name": "expression-rule-field",
1260
+ "declaration": {
1261
+ "name": "RuleField",
1262
+ "module": "src/main/rule-field/rule-field.ts"
1263
+ }
1264
+ }
1265
+ ]
1266
+ },
1153
1267
  {
1154
1268
  "kind": "javascript-module",
1155
1269
  "path": "src/main/expression-rule/expression-rule.helpers.ts",
@@ -1417,284 +1531,40 @@
1417
1531
  },
1418
1532
  {
1419
1533
  "kind": "javascript-module",
1420
- "path": "src/main/rule-operator/rule-operator.template.ts",
1421
- "declarations": [
1422
- {
1423
- "kind": "variable",
1424
- "name": "template",
1425
- "default": "html<RuleOperator>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleOperator>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.handleOperatorChange(c.event)}\n value=${(x) => x.operator?.type}\n >\n <${optionTag} value=\"\">Select an operator</${optionTag}>\n ${repeat(\n (x) => x.groupedOperators,\n html<{ optgroup: string | null; xs: Operator[] } | Operator, RuleOperator>`\n ${(groupOrOperator) => {\n if ('xs' in groupOrOperator) {\n return html<{ optgroup: string | null; xs: Operator[] }, RuleOperator>`\n <${optgroupTag} label=\"${groupOrOperator.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Operator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => x.type === c.parentContext.parent.operator?.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Operator, RuleOperator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => c.parent.operator?.type === x.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1426
- }
1427
- ],
1428
- "exports": [
1429
- {
1430
- "kind": "js",
1431
- "name": "template",
1432
- "declaration": {
1433
- "name": "template",
1434
- "module": "src/main/rule-operator/rule-operator.template.ts"
1435
- }
1436
- }
1437
- ]
1438
- },
1439
- {
1440
- "kind": "javascript-module",
1441
- "path": "src/main/rule-operator/rule-operator.ts",
1534
+ "path": "src/main/rule-value/rule-value.helpers.ts",
1442
1535
  "declarations": [
1443
1536
  {
1444
- "kind": "class",
1445
- "description": "",
1446
- "name": "RuleOperator",
1447
- "members": [
1448
- {
1449
- "kind": "field",
1450
- "name": "operators",
1451
- "type": {
1452
- "text": "Operator[]"
1453
- },
1454
- "default": "[]"
1455
- },
1537
+ "kind": "function",
1538
+ "name": "isIntType",
1539
+ "parameters": [
1456
1540
  {
1457
- "kind": "field",
1458
- "name": "operator",
1541
+ "name": "type",
1459
1542
  "type": {
1460
- "text": "Operator"
1543
+ "text": "Field['type']"
1461
1544
  }
1462
- },
1545
+ }
1546
+ ]
1547
+ },
1548
+ {
1549
+ "kind": "function",
1550
+ "name": "isFloatType",
1551
+ "parameters": [
1463
1552
  {
1464
- "kind": "field",
1465
- "name": "field",
1553
+ "name": "type",
1466
1554
  "type": {
1467
- "text": "Field | null"
1468
- },
1469
- "default": "null"
1470
- },
1555
+ "text": "Field['type']"
1556
+ }
1557
+ }
1558
+ ]
1559
+ },
1560
+ {
1561
+ "kind": "function",
1562
+ "name": "pattern",
1563
+ "parameters": [
1471
1564
  {
1472
- "kind": "field",
1473
- "name": "config",
1565
+ "name": "type",
1474
1566
  "type": {
1475
- "text": "Config"
1476
- }
1477
- },
1478
- {
1479
- "kind": "field",
1480
- "name": "styles",
1481
- "type": {
1482
- "text": "Styles | undefined"
1483
- }
1484
- },
1485
- {
1486
- "kind": "field",
1487
- "name": "allowedOperators",
1488
- "type": {
1489
- "text": "Operator[]"
1490
- },
1491
- "readonly": true
1492
- },
1493
- {
1494
- "kind": "field",
1495
- "name": "groupedOperators",
1496
- "type": {
1497
- "text": "(Operator | { optgroup: string | null; xs: Operator[] })[]"
1498
- },
1499
- "readonly": true
1500
- },
1501
- {
1502
- "kind": "method",
1503
- "name": "handleOperatorChange",
1504
- "parameters": [
1505
- {
1506
- "name": "event",
1507
- "type": {
1508
- "text": "Event"
1509
- }
1510
- }
1511
- ]
1512
- }
1513
- ],
1514
- "events": [
1515
- {
1516
- "type": {
1517
- "text": "CustomEvent"
1518
- }
1519
- }
1520
- ],
1521
- "superclass": {
1522
- "name": "GenesisElement",
1523
- "package": "@genesislcap/web-core"
1524
- },
1525
- "tagName": "expression-rule-operator",
1526
- "customElement": true
1527
- }
1528
- ],
1529
- "exports": [
1530
- {
1531
- "kind": "js",
1532
- "name": "RuleOperator",
1533
- "declaration": {
1534
- "name": "RuleOperator",
1535
- "module": "src/main/rule-operator/rule-operator.ts"
1536
- }
1537
- },
1538
- {
1539
- "kind": "custom-element-definition",
1540
- "name": "expression-rule-operator",
1541
- "declaration": {
1542
- "name": "RuleOperator",
1543
- "module": "src/main/rule-operator/rule-operator.ts"
1544
- }
1545
- }
1546
- ]
1547
- },
1548
- {
1549
- "kind": "javascript-module",
1550
- "path": "src/main/rule-field/rule-field.template.ts",
1551
- "declarations": [
1552
- {
1553
- "kind": "variable",
1554
- "name": "template",
1555
- "default": "html<RuleField>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleField>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.dispatchFieldsChanged(c.event)}\n value=${(x) => x.field?.fieldId}\n >\n <${optionTag} value=\"\">Select a field</${optionTag}>\n ${repeat(\n (x) => x.groupedFieldss,\n html<{ optgroup: string | null; xs: Field[] } | Field, RuleField>`\n ${(groupOrFields) => {\n if ('xs' in groupOrFields) {\n return html<{\n optgroup: string | null;\n xs: Field[];\n }>`\n <${optgroupTag} label=\"${(x) => x.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parentContext.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1556
- }
1557
- ],
1558
- "exports": [
1559
- {
1560
- "kind": "js",
1561
- "name": "template",
1562
- "declaration": {
1563
- "name": "template",
1564
- "module": "src/main/rule-field/rule-field.template.ts"
1565
- }
1566
- }
1567
- ]
1568
- },
1569
- {
1570
- "kind": "javascript-module",
1571
- "path": "src/main/rule-field/rule-field.ts",
1572
- "declarations": [
1573
- {
1574
- "kind": "class",
1575
- "description": "",
1576
- "name": "RuleField",
1577
- "members": [
1578
- {
1579
- "kind": "field",
1580
- "name": "fields",
1581
- "type": {
1582
- "text": "Field[]"
1583
- },
1584
- "default": "[]"
1585
- },
1586
- {
1587
- "kind": "field",
1588
- "name": "field",
1589
- "type": {
1590
- "text": "Field"
1591
- }
1592
- },
1593
- {
1594
- "kind": "field",
1595
- "name": "config",
1596
- "type": {
1597
- "text": "Config"
1598
- }
1599
- },
1600
- {
1601
- "kind": "field",
1602
- "name": "styles",
1603
- "type": {
1604
- "text": "Styles | undefined"
1605
- }
1606
- },
1607
- {
1608
- "kind": "field",
1609
- "name": "groupedFieldss",
1610
- "type": {
1611
- "text": "(Field | { optgroup: string | null; xs: Field[] })[]"
1612
- },
1613
- "readonly": true
1614
- },
1615
- {
1616
- "kind": "method",
1617
- "name": "dispatchFieldsChanged",
1618
- "parameters": [
1619
- {
1620
- "name": "event",
1621
- "type": {
1622
- "text": "Event"
1623
- }
1624
- }
1625
- ]
1626
- }
1627
- ],
1628
- "events": [
1629
- {
1630
- "type": {
1631
- "text": "CustomEvent"
1632
- }
1633
- }
1634
- ],
1635
- "superclass": {
1636
- "name": "GenesisElement",
1637
- "package": "@genesislcap/web-core"
1638
- },
1639
- "tagName": "expression-rule-field",
1640
- "customElement": true
1641
- }
1642
- ],
1643
- "exports": [
1644
- {
1645
- "kind": "js",
1646
- "name": "RuleField",
1647
- "declaration": {
1648
- "name": "RuleField",
1649
- "module": "src/main/rule-field/rule-field.ts"
1650
- }
1651
- },
1652
- {
1653
- "kind": "custom-element-definition",
1654
- "name": "expression-rule-field",
1655
- "declaration": {
1656
- "name": "RuleField",
1657
- "module": "src/main/rule-field/rule-field.ts"
1658
- }
1659
- }
1660
- ]
1661
- },
1662
- {
1663
- "kind": "javascript-module",
1664
- "path": "src/main/rule-value/rule-value.helpers.ts",
1665
- "declarations": [
1666
- {
1667
- "kind": "function",
1668
- "name": "isIntType",
1669
- "parameters": [
1670
- {
1671
- "name": "type",
1672
- "type": {
1673
- "text": "Field['type']"
1674
- }
1675
- }
1676
- ]
1677
- },
1678
- {
1679
- "kind": "function",
1680
- "name": "isFloatType",
1681
- "parameters": [
1682
- {
1683
- "name": "type",
1684
- "type": {
1685
- "text": "Field['type']"
1686
- }
1687
- }
1688
- ]
1689
- },
1690
- {
1691
- "kind": "function",
1692
- "name": "pattern",
1693
- "parameters": [
1694
- {
1695
- "name": "type",
1696
- "type": {
1697
- "text": "Field['type']"
1567
+ "text": "Field['type']"
1698
1568
  }
1699
1569
  }
1700
1570
  ]
@@ -1966,6 +1836,136 @@
1966
1836
  }
1967
1837
  }
1968
1838
  ]
1839
+ },
1840
+ {
1841
+ "kind": "javascript-module",
1842
+ "path": "src/main/rule-operator/rule-operator.template.ts",
1843
+ "declarations": [
1844
+ {
1845
+ "kind": "variable",
1846
+ "name": "template",
1847
+ "default": "html<RuleOperator>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleOperator>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.handleOperatorChange(c.event)}\n value=${(x) => x.operator?.type}\n >\n <${optionTag} value=\"\">Select an operator</${optionTag}>\n ${repeat(\n (x) => x.groupedOperators,\n html<{ optgroup: string | null; xs: Operator[] } | Operator, RuleOperator>`\n ${(groupOrOperator) => {\n if ('xs' in groupOrOperator) {\n return html<{ optgroup: string | null; xs: Operator[] }, RuleOperator>`\n <${optgroupTag} label=\"${groupOrOperator.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Operator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => x.type === c.parentContext.parent.operator?.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Operator, RuleOperator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => c.parent.operator?.type === x.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1848
+ }
1849
+ ],
1850
+ "exports": [
1851
+ {
1852
+ "kind": "js",
1853
+ "name": "template",
1854
+ "declaration": {
1855
+ "name": "template",
1856
+ "module": "src/main/rule-operator/rule-operator.template.ts"
1857
+ }
1858
+ }
1859
+ ]
1860
+ },
1861
+ {
1862
+ "kind": "javascript-module",
1863
+ "path": "src/main/rule-operator/rule-operator.ts",
1864
+ "declarations": [
1865
+ {
1866
+ "kind": "class",
1867
+ "description": "",
1868
+ "name": "RuleOperator",
1869
+ "members": [
1870
+ {
1871
+ "kind": "field",
1872
+ "name": "operators",
1873
+ "type": {
1874
+ "text": "Operator[]"
1875
+ },
1876
+ "default": "[]"
1877
+ },
1878
+ {
1879
+ "kind": "field",
1880
+ "name": "operator",
1881
+ "type": {
1882
+ "text": "Operator"
1883
+ }
1884
+ },
1885
+ {
1886
+ "kind": "field",
1887
+ "name": "field",
1888
+ "type": {
1889
+ "text": "Field | null"
1890
+ },
1891
+ "default": "null"
1892
+ },
1893
+ {
1894
+ "kind": "field",
1895
+ "name": "config",
1896
+ "type": {
1897
+ "text": "Config"
1898
+ }
1899
+ },
1900
+ {
1901
+ "kind": "field",
1902
+ "name": "styles",
1903
+ "type": {
1904
+ "text": "Styles | undefined"
1905
+ }
1906
+ },
1907
+ {
1908
+ "kind": "field",
1909
+ "name": "allowedOperators",
1910
+ "type": {
1911
+ "text": "Operator[]"
1912
+ },
1913
+ "readonly": true
1914
+ },
1915
+ {
1916
+ "kind": "field",
1917
+ "name": "groupedOperators",
1918
+ "type": {
1919
+ "text": "(Operator | { optgroup: string | null; xs: Operator[] })[]"
1920
+ },
1921
+ "readonly": true
1922
+ },
1923
+ {
1924
+ "kind": "method",
1925
+ "name": "handleOperatorChange",
1926
+ "parameters": [
1927
+ {
1928
+ "name": "event",
1929
+ "type": {
1930
+ "text": "Event"
1931
+ }
1932
+ }
1933
+ ]
1934
+ }
1935
+ ],
1936
+ "events": [
1937
+ {
1938
+ "type": {
1939
+ "text": "CustomEvent"
1940
+ }
1941
+ }
1942
+ ],
1943
+ "superclass": {
1944
+ "name": "GenesisElement",
1945
+ "package": "@genesislcap/web-core"
1946
+ },
1947
+ "tagName": "expression-rule-operator",
1948
+ "customElement": true
1949
+ }
1950
+ ],
1951
+ "exports": [
1952
+ {
1953
+ "kind": "js",
1954
+ "name": "RuleOperator",
1955
+ "declaration": {
1956
+ "name": "RuleOperator",
1957
+ "module": "src/main/rule-operator/rule-operator.ts"
1958
+ }
1959
+ },
1960
+ {
1961
+ "kind": "custom-element-definition",
1962
+ "name": "expression-rule-operator",
1963
+ "declaration": {
1964
+ "name": "RuleOperator",
1965
+ "module": "src/main/rule-operator/rule-operator.ts"
1966
+ }
1967
+ }
1968
+ ]
1969
1969
  }
1970
1970
  ]
1971
1971
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/expression-builder",
3
3
  "description": "Genesis Foundation Expression Builder",
4
- "version": "14.251.2",
4
+ "version": "14.251.3-alpha-335acc7.0",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/expression-builder.d.ts",
@@ -62,5 +62,5 @@
62
62
  "access": "public"
63
63
  },
64
64
  "customElements": "dist/custom-elements.json",
65
- "gitHead": "328275e4c0bc2bf60422f750f9a0dc4e081a81b4"
65
+ "gitHead": "b0dd4a5da085c5739b7a711dc86c7e07e012dfd3"
66
66
  }