nsthorat commited on
Commit
815971e
1 Parent(s): 170457c
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .env +3 -1
  2. .gitattributes +0 -10
  3. data/concept/lilac/legal-termination/concept.json +0 -184
  4. data/concept/lilac/legal-termination/sbert.pkl +0 -0
  5. data/concept/lilac/negative-sentiment/concept.json +0 -629
  6. data/concept/lilac/positive-sentiment/concept.json +0 -564
  7. data/concept/lilac/profanity/cohere.pkl +0 -3
  8. data/concept/lilac/profanity/concept.json +0 -0
  9. data/concept/lilac/profanity/openai.pkl +0 -3
  10. data/concept/lilac/profanity/sbert.pkl +0 -0
  11. data/concept/lilac/toxicity/cohere.pkl +0 -3
  12. data/concept/lilac/toxicity/concept.json +0 -0
  13. data/concept/lilac/toxicity/openai.pkl +0 -3
  14. data/concept/lilac/toxicity/sbert.pkl +0 -0
  15. data/datasets/local/spotify/data-00000-of-00001.parquet +0 -3
  16. data/datasets/local/spotify/manifest.json +0 -27
  17. data/datasets/local/spotify/settings.json +0 -1
  18. data/datasets/local/spotify/text/lang_detection/data-00000-of-00001.parquet +0 -3
  19. data/datasets/local/spotify/text/lang_detection/signal_manifest.json +0 -36
  20. data/datasets/local/spotify/text/sbert/data-00000-of-00001.parquet +0 -3
  21. data/datasets/local/spotify/text/sbert/embedding/local/outerspace/v34/data-00000-of-00001.parquet +0 -3
  22. data/datasets/local/spotify/text/sbert/embedding/local/outerspace/v34/signal_manifest.json +0 -64
  23. data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.keys.pkl +0 -3
  24. data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.npy +0 -3
  25. data/datasets/local/spotify/text/sbert/signal_manifest.json +0 -37
  26. src/data/dataset.py +7 -13
  27. src/data/dataset_duckdb.py +25 -20
  28. src/data/dataset_test_utils.py +3 -0
  29. src/data/dataset_utils.py +0 -5
  30. src/data/sources/gmail_source.py +22 -9
  31. src/embeddings/cohere.py +12 -4
  32. src/embeddings/openai.py +14 -4
  33. src/embeddings/palm.py +14 -4
  34. src/embeddings/sbert.py +11 -4
  35. src/router_concept.py +6 -1
  36. src/router_google_login.py +0 -4
  37. src/signals/lang_detection.py +18 -8
  38. src/signals/ner.py +11 -3
  39. src/signals/pii.py +6 -2
  40. src/signals/splitters/text_splitter_spacy.py +13 -4
  41. src/signals/text_statistics.py +19 -8
  42. web/blueprint/build/_app/immutable/assets/{4.7d283b37.css → 4.7ce19c6b.css} +1 -1
  43. web/blueprint/build/_app/immutable/assets/{_page.7d283b37.css → _page.7ce19c6b.css} +1 -1
  44. web/blueprint/build/_app/immutable/chunks/ConceptView.90603a57.js +0 -0
  45. web/blueprint/build/_app/immutable/chunks/ConceptView.9ffb368c.js +0 -0
  46. web/blueprint/build/_app/immutable/chunks/{Page.26ea9e23.js → Page.09ad5433.js} +4 -4
  47. web/blueprint/build/_app/immutable/chunks/singletons.458f7630.js +1 -0
  48. web/blueprint/build/_app/immutable/chunks/singletons.e6bab986.js +0 -1
  49. web/blueprint/build/_app/immutable/chunks/{utils.6a7a160e.js → utils.ab012edd.js} +0 -0
  50. web/blueprint/build/_app/immutable/entry/{app.b7b1ef9f.js → app.2396d62d.js} +1 -1
.env CHANGED
@@ -31,8 +31,10 @@ DUCKDB_USE_VIEWS=0
31
  # The default repo to deploy to for a staging demo. Can be overridden by a command line flag.
32
  # HF_STAGING_DEMO_REPO='HF_ORG/HF_REPO_NAME'
33
 
34
- # For Google-login. Google
 
35
  GOOGLE_CLIENT_ID='942419045422-is7nf3iau61cuv5pf66ilto947i2m20e.apps.googleusercontent.com'
 
36
  # GOOGLE_CLIENT_SECRET=
37
  # A random string for oauth sessions.
38
  # LILAC_OAUTH_SECRET_KEY
 
31
  # The default repo to deploy to for a staging demo. Can be overridden by a command line flag.
32
  # HF_STAGING_DEMO_REPO='HF_ORG/HF_REPO_NAME'
33
 
34
+ # For Google-login. This is generated from the Google Cloud Console for a web client.
35
+ # See: https://developers.google.com/identity/protocols/oauth2
36
  GOOGLE_CLIENT_ID='942419045422-is7nf3iau61cuv5pf66ilto947i2m20e.apps.googleusercontent.com'
37
+ # The client secret of the above client.
38
  # GOOGLE_CLIENT_SECRET=
39
  # A random string for oauth sessions.
40
  # LILAC_OAUTH_SECRET_KEY
.gitattributes DELETED
@@ -1,10 +0,0 @@
1
- data/datasets/local/spotify/data-00000-of-00001.parquet filter=lfs diff=lfs merge=lfs -text
2
- data/datasets/local/spotify/text/lang_detection/data-00000-of-00001.parquet filter=lfs diff=lfs merge=lfs -text
3
- data/datasets/local/spotify/text/sbert/data-00000-of-00001.parquet filter=lfs diff=lfs merge=lfs -text
4
- data/datasets/local/spotify/text/sbert/embedding/local/outerspace/v34/data-00000-of-00001.parquet filter=lfs diff=lfs merge=lfs -text
5
- data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.keys.pkl filter=lfs diff=lfs merge=lfs -text
6
- data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.npy filter=lfs diff=lfs merge=lfs -text
7
- data/concept/lilac/toxicity/cohere.pkl filter=lfs diff=lfs merge=lfs -text
8
- data/concept/lilac/toxicity/openai.pkl filter=lfs diff=lfs merge=lfs -text
9
- data/concept/lilac/profanity/cohere.pkl filter=lfs diff=lfs merge=lfs -text
10
- data/concept/lilac/profanity/openai.pkl filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
data/concept/lilac/legal-termination/concept.json DELETED
@@ -1,184 +0,0 @@
1
- {
2
- "namespace": "lilac",
3
- "concept_name": "legal-termination",
4
- "type": "text",
5
- "data": {
6
- "731b1338cf1949958c3526c555f88058": {
7
- "label": true,
8
- "text": "In the event that any provision of this agreement is found to be unenforceable, the remaining provisions shall continue to be valid and binding.",
9
- "id": "731b1338cf1949958c3526c555f88058"
10
- },
11
- "99a20e547e38474dbc24507a1658d0c9": {
12
- "label": true,
13
- "text": "The parties agree that in the event of a natural disaster or other unforeseen event, both parties will make reasonable efforts to fulfill their obligations under this contract.",
14
- "id": "99a20e547e38474dbc24507a1658d0c9"
15
- },
16
- "3f27b47c526a4c5896a0a100024535c7": {
17
- "label": true,
18
- "text": "If any party breaches the terms of this agreement, the non-breaching party shall have the right to seek legal remedies.",
19
- "id": "3f27b47c526a4c5896a0a100024535c7"
20
- },
21
- "d403dbb1ab9c4594bc7f7dcb0ad5b333": {
22
- "label": true,
23
- "text": "This lease agreement shall survive the termination or expiration of the lease term, and continue to be binding upon the parties.",
24
- "id": "d403dbb1ab9c4594bc7f7dcb0ad5b333"
25
- },
26
- "b7deba9f7e80444abe14448f53f45c43": {
27
- "label": true,
28
- "text": "In the event of a dispute arising from this contract, the parties agree to first attempt to resolve the dispute through mediation before pursuing any legal action.",
29
- "id": "b7deba9f7e80444abe14448f53f45c43"
30
- },
31
- "a82231b490174e62aad733cb0c75024d": {
32
- "label": true,
33
- "text": "This Agreement may be terminated, and the transactions contemplated hereby may be abandoned, at any time prior to the Effective Time, whether prior to or after the Company Stockholders' Approval:",
34
- "id": "a82231b490174e62aad733cb0c75024d"
35
- },
36
- "160b25dbf14e4759a0065bbd652ce33f": {
37
- "label": true,
38
- "text": "This Agreement may be terminated and abandoned at any time prior to the Effective Time of the Merger, whether before or after the Company Stockholder Approval:",
39
- "id": "160b25dbf14e4759a0065bbd652ce33f"
40
- },
41
- "8f5f9f96b16441228bb0c9b8a14c4e25": {
42
- "label": false,
43
- "text": "any jurisdiction, then such provision shall, as to such jurisdiction, be modified or restricted to the extent necessary to make such provision valid, binding and enforceable, or if such provision cannot be so modified or restricted, then such provision shall, as to such jurisdiction, be deemed to be excised from this Agreement; provided, however, that the legality, binding effect and",
44
- "id": "8f5f9f96b16441228bb0c9b8a14c4e25"
45
- },
46
- "87b6c31b04a346b4a3e0da8d2cc5a7ac": {
47
- "label": true,
48
- "text": "This Agreement shall terminate automatically without any further action by any party hereto upon the earliest to occur of (a) the Effective Time of the Merger, (b) the termination of the Merger Agreement in accordance with its terms and (c) any amendment or other modification of the Merger Agreement that reduces the amount of the Merger Consideration or provides that the Merger Consideration shall",
49
- "id": "87b6c31b04a346b4a3e0da8d2cc5a7ac"
50
- },
51
- "985344f7ecfb41f4a69ba101973221a1": {
52
- "label": false,
53
- "text": " During the Employment Period, the Corporation shall pay ----------- the Executive a base salary which, as of the commencement of the Employment Period, shall be at an annual rate of Two Hundred Fifty Thousand Dollars ($250,000). The base salary shall be payable in equal periodic installments which are not less frequent than the periodic installments in effect for salaries of other senior",
54
- "id": "985344f7ecfb41f4a69ba101973221a1"
55
- },
56
- "5d53ff48376046fdab41e95c7f4bad54": {
57
- "label": true,
58
- "text": "This Agreement may be terminated at any time prior to the Closing Date solely:",
59
- "id": "5d53ff48376046fdab41e95c7f4bad54"
60
- },
61
- "bdeb785be2154b21b4eb052466fa9bcb": {
62
- "label": true,
63
- "text": "(a) This Agreement may be terminated by you by notice to the Company at any time prior to the Closing Date if any of the following has occurred: (i) since the respective dates as of which information is given in the Registration Statement and the Prospectus, any material adverse change or any development involving a prospective material adverse change in or affecting the earnings, busi ness,",
64
- "id": "bdeb785be2154b21b4eb052466fa9bcb"
65
- },
66
- "fe6871e9070441f8a9e4b3db26b077d7": {
67
- "label": true,
68
- "text": "Section 3(b), this Section 7 and Section 8 of this Agreement shall survive a termination of this Agreement pursuant to (a) or (b) above in this Section 7 until the date that is two years following the date of such termination. Notwithstanding anything else to the contrary contained herein or in the Merger Agreement, if the Effective Time occurs, the representations and warranties contained in",
69
- "id": "fe6871e9070441f8a9e4b3db26b077d7"
70
- },
71
- "bf1a51751d0748e58c344aec8e5fc789": {
72
- "label": false,
73
- "text": "This Agreement may be executed in one or more counterparts (including counterparts executed and delivered by facsimile, which shall be as counterparts executed and delivered manually), all of which shall be considered one and the same agreement and shall become effective when one or more counterparts have been signed by each of the parties and delivered to the other party, it being understood that",
74
- "id": "bf1a51751d0748e58c344aec8e5fc789"
75
- },
76
- "bc1b2affa6d848fd92d4dee033e30659": {
77
- "label": false,
78
- "text": "would, in your judgment, make it impracticable or inadvisable to market the Units or to enforce contracts for the sale of the Units, (iii) suspension of trading in securities generally on the New York Stock Exchange, the American Stock Exchange or the Nasdaq National Market or limitation on prices (other than limitations on hours or numbers of days of trading) for securities on any such Exchange,",
79
- "id": "bc1b2affa6d848fd92d4dee033e30659"
80
- },
81
- "67a73d5887f74a91bed190ca8f64b17c": {
82
- "label": false,
83
- "text": " The authorized capital stock of FM consists of 1,000 shares of Common Stock, no par value each, of which 1,000 shares are issued and outstanding. There are no outstanding or authorized options, warrants, calls, subscriptions, rights (including any preemptive rights or rights of first refusal), agreements or commitments of any character obligating FM to issue any stock or any other Equity",
84
- "id": "67a73d5887f74a91bed190ca8f64b17c"
85
- },
86
- "025b2ca5147849c8a921d9aaa31cd9cd": {
87
- "label": false,
88
- "text": "Taxes that are being contested in good faith by appropriate proceedings, provided that Holdings, the Borrower or Restricted Subsidiary, as the case may be, has set aside on its books adequate reserves therefor in accordance with GAAP.",
89
- "id": "025b2ca5147849c8a921d9aaa31cd9cd"
90
- },
91
- "76acff27f13743f4822a094c707d8b75": {
92
- "label": false,
93
- "text": "have been a suspension or material limitation in trading in the Company\u2019s common stock on the New York Stock Exchange; (iii) there shall have been a general moratorium on commercial banking activities declared by either federal or New York state authorities or a material disruption in commercial banking or securities settlement or clearance services in the United States; (iv) there shall have been",
94
- "id": "76acff27f13743f4822a094c707d8b75"
95
- },
96
- "b11a95c0eb564445b1a473e90622f861": {
97
- "label": true,
98
- "text": "10.1. This Agreement will terminate:",
99
- "id": "b11a95c0eb564445b1a473e90622f861"
100
- },
101
- "d536428a02084d94ba18d412851cb913": {
102
- "label": false,
103
- "text": "may not be limited to his Base Salary and that the Employee may receive an annual bonus in the amount, if any, determined annually by the Employer. The Employee shall also participate in employee compensation and benefit plans available generally to executives of the Employer (including, without limitation, any tax-qualified profit sharing plan, nonqualified profit sharing plan, life insurance",
104
- "id": "d536428a02084d94ba18d412851cb913"
105
- },
106
- "368bb1d9c7d0419d9ca58f28565eeb2e": {
107
- "label": true,
108
- "text": "This Agreement may be terminated in the absolute discretion of the Representatives, by notice to the Bank, if after execution and delivery of this Agreement and prior to the Closing Date (i) there has been, since the date of this Agreement or since the respective dates as of which information is given in the Registration Statement, the Time of Sale Information or the Prospectus, any material",
109
- "id": "368bb1d9c7d0419d9ca58f28565eeb2e"
110
- },
111
- "1b5fd7b037a84404bf85c858953c79e8": {
112
- "label": true,
113
- "text": "however, (i) the right to terminate this Agreement under this Section 8 shall not be available to such Buyer if the failure of the transactions contemplated by this Agreement to have been consummated by such date is the result of such Buyer\u2019s breach of this Agreement and (ii) the abandonment of the sale and purchase of the Notes and the Warrants shall be applicable only to such Buyer providing",
114
- "id": "1b5fd7b037a84404bf85c858953c79e8"
115
- },
116
- "6d5a23d2663f457cab96df03d9dc8ab7": {
117
- "label": true,
118
- "text": "In addition, any Stockholder may terminate this Agreement if Weatherford, WEUS, or the Company breaches any representation, warranty, covenant or other agreement contained in the Merger Agreement that (A) would give rise to the failure of Weatherford, WEUS, or the Company to satisfy any condition set forth in Section 8.2(a) thereof, and (B) cannot be or has not been cured within 45 days after the",
119
- "id": "6d5a23d2663f457cab96df03d9dc8ab7"
120
- },
121
- "4a8223a48f83491b9b3eafd7ad37baf9": {
122
- "label": true,
123
- "text": "The obligations of the Underwriters hereunder may be terminated by the Representatives, in their absolute discretion, by notice given to and received by the Depositor or the Bank prior to delivery of and payment for the Notes if, prior to that time, any of the events described in Section 5(v) shall have occurred or any of the other conditions described in Section 5 shall not be satisfied.",
124
- "id": "4a8223a48f83491b9b3eafd7ad37baf9"
125
- },
126
- "fbb152eae00c440bb2d0df0fbd82c262": {
127
- "label": true,
128
- "text": "Either of the parties hereto may terminate this Agreement by giving to the other party a notice in writing specifying the date of such termination, which shall be not less than 60 days after the date of receipt of such notice. In the event such notice is given by the Customer, it shall be accompanied by a copy of a resolution of the Board of Directors of the Customer, certified by its Secretary,",
129
- "id": "fbb152eae00c440bb2d0df0fbd82c262"
130
- },
131
- "1d21880f426c45ada31409d22815cc87": {
132
- "label": false,
133
- "text": "Prospectus or the Final Prospectus (exclusive of any amendment or supplement thereof or thereto after the date hereof).",
134
- "id": "1d21880f426c45ada31409d22815cc87"
135
- },
136
- "795cac72a3504740bc7401a84fc6fba4": {
137
- "label": true,
138
- "text": "This Agreement may be terminated by the Customer or the Bank by giving ninety (90) days written notice to the other, provided that such notice to the Bank shall specify the names of the persons to whom the Bank shall deliver the Assets in the Accounts. If notice of termination is given by the Bank, the Customer shall, within ninety (90) days following receipt of the notice, deliver to the Bank Instructions specifying the names of the persons to whom the Bank shall deliver the Assets.",
139
- "id": "795cac72a3504740bc7401a84fc6fba4"
140
- },
141
- "3b82e6eba4894ac0b9f7f12aba2aab2e": {
142
- "label": false,
143
- "text": "of this Agreement, or to Authorized Persons, or may continue to hold the Assets until Instructions are provided to the Bank.",
144
- "id": "3b82e6eba4894ac0b9f7f12aba2aab2e"
145
- },
146
- "da16bd0e9dce4d4c87400eab61b9b14c": {
147
- "label": false,
148
- "text": "into force of the Convention. In such event, the Convention shall cease to have effect:",
149
- "id": "da16bd0e9dce4d4c87400eab61b9b14c"
150
- },
151
- "02cc328109984db094b0b02caec0d575": {
152
- "label": true,
153
- "text": "Survival. The rights and obligations contained in Sections 3 (\u201cOwnership of Work Product\u201d), 4 (\u201cOther Rights\u201d), 5 (\u201cLicense to Preexisting IP\u201d), 6 (\u201cRepresentations and Warranties\u201d), 8 (\u201cConfidential Information\u201d) and 12 (\u201cNon-solicitation\u201d) will survive any termination or expiration of this Agreement. ",
154
- "id": "02cc328109984db094b0b02caec0d575"
155
- },
156
- "f8edf65d9acf4ff4a04459a3492ac426": {
157
- "label": false,
158
- "text": "Severability. Should any provisions of this Agreement be held by a court of law to be illegal, invalid or unenforceable, the legality, validity and enforceability of the remaining provisions of this Agreement will not be affected or impaired thereby. ",
159
- "id": "f8edf65d9acf4ff4a04459a3492ac426"
160
- },
161
- "5a8517f359494ead8c11b6aff440480d": {
162
- "label": false,
163
- "text": "\u0095\tCommitted to deliver the best, we leave no room for customer grievances.\r\n\r\n",
164
- "id": "5a8517f359494ead8c11b6aff440480d"
165
- },
166
- "a47d327d0f6e46fc861f86b2e0e54a2f": {
167
- "label": false,
168
- "text": "the due diligence and using our agreement creator to close the deal successfully. \r",
169
- "id": "a47d327d0f6e46fc861f86b2e0e54a2f"
170
- },
171
- "811d0dcc92e14c5c881e903c7d4ff7b6": {
172
- "label": false,
173
- "text": "in accordance with customary procedures in the relevant markets, but in any event for a settlement period no longer than three months following the date of such commitment.",
174
- "id": "811d0dcc92e14c5c881e903c7d4ff7b6"
175
- },
176
- "907f92e0d5704418944a559a4bfb96c7": {
177
- "label": false,
178
- "text": "terminate in accordance with Section 2 of the Investors\u2019 Rights Agreement.",
179
- "id": "907f92e0d5704418944a559a4bfb96c7"
180
- }
181
- },
182
- "version": 33,
183
- "description": "Termination or survival clause in a legal document"
184
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/concept/lilac/legal-termination/sbert.pkl DELETED
Binary file (33.8 kB)
 
data/concept/lilac/negative-sentiment/concept.json DELETED
@@ -1,629 +0,0 @@
1
- {
2
- "namespace": "lilac",
3
- "concept_name": "negative-sentiment",
4
- "type": "text",
5
- "data": {
6
- "0": {
7
- "label": true,
8
- "text": "Starting To Be Annoyed By Becky...: I'm not sure why I keep reading these books, but I guess it's because I've read the first two so I'll keep reading the rest of the books. In the first book, I really found it amusing. I was a little annoyed by the fact that Becky couldn't stop spending, but then again that's why she is called a Shopaholic. In the second book, I felt more of the same it was just magniifed more. Now in the third book, I'm just down right annoyed by Becky Bloomwood. In this book, she wasn't going on crazy shopping sprees, just planning two different weddings because she was afraid to tell each person and because I feel she's really selfish. Still, I read the book because I wanted to see how she could get herself out of another situation. I will say that I love her friends Suze and Danny, her client Laurel and her husband Luke. Maybe that's why I keep reading. I will read the next book, but I'm sure I'll be just as annoyed when I'm done.",
9
- "id": "0"
10
- },
11
- "1": {
12
- "label": true,
13
- "text": "the cover is fine - the pool is horrible: The entire pool was horrible. The cover was fine once we got it on, but we finally got rid of the pool after 2 weeks because it was so hard to set up and keep clean.",
14
- "id": "1"
15
- },
16
- "2": {
17
- "label": false,
18
- "text": "Good album, not their best.: This album is probably the most marketable and radio friendly of all of dashboard's albums. For the peripheral listener it may be the right one to get to introduce you to this band. But as a Dashboard fan of 5 or so years I truly hope they return to their original sound for their next work. Not for the listen-ability but for the show. To this day the fans react best to the songs from \"Places\" or \"A Mark, A Mission.\" I recommend this album to everyone but I also recommend any and all of their other work.",
19
- "id": "2"
20
- },
21
- "3": {
22
- "label": true,
23
- "text": "This is a horror novel, right?: Never one to pass up any vampire novel, I purchased Sips because the description seemed interesting. Vampires, Marquis de Sade, fetishism, yada yada yada. If this is a comedy, I give it 4 stars; however, I'll give it 1 star as a horror novel. Sade was rather boring; I would think a character as intense and multi-faceted as the Marquis de Sade would make for a more interesting vampire. The writing style isn't too bad, but overall I found the characters to be mildly amusing at best. The plot was thin, the end was anti-climactic, and the vampires were not very frightening. The book had little suspense, and it leaves a mile-wide opening for a sequel at the conclusion. I would, however, like to see something more of the vampire mutants lurking in the graveyard. They were the most riveting of any of the characters.",
24
- "id": "3"
25
- },
26
- "4": {
27
- "label": false,
28
- "text": "Superb mix of global non secular musical denominations: I first heard Ms. Pook's music on the \"Eyes Wide Shut\" soundtrack (the masquerade ball scene) and was blown away; if ever there was a necessity for music to permeate a scene in a film this was it. She incorporates a blend of the traditional songs from faiths across continents and mixes them, for lack of a better comparison than similar to your quintessential raver d.j. (though these are better and definitively more original :) \"Oppenheimer\" is my favorite, and if you let the last track run for a few minutes a portion of the song will play once more. I can't wait to hear more of her stuff - these hymns are awesome.",
29
- "id": "4"
30
- },
31
- "5": {
32
- "label": false,
33
- "text": "A moving and suspenseful story!: For anyone familiar with the occult, this book is likely to raise hairs on the back of your neck as you read. Even if you're not, the storyline is suspenseful and fascinating, and the characters evoke great sympathy and admiration. An excellent read.",
34
- "id": "5"
35
- },
36
- "6": {
37
- "label": false,
38
- "text": "Simple & Easy to Use - A Practical approach to eating out: This guide is extremely to use. It provides sample menus that you'd see at Chinese, Indian and Thai restaurants. Then you are provided with descriptions of each dish and how it is prepared and the ingredients used. From there you are provided with specific considerations as to how the preparation or ingredient list may affect you if you have Gluten or Allergen issues.This book is the size of a passport and very organized and well written. The Chinese, Indian and Thai Cuisine Passport is perfect for making choices while traveling, or while dining at your favorite local restaurant.",
39
- "id": "6"
40
- },
41
- "7": {
42
- "label": true,
43
- "text": "Being Fair....I am a fan of hers: and I really enjoyed her previous works, more than I could have ever imagined, but this record is horrible. The songs are trite, the lyrics are incredibly boring, indulgent and immature. The music is pop staple, with forgetable melodies and repetative chorus lines, I feel as if the studio wrote the entire album for her while she was sleeping, this just doesn't speak to any of her previous works at all. This album fits on the same shelf with a Nickelodeon-themed CD. Instead of heading in the direction of an artist like Alanis Morrisette, she is going backward and joining the ranks of Hannah Montana and the Naked Brothers Band. She is a great artist and her first two records are amazing. She is better than this CD and I am looking forward to her next effort.",
44
- "id": "7"
45
- },
46
- "8": {
47
- "label": true,
48
- "text": "Sucked: I thought the DVD sucked tremendously. It was very boring and if I could, I would return it for a refund. There was only one \"small\" clip of Dylan himself. I'm very disappointed.",
49
- "id": "8"
50
- },
51
- "9": {
52
- "label": false,
53
- "text": "Excellent product: Easy to install. If you have a newer furnace you probably do not need the swail switch as the HE220A comes with a Humistat which can be connected to the furnace. They recommend the Honeywell 32005847-001 Installation Kit, Bypass which is a little pricey and you can probably buy the pieces of this kit cheaper individually from Home Depot or Lowes or ACO as well as the filters.",
54
- "id": "9"
55
- },
56
- "10": {
57
- "label": false,
58
- "text": "Very happy.: I am very happy with this trashcan. I was unable to find one in the stores to fit the space in my cabinet, but this one does the job. It is very sturdy and looks like it will put up with years of use.",
59
- "id": "10"
60
- },
61
- "11": {
62
- "label": true,
63
- "text": "These aren't Throughbreds!: This makes me so mad. All these new authors are coming and changing the series. Nothings the same anymore and the plots are repeditive. Don't even bother reading these books until #32 these are like a different series. I don't know excactly what's happing but these new authors suck!",
64
- "id": "11"
65
- },
66
- "12": {
67
- "label": true,
68
- "text": "Large and slow are a bad combination.: I bought this TV and returned it a week later, because it blurred so badly with motion that sports were unwatchable. I ended up buying a smaller Sony XBR4, and I have none of the issues (plus the picture is far, far better).This has nothing to do with 60 vs 120Hz. That is more important for DVDs and Blu-Ray signals that are 24fps (which doesn't divide evenly into 60 but does for 120). The LT52133 has an 8ms response time, which is extremely slow. A decent LCD should be 5 or lower.If you want an LCD, choose speed and quality over size. If you want size and quality but want to spend less, buy a plasma. Don't buy a big, cheap, slow LCD!I gave it 2 stars because I like the interface and remote.",
69
- "id": "12"
70
- },
71
- "13": {
72
- "label": true,
73
- "text": "Skip it: This movie is very poorly written and the result is not distressing, just lame. The actors do their best but from very early on it is obvious that the material gives them nothing to work with. Fans of Colin Firth will experience a certain dim level of enjoyment. Minnie Driver is a treat but her character is no better written than the others. Vermont locations are worth something. With one or two moments of exception it's neither comedic nor romantic.",
74
- "id": "13"
75
- },
76
- "14": {
77
- "label": false,
78
- "text": "Belive it i went to the concert?: hi everyone let me tell you i went to the concert i was amazed with what i saw cher was awsome i tell you buy the dvd. as i sat in front of the stage cher was doing a great job to us the she is living proof . So i urge you to buy it?",
79
- "id": "14"
80
- },
81
- "15": {
82
- "label": false,
83
- "text": "Vale la pena.: En este libro se narra de una forma muy interesante la vida de una familia en particular. Lo que mas me gusto de este libro fue la manera en que la autora describe a lo largo del libro las personalidades de los sujetos envueltos en la novela; que vienen a ser muy distintos y extremos, lo cual, intensifica el drama... Definitivamente es un buen libro y lo recomiendo a todos.",
84
- "id": "15"
85
- },
86
- "16": {
87
- "label": false,
88
- "text": "Nummie Children's story: I ordered this book for our grandchildren. Two boys 5 & 3 and a 4 month old girl. All love the story. The mouse is determined.",
89
- "id": "16"
90
- },
91
- "17": {
92
- "label": true,
93
- "text": "Seem to be alone on this one: Looking at the other reviews, I seem to be the only one that was disappointed with this book. The content is too babyish in most of it for older tweens and the more \"grown up\" content would be over a younger tween's head. I had a quick read through and with every paged turned, I thought duh. I'll be looking around for another book shortly.",
94
- "id": "17"
95
- },
96
- "18": {
97
- "label": false,
98
- "text": "Best yet: by far the best EA game yet. I especially like the easy controls and kick - a graphics. the playbook is extremely accurate and detailed. Also the fight songs and cheerleaders were a nice touch. this is an excellent game and worth checking out.",
99
- "id": "18"
100
- },
101
- "19": {
102
- "label": true,
103
- "text": "washed out: A bit like Simply Reds version of the Valentine bros hit \"Moneys too tight to mention\" - this cover version has nothing of the driving energy that characterised the original recording.",
104
- "id": "19"
105
- },
106
- "20": {
107
- "label": false,
108
- "text": "great water bottle: I love this bottle it is great. I like knowing it is non toxic and it just works very well. You can have it full and lay it down and it doesn't leak at all.",
109
- "id": "20"
110
- },
111
- "21": {
112
- "label": false,
113
- "text": "Nice goggles: I am pretty happy with these goggles. They work well during swim workouts in the pool. I do notice a little bit of fogging from time to time. I had hoped to wear them during an upcoming triathlon, but based on a few instances where they slipped a little in the pool I am concerned that they won't be secure enough. I will keep using them in the pool, but will likely get different ones for open water races.",
114
- "id": "21"
115
- },
116
- "22": {
117
- "label": true,
118
- "text": "aaahhh nnnoooooo!: Hopefully the last film in one of the worst horror trilogys ever made. This series pretty much ruined the horror film for years to come, for one its too self aware, thats incredibley annoying, second everyone acts like they are on Friends or some sitcom. The acting is just plain bad and unconvincing. Now the gore, if you're going with material this weak you should load it up with disgusting violence, is there any in the Scream series? No.Everyone went to see this movie just to see who THE KILLER is. This movie sets low standards to be met, you expect alot of people to die, one shock, then we find out who the killer is, then you go home. Every horror film being made today is like that, there's nothing new or exciting or risk taking, its the same stuff over and over and people are laping it up like dog food.This film is what you've come to expect, bad acting, some people die and we eventually find out who the killer is and all is merry and well. Pathetic.",
119
- "id": "22"
120
- },
121
- "23": {
122
- "label": false,
123
- "text": "A classic of its kind: This movie is a classic of its kind and much better that a lot of movies, that followed. It is not one of the best, but it still deserves five stars...",
124
- "id": "23"
125
- },
126
- "24": {
127
- "label": true,
128
- "text": "Nice suite, but Virtual PC 7 disappoints on my G5: I purchased the upgrade since I'd already bought both Office v.X and Virtual PC 6.1 last year.The biggest letdown is that Microsoft's promised support for the G5 is nearly non-existent. I have a dual processor G5 with an ATI Radeon 9800 card (Apple), and after trying to install Virtual PC 7 three times, I cannot get a VM to work. It did install (and work) flawlessly on my G4 Powerbook. Googling for reviews finds it's very hit or miss, but if (when) it misses, you'll regret investing the extra $$$ in an immature product.",
129
- "id": "24"
130
- },
131
- "25": {
132
- "label": true,
133
- "text": "Okay player, don't expect a miracle: I bought this DVD player at Circuit City earlier this yr for about a $100. I hooked it up to a 47\" Vizio LCD (which by the way has an awesome picture) using a HDMI cable. After fine tuning this product, I was very, very, very diasppointed. The picture was very \"grainy\" (lots of pixels). I have a $35 DVD player that only utilizes an s-video cable that produces a much more crisp picture. Be warned, the picture stinks.",
134
- "id": "25"
135
- },
136
- "26": {
137
- "label": false,
138
- "text": "A revelation of the science of consciousness evolution and all natural growth: Here is a readable and fascinating account of the development of the new science of chaos theory, the only body of ideas that describes how the natural world as experienced by human beings emerges out of basic quantum processes. The different explorers and innovators of the new science are introduced in a personable way that will enchant the interested reader.",
139
- "id": "26"
140
- },
141
- "27": {
142
- "label": true,
143
- "text": "Don't say that I didn't warn ya' !: I'm absolutely convinced that Delbert McClinton had no controlover the release of this CD. I rated it 1 star simplybecause there is no 0 star rating ! In actuality , I am not certain that the vocalist on this recording IS Delbert McClinton. Only on the Mr. Pitiful track is there any similarity at all to Delbert's voice. This is the perfect CD for someone with money to burn who would like to have a recording of a 1960's garage band recorded in a garage and who should be working in a garage ! Delbert fans...run fast and run far away from this ! END",
144
- "id": "27"
145
- },
146
- "28": {
147
- "label": true,
148
- "text": "This item is not available: I ordered this unit on February 7th. Every time I checked back on the status of the order, it read \"not shipped\" and the estimated shipping date got moved out. I really don't think this unit is avaialble from the company anytime soon. I cancelled the order.",
149
- "id": "28"
150
- },
151
- "29": {
152
- "label": true,
153
- "text": "I used to like ABBA...: I used to like ABBA, until I saw Mama Mia! A horribly disjointed musical, where songs feel contrived to fit into the story; a story that doesn't seem to come together. Individual songs are usually done alright, but don't segue from one to another very well.The cast butchered several of the songs, but especially S.O.S, Take A Chance On Me, and anything where Pierce Brosnan sang. On a side note, I also counted at least two violations of Chekov's Gun. And finally, I think it has a bad moral message. Which you only recognize if you manage to sit through the whole thing.If there is justice in the world, cast members without established careers won't get to have them as punishment for the worst movies I've seen since The Talented Mr. Ripley.",
154
- "id": "29"
155
- },
156
- "30": {
157
- "label": true,
158
- "text": "A complete disaster!: If you're like me, you probably wanted to check out this movie because it sounded like it really could be an excellent supernatural Gothic horror tale full of goblins and wicked things alike. Well, don't make the same mistake I did and actually watch it. It's horrible. Terrible. An honest to goodness waste of film. The acting is wretched, the film quality is rotten (it actually looks twenty years older than it is), and the plot is thin, weak, and does not give you what it's supposed to. The only reason I bothered to give this film 1 star is because of Alexis Arquette -- he's great looking, but should have left this film out of his career.",
159
- "id": "30"
160
- },
161
- "31": {
162
- "label": false,
163
- "text": "beautiful detail: I just purchased these Dover COloring Books for my mother and she loves them. The detail is out of this world and the variety of colors you can use are only limited by your inagination. HIGHLY RECOMMENDED!",
164
- "id": "31"
165
- },
166
- "32": {
167
- "label": true,
168
- "text": "Very disappointed: I looked forward to getting this movie as I had heard many good things about it but it was nothing like I had imagined or been led to believe. There is very little actual history in it or real Christian experience except for the background because the main focus is a soap opera style romance and caricature figures. I agree with the reviewer who described it as a mixture of \"tawdry Hollywood sex\" somehow interspersed with a vague nod to Christianity. The only decent scene was the arena scene where the Christians are going to their deaths singing hymns - but that's not enough to make it a great or even a good movie. Not personally to my taste anyway.",
169
- "id": "32"
170
- },
171
- "33": {
172
- "label": true,
173
- "text": "Unreliable minikit: I bought this minikit because it got good reviews and it would be perfect for my purposes. However it switches on and off whenever it wants, it looses contact with the phone. Very often the on/off button works only in a horizontal position (?) I use a Treo 650, which is on the compatible phone list. When I contacted Parrot, they said it wasn't (?) At last I opened the unit, but there are no moving parts inside except the micro switches. It is giving me a headache, so I will go searching for an alternative.",
174
- "id": "33"
175
- },
176
- "34": {
177
- "label": false,
178
- "text": "A Christmas Classic!: This is surely one of the best classical Christmas recordings available. Don't buy the older version, as the quality of this recording is excellent. This is one of those \"Every Christmas - Can't have Christmas without\" recordings.",
179
- "id": "34"
180
- },
181
- "35": {
182
- "label": true,
183
- "text": "too narrow: These were the narrowest pair of D size shoes I have ever tried on. I don't care how nice a shoe looks. If it don't fit it just don't fit.",
184
- "id": "35"
185
- },
186
- "36": {
187
- "label": true,
188
- "text": "Lack of extension: This earphones lack a descent extension cord. ITs very small cable, but its of good quality. Sadly, cord its too short, and the extension is useless.",
189
- "id": "36"
190
- },
191
- "37": {
192
- "label": false,
193
- "text": "Easy-Reading: This is the 3rd Southern Sisters Mystery I've read. They're easy, fast and funny murder mysteries, with lots of cute family stories intertwined in the intrigue.",
194
- "id": "37"
195
- },
196
- "38": {
197
- "label": true,
198
- "text": "it'd be great if it worked like it was supposed to: for the first 30 seconds it was lovely, but i believe that either the motor isn't powerful enough to keep the shaft rotating smoothly or 3 AA batteries just don't provide enough juice for the motor to work more than 30 seconds. it was a nice idea, but i'm rather dissapointed. the jelly material is somewhat difficult to maintain also. i think if it were hooked up to a larger battery pack it'd be WONDERFUL... which i think i may have a macgyver friend with a knack for electronics attempt to do for me.",
199
- "id": "38"
200
- },
201
- "39": {
202
- "label": false,
203
- "text": "Not Hornby's best but still good: I loved About a Boy and really, really loved the sardonic wit of High Fidelity. About a Boy is much deeper but just as cynical. Maybe even more so. The characters are richly drawn and just complex enough to keep the reader wanting more. Good read, but best to take some time with this one. Not recommended for a summer beach read.",
204
- "id": "39"
205
- },
206
- "40": {
207
- "label": true,
208
- "text": "A Disappointment: As with most Taunton Press publications, the illustrations and photographs in this book are spectacular and the organization and layout is superb. Nonetheless, I found this book disappointing. It lacks both depth and breadth. I had hoped for a detailed review of wood joinery including some of the more unusual joinery found in Japanese woodworking. This book, however, is targeted more toward the beginner. Even so, it does not cover the details and \"tricks\" of even the most basic techniques in sufficient detail to allow beginners to easily reproduce them. Consequently, it is unclear who this book was written for - not the beginner as it lacks depth, and not the advanced woodworker as it lacks breadth. Far more effort appears to have been put into appearance and organization than in content.",
209
- "id": "40"
210
- },
211
- "41": {
212
- "label": true,
213
- "text": "Horrible. Don't do it!: Great price for the item when a 6' one of these at Best Buy is $20. Thing is, the one from Best Buy fits in the outlet and stays there. This cord fits very loose and does not connect. I bought 2 of them, neither did what they were suppose to.As much as I hate to say it, but, buy the more expensive one. At least it works.",
214
- "id": "41"
215
- },
216
- "42": {
217
- "label": false,
218
- "text": "Given as a gift...: Given to my best friend as a gift. She loves it. Her fiance enjoys making coffee for her in the mornings. :)",
219
- "id": "42"
220
- },
221
- "43": {
222
- "label": false,
223
- "text": "Love the ring.: This is a nice ring. I was worried it out be thin and cheap looking, but it's not. It's a very pretty stylish ring. Go for it.",
224
- "id": "43"
225
- },
226
- "44": {
227
- "label": true,
228
- "text": "Beautiful writing Marred by One-Note Characterizations: How could Kingsolver have ruined her book with such an obvious error? Nathan is a strident paper doll that flattens the whole story. Just as bad, the author has all the narrators using the same ironic tone to decribe him, deadening their voices as well. At the same time, Kingsolver doesn't have the guts to show him doing something trully terrible. I don't trust an author who can't let the reader make up his own mind, and as a consequence I couldn't trust her views about ANYTHING in the story. I'm giving this two stars for her descriptions of the African landscape, and that is all.",
229
- "id": "44"
230
- },
231
- "45": {
232
- "label": true,
233
- "text": "Much worse than any cordless phone I've ever had: This phone cuts out only 2 rooms away from the base station. There is static noise, and callers on the other end complain about sound quality. I can't go into the garden, which used to be no problem with my old 900 MHz phone.",
234
- "id": "45"
235
- },
236
- "46": {
237
- "label": true,
238
- "text": "Waste of time & money: The first Hangover was not too bad, this one was just terrible. The acting is bad, the script is bad, everything about this movie was just bad. Do yourself a favor, don't buy this movie as it is a total waste of time and money.",
239
- "id": "46"
240
- },
241
- "47": {
242
- "label": true,
243
- "text": "Did Not Work For Me!: Impressive You Tube Video (Like a Sci-Fi Fantasy). In reality it's a high speed Easy Out so unsurprisingly it broke faster than an Easy out. This product did not work for me. The drill part did not drlil, the puller part did not pull. It was a total zero.",
244
- "id": "47"
245
- },
246
- "48": {
247
- "label": false,
248
- "text": "Excellent book, long overdue.: From a very long time women were told that looking good was of utmost importance. This was without regard to health or fitness and how age affected these parameters. Witness the whalebone and other types of corsets, the spike heeled shoes and the numerous weight loss programmes on the market (some of which are downright dangerous). Now there is a book, backed by solid research, that allows women of all ages to remain fit and healthy for a lifetime. I am certainly going to recommend this book to all the women I know.Bentley Norville",
249
- "id": "48"
250
- },
251
- "49": {
252
- "label": true,
253
- "text": "not an all star: Not a practical guide in this collecting age. Does NOT have a comprehensive list; meaning it does NOT cover all manufacturers and, more importantly, for the ones it does, only provides listings of the base set. That means no insert or variation pricing whatsoever. Also, no oddball or minor league issues are listed. Generally speaking, unless you are collecting base sets prior to the advent of inserts and alternate versions of the base set, this guide is fairly useless.",
254
- "id": "49"
255
- },
256
- "50": {
257
- "label": true,
258
- "text": "Again, second rate city, third rate writer: Just another example of Mr. Lindberg's pitiful attempt at exhibiting a strong expertise on a subject with which he is clearly obsessed. Don't waste your time with this book, either. It is poorly written and fails to engage the reader. You might consider using this book and the first book he wrote on the same subject, as a pair of bookends. That is about all they are worth.",
259
- "id": "50"
260
- },
261
- "51": {
262
- "label": false,
263
- "text": "Reality: No one should need to convince you to buy this book, you should just do it! It's so well written and worded and brings you right to the heart of a sexual reality that most people like to pretend doesn't really live and breath in their fair cities. I never again want to hear someone bad mouth a working girl for what she does. I will and do now however look at men with a curious eye wondering if they are depraved peep show window lickers :)",
264
- "id": "51"
265
- },
266
- "52": {
267
- "label": true,
268
- "text": "Bummer: Visual effects and Battle footage were great...the other 85% of the movie was just lousy fluff...",
269
- "id": "52"
270
- },
271
- "53": {
272
- "label": false,
273
- "text": "The spark of idependence: Filled with the independent spark that made us all love life at one point or another. A fun, introspective and nonsensical movie that sticks with you.",
274
- "id": "53"
275
- },
276
- "54": {
277
- "label": false,
278
- "text": "What I expected from Mirman's website. Funny. Funny. Russian.: lol, gotta love Eugene. Even when his audience doesn't initially laugh, he gets in a good zinger at himself and they laugh at that. He's witty without being condescending, and uncomplicated without seeing contrived. However, if you're not a fan of irreverant humor, this may not be for you.",
279
- "id": "54"
280
- },
281
- "55": {
282
- "label": true,
283
- "text": "Do not...repeat...do not bother!: It is not often that I offer a negative review but this compilation while attractive does not deliver at all.The foot massage gizmo is awkward and uncomfortable.The pumice stone leaves rough splinter like skin.The foot scrub doesn't reall scrub.The rotary action tool has five heads, none of which work well and you must hold the switch in place or it turns off. It is cumbersome and ineffective.The one star was initially given for a foot brush (which later lost its bristles very easily as I update the review) and a sweet smelling foot repair balm.Don't waist your money. Soak your feet and invest in an inexpensive German Titania file, smooth and coarser side, or a like product. It will last for years.",
284
- "id": "55"
285
- },
286
- "56": {
287
- "label": true,
288
- "text": "Not Sandra's Best: Ms. Brown has written better romance novels. Don't give up on her if this was your first Sandra book.The feeble female lead struggles with a 15-year crush that walks back into her life. The smug male lead acts like a jerk through most of the novel. The romance scenes grapple to muster up passion but fall short. Both of the main characters bothered me; my favorite character was the 17-year old.A quick read...about 4 hours (with interruptions) for me...but probably not worth it.",
289
- "id": "56"
290
- },
291
- "57": {
292
- "label": false,
293
- "text": "Impressed: Lots-O-Fun. Wood and glass toys are high quality and are a good fall back for the kids to play with they are \"bored\". Would buy again.",
294
- "id": "57"
295
- },
296
- "58": {
297
- "label": true,
298
- "text": "Light turned on by itself 3 times: The installation was easy. I used it for a week, everything worked fine, EXCEPT the light it connected to turned on by itself 3 times so far, with no one near to either one of the switch. Not sure whether it is a defective unit, or this product is too sensitive to noise. I'm returning this product and will just install a regular switch instead.",
299
- "id": "58"
300
- },
301
- "59": {
302
- "label": false,
303
- "text": "good battery: I feel kind of silly writing a review for a battery, but have to say that these last a LONG time. Work very well.",
304
- "id": "59"
305
- },
306
- "60": {
307
- "label": false,
308
- "text": "Even a Woman finds it funny: Yes, even a woman finds \"Married to Mommy\" funny. The book gets you laughing aloud when it is trying to make fun of \"Mommies\". The truth is that it really is making fun of the stupidity of men and their simple basic needs of sex, getting out of work, and beer. Of course, the truth is always funny.A definite MUST for any woman, married or not. We will now know all the secret tricks the men try to use on us.By the way, I am NOT a MOMMY!",
309
- "id": "60"
310
- },
311
- "61": {
312
- "label": false,
313
- "text": "Gungrave...not quite what you might expect: Those thinking this is another version of Trigun will be disappointed. Gungrave is actually a lot deeper and more complex. The lead is short on dialouge, but the story has more depth and character development than most anime. The first DVD is more about the main character's past than about the reanimated killing machine he's become, but it definitely leaves you wanting more.",
314
- "id": "61"
315
- },
316
- "62": {
317
- "label": false,
318
- "text": "Error in product description: It's great in every way. However, if you'd prefer a digital tuner (as I do), then you might need to look further. The product description boasts a digital AM/FM tuner, but it's disappointingly an analog AM/FM tuner.Overall - especially for the price - I think it's pretty good.",
319
- "id": "62"
320
- },
321
- "63": {
322
- "label": false,
323
- "text": "good phone but not as user friendly as it could be: Battery life is very good. Phone has good range. My only complaint is it's to involved to get your message from the handset.",
324
- "id": "63"
325
- },
326
- "64": {
327
- "label": true,
328
- "text": "Big waste of money (and space in my house!): My 5 year old son wanted this so bad, but when we got it for him, there were so many pieces to put together that didn't fit together well, he never played with it. It just sits on our floor in many pieces taking up toy space! What a waste!",
329
- "id": "64"
330
- },
331
- "65": {
332
- "label": false,
333
- "text": "Don't want to take it off: Very satisfied with an earlier purchase of this Bali bra model, I was just as pleased with the new one. Very comfortable, well made and a good neutral color. It will be my next choice, too.",
334
- "id": "65"
335
- },
336
- "66": {
337
- "label": false,
338
- "text": "Fantastico: If anybody who's into rock music is ever looking for a band to keep you on your toes, this is the band. I've been a fan for 10 years now, and no album has ever sounded like any of their previous albums. This disc is fantastic with such a variety of styles, as are the previous releases, even back to the Rainbow Butt Monkey days.",
339
- "id": "66"
340
- },
341
- "67": {
342
- "label": true,
343
- "text": "too much visual: There are far too much designs, visuals, colors, etc in the book - this is highly distracting, as TV screen can be...By way of example (among so many...), what is the use of colors with the three squares of the Pyth. theorem???? this is as useless as writting 2+3=5 with 2 in blue, 3 in red and 5 in yellow...I wish I had purchased the 2nd edition, which according to reviews was closer to what I was looking for.",
344
- "id": "67"
345
- },
346
- "68": {
347
- "label": false,
348
- "text": "Aretha's First Arista Release Showed Pleasures to Come: After a long and musically satisfying career with Atlantic, Aretha severed her ties with that company and moved under the wing of Arista's Clive Davis. With the start of the 1980's, Aretha was looking for new territory to conquer and almost succeeded with this mixed bag.\"United Together\" is a fine tune that benefits from beautiful orchestral arrangement that is matched by Aretha's superb vocal instrument. The remake of \"Can't Turn You Loose\" allows Aretha to show why she is the Queen of Soul\" for she really belts this one out. Another cover, that of the Doobies' \"What a Fool Believes,\" is an interesting interpretation. The final cut \"School Days\" appears to be \"autobiographical\" for every girl growing up in the fifties.Although not as strong as her Atlantic work, \"Aretha\" is still a suitable addition to the artist's discography.",
349
- "id": "68"
350
- },
351
- "69": {
352
- "label": true,
353
- "text": "Misguided Purchase: The photo and description do not reflect the product. The screen panel kit I received was white. What a huge inconvenience during a time-crunch.",
354
- "id": "69"
355
- },
356
- "70": {
357
- "label": true,
358
- "text": "Banacek: My husband and were looking forward to seeing this series.The first show was SO boring, we finally just quit watching it.Actually, we haven't gotten around to watching anymore. I guess we were afraid of a repeat.Maybe that was just once, I hope!",
359
- "id": "70"
360
- },
361
- "71": {
362
- "label": false,
363
- "text": "JDT: Uncle Tupelo is without doubt one of the most under appreciated groups of the 90's. Anodyne, like each of the three albums that came before it, has everything that a remarkable recording requires: great songs, honest lyrics, and artists who really care about the music they are making. Like the best of Dylan and Springsteen, the songs are about real people with real troubles and joys. When you hear them you know they are coming from the heart. The songs contributed by Jay Farrar and Jeff Tweedy are easily differentiated by the voacls, music, and lyrics. What makes this record interesting is how well these unique sounds compliment each other. The union is seamless.",
364
- "id": "71"
365
- },
366
- "72": {
367
- "label": false,
368
- "text": "Well Worth Reading: First a confession: Miriam Wasserman was my mother. However, she published several books, but this is the only one I really found useful. She walks the reader through the New York City school system and the attitudes of different groups involved in the system back in the 1960s. This includes parents, teachers and administrators. Her view is that the further away one got from parents and students, the more prestige one had. She meticulously describes the teachers' strike of 1968 against \"community control of schools\", a strike of which she is extremely critical. She explores the racism that was involved in this strike, including using quotes from striking teachers, etc. It should be emphasized that the author was pro-union all her life, so her views don't stem from an anti-union bias. The book also covers the high school student rebellion which coincided with and followed the strike.",
369
- "id": "72"
370
- },
371
- "73": {
372
- "label": false,
373
- "text": "compact and loaded: I bought this phone after reading the cnet reviews and really liked it. It looks small and really compact. I like the camera pics at 2 mega pixel and bright flash. The mp3 player is crisp. The headset that comes along delvers amazing fM radio. I think my phone is not very loud and you have a problem when you are around a noisy crowd. I just bought this phone again for my cousin. He likes it too. Almost forgot the display is very good.",
374
- "id": "73"
375
- },
376
- "74": {
377
- "label": false,
378
- "text": "Outstanding text!: Brooks/Cole should keep this text in their catalog for ages! It is well-written, examples are generally quite clear, vocabulary is introduced well, and the exercises develop real skills, rather than simply be busy-work. One of the best calculus books ever!",
379
- "id": "74"
380
- },
381
- "75": {
382
- "label": false,
383
- "text": "Excel 2003 Bible: Very good source of information. I will most likely buy other books in this series.",
384
- "id": "75"
385
- },
386
- "76": {
387
- "label": false,
388
- "text": "Tasting is Believing: Gluten-free breads used to have a gritty texture from the rice flour, and were too soft for sandwiches. Bette Hagman uses garbanzo/fava bean flour, sorghum flour, tapioca flour, and corn starch to create breads which have a similar texture to wheat flour breads, and the flavors of her breads are fabulous.My BF bought me this book and a great tasting beverage to drink it with. Since he knows I quit coffee recently, he's been really wonderful helping me in cope with my mood swings. S o y f e e is made from soy beans that is roasted just like coffee. I enjoy the taste and don't miss coffee one bit. Buy it online at www.s o y c o f fee.com.This is a 'must have' for anyone baking gluten-free. I think all of Bette Hagman's books are wonderful and a must for those with gluten intolerance.",
389
- "id": "76"
390
- },
391
- "77": {
392
- "label": false,
393
- "text": "5 stars for the show, no stars for the \"Collector's Edition\": I was really looking forward to getting this Collector's Edition and see what extras were added. I knew it wasn't a lot - just a mini-book and a documentary - but I figured it would be packaged in a cool way.Wrong.As others have already mentioned, the Collector's Edition is *literally* theAvatar: The Last Airbender - The Complete Book 1 Collectionslipped into another cardboard box, with a little booklet and DVD in an envelope (not even a case!) wedged in. It's really disappointing; it would have been so easy to create a quality Collector's Edition but the studio couldn't be bothered, I guess.",
394
- "id": "77"
395
- },
396
- "78": {
397
- "label": false,
398
- "text": "sula scottcampos: Sula, a book that talks about the issues of being a black women is a really good novel to read.One of the reasons I recommend it is because of its realism and its themes - death, sex, friendship and poverty.I also think that its characters are very good, its easy to identify with one or both of them. I really recommend this book to anyone who enjoys good literature.",
399
- "id": "78"
400
- },
401
- "79": {
402
- "label": false,
403
- "text": "Fantastic! It's a must-have for girls!: I hated razor, tried shaving but it did not work for me. Shaving made the hair grows thicker and faster afterwards, plus the roots are impossible to be getting rid of. After reading the reviews, I ordered it to try, I used it for once and already fall in love with this. I used to use small tweezer to pluck out my leg's hair, in order to avoid the razor, it took me a few hours to do that but this super electronic tweezer works wonder! You won't see the black roots and I have smooth and silkly legs in 20 mins. It does not hurt at all, if you use it on your legs. But, if you use it at your under arm, it won't be a pleasant feeling, of course! I will never use anything else besides this for hair removing anymore! highly recommended!",
404
- "id": "79"
405
- },
406
- "80": {
407
- "label": true,
408
- "text": "This is not a toy: I guess I was expecting more out of these leave window decals. I just didn't find them attractive after placing them on my window, they seem very cheap, I guess because they are cheap.I threw them away.",
409
- "id": "80"
410
- },
411
- "81": {
412
- "label": false,
413
- "text": "Wonderful book for anyone running a professional hatchery: This book is aimed more for hatcheries that are raising Trout, Salmon, Catfish and other food fishes. However, there is so much information in this book that even ornamental fish hatcheries will find an incredible amount of useful information. The chapters on Fish Nutrition are especially helpful.",
414
- "id": "81"
415
- },
416
- "82": {
417
- "label": false,
418
- "text": "Amazing book!!: Once again, Eric Victorino's artistic talent is put into this great free-verse poetry book. I couldn't put it down and I finished it the day I received it in the mail. All of the poems are awesome but the one I found the most interesting was \"It's A People Business.\" All of the experiences in his life, personally and with his band, come to life in this book. Please check it out! It's worth every penny!!",
419
- "id": "82"
420
- },
421
- "83": {
422
- "label": false,
423
- "text": "The white trumpet contender respect Miles Davis!: The story of the Jazz in the Fifties certainly would be remain unfinished without the ominous presence of this outstanding virtuoso. Baker sound still possesses this alluring hook, this magnetic engagement charm, eloquent expressiveness, enrapturing lyricism and contagious rhythm, despite the elapsed time, which confirms by itself the status of his musicianship.This selection is jus a little sample of the broad universe of his genius. A well thought selection of great musical successes, available, preserved and immortalized by the Digital Technology for our future enjoyment.Absolutely indispensable in your treasured collection.",
424
- "id": "83"
425
- },
426
- "84": {
427
- "label": true,
428
- "text": "What the?: I'm sorry, maybe it's just me but I can't helping stating that this has to be one of the wrost movies I've seen in my life!Can you say boring? Can you say doesn't make sense at all? The first 30 minutes of the movie were O.K. But it went downhill after that. This movie is a prime example of a director attempting to make a deep movie with a meaningful lesson but failed on all levels. I don't recommend this movie unless you want to go to sleep or you don't have anything else to do.",
429
- "id": "84"
430
- },
431
- "85": {
432
- "label": false,
433
- "text": "very very good!!!!: linda blair is a young girl who is possessed. and her mother doesn't know what to do until one day when she hears her daughter screaming and stabbind herself she knows what to do GET AN EXORCIZIM!!!",
434
- "id": "85"
435
- },
436
- "86": {
437
- "label": false,
438
- "text": "Awesome product for the price!: This range extender works as advertised! I am very happy with the purchase. I was a little worried after reading some of the horror stories here, but I have to say, Chovy's review instructions (on this site) were just this ticket to get the repeater up and running in less than 30 minutes. It was unbelievably easy to install! Do not be frightened by negative reviews. If you can set up a wireless network, you can set up this repeater. However, I did upgrade the firmware before I did anything else and maybe that helped. I got the firmware update from the Belkin site.",
439
- "id": "86"
440
- },
441
- "87": {
442
- "label": true,
443
- "text": "Slight: This book is either a heavily illustrated short story collection or a text-heavy comic. Its unusual format is its most original feature. Its plots are negligible, but its illustrations and text evoke a unique atmosphere of self-conscious nonconformism. Although its target audience is dare-to-be-different teens and college students, its interesting turns of phrase and expressive line drawings are not devoid of interest for general audences.",
444
- "id": "87"
445
- },
446
- "88": {
447
- "label": false,
448
- "text": "ANgeleyes: Seem to dry up their eyes fairly well, although I haven't seen the color (brown stain) change much yet.",
449
- "id": "88"
450
- },
451
- "89": {
452
- "label": true,
453
- "text": "Nice Try: Salt Lake 2002 is not a bad game, but it isn't good either. The graphics are excellent, but some of the events are bad. Bobsleigh, and skiing aren't bad but the others are. You dont stay into it for long. I liked it for a while, but it gets boring.",
454
- "id": "89"
455
- },
456
- "90": {
457
- "label": true,
458
- "text": "Cutler's share of the pie: This book was a major disappointment. I am familiar with books written solely by the Dalai Lama, such as the \"Library of Tibet\" series, which are much more engrossing and have much more substance than Cutler's book. Cutler attempts (successfully, sadly) to have his share of the profitable market that involves the Dalai Lama's writings. The book is insipid, does not try to explain any important issue in the light of Buddhist philosophy, and only rehashes issues that several other westerners already wrote about. It's another big ego trip: we keep hearing time and again about his opportunities to be with the Dalai Lama. What a shame, Cutler. I sold the book as soon as I finished it.",
459
- "id": "90"
460
- },
461
- "91": {
462
- "label": true,
463
- "text": "Mostly tedious, with interesting parts: I found the writing interesting, and the subject fascinating, but I found myself frustrated by the author's difficulty in talking directly about the status of Muslim women with her interview subjects. The author spent many pages writing about the menus and dress of the many middle and upper-middle class women she interviewed. It seemed as though her interview subjects resisted her efforts to discuss the status of women in their countries, so we too as readers had to wade through much distracting material and misunderstandings about feminism and gender. Great travel stories, but not a great source of information about Muslim women.",
464
- "id": "91"
465
- },
466
- "92": {
467
- "label": true,
468
- "text": "Sesame Street Toddler: I did not find this game to be as educationally sound as I would expect from Sesame street. There is too much talking before the program will react to a command. The graphics are jerky and the cursor acts like the target is magnetically charged and keeps pushing away the cursor. When the child actually does manage to click on a target, the cursor may still fly to another target and the child is told that his answer is wrong. Another example of educational problems is the pronunciation of \"eggs\" using a long \"a\" sound instead of a short \"e.\" This is not very helpful in teaching a child the sound for short \"e.\" Children that are used to playing computer games by themselves may find that this game is too frustrating to do alone. The open ended learning curve is a great idea. I just wish Sesame Street would hire a truly qualified literacy expert to help clean up the many problems in this program.",
469
- "id": "92"
470
- },
471
- "93": {
472
- "label": true,
473
- "text": "needs a buzz cut and a point: I avoided reading this book, not because of the hermaphrodite subject matter, but because I have never read a multigenerational family saga that I liked. Many books let me down in the middle, and this was no exception. The beginning of the book was incredible and harrowing, with momentum and characterization. The post-America nextgens part of the saga was so boring I found myself flipping and flipping - always a bad sign. If there was some kind of larger point to all of that, then I must have missed it. Yes there's the identity duality and trinity themes playing out here: man/woman, greek/turkish/american modern/old world sick/healthy innocent/guilty original/reinvented. But it was almost as if the author was saying - here it is again - get it? I like my fiction much more subtle than this.",
474
- "id": "93"
475
- },
476
- "94": {
477
- "label": true,
478
- "text": "OMG! DO NOT BUY!: I normally don't take the time to submit a review.In this case however, I feel obligated to do so.This is by far one of the worst purchases I have ever made.Here's why.....The contraption is far too bulky.The case's enclosing is unbearable, takes a good minute or so to open it.The texture of the material feels like a cheap toy.The overall design is horrible, something I could make in my basement.For the love of everything sacred, do not buy this thing.",
479
- "id": "94"
480
- },
481
- "95": {
482
- "label": false,
483
- "text": "Good price, good quality: Comparable HDMI cables can be bought for 45 or more. Even though the price is cheap the quality is good, no problems so far.",
484
- "id": "95"
485
- },
486
- "96": {
487
- "label": false,
488
- "text": "Good rock music: This is what i call rock music good beat and good lyrics, don't listen to the other reviews. This cd is one of the best, listen to a few songs and you will get hooked. I recommend this cd its awesome.",
489
- "id": "96"
490
- },
491
- "97": {
492
- "label": true,
493
- "text": "BORING!: This movie is soo boring. How in the hell did this movie make so much at the box office. Do people really want to pay for crappy movies like this. bottom line this is a chick flick nothing is good. And now they are re-releasing this movie with more boring stuff. This is the worst movie ever.",
494
- "id": "97"
495
- },
496
- "98": {
497
- "label": true,
498
- "text": "Already Rusting: Inferior quality. The plating is thin and rust is coming through the finish. Inexcusable for a product that is designed for use in a humid environment.",
499
- "id": "98"
500
- },
501
- "99": {
502
- "label": true,
503
- "text": "confusing internet setup: i wanted a camera that could email photos but this camera will not go out through the router and the manual setup , to punch a hole thru router is confusing.",
504
- "id": "99"
505
- },
506
- "04c7dfc0f94e4e88968d09b40edbfa14": {
507
- "label": true,
508
- "text": "The new gaming console is unaffordable.",
509
- "id": "04c7dfc0f94e4e88968d09b40edbfa14"
510
- },
511
- "58f58a1a4cbb4bb699772ed934006ec8": {
512
- "label": true,
513
- "text": "How can it be sure difficult for @115830 to deliver a package to a University address? Two failed attempts so far ...",
514
- "id": "58f58a1a4cbb4bb699772ed934006ec8"
515
- },
516
- "d4a3cd4877c54aef81c376eff8008df4": {
517
- "label": false,
518
- "text": "@204780 Glad they showed up! Hope you have a great flight! -Sean",
519
- "id": "d4a3cd4877c54aef81c376eff8008df4"
520
- },
521
- "affe1d6548f84bed84238bac45cc10a1": {
522
- "label": false,
523
- "text": "@British_Airways Thank you! All looks good then \ud83c\uddec\ud83c\udde7\u2708\ufe0f",
524
- "id": "affe1d6548f84bed84238bac45cc10a1"
525
- },
526
- "e304ea77a94c450a95690c7b605a035f": {
527
- "label": false,
528
- "text": "@246667 Thank you for reaching out, Andrea. The built in application in Windows 10 are exempted to be uninstalled. However, you can send this suggestion directly to our developers via the Feedback Hub so they can take a look at it: https://t.co/jowrfbgQm6. Keep in touch.",
529
- "id": "e304ea77a94c450a95690c7b605a035f"
530
- },
531
- "76b694b019eb4e6888a422e144030bd0": {
532
- "label": true,
533
- "text": "@GWRHelp It\u2019s mainly the constant short forming and cancellations due to mechanical faults Phil. As a company, these excuses have been used ad nauseam for years and years. It just gets worse and no amount of rhetoric and IET self promotion can hide that fact.",
534
- "id": "76b694b019eb4e6888a422e144030bd0"
535
- },
536
- "ce0698020b7a457396c7674b04db10e6": {
537
- "label": false,
538
- "text": "English gangster flick.",
539
- "id": "ce0698020b7a457396c7674b04db10e6"
540
- },
541
- "52bda6cbab224899845e66e0474cdefc": {
542
- "label": false,
543
- "text": "sees the formula graph, the chip calculates the formula, able to \"survive\" thanks to its connection to Edit, develops a parallel personality and affords her abilities greater than she ever imagined...",
544
- "id": "52bda6cbab224899845e66e0474cdefc"
545
- },
546
- "435aabe68c294963a05e090d479582bc": {
547
- "label": false,
548
- "text": "Aanandam is a 2016 Indian Malayalam campus musical film written and directed by Ganesh Raj in his directorial debut. Vineeth Sreenivasan produces the film under the banner of Habit Of Life with Vinod Shornur under Cast N Crew.",
549
- "id": "435aabe68c294963a05e090d479582bc"
550
- },
551
- "f96313d0087e4941a359783634ef9e86": {
552
- "label": false,
553
- "text": "The remarkable story of The Weather Underground, radical activists of the 1970s, and of radical politics at its best and most disastrous.",
554
- "id": "f96313d0087e4941a359783634ef9e86"
555
- },
556
- "f63e4502791a409fa2d750687d3841eb": {
557
- "label": false,
558
- "text": "A young widow on a trip to the backwoods stumbles upon the operation of a gang of drug smugglers. They attempt to kill her in order to keep their operation a secret, but she turns out to be more resourceful than they thought, and starts to turn the tables on them.",
559
- "id": "f63e4502791a409fa2d750687d3841eb"
560
- },
561
- "108ac02949324b02bdcbe4c7a77bacdc": {
562
- "label": false,
563
- "text": "The story of a young Marine, fresh from Camp Pendleton, who is forced to confront the complexities of adulthood and a volatile home life during a four-day Thanksgiving leave.",
564
- "id": "108ac02949324b02bdcbe4c7a77bacdc"
565
- },
566
- "44fc412246964b2393fa0035ff093a00": {
567
- "label": false,
568
- "text": "Exploring the rough and tumble world of hockey, Academy Award winner Alex Gibney (\"Taxi to the Dark Side\") looks at the world of the NHL enforcers and specifically the career of Chris \"Knuckles\" Nilan who helped the Montreal Canadiens win the Stanley Cup.",
569
- "id": "44fc412246964b2393fa0035ff093a00"
570
- },
571
- "409350c111af4ba3a94c842b797ddb95": {
572
- "label": false,
573
- "text": "Two fishing fanatics get in trouble when their fishing boat gets stolen while on a trip.",
574
- "id": "409350c111af4ba3a94c842b797ddb95"
575
- },
576
- "d48d8f3b5a524ecea69bae718d1f1513": {
577
- "label": false,
578
- "text": "A willful young boy follows his just as obstinate grandmother in a journey across Iraq, determined to discover the fate of her missing son, Ahmed's father, who never returned from war.",
579
- "id": "d48d8f3b5a524ecea69bae718d1f1513"
580
- },
581
- "283e96de5b474240a044c50dbc2551fb": {
582
- "label": false,
583
- "text": "A group of people are sitting in a theatre watching a movie when one realises that the woman on the screen is her. (IMDb)",
584
- "id": "283e96de5b474240a044c50dbc2551fb"
585
- },
586
- "516d0f2f3a854a97a87c64db19a89fac": {
587
- "label": false,
588
- "text": "of the fake prediction. Fantastic swashbuckling adventures in a 18th century setting, with a light criticism of the war and the mighty.",
589
- "id": "516d0f2f3a854a97a87c64db19a89fac"
590
- },
591
- "c2f55710669b40aa937625fe0ab04065": {
592
- "label": false,
593
- "text": "famous for his reputation as a Don Juan, to seduce C\u00e9cile and emotionally destroy her. While on his mission, Valmont gets sidetracked when he goes to visit his aunt and falls for Madame Tourvel, a virtuous, married woman who knows of his womanizing ways, but that only makes the challenge more exciting to Valmont. Together, Madame de Merteuil and Valmont make a dangerous team and they will stop at nothing when it comes to matters of the heart.",
594
- "id": "c2f55710669b40aa937625fe0ab04065"
595
- },
596
- "ba0261b2ee3244d29bb3a8c6d77195a6": {
597
- "label": false,
598
- "text": "sees the formula graph, the chip calculates the formula, able to \"survive\" thanks to its connection to Edit, develops a parallel personality and affords her abilities greater than she ever imagined...",
599
- "id": "ba0261b2ee3244d29bb3a8c6d77195a6"
600
- },
601
- "5e724fbde8ee44d9a8fc87a6e6667f01": {
602
- "label": false,
603
- "text": "telling the story about people who despite all obstacles strive for their goal.",
604
- "id": "5e724fbde8ee44d9a8fc87a6e6667f01"
605
- },
606
- "557eba5ebfc9467a9d88688afed41354": {
607
- "label": false,
608
- "text": "A young playboy who learns he has one month until he becomes infertile sets out to procreate as much as possible.",
609
- "id": "557eba5ebfc9467a9d88688afed41354"
610
- },
611
- "aa20e22fbe96487d8ee1223a6ef4da0b": {
612
- "label": false,
613
- "text": "Set in modern times, Alex finds King Arthur's sword Excalibur and must prove himself worthy of it.",
614
- "id": "aa20e22fbe96487d8ee1223a6ef4da0b"
615
- },
616
- "bea56d34f6df408c9ec9653b17a90a93": {
617
- "label": false,
618
- "text": "Kostis is a 40-year-old doctor that finds himself in the small island of Antiparos, in order to take over the local clinic. His whole life and routine will turn upside down when he meets an international group of young and beautiful tourists and he falls in love with Anna, a 19-year-old goddess.",
619
- "id": "bea56d34f6df408c9ec9653b17a90a93"
620
- },
621
- "e61a3251720d425c9f4770cb4b11d2d9": {
622
- "label": false,
623
- "text": "Friends on a weekend excursion take a path into a forest that leads to death and destruction.",
624
- "id": "e61a3251720d425c9f4770cb4b11d2d9"
625
- }
626
- },
627
- "version": 26,
628
- "description": "Negative sentiment"
629
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/concept/lilac/positive-sentiment/concept.json DELETED
@@ -1,564 +0,0 @@
1
- {
2
- "namespace": "lilac",
3
- "concept_name": "positive-sentiment",
4
- "type": "text",
5
- "data": {
6
- "0": {
7
- "label": false,
8
- "text": "Starting To Be Annoyed By Becky...: I'm not sure why I keep reading these books, but I guess it's because I've read the first two so I'll keep reading the rest of the books. In the first book, I really found it amusing. I was a little annoyed by the fact that Becky couldn't stop spending, but then again that's why she is called a Shopaholic. In the second book, I felt more of the same it was just magniifed more. Now in the third book, I'm just down right annoyed by Becky Bloomwood. In this book, she wasn't going on crazy shopping sprees, just planning two different weddings because she was afraid to tell each person and because I feel she's really selfish. Still, I read the book because I wanted to see how she could get herself out of another situation. I will say that I love her friends Suze and Danny, her client Laurel and her husband Luke. Maybe that's why I keep reading. I will read the next book, but I'm sure I'll be just as annoyed when I'm done.",
9
- "id": "0"
10
- },
11
- "1": {
12
- "label": false,
13
- "text": "the cover is fine - the pool is horrible: The entire pool was horrible. The cover was fine once we got it on, but we finally got rid of the pool after 2 weeks because it was so hard to set up and keep clean.",
14
- "id": "1"
15
- },
16
- "2": {
17
- "label": true,
18
- "text": "Good album, not their best.: This album is probably the most marketable and radio friendly of all of dashboard's albums. For the peripheral listener it may be the right one to get to introduce you to this band. But as a Dashboard fan of 5 or so years I truly hope they return to their original sound for their next work. Not for the listen-ability but for the show. To this day the fans react best to the songs from \"Places\" or \"A Mark, A Mission.\" I recommend this album to everyone but I also recommend any and all of their other work.",
19
- "id": "2"
20
- },
21
- "3": {
22
- "label": false,
23
- "text": "This is a horror novel, right?: Never one to pass up any vampire novel, I purchased Sips because the description seemed interesting. Vampires, Marquis de Sade, fetishism, yada yada yada. If this is a comedy, I give it 4 stars; however, I'll give it 1 star as a horror novel. Sade was rather boring; I would think a character as intense and multi-faceted as the Marquis de Sade would make for a more interesting vampire. The writing style isn't too bad, but overall I found the characters to be mildly amusing at best. The plot was thin, the end was anti-climactic, and the vampires were not very frightening. The book had little suspense, and it leaves a mile-wide opening for a sequel at the conclusion. I would, however, like to see something more of the vampire mutants lurking in the graveyard. They were the most riveting of any of the characters.",
24
- "id": "3"
25
- },
26
- "4": {
27
- "label": true,
28
- "text": "Superb mix of global non secular musical denominations: I first heard Ms. Pook's music on the \"Eyes Wide Shut\" soundtrack (the masquerade ball scene) and was blown away; if ever there was a necessity for music to permeate a scene in a film this was it. She incorporates a blend of the traditional songs from faiths across continents and mixes them, for lack of a better comparison than similar to your quintessential raver d.j. (though these are better and definitively more original :) \"Oppenheimer\" is my favorite, and if you let the last track run for a few minutes a portion of the song will play once more. I can't wait to hear more of her stuff - these hymns are awesome.",
29
- "id": "4"
30
- },
31
- "5": {
32
- "label": true,
33
- "text": "A moving and suspenseful story!: For anyone familiar with the occult, this book is likely to raise hairs on the back of your neck as you read. Even if you're not, the storyline is suspenseful and fascinating, and the characters evoke great sympathy and admiration. An excellent read.",
34
- "id": "5"
35
- },
36
- "6": {
37
- "label": true,
38
- "text": "Simple & Easy to Use - A Practical approach to eating out: This guide is extremely to use. It provides sample menus that you'd see at Chinese, Indian and Thai restaurants. Then you are provided with descriptions of each dish and how it is prepared and the ingredients used. From there you are provided with specific considerations as to how the preparation or ingredient list may affect you if you have Gluten or Allergen issues.This book is the size of a passport and very organized and well written. The Chinese, Indian and Thai Cuisine Passport is perfect for making choices while traveling, or while dining at your favorite local restaurant.",
39
- "id": "6"
40
- },
41
- "7": {
42
- "label": false,
43
- "text": "Being Fair....I am a fan of hers: and I really enjoyed her previous works, more than I could have ever imagined, but this record is horrible. The songs are trite, the lyrics are incredibly boring, indulgent and immature. The music is pop staple, with forgetable melodies and repetative chorus lines, I feel as if the studio wrote the entire album for her while she was sleeping, this just doesn't speak to any of her previous works at all. This album fits on the same shelf with a Nickelodeon-themed CD. Instead of heading in the direction of an artist like Alanis Morrisette, she is going backward and joining the ranks of Hannah Montana and the Naked Brothers Band. She is a great artist and her first two records are amazing. She is better than this CD and I am looking forward to her next effort.",
44
- "id": "7"
45
- },
46
- "8": {
47
- "label": false,
48
- "text": "Sucked: I thought the DVD sucked tremendously. It was very boring and if I could, I would return it for a refund. There was only one \"small\" clip of Dylan himself. I'm very disappointed.",
49
- "id": "8"
50
- },
51
- "9": {
52
- "label": true,
53
- "text": "Excellent product: Easy to install. If you have a newer furnace you probably do not need the swail switch as the HE220A comes with a Humistat which can be connected to the furnace. They recommend the Honeywell 32005847-001 Installation Kit, Bypass which is a little pricey and you can probably buy the pieces of this kit cheaper individually from Home Depot or Lowes or ACO as well as the filters.",
54
- "id": "9"
55
- },
56
- "10": {
57
- "label": true,
58
- "text": "Very happy.: I am very happy with this trashcan. I was unable to find one in the stores to fit the space in my cabinet, but this one does the job. It is very sturdy and looks like it will put up with years of use.",
59
- "id": "10"
60
- },
61
- "11": {
62
- "label": false,
63
- "text": "These aren't Throughbreds!: This makes me so mad. All these new authors are coming and changing the series. Nothings the same anymore and the plots are repeditive. Don't even bother reading these books until #32 these are like a different series. I don't know excactly what's happing but these new authors suck!",
64
- "id": "11"
65
- },
66
- "12": {
67
- "label": false,
68
- "text": "Large and slow are a bad combination.: I bought this TV and returned it a week later, because it blurred so badly with motion that sports were unwatchable. I ended up buying a smaller Sony XBR4, and I have none of the issues (plus the picture is far, far better).This has nothing to do with 60 vs 120Hz. That is more important for DVDs and Blu-Ray signals that are 24fps (which doesn't divide evenly into 60 but does for 120). The LT52133 has an 8ms response time, which is extremely slow. A decent LCD should be 5 or lower.If you want an LCD, choose speed and quality over size. If you want size and quality but want to spend less, buy a plasma. Don't buy a big, cheap, slow LCD!I gave it 2 stars because I like the interface and remote.",
69
- "id": "12"
70
- },
71
- "13": {
72
- "label": false,
73
- "text": "Skip it: This movie is very poorly written and the result is not distressing, just lame. The actors do their best but from very early on it is obvious that the material gives them nothing to work with. Fans of Colin Firth will experience a certain dim level of enjoyment. Minnie Driver is a treat but her character is no better written than the others. Vermont locations are worth something. With one or two moments of exception it's neither comedic nor romantic.",
74
- "id": "13"
75
- },
76
- "14": {
77
- "label": true,
78
- "text": "Belive it i went to the concert?: hi everyone let me tell you i went to the concert i was amazed with what i saw cher was awsome i tell you buy the dvd. as i sat in front of the stage cher was doing a great job to us the she is living proof . So i urge you to buy it?",
79
- "id": "14"
80
- },
81
- "15": {
82
- "label": true,
83
- "text": "Vale la pena.: En este libro se narra de una forma muy interesante la vida de una familia en particular. Lo que mas me gusto de este libro fue la manera en que la autora describe a lo largo del libro las personalidades de los sujetos envueltos en la novela; que vienen a ser muy distintos y extremos, lo cual, intensifica el drama... Definitivamente es un buen libro y lo recomiendo a todos.",
84
- "id": "15"
85
- },
86
- "16": {
87
- "label": true,
88
- "text": "Nummie Children's story: I ordered this book for our grandchildren. Two boys 5 & 3 and a 4 month old girl. All love the story. The mouse is determined.",
89
- "id": "16"
90
- },
91
- "17": {
92
- "label": false,
93
- "text": "Seem to be alone on this one: Looking at the other reviews, I seem to be the only one that was disappointed with this book. The content is too babyish in most of it for older tweens and the more \"grown up\" content would be over a younger tween's head. I had a quick read through and with every paged turned, I thought duh. I'll be looking around for another book shortly.",
94
- "id": "17"
95
- },
96
- "18": {
97
- "label": true,
98
- "text": "Best yet: by far the best EA game yet. I especially like the easy controls and kick - a graphics. the playbook is extremely accurate and detailed. Also the fight songs and cheerleaders were a nice touch. this is an excellent game and worth checking out.",
99
- "id": "18"
100
- },
101
- "19": {
102
- "label": false,
103
- "text": "washed out: A bit like Simply Reds version of the Valentine bros hit \"Moneys too tight to mention\" - this cover version has nothing of the driving energy that characterised the original recording.",
104
- "id": "19"
105
- },
106
- "20": {
107
- "label": true,
108
- "text": "great water bottle: I love this bottle it is great. I like knowing it is non toxic and it just works very well. You can have it full and lay it down and it doesn't leak at all.",
109
- "id": "20"
110
- },
111
- "21": {
112
- "label": true,
113
- "text": "Nice goggles: I am pretty happy with these goggles. They work well during swim workouts in the pool. I do notice a little bit of fogging from time to time. I had hoped to wear them during an upcoming triathlon, but based on a few instances where they slipped a little in the pool I am concerned that they won't be secure enough. I will keep using them in the pool, but will likely get different ones for open water races.",
114
- "id": "21"
115
- },
116
- "22": {
117
- "label": false,
118
- "text": "aaahhh nnnoooooo!: Hopefully the last film in one of the worst horror trilogys ever made. This series pretty much ruined the horror film for years to come, for one its too self aware, thats incredibley annoying, second everyone acts like they are on Friends or some sitcom. The acting is just plain bad and unconvincing. Now the gore, if you're going with material this weak you should load it up with disgusting violence, is there any in the Scream series? No.Everyone went to see this movie just to see who THE KILLER is. This movie sets low standards to be met, you expect alot of people to die, one shock, then we find out who the killer is, then you go home. Every horror film being made today is like that, there's nothing new or exciting or risk taking, its the same stuff over and over and people are laping it up like dog food.This film is what you've come to expect, bad acting, some people die and we eventually find out who the killer is and all is merry and well. Pathetic.",
119
- "id": "22"
120
- },
121
- "23": {
122
- "label": true,
123
- "text": "A classic of its kind: This movie is a classic of its kind and much better that a lot of movies, that followed. It is not one of the best, but it still deserves five stars...",
124
- "id": "23"
125
- },
126
- "24": {
127
- "label": false,
128
- "text": "Nice suite, but Virtual PC 7 disappoints on my G5: I purchased the upgrade since I'd already bought both Office v.X and Virtual PC 6.1 last year.The biggest letdown is that Microsoft's promised support for the G5 is nearly non-existent. I have a dual processor G5 with an ATI Radeon 9800 card (Apple), and after trying to install Virtual PC 7 three times, I cannot get a VM to work. It did install (and work) flawlessly on my G4 Powerbook. Googling for reviews finds it's very hit or miss, but if (when) it misses, you'll regret investing the extra $$$ in an immature product.",
129
- "id": "24"
130
- },
131
- "25": {
132
- "label": false,
133
- "text": "Okay player, don't expect a miracle: I bought this DVD player at Circuit City earlier this yr for about a $100. I hooked it up to a 47\" Vizio LCD (which by the way has an awesome picture) using a HDMI cable. After fine tuning this product, I was very, very, very diasppointed. The picture was very \"grainy\" (lots of pixels). I have a $35 DVD player that only utilizes an s-video cable that produces a much more crisp picture. Be warned, the picture stinks.",
134
- "id": "25"
135
- },
136
- "26": {
137
- "label": true,
138
- "text": "A revelation of the science of consciousness evolution and all natural growth: Here is a readable and fascinating account of the development of the new science of chaos theory, the only body of ideas that describes how the natural world as experienced by human beings emerges out of basic quantum processes. The different explorers and innovators of the new science are introduced in a personable way that will enchant the interested reader.",
139
- "id": "26"
140
- },
141
- "27": {
142
- "label": false,
143
- "text": "Don't say that I didn't warn ya' !: I'm absolutely convinced that Delbert McClinton had no controlover the release of this CD. I rated it 1 star simplybecause there is no 0 star rating ! In actuality , I am not certain that the vocalist on this recording IS Delbert McClinton. Only on the Mr. Pitiful track is there any similarity at all to Delbert's voice. This is the perfect CD for someone with money to burn who would like to have a recording of a 1960's garage band recorded in a garage and who should be working in a garage ! Delbert fans...run fast and run far away from this ! END",
144
- "id": "27"
145
- },
146
- "28": {
147
- "label": false,
148
- "text": "This item is not available: I ordered this unit on February 7th. Every time I checked back on the status of the order, it read \"not shipped\" and the estimated shipping date got moved out. I really don't think this unit is avaialble from the company anytime soon. I cancelled the order.",
149
- "id": "28"
150
- },
151
- "29": {
152
- "label": false,
153
- "text": "I used to like ABBA...: I used to like ABBA, until I saw Mama Mia! A horribly disjointed musical, where songs feel contrived to fit into the story; a story that doesn't seem to come together. Individual songs are usually done alright, but don't segue from one to another very well.The cast butchered several of the songs, but especially S.O.S, Take A Chance On Me, and anything where Pierce Brosnan sang. On a side note, I also counted at least two violations of Chekov's Gun. And finally, I think it has a bad moral message. Which you only recognize if you manage to sit through the whole thing.If there is justice in the world, cast members without established careers won't get to have them as punishment for the worst movies I've seen since The Talented Mr. Ripley.",
154
- "id": "29"
155
- },
156
- "30": {
157
- "label": false,
158
- "text": "A complete disaster!: If you're like me, you probably wanted to check out this movie because it sounded like it really could be an excellent supernatural Gothic horror tale full of goblins and wicked things alike. Well, don't make the same mistake I did and actually watch it. It's horrible. Terrible. An honest to goodness waste of film. The acting is wretched, the film quality is rotten (it actually looks twenty years older than it is), and the plot is thin, weak, and does not give you what it's supposed to. The only reason I bothered to give this film 1 star is because of Alexis Arquette -- he's great looking, but should have left this film out of his career.",
159
- "id": "30"
160
- },
161
- "31": {
162
- "label": true,
163
- "text": "beautiful detail: I just purchased these Dover COloring Books for my mother and she loves them. The detail is out of this world and the variety of colors you can use are only limited by your inagination. HIGHLY RECOMMENDED!",
164
- "id": "31"
165
- },
166
- "32": {
167
- "label": false,
168
- "text": "Very disappointed: I looked forward to getting this movie as I had heard many good things about it but it was nothing like I had imagined or been led to believe. There is very little actual history in it or real Christian experience except for the background because the main focus is a soap opera style romance and caricature figures. I agree with the reviewer who described it as a mixture of \"tawdry Hollywood sex\" somehow interspersed with a vague nod to Christianity. The only decent scene was the arena scene where the Christians are going to their deaths singing hymns - but that's not enough to make it a great or even a good movie. Not personally to my taste anyway.",
169
- "id": "32"
170
- },
171
- "33": {
172
- "label": false,
173
- "text": "Unreliable minikit: I bought this minikit because it got good reviews and it would be perfect for my purposes. However it switches on and off whenever it wants, it looses contact with the phone. Very often the on/off button works only in a horizontal position (?) I use a Treo 650, which is on the compatible phone list. When I contacted Parrot, they said it wasn't (?) At last I opened the unit, but there are no moving parts inside except the micro switches. It is giving me a headache, so I will go searching for an alternative.",
174
- "id": "33"
175
- },
176
- "34": {
177
- "label": true,
178
- "text": "A Christmas Classic!: This is surely one of the best classical Christmas recordings available. Don't buy the older version, as the quality of this recording is excellent. This is one of those \"Every Christmas - Can't have Christmas without\" recordings.",
179
- "id": "34"
180
- },
181
- "35": {
182
- "label": false,
183
- "text": "too narrow: These were the narrowest pair of D size shoes I have ever tried on. I don't care how nice a shoe looks. If it don't fit it just don't fit.",
184
- "id": "35"
185
- },
186
- "36": {
187
- "label": false,
188
- "text": "Lack of extension: This earphones lack a descent extension cord. ITs very small cable, but its of good quality. Sadly, cord its too short, and the extension is useless.",
189
- "id": "36"
190
- },
191
- "37": {
192
- "label": true,
193
- "text": "Easy-Reading: This is the 3rd Southern Sisters Mystery I've read. They're easy, fast and funny murder mysteries, with lots of cute family stories intertwined in the intrigue.",
194
- "id": "37"
195
- },
196
- "38": {
197
- "label": false,
198
- "text": "it'd be great if it worked like it was supposed to: for the first 30 seconds it was lovely, but i believe that either the motor isn't powerful enough to keep the shaft rotating smoothly or 3 AA batteries just don't provide enough juice for the motor to work more than 30 seconds. it was a nice idea, but i'm rather dissapointed. the jelly material is somewhat difficult to maintain also. i think if it were hooked up to a larger battery pack it'd be WONDERFUL... which i think i may have a macgyver friend with a knack for electronics attempt to do for me.",
199
- "id": "38"
200
- },
201
- "39": {
202
- "label": true,
203
- "text": "Not Hornby's best but still good: I loved About a Boy and really, really loved the sardonic wit of High Fidelity. About a Boy is much deeper but just as cynical. Maybe even more so. The characters are richly drawn and just complex enough to keep the reader wanting more. Good read, but best to take some time with this one. Not recommended for a summer beach read.",
204
- "id": "39"
205
- },
206
- "40": {
207
- "label": false,
208
- "text": "A Disappointment: As with most Taunton Press publications, the illustrations and photographs in this book are spectacular and the organization and layout is superb. Nonetheless, I found this book disappointing. It lacks both depth and breadth. I had hoped for a detailed review of wood joinery including some of the more unusual joinery found in Japanese woodworking. This book, however, is targeted more toward the beginner. Even so, it does not cover the details and \"tricks\" of even the most basic techniques in sufficient detail to allow beginners to easily reproduce them. Consequently, it is unclear who this book was written for - not the beginner as it lacks depth, and not the advanced woodworker as it lacks breadth. Far more effort appears to have been put into appearance and organization than in content.",
209
- "id": "40"
210
- },
211
- "41": {
212
- "label": false,
213
- "text": "Horrible. Don't do it!: Great price for the item when a 6' one of these at Best Buy is $20. Thing is, the one from Best Buy fits in the outlet and stays there. This cord fits very loose and does not connect. I bought 2 of them, neither did what they were suppose to.As much as I hate to say it, but, buy the more expensive one. At least it works.",
214
- "id": "41"
215
- },
216
- "42": {
217
- "label": true,
218
- "text": "Given as a gift...: Given to my best friend as a gift. She loves it. Her fiance enjoys making coffee for her in the mornings. :)",
219
- "id": "42"
220
- },
221
- "43": {
222
- "label": true,
223
- "text": "Love the ring.: This is a nice ring. I was worried it out be thin and cheap looking, but it's not. It's a very pretty stylish ring. Go for it.",
224
- "id": "43"
225
- },
226
- "44": {
227
- "label": false,
228
- "text": "Beautiful writing Marred by One-Note Characterizations: How could Kingsolver have ruined her book with such an obvious error? Nathan is a strident paper doll that flattens the whole story. Just as bad, the author has all the narrators using the same ironic tone to decribe him, deadening their voices as well. At the same time, Kingsolver doesn't have the guts to show him doing something trully terrible. I don't trust an author who can't let the reader make up his own mind, and as a consequence I couldn't trust her views about ANYTHING in the story. I'm giving this two stars for her descriptions of the African landscape, and that is all.",
229
- "id": "44"
230
- },
231
- "45": {
232
- "label": false,
233
- "text": "Much worse than any cordless phone I've ever had: This phone cuts out only 2 rooms away from the base station. There is static noise, and callers on the other end complain about sound quality. I can't go into the garden, which used to be no problem with my old 900 MHz phone.",
234
- "id": "45"
235
- },
236
- "46": {
237
- "label": false,
238
- "text": "Waste of time & money: The first Hangover was not too bad, this one was just terrible. The acting is bad, the script is bad, everything about this movie was just bad. Do yourself a favor, don't buy this movie as it is a total waste of time and money.",
239
- "id": "46"
240
- },
241
- "47": {
242
- "label": false,
243
- "text": "Did Not Work For Me!: Impressive You Tube Video (Like a Sci-Fi Fantasy). In reality it's a high speed Easy Out so unsurprisingly it broke faster than an Easy out. This product did not work for me. The drill part did not drlil, the puller part did not pull. It was a total zero.",
244
- "id": "47"
245
- },
246
- "48": {
247
- "label": true,
248
- "text": "Excellent book, long overdue.: From a very long time women were told that looking good was of utmost importance. This was without regard to health or fitness and how age affected these parameters. Witness the whalebone and other types of corsets, the spike heeled shoes and the numerous weight loss programmes on the market (some of which are downright dangerous). Now there is a book, backed by solid research, that allows women of all ages to remain fit and healthy for a lifetime. I am certainly going to recommend this book to all the women I know.Bentley Norville",
249
- "id": "48"
250
- },
251
- "49": {
252
- "label": false,
253
- "text": "not an all star: Not a practical guide in this collecting age. Does NOT have a comprehensive list; meaning it does NOT cover all manufacturers and, more importantly, for the ones it does, only provides listings of the base set. That means no insert or variation pricing whatsoever. Also, no oddball or minor league issues are listed. Generally speaking, unless you are collecting base sets prior to the advent of inserts and alternate versions of the base set, this guide is fairly useless.",
254
- "id": "49"
255
- },
256
- "50": {
257
- "label": false,
258
- "text": "Again, second rate city, third rate writer: Just another example of Mr. Lindberg's pitiful attempt at exhibiting a strong expertise on a subject with which he is clearly obsessed. Don't waste your time with this book, either. It is poorly written and fails to engage the reader. You might consider using this book and the first book he wrote on the same subject, as a pair of bookends. That is about all they are worth.",
259
- "id": "50"
260
- },
261
- "51": {
262
- "label": true,
263
- "text": "Reality: No one should need to convince you to buy this book, you should just do it! It's so well written and worded and brings you right to the heart of a sexual reality that most people like to pretend doesn't really live and breath in their fair cities. I never again want to hear someone bad mouth a working girl for what she does. I will and do now however look at men with a curious eye wondering if they are depraved peep show window lickers :)",
264
- "id": "51"
265
- },
266
- "52": {
267
- "label": false,
268
- "text": "Bummer: Visual effects and Battle footage were great...the other 85% of the movie was just lousy fluff...",
269
- "id": "52"
270
- },
271
- "53": {
272
- "label": true,
273
- "text": "The spark of idependence: Filled with the independent spark that made us all love life at one point or another. A fun, introspective and nonsensical movie that sticks with you.",
274
- "id": "53"
275
- },
276
- "54": {
277
- "label": true,
278
- "text": "What I expected from Mirman's website. Funny. Funny. Russian.: lol, gotta love Eugene. Even when his audience doesn't initially laugh, he gets in a good zinger at himself and they laugh at that. He's witty without being condescending, and uncomplicated without seeing contrived. However, if you're not a fan of irreverant humor, this may not be for you.",
279
- "id": "54"
280
- },
281
- "55": {
282
- "label": false,
283
- "text": "Do not...repeat...do not bother!: It is not often that I offer a negative review but this compilation while attractive does not deliver at all.The foot massage gizmo is awkward and uncomfortable.The pumice stone leaves rough splinter like skin.The foot scrub doesn't reall scrub.The rotary action tool has five heads, none of which work well and you must hold the switch in place or it turns off. It is cumbersome and ineffective.The one star was initially given for a foot brush (which later lost its bristles very easily as I update the review) and a sweet smelling foot repair balm.Don't waist your money. Soak your feet and invest in an inexpensive German Titania file, smooth and coarser side, or a like product. It will last for years.",
284
- "id": "55"
285
- },
286
- "56": {
287
- "label": false,
288
- "text": "Not Sandra's Best: Ms. Brown has written better romance novels. Don't give up on her if this was your first Sandra book.The feeble female lead struggles with a 15-year crush that walks back into her life. The smug male lead acts like a jerk through most of the novel. The romance scenes grapple to muster up passion but fall short. Both of the main characters bothered me; my favorite character was the 17-year old.A quick read...about 4 hours (with interruptions) for me...but probably not worth it.",
289
- "id": "56"
290
- },
291
- "57": {
292
- "label": true,
293
- "text": "Impressed: Lots-O-Fun. Wood and glass toys are high quality and are a good fall back for the kids to play with they are \"bored\". Would buy again.",
294
- "id": "57"
295
- },
296
- "58": {
297
- "label": false,
298
- "text": "Light turned on by itself 3 times: The installation was easy. I used it for a week, everything worked fine, EXCEPT the light it connected to turned on by itself 3 times so far, with no one near to either one of the switch. Not sure whether it is a defective unit, or this product is too sensitive to noise. I'm returning this product and will just install a regular switch instead.",
299
- "id": "58"
300
- },
301
- "59": {
302
- "label": true,
303
- "text": "good battery: I feel kind of silly writing a review for a battery, but have to say that these last a LONG time. Work very well.",
304
- "id": "59"
305
- },
306
- "60": {
307
- "label": true,
308
- "text": "Even a Woman finds it funny: Yes, even a woman finds \"Married to Mommy\" funny. The book gets you laughing aloud when it is trying to make fun of \"Mommies\". The truth is that it really is making fun of the stupidity of men and their simple basic needs of sex, getting out of work, and beer. Of course, the truth is always funny.A definite MUST for any woman, married or not. We will now know all the secret tricks the men try to use on us.By the way, I am NOT a MOMMY!",
309
- "id": "60"
310
- },
311
- "61": {
312
- "label": true,
313
- "text": "Gungrave...not quite what you might expect: Those thinking this is another version of Trigun will be disappointed. Gungrave is actually a lot deeper and more complex. The lead is short on dialouge, but the story has more depth and character development than most anime. The first DVD is more about the main character's past than about the reanimated killing machine he's become, but it definitely leaves you wanting more.",
314
- "id": "61"
315
- },
316
- "62": {
317
- "label": true,
318
- "text": "Error in product description: It's great in every way. However, if you'd prefer a digital tuner (as I do), then you might need to look further. The product description boasts a digital AM/FM tuner, but it's disappointingly an analog AM/FM tuner.Overall - especially for the price - I think it's pretty good.",
319
- "id": "62"
320
- },
321
- "63": {
322
- "label": true,
323
- "text": "good phone but not as user friendly as it could be: Battery life is very good. Phone has good range. My only complaint is it's to involved to get your message from the handset.",
324
- "id": "63"
325
- },
326
- "64": {
327
- "label": false,
328
- "text": "Big waste of money (and space in my house!): My 5 year old son wanted this so bad, but when we got it for him, there were so many pieces to put together that didn't fit together well, he never played with it. It just sits on our floor in many pieces taking up toy space! What a waste!",
329
- "id": "64"
330
- },
331
- "65": {
332
- "label": true,
333
- "text": "Don't want to take it off: Very satisfied with an earlier purchase of this Bali bra model, I was just as pleased with the new one. Very comfortable, well made and a good neutral color. It will be my next choice, too.",
334
- "id": "65"
335
- },
336
- "66": {
337
- "label": true,
338
- "text": "Fantastico: If anybody who's into rock music is ever looking for a band to keep you on your toes, this is the band. I've been a fan for 10 years now, and no album has ever sounded like any of their previous albums. This disc is fantastic with such a variety of styles, as are the previous releases, even back to the Rainbow Butt Monkey days.",
339
- "id": "66"
340
- },
341
- "67": {
342
- "label": false,
343
- "text": "too much visual: There are far too much designs, visuals, colors, etc in the book - this is highly distracting, as TV screen can be...By way of example (among so many...), what is the use of colors with the three squares of the Pyth. theorem???? this is as useless as writting 2+3=5 with 2 in blue, 3 in red and 5 in yellow...I wish I had purchased the 2nd edition, which according to reviews was closer to what I was looking for.",
344
- "id": "67"
345
- },
346
- "68": {
347
- "label": true,
348
- "text": "Aretha's First Arista Release Showed Pleasures to Come: After a long and musically satisfying career with Atlantic, Aretha severed her ties with that company and moved under the wing of Arista's Clive Davis. With the start of the 1980's, Aretha was looking for new territory to conquer and almost succeeded with this mixed bag.\"United Together\" is a fine tune that benefits from beautiful orchestral arrangement that is matched by Aretha's superb vocal instrument. The remake of \"Can't Turn You Loose\" allows Aretha to show why she is the Queen of Soul\" for she really belts this one out. Another cover, that of the Doobies' \"What a Fool Believes,\" is an interesting interpretation. The final cut \"School Days\" appears to be \"autobiographical\" for every girl growing up in the fifties.Although not as strong as her Atlantic work, \"Aretha\" is still a suitable addition to the artist's discography.",
349
- "id": "68"
350
- },
351
- "69": {
352
- "label": false,
353
- "text": "Misguided Purchase: The photo and description do not reflect the product. The screen panel kit I received was white. What a huge inconvenience during a time-crunch.",
354
- "id": "69"
355
- },
356
- "70": {
357
- "label": false,
358
- "text": "Banacek: My husband and were looking forward to seeing this series.The first show was SO boring, we finally just quit watching it.Actually, we haven't gotten around to watching anymore. I guess we were afraid of a repeat.Maybe that was just once, I hope!",
359
- "id": "70"
360
- },
361
- "71": {
362
- "label": true,
363
- "text": "JDT: Uncle Tupelo is without doubt one of the most under appreciated groups of the 90's. Anodyne, like each of the three albums that came before it, has everything that a remarkable recording requires: great songs, honest lyrics, and artists who really care about the music they are making. Like the best of Dylan and Springsteen, the songs are about real people with real troubles and joys. When you hear them you know they are coming from the heart. The songs contributed by Jay Farrar and Jeff Tweedy are easily differentiated by the voacls, music, and lyrics. What makes this record interesting is how well these unique sounds compliment each other. The union is seamless.",
364
- "id": "71"
365
- },
366
- "72": {
367
- "label": true,
368
- "text": "Well Worth Reading: First a confession: Miriam Wasserman was my mother. However, she published several books, but this is the only one I really found useful. She walks the reader through the New York City school system and the attitudes of different groups involved in the system back in the 1960s. This includes parents, teachers and administrators. Her view is that the further away one got from parents and students, the more prestige one had. She meticulously describes the teachers' strike of 1968 against \"community control of schools\", a strike of which she is extremely critical. She explores the racism that was involved in this strike, including using quotes from striking teachers, etc. It should be emphasized that the author was pro-union all her life, so her views don't stem from an anti-union bias. The book also covers the high school student rebellion which coincided with and followed the strike.",
369
- "id": "72"
370
- },
371
- "73": {
372
- "label": true,
373
- "text": "compact and loaded: I bought this phone after reading the cnet reviews and really liked it. It looks small and really compact. I like the camera pics at 2 mega pixel and bright flash. The mp3 player is crisp. The headset that comes along delvers amazing fM radio. I think my phone is not very loud and you have a problem when you are around a noisy crowd. I just bought this phone again for my cousin. He likes it too. Almost forgot the display is very good.",
374
- "id": "73"
375
- },
376
- "74": {
377
- "label": true,
378
- "text": "Outstanding text!: Brooks/Cole should keep this text in their catalog for ages! It is well-written, examples are generally quite clear, vocabulary is introduced well, and the exercises develop real skills, rather than simply be busy-work. One of the best calculus books ever!",
379
- "id": "74"
380
- },
381
- "75": {
382
- "label": true,
383
- "text": "Excel 2003 Bible: Very good source of information. I will most likely buy other books in this series.",
384
- "id": "75"
385
- },
386
- "76": {
387
- "label": true,
388
- "text": "Tasting is Believing: Gluten-free breads used to have a gritty texture from the rice flour, and were too soft for sandwiches. Bette Hagman uses garbanzo/fava bean flour, sorghum flour, tapioca flour, and corn starch to create breads which have a similar texture to wheat flour breads, and the flavors of her breads are fabulous.My BF bought me this book and a great tasting beverage to drink it with. Since he knows I quit coffee recently, he's been really wonderful helping me in cope with my mood swings. S o y f e e is made from soy beans that is roasted just like coffee. I enjoy the taste and don't miss coffee one bit. Buy it online at www.s o y c o f fee.com.This is a 'must have' for anyone baking gluten-free. I think all of Bette Hagman's books are wonderful and a must for those with gluten intolerance.",
389
- "id": "76"
390
- },
391
- "77": {
392
- "label": true,
393
- "text": "5 stars for the show, no stars for the \"Collector's Edition\": I was really looking forward to getting this Collector's Edition and see what extras were added. I knew it wasn't a lot - just a mini-book and a documentary - but I figured it would be packaged in a cool way.Wrong.As others have already mentioned, the Collector's Edition is *literally* theAvatar: The Last Airbender - The Complete Book 1 Collectionslipped into another cardboard box, with a little booklet and DVD in an envelope (not even a case!) wedged in. It's really disappointing; it would have been so easy to create a quality Collector's Edition but the studio couldn't be bothered, I guess.",
394
- "id": "77"
395
- },
396
- "78": {
397
- "label": true,
398
- "text": "sula scottcampos: Sula, a book that talks about the issues of being a black women is a really good novel to read.One of the reasons I recommend it is because of its realism and its themes - death, sex, friendship and poverty.I also think that its characters are very good, its easy to identify with one or both of them. I really recommend this book to anyone who enjoys good literature.",
399
- "id": "78"
400
- },
401
- "79": {
402
- "label": true,
403
- "text": "Fantastic! It's a must-have for girls!: I hated razor, tried shaving but it did not work for me. Shaving made the hair grows thicker and faster afterwards, plus the roots are impossible to be getting rid of. After reading the reviews, I ordered it to try, I used it for once and already fall in love with this. I used to use small tweezer to pluck out my leg's hair, in order to avoid the razor, it took me a few hours to do that but this super electronic tweezer works wonder! You won't see the black roots and I have smooth and silkly legs in 20 mins. It does not hurt at all, if you use it on your legs. But, if you use it at your under arm, it won't be a pleasant feeling, of course! I will never use anything else besides this for hair removing anymore! highly recommended!",
404
- "id": "79"
405
- },
406
- "80": {
407
- "label": false,
408
- "text": "This is not a toy: I guess I was expecting more out of these leave window decals. I just didn't find them attractive after placing them on my window, they seem very cheap, I guess because they are cheap.I threw them away.",
409
- "id": "80"
410
- },
411
- "81": {
412
- "label": true,
413
- "text": "Wonderful book for anyone running a professional hatchery: This book is aimed more for hatcheries that are raising Trout, Salmon, Catfish and other food fishes. However, there is so much information in this book that even ornamental fish hatcheries will find an incredible amount of useful information. The chapters on Fish Nutrition are especially helpful.",
414
- "id": "81"
415
- },
416
- "82": {
417
- "label": true,
418
- "text": "Amazing book!!: Once again, Eric Victorino's artistic talent is put into this great free-verse poetry book. I couldn't put it down and I finished it the day I received it in the mail. All of the poems are awesome but the one I found the most interesting was \"It's A People Business.\" All of the experiences in his life, personally and with his band, come to life in this book. Please check it out! It's worth every penny!!",
419
- "id": "82"
420
- },
421
- "83": {
422
- "label": true,
423
- "text": "The white trumpet contender respect Miles Davis!: The story of the Jazz in the Fifties certainly would be remain unfinished without the ominous presence of this outstanding virtuoso. Baker sound still possesses this alluring hook, this magnetic engagement charm, eloquent expressiveness, enrapturing lyricism and contagious rhythm, despite the elapsed time, which confirms by itself the status of his musicianship.This selection is jus a little sample of the broad universe of his genius. A well thought selection of great musical successes, available, preserved and immortalized by the Digital Technology for our future enjoyment.Absolutely indispensable in your treasured collection.",
424
- "id": "83"
425
- },
426
- "84": {
427
- "label": false,
428
- "text": "What the?: I'm sorry, maybe it's just me but I can't helping stating that this has to be one of the wrost movies I've seen in my life!Can you say boring? Can you say doesn't make sense at all? The first 30 minutes of the movie were O.K. But it went downhill after that. This movie is a prime example of a director attempting to make a deep movie with a meaningful lesson but failed on all levels. I don't recommend this movie unless you want to go to sleep or you don't have anything else to do.",
429
- "id": "84"
430
- },
431
- "85": {
432
- "label": true,
433
- "text": "very very good!!!!: linda blair is a young girl who is possessed. and her mother doesn't know what to do until one day when she hears her daughter screaming and stabbind herself she knows what to do GET AN EXORCIZIM!!!",
434
- "id": "85"
435
- },
436
- "86": {
437
- "label": true,
438
- "text": "Awesome product for the price!: This range extender works as advertised! I am very happy with the purchase. I was a little worried after reading some of the horror stories here, but I have to say, Chovy's review instructions (on this site) were just this ticket to get the repeater up and running in less than 30 minutes. It was unbelievably easy to install! Do not be frightened by negative reviews. If you can set up a wireless network, you can set up this repeater. However, I did upgrade the firmware before I did anything else and maybe that helped. I got the firmware update from the Belkin site.",
439
- "id": "86"
440
- },
441
- "87": {
442
- "label": false,
443
- "text": "Slight: This book is either a heavily illustrated short story collection or a text-heavy comic. Its unusual format is its most original feature. Its plots are negligible, but its illustrations and text evoke a unique atmosphere of self-conscious nonconformism. Although its target audience is dare-to-be-different teens and college students, its interesting turns of phrase and expressive line drawings are not devoid of interest for general audences.",
444
- "id": "87"
445
- },
446
- "88": {
447
- "label": true,
448
- "text": "ANgeleyes: Seem to dry up their eyes fairly well, although I haven't seen the color (brown stain) change much yet.",
449
- "id": "88"
450
- },
451
- "89": {
452
- "label": false,
453
- "text": "Nice Try: Salt Lake 2002 is not a bad game, but it isn't good either. The graphics are excellent, but some of the events are bad. Bobsleigh, and skiing aren't bad but the others are. You dont stay into it for long. I liked it for a while, but it gets boring.",
454
- "id": "89"
455
- },
456
- "90": {
457
- "label": false,
458
- "text": "Cutler's share of the pie: This book was a major disappointment. I am familiar with books written solely by the Dalai Lama, such as the \"Library of Tibet\" series, which are much more engrossing and have much more substance than Cutler's book. Cutler attempts (successfully, sadly) to have his share of the profitable market that involves the Dalai Lama's writings. The book is insipid, does not try to explain any important issue in the light of Buddhist philosophy, and only rehashes issues that several other westerners already wrote about. It's another big ego trip: we keep hearing time and again about his opportunities to be with the Dalai Lama. What a shame, Cutler. I sold the book as soon as I finished it.",
459
- "id": "90"
460
- },
461
- "91": {
462
- "label": false,
463
- "text": "Mostly tedious, with interesting parts: I found the writing interesting, and the subject fascinating, but I found myself frustrated by the author's difficulty in talking directly about the status of Muslim women with her interview subjects. The author spent many pages writing about the menus and dress of the many middle and upper-middle class women she interviewed. It seemed as though her interview subjects resisted her efforts to discuss the status of women in their countries, so we too as readers had to wade through much distracting material and misunderstandings about feminism and gender. Great travel stories, but not a great source of information about Muslim women.",
464
- "id": "91"
465
- },
466
- "92": {
467
- "label": false,
468
- "text": "Sesame Street Toddler: I did not find this game to be as educationally sound as I would expect from Sesame street. There is too much talking before the program will react to a command. The graphics are jerky and the cursor acts like the target is magnetically charged and keeps pushing away the cursor. When the child actually does manage to click on a target, the cursor may still fly to another target and the child is told that his answer is wrong. Another example of educational problems is the pronunciation of \"eggs\" using a long \"a\" sound instead of a short \"e.\" This is not very helpful in teaching a child the sound for short \"e.\" Children that are used to playing computer games by themselves may find that this game is too frustrating to do alone. The open ended learning curve is a great idea. I just wish Sesame Street would hire a truly qualified literacy expert to help clean up the many problems in this program.",
469
- "id": "92"
470
- },
471
- "93": {
472
- "label": false,
473
- "text": "needs a buzz cut and a point: I avoided reading this book, not because of the hermaphrodite subject matter, but because I have never read a multigenerational family saga that I liked. Many books let me down in the middle, and this was no exception. The beginning of the book was incredible and harrowing, with momentum and characterization. The post-America nextgens part of the saga was so boring I found myself flipping and flipping - always a bad sign. If there was some kind of larger point to all of that, then I must have missed it. Yes there's the identity duality and trinity themes playing out here: man/woman, greek/turkish/american modern/old world sick/healthy innocent/guilty original/reinvented. But it was almost as if the author was saying - here it is again - get it? I like my fiction much more subtle than this.",
474
- "id": "93"
475
- },
476
- "94": {
477
- "label": false,
478
- "text": "OMG! DO NOT BUY!: I normally don't take the time to submit a review.In this case however, I feel obligated to do so.This is by far one of the worst purchases I have ever made.Here's why.....The contraption is far too bulky.The case's enclosing is unbearable, takes a good minute or so to open it.The texture of the material feels like a cheap toy.The overall design is horrible, something I could make in my basement.For the love of everything sacred, do not buy this thing.",
479
- "id": "94"
480
- },
481
- "95": {
482
- "label": true,
483
- "text": "Good price, good quality: Comparable HDMI cables can be bought for 45 or more. Even though the price is cheap the quality is good, no problems so far.",
484
- "id": "95"
485
- },
486
- "96": {
487
- "label": true,
488
- "text": "Good rock music: This is what i call rock music good beat and good lyrics, don't listen to the other reviews. This cd is one of the best, listen to a few songs and you will get hooked. I recommend this cd its awesome.",
489
- "id": "96"
490
- },
491
- "97": {
492
- "label": false,
493
- "text": "BORING!: This movie is soo boring. How in the hell did this movie make so much at the box office. Do people really want to pay for crappy movies like this. bottom line this is a chick flick nothing is good. And now they are re-releasing this movie with more boring stuff. This is the worst movie ever.",
494
- "id": "97"
495
- },
496
- "98": {
497
- "label": false,
498
- "text": "Already Rusting: Inferior quality. The plating is thin and rust is coming through the finish. Inexcusable for a product that is designed for use in a humid environment.",
499
- "id": "98"
500
- },
501
- "99": {
502
- "label": false,
503
- "text": "confusing internet setup: i wanted a camera that could email photos but this camera will not go out through the router and the manual setup , to punch a hole thru router is confusing.",
504
- "id": "99"
505
- },
506
- "55066581ad334ef5844c6f7707525010": {
507
- "label": true,
508
- "text": "Thought this was super cool, and a really important step in all the physical books' preservation.",
509
- "id": "55066581ad334ef5844c6f7707525010"
510
- },
511
- "fef14d13366f482d9f4e0726b357f178": {
512
- "label": true,
513
- "text": "There are some amazing hikes around Mt. Fuji.",
514
- "id": "fef14d13366f482d9f4e0726b357f178"
515
- },
516
- "70aed7369aa74031a06f5f3155476d7c": {
517
- "label": true,
518
- "text": "Thought this was super cool, and a really important step in preserving all the physical books.",
519
- "id": "70aed7369aa74031a06f5f3155476d7c"
520
- },
521
- "ac65d14b710648b8bf3c2a53caf6ac91": {
522
- "label": false,
523
- "text": "The profits of the business that was most successful were still negative.",
524
- "id": "ac65d14b710648b8bf3c2a53caf6ac91"
525
- },
526
- "ce00e6b1547444259a13c55654e66500": {
527
- "label": true,
528
- "text": "love them best, they reconnect in hysterically funny and emotionally significant ways.",
529
- "id": "ce00e6b1547444259a13c55654e66500"
530
- },
531
- "8943a94d205b43ceb4420d5ab9c5611a": {
532
- "label": true,
533
- "text": "Walt Disney's timeless masterpiece is an extravaganza of sight and sound! See the music come to life, hear the pictures burst into song and experience the excitement that is Fantasia over and over again.",
534
- "id": "8943a94d205b43ceb4420d5ab9c5611a"
535
- },
536
- "6af8fc3dd30d4f8caf5a2929fc88534b": {
537
- "label": false,
538
- "text": "A director struggles with a difficult sex scene between a young actor and actress who can't stand one another. Aided by her loyal assistant, she is hell-bent on getting the scene right without compromise.",
539
- "id": "6af8fc3dd30d4f8caf5a2929fc88534b"
540
- },
541
- "dbe571ed810d40f48170147dcab1c90f": {
542
- "label": false,
543
- "text": "sound created by drawing directly on the soundtrack).",
544
- "id": "dbe571ed810d40f48170147dcab1c90f"
545
- },
546
- "682102dfc5494f03926d16ae947a6250": {
547
- "label": true,
548
- "text": "one of glowing admiration! Written by Mark Toscano",
549
- "id": "682102dfc5494f03926d16ae947a6250"
550
- },
551
- "9b044458bb0e4bd68359e62d5fb4b979": {
552
- "label": false,
553
- "text": "Seth McArdle (Samuel Davis) is a high school senior with an especially full plate. Not only must he navigate the usual social and academic pitfalls of high school, but he has to contend with his young twin sisters, serving as de facto parent in the absence of his deceased mother and deadbeat father. The pressure mounts when the bank calls with a foreclosure warning, and Seth's frustrations spill",
554
- "id": "9b044458bb0e4bd68359e62d5fb4b979"
555
- },
556
- "abf2d24c7d8845769b7368be28f2c25d": {
557
- "label": true,
558
- "text": "Bjork is a beautiful creature and her music is stellar to anything I've ever heard. This DVD is essential for all Bjork fans, because you find something new every time you watch it.",
559
- "id": "abf2d24c7d8845769b7368be28f2c25d"
560
- }
561
- },
562
- "version": 11,
563
- "description": "Positive sentiment"
564
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/concept/lilac/profanity/cohere.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:ac6f5c16936974090db60905b161ad7cbd6b06e6f9f80c9e4d301bad19c4370c
3
- size 8588727
 
 
 
 
data/concept/lilac/profanity/concept.json DELETED
The diff for this file is too large to render. See raw diff
 
data/concept/lilac/profanity/openai.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:a97b1413eae8a4813076a2f72930682c997819ac80f2f8a4dadda744f2d4f4de
3
- size 3247820
 
 
 
 
data/concept/lilac/profanity/sbert.pkl DELETED
Binary file (844 kB)
 
data/concept/lilac/toxicity/cohere.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:1c4c4e02333400d44e384bb9beaa4baa9639490e0b216d71dde779ed0edbfbad
3
- size 9712370
 
 
 
 
data/concept/lilac/toxicity/concept.json DELETED
The diff for this file is too large to render. See raw diff
 
data/concept/lilac/toxicity/openai.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e5e3da956209b364a86f9fe33aef44d49f6fb33852c1012ddf8a5f46ea401ec3
3
- size 3675058
 
 
 
 
data/concept/lilac/toxicity/sbert.pkl DELETED
Binary file (958 kB)
 
data/datasets/local/spotify/data-00000-of-00001.parquet DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:32224657332b09187a737c73ab634f9d14c9ba9a240bd105f1b9819cde2afcef
3
- size 37128682
 
 
 
 
data/datasets/local/spotify/manifest.json DELETED
@@ -1,27 +0,0 @@
1
- {
2
- "files": [
3
- "data-00000-of-00001.parquet"
4
- ],
5
- "data_schema": {
6
- "fields": {
7
- "artist": {
8
- "dtype": "string"
9
- },
10
- "song": {
11
- "dtype": "string"
12
- },
13
- "link": {
14
- "dtype": "string"
15
- },
16
- "text": {
17
- "dtype": "string"
18
- },
19
- "__line_number__": {
20
- "dtype": "int64"
21
- },
22
- "__rowid__": {
23
- "dtype": "string"
24
- }
25
- }
26
- }
27
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/datasets/local/spotify/settings.json DELETED
@@ -1 +0,0 @@
1
- {"ui": {"media_paths": [["text"]]}}
 
 
data/datasets/local/spotify/text/lang_detection/data-00000-of-00001.parquet DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:0f1555427c8dc3b2f1e9310f5e71b46297e607f710365e107c73c894d5a8e1b0
3
- size 2033407
 
 
 
 
data/datasets/local/spotify/text/lang_detection/signal_manifest.json DELETED
@@ -1,36 +0,0 @@
1
- {
2
- "files": [
3
- "data-00000-of-00001.parquet"
4
- ],
5
- "parquet_id": "lang_detection(text)",
6
- "data_schema": {
7
- "fields": {
8
- "__rowid__": {
9
- "dtype": "string"
10
- },
11
- "text": {
12
- "fields": {
13
- "lang_detection": {
14
- "repeated_field": {
15
- "fields": {
16
- "lang_code": {
17
- "dtype": "string"
18
- }
19
- },
20
- "dtype": "string_span"
21
- },
22
- "signal": {
23
- "signal_name": "lang_detection"
24
- }
25
- }
26
- }
27
- }
28
- }
29
- },
30
- "signal": {
31
- "signal_name": "lang_detection"
32
- },
33
- "enriched_path": [
34
- "text"
35
- ]
36
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/datasets/local/spotify/text/sbert/data-00000-of-00001.parquet DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:9796beb630cc3503f3c2ac9db8f71e4c1604570836d78bbf364e801cd427c39e
3
- size 2709987
 
 
 
 
data/datasets/local/spotify/text/sbert/embedding/local/outerspace/v34/data-00000-of-00001.parquet DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d1ba0fe68cc02849b0a20b7f72047c8e9cb8e5ef5b57b0cd642fa0b0be8a6e06
3
- size 3340135
 
 
 
 
data/datasets/local/spotify/text/sbert/embedding/local/outerspace/v34/signal_manifest.json DELETED
@@ -1,64 +0,0 @@
1
- {
2
- "files": [
3
- "data-00000-of-00001.parquet"
4
- ],
5
- "parquet_id": "local/outerspace/v34(text.sbert.*.embedding)",
6
- "data_schema": {
7
- "fields": {
8
- "__rowid__": {
9
- "dtype": "string"
10
- },
11
- "text": {
12
- "fields": {
13
- "sbert": {
14
- "repeated_field": {
15
- "fields": {
16
- "embedding": {
17
- "fields": {
18
- "local/outerspace/v34": {
19
- "dtype": "float32",
20
- "signal": {
21
- "signal_name": "concept_score",
22
- "embedding": "sbert",
23
- "namespace": "local",
24
- "concept_name": "outerspace",
25
- "draft": "main",
26
- "num_negative_examples": 100
27
- },
28
- "bins": [
29
- [
30
- "Not in concept",
31
- null,
32
- 0.5
33
- ],
34
- [
35
- "In concept",
36
- 0.5,
37
- null
38
- ]
39
- ]
40
- }
41
- }
42
- }
43
- }
44
- }
45
- }
46
- }
47
- }
48
- }
49
- },
50
- "signal": {
51
- "signal_name": "concept_score",
52
- "embedding": "sbert",
53
- "namespace": "local",
54
- "concept_name": "outerspace",
55
- "draft": "main",
56
- "num_negative_examples": 100
57
- },
58
- "enriched_path": [
59
- "text",
60
- "sbert",
61
- "*",
62
- "embedding"
63
- ]
64
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.keys.pkl DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:d5df43291782b8c731d4ce56537946654c642a01dc9a4e37de394836362f6b45
3
- size 3727400
 
 
 
 
data/datasets/local/spotify/text/sbert/embeddings-00000-of-00001.npy DELETED
@@ -1,3 +0,0 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:94e10c23d7229541e1f60b791a659d13673b10a03649abf0ae092e0e18c5aee3
3
- size 170446976
 
 
 
 
data/datasets/local/spotify/text/sbert/signal_manifest.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "files": [
3
- "data-00000-of-00001.parquet"
4
- ],
5
- "parquet_id": "sbert(text)",
6
- "data_schema": {
7
- "fields": {
8
- "__rowid__": {
9
- "dtype": "string"
10
- },
11
- "text": {
12
- "fields": {
13
- "sbert": {
14
- "repeated_field": {
15
- "fields": {
16
- "embedding": {
17
- "dtype": "embedding"
18
- }
19
- },
20
- "dtype": "string_span"
21
- },
22
- "signal": {
23
- "signal_name": "sbert"
24
- }
25
- }
26
- }
27
- }
28
- }
29
- },
30
- "signal": {
31
- "signal_name": "sbert"
32
- },
33
- "enriched_path": [
34
- "text"
35
- ],
36
- "embedding_filename_prefix": "embeddings-00000-of-00001"
37
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/data/dataset.py CHANGED
@@ -1,8 +1,8 @@
1
  """The interface for the database."""
2
  import abc
3
- import datetime
4
  import enum
5
  from concurrent.futures import ThreadPoolExecutor
 
6
  from typing import Any, Iterator, Literal, Optional, Sequence, Union
7
 
8
  import pandas as pd
@@ -11,7 +11,7 @@ from pydantic import Field as PydanticField
11
  from pydantic import StrictBool, StrictBytes, StrictFloat, StrictInt, StrictStr, validator
12
 
13
  from ..embeddings.vector_store import VectorStore
14
- from ..schema import VALUE_KEY, Bin, Path, PathTuple, Schema, normalize_path
15
  from ..signals.signal import Signal, resolve_signal
16
  from ..tasks import TaskStepId
17
 
@@ -44,8 +44,8 @@ class StatsResult(BaseModel):
44
  approx_count_distinct: int
45
 
46
  # Defined for ordinal features.
47
- min_val: Optional[Union[float, datetime.date, datetime.datetime]]
48
- max_val: Optional[Union[float, datetime.date, datetime.datetime]]
49
 
50
  # Defined for text features.
51
  avg_text_length: Optional[float]
@@ -187,7 +187,7 @@ def column_from_identifier(column: ColumnId) -> Column:
187
  return Column(path=column)
188
 
189
 
190
- FeatureValue = Union[StrictInt, StrictFloat, StrictBool, StrictStr, StrictBytes]
191
  FeatureListValue = list[StrictStr]
192
  BinaryFilterTuple = tuple[Path, BinaryOp, FeatureValue]
193
  ListFilterTuple = tuple[Path, ListOp, FeatureListValue]
@@ -409,7 +409,8 @@ class Dataset(abc.ABC):
409
 
410
  def default_settings(dataset: Dataset) -> DatasetSettings:
411
  """Gets the default settings for a dataset."""
412
- leaf_paths = dataset.manifest().data_schema.leafs.keys()
 
413
  pool = ThreadPoolExecutor()
414
  stats: list[StatsResult] = list(pool.map(lambda leaf: dataset.stats(leaf), leaf_paths))
415
  sorted_stats = sorted([stat for stat in stats if stat.avg_text_length],
@@ -433,10 +434,3 @@ def make_parquet_id(signal: Signal,
433
  column_alias = column_alias[:-2]
434
 
435
  return f'{signal.key(is_computed_signal=is_computed_signal)}({column_alias})'
436
-
437
-
438
- def val(path: Path) -> PathTuple:
439
- """Returns the value at a path."""
440
- if path[-1] == VALUE_KEY:
441
- raise ValueError(f'Path "{path}" already is a value path.')
442
- return (*normalize_path(path), VALUE_KEY)
 
1
  """The interface for the database."""
2
  import abc
 
3
  import enum
4
  from concurrent.futures import ThreadPoolExecutor
5
+ from datetime import datetime
6
  from typing import Any, Iterator, Literal, Optional, Sequence, Union
7
 
8
  import pandas as pd
 
11
  from pydantic import StrictBool, StrictBytes, StrictFloat, StrictInt, StrictStr, validator
12
 
13
  from ..embeddings.vector_store import VectorStore
14
+ from ..schema import VALUE_KEY, Bin, DataType, Path, PathTuple, Schema, normalize_path
15
  from ..signals.signal import Signal, resolve_signal
16
  from ..tasks import TaskStepId
17
 
 
44
  approx_count_distinct: int
45
 
46
  # Defined for ordinal features.
47
+ min_val: Optional[Union[float, datetime]]
48
+ max_val: Optional[Union[float, datetime]]
49
 
50
  # Defined for text features.
51
  avg_text_length: Optional[float]
 
187
  return Column(path=column)
188
 
189
 
190
+ FeatureValue = Union[StrictInt, StrictFloat, StrictBool, StrictStr, StrictBytes, datetime]
191
  FeatureListValue = list[StrictStr]
192
  BinaryFilterTuple = tuple[Path, BinaryOp, FeatureValue]
193
  ListFilterTuple = tuple[Path, ListOp, FeatureListValue]
 
409
 
410
  def default_settings(dataset: Dataset) -> DatasetSettings:
411
  """Gets the default settings for a dataset."""
412
+ schema = dataset.manifest().data_schema
413
+ leaf_paths = [path for path, field in schema.leafs.items() if field.dtype == DataType.STRING]
414
  pool = ThreadPoolExecutor()
415
  stats: list[StatsResult] = list(pool.map(lambda leaf: dataset.stats(leaf), leaf_paths))
416
  sorted_stats = sorted([stat for stat in stats if stat.avg_text_length],
 
434
  column_alias = column_alias[:-2]
435
 
436
  return f'{signal.key(is_computed_signal=is_computed_signal)}({column_alias})'
 
 
 
 
 
 
 
src/data/dataset_duckdb.py CHANGED
@@ -41,6 +41,7 @@ from ..schema import (
41
  is_float,
42
  is_integer,
43
  is_ordinal,
 
44
  normalize_path,
45
  signal_compute_type_supports_dtype,
46
  )
@@ -563,8 +564,7 @@ class DatasetDuckDB(Dataset):
563
  if not leaf.dtype:
564
  raise ValueError(f'Leaf "{path}" not found in dataset')
565
 
566
- value_path = _make_value_path(path)
567
- duckdb_path = self._leaf_path_to_duckdb_path(value_path, manifest.data_schema)
568
  inner_select = _select_sql(
569
  duckdb_path, flatten=True, unnest=True, span_from=self._get_span_from(path, manifest))
570
 
@@ -603,7 +603,7 @@ class DatasetDuckDB(Dataset):
603
  min_max_query = f"""
604
  SELECT MIN(val) AS minVal, MAX(val) AS maxVal
605
  FROM (SELECT {inner_select} as val FROM t)
606
- WHERE NOT isnan(val)
607
  """
608
  row = self._query(min_max_query)[0]
609
  result.min_val, result.max_val = row
@@ -693,6 +693,9 @@ class DatasetDuckDB(Dataset):
693
  """
694
  df = self._query_df(query)
695
  counts = list(df.itertuples(index=False, name=None))
 
 
 
696
  return SelectGroupsResult(too_many_distinct=False, counts=counts, bins=named_bins)
697
 
698
  def _topk_udf_to_sort_by(
@@ -880,7 +883,7 @@ class DatasetDuckDB(Dataset):
880
  if final_col_name not in columns_to_merge:
881
  columns_to_merge[final_col_name] = {}
882
 
883
- duckdb_paths = self._column_to_duckdb_paths(column, schema)
884
  span_from = self._get_span_from(path, manifest) if resolve_span or column.signal_udf else None
885
 
886
  for parquet_id, duckdb_path in duckdb_paths:
@@ -1151,29 +1154,38 @@ class DatasetDuckDB(Dataset):
1151
  return _derived_from_path(path, manifest.data_schema) if is_span else None
1152
 
1153
  def _leaf_path_to_duckdb_path(self, leaf_path: PathTuple, schema: Schema) -> PathTuple:
1154
- leaf_path = _make_value_path(leaf_path)
1155
- ((_, duckdb_path),) = self._column_to_duckdb_paths(Column(leaf_path), schema)
1156
  return duckdb_path
1157
 
1158
- def _column_to_duckdb_paths(self, column: Column, schema: Schema) -> list[tuple[str, PathTuple]]:
 
 
 
 
1159
  path = column.path
1160
  parquet_manifests: list[Union[SourceManifest, SignalManifest]] = [
1161
  self._source_manifest, *self._signal_manifests
1162
  ]
1163
  duckdb_paths: list[tuple[str, PathTuple]] = []
 
1164
 
1165
- select_a_leaf_value = column.signal_udf is not None
1166
- if path[-1] == VALUE_KEY:
1167
- select_a_leaf_value = True
1168
- path = path[:-1]
1169
 
1170
  for m in parquet_manifests:
1171
  # Skip this parquet file if it doesn't contain the path.
1172
  if not schema_contains_path(m.data_schema, path):
1173
  continue
1174
 
 
 
 
 
 
 
 
1175
  # Skip this parquet file if the path doesn't have a dtype.
1176
- if select_a_leaf_value and not m.data_schema.get_field(path).dtype:
1177
  continue
1178
 
1179
  if isinstance(m, SignalManifest) and path == (UUID_COLUMN,):
@@ -1440,7 +1452,7 @@ def _inner_select(sub_paths: list[PathTuple],
1440
  inner_var = _escape_col_name(current_sub_path[0])
1441
  current_sub_path = current_sub_path[1:]
1442
  # Select the path inside structs. E.g. x['a']['b']['c'] given current_sub_path = [a, b, c].
1443
- path_key = inner_var + ''.join([f"['{p}']" for p in current_sub_path])
1444
  if len(sub_paths) == 1:
1445
  if span_from:
1446
  derived_col = _select_sql(span_from, flatten=False, unnest=False)
@@ -1655,13 +1667,6 @@ def _derived_from_path(path: PathTuple, schema: Schema) -> PathTuple:
1655
  raise ValueError('Cannot find the source path for the enriched path: {path}')
1656
 
1657
 
1658
- def _make_value_path(path: PathTuple) -> PathTuple:
1659
- """Returns the path to the value field of the given path."""
1660
- if path[-1] != VALUE_KEY and path[0] != UUID_COLUMN:
1661
- return (*path, VALUE_KEY)
1662
- return path
1663
-
1664
-
1665
  def _make_schema_from_path(path: PathTuple, field: Field) -> Schema:
1666
  """Returns a schema that contains only the given path."""
1667
  for sub_path in reversed(path):
 
41
  is_float,
42
  is_integer,
43
  is_ordinal,
44
+ is_temporal,
45
  normalize_path,
46
  signal_compute_type_supports_dtype,
47
  )
 
564
  if not leaf.dtype:
565
  raise ValueError(f'Leaf "{path}" not found in dataset')
566
 
567
+ duckdb_path = self._leaf_path_to_duckdb_path(path, manifest.data_schema)
 
568
  inner_select = _select_sql(
569
  duckdb_path, flatten=True, unnest=True, span_from=self._get_span_from(path, manifest))
570
 
 
603
  min_max_query = f"""
604
  SELECT MIN(val) AS minVal, MAX(val) AS maxVal
605
  FROM (SELECT {inner_select} as val FROM t)
606
+ {'WHERE NOT isnan(val)' if is_float(leaf.dtype) else ''}
607
  """
608
  row = self._query(min_max_query)[0]
609
  result.min_val, result.max_val = row
 
693
  """
694
  df = self._query_df(query)
695
  counts = list(df.itertuples(index=False, name=None))
696
+ if is_temporal(leaf.dtype):
697
+ # Replace any NaT with None and pd.Timestamp to native datetime objects.
698
+ counts = [(None if pd.isnull(val) else val.to_pydatetime(), count) for val, count in counts]
699
  return SelectGroupsResult(too_many_distinct=False, counts=counts, bins=named_bins)
700
 
701
  def _topk_udf_to_sort_by(
 
883
  if final_col_name not in columns_to_merge:
884
  columns_to_merge[final_col_name] = {}
885
 
886
+ duckdb_paths = self._column_to_duckdb_paths(column, schema, combine_columns)
887
  span_from = self._get_span_from(path, manifest) if resolve_span or column.signal_udf else None
888
 
889
  for parquet_id, duckdb_path in duckdb_paths:
 
1154
  return _derived_from_path(path, manifest.data_schema) if is_span else None
1155
 
1156
  def _leaf_path_to_duckdb_path(self, leaf_path: PathTuple, schema: Schema) -> PathTuple:
1157
+ ((_, duckdb_path),) = self._column_to_duckdb_paths(
1158
+ Column(leaf_path), schema, combine_columns=False, select_leaf=True)
1159
  return duckdb_path
1160
 
1161
+ def _column_to_duckdb_paths(self,
1162
+ column: Column,
1163
+ schema: Schema,
1164
+ combine_columns: bool,
1165
+ select_leaf: bool = False) -> list[tuple[str, PathTuple]]:
1166
  path = column.path
1167
  parquet_manifests: list[Union[SourceManifest, SignalManifest]] = [
1168
  self._source_manifest, *self._signal_manifests
1169
  ]
1170
  duckdb_paths: list[tuple[str, PathTuple]] = []
1171
+ source_has_path = False
1172
 
1173
+ select_leaf = select_leaf or column.signal_udf is not None
 
 
 
1174
 
1175
  for m in parquet_manifests:
1176
  # Skip this parquet file if it doesn't contain the path.
1177
  if not schema_contains_path(m.data_schema, path):
1178
  continue
1179
 
1180
+ if isinstance(m, SourceManifest):
1181
+ source_has_path = True
1182
+
1183
+ if isinstance(m, SignalManifest) and source_has_path and not combine_columns:
1184
+ # Skip this signal if the source already has the path and we are not combining columns.
1185
+ continue
1186
+
1187
  # Skip this parquet file if the path doesn't have a dtype.
1188
+ if select_leaf and not m.data_schema.get_field(path).dtype:
1189
  continue
1190
 
1191
  if isinstance(m, SignalManifest) and path == (UUID_COLUMN,):
 
1452
  inner_var = _escape_col_name(current_sub_path[0])
1453
  current_sub_path = current_sub_path[1:]
1454
  # Select the path inside structs. E.g. x['a']['b']['c'] given current_sub_path = [a, b, c].
1455
+ path_key = inner_var + ''.join([f'[{_escape_string_literal(p)}]' for p in current_sub_path])
1456
  if len(sub_paths) == 1:
1457
  if span_from:
1458
  derived_col = _select_sql(span_from, flatten=False, unnest=False)
 
1667
  raise ValueError('Cannot find the source path for the enriched path: {path}')
1668
 
1669
 
 
 
 
 
 
 
 
1670
  def _make_schema_from_path(path: PathTuple, field: Field) -> Schema:
1671
  """Returns a schema that contains only the given path."""
1672
  for sub_path in reversed(path):
src/data/dataset_test_utils.py CHANGED
@@ -1,6 +1,7 @@
1
  """Tests utils of for dataset_test."""
2
  import os
3
  import pathlib
 
4
  from typing import Optional, Type, cast
5
 
6
  from typing_extensions import Protocol
@@ -36,6 +37,8 @@ def _infer_dtype(value: Item) -> DataType:
36
  return DataType.FLOAT32
37
  elif isinstance(value, int):
38
  return DataType.INT32
 
 
39
  else:
40
  raise ValueError(f'Cannot infer dtype of primitive value: {value}')
41
 
 
1
  """Tests utils of for dataset_test."""
2
  import os
3
  import pathlib
4
+ from datetime import datetime
5
  from typing import Optional, Type, cast
6
 
7
  from typing_extensions import Protocol
 
37
  return DataType.FLOAT32
38
  elif isinstance(value, int):
39
  return DataType.INT32
40
+ elif isinstance(value, datetime):
41
+ return DataType.TIMESTAMP
42
  else:
43
  raise ValueError(f'Cannot infer dtype of primitive value: {value}')
44
 
src/data/dataset_utils.py CHANGED
@@ -185,11 +185,6 @@ def schema_contains_path(schema: Schema, path: PathTuple) -> bool:
185
  """Check if a schema contains a path."""
186
  current_field = cast(Field, schema)
187
  for path_part in path:
188
- # When we reach a value key, the schema should have a dtype defined on it. If not, it is derived
189
- # and this schema does not contain the value.
190
- if path_part == VALUE_KEY:
191
- return current_field.dtype is not None
192
-
193
  if path_part == PATH_WILDCARD:
194
  if current_field.repeated_field is None:
195
  return False
 
185
  """Check if a schema contains a path."""
186
  current_field = cast(Field, schema)
187
  for path_part in path:
 
 
 
 
 
188
  if path_part == PATH_WILDCARD:
189
  if current_field.repeated_field is None:
190
  return False
src/data/sources/gmail_source.py CHANGED
@@ -6,14 +6,8 @@ import random
6
  import re
7
  from datetime import datetime
8
  from time import sleep
9
- from typing import Any, Iterable, Optional
10
-
11
- from email_reply_parser import EmailReplyParser
12
- from google.auth.transport.requests import Request
13
- from google.oauth2.credentials import Credentials
14
- from google_auth_oauthlib.flow import InstalledAppFlow
15
- from googleapiclient.discovery import build
16
- from googleapiclient.errors import HttpError
17
  from pydantic import Field as PydanticField
18
  from typing_extensions import override
19
 
@@ -22,6 +16,9 @@ from ...schema import Item, field
22
  from ...utils import log
23
  from .source import Source, SourceSchema
24
 
 
 
 
25
  # If modifying these scopes, delete the token json file.
26
  _SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
27
  _GMAIL_CONFIG_DIR = os.path.join(data_path(), '.gmail')
@@ -52,7 +49,7 @@ class Gmail(Source):
52
  description='Path to the OAuth credentials file.',
53
  default=os.path.join(_GMAIL_CONFIG_DIR, _CREDS_FILENAME))
54
 
55
- _creds: Optional[Credentials] = None
56
 
57
  class Config:
58
  # Language is required even though it has a default value.
@@ -60,6 +57,14 @@ class Gmail(Source):
60
 
61
  @override
62
  def setup(self) -> None:
 
 
 
 
 
 
 
 
63
  # The token file stores the user's access and refresh tokens, and is created automatically when
64
  # the authorization flow completes for the first time.
65
  token_filepath = os.path.join(_GMAIL_CONFIG_DIR, _TOKEN_FILENAME)
@@ -94,6 +99,14 @@ class Gmail(Source):
94
 
95
  @override
96
  def process(self) -> Iterable[Item]:
 
 
 
 
 
 
 
 
97
  # Call the Gmail API
98
  service = build('gmail', 'v1', credentials=self._creds)
99
 
 
6
  import re
7
  from datetime import datetime
8
  from time import sleep
9
+ from typing import TYPE_CHECKING, Any, Iterable, Optional
10
+
 
 
 
 
 
 
11
  from pydantic import Field as PydanticField
12
  from typing_extensions import override
13
 
 
16
  from ...utils import log
17
  from .source import Source, SourceSchema
18
 
19
+ if TYPE_CHECKING:
20
+ from google.oauth2.credentials import Credentials
21
+
22
  # If modifying these scopes, delete the token json file.
23
  _SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
24
  _GMAIL_CONFIG_DIR = os.path.join(data_path(), '.gmail')
 
49
  description='Path to the OAuth credentials file.',
50
  default=os.path.join(_GMAIL_CONFIG_DIR, _CREDS_FILENAME))
51
 
52
+ _creds: Optional['Credentials'] = None
53
 
54
  class Config:
55
  # Language is required even though it has a default value.
 
57
 
58
  @override
59
  def setup(self) -> None:
60
+ try:
61
+ from google.auth.transport.requests import Request
62
+ from google.oauth2.credentials import Credentials
63
+ from google_auth_oauthlib.flow import InstalledAppFlow
64
+ except ImportError:
65
+ raise ImportError('Could not import dependencies for the "gmail" source. '
66
+ 'Please install with pip install lilac[gmail]')
67
+
68
  # The token file stores the user's access and refresh tokens, and is created automatically when
69
  # the authorization flow completes for the first time.
70
  token_filepath = os.path.join(_GMAIL_CONFIG_DIR, _TOKEN_FILENAME)
 
99
 
100
  @override
101
  def process(self) -> Iterable[Item]:
102
+ try:
103
+ from email_reply_parser import EmailReplyParser
104
+ from googleapiclient.discovery import build
105
+ from googleapiclient.errors import HttpError
106
+ except ImportError:
107
+ raise ImportError('Could not import dependencies for the "gmail" source. '
108
+ 'Please install with pip install lilac[gmail]')
109
+
110
  # Call the Gmail API
111
  service = build('gmail', 'v1', credentials=self._creds)
112
 
src/embeddings/cohere.py CHANGED
@@ -1,7 +1,6 @@
1
  """Cohere embeddings."""
2
- from typing import Iterable, cast
3
 
4
- import cohere
5
  import numpy as np
6
  from typing_extensions import override
7
 
@@ -11,6 +10,9 @@ from ..signals.signal import TextEmbeddingSignal
11
  from ..signals.splitters.chunk_splitter import split_text
12
  from .embedding import compute_split_embeddings
13
 
 
 
 
14
  NUM_PARALLEL_REQUESTS = 10
15
  COHERE_BATCH_SIZE = 96
16
 
@@ -29,14 +31,20 @@ class Cohere(TextEmbeddingSignal):
29
  name = 'cohere'
30
  display_name = 'Cohere Embeddings'
31
 
32
- _model: cohere.Client
33
 
34
  @override
35
  def setup(self) -> None:
 
36
  api_key = CONFIG.get('COHERE_API_KEY')
37
  if not api_key:
38
  raise ValueError('`COHERE_API_KEY` environment variable not set.')
39
- self._model = cohere.Client(api_key, max_retries=10)
 
 
 
 
 
40
 
41
  @override
42
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
 
1
  """Cohere embeddings."""
2
+ from typing import TYPE_CHECKING, Iterable, cast
3
 
 
4
  import numpy as np
5
  from typing_extensions import override
6
 
 
10
  from ..signals.splitters.chunk_splitter import split_text
11
  from .embedding import compute_split_embeddings
12
 
13
+ if TYPE_CHECKING:
14
+ from cohere import Client
15
+
16
  NUM_PARALLEL_REQUESTS = 10
17
  COHERE_BATCH_SIZE = 96
18
 
 
31
  name = 'cohere'
32
  display_name = 'Cohere Embeddings'
33
 
34
+ _model: 'Client'
35
 
36
  @override
37
  def setup(self) -> None:
38
+ """Validate that the api key and python package exists in environment."""
39
  api_key = CONFIG.get('COHERE_API_KEY')
40
  if not api_key:
41
  raise ValueError('`COHERE_API_KEY` environment variable not set.')
42
+ try:
43
+ import cohere
44
+ self._model = cohere.Client(api_key, max_retries=10)
45
+ except ImportError:
46
+ raise ImportError('Could not import the "cohere" python package. '
47
+ 'Please install it with `pip install cohere`.')
48
 
49
  @override
50
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
src/embeddings/openai.py CHANGED
@@ -1,8 +1,7 @@
1
  """OpenAI embeddings."""
2
- from typing import Iterable, cast
3
 
4
  import numpy as np
5
- import openai
6
  from tenacity import retry, stop_after_attempt, wait_random_exponential
7
  from typing_extensions import override
8
 
@@ -12,6 +11,9 @@ from ..signals.signal import TextEmbeddingSignal
12
  from ..signals.splitters.chunk_splitter import split_text
13
  from .embedding import compute_split_embeddings
14
 
 
 
 
15
  NUM_PARALLEL_REQUESTS = 10
16
  OPENAI_BATCH_SIZE = 128
17
  EMBEDDING_MODEL = 'text-embedding-ada-002'
@@ -31,12 +33,20 @@ class OpenAI(TextEmbeddingSignal):
31
  name = 'openai'
32
  display_name = 'OpenAI Embeddings'
33
 
 
 
34
  @override
35
  def setup(self) -> None:
36
  api_key = CONFIG.get('OPENAI_API_KEY')
37
  if not api_key:
38
  raise ValueError('`OPENAI_API_KEY` environment variable not set.')
39
- openai.api_key = api_key
 
 
 
 
 
 
40
 
41
  @override
42
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
@@ -49,7 +59,7 @@ class OpenAI(TextEmbeddingSignal):
49
  # See https://github.com/search?q=repo%3Aopenai%2Fopenai-python+replace+newlines&type=code
50
  texts = [text.replace('\n', ' ') for text in texts]
51
 
52
- response = openai.Embedding.create(input=texts, model=EMBEDDING_MODEL)
53
  return [np.array(embedding['embedding'], dtype=np.float32) for embedding in response['data']]
54
 
55
  docs = cast(Iterable[str], docs)
 
1
  """OpenAI embeddings."""
2
+ from typing import TYPE_CHECKING, Iterable, cast
3
 
4
  import numpy as np
 
5
  from tenacity import retry, stop_after_attempt, wait_random_exponential
6
  from typing_extensions import override
7
 
 
11
  from ..signals.splitters.chunk_splitter import split_text
12
  from .embedding import compute_split_embeddings
13
 
14
+ if TYPE_CHECKING:
15
+ import openai
16
+
17
  NUM_PARALLEL_REQUESTS = 10
18
  OPENAI_BATCH_SIZE = 128
19
  EMBEDDING_MODEL = 'text-embedding-ada-002'
 
33
  name = 'openai'
34
  display_name = 'OpenAI Embeddings'
35
 
36
+ _model: 'openai.Embedding'
37
+
38
  @override
39
  def setup(self) -> None:
40
  api_key = CONFIG.get('OPENAI_API_KEY')
41
  if not api_key:
42
  raise ValueError('`OPENAI_API_KEY` environment variable not set.')
43
+ try:
44
+ import openai
45
+ openai.api_key = api_key
46
+ self._model = openai.Embedding
47
+ except ImportError:
48
+ raise ImportError('Could not import the "openai" python package. '
49
+ 'Please install it with `pip install openai`.')
50
 
51
  @override
52
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
 
59
  # See https://github.com/search?q=repo%3Aopenai%2Fopenai-python+replace+newlines&type=code
60
  texts = [text.replace('\n', ' ') for text in texts]
61
 
62
+ response = self._model.create(input=texts, model=EMBEDDING_MODEL)
63
  return [np.array(embedding['embedding'], dtype=np.float32) for embedding in response['data']]
64
 
65
  docs = cast(Iterable[str], docs)
src/embeddings/palm.py CHANGED
@@ -1,7 +1,6 @@
1
  """PaLM embeddings."""
2
- from typing import Iterable, cast
3
 
4
- import google.generativeai as palm
5
  import numpy as np
6
  from tenacity import retry, stop_after_attempt, wait_random_exponential
7
  from typing_extensions import override
@@ -12,6 +11,9 @@ from ..signals.signal import TextEmbeddingSignal
12
  from ..signals.splitters.chunk_splitter import split_text
13
  from .embedding import compute_split_embeddings
14
 
 
 
 
15
  PALM_BATCH_SIZE = 1 # PaLM API only supports batch size 1.
16
  NUM_PARALLEL_REQUESTS = 256 # Because batch size is 1, we can send many requests in parallel.
17
  EMBEDDING_MODEL = 'models/embedding-gecko-001'
@@ -29,12 +31,20 @@ class PaLM(TextEmbeddingSignal):
29
  name = 'palm'
30
  display_name = 'PaLM Embeddings'
31
 
 
 
32
  @override
33
  def setup(self) -> None:
34
  api_key = CONFIG.get('PALM_API_KEY')
35
  if not api_key:
36
  raise ValueError('`PALM_API_KEY` environment variable not set.')
37
- palm.configure(api_key=api_key)
 
 
 
 
 
 
38
 
39
  @override
40
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
@@ -43,7 +53,7 @@ class PaLM(TextEmbeddingSignal):
43
  @retry(wait=wait_random_exponential(min=1, max=20), stop=stop_after_attempt(10))
44
  def embed_fn(texts: list[str]) -> list[np.ndarray]:
45
  assert len(texts) == 1, 'PaLM API only supports batch size 1.'
46
- response = palm.generate_embeddings(model=EMBEDDING_MODEL, text=texts[0])
47
  return [np.array(response['embedding'], dtype=np.float32)]
48
 
49
  docs = cast(Iterable[str], docs)
 
1
  """PaLM embeddings."""
2
+ from typing import TYPE_CHECKING, Iterable, cast
3
 
 
4
  import numpy as np
5
  from tenacity import retry, stop_after_attempt, wait_random_exponential
6
  from typing_extensions import override
 
11
  from ..signals.splitters.chunk_splitter import split_text
12
  from .embedding import compute_split_embeddings
13
 
14
+ if TYPE_CHECKING:
15
+ import google.generativeai as palm
16
+
17
  PALM_BATCH_SIZE = 1 # PaLM API only supports batch size 1.
18
  NUM_PARALLEL_REQUESTS = 256 # Because batch size is 1, we can send many requests in parallel.
19
  EMBEDDING_MODEL = 'models/embedding-gecko-001'
 
31
  name = 'palm'
32
  display_name = 'PaLM Embeddings'
33
 
34
+ _model: 'palm'
35
+
36
  @override
37
  def setup(self) -> None:
38
  api_key = CONFIG.get('PALM_API_KEY')
39
  if not api_key:
40
  raise ValueError('`PALM_API_KEY` environment variable not set.')
41
+ try:
42
+ import google.generativeai as palm
43
+ palm.configure(api_key=api_key)
44
+ self._model = palm
45
+ except ImportError:
46
+ raise ImportError('Could not import the "google.generativeai" python package. '
47
+ 'Please install it with `pip install google-generativeai`.')
48
 
49
  @override
50
  def compute(self, docs: Iterable[RichData]) -> Iterable[Item]:
 
53
  @retry(wait=wait_random_exponential(min=1, max=20), stop=stop_after_attempt(10))
54
  def embed_fn(texts: list[str]) -> list[np.ndarray]:
55
  assert len(texts) == 1, 'PaLM API only supports batch size 1.'
56
+ response = self._model.generate_embeddings(model=EMBEDDING_MODEL, text=texts[0])
57
  return [np.array(response['embedding'], dtype=np.float32)]
58
 
59
  docs = cast(Iterable[str], docs)
src/embeddings/sbert.py CHANGED
@@ -1,10 +1,8 @@
1
  """Sentence-BERT embeddings. Open-source models, designed to run on device."""
2
  import functools
3
  import os
4
- from typing import Iterable, Optional, cast
5
 
6
- import torch
7
- from sentence_transformers import SentenceTransformer
8
  from typing_extensions import override
9
 
10
  from ..config import data_path
@@ -14,6 +12,9 @@ from ..signals.splitters.chunk_splitter import split_text
14
  from ..utils import log
15
  from .embedding import compute_split_embeddings
16
 
 
 
 
17
  # The `all-mpnet-base-v2` model provides the best quality, while `all-MiniLM-L6-v2`` is 5 times
18
  # faster and still offers good quality. See https://www.sbert.net/docs/pretrained_models.html#sentence-embedding-models/
19
  MINI_LM_MODEL = 'all-MiniLM-L6-v2'
@@ -28,7 +29,13 @@ MODEL_NAME = MINI_LM_MODEL
28
 
29
 
30
  @functools.cache
31
- def _sbert() -> tuple[Optional[str], SentenceTransformer]:
 
 
 
 
 
 
32
  preferred_device: Optional[str] = None
33
  if torch.backends.mps.is_available():
34
  preferred_device = 'mps'
 
1
  """Sentence-BERT embeddings. Open-source models, designed to run on device."""
2
  import functools
3
  import os
4
+ from typing import TYPE_CHECKING, Iterable, Optional, cast
5
 
 
 
6
  from typing_extensions import override
7
 
8
  from ..config import data_path
 
12
  from ..utils import log
13
  from .embedding import compute_split_embeddings
14
 
15
+ if TYPE_CHECKING:
16
+ from sentence_transformers import SentenceTransformer
17
+
18
  # The `all-mpnet-base-v2` model provides the best quality, while `all-MiniLM-L6-v2`` is 5 times
19
  # faster and still offers good quality. See https://www.sbert.net/docs/pretrained_models.html#sentence-embedding-models/
20
  MINI_LM_MODEL = 'all-MiniLM-L6-v2'
 
29
 
30
 
31
  @functools.cache
32
+ def _sbert() -> tuple[Optional[str], 'SentenceTransformer']:
33
+ try:
34
+ import torch
35
+ from sentence_transformers import SentenceTransformer
36
+ except ImportError:
37
+ raise ImportError('Could not import the "sentence_transformers" python package. '
38
+ 'Please install it with `pip install sentence-transformers`.')
39
  preferred_device: Optional[str] = None
40
  if torch.backends.mps.is_available():
41
  preferred_device = 'mps'
src/router_concept.py CHANGED
@@ -2,7 +2,6 @@
2
 
3
  from typing import Optional
4
 
5
- import openai
6
  from fastapi import APIRouter, HTTPException
7
  from openai_function_call import OpenAISchema
8
  from pydantic import BaseModel, Field
@@ -205,6 +204,12 @@ class Examples(OpenAISchema):
205
  @router.get('/generate_examples')
206
  def generate_examples(description: str) -> list[str]:
207
  """Generate positive examples for a given concept using an LLM model."""
 
 
 
 
 
 
208
  openai.api_key = CONFIG['OPENAI_API_KEY']
209
  completion = openai.ChatCompletion.create(
210
  model='gpt-3.5-turbo-0613',
 
2
 
3
  from typing import Optional
4
 
 
5
  from fastapi import APIRouter, HTTPException
6
  from openai_function_call import OpenAISchema
7
  from pydantic import BaseModel, Field
 
204
  @router.get('/generate_examples')
205
  def generate_examples(description: str) -> list[str]:
206
  """Generate positive examples for a given concept using an LLM model."""
207
+ try:
208
+ import openai
209
+ except ImportError:
210
+ raise ImportError('Could not import the "openai" python package. '
211
+ 'Please install it with `pip install openai`.')
212
+
213
  openai.api_key = CONFIG['OPENAI_API_KEY']
214
  completion = openai.ChatCompletion.create(
215
  model='gpt-3.5-turbo-0613',
src/router_google_login.py CHANGED
@@ -47,13 +47,9 @@ async def login(request: Request, origin_url: str) -> RedirectResponse:
47
  @router.get('/auth')
48
  async def auth(request: Request) -> Response:
49
  """Handles the Google OAuth callback."""
50
- print('req')
51
- print(str(request))
52
  try:
53
  token = await oauth.google.authorize_access_token(request)
54
  except OAuthError as error:
55
- print(error)
56
-
57
  return HTMLResponse(f'<h1>{error}</h1>')
58
  request.session['user'] = token['userinfo']
59
  return RedirectResponse(url='/')
 
47
  @router.get('/auth')
48
  async def auth(request: Request) -> Response:
49
  """Handles the Google OAuth callback."""
 
 
50
  try:
51
  token = await oauth.google.authorize_access_token(request)
52
  except OAuthError as error:
 
 
53
  return HTMLResponse(f'<h1>{error}</h1>')
54
  request.session['user'] = token['userinfo']
55
  return RedirectResponse(url='/')
src/signals/lang_detection.py CHANGED
@@ -1,19 +1,17 @@
1
  """Language detection of a document."""
2
- from typing import Iterable, Optional, cast
3
 
4
- import langdetect
5
- from langdetect import DetectorFactory, LangDetectException
6
  from typing_extensions import override
7
 
8
  from ..data.dataset_utils import lilac_span
9
  from ..schema import Field, Item, RichData, SignalInputType, field
10
  from .signal import TextSignal
11
 
12
- # For consistent results.
13
- DetectorFactory.seed = 42
14
-
15
  LANG_CODE = 'lang_code'
16
 
 
 
 
17
 
18
  class LangDetectionSignal(TextSignal):
19
  """Detects the language code in text.
@@ -29,6 +27,18 @@ class LangDetectionSignal(TextSignal):
29
  input_type = SignalInputType.TEXT
30
  compute_type = SignalInputType.TEXT
31
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  @override
33
  def fields(self) -> Field:
34
  return field(fields=[field('string_span', fields={LANG_CODE: 'string'})])
@@ -51,9 +61,9 @@ class LangDetectionSignal(TextSignal):
51
  text_span = text_span.strip()
52
  if text_span:
53
  try:
54
- lang_code = langdetect.detect(text_span)
55
  result.append(lilac_span(offset, new_offset, {LANG_CODE: lang_code}))
56
- except LangDetectException:
57
  pass
58
  offset = new_offset + len(split_symbol)
59
  yield result
 
1
  """Language detection of a document."""
2
+ from typing import TYPE_CHECKING, Iterable, Optional, cast
3
 
 
 
4
  from typing_extensions import override
5
 
6
  from ..data.dataset_utils import lilac_span
7
  from ..schema import Field, Item, RichData, SignalInputType, field
8
  from .signal import TextSignal
9
 
 
 
 
10
  LANG_CODE = 'lang_code'
11
 
12
+ if TYPE_CHECKING:
13
+ import langdetect
14
+
15
 
16
  class LangDetectionSignal(TextSignal):
17
  """Detects the language code in text.
 
27
  input_type = SignalInputType.TEXT
28
  compute_type = SignalInputType.TEXT
29
 
30
+ _model: 'langdetect'
31
+
32
+ @override
33
+ def setup(self) -> None:
34
+ try:
35
+ import langdetect
36
+ langdetect.DetectorFactory.seed = 42 # For consistent results.
37
+ except ImportError:
38
+ raise ImportError('Could not import the "langdetect" python package. '
39
+ 'Please install it with `pip install langdetect`.')
40
+ self._model = langdetect
41
+
42
  @override
43
  def fields(self) -> Field:
44
  return field(fields=[field('string_span', fields={LANG_CODE: 'string'})])
 
61
  text_span = text_span.strip()
62
  if text_span:
63
  try:
64
+ lang_code = self._model.detect(text_span)
65
  result.append(lilac_span(offset, new_offset, {LANG_CODE: lang_code}))
66
+ except self._model.LangDetectException:
67
  pass
68
  offset = new_offset + len(split_symbol)
69
  yield result
src/signals/ner.py CHANGED
@@ -1,7 +1,6 @@
1
  """Compute named entity recognition with SpaCy."""
2
- from typing import Iterable, Optional
3
 
4
- import spacy
5
  from pydantic import Field as PydanticField
6
  from typing_extensions import override
7
 
@@ -9,6 +8,9 @@ from ..data.dataset_utils import lilac_span
9
  from ..schema import Field, Item, RichData, SignalInputType, field
10
  from .signal import TextSignal
11
 
 
 
 
12
 
13
  class SpacyNER(TextSignal):
14
  """Named entity recognition with SpaCy.
@@ -24,10 +26,16 @@ class SpacyNER(TextSignal):
24
  input_type = SignalInputType.TEXT
25
  compute_type = SignalInputType.TEXT
26
 
27
- _nlp: spacy.language.Language
28
 
29
  @override
30
  def setup(self) -> None:
 
 
 
 
 
 
31
  if not spacy.util.is_package(self.model):
32
  spacy.cli.download(self.model)
33
  self._nlp = spacy.load(
 
1
  """Compute named entity recognition with SpaCy."""
2
+ from typing import TYPE_CHECKING, Iterable, Optional
3
 
 
4
  from pydantic import Field as PydanticField
5
  from typing_extensions import override
6
 
 
8
  from ..schema import Field, Item, RichData, SignalInputType, field
9
  from .signal import TextSignal
10
 
11
+ if TYPE_CHECKING:
12
+ import spacy
13
+
14
 
15
  class SpacyNER(TextSignal):
16
  """Named entity recognition with SpaCy.
 
26
  input_type = SignalInputType.TEXT
27
  compute_type = SignalInputType.TEXT
28
 
29
+ _nlp: 'spacy.language.Language'
30
 
31
  @override
32
  def setup(self) -> None:
33
+ try:
34
+ import spacy
35
+ except ImportError:
36
+ raise ImportError('Could not import the "spacy" python package. '
37
+ 'Please install it with `pip install spacy`.')
38
+
39
  if not spacy.util.is_package(self.model):
40
  spacy.cli.download(self.model)
41
  self._nlp = spacy.load(
src/signals/pii.py CHANGED
@@ -6,8 +6,6 @@ from typing_extensions import override
6
 
7
  from ..data.dataset_utils import lilac_span
8
  from ..schema import Field, Item, RichData, SignalInputType, field
9
- from .pii_ip_address import find_ip_addresses
10
- from .pii_secrets import find_secrets
11
  from .signal import TextSignal
12
 
13
  EMAILS_KEY = 'emails'
@@ -39,6 +37,12 @@ class PIISignal(TextSignal):
39
 
40
  @override
41
  def compute(self, data: Iterable[RichData]) -> Iterable[Optional[Item]]:
 
 
 
 
 
 
42
  for text in data:
43
  if not isinstance(text, str):
44
  yield None
 
6
 
7
  from ..data.dataset_utils import lilac_span
8
  from ..schema import Field, Item, RichData, SignalInputType, field
 
 
9
  from .signal import TextSignal
10
 
11
  EMAILS_KEY = 'emails'
 
37
 
38
  @override
39
  def compute(self, data: Iterable[RichData]) -> Iterable[Optional[Item]]:
40
+ try:
41
+ from .pii_ip_address import find_ip_addresses
42
+ from .pii_secrets import find_secrets
43
+ except ImportError:
44
+ raise ImportError('Could not import dependencies for the "PII" signal. '
45
+ 'Please install optional dependencies via `pip install lilac[pii]`.')
46
  for text in data:
47
  if not isinstance(text, str):
48
  yield None
src/signals/splitters/text_splitter_spacy.py CHANGED
@@ -1,14 +1,15 @@
1
  """Text splitters using spaCy."""
2
- from typing import Any, Iterable, Optional
3
 
4
- import spacy
5
- from spacy import Language
6
  from typing_extensions import override
7
 
8
  from ...data.dataset_utils import lilac_span
9
  from ...schema import Item, RichData
10
  from ...signals.signal import TextSplitterSignal
11
 
 
 
 
12
 
13
  class SentenceSplitterSpacy(TextSplitterSignal):
14
  """Splits documents into sentences using the SpaCy sentence tokenizer."""
@@ -17,10 +18,18 @@ class SentenceSplitterSpacy(TextSplitterSignal):
17
 
18
  language: str = 'en'
19
 
20
- _tokenizer: Language
21
 
22
  def __init__(self, **kwargs: Any):
23
  super().__init__(**kwargs)
 
 
 
 
 
 
 
 
24
  self._tokenizer = spacy.blank(self.language)
25
  self._tokenizer.add_pipe('sentencizer')
26
  # Increase the number of characters of the tokenizer as we're not using a parser or NER.
 
1
  """Text splitters using spaCy."""
2
+ from typing import TYPE_CHECKING, Any, Iterable, Optional
3
 
 
 
4
  from typing_extensions import override
5
 
6
  from ...data.dataset_utils import lilac_span
7
  from ...schema import Item, RichData
8
  from ...signals.signal import TextSplitterSignal
9
 
10
+ if TYPE_CHECKING:
11
+ from spacy import Language
12
+
13
 
14
  class SentenceSplitterSpacy(TextSplitterSignal):
15
  """Splits documents into sentences using the SpaCy sentence tokenizer."""
 
18
 
19
  language: str = 'en'
20
 
21
+ _tokenizer: 'Language'
22
 
23
  def __init__(self, **kwargs: Any):
24
  super().__init__(**kwargs)
25
+
26
+ @override
27
+ def setup(self) -> None:
28
+ try:
29
+ import spacy
30
+ except ImportError:
31
+ raise ImportError('Could not import the "spacy" python package. '
32
+ 'Please install it with `pip install spacy`.')
33
  self._tokenizer = spacy.blank(self.language)
34
  self._tokenizer.add_pipe('sentencizer')
35
  # Increase the number of characters of the tokenizer as we're not using a parser or NER.
src/signals/text_statistics.py CHANGED
@@ -1,11 +1,6 @@
1
  """Compute text statistics for a document."""
2
- from typing import Iterable, Optional, cast
3
 
4
- import spacy
5
- import textacy
6
- from spacy import Language
7
- from spacy.tokens import Doc
8
- from textacy import text_stats
9
  from typing_extensions import override
10
 
11
  from ..schema import Field, Item, RichData, field
@@ -19,13 +14,17 @@ NUM_CHARS = 'num_characters'
19
  READABILITY = 'readability'
20
  TYPE_TOKEN_RATIO = 'type_token_ratio'
21
 
 
 
 
 
22
 
23
  class TextStatisticsSignal(TextSignal):
24
  """Compute text statistics for a document such as readability scores, type-token-ratio, etc.."""
25
  name = 'text_statistics'
26
  display_name = 'Text Statistics'
27
 
28
- _lang: Optional[Language] = None
29
 
30
  @override
31
  def fields(self) -> Field:
@@ -37,6 +36,12 @@ class TextStatisticsSignal(TextSignal):
37
 
38
  @override
39
  def setup(self) -> None:
 
 
 
 
 
 
40
  if not spacy.util.is_package(SPACY_LANG_MODEL):
41
  spacy.cli.download(SPACY_LANG_MODEL)
42
  self._lang = spacy.load(
@@ -47,13 +52,19 @@ class TextStatisticsSignal(TextSignal):
47
 
48
  @override
49
  def compute(self, data: Iterable[RichData]) -> Iterable[Optional[Item]]:
 
 
 
 
 
 
50
  for batch in chunks(data, SPACY_BATCH_SIZE):
51
  # Replace None with empty strings to avoid spacy errors.
52
  batch = [x or '' for x in batch]
53
  # See https://textacy.readthedocs.io/en/0.11.0/api_reference/text_stats.html for a list of
54
  # available statistics.
55
  corpus = textacy.Corpus(lang=self._lang, data=batch)
56
- for doc in cast(Iterable[Doc], corpus):
57
  if not len(doc):
58
  yield None
59
  continue
 
1
  """Compute text statistics for a document."""
2
+ from typing import TYPE_CHECKING, Iterable, Optional, cast
3
 
 
 
 
 
 
4
  from typing_extensions import override
5
 
6
  from ..schema import Field, Item, RichData, field
 
14
  READABILITY = 'readability'
15
  TYPE_TOKEN_RATIO = 'type_token_ratio'
16
 
17
+ if TYPE_CHECKING:
18
+ from spacy import Language
19
+ from spacy.tokens import Doc
20
+
21
 
22
  class TextStatisticsSignal(TextSignal):
23
  """Compute text statistics for a document such as readability scores, type-token-ratio, etc.."""
24
  name = 'text_statistics'
25
  display_name = 'Text Statistics'
26
 
27
+ _lang: Optional['Language'] = None
28
 
29
  @override
30
  def fields(self) -> Field:
 
36
 
37
  @override
38
  def setup(self) -> None:
39
+ try:
40
+ import spacy
41
+ except ImportError:
42
+ raise ImportError('Could not import the "spacy" python package. '
43
+ 'Please install it with `pip install spacy`.')
44
+
45
  if not spacy.util.is_package(SPACY_LANG_MODEL):
46
  spacy.cli.download(SPACY_LANG_MODEL)
47
  self._lang = spacy.load(
 
52
 
53
  @override
54
  def compute(self, data: Iterable[RichData]) -> Iterable[Optional[Item]]:
55
+ try:
56
+ import textacy
57
+ from textacy import text_stats
58
+ except ImportError:
59
+ raise ImportError('Could not import the "textacy" python package. '
60
+ 'Please install it with `pip install textacy`.')
61
  for batch in chunks(data, SPACY_BATCH_SIZE):
62
  # Replace None with empty strings to avoid spacy errors.
63
  batch = [x or '' for x in batch]
64
  # See https://textacy.readthedocs.io/en/0.11.0/api_reference/text_stats.html for a list of
65
  # available statistics.
66
  corpus = textacy.Corpus(lang=self._lang, data=batch)
67
+ for doc in cast(Iterable['Doc'], corpus):
68
  if not len(doc):
69
  yield None
70
  continue
web/blueprint/build/_app/immutable/assets/{4.7d283b37.css → 4.7ce19c6b.css} RENAMED
@@ -1 +1 @@
1
- .removable-tag{max-width:8rem}.filter-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.filter-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.search-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.search-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.filter-group.svelte-fyw6pu{min-width:6rem;display:flex;flex-direction:row;-moz-column-gap:.5rem;column-gap:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:.5rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sort-container .bx--label{margin-bottom:.25rem}.signal-badge .bx--tag{padding-left:.5rem;padding-right:.5rem}.signal-badge .bx--tag__custom-icon{margin-right:0}.signal-badge .bx--tooltip__label .bx--tooltip__trigger{margin:0}.bx--tabs__nav{display:flex;width:100%;flex-direction:row}.bx--tabs__nav-item,.bx--tabs__nav-item .bx--tabs__nav-link{width:7rem}.bx--form__helper-text{padding:0 0 0 1rem}.compute-embedding .bx--btn{height:3rem}.compute-embedding-indexing .bx--btn.bx--btn--disabled{color:transparent}.embedding-select .bx--select,.field-select .bx--select{flex-direction:row}.new-concept .bx--tag,.new-keyword .bx--tag{width:1.5rem;min-width:0px;padding-left:0;padding-right:0}.new-concept,.new-keyword{height:100%}ul.bx--overflow-menu-options{width:11rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz{width:12rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-right:.5rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-left:.5rem}.bx--btn--selected{--tw-bg-opacity:1 !important;background-color:rgb(203 213 225 / var(--tw-bg-opacity))!important}.bx--btn--selected .bx--btn__icon{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.signal-tag span{padding-left:.5rem;padding-right:.5rem}.compute-signal-chip .bx--tooltip__label .bx--tooltip__trigger{margin:0}.compute-signal-preview .bx--tag{cursor:pointer}.compute-signal-preview .bx--tag__custom-icon{margin:0}.bx--tab-content{padding:0!important}.schema-container.svelte-1nu5kbu{transition:width .2s ease-in-out}
 
1
+ .removable-tag{max-width:8rem}.filter-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.filter-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.search-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.search-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.filter-group.svelte-fyw6pu{min-width:6rem;display:flex;flex-direction:row;-moz-column-gap:.5rem;column-gap:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:.5rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sort-container .bx--label{margin-bottom:.25rem}.signal-badge .bx--tag{padding-left:.5rem;padding-right:.5rem}.signal-badge .bx--tag__custom-icon{margin-right:0}.signal-badge .bx--tooltip__label .bx--tooltip__trigger{margin:0}.bx--tabs__nav{display:flex;width:100%;flex-direction:row}.bx--tabs__nav-item,.bx--tabs__nav-item .bx--tabs__nav-link{width:7rem}.bx--form__helper-text{padding:0 0 0 1rem}.compute-embedding .bx--btn{height:3rem}.compute-embedding-indexing .bx--btn.bx--btn--disabled{color:transparent}.embedding-select .bx--select,.field-select .bx--select{flex-direction:row}.new-concept .bx--tag,.new-keyword .bx--tag{width:1.5rem;min-width:0px;padding-left:0;padding-right:0}.new-concept,.new-keyword{height:100%}ul.bx--overflow-menu-options{width:11rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz{width:12rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-right:.5rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-left:.5rem}.bx--btn--selected{--tw-bg-opacity:1 !important;background-color:rgb(203 213 225 / var(--tw-bg-opacity))!important}.bx--btn--selected .bx--btn__icon{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.signal-tag span{padding-left:.5rem;padding-right:.5rem}.compute-signal-chip .bx--tooltip__label .bx--tooltip__trigger{margin:0}.compute-signal-preview .bx--tag{cursor:pointer}.compute-signal-preview .bx--tag__custom-icon{margin:0}.bx--tab-content{padding:0!important}h4.svelte-1ge817j{margin-bottom:.5rem;margin-top:1.5rem}.preview.svelte-1ge817j{height:30rem}.schema-container.svelte-1nu5kbu{transition:width .2s ease-in-out}
web/blueprint/build/_app/immutable/assets/{_page.7d283b37.css → _page.7ce19c6b.css} RENAMED
@@ -1 +1 @@
1
- .removable-tag{max-width:8rem}.filter-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.filter-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.search-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.search-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.filter-group.svelte-fyw6pu{min-width:6rem;display:flex;flex-direction:row;-moz-column-gap:.5rem;column-gap:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:.5rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sort-container .bx--label{margin-bottom:.25rem}.signal-badge .bx--tag{padding-left:.5rem;padding-right:.5rem}.signal-badge .bx--tag__custom-icon{margin-right:0}.signal-badge .bx--tooltip__label .bx--tooltip__trigger{margin:0}.bx--tabs__nav{display:flex;width:100%;flex-direction:row}.bx--tabs__nav-item,.bx--tabs__nav-item .bx--tabs__nav-link{width:7rem}.bx--form__helper-text{padding:0 0 0 1rem}.compute-embedding .bx--btn{height:3rem}.compute-embedding-indexing .bx--btn.bx--btn--disabled{color:transparent}.embedding-select .bx--select,.field-select .bx--select{flex-direction:row}.new-concept .bx--tag,.new-keyword .bx--tag{width:1.5rem;min-width:0px;padding-left:0;padding-right:0}.new-concept,.new-keyword{height:100%}ul.bx--overflow-menu-options{width:11rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz{width:12rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-right:.5rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-left:.5rem}.bx--btn--selected{--tw-bg-opacity:1 !important;background-color:rgb(203 213 225 / var(--tw-bg-opacity))!important}.bx--btn--selected .bx--btn__icon{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.signal-tag span{padding-left:.5rem;padding-right:.5rem}.compute-signal-chip .bx--tooltip__label .bx--tooltip__trigger{margin:0}.compute-signal-preview .bx--tag{cursor:pointer}.compute-signal-preview .bx--tag__custom-icon{margin:0}.bx--tab-content{padding:0!important}.schema-container.svelte-1nu5kbu{transition:width .2s ease-in-out}
 
1
+ .removable-tag{max-width:8rem}.filter-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.filter-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.search-pill .bx--tooltip__label{margin-right:.25rem;display:inline-block;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:5rem}.search-pill .bx--tooltip__content{display:flex;flex-direction:column;align-items:center}.filter-group.svelte-fyw6pu{min-width:6rem;display:flex;flex-direction:row;-moz-column-gap:.5rem;column-gap:.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity));padding:.5rem;--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.sort-container .bx--label{margin-bottom:.25rem}.signal-badge .bx--tag{padding-left:.5rem;padding-right:.5rem}.signal-badge .bx--tag__custom-icon{margin-right:0}.signal-badge .bx--tooltip__label .bx--tooltip__trigger{margin:0}.bx--tabs__nav{display:flex;width:100%;flex-direction:row}.bx--tabs__nav-item,.bx--tabs__nav-item .bx--tabs__nav-link{width:7rem}.bx--form__helper-text{padding:0 0 0 1rem}.compute-embedding .bx--btn{height:3rem}.compute-embedding-indexing .bx--btn.bx--btn--disabled{color:transparent}.embedding-select .bx--select,.field-select .bx--select{flex-direction:row}.new-concept .bx--tag,.new-keyword .bx--tag{width:1.5rem;min-width:0px;padding-left:0;padding-right:0}.new-concept,.new-keyword{height:100%}ul.bx--overflow-menu-options{width:11rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz{width:12rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-right:.5rem}.stats-table.svelte-1tctrjz td.svelte-1tctrjz:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:.5rem;padding-bottom:.5rem;padding-left:.5rem}.bx--btn--selected{--tw-bg-opacity:1 !important;background-color:rgb(203 213 225 / var(--tw-bg-opacity))!important}.bx--btn--selected .bx--btn__icon{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.signal-tag span{padding-left:.5rem;padding-right:.5rem}.compute-signal-chip .bx--tooltip__label .bx--tooltip__trigger{margin:0}.compute-signal-preview .bx--tag{cursor:pointer}.compute-signal-preview .bx--tag__custom-icon{margin:0}.bx--tab-content{padding:0!important}h4.svelte-1ge817j{margin-bottom:.5rem;margin-top:1.5rem}.preview.svelte-1ge817j{height:30rem}.schema-container.svelte-1nu5kbu{transition:width .2s ease-in-out}
web/blueprint/build/_app/immutable/chunks/ConceptView.90603a57.js DELETED
The diff for this file is too large to render. See raw diff
 
web/blueprint/build/_app/immutable/chunks/ConceptView.9ffb368c.js ADDED
The diff for this file is too large to render. See raw diff
 
web/blueprint/build/_app/immutable/chunks/{Page.26ea9e23.js → Page.09ad5433.js} RENAMED
@@ -1,7 +1,7 @@
1
- import{S as ue,i as ce,s as de,E as N,_ as j,$ as Y,m as D,h as b,n as p,a0 as De,b as V,J as I,O as fe,a1 as ee,D as Z,F as ae,q as S,r as U,u as X,G as be,ao as mt,e as x,a as J,k as B,aq as bt,ap as gt,c as K,l as R,I as $,H as h,K as W,L as ge,M as ve,N as pe,g as L,v as oe,d as P,f as ne,P as Re,ac as rt,C as ot,R as Te,T as vt,j as nt,x as Oe,y as te,z as he,A as le,B as ie,Q as ke,w as ye,aj as pt,p as Ee,ad as kt,ae as wt,W as Et,aa as Tt,a6 as st,a7 as at,X as It,Y as Dt}from"./index.5fd689e7.js";import{E as Ot,C as Mt,r as Ne,O as qe,e as yt,b as zt,A as Lt,q as Ct,a as ft,B as Vt}from"./taskQueries.ab6be53f.js";import{w as Ae}from"./index.08894c4d.js";function Se(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function At(l){let e,t,i,r,o=l[1]&&Se(l),n=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],a={};for(let s=0;s<n.length;s+=1)a=N(a,n[s]);return{c(){e=j("svg"),o&&o.c(),t=j("circle"),i=j("circle"),r=j("circle"),this.h()},l(s){e=Y(s,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var f=D(e);o&&o.l(f),t=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(t).forEach(b),i=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(i).forEach(b),r=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(r).forEach(b),f.forEach(b),this.h()},h(){p(t,"cx","16"),p(t,"cy","8"),p(t,"r","2"),p(i,"cx","16"),p(i,"cy","16"),p(i,"r","2"),p(r,"cx","16"),p(r,"cy","24"),p(r,"r","2"),De(e,a)},m(s,f){V(s,e,f),o&&o.m(e,null),I(e,t),I(e,i),I(e,r)},p(s,[f]){s[1]?o?o.p(s,f):(o=Se(s),o.c(),o.m(e,t)):o&&(o.d(1),o=null),De(e,a=fe(n,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},f&1&&{width:s[0]},f&1&&{height:s[0]},f&4&&s[2],f&8&&s[3]]))},i:ee,o:ee,d(s){s&&b(e),o&&o.d()}}}function Bt(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class Rt extends ue{constructor(e){super(),ce(this,e,Bt,At,de,{size:0,title:1})}}const Pt=Rt;function Ue(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Nt(l){let e,t,i,r,o=l[1]&&Ue(l),n=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],a={};for(let s=0;s<n.length;s+=1)a=N(a,n[s]);return{c(){e=j("svg"),o&&o.c(),t=j("circle"),i=j("circle"),r=j("circle"),this.h()},l(s){e=Y(s,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var f=D(e);o&&o.l(f),t=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(t).forEach(b),i=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(i).forEach(b),r=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(r).forEach(b),f.forEach(b),this.h()},h(){p(t,"cx","8"),p(t,"cy","16"),p(t,"r","2"),p(i,"cx","16"),p(i,"cy","16"),p(i,"r","2"),p(r,"cx","24"),p(r,"cy","16"),p(r,"r","2"),De(e,a)},m(s,f){V(s,e,f),o&&o.m(e,null),I(e,t),I(e,i),I(e,r)},p(s,[f]){s[1]?o?o.p(s,f):(o=Ue(s),o.c(),o.m(e,t)):o&&(o.d(1),o=null),De(e,a=fe(n,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},f&1&&{width:s[0]},f&1&&{height:s[0]},f&4&&s[2],f&8&&s[3]]))},i:ee,o:ee,d(s){s&&b(e),o&&o.d()}}}function qt(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class St extends ue{constructor(e){super(),ce(this,e,qt,Nt,de,{size:0,title:1})}}const Ut=St,Ft=l=>({}),Fe=l=>({});function Gt(l){let e,t,i;var r=l[1];function o(n){return{props:{"aria-label":n[10],title:n[10],class:"bx--overflow-menu__icon "+n[9]}}}return r&&(e=Oe(r,o(l))),{c(){e&&te(e.$$.fragment),t=x()},l(n){e&&he(e.$$.fragment,n),t=x()},m(n,a){e&&le(e,n,a),V(n,t,a),i=!0},p(n,a){const s={};if(a[0]&1024&&(s["aria-label"]=n[10]),a[0]&1024&&(s.title=n[10]),a[0]&512&&(s.class="bx--overflow-menu__icon "+n[9]),a[0]&2&&r!==(r=n[1])){if(e){oe();const f=e;P(f.$$.fragment,1,0,()=>{ie(f,1)}),ne()}r?(e=Oe(r,o(n)),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}else r&&e.$set(s)},i(n){i||(e&&L(e.$$.fragment,n),i=!0)},o(n){e&&P(e.$$.fragment,n),i=!1},d(n){n&&b(t),e&&ie(e,n)}}}function Ge(l){let e,t;const i=l[24].default,r=be(i,l,l[23],null);return{c(){e=B("ul"),r&&r.c(),this.h()},l(o){e=R(o,"UL",{role:!0,tabindex:!0,"aria-label":!0,"data-floating-menu-direction":!0,class:!0});var n=D(e);r&&r.l(n),n.forEach(b),this.h()},h(){p(e,"role","menu"),p(e,"tabindex","-1"),p(e,"aria-label",l[13]),p(e,"data-floating-menu-direction",l[5]),p(e,"class",l[8]),h(e,"bx--overflow-menu-options",!0),h(e,"bx--overflow-menu--flip",l[7]),h(e,"bx--overflow-menu-options--open",l[0]),h(e,"bx--overflow-menu-options--light",l[6]),h(e,"bx--overflow-menu-options--sm",l[4]==="sm"),h(e,"bx--overflow-menu-options--xl",l[4]==="xl"),h(e,"bx--breadcrumb-menu-options",!!l[14])},m(o,n){V(o,e,n),r&&r.m(e,null),l[31](e),t=!0},p(o,n){r&&r.p&&(!t||n[0]&8388608)&&ge(r,i,o,o[23],t?pe(i,o[23],n,null):ve(o[23]),null),(!t||n[0]&8192)&&p(e,"aria-label",o[13]),(!t||n[0]&32)&&p(e,"data-floating-menu-direction",o[5]),(!t||n[0]&256)&&p(e,"class",o[8]),(!t||n[0]&256)&&h(e,"bx--overflow-menu-options",!0),(!t||n[0]&384)&&h(e,"bx--overflow-menu--flip",o[7]),(!t||n[0]&257)&&h(e,"bx--overflow-menu-options--open",o[0]),(!t||n[0]&320)&&h(e,"bx--overflow-menu-options--light",o[6]),(!t||n[0]&272)&&h(e,"bx--overflow-menu-options--sm",o[4]==="sm"),(!t||n[0]&272)&&h(e,"bx--overflow-menu-options--xl",o[4]==="xl"),(!t||n[0]&16640)&&h(e,"bx--breadcrumb-menu-options",!!o[14])},i(o){t||(L(r,o),t=!0)},o(o){P(r,o),t=!1},d(o){o&&b(e),r&&r.d(o),l[31](null)}}}function Ht(l){let e,t,i,r,o,n,a,s;const f=l[24].menu,c=be(f,l,l[23],Fe),u=c||Gt(l);let m=l[0]&&Ge(l),d=[{type:"button"},{"aria-haspopup":""},{"aria-expanded":l[0]},{"aria-label":l[13]},{id:l[11]},l[19]],_={};for(let g=0;g<d.length;g+=1)_=N(_,d[g]);return{c(){e=new mt(!1),t=x(),i=J(),r=B("button"),u&&u.c(),o=J(),m&&m.c(),this.h()},l(g){const k=bt("svelte-7ztmff",document.head);e=gt(k,!1),t=x(),k.forEach(b),i=K(g),r=R(g,"BUTTON",{type:!0,"aria-haspopup":!0,"aria-expanded":!0,"aria-label":!0,id:!0});var E=D(r);u&&u.l(E),o=K(E),m&&m.l(E),E.forEach(b),this.h()},h(){e.a=t,$(r,_),h(r,"bx--overflow-menu",!0),h(r,"bx--overflow-menu--open",l[0]),h(r,"bx--overflow-menu--light",l[6]),h(r,"bx--overflow-menu--sm",l[4]==="sm"),h(r,"bx--overflow-menu--xl",l[4]==="xl")},m(g,k){e.m(l[12],document.head),I(document.head,t),V(g,i,k),V(g,r,k),u&&u.m(r,null),I(r,o),m&&m.m(r,null),r.autofocus&&r.focus(),l[32](r),n=!0,a||(s=[W(window,"click",l[30]),W(r,"click",l[25]),W(r,"click",l[33]),W(r,"mouseover",l[26]),W(r,"mouseenter",l[27]),W(r,"mouseleave",l[28]),W(r,"keydown",l[29]),W(r,"keydown",l[34]),W(r,"focusout",l[35])],a=!0)},p(g,k){(!n||k[0]&4096)&&e.p(g[12]),c?c.p&&(!n||k[0]&8388608)&&ge(c,f,g,g[23],n?pe(f,g[23],k,Ft):ve(g[23]),Fe):u&&u.p&&(!n||k[0]&1538)&&u.p(g,n?k:[-1,-1]),g[0]?m?(m.p(g,k),k[0]&1&&L(m,1)):(m=Ge(g),m.c(),L(m,1),m.m(r,null)):m&&(oe(),P(m,1,1,()=>{m=null}),ne()),$(r,_=fe(d,[{type:"button"},{"aria-haspopup":""},(!n||k[0]&1)&&{"aria-expanded":g[0]},(!n||k[0]&8192)&&{"aria-label":g[13]},(!n||k[0]&2048)&&{id:g[11]},k[0]&524288&&g[19]])),h(r,"bx--overflow-menu",!0),h(r,"bx--overflow-menu--open",g[0]),h(r,"bx--overflow-menu--light",g[6]),h(r,"bx--overflow-menu--sm",g[4]==="sm"),h(r,"bx--overflow-menu--xl",g[4]==="xl")},i(g){n||(L(u,g),L(m),n=!0)},o(g){P(u,g),P(m),n=!1},d(g){b(t),g&&e.d(),g&&b(i),g&&b(r),u&&u.d(g),m&&m.d(),l[32](null),a=!1,Re(s)}}}function jt(l,e,t){let i,r;const o=["size","direction","open","light","flipped","menuOptionsClass","icon","iconClass","iconDescription","id","buttonRef","menuRef"];let n=Z(e,o),a,s,f,{$$slots:c={},$$scope:u}=e,{size:m=void 0}=e,{direction:d="bottom"}=e,{open:_=!1}=e,{light:g=!1}=e,{flipped:k=!1}=e,{menuOptionsClass:E=void 0}=e,{icon:v=Pt}=e,{iconClass:O=void 0}=e,{iconDescription:M="Open and close list of options"}=e,{id:w="ccs-"+Math.random().toString(36)}=e,{buttonRef:C=null}=e,{menuRef:A=null}=e;const se=rt("BreadcrumbItem"),G=ot(),q=Ae([]);Te(l,q,T=>t(22,s=T));const _e=Ae(void 0);Te(l,_e,T=>t(37,f=T));const Q=Ae(void 0),me=Ae(-1);Te(l,me,T=>t(21,a=T));let z,F=!0;vt("OverflowMenu",{focusedId:Q,add:({id:T,text:H,primaryFocus:Ie,disabled:_t})=>{q.update(Pe=>(Ie&&me.set(Pe.length),[...Pe,{id:T,text:H,primaryFocus:Ie,disabled:_t,index:Pe.length}]))},update:T=>{_e.set(T)},change:T=>{let H=a+T;H<0?H=s.length-1:H>=s.length&&(H=0);let Ie=s[H].disabled;for(;Ie;)H=H+T,H<0?H=s.length-1:H>=s.length&&(H=0),Ie=s[H].disabled;me.set(H)}}),nt(()=>{if(f){const{index:T,text:H}=s.filter(Ie=>Ie.id===f)[0];G("close",{index:T,text:H}),t(0,_=!1)}if(_){const{width:T,height:H}=C.getBoundingClientRect();t(20,z=T),!F&&a<0&&A.focus(),k&&(t(3,A.style.left="auto",A),t(3,A.style.right=0,A)),d==="top"?(t(3,A.style.top="auto",A),t(3,A.style.bottom=H+"px",A)):d==="bottom"&&t(3,A.style.top=H+"px",A),se&&(t(3,A.style.top=H+10+"px",A),t(3,A.style.left="-11px",A))}_||(q.set([]),_e.set(void 0),me.set(0)),F=!1});function re(T){ke.call(this,l,T)}function y(T){ke.call(this,l,T)}function Me(T){ke.call(this,l,T)}function ze(T){ke.call(this,l,T)}function Le(T){ke.call(this,l,T)}const Ce=({target:T})=>{C&&C.contains(T)||A&&!A.contains(T)&&t(0,_=!1)};function we(T){ye[T?"unshift":"push"](()=>{A=T,t(3,A)})}function Ve(T){ye[T?"unshift":"push"](()=>{C=T,t(2,C)})}const ct=({target:T})=>{A&&A.contains(T)||(t(0,_=!_),_||G("close"))},dt=T=>{_&&(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp"].includes(T.key)?T.preventDefault():T.key==="Escape"&&(T.stopPropagation(),G("close"),t(0,_=!1),C.focus()))},ht=T=>{_&&(C.contains(T.relatedTarget)||(G("close"),t(0,_=!1)))};return l.$$set=T=>{t(39,e=N(N({},e),ae(T))),t(19,n=Z(e,o)),"size"in T&&t(4,m=T.size),"direction"in T&&t(5,d=T.direction),"open"in T&&t(0,_=T.open),"light"in T&&t(6,g=T.light),"flipped"in T&&t(7,k=T.flipped),"menuOptionsClass"in T&&t(8,E=T.menuOptionsClass),"icon"in T&&t(1,v=T.icon),"iconClass"in T&&t(9,O=T.iconClass),"iconDescription"in T&&t(10,M=T.iconDescription),"id"in T&&t(11,w=T.id),"buttonRef"in T&&t(2,C=T.buttonRef),"menuRef"in T&&t(3,A=T.menuRef),"$$scope"in T&&t(23,u=T.$$scope)},l.$$.update=()=>{t(13,i=e["aria-label"]||"menu"),l.$$.dirty[0]&6291456&&s[a]&&Q.set(s[a].id),l.$$.dirty[0]&1050624&&t(12,r=`<style>
2
  #${w} .bx--overflow-menu-options.bx--overflow-menu-options:after {
3
  width: ${z?z+"px":"2rem"};
4
  }
5
- </style>`)},se&&t(1,v=Ut),e=ae(e),[_,v,C,A,m,d,g,k,E,O,M,w,r,i,se,G,q,_e,me,n,z,a,s,u,c,re,y,Me,ze,Le,Ce,we,Ve,ct,dt,ht]}class Yt extends ue{constructor(e){super(),ce(this,e,jt,Ht,de,{size:4,direction:5,open:0,light:6,flipped:7,menuOptionsClass:8,icon:1,iconClass:9,iconDescription:10,id:11,buttonRef:2,menuRef:3},null,[-1,-1])}}const Wt=Yt;function Xt(l){let e,t,i,r;const o=l[16].default,n=be(o,l,l[15],null),a=n||Jt(l);let s=[l[7]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("button"),a&&a.c(),this.h()},l(c){e=R(c,"BUTTON",{});var u=D(e);a&&a.l(u),u.forEach(b),this.h()},h(){$(e,f)},m(c,u){V(c,e,u),a&&a.m(e,null),e.autofocus&&e.focus(),l[24](e),t=!0,i||(r=[W(e,"click",l[19]),W(e,"click",l[25]),W(e,"keydown",l[20]),W(e,"keydown",l[26])],i=!0)},p(c,u){n?n.p&&(!t||u&32768)&&ge(n,o,c,c[15],t?pe(o,c[15],u,null):ve(c[15]),null):a&&a.p&&(!t||u&2)&&a.p(c,t?u:-1),$(e,f=fe(s,[u&128&&c[7]]))},i(c){t||(L(a,c),t=!0)},o(c){P(a,c),t=!1},d(c){c&&b(e),a&&a.d(c),l[24](null),i=!1,Re(r)}}}function Qt(l){let e,t,i,r;const o=l[16].default,n=be(o,l,l[15],null),a=n||Kt(l);let s=[l[7]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("a"),a&&a.c(),this.h()},l(c){e=R(c,"A",{});var u=D(e);a&&a.l(u),u.forEach(b),this.h()},h(){$(e,f)},m(c,u){V(c,e,u),a&&a.m(e,null),l[21](e),t=!0,i||(r=[W(e,"click",l[17]),W(e,"click",l[22]),W(e,"keydown",l[18]),W(e,"keydown",l[23])],i=!0)},p(c,u){n?n.p&&(!t||u&32768)&&ge(n,o,c,c[15],t?pe(o,c[15],u,null):ve(c[15]),null):a&&a.p&&(!t||u&2)&&a.p(c,t?u:-1),$(e,f=fe(s,[u&128&&c[7]]))},i(c){t||(L(a,c),t=!0)},o(c){P(a,c),t=!1},d(c){c&&b(e),a&&a.d(c),l[21](null),i=!1,Re(r)}}}function Jt(l){let e,t;return{c(){e=B("div"),t=S(l[1]),this.h()},l(i){e=R(i,"DIV",{});var r=D(e);t=U(r,l[1]),r.forEach(b),this.h()},h(){h(e,"bx--overflow-menu-options__option-content",!0)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Kt(l){let e,t;return{c(){e=B("div"),t=S(l[1]),this.h()},l(i){e=R(i,"DIV",{});var r=D(e);t=U(r,l[1]),r.forEach(b),this.h()},h(){h(e,"bx--overflow-menu-options__option-content",!0)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Zt(l){let e,t,i,r;const o=[Qt,Xt],n=[];function a(c,u){return c[2]?0:1}t=a(l),i=n[t]=o[t](l);let s=[{role:"none"},{id:l[6]},l[11]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("li"),i.c(),this.h()},l(c){e=R(c,"LI",{role:!0,id:!0});var u=D(e);i.l(u),u.forEach(b),this.h()},h(){$(e,f),h(e,"bx--overflow-menu-options__option",!0),h(e,"bx--overflow-menu--divider",l[4]),h(e,"bx--overflow-menu-options__option--danger",l[5]),h(e,"bx--overflow-menu-options__option--disabled",l[3])},m(c,u){V(c,e,u),n[t].m(e,null),r=!0},p(c,[u]){let m=t;t=a(c),t===m?n[t].p(c,u):(oe(),P(n[m],1,1,()=>{n[m]=null}),ne(),i=n[t],i?i.p(c,u):(i=n[t]=o[t](c),i.c()),L(i,1),i.m(e,null)),$(e,f=fe(s,[{role:"none"},(!r||u&64)&&{id:c[6]},u&2048&&c[11]])),h(e,"bx--overflow-menu-options__option",!0),h(e,"bx--overflow-menu--divider",c[4]),h(e,"bx--overflow-menu-options__option--danger",c[5]),h(e,"bx--overflow-menu-options__option--disabled",c[3])},i(c){r||(L(i),r=!0)},o(c){P(i),r=!1},d(c){c&&b(e),n[t].d()}}}function xt(l,e,t){let i;const r=["text","href","primaryFocus","disabled","hasDivider","danger","requireTitle","id","ref"];let o=Z(e,r),n,{$$slots:a={},$$scope:s}=e;const f=pt(a);let{text:c="Provide text"}=e,{href:u=""}=e,{primaryFocus:m=!1}=e,{disabled:d=!1}=e,{hasDivider:_=!1}=e,{danger:g=!1}=e,{requireTitle:k=!0}=e,{id:E="ccs-"+Math.random().toString(36)}=e,{ref:v=null}=e;const{focusedId:O,add:M,update:w,change:C}=rt("OverflowMenu");Te(l,O,y=>t(14,n=y)),M({id:E,text:c,primaryFocus:m,disabled:d}),nt(()=>{v&&m&&v.focus()});function A(y){ke.call(this,l,y)}function se(y){ke.call(this,l,y)}function G(y){ke.call(this,l,y)}function q(y){ke.call(this,l,y)}function _e(y){ye[y?"unshift":"push"](()=>{v=y,t(0,v)})}const Q=()=>{w(E)},me=({key:y})=>{y==="ArrowDown"?C(1):y==="ArrowUp"&&C(-1)};function z(y){ye[y?"unshift":"push"](()=>{v=y,t(0,v)})}const F=()=>{w(E)},re=({key:y})=>{y==="ArrowDown"?C(1):y==="ArrowUp"&&C(-1)};return l.$$set=y=>{e=N(N({},e),ae(y)),t(11,o=Z(e,r)),"text"in y&&t(1,c=y.text),"href"in y&&t(2,u=y.href),"primaryFocus"in y&&t(12,m=y.primaryFocus),"disabled"in y&&t(3,d=y.disabled),"hasDivider"in y&&t(4,_=y.hasDivider),"danger"in y&&t(5,g=y.danger),"requireTitle"in y&&t(13,k=y.requireTitle),"id"in y&&t(6,E=y.id),"ref"in y&&t(0,v=y.ref),"$$scope"in y&&t(15,s=y.$$scope)},l.$$.update=()=>{l.$$.dirty&16448&&t(12,m=n===E),l.$$.dirty&8206&&t(7,i={role:"menuitem",tabindex:"-1",class:"bx--overflow-menu-options__btn",disabled:u?void 0:d,href:u||void 0,title:k?f.default?void 0:c:void 0})},[v,c,u,d,_,g,E,i,O,w,C,o,m,k,n,s,a,A,se,G,q,_e,Q,me,z,F,re]}class $t extends ue{constructor(e){super(),ce(this,e,xt,Zt,de,{text:1,href:2,primaryFocus:12,disabled:3,hasDivider:4,danger:5,requireTitle:13,id:6,ref:0})}}const el=$t;function tl(l){let e,t,i,r,o,n,a,s,f,c=l[0]&&He(l),u=[{"aria-atomic":"true"},{"aria-labelledby":l[4]},{"aria-live":f=l[1]?"assertive":"off"},l[6]],m={};for(let d=0;d<u.length;d+=1)m=N(m,u[d]);return{c(){e=B("div"),t=B("label"),i=S(l[3]),r=J(),o=j("svg"),n=j("title"),a=S(l[3]),c&&c.c(),s=j("circle"),this.h()},l(d){e=R(d,"DIV",{"aria-atomic":!0,"aria-labelledby":!0,"aria-live":!0});var _=D(e);t=R(_,"LABEL",{id:!0});var g=D(t);i=U(g,l[3]),g.forEach(b),r=K(_),o=Y(_,"svg",{viewBox:!0});var k=D(o);n=Y(k,"title",{});var E=D(n);a=U(E,l[3]),E.forEach(b),c&&c.l(k),s=Y(k,"circle",{cx:!0,cy:!0,r:!0}),D(s).forEach(b),k.forEach(b),_.forEach(b),this.h()},h(){p(t,"id",l[4]),h(t,"bx--visually-hidden",!0),p(s,"cx","50%"),p(s,"cy","50%"),p(s,"r",l[5]),h(s,"bx--loading__stroke",!0),p(o,"viewBox","0 0 100 100"),h(o,"bx--loading__svg",!0),$(e,m),h(e,"bx--loading",!0),h(e,"bx--loading--small",l[0]),h(e,"bx--loading--stop",!l[1])},m(d,_){V(d,e,_),I(e,t),I(t,i),I(e,r),I(e,o),I(o,n),I(n,a),c&&c.m(o,null),I(o,s)},p(d,_){_&8&&X(i,d[3]),_&16&&p(t,"id",d[4]),_&8&&X(a,d[3]),d[0]?c?c.p(d,_):(c=He(d),c.c(),c.m(o,s)):c&&(c.d(1),c=null),_&32&&p(s,"r",d[5]),$(e,m=fe(u,[{"aria-atomic":"true"},_&16&&{"aria-labelledby":d[4]},_&2&&f!==(f=d[1]?"assertive":"off")&&{"aria-live":f},_&64&&d[6]])),h(e,"bx--loading",!0),h(e,"bx--loading--small",d[0]),h(e,"bx--loading--stop",!d[1])},d(d){d&&b(e),c&&c.d()}}}function ll(l){let e,t,i,r,o,n,a,s,f,c,u=l[0]&&je(l),m=[l[6]],d={};for(let _=0;_<m.length;_+=1)d=N(d,m[_]);return{c(){e=B("div"),t=B("div"),i=B("label"),r=S(l[3]),o=J(),n=j("svg"),a=j("title"),s=S(l[3]),u&&u.c(),f=j("circle"),this.h()},l(_){e=R(_,"DIV",{});var g=D(e);t=R(g,"DIV",{"aria-atomic":!0,"aria-labelledby":!0,"aria-live":!0});var k=D(t);i=R(k,"LABEL",{id:!0});var E=D(i);r=U(E,l[3]),E.forEach(b),o=K(k),n=Y(k,"svg",{viewBox:!0});var v=D(n);a=Y(v,"title",{});var O=D(a);s=U(O,l[3]),O.forEach(b),u&&u.l(v),f=Y(v,"circle",{cx:!0,cy:!0,r:!0}),D(f).forEach(b),v.forEach(b),k.forEach(b),g.forEach(b),this.h()},h(){p(i,"id",l[4]),h(i,"bx--visually-hidden",!0),p(f,"cx","50%"),p(f,"cy","50%"),p(f,"r",l[5]),h(f,"bx--loading__stroke",!0),p(n,"viewBox","0 0 100 100"),h(n,"bx--loading__svg",!0),p(t,"aria-atomic","true"),p(t,"aria-labelledby",l[4]),p(t,"aria-live",c=l[1]?"assertive":"off"),h(t,"bx--loading",!0),h(t,"bx--loading--small",l[0]),h(t,"bx--loading--stop",!l[1]),$(e,d),h(e,"bx--loading-overlay",!0),h(e,"bx--loading-overlay--stop",!l[1])},m(_,g){V(_,e,g),I(e,t),I(t,i),I(i,r),I(t,o),I(t,n),I(n,a),I(a,s),u&&u.m(n,null),I(n,f)},p(_,g){g&8&&X(r,_[3]),g&16&&p(i,"id",_[4]),g&8&&X(s,_[3]),_[0]?u?u.p(_,g):(u=je(_),u.c(),u.m(n,f)):u&&(u.d(1),u=null),g&32&&p(f,"r",_[5]),g&16&&p(t,"aria-labelledby",_[4]),g&2&&c!==(c=_[1]?"assertive":"off")&&p(t,"aria-live",c),g&1&&h(t,"bx--loading--small",_[0]),g&2&&h(t,"bx--loading--stop",!_[1]),$(e,d=fe(m,[g&64&&_[6]])),h(e,"bx--loading-overlay",!0),h(e,"bx--loading-overlay--stop",!_[1])},d(_){_&&b(e),u&&u.d()}}}function He(l){let e;return{c(){e=j("circle"),this.h()},l(t){e=Y(t,"circle",{cx:!0,cy:!0,r:!0}),D(e).forEach(b),this.h()},h(){p(e,"cx","50%"),p(e,"cy","50%"),p(e,"r",l[5]),h(e,"bx--loading__background",!0)},m(t,i){V(t,e,i)},p(t,i){i&32&&p(e,"r",t[5])},d(t){t&&b(e)}}}function je(l){let e;return{c(){e=j("circle"),this.h()},l(t){e=Y(t,"circle",{cx:!0,cy:!0,r:!0}),D(e).forEach(b),this.h()},h(){p(e,"cx","50%"),p(e,"cy","50%"),p(e,"r",l[5]),h(e,"bx--loading__background",!0)},m(t,i){V(t,e,i)},p(t,i){i&32&&p(e,"r",t[5])},d(t){t&&b(e)}}}function il(l){let e;function t(o,n){return o[2]?ll:tl}let i=t(l),r=i(l);return{c(){r.c(),e=x()},l(o){r.l(o),e=x()},m(o,n){r.m(o,n),V(o,e,n)},p(o,[n]){i===(i=t(o))&&r?r.p(o,n):(r.d(1),r=i(o),r&&(r.c(),r.m(e.parentNode,e)))},i:ee,o:ee,d(o){r.d(o),o&&b(e)}}}function rl(l,e,t){let i;const r=["small","active","withOverlay","description","id"];let o=Z(e,r),{small:n=!1}=e,{active:a=!0}=e,{withOverlay:s=!0}=e,{description:f="Active loading indicator"}=e,{id:c="ccs-"+Math.random().toString(36)}=e;return l.$$set=u=>{e=N(N({},e),ae(u)),t(6,o=Z(e,r)),"small"in u&&t(0,n=u.small),"active"in u&&t(1,a=u.active),"withOverlay"in u&&t(2,s=u.withOverlay),"description"in u&&t(3,f=u.description),"id"in u&&t(4,c=u.id)},l.$$.update=()=>{l.$$.dirty&1&&t(5,i=n?"42":"44")},[n,a,s,f,c,i,o]}class ol extends ue{constructor(e){super(),ce(this,e,rl,il,de,{small:0,active:1,withOverlay:2,description:3,id:4})}}const nl=ol;function sl(l){let e,t,i,r,o,n;const a=l[11].default,s=be(a,l,l[10],null);let f=[l[9],{style:i=l[9].style+"; "+(l[6]&&"position: relative")}],c={};for(let u=0;u<f.length;u+=1)c=N(c,f[u]);return{c(){e=B("div"),t=B("div"),s&&s.c(),this.h()},l(u){e=R(u,"DIV",{style:!0});var m=D(e);t=R(m,"DIV",{});var d=D(t);s&&s.l(d),d.forEach(b),m.forEach(b),this.h()},h(){h(t,"bx--popover-contents",!0),$(e,c),h(e,"bx--popover",!0),h(e,"bx--popover--caret",l[2]),h(e,"bx--popover--light",l[4]),h(e,"bx--popover--high-contrast",l[5]),h(e,"bx--popover--top",l[3]==="top"),h(e,"bx--popover--top-left",l[3]==="top-left"),h(e,"bx--popover--top-right",l[3]==="top-right"),h(e,"bx--popover--bottom",l[3]==="bottom"),h(e,"bx--popover--bottom-left",l[3]==="bottom-left"),h(e,"bx--popover--bottom-right",l[3]==="bottom-right"),h(e,"bx--popover--left",l[3]==="left"),h(e,"bx--popover--left-bottom",l[3]==="left-bottom"),h(e,"bx--popover--left-top",l[3]==="left-top"),h(e,"bx--popover--right",l[3]==="right"),h(e,"bx--popover--right-bottom",l[3]==="right-bottom"),h(e,"bx--popover--right-top",l[3]==="right-top"),h(e,"bx--popover--open",l[0]),h(e,"bx--popover--relative",l[6])},m(u,m){V(u,e,m),I(e,t),s&&s.m(t,null),l[13](e),r=!0,o||(n=W(window,"click",l[12]),o=!0)},p(u,[m]){s&&s.p&&(!r||m&1024)&&ge(s,a,u,u[10],r?pe(a,u[10],m,null):ve(u[10]),null),$(e,c=fe(f,[m&512&&u[9],(!r||m&576&&i!==(i=u[9].style+"; "+(u[6]&&"position: relative")))&&{style:i}])),h(e,"bx--popover",!0),h(e,"bx--popover--caret",u[2]),h(e,"bx--popover--light",u[4]),h(e,"bx--popover--high-contrast",u[5]),h(e,"bx--popover--top",u[3]==="top"),h(e,"bx--popover--top-left",u[3]==="top-left"),h(e,"bx--popover--top-right",u[3]==="top-right"),h(e,"bx--popover--bottom",u[3]==="bottom"),h(e,"bx--popover--bottom-left",u[3]==="bottom-left"),h(e,"bx--popover--bottom-right",u[3]==="bottom-right"),h(e,"bx--popover--left",u[3]==="left"),h(e,"bx--popover--left-bottom",u[3]==="left-bottom"),h(e,"bx--popover--left-top",u[3]==="left-top"),h(e,"bx--popover--right",u[3]==="right"),h(e,"bx--popover--right-bottom",u[3]==="right-bottom"),h(e,"bx--popover--right-top",u[3]==="right-top"),h(e,"bx--popover--open",u[0]),h(e,"bx--popover--relative",u[6])},i(u){r||(L(s,u),r=!0)},o(u){P(s,u),r=!1},d(u){u&&b(e),s&&s.d(u),l[13](null),o=!1,n()}}}function al(l,e,t){const i=["open","closeOnOutsideClick","caret","align","light","highContrast","relative"];let r=Z(e,i),{$$slots:o={},$$scope:n}=e,{open:a=!1}=e,{closeOnOutsideClick:s=!1}=e,{caret:f=!1}=e,{align:c="top"}=e,{light:u=!1}=e,{highContrast:m=!1}=e,{relative:d=!1}=e;const _=ot();let g=null;const k=v=>{a&&(g.contains(v.target)||(_("click:outside",{target:v.target}),s&&t(0,a=!1)))};function E(v){ye[v?"unshift":"push"](()=>{g=v,t(7,g)})}return l.$$set=v=>{e=N(N({},e),ae(v)),t(9,r=Z(e,i)),"open"in v&&t(0,a=v.open),"closeOnOutsideClick"in v&&t(1,s=v.closeOnOutsideClick),"caret"in v&&t(2,f=v.caret),"align"in v&&t(3,c=v.align),"light"in v&&t(4,u=v.light),"highContrast"in v&&t(5,m=v.highContrast),"relative"in v&&t(6,d=v.relative),"$$scope"in v&&t(10,n=v.$$scope)},[a,s,f,c,u,m,d,g,_,r,n,o,k,E]}class fl extends ue{constructor(e){super(),ce(this,e,al,sl,de,{open:0,closeOnOutsideClick:1,caret:2,align:3,light:4,highContrast:5,relative:6})}}const ul=fl,cl=l=>({}),Ye=l=>({});function dl(l){let e;return{c(){e=S(l[4])},l(t){e=U(t,l[4])},m(t,i){V(t,e,i)},p(t,i){i&16&&X(e,t[4])},d(t){t&&b(e)}}}function We(l){let e,t,i;var r=l[10][l[2]];function o(n){return{props:{class:"bx--progress-bar__status-icon"}}}return r&&(e=Oe(r,o())),{c(){e&&te(e.$$.fragment),t=x()},l(n){e&&he(e.$$.fragment,n),t=x()},m(n,a){e&&le(e,n,a),V(n,t,a),i=!0},p(n,a){if(a&4&&r!==(r=n[10][n[2]])){if(e){oe();const s=e;P(s.$$.fragment,1,0,()=>{ie(s,1)}),ne()}r?(e=Oe(r,o()),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}},i(n){i||(e&&L(e.$$.fragment,n),i=!0)},o(n){e&&P(e.$$.fragment,n),i=!1},d(n){n&&b(t),e&&ie(e,n)}}}function Xe(l){let e,t;return{c(){e=B("div"),t=S(l[6]),this.h()},l(i){e=R(i,"DIV",{id:!0});var r=D(e);t=U(r,l[6]),r.forEach(b),this.h()},h(){p(e,"id",l[11]),h(e,"bx--progress-bar__helper-text",!0)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&64&&X(t,i[6])},d(i){i&&b(e)}}}function hl(l){let e,t,i,r,o,n,a,s,f,c,u,m,d;const _=l[15].labelText,g=be(_,l,l[14],Ye),k=g||dl(l);let E=(l[2]==="error"||l[2]==="finished")&&We(l),v=l[6]&&Xe(l),O=[l[12]],M={};for(let w=0;w<O.length;w+=1)M=N(M,O[w]);return{c(){e=B("div"),t=B("label"),k&&k.c(),i=J(),E&&E.c(),r=J(),o=B("div"),n=B("div"),m=J(),v&&v.c(),this.h()},l(w){e=R(w,"DIV",{});var C=D(e);t=R(C,"LABEL",{for:!0});var A=D(t);k&&k.l(A),i=K(A),E&&E.l(A),A.forEach(b),r=K(C),o=R(C,"DIV",{role:!0,id:!0,"aria-busy":!0,"aria-valuemin":!0,"aria-valuemax":!0,"aria-valuenow":!0,"aria-describedby":!0});var se=D(o);n=R(se,"DIV",{}),D(n).forEach(b),se.forEach(b),m=K(C),v&&v.l(C),C.forEach(b),this.h()},h(){p(t,"for",l[7]),h(t,"bx--progress-bar__label",!0),h(t,"bx--visually-hidden",l[5]),h(n,"bx--progress-bar__bar",!0),Ee(n,"transform",l[2]==="active"&&`scaleX(${l[8]/l[0]})`),p(o,"role","progressbar"),p(o,"id",l[7]),p(o,"aria-busy",a=l[2]==="active"),p(o,"aria-valuemin",s=l[9]?void 0:0),p(o,"aria-valuemax",f=l[9]?void 0:l[0]),p(o,"aria-valuenow",c=l[9]?void 0:l[8]),p(o,"aria-describedby",u=l[6]?l[11]:null),h(o,"bx--progress-bar__track",!0),$(e,M),h(e,"bx--progress-bar",!0),h(e,"bx--progress-bar--indeterminate",l[9]),h(e,"bx--progress-bar--big",l[3]==="md"),h(e,"bx--progress-bar--small",l[3]==="sm"),h(e,"bx--progress-bar--inline",l[1]==="inline"),h(e,"bx--progress-bar--indented",l[1]==="indented"),h(e,"bx--progress-bar--error",l[2]==="error"),h(e,"bx--progress-bar--finished",l[2]==="finished")},m(w,C){V(w,e,C),I(e,t),k&&k.m(t,null),I(t,i),E&&E.m(t,null),I(e,r),I(e,o),I(o,n),I(e,m),v&&v.m(e,null),d=!0},p(w,[C]){g?g.p&&(!d||C&16384)&&ge(g,_,w,w[14],d?pe(_,w[14],C,cl):ve(w[14]),Ye):k&&k.p&&(!d||C&16)&&k.p(w,d?C:-1),w[2]==="error"||w[2]==="finished"?E?(E.p(w,C),C&4&&L(E,1)):(E=We(w),E.c(),L(E,1),E.m(t,null)):E&&(oe(),P(E,1,1,()=>{E=null}),ne()),(!d||C&128)&&p(t,"for",w[7]),(!d||C&32)&&h(t,"bx--visually-hidden",w[5]),C&261&&Ee(n,"transform",w[2]==="active"&&`scaleX(${w[8]/w[0]})`),(!d||C&128)&&p(o,"id",w[7]),(!d||C&4&&a!==(a=w[2]==="active"))&&p(o,"aria-busy",a),(!d||C&512&&s!==(s=w[9]?void 0:0))&&p(o,"aria-valuemin",s),(!d||C&513&&f!==(f=w[9]?void 0:w[0]))&&p(o,"aria-valuemax",f),(!d||C&768&&c!==(c=w[9]?void 0:w[8]))&&p(o,"aria-valuenow",c),(!d||C&64&&u!==(u=w[6]?w[11]:null))&&p(o,"aria-describedby",u),w[6]?v?v.p(w,C):(v=Xe(w),v.c(),v.m(e,null)):v&&(v.d(1),v=null),$(e,M=fe(O,[C&4096&&w[12]])),h(e,"bx--progress-bar",!0),h(e,"bx--progress-bar--indeterminate",w[9]),h(e,"bx--progress-bar--big",w[3]==="md"),h(e,"bx--progress-bar--small",w[3]==="sm"),h(e,"bx--progress-bar--inline",w[1]==="inline"),h(e,"bx--progress-bar--indented",w[1]==="indented"),h(e,"bx--progress-bar--error",w[2]==="error"),h(e,"bx--progress-bar--finished",w[2]==="finished")},i(w){d||(L(k,w),L(E),d=!0)},o(w){P(k,w),P(E),d=!1},d(w){w&&b(e),k&&k.d(w),E&&E.d(),v&&v.d()}}}function _l(l,e,t){let i;const r=["value","max","kind","status","size","labelText","hideLabel","helperText","id"];let o=Z(e,r),{$$slots:n={},$$scope:a}=e,{value:s=void 0}=e,{max:f=100}=e,{kind:c="default"}=e,{status:u="active"}=e,{size:m="md"}=e,{labelText:d=""}=e,{hideLabel:_=!1}=e,{helperText:g=""}=e,{id:k="ccs-"+Math.random().toString(36)}=e;const E={error:Ot,finished:Mt};let v="ccs-"+Math.random().toString(36),O;return l.$$set=M=>{e=N(N({},e),ae(M)),t(12,o=Z(e,r)),"value"in M&&t(13,s=M.value),"max"in M&&t(0,f=M.max),"kind"in M&&t(1,c=M.kind),"status"in M&&t(2,u=M.status),"size"in M&&t(3,m=M.size),"labelText"in M&&t(4,d=M.labelText),"hideLabel"in M&&t(5,_=M.hideLabel),"helperText"in M&&t(6,g=M.helperText),"id"in M&&t(7,k=M.id),"$$scope"in M&&t(14,a=M.$$scope)},l.$$.update=()=>{l.$$.dirty&8196&&t(9,i=s===void 0&&u==="active"),l.$$.dirty&8197&&(u==="error"||s<0?t(8,O=0):s>f?t(8,O=f):t(8,O=s))},[f,c,u,m,d,_,g,k,O,i,E,v,o,s,a,n]}class ml extends ue{constructor(e){super(),ce(this,e,_l,hl,de,{value:13,max:0,kind:1,status:2,size:3,labelText:4,hideLabel:5,helperText:6,id:7})}}const bl=ml;class gl{static login(e){return Ne(qe,{method:"GET",url:"/google/login",query:{origin_url:e},errors:{422:"Validation Error"}})}static auth(){return Ne(qe,{method:"GET",url:"/google/auth"})}static logout(){return Ne(qe,{method:"GET",url:"/google/logout"})}}function Qe(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function vl(l){let e,t,i=l[1]&&Qe(l),r=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],o={};for(let n=0;n<r.length;n+=1)o=N(o,r[n]);return{c(){e=j("svg"),i&&i.c(),t=j("path"),this.h()},l(n){e=Y(n,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var a=D(e);i&&i.l(a),t=Y(a,"path",{d:!0}),D(t).forEach(b),a.forEach(b),this.h()},h(){p(t,"d","M13 24L4 15 5.414 13.586 13 21.171 26.586 7.586 28 9 13 24z"),De(e,o)},m(n,a){V(n,e,a),i&&i.m(e,null),I(e,t)},p(n,[a]){n[1]?i?i.p(n,a):(i=Qe(n),i.c(),i.m(e,t)):i&&(i.d(1),i=null),De(e,o=fe(r,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},a&1&&{width:n[0]},a&1&&{height:n[0]},a&4&&n[2],a&8&&n[3]]))},i:ee,o:ee,d(n){n&&b(e),i&&i.d()}}}function pl(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class kl extends ue{constructor(e){super(),ce(this,e,pl,vl,de,{size:0,title:1})}}const wl=yt(gl.logout,{onSuccess:()=>zt.invalidateQueries([Lt])});function Je(l){let e,t,i,r,o,n=`${l[2]}px`,a=`${Math.max(l[5]/2+Be,Math.min(l[1],l[6]-l[5]/2-Be))}px`,s;const f=[Tl,El],c=[];function u(m,d){return m[0]?0:m[3]?1:-1}return~(i=u(l))&&(r=c[i]=f[i](l)),{c(){e=B("div"),t=B("div"),r&&r.c(),this.h()},l(m){e=R(m,"DIV",{role:!0,class:!0});var d=D(e);t=R(d,"DIV",{class:!0});var _=D(t);r&&r.l(_),_.forEach(b),d.forEach(b),this.h()},h(){p(t,"class","min-w-xl text-container svelte-80e402"),p(e,"role","tooltip"),p(e,"class","hover-tooltip absolute mt-2 -translate-x-1/2 break-words border border-gray-300 bg-white p-2 shadow-md svelte-80e402"),kt(()=>l[7].call(e)),Ee(e,"top",n),Ee(e,"left",a)},m(m,d){V(m,e,d),I(e,t),~i&&c[i].m(t,null),o=wt(e,l[7].bind(e)),s=!0},p(m,d){let _=i;i=u(m),i===_?~i&&c[i].p(m,d):(r&&(oe(),P(c[_],1,1,()=>{c[_]=null}),ne()),~i?(r=c[i],r?r.p(m,d):(r=c[i]=f[i](m),r.c()),L(r,1),r.m(t,null)):r=null),d&4&&n!==(n=`${m[2]}px`)&&Ee(e,"top",n),d&34&&a!==(a=`${Math.max(m[5]/2+Be,Math.min(m[1],m[6]-m[5]/2-Be))}px`)&&Ee(e,"left",a)},i(m){s||(L(r),s=!0)},o(m){P(r),s=!1},d(m){m&&b(e),~i&&c[i].d(),o()}}}function El(l){let e,t,i;const r=[l[4]];var o=l[3];function n(a){let s={};for(let f=0;f<r.length;f+=1)s=N(s,r[f]);return{props:s}}return o&&(e=Oe(o,n())),{c(){e&&te(e.$$.fragment),t=x()},l(a){e&&he(e.$$.fragment,a),t=x()},m(a,s){e&&le(e,a,s),V(a,t,s),i=!0},p(a,s){const f=s&16?fe(r,[Et(a[4])]):{};if(s&8&&o!==(o=a[3])){if(e){oe();const c=e;P(c.$$.fragment,1,0,()=>{ie(c,1)}),ne()}o?(e=Oe(o,n()),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}else o&&e.$set(f)},i(a){i||(e&&L(e.$$.fragment,a),i=!0)},o(a){e&&P(e.$$.fragment,a),i=!1},d(a){a&&b(t),e&&ie(e,a)}}}function Tl(l){let e,t;return{c(){e=B("span"),t=S(l[0]),this.h()},l(i){e=R(i,"SPAN",{class:!0});var r=D(e);t=U(r,l[0]),r.forEach(b),this.h()},h(){p(e,"class","whitespace-pre-wrap")},m(i,r){V(i,e,r),I(e,t)},p(i,r){r&1&&X(t,i[0])},i:ee,o:ee,d(i){i&&b(e)}}}function Il(l){let e,t,i=l[0]!=""&&Je(l);return{c(){i&&i.c(),e=x()},l(r){i&&i.l(r),e=x()},m(r,o){i&&i.m(r,o),V(r,e,o),t=!0},p(r,[o]){r[0]!=""?i?(i.p(r,o),o&1&&L(i,1)):(i=Je(r),i.c(),L(i,1),i.m(e.parentNode,e)):i&&(oe(),P(i,1,1,()=>{i=null}),ne())},i(r){t||(L(i),t=!0)},o(r){P(i),t=!1},d(r){i&&i.d(r),r&&b(e)}}}const Be=10;function Dl(l,e,t){let{text:i}=e,{x:r}=e,{y:o}=e,{component:n}=e,{props:a}=e;const s=window.innerWidth;let f=0;function c(){f=this.clientWidth,t(5,f)}return l.$$set=u=>{"text"in u&&t(0,i=u.text),"x"in u&&t(1,r=u.x),"y"in u&&t(2,o=u.y),"component"in u&&t(3,n=u.component),"props"in u&&t(4,a=u.props)},[i,r,o,n,a,f,s,c]}class Ol extends ue{constructor(e){super(),ce(this,e,Dl,Il,de,{text:0,x:1,y:2,component:3,props:4})}}function ut(l,{text:e,component:t,props:i}){if(t==null&&e==null)return;let r,o=e,n=t,a=i;function s(){if(r!=null)return;const c=l.getBoundingClientRect();r=new Ol({props:{text:o,component:n,props:a,x:c.left+c.width/2,y:c.bottom},target:document.body})}function f(){r==null||r.$destroy(),r=void 0}return l.addEventListener("mouseover",s),l.addEventListener("mouseleave",f),l.addEventListener("click",f),{update({text:c,component:u,props:m}){o=c,n=u,a=m,r==null||r.$set({tooltipText:c})},destroy(){f(),l.removeEventListener("mouseover",s),l.removeEventListener("mouseleave",f),l.removeEventListener("click",f)}}}function Ke(l,e,t){const i=l.slice();i[13]=e[t][0],i[14]=e[t][1];const r=i[14].step_progress==null?void 0:i[14].step_progress;return i[15]=r,i}function Ze(l){let e,t,i,r,o,n,a,s,f,c,u,m,d;const _=[zl,yl,Ml],g=[];function k(v,O){return v[5].length?0:v[4].length?1:2}r=k(l),o=g[r]=_[r](l);let E=l[5].length===1&&xe(l);return s=new ul({props:{align:"bottom-right",caret:!0,closeOnOutsideClick:!0,open:l[1],$$slots:{default:[Ll]},$$scope:{ctx:l}}}),s.$on("click:outside",l[11]),{c(){e=B("div"),t=B("button"),i=B("div"),o.c(),n=J(),E&&E.c(),a=J(),te(s.$$.fragment),this.h()},l(v){e=R(v,"DIV",{});var O=D(e);t=R(O,"BUTTON",{class:!0});var M=D(t);i=R(M,"DIV",{class:!0});var w=D(i);o.l(w),w.forEach(b),n=K(M),E&&E.l(M),a=K(M),he(s.$$.fragment,M),M.forEach(b),O.forEach(b),this.h()},h(){p(i,"class","relative z-10 flex gap-x-2"),t.disabled=f=!l[2],p(t,"class","task-button relative h-8 rounded border p-2 transition"),h(t,"opacity-40",!l[2]),h(t,"bg-white",!l[5].length),h(t,"bg-blue-200",l[5].length),h(t,"border-blue-400",l[5].length)},m(v,O){V(v,e,O),I(e,t),I(t,i),g[r].m(i,null),I(t,n),E&&E.m(t,null),I(t,a),le(s,t,null),u=!0,m||(d=[W(t,"click",Tt(l[12])),st(c=ut.call(null,e,{text:l[2]?"":"User does not have access to run tasks."}))],m=!0)},p(v,O){let M=r;r=k(v),r===M?g[r].p(v,O):(oe(),P(g[M],1,1,()=>{g[M]=null}),ne(),o=g[r],o?o.p(v,O):(o=g[r]=_[r](v),o.c()),L(o,1),o.m(i,null)),v[5].length===1?E?E.p(v,O):(E=xe(v),E.c(),E.m(t,a)):E&&(E.d(1),E=null);const w={};O&2&&(w.open=v[1]),O&262145&&(w.$$scope={dirty:O,ctx:v}),s.$set(w),(!u||O&4&&f!==(f=!v[2]))&&(t.disabled=f),(!u||O&4)&&h(t,"opacity-40",!v[2]),(!u||O&32)&&h(t,"bg-white",!v[5].length),(!u||O&32)&&h(t,"bg-blue-200",v[5].length),(!u||O&32)&&h(t,"border-blue-400",v[5].length),c&&at(c.update)&&O&4&&c.update.call(null,{text:v[2]?"":"User does not have access to run tasks."})},i(v){u||(L(o),L(s.$$.fragment,v),u=!0)},o(v){P(o),P(s.$$.fragment,v),u=!1},d(v){v&&b(e),g[r].d(),E&&E.d(),ie(s),m=!1,Re(d)}}}function Ml(l){let e,t,i;return t=new kl({}),{c(){e=S("Tasks "),te(t.$$.fragment)},l(r){e=U(r,"Tasks "),he(t.$$.fragment,r)},m(r,o){V(r,e,o),le(t,r,o),i=!0},p:ee,i(r){i||(L(t.$$.fragment,r),i=!0)},o(r){P(t.$$.fragment,r),i=!1},d(r){r&&b(e),ie(t,r)}}}function yl(l){let e=l[4].length+"",t,i,r=l[4].length>1?"s":"",o;return{c(){t=S(e),i=S(" failed task"),o=S(r)},l(n){t=U(n,e),i=U(n," failed task"),o=U(n,r)},m(n,a){V(n,t,a),V(n,i,a),V(n,o,a)},p(n,a){a&16&&e!==(e=n[4].length+"")&&X(t,e),a&16&&r!==(r=n[4].length>1?"s":"")&&X(o,r)},i:ee,o:ee,d(n){n&&b(t),n&&b(i),n&&b(o)}}}function zl(l){let e=l[5].length+"",t,i,r=l[5].length>1?"s":"",o,n,a,s;return a=new nl({props:{withOverlay:!1,small:!0}}),{c(){t=S(e),i=S(" running task"),o=S(r),n=S("... "),te(a.$$.fragment)},l(f){t=U(f,e),i=U(f," running task"),o=U(f,r),n=U(f,"... "),he(a.$$.fragment,f)},m(f,c){V(f,t,c),V(f,i,c),V(f,o,c),V(f,n,c),le(a,f,c),s=!0},p(f,c){(!s||c&32)&&e!==(e=f[5].length+"")&&X(t,e),(!s||c&32)&&r!==(r=f[5].length>1?"s":"")&&X(o,r)},i(f){s||(L(a.$$.fragment,f),s=!0)},o(f){P(a.$$.fragment,f),s=!1},d(f){f&&b(t),f&&b(i),f&&b(o),f&&b(n),ie(a,f)}}}function xe(l){let e,t=`${l[3]*100}%`;return{c(){e=B("div"),this.h()},l(i){e=R(i,"DIV",{class:!0}),D(e).forEach(b),this.h()},h(){p(e,"class","absolute left-0 top-0 z-0 h-full bg-blue-400 transition"),Ee(e,"width",t)},m(i,r){V(i,e,r)},p(i,r){r&8&&t!==(t=`${i[3]*100}%`)&&Ee(e,"width",t)},d(i){i&&b(e)}}}function $e(l,e){let t,i,r,o=e[14].name+"",n,a,s,f,c,u;return f=new bl({props:{labelText:e[14].message||"",helperText:e[14].status!="completed"?e[14].details:"",value:e[14].status==="completed"?1:e[15],max:1,size:"sm",status:e[7][e[14].status]}}),{key:l,first:null,c(){t=B("div"),i=B("div"),r=B("div"),n=S(o),a=J(),s=B("div"),te(f.$$.fragment),c=J(),this.h()},l(m){t=R(m,"DIV",{class:!0});var d=D(t);i=R(d,"DIV",{class:!0});var _=D(i);r=R(_,"DIV",{class:!0});var g=D(r);n=U(g,o),g.forEach(b),_.forEach(b),a=K(d),s=R(d,"DIV",{class:!0});var k=D(s);he(f.$$.fragment,k),k.forEach(b),c=K(d),d.forEach(b),this.h()},h(){p(r,"class","mr-2"),p(i,"class","text-s flex flex-row"),p(s,"class","progress-container mt-3"),p(t,"class","relative border-b-2 border-slate-200 p-4 text-left last:border-b-0"),this.first=t},m(m,d){V(m,t,d),I(t,i),I(i,r),I(r,n),I(t,a),I(t,s),le(f,s,null),I(t,c),u=!0},p(m,d){e=m,(!u||d&1)&&o!==(o=e[14].name+"")&&X(n,o);const _={};d&1&&(_.labelText=e[14].message||""),d&1&&(_.helperText=e[14].status!="completed"?e[14].details:""),d&1&&(_.value=e[14].status==="completed"?1:e[15]),d&1&&(_.status=e[7][e[14].status]),f.$set(_)},i(m){u||(L(f.$$.fragment,m),u=!0)},o(m){P(f.$$.fragment,m),u=!1},d(m){m&&b(t),ie(f)}}}function Ll(l){let e,t=[],i=new Map,r,o=l[0];const n=a=>a[13];for(let a=0;a<o.length;a+=1){let s=Ke(l,o,a),f=n(s);i.set(f,t[a]=$e(f,s))}return{c(){e=B("div");for(let a=0;a<t.length;a+=1)t[a].c();this.h()},l(a){e=R(a,"DIV",{class:!0});var s=D(e);for(let f=0;f<t.length;f+=1)t[f].l(s);s.forEach(b),this.h()},h(){p(e,"class","flex flex-col")},m(a,s){V(a,e,s);for(let f=0;f<t.length;f+=1)t[f]&&t[f].m(e,null);r=!0},p(a,s){s&129&&(o=a[0],oe(),t=It(t,s,n,1,a,o,i,e,Dt,$e,null,Ke),ne())},i(a){if(!r){for(let s=0;s<o.length;s+=1)L(t[s]);r=!0}},o(a){for(let s=0;s<t.length;s+=1)P(t[s]);r=!1},d(a){a&&b(e);for(let s=0;s<t.length;s+=1)t[s].d()}}}function Cl(l){let e,t,i=l[2]&&Ze(l);return{c(){i&&i.c(),e=x()},l(r){i&&i.l(r),e=x()},m(r,o){i&&i.m(r,o),V(r,e,o),t=!0},p(r,[o]){r[2]?i?(i.p(r,o),o&4&&L(i,1)):(i=Ze(r),i.c(),L(i,1),i.m(e.parentNode,e)):i&&(oe(),P(i,1,1,()=>{i=null}),ne())},i(r){t||(L(i),t=!0)},o(r){P(i),t=!1},d(r){i&&i.d(r),r&&b(e)}}}function Vl(l,e,t){let i,r,o,n,a,s,f;const c=Ct();Te(l,c,k=>t(10,f=k));let u=!1;const m={pending:"active",completed:"finished",error:"error"},d=ft();Te(l,d,k=>t(9,s=k));const _=()=>{u&&t(1,u=!1)},g=()=>t(1,u=!u);return l.$$.update=()=>{var k,E,v,O;l.$$.dirty&1024&&t(0,i=Object.entries(((k=f.data)==null?void 0:k.tasks)||{}).sort(([,M],[,w])=>Date.parse(w.start_timestamp)-Date.parse(M.start_timestamp))),l.$$.dirty&1&&t(5,r=i.filter(([,M])=>M.status==="pending")),l.$$.dirty&1&&t(4,o=i.filter(([,M])=>M.status==="error")),l.$$.dirty&1024&&t(3,n=((E=f.data)==null?void 0:E.progress)||0),l.$$.dirty&512&&t(2,a=((v=s.data)==null?void 0:v.access.dataset.compute_signals)||((O=s.data)==null?void 0:O.access.create_dataset))},[i,u,a,n,o,r,c,m,d,s,f,_,g]}class Al extends ue{constructor(e){super(),ce(this,e,Vl,Cl,de,{})}}const Bl=l=>({}),et=l=>({}),Rl=l=>({}),tt=l=>({}),Pl=l=>({}),lt=l=>({});function it(l){let e,t,i,r;const o=[ql,Nl],n=[];function a(s,f){var c;return((c=s[1].data)==null?void 0:c.user)!=null?0:1}return e=a(l),t=n[e]=o[e](l),{c(){t.c(),i=x()},l(s){t.l(s),i=x()},m(s,f){n[e].m(s,f),V(s,i,f),r=!0},p(s,f){let c=e;e=a(s),e===c?n[e].p(s,f):(oe(),P(n[c],1,1,()=>{n[c]=null}),ne(),t=n[e],t?t.p(s,f):(t=n[e]=o[e](s),t.c()),L(t,1),t.m(i.parentNode,i))},i(s){r||(L(t),r=!0)},o(s){P(t),r=!1},d(s){n[e].d(s),s&&b(i)}}}function Nl(l){let e,t;return e=new Vt({props:{size:"small",href:l[3],target:l[6],$$slots:{default:[Sl]},$$scope:{ctx:l}}}),{c(){te(e.$$.fragment)},l(i){he(e.$$.fragment,i)},m(i,r){le(e,i,r),t=!0},p(i,r){const o={};r&256&&(o.$$scope={dirty:r,ctx:i}),e.$set(o)},i(i){t||(L(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){ie(e,i)}}}function ql(l){var m;let e,t,i=((m=l[1].data)==null?void 0:m.user.given_name)+"",r,o,n,a,s,f,c,u;return s=new Wt({props:{flipped:!0,$$slots:{default:[Ul]},$$scope:{ctx:l}}}),{c(){e=B("div"),t=B("div"),r=S(i),n=J(),a=B("div"),te(s.$$.fragment),this.h()},l(d){e=R(d,"DIV",{class:!0});var _=D(e);t=R(_,"DIV",{class:!0});var g=D(t);r=U(g,i),g.forEach(b),n=K(_),a=R(_,"DIV",{});var k=D(a);he(s.$$.fragment,k),k.forEach(b),_.forEach(b),this.h()},h(){p(t,"class","ml-2 mr-1 flex"),p(e,"class","flex h-9 flex-row items-center rounded border border-neutral-200")},m(d,_){var g,k;V(d,e,_),I(e,t),I(t,r),I(e,n),I(e,a),le(s,a,null),f=!0,c||(u=st(o=ut.call(null,t,{text:`Logged into Google as ${(g=l[1].data)==null?void 0:g.user.name} with email ${(k=l[1].data)==null?void 0:k.user.email}`})),c=!0)},p(d,_){var k,E,v;(!f||_&2)&&i!==(i=((k=d[1].data)==null?void 0:k.user.given_name)+"")&&X(r,i),o&&at(o.update)&&_&2&&o.update.call(null,{text:`Logged into Google as ${(E=d[1].data)==null?void 0:E.user.name} with email ${(v=d[1].data)==null?void 0:v.user.email}`});const g={};_&256&&(g.$$scope={dirty:_,ctx:d}),s.$set(g)},i(d){f||(L(s.$$.fragment,d),f=!0)},o(d){P(s.$$.fragment,d),f=!1},d(d){d&&b(e),ie(s),c=!1,u()}}}function Sl(l){let e;return{c(){e=S("Login")},l(t){e=U(t,"Login")},m(t,i){V(t,e,i)},d(t){t&&b(e)}}}function Ul(l){let e,t;return e=new el({props:{class:"optionOne",text:"Logout"}}),e.$on("click",l[5]),{c(){te(e.$$.fragment)},l(i){he(e.$$.fragment,i)},m(i,r){le(e,i,r),t=!0},p:ee,i(i){t||(L(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){ie(e,i)}}}function Fl(l){var me;let e,t,i,r,o,n,a,s,f,c,u,m,d,_,g,k,E,v,O;const M=l[7]["header-subtext"],w=be(M,l,l[8],lt),C=l[7]["header-center"],A=be(C,l,l[8],tt),se=l[7]["header-right"],G=be(se,l,l[8],et);g=new Al({});let q=((me=l[1].data)==null?void 0:me.auth_enabled)&&it(l);const _e=l[7].default,Q=be(_e,l,l[8],null);return{c(){e=B("div"),t=B("div"),i=B("div"),r=B("a"),o=S(`Lilac
6
- `),n=B("span"),a=S(l[0]),s=J(),f=B("div"),w&&w.c(),c=J(),u=B("div"),A&&A.c(),m=J(),d=B("div"),G&&G.c(),_=J(),te(g.$$.fragment),k=J(),q&&q.c(),E=J(),v=B("div"),Q&&Q.c(),this.h()},l(z){e=R(z,"DIV",{class:!0});var F=D(e);t=R(F,"DIV",{class:!0});var re=D(t);i=R(re,"DIV",{class:!0});var y=D(i);r=R(y,"A",{class:!0,href:!0});var Me=D(r);o=U(Me,`Lilac
7
- `),n=R(Me,"SPAN",{});var ze=D(n);a=U(ze,l[0]),ze.forEach(b),Me.forEach(b),s=K(y),f=R(y,"DIV",{class:!0});var Le=D(f);w&&w.l(Le),Le.forEach(b),y.forEach(b),c=K(re),u=R(re,"DIV",{class:!0});var Ce=D(u);A&&A.l(Ce),Ce.forEach(b),m=K(re),d=R(re,"DIV",{class:!0});var we=D(d);G&&G.l(we),_=K(we),he(g.$$.fragment,we),k=K(we),q&&q.l(we),we.forEach(b),re.forEach(b),E=K(F),v=R(F,"DIV",{class:!0});var Ve=D(v);Q&&Q.l(Ve),Ve.forEach(b),F.forEach(b),this.h()},h(){p(r,"class","text-xl normal-case"),p(r,"href","/"),p(f,"class","mt-1 pl-4"),p(i,"class","mr-4 flex flex-row items-center"),p(u,"class","flex-grow flex-row items-center justify-center"),p(d,"class","flex flex-row items-center gap-x-2"),p(t,"class","flex flex-row items-center justify-between justify-items-center gap-x-12 border-b border-gray-200 px-4 py-2"),p(v,"class","flex h-full w-full overflow-hidden"),p(e,"class","flex h-full w-full flex-col")},m(z,F){V(z,e,F),I(e,t),I(t,i),I(i,r),I(r,o),I(r,n),I(n,a),I(i,s),I(i,f),w&&w.m(f,null),I(t,c),I(t,u),A&&A.m(u,null),I(t,m),I(t,d),G&&G.m(d,null),I(d,_),le(g,d,null),I(d,k),q&&q.m(d,null),I(e,E),I(e,v),Q&&Q.m(v,null),O=!0},p(z,[F]){var re;(!O||F&1)&&X(a,z[0]),w&&w.p&&(!O||F&256)&&ge(w,M,z,z[8],O?pe(M,z[8],F,Pl):ve(z[8]),lt),A&&A.p&&(!O||F&256)&&ge(A,C,z,z[8],O?pe(C,z[8],F,Rl):ve(z[8]),tt),G&&G.p&&(!O||F&256)&&ge(G,se,z,z[8],O?pe(se,z[8],F,Bl):ve(z[8]),et),(re=z[1].data)!=null&&re.auth_enabled?q?(q.p(z,F),F&2&&L(q,1)):(q=it(z),q.c(),L(q,1),q.m(d,null)):q&&(oe(),P(q,1,1,()=>{q=null}),ne()),Q&&Q.p&&(!O||F&256)&&ge(Q,_e,z,z[8],O?pe(_e,z[8],F,null):ve(z[8]),null)},i(z){O||(L(w,z),L(A,z),L(G,z),L(g.$$.fragment,z),L(q),L(Q,z),O=!0)},o(z){P(w,z),P(A,z),P(G,z),P(g.$$.fragment,z),P(q),P(Q,z),O=!1},d(z){z&&b(e),w&&w.d(z),A&&A.d(z),G&&G.d(z),ie(g),q&&q.d(),Q&&Q.d(z)}}}function Gl(l,e,t){let i,r,{$$slots:o={},$$scope:n}=e,{title:a}=e;const s=ft();Te(l,s,_=>t(1,r=_));const f=location.origin,c=`${f}/google/login?origin_url=${f}`;console.log("loginUrl = ",c);const u=wl();Te(l,u,_=>t(9,i=_));function m(){i.mutate([])}const d=window.self!==window.top?"_blank":"";return l.$$set=_=>{"title"in _&&t(0,a=_.title),"$$scope"in _&&t(8,n=_.$$scope)},[a,r,s,c,u,m,d,o,n]}class Wl extends ue{constructor(e){super(),ce(this,e,Gl,Fl,de,{title:0})}}export{kl as C,nl as L,Wt as O,Wl as P,el as a,ut as h};
 
1
+ import{S as ue,i as ce,s as de,E as N,_ as j,$ as Y,m as D,h as b,n as p,a0 as De,b as V,J as T,O as fe,a1 as ee,D as Z,F as ae,q as S,r as U,u as X,G as be,ao as mt,e as x,a as J,k as B,aq as bt,ap as gt,c as K,l as R,I as $,H as h,K as W,L as ge,M as ve,N as pe,g as L,v as oe,d as P,f as ne,P as Re,ac as rt,C as ot,R as Ie,T as vt,j as nt,x as Oe,y as te,z as he,A as le,B as ie,Q as ke,w as ye,aj as pt,p as Ee,ad as kt,ae as wt,W as Et,aa as It,a6 as st,a7 as at,X as Tt,Y as Dt}from"./index.5fd689e7.js";import{E as Ot,C as Mt,r as Ne,O as qe,e as yt,b as zt,A as Lt,q as Ct,a as ft,B as Vt}from"./taskQueries.ab6be53f.js";import{w as Ae}from"./index.08894c4d.js";function Se(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function At(l){let e,t,i,r,o=l[1]&&Se(l),n=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],a={};for(let s=0;s<n.length;s+=1)a=N(a,n[s]);return{c(){e=j("svg"),o&&o.c(),t=j("circle"),i=j("circle"),r=j("circle"),this.h()},l(s){e=Y(s,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var f=D(e);o&&o.l(f),t=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(t).forEach(b),i=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(i).forEach(b),r=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(r).forEach(b),f.forEach(b),this.h()},h(){p(t,"cx","16"),p(t,"cy","8"),p(t,"r","2"),p(i,"cx","16"),p(i,"cy","16"),p(i,"r","2"),p(r,"cx","16"),p(r,"cy","24"),p(r,"r","2"),De(e,a)},m(s,f){V(s,e,f),o&&o.m(e,null),T(e,t),T(e,i),T(e,r)},p(s,[f]){s[1]?o?o.p(s,f):(o=Se(s),o.c(),o.m(e,t)):o&&(o.d(1),o=null),De(e,a=fe(n,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},f&1&&{width:s[0]},f&1&&{height:s[0]},f&4&&s[2],f&8&&s[3]]))},i:ee,o:ee,d(s){s&&b(e),o&&o.d()}}}function Bt(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class Rt extends ue{constructor(e){super(),ce(this,e,Bt,At,de,{size:0,title:1})}}const Pt=Rt;function Ue(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Nt(l){let e,t,i,r,o=l[1]&&Ue(l),n=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],a={};for(let s=0;s<n.length;s+=1)a=N(a,n[s]);return{c(){e=j("svg"),o&&o.c(),t=j("circle"),i=j("circle"),r=j("circle"),this.h()},l(s){e=Y(s,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var f=D(e);o&&o.l(f),t=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(t).forEach(b),i=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(i).forEach(b),r=Y(f,"circle",{cx:!0,cy:!0,r:!0}),D(r).forEach(b),f.forEach(b),this.h()},h(){p(t,"cx","8"),p(t,"cy","16"),p(t,"r","2"),p(i,"cx","16"),p(i,"cy","16"),p(i,"r","2"),p(r,"cx","24"),p(r,"cy","16"),p(r,"r","2"),De(e,a)},m(s,f){V(s,e,f),o&&o.m(e,null),T(e,t),T(e,i),T(e,r)},p(s,[f]){s[1]?o?o.p(s,f):(o=Ue(s),o.c(),o.m(e,t)):o&&(o.d(1),o=null),De(e,a=fe(n,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},f&1&&{width:s[0]},f&1&&{height:s[0]},f&4&&s[2],f&8&&s[3]]))},i:ee,o:ee,d(s){s&&b(e),o&&o.d()}}}function qt(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class St extends ue{constructor(e){super(),ce(this,e,qt,Nt,de,{size:0,title:1})}}const Ut=St,Ft=l=>({}),Fe=l=>({});function Gt(l){let e,t,i;var r=l[1];function o(n){return{props:{"aria-label":n[10],title:n[10],class:"bx--overflow-menu__icon "+n[9]}}}return r&&(e=Oe(r,o(l))),{c(){e&&te(e.$$.fragment),t=x()},l(n){e&&he(e.$$.fragment,n),t=x()},m(n,a){e&&le(e,n,a),V(n,t,a),i=!0},p(n,a){const s={};if(a[0]&1024&&(s["aria-label"]=n[10]),a[0]&1024&&(s.title=n[10]),a[0]&512&&(s.class="bx--overflow-menu__icon "+n[9]),a[0]&2&&r!==(r=n[1])){if(e){oe();const f=e;P(f.$$.fragment,1,0,()=>{ie(f,1)}),ne()}r?(e=Oe(r,o(n)),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}else r&&e.$set(s)},i(n){i||(e&&L(e.$$.fragment,n),i=!0)},o(n){e&&P(e.$$.fragment,n),i=!1},d(n){n&&b(t),e&&ie(e,n)}}}function Ge(l){let e,t;const i=l[24].default,r=be(i,l,l[23],null);return{c(){e=B("ul"),r&&r.c(),this.h()},l(o){e=R(o,"UL",{role:!0,tabindex:!0,"aria-label":!0,"data-floating-menu-direction":!0,class:!0});var n=D(e);r&&r.l(n),n.forEach(b),this.h()},h(){p(e,"role","menu"),p(e,"tabindex","-1"),p(e,"aria-label",l[13]),p(e,"data-floating-menu-direction",l[5]),p(e,"class",l[8]),h(e,"bx--overflow-menu-options",!0),h(e,"bx--overflow-menu--flip",l[7]),h(e,"bx--overflow-menu-options--open",l[0]),h(e,"bx--overflow-menu-options--light",l[6]),h(e,"bx--overflow-menu-options--sm",l[4]==="sm"),h(e,"bx--overflow-menu-options--xl",l[4]==="xl"),h(e,"bx--breadcrumb-menu-options",!!l[14])},m(o,n){V(o,e,n),r&&r.m(e,null),l[31](e),t=!0},p(o,n){r&&r.p&&(!t||n[0]&8388608)&&ge(r,i,o,o[23],t?pe(i,o[23],n,null):ve(o[23]),null),(!t||n[0]&8192)&&p(e,"aria-label",o[13]),(!t||n[0]&32)&&p(e,"data-floating-menu-direction",o[5]),(!t||n[0]&256)&&p(e,"class",o[8]),(!t||n[0]&256)&&h(e,"bx--overflow-menu-options",!0),(!t||n[0]&384)&&h(e,"bx--overflow-menu--flip",o[7]),(!t||n[0]&257)&&h(e,"bx--overflow-menu-options--open",o[0]),(!t||n[0]&320)&&h(e,"bx--overflow-menu-options--light",o[6]),(!t||n[0]&272)&&h(e,"bx--overflow-menu-options--sm",o[4]==="sm"),(!t||n[0]&272)&&h(e,"bx--overflow-menu-options--xl",o[4]==="xl"),(!t||n[0]&16640)&&h(e,"bx--breadcrumb-menu-options",!!o[14])},i(o){t||(L(r,o),t=!0)},o(o){P(r,o),t=!1},d(o){o&&b(e),r&&r.d(o),l[31](null)}}}function Ht(l){let e,t,i,r,o,n,a,s;const f=l[24].menu,c=be(f,l,l[23],Fe),u=c||Gt(l);let m=l[0]&&Ge(l),d=[{type:"button"},{"aria-haspopup":""},{"aria-expanded":l[0]},{"aria-label":l[13]},{id:l[11]},l[19]],g={};for(let _=0;_<d.length;_+=1)g=N(g,d[_]);return{c(){e=new mt(!1),t=x(),i=J(),r=B("button"),u&&u.c(),o=J(),m&&m.c(),this.h()},l(_){const k=bt("svelte-7ztmff",document.head);e=gt(k,!1),t=x(),k.forEach(b),i=K(_),r=R(_,"BUTTON",{type:!0,"aria-haspopup":!0,"aria-expanded":!0,"aria-label":!0,id:!0});var E=D(r);u&&u.l(E),o=K(E),m&&m.l(E),E.forEach(b),this.h()},h(){e.a=t,$(r,g),h(r,"bx--overflow-menu",!0),h(r,"bx--overflow-menu--open",l[0]),h(r,"bx--overflow-menu--light",l[6]),h(r,"bx--overflow-menu--sm",l[4]==="sm"),h(r,"bx--overflow-menu--xl",l[4]==="xl")},m(_,k){e.m(l[12],document.head),T(document.head,t),V(_,i,k),V(_,r,k),u&&u.m(r,null),T(r,o),m&&m.m(r,null),r.autofocus&&r.focus(),l[32](r),n=!0,a||(s=[W(window,"click",l[30]),W(r,"click",l[25]),W(r,"click",l[33]),W(r,"mouseover",l[26]),W(r,"mouseenter",l[27]),W(r,"mouseleave",l[28]),W(r,"keydown",l[29]),W(r,"keydown",l[34]),W(r,"focusout",l[35])],a=!0)},p(_,k){(!n||k[0]&4096)&&e.p(_[12]),c?c.p&&(!n||k[0]&8388608)&&ge(c,f,_,_[23],n?pe(f,_[23],k,Ft):ve(_[23]),Fe):u&&u.p&&(!n||k[0]&1538)&&u.p(_,n?k:[-1,-1]),_[0]?m?(m.p(_,k),k[0]&1&&L(m,1)):(m=Ge(_),m.c(),L(m,1),m.m(r,null)):m&&(oe(),P(m,1,1,()=>{m=null}),ne()),$(r,g=fe(d,[{type:"button"},{"aria-haspopup":""},(!n||k[0]&1)&&{"aria-expanded":_[0]},(!n||k[0]&8192)&&{"aria-label":_[13]},(!n||k[0]&2048)&&{id:_[11]},k[0]&524288&&_[19]])),h(r,"bx--overflow-menu",!0),h(r,"bx--overflow-menu--open",_[0]),h(r,"bx--overflow-menu--light",_[6]),h(r,"bx--overflow-menu--sm",_[4]==="sm"),h(r,"bx--overflow-menu--xl",_[4]==="xl")},i(_){n||(L(u,_),L(m),n=!0)},o(_){P(u,_),P(m),n=!1},d(_){b(t),_&&e.d(),_&&b(i),_&&b(r),u&&u.d(_),m&&m.d(),l[32](null),a=!1,Re(s)}}}function jt(l,e,t){let i,r;const o=["size","direction","open","light","flipped","menuOptionsClass","icon","iconClass","iconDescription","id","buttonRef","menuRef"];let n=Z(e,o),a,s,f,{$$slots:c={},$$scope:u}=e,{size:m=void 0}=e,{direction:d="bottom"}=e,{open:g=!1}=e,{light:_=!1}=e,{flipped:k=!1}=e,{menuOptionsClass:E=void 0}=e,{icon:v=Pt}=e,{iconClass:O=void 0}=e,{iconDescription:M="Open and close list of options"}=e,{id:w="ccs-"+Math.random().toString(36)}=e,{buttonRef:C=null}=e,{menuRef:A=null}=e;const se=rt("BreadcrumbItem"),G=ot(),q=Ae([]);Ie(l,q,I=>t(22,s=I));const _e=Ae(void 0);Ie(l,_e,I=>t(37,f=I));const Q=Ae(void 0),me=Ae(-1);Ie(l,me,I=>t(21,a=I));let z,F=!0;vt("OverflowMenu",{focusedId:Q,add:({id:I,text:H,primaryFocus:Te,disabled:_t})=>{q.update(Pe=>(Te&&me.set(Pe.length),[...Pe,{id:I,text:H,primaryFocus:Te,disabled:_t,index:Pe.length}]))},update:I=>{_e.set(I)},change:I=>{let H=a+I;H<0?H=s.length-1:H>=s.length&&(H=0);let Te=s[H].disabled;for(;Te;)H=H+I,H<0?H=s.length-1:H>=s.length&&(H=0),Te=s[H].disabled;me.set(H)}}),nt(()=>{if(f){const{index:I,text:H}=s.filter(Te=>Te.id===f)[0];G("close",{index:I,text:H}),t(0,g=!1)}if(g){const{width:I,height:H}=C.getBoundingClientRect();t(20,z=I),!F&&a<0&&A.focus(),k&&(t(3,A.style.left="auto",A),t(3,A.style.right=0,A)),d==="top"?(t(3,A.style.top="auto",A),t(3,A.style.bottom=H+"px",A)):d==="bottom"&&t(3,A.style.top=H+"px",A),se&&(t(3,A.style.top=H+10+"px",A),t(3,A.style.left="-11px",A))}g||(q.set([]),_e.set(void 0),me.set(0)),F=!1});function re(I){ke.call(this,l,I)}function y(I){ke.call(this,l,I)}function Me(I){ke.call(this,l,I)}function ze(I){ke.call(this,l,I)}function Le(I){ke.call(this,l,I)}const Ce=({target:I})=>{C&&C.contains(I)||A&&!A.contains(I)&&t(0,g=!1)};function we(I){ye[I?"unshift":"push"](()=>{A=I,t(3,A)})}function Ve(I){ye[I?"unshift":"push"](()=>{C=I,t(2,C)})}const ct=({target:I})=>{A&&A.contains(I)||(t(0,g=!g),g||G("close"))},dt=I=>{g&&(["ArrowDown","ArrowLeft","ArrowRight","ArrowUp"].includes(I.key)?I.preventDefault():I.key==="Escape"&&(I.stopPropagation(),G("close"),t(0,g=!1),C.focus()))},ht=I=>{g&&(C.contains(I.relatedTarget)||(G("close"),t(0,g=!1)))};return l.$$set=I=>{t(39,e=N(N({},e),ae(I))),t(19,n=Z(e,o)),"size"in I&&t(4,m=I.size),"direction"in I&&t(5,d=I.direction),"open"in I&&t(0,g=I.open),"light"in I&&t(6,_=I.light),"flipped"in I&&t(7,k=I.flipped),"menuOptionsClass"in I&&t(8,E=I.menuOptionsClass),"icon"in I&&t(1,v=I.icon),"iconClass"in I&&t(9,O=I.iconClass),"iconDescription"in I&&t(10,M=I.iconDescription),"id"in I&&t(11,w=I.id),"buttonRef"in I&&t(2,C=I.buttonRef),"menuRef"in I&&t(3,A=I.menuRef),"$$scope"in I&&t(23,u=I.$$scope)},l.$$.update=()=>{t(13,i=e["aria-label"]||"menu"),l.$$.dirty[0]&6291456&&s[a]&&Q.set(s[a].id),l.$$.dirty[0]&1050624&&t(12,r=`<style>
2
  #${w} .bx--overflow-menu-options.bx--overflow-menu-options:after {
3
  width: ${z?z+"px":"2rem"};
4
  }
5
+ </style>`)},se&&t(1,v=Ut),e=ae(e),[g,v,C,A,m,d,_,k,E,O,M,w,r,i,se,G,q,_e,me,n,z,a,s,u,c,re,y,Me,ze,Le,Ce,we,Ve,ct,dt,ht]}class Yt extends ue{constructor(e){super(),ce(this,e,jt,Ht,de,{size:4,direction:5,open:0,light:6,flipped:7,menuOptionsClass:8,icon:1,iconClass:9,iconDescription:10,id:11,buttonRef:2,menuRef:3},null,[-1,-1])}}const Wt=Yt;function Xt(l){let e,t,i,r;const o=l[16].default,n=be(o,l,l[15],null),a=n||Jt(l);let s=[l[7]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("button"),a&&a.c(),this.h()},l(c){e=R(c,"BUTTON",{});var u=D(e);a&&a.l(u),u.forEach(b),this.h()},h(){$(e,f)},m(c,u){V(c,e,u),a&&a.m(e,null),e.autofocus&&e.focus(),l[24](e),t=!0,i||(r=[W(e,"click",l[19]),W(e,"click",l[25]),W(e,"keydown",l[20]),W(e,"keydown",l[26])],i=!0)},p(c,u){n?n.p&&(!t||u&32768)&&ge(n,o,c,c[15],t?pe(o,c[15],u,null):ve(c[15]),null):a&&a.p&&(!t||u&2)&&a.p(c,t?u:-1),$(e,f=fe(s,[u&128&&c[7]]))},i(c){t||(L(a,c),t=!0)},o(c){P(a,c),t=!1},d(c){c&&b(e),a&&a.d(c),l[24](null),i=!1,Re(r)}}}function Qt(l){let e,t,i,r;const o=l[16].default,n=be(o,l,l[15],null),a=n||Kt(l);let s=[l[7]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("a"),a&&a.c(),this.h()},l(c){e=R(c,"A",{});var u=D(e);a&&a.l(u),u.forEach(b),this.h()},h(){$(e,f)},m(c,u){V(c,e,u),a&&a.m(e,null),l[21](e),t=!0,i||(r=[W(e,"click",l[17]),W(e,"click",l[22]),W(e,"keydown",l[18]),W(e,"keydown",l[23])],i=!0)},p(c,u){n?n.p&&(!t||u&32768)&&ge(n,o,c,c[15],t?pe(o,c[15],u,null):ve(c[15]),null):a&&a.p&&(!t||u&2)&&a.p(c,t?u:-1),$(e,f=fe(s,[u&128&&c[7]]))},i(c){t||(L(a,c),t=!0)},o(c){P(a,c),t=!1},d(c){c&&b(e),a&&a.d(c),l[21](null),i=!1,Re(r)}}}function Jt(l){let e,t;return{c(){e=B("div"),t=S(l[1]),this.h()},l(i){e=R(i,"DIV",{});var r=D(e);t=U(r,l[1]),r.forEach(b),this.h()},h(){h(e,"bx--overflow-menu-options__option-content",!0)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Kt(l){let e,t;return{c(){e=B("div"),t=S(l[1]),this.h()},l(i){e=R(i,"DIV",{});var r=D(e);t=U(r,l[1]),r.forEach(b),this.h()},h(){h(e,"bx--overflow-menu-options__option-content",!0)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function Zt(l){let e,t,i,r;const o=[Qt,Xt],n=[];function a(c,u){return c[2]?0:1}t=a(l),i=n[t]=o[t](l);let s=[{role:"none"},{id:l[6]},l[11]],f={};for(let c=0;c<s.length;c+=1)f=N(f,s[c]);return{c(){e=B("li"),i.c(),this.h()},l(c){e=R(c,"LI",{role:!0,id:!0});var u=D(e);i.l(u),u.forEach(b),this.h()},h(){$(e,f),h(e,"bx--overflow-menu-options__option",!0),h(e,"bx--overflow-menu--divider",l[4]),h(e,"bx--overflow-menu-options__option--danger",l[5]),h(e,"bx--overflow-menu-options__option--disabled",l[3])},m(c,u){V(c,e,u),n[t].m(e,null),r=!0},p(c,[u]){let m=t;t=a(c),t===m?n[t].p(c,u):(oe(),P(n[m],1,1,()=>{n[m]=null}),ne(),i=n[t],i?i.p(c,u):(i=n[t]=o[t](c),i.c()),L(i,1),i.m(e,null)),$(e,f=fe(s,[{role:"none"},(!r||u&64)&&{id:c[6]},u&2048&&c[11]])),h(e,"bx--overflow-menu-options__option",!0),h(e,"bx--overflow-menu--divider",c[4]),h(e,"bx--overflow-menu-options__option--danger",c[5]),h(e,"bx--overflow-menu-options__option--disabled",c[3])},i(c){r||(L(i),r=!0)},o(c){P(i),r=!1},d(c){c&&b(e),n[t].d()}}}function xt(l,e,t){let i;const r=["text","href","primaryFocus","disabled","hasDivider","danger","requireTitle","id","ref"];let o=Z(e,r),n,{$$slots:a={},$$scope:s}=e;const f=pt(a);let{text:c="Provide text"}=e,{href:u=""}=e,{primaryFocus:m=!1}=e,{disabled:d=!1}=e,{hasDivider:g=!1}=e,{danger:_=!1}=e,{requireTitle:k=!0}=e,{id:E="ccs-"+Math.random().toString(36)}=e,{ref:v=null}=e;const{focusedId:O,add:M,update:w,change:C}=rt("OverflowMenu");Ie(l,O,y=>t(14,n=y)),M({id:E,text:c,primaryFocus:m,disabled:d}),nt(()=>{v&&m&&v.focus()});function A(y){ke.call(this,l,y)}function se(y){ke.call(this,l,y)}function G(y){ke.call(this,l,y)}function q(y){ke.call(this,l,y)}function _e(y){ye[y?"unshift":"push"](()=>{v=y,t(0,v)})}const Q=()=>{w(E)},me=({key:y})=>{y==="ArrowDown"?C(1):y==="ArrowUp"&&C(-1)};function z(y){ye[y?"unshift":"push"](()=>{v=y,t(0,v)})}const F=()=>{w(E)},re=({key:y})=>{y==="ArrowDown"?C(1):y==="ArrowUp"&&C(-1)};return l.$$set=y=>{e=N(N({},e),ae(y)),t(11,o=Z(e,r)),"text"in y&&t(1,c=y.text),"href"in y&&t(2,u=y.href),"primaryFocus"in y&&t(12,m=y.primaryFocus),"disabled"in y&&t(3,d=y.disabled),"hasDivider"in y&&t(4,g=y.hasDivider),"danger"in y&&t(5,_=y.danger),"requireTitle"in y&&t(13,k=y.requireTitle),"id"in y&&t(6,E=y.id),"ref"in y&&t(0,v=y.ref),"$$scope"in y&&t(15,s=y.$$scope)},l.$$.update=()=>{l.$$.dirty&16448&&t(12,m=n===E),l.$$.dirty&8206&&t(7,i={role:"menuitem",tabindex:"-1",class:"bx--overflow-menu-options__btn",disabled:u?void 0:d,href:u||void 0,title:k?f.default?void 0:c:void 0})},[v,c,u,d,g,_,E,i,O,w,C,o,m,k,n,s,a,A,se,G,q,_e,Q,me,z,F,re]}class $t extends ue{constructor(e){super(),ce(this,e,xt,Zt,de,{text:1,href:2,primaryFocus:12,disabled:3,hasDivider:4,danger:5,requireTitle:13,id:6,ref:0})}}const el=$t;function tl(l){let e,t,i,r,o,n,a,s,f,c=l[0]&&He(l),u=[{"aria-atomic":"true"},{"aria-labelledby":l[4]},{"aria-live":f=l[1]?"assertive":"off"},l[6]],m={};for(let d=0;d<u.length;d+=1)m=N(m,u[d]);return{c(){e=B("div"),t=B("label"),i=S(l[3]),r=J(),o=j("svg"),n=j("title"),a=S(l[3]),c&&c.c(),s=j("circle"),this.h()},l(d){e=R(d,"DIV",{"aria-atomic":!0,"aria-labelledby":!0,"aria-live":!0});var g=D(e);t=R(g,"LABEL",{id:!0});var _=D(t);i=U(_,l[3]),_.forEach(b),r=K(g),o=Y(g,"svg",{viewBox:!0});var k=D(o);n=Y(k,"title",{});var E=D(n);a=U(E,l[3]),E.forEach(b),c&&c.l(k),s=Y(k,"circle",{cx:!0,cy:!0,r:!0}),D(s).forEach(b),k.forEach(b),g.forEach(b),this.h()},h(){p(t,"id",l[4]),h(t,"bx--visually-hidden",!0),p(s,"cx","50%"),p(s,"cy","50%"),p(s,"r",l[5]),h(s,"bx--loading__stroke",!0),p(o,"viewBox","0 0 100 100"),h(o,"bx--loading__svg",!0),$(e,m),h(e,"bx--loading",!0),h(e,"bx--loading--small",l[0]),h(e,"bx--loading--stop",!l[1])},m(d,g){V(d,e,g),T(e,t),T(t,i),T(e,r),T(e,o),T(o,n),T(n,a),c&&c.m(o,null),T(o,s)},p(d,g){g&8&&X(i,d[3]),g&16&&p(t,"id",d[4]),g&8&&X(a,d[3]),d[0]?c?c.p(d,g):(c=He(d),c.c(),c.m(o,s)):c&&(c.d(1),c=null),g&32&&p(s,"r",d[5]),$(e,m=fe(u,[{"aria-atomic":"true"},g&16&&{"aria-labelledby":d[4]},g&2&&f!==(f=d[1]?"assertive":"off")&&{"aria-live":f},g&64&&d[6]])),h(e,"bx--loading",!0),h(e,"bx--loading--small",d[0]),h(e,"bx--loading--stop",!d[1])},d(d){d&&b(e),c&&c.d()}}}function ll(l){let e,t,i,r,o,n,a,s,f,c,u=l[0]&&je(l),m=[l[6]],d={};for(let g=0;g<m.length;g+=1)d=N(d,m[g]);return{c(){e=B("div"),t=B("div"),i=B("label"),r=S(l[3]),o=J(),n=j("svg"),a=j("title"),s=S(l[3]),u&&u.c(),f=j("circle"),this.h()},l(g){e=R(g,"DIV",{});var _=D(e);t=R(_,"DIV",{"aria-atomic":!0,"aria-labelledby":!0,"aria-live":!0});var k=D(t);i=R(k,"LABEL",{id:!0});var E=D(i);r=U(E,l[3]),E.forEach(b),o=K(k),n=Y(k,"svg",{viewBox:!0});var v=D(n);a=Y(v,"title",{});var O=D(a);s=U(O,l[3]),O.forEach(b),u&&u.l(v),f=Y(v,"circle",{cx:!0,cy:!0,r:!0}),D(f).forEach(b),v.forEach(b),k.forEach(b),_.forEach(b),this.h()},h(){p(i,"id",l[4]),h(i,"bx--visually-hidden",!0),p(f,"cx","50%"),p(f,"cy","50%"),p(f,"r",l[5]),h(f,"bx--loading__stroke",!0),p(n,"viewBox","0 0 100 100"),h(n,"bx--loading__svg",!0),p(t,"aria-atomic","true"),p(t,"aria-labelledby",l[4]),p(t,"aria-live",c=l[1]?"assertive":"off"),h(t,"bx--loading",!0),h(t,"bx--loading--small",l[0]),h(t,"bx--loading--stop",!l[1]),$(e,d),h(e,"bx--loading-overlay",!0),h(e,"bx--loading-overlay--stop",!l[1])},m(g,_){V(g,e,_),T(e,t),T(t,i),T(i,r),T(t,o),T(t,n),T(n,a),T(a,s),u&&u.m(n,null),T(n,f)},p(g,_){_&8&&X(r,g[3]),_&16&&p(i,"id",g[4]),_&8&&X(s,g[3]),g[0]?u?u.p(g,_):(u=je(g),u.c(),u.m(n,f)):u&&(u.d(1),u=null),_&32&&p(f,"r",g[5]),_&16&&p(t,"aria-labelledby",g[4]),_&2&&c!==(c=g[1]?"assertive":"off")&&p(t,"aria-live",c),_&1&&h(t,"bx--loading--small",g[0]),_&2&&h(t,"bx--loading--stop",!g[1]),$(e,d=fe(m,[_&64&&g[6]])),h(e,"bx--loading-overlay",!0),h(e,"bx--loading-overlay--stop",!g[1])},d(g){g&&b(e),u&&u.d()}}}function He(l){let e;return{c(){e=j("circle"),this.h()},l(t){e=Y(t,"circle",{cx:!0,cy:!0,r:!0}),D(e).forEach(b),this.h()},h(){p(e,"cx","50%"),p(e,"cy","50%"),p(e,"r",l[5]),h(e,"bx--loading__background",!0)},m(t,i){V(t,e,i)},p(t,i){i&32&&p(e,"r",t[5])},d(t){t&&b(e)}}}function je(l){let e;return{c(){e=j("circle"),this.h()},l(t){e=Y(t,"circle",{cx:!0,cy:!0,r:!0}),D(e).forEach(b),this.h()},h(){p(e,"cx","50%"),p(e,"cy","50%"),p(e,"r",l[5]),h(e,"bx--loading__background",!0)},m(t,i){V(t,e,i)},p(t,i){i&32&&p(e,"r",t[5])},d(t){t&&b(e)}}}function il(l){let e;function t(o,n){return o[2]?ll:tl}let i=t(l),r=i(l);return{c(){r.c(),e=x()},l(o){r.l(o),e=x()},m(o,n){r.m(o,n),V(o,e,n)},p(o,[n]){i===(i=t(o))&&r?r.p(o,n):(r.d(1),r=i(o),r&&(r.c(),r.m(e.parentNode,e)))},i:ee,o:ee,d(o){r.d(o),o&&b(e)}}}function rl(l,e,t){let i;const r=["small","active","withOverlay","description","id"];let o=Z(e,r),{small:n=!1}=e,{active:a=!0}=e,{withOverlay:s=!0}=e,{description:f="Active loading indicator"}=e,{id:c="ccs-"+Math.random().toString(36)}=e;return l.$$set=u=>{e=N(N({},e),ae(u)),t(6,o=Z(e,r)),"small"in u&&t(0,n=u.small),"active"in u&&t(1,a=u.active),"withOverlay"in u&&t(2,s=u.withOverlay),"description"in u&&t(3,f=u.description),"id"in u&&t(4,c=u.id)},l.$$.update=()=>{l.$$.dirty&1&&t(5,i=n?"42":"44")},[n,a,s,f,c,i,o]}class ol extends ue{constructor(e){super(),ce(this,e,rl,il,de,{small:0,active:1,withOverlay:2,description:3,id:4})}}const nl=ol;function sl(l){let e,t,i,r,o,n;const a=l[11].default,s=be(a,l,l[10],null);let f=[l[9],{style:i=l[9].style+"; "+(l[6]&&"position: relative")}],c={};for(let u=0;u<f.length;u+=1)c=N(c,f[u]);return{c(){e=B("div"),t=B("div"),s&&s.c(),this.h()},l(u){e=R(u,"DIV",{style:!0});var m=D(e);t=R(m,"DIV",{});var d=D(t);s&&s.l(d),d.forEach(b),m.forEach(b),this.h()},h(){h(t,"bx--popover-contents",!0),$(e,c),h(e,"bx--popover",!0),h(e,"bx--popover--caret",l[2]),h(e,"bx--popover--light",l[4]),h(e,"bx--popover--high-contrast",l[5]),h(e,"bx--popover--top",l[3]==="top"),h(e,"bx--popover--top-left",l[3]==="top-left"),h(e,"bx--popover--top-right",l[3]==="top-right"),h(e,"bx--popover--bottom",l[3]==="bottom"),h(e,"bx--popover--bottom-left",l[3]==="bottom-left"),h(e,"bx--popover--bottom-right",l[3]==="bottom-right"),h(e,"bx--popover--left",l[3]==="left"),h(e,"bx--popover--left-bottom",l[3]==="left-bottom"),h(e,"bx--popover--left-top",l[3]==="left-top"),h(e,"bx--popover--right",l[3]==="right"),h(e,"bx--popover--right-bottom",l[3]==="right-bottom"),h(e,"bx--popover--right-top",l[3]==="right-top"),h(e,"bx--popover--open",l[0]),h(e,"bx--popover--relative",l[6])},m(u,m){V(u,e,m),T(e,t),s&&s.m(t,null),l[13](e),r=!0,o||(n=W(window,"click",l[12]),o=!0)},p(u,[m]){s&&s.p&&(!r||m&1024)&&ge(s,a,u,u[10],r?pe(a,u[10],m,null):ve(u[10]),null),$(e,c=fe(f,[m&512&&u[9],(!r||m&576&&i!==(i=u[9].style+"; "+(u[6]&&"position: relative")))&&{style:i}])),h(e,"bx--popover",!0),h(e,"bx--popover--caret",u[2]),h(e,"bx--popover--light",u[4]),h(e,"bx--popover--high-contrast",u[5]),h(e,"bx--popover--top",u[3]==="top"),h(e,"bx--popover--top-left",u[3]==="top-left"),h(e,"bx--popover--top-right",u[3]==="top-right"),h(e,"bx--popover--bottom",u[3]==="bottom"),h(e,"bx--popover--bottom-left",u[3]==="bottom-left"),h(e,"bx--popover--bottom-right",u[3]==="bottom-right"),h(e,"bx--popover--left",u[3]==="left"),h(e,"bx--popover--left-bottom",u[3]==="left-bottom"),h(e,"bx--popover--left-top",u[3]==="left-top"),h(e,"bx--popover--right",u[3]==="right"),h(e,"bx--popover--right-bottom",u[3]==="right-bottom"),h(e,"bx--popover--right-top",u[3]==="right-top"),h(e,"bx--popover--open",u[0]),h(e,"bx--popover--relative",u[6])},i(u){r||(L(s,u),r=!0)},o(u){P(s,u),r=!1},d(u){u&&b(e),s&&s.d(u),l[13](null),o=!1,n()}}}function al(l,e,t){const i=["open","closeOnOutsideClick","caret","align","light","highContrast","relative"];let r=Z(e,i),{$$slots:o={},$$scope:n}=e,{open:a=!1}=e,{closeOnOutsideClick:s=!1}=e,{caret:f=!1}=e,{align:c="top"}=e,{light:u=!1}=e,{highContrast:m=!1}=e,{relative:d=!1}=e;const g=ot();let _=null;const k=v=>{a&&(_.contains(v.target)||(g("click:outside",{target:v.target}),s&&t(0,a=!1)))};function E(v){ye[v?"unshift":"push"](()=>{_=v,t(7,_)})}return l.$$set=v=>{e=N(N({},e),ae(v)),t(9,r=Z(e,i)),"open"in v&&t(0,a=v.open),"closeOnOutsideClick"in v&&t(1,s=v.closeOnOutsideClick),"caret"in v&&t(2,f=v.caret),"align"in v&&t(3,c=v.align),"light"in v&&t(4,u=v.light),"highContrast"in v&&t(5,m=v.highContrast),"relative"in v&&t(6,d=v.relative),"$$scope"in v&&t(10,n=v.$$scope)},[a,s,f,c,u,m,d,_,g,r,n,o,k,E]}class fl extends ue{constructor(e){super(),ce(this,e,al,sl,de,{open:0,closeOnOutsideClick:1,caret:2,align:3,light:4,highContrast:5,relative:6})}}const ul=fl,cl=l=>({}),Ye=l=>({});function dl(l){let e;return{c(){e=S(l[4])},l(t){e=U(t,l[4])},m(t,i){V(t,e,i)},p(t,i){i&16&&X(e,t[4])},d(t){t&&b(e)}}}function We(l){let e,t,i;var r=l[10][l[2]];function o(n){return{props:{class:"bx--progress-bar__status-icon"}}}return r&&(e=Oe(r,o())),{c(){e&&te(e.$$.fragment),t=x()},l(n){e&&he(e.$$.fragment,n),t=x()},m(n,a){e&&le(e,n,a),V(n,t,a),i=!0},p(n,a){if(a&4&&r!==(r=n[10][n[2]])){if(e){oe();const s=e;P(s.$$.fragment,1,0,()=>{ie(s,1)}),ne()}r?(e=Oe(r,o()),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}},i(n){i||(e&&L(e.$$.fragment,n),i=!0)},o(n){e&&P(e.$$.fragment,n),i=!1},d(n){n&&b(t),e&&ie(e,n)}}}function Xe(l){let e,t;return{c(){e=B("div"),t=S(l[6]),this.h()},l(i){e=R(i,"DIV",{id:!0});var r=D(e);t=U(r,l[6]),r.forEach(b),this.h()},h(){p(e,"id",l[11]),h(e,"bx--progress-bar__helper-text",!0)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&64&&X(t,i[6])},d(i){i&&b(e)}}}function hl(l){let e,t,i,r,o,n,a,s,f,c,u,m,d;const g=l[15].labelText,_=be(g,l,l[14],Ye),k=_||dl(l);let E=(l[2]==="error"||l[2]==="finished")&&We(l),v=l[6]&&Xe(l),O=[l[12]],M={};for(let w=0;w<O.length;w+=1)M=N(M,O[w]);return{c(){e=B("div"),t=B("label"),k&&k.c(),i=J(),E&&E.c(),r=J(),o=B("div"),n=B("div"),m=J(),v&&v.c(),this.h()},l(w){e=R(w,"DIV",{});var C=D(e);t=R(C,"LABEL",{for:!0});var A=D(t);k&&k.l(A),i=K(A),E&&E.l(A),A.forEach(b),r=K(C),o=R(C,"DIV",{role:!0,id:!0,"aria-busy":!0,"aria-valuemin":!0,"aria-valuemax":!0,"aria-valuenow":!0,"aria-describedby":!0});var se=D(o);n=R(se,"DIV",{}),D(n).forEach(b),se.forEach(b),m=K(C),v&&v.l(C),C.forEach(b),this.h()},h(){p(t,"for",l[7]),h(t,"bx--progress-bar__label",!0),h(t,"bx--visually-hidden",l[5]),h(n,"bx--progress-bar__bar",!0),Ee(n,"transform",l[2]==="active"&&`scaleX(${l[8]/l[0]})`),p(o,"role","progressbar"),p(o,"id",l[7]),p(o,"aria-busy",a=l[2]==="active"),p(o,"aria-valuemin",s=l[9]?void 0:0),p(o,"aria-valuemax",f=l[9]?void 0:l[0]),p(o,"aria-valuenow",c=l[9]?void 0:l[8]),p(o,"aria-describedby",u=l[6]?l[11]:null),h(o,"bx--progress-bar__track",!0),$(e,M),h(e,"bx--progress-bar",!0),h(e,"bx--progress-bar--indeterminate",l[9]),h(e,"bx--progress-bar--big",l[3]==="md"),h(e,"bx--progress-bar--small",l[3]==="sm"),h(e,"bx--progress-bar--inline",l[1]==="inline"),h(e,"bx--progress-bar--indented",l[1]==="indented"),h(e,"bx--progress-bar--error",l[2]==="error"),h(e,"bx--progress-bar--finished",l[2]==="finished")},m(w,C){V(w,e,C),T(e,t),k&&k.m(t,null),T(t,i),E&&E.m(t,null),T(e,r),T(e,o),T(o,n),T(e,m),v&&v.m(e,null),d=!0},p(w,[C]){_?_.p&&(!d||C&16384)&&ge(_,g,w,w[14],d?pe(g,w[14],C,cl):ve(w[14]),Ye):k&&k.p&&(!d||C&16)&&k.p(w,d?C:-1),w[2]==="error"||w[2]==="finished"?E?(E.p(w,C),C&4&&L(E,1)):(E=We(w),E.c(),L(E,1),E.m(t,null)):E&&(oe(),P(E,1,1,()=>{E=null}),ne()),(!d||C&128)&&p(t,"for",w[7]),(!d||C&32)&&h(t,"bx--visually-hidden",w[5]),C&261&&Ee(n,"transform",w[2]==="active"&&`scaleX(${w[8]/w[0]})`),(!d||C&128)&&p(o,"id",w[7]),(!d||C&4&&a!==(a=w[2]==="active"))&&p(o,"aria-busy",a),(!d||C&512&&s!==(s=w[9]?void 0:0))&&p(o,"aria-valuemin",s),(!d||C&513&&f!==(f=w[9]?void 0:w[0]))&&p(o,"aria-valuemax",f),(!d||C&768&&c!==(c=w[9]?void 0:w[8]))&&p(o,"aria-valuenow",c),(!d||C&64&&u!==(u=w[6]?w[11]:null))&&p(o,"aria-describedby",u),w[6]?v?v.p(w,C):(v=Xe(w),v.c(),v.m(e,null)):v&&(v.d(1),v=null),$(e,M=fe(O,[C&4096&&w[12]])),h(e,"bx--progress-bar",!0),h(e,"bx--progress-bar--indeterminate",w[9]),h(e,"bx--progress-bar--big",w[3]==="md"),h(e,"bx--progress-bar--small",w[3]==="sm"),h(e,"bx--progress-bar--inline",w[1]==="inline"),h(e,"bx--progress-bar--indented",w[1]==="indented"),h(e,"bx--progress-bar--error",w[2]==="error"),h(e,"bx--progress-bar--finished",w[2]==="finished")},i(w){d||(L(k,w),L(E),d=!0)},o(w){P(k,w),P(E),d=!1},d(w){w&&b(e),k&&k.d(w),E&&E.d(),v&&v.d()}}}function _l(l,e,t){let i;const r=["value","max","kind","status","size","labelText","hideLabel","helperText","id"];let o=Z(e,r),{$$slots:n={},$$scope:a}=e,{value:s=void 0}=e,{max:f=100}=e,{kind:c="default"}=e,{status:u="active"}=e,{size:m="md"}=e,{labelText:d=""}=e,{hideLabel:g=!1}=e,{helperText:_=""}=e,{id:k="ccs-"+Math.random().toString(36)}=e;const E={error:Ot,finished:Mt};let v="ccs-"+Math.random().toString(36),O;return l.$$set=M=>{e=N(N({},e),ae(M)),t(12,o=Z(e,r)),"value"in M&&t(13,s=M.value),"max"in M&&t(0,f=M.max),"kind"in M&&t(1,c=M.kind),"status"in M&&t(2,u=M.status),"size"in M&&t(3,m=M.size),"labelText"in M&&t(4,d=M.labelText),"hideLabel"in M&&t(5,g=M.hideLabel),"helperText"in M&&t(6,_=M.helperText),"id"in M&&t(7,k=M.id),"$$scope"in M&&t(14,a=M.$$scope)},l.$$.update=()=>{l.$$.dirty&8196&&t(9,i=s===void 0&&u==="active"),l.$$.dirty&8197&&(u==="error"||s<0?t(8,O=0):s>f?t(8,O=f):t(8,O=s))},[f,c,u,m,d,g,_,k,O,i,E,v,o,s,a,n]}class ml extends ue{constructor(e){super(),ce(this,e,_l,hl,de,{value:13,max:0,kind:1,status:2,size:3,labelText:4,hideLabel:5,helperText:6,id:7})}}const bl=ml;class gl{static login(e){return Ne(qe,{method:"GET",url:"/google/login",query:{origin_url:e},errors:{422:"Validation Error"}})}static auth(){return Ne(qe,{method:"GET",url:"/google/auth"})}static logout(){return Ne(qe,{method:"GET",url:"/google/logout"})}}function Qe(l){let e,t;return{c(){e=j("title"),t=S(l[1])},l(i){e=Y(i,"title",{});var r=D(e);t=U(r,l[1]),r.forEach(b)},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&2&&X(t,i[1])},d(i){i&&b(e)}}}function vl(l){let e,t,i=l[1]&&Qe(l),r=[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},{width:l[0]},{height:l[0]},l[2],l[3]],o={};for(let n=0;n<r.length;n+=1)o=N(o,r[n]);return{c(){e=j("svg"),i&&i.c(),t=j("path"),this.h()},l(n){e=Y(n,"svg",{xmlns:!0,viewBox:!0,fill:!0,preserveAspectRatio:!0,width:!0,height:!0});var a=D(e);i&&i.l(a),t=Y(a,"path",{d:!0}),D(t).forEach(b),a.forEach(b),this.h()},h(){p(t,"d","M13 24L4 15 5.414 13.586 13 21.171 26.586 7.586 28 9 13 24z"),De(e,o)},m(n,a){V(n,e,a),i&&i.m(e,null),T(e,t)},p(n,[a]){n[1]?i?i.p(n,a):(i=Qe(n),i.c(),i.m(e,t)):i&&(i.d(1),i=null),De(e,o=fe(r,[{xmlns:"http://www.w3.org/2000/svg"},{viewBox:"0 0 32 32"},{fill:"currentColor"},{preserveAspectRatio:"xMidYMid meet"},a&1&&{width:n[0]},a&1&&{height:n[0]},a&4&&n[2],a&8&&n[3]]))},i:ee,o:ee,d(n){n&&b(e),i&&i.d()}}}function pl(l,e,t){let i,r;const o=["size","title"];let n=Z(e,o),{size:a=16}=e,{title:s=void 0}=e;return l.$$set=f=>{t(5,e=N(N({},e),ae(f))),t(3,n=Z(e,o)),"size"in f&&t(0,a=f.size),"title"in f&&t(1,s=f.title)},l.$$.update=()=>{t(4,i=e["aria-label"]||e["aria-labelledby"]||s),t(2,r={"aria-hidden":i?void 0:!0,role:i?"img":void 0,focusable:Number(e.tabindex)===0?!0:void 0})},e=ae(e),[a,s,r,n,i]}class kl extends ue{constructor(e){super(),ce(this,e,pl,vl,de,{size:0,title:1})}}const wl=yt(gl.logout,{onSuccess:()=>zt.invalidateQueries([Lt])});function Je(l){let e,t,i,r,o,n=`${l[2]}px`,a=`${Math.max(l[5]/2+Be,Math.min(l[1],l[6]-l[5]/2-Be))}px`,s;const f=[Il,El],c=[];function u(m,d){return m[0]?0:m[3]?1:-1}return~(i=u(l))&&(r=c[i]=f[i](l)),{c(){e=B("div"),t=B("div"),r&&r.c(),this.h()},l(m){e=R(m,"DIV",{role:!0,class:!0});var d=D(e);t=R(d,"DIV",{class:!0});var g=D(t);r&&r.l(g),g.forEach(b),d.forEach(b),this.h()},h(){p(t,"class","min-w-xl text-container svelte-80e402"),p(e,"role","tooltip"),p(e,"class","hover-tooltip absolute mt-2 -translate-x-1/2 break-words border border-gray-300 bg-white p-2 shadow-md svelte-80e402"),kt(()=>l[7].call(e)),Ee(e,"top",n),Ee(e,"left",a)},m(m,d){V(m,e,d),T(e,t),~i&&c[i].m(t,null),o=wt(e,l[7].bind(e)),s=!0},p(m,d){let g=i;i=u(m),i===g?~i&&c[i].p(m,d):(r&&(oe(),P(c[g],1,1,()=>{c[g]=null}),ne()),~i?(r=c[i],r?r.p(m,d):(r=c[i]=f[i](m),r.c()),L(r,1),r.m(t,null)):r=null),d&4&&n!==(n=`${m[2]}px`)&&Ee(e,"top",n),d&34&&a!==(a=`${Math.max(m[5]/2+Be,Math.min(m[1],m[6]-m[5]/2-Be))}px`)&&Ee(e,"left",a)},i(m){s||(L(r),s=!0)},o(m){P(r),s=!1},d(m){m&&b(e),~i&&c[i].d(),o()}}}function El(l){let e,t,i;const r=[l[4]];var o=l[3];function n(a){let s={};for(let f=0;f<r.length;f+=1)s=N(s,r[f]);return{props:s}}return o&&(e=Oe(o,n())),{c(){e&&te(e.$$.fragment),t=x()},l(a){e&&he(e.$$.fragment,a),t=x()},m(a,s){e&&le(e,a,s),V(a,t,s),i=!0},p(a,s){const f=s&16?fe(r,[Et(a[4])]):{};if(s&8&&o!==(o=a[3])){if(e){oe();const c=e;P(c.$$.fragment,1,0,()=>{ie(c,1)}),ne()}o?(e=Oe(o,n()),te(e.$$.fragment),L(e.$$.fragment,1),le(e,t.parentNode,t)):e=null}else o&&e.$set(f)},i(a){i||(e&&L(e.$$.fragment,a),i=!0)},o(a){e&&P(e.$$.fragment,a),i=!1},d(a){a&&b(t),e&&ie(e,a)}}}function Il(l){let e,t;return{c(){e=B("span"),t=S(l[0]),this.h()},l(i){e=R(i,"SPAN",{class:!0});var r=D(e);t=U(r,l[0]),r.forEach(b),this.h()},h(){p(e,"class","whitespace-pre-wrap")},m(i,r){V(i,e,r),T(e,t)},p(i,r){r&1&&X(t,i[0])},i:ee,o:ee,d(i){i&&b(e)}}}function Tl(l){let e,t,i=l[0]!=""&&Je(l);return{c(){i&&i.c(),e=x()},l(r){i&&i.l(r),e=x()},m(r,o){i&&i.m(r,o),V(r,e,o),t=!0},p(r,[o]){r[0]!=""?i?(i.p(r,o),o&1&&L(i,1)):(i=Je(r),i.c(),L(i,1),i.m(e.parentNode,e)):i&&(oe(),P(i,1,1,()=>{i=null}),ne())},i(r){t||(L(i),t=!0)},o(r){P(i),t=!1},d(r){i&&i.d(r),r&&b(e)}}}const Be=10;function Dl(l,e,t){let{text:i}=e,{x:r}=e,{y:o}=e,{component:n}=e,{props:a}=e;const s=window.innerWidth;let f=0;function c(){f=this.clientWidth,t(5,f)}return l.$$set=u=>{"text"in u&&t(0,i=u.text),"x"in u&&t(1,r=u.x),"y"in u&&t(2,o=u.y),"component"in u&&t(3,n=u.component),"props"in u&&t(4,a=u.props)},[i,r,o,n,a,f,s,c]}class Ol extends ue{constructor(e){super(),ce(this,e,Dl,Tl,de,{text:0,x:1,y:2,component:3,props:4})}}function ut(l,{text:e,component:t,props:i}){if(t==null&&e==null)return;let r,o=e,n=t,a=i;function s(){if(r!=null)return;const c=l.getBoundingClientRect();r=new Ol({props:{text:o,component:n,props:a,x:c.left+c.width/2,y:c.bottom},target:document.body})}function f(){r==null||r.$destroy(),r=void 0}return l.addEventListener("mouseover",s),l.addEventListener("mouseleave",f),l.addEventListener("click",f),{update({text:c,component:u,props:m}){o=c,n=u,a=m,r==null||r.$set({tooltipText:c})},destroy(){f(),l.removeEventListener("mouseover",s),l.removeEventListener("mouseleave",f),l.removeEventListener("click",f)}}}function Ke(l,e,t){const i=l.slice();i[13]=e[t][0],i[14]=e[t][1];const r=i[14].step_progress==null?void 0:i[14].step_progress;return i[15]=r,i}function Ze(l){let e,t,i,r,o,n,a,s,f,c,u,m,d;const g=[zl,yl,Ml],_=[];function k(v,O){return v[5].length?0:v[4].length?1:2}r=k(l),o=_[r]=g[r](l);let E=l[5].length===1&&xe(l);return s=new ul({props:{align:"bottom-right",caret:!0,closeOnOutsideClick:!0,open:l[1],$$slots:{default:[Ll]},$$scope:{ctx:l}}}),s.$on("click:outside",l[11]),{c(){e=B("div"),t=B("button"),i=B("div"),o.c(),n=J(),E&&E.c(),a=J(),te(s.$$.fragment),this.h()},l(v){e=R(v,"DIV",{});var O=D(e);t=R(O,"BUTTON",{class:!0});var M=D(t);i=R(M,"DIV",{class:!0});var w=D(i);o.l(w),w.forEach(b),n=K(M),E&&E.l(M),a=K(M),he(s.$$.fragment,M),M.forEach(b),O.forEach(b),this.h()},h(){p(i,"class","relative z-10 flex gap-x-2"),t.disabled=f=!l[2],p(t,"class","task-button relative h-8 rounded border p-2 transition"),h(t,"opacity-40",!l[2]),h(t,"bg-white",!l[5].length),h(t,"bg-blue-200",l[5].length),h(t,"border-blue-400",l[5].length)},m(v,O){V(v,e,O),T(e,t),T(t,i),_[r].m(i,null),T(t,n),E&&E.m(t,null),T(t,a),le(s,t,null),u=!0,m||(d=[W(t,"click",It(l[12])),st(c=ut.call(null,e,{text:l[2]?"":"User does not have access to run tasks."}))],m=!0)},p(v,O){let M=r;r=k(v),r===M?_[r].p(v,O):(oe(),P(_[M],1,1,()=>{_[M]=null}),ne(),o=_[r],o?o.p(v,O):(o=_[r]=g[r](v),o.c()),L(o,1),o.m(i,null)),v[5].length===1?E?E.p(v,O):(E=xe(v),E.c(),E.m(t,a)):E&&(E.d(1),E=null);const w={};O&2&&(w.open=v[1]),O&262145&&(w.$$scope={dirty:O,ctx:v}),s.$set(w),(!u||O&4&&f!==(f=!v[2]))&&(t.disabled=f),(!u||O&4)&&h(t,"opacity-40",!v[2]),(!u||O&32)&&h(t,"bg-white",!v[5].length),(!u||O&32)&&h(t,"bg-blue-200",v[5].length),(!u||O&32)&&h(t,"border-blue-400",v[5].length),c&&at(c.update)&&O&4&&c.update.call(null,{text:v[2]?"":"User does not have access to run tasks."})},i(v){u||(L(o),L(s.$$.fragment,v),u=!0)},o(v){P(o),P(s.$$.fragment,v),u=!1},d(v){v&&b(e),_[r].d(),E&&E.d(),ie(s),m=!1,Re(d)}}}function Ml(l){let e,t,i;return t=new kl({}),{c(){e=S("Tasks "),te(t.$$.fragment)},l(r){e=U(r,"Tasks "),he(t.$$.fragment,r)},m(r,o){V(r,e,o),le(t,r,o),i=!0},p:ee,i(r){i||(L(t.$$.fragment,r),i=!0)},o(r){P(t.$$.fragment,r),i=!1},d(r){r&&b(e),ie(t,r)}}}function yl(l){let e=l[4].length+"",t,i,r=l[4].length>1?"s":"",o;return{c(){t=S(e),i=S(" failed task"),o=S(r)},l(n){t=U(n,e),i=U(n," failed task"),o=U(n,r)},m(n,a){V(n,t,a),V(n,i,a),V(n,o,a)},p(n,a){a&16&&e!==(e=n[4].length+"")&&X(t,e),a&16&&r!==(r=n[4].length>1?"s":"")&&X(o,r)},i:ee,o:ee,d(n){n&&b(t),n&&b(i),n&&b(o)}}}function zl(l){let e=l[5].length+"",t,i,r=l[5].length>1?"s":"",o,n,a,s;return a=new nl({props:{withOverlay:!1,small:!0}}),{c(){t=S(e),i=S(" running task"),o=S(r),n=S("... "),te(a.$$.fragment)},l(f){t=U(f,e),i=U(f," running task"),o=U(f,r),n=U(f,"... "),he(a.$$.fragment,f)},m(f,c){V(f,t,c),V(f,i,c),V(f,o,c),V(f,n,c),le(a,f,c),s=!0},p(f,c){(!s||c&32)&&e!==(e=f[5].length+"")&&X(t,e),(!s||c&32)&&r!==(r=f[5].length>1?"s":"")&&X(o,r)},i(f){s||(L(a.$$.fragment,f),s=!0)},o(f){P(a.$$.fragment,f),s=!1},d(f){f&&b(t),f&&b(i),f&&b(o),f&&b(n),ie(a,f)}}}function xe(l){let e,t=`${l[3]*100}%`;return{c(){e=B("div"),this.h()},l(i){e=R(i,"DIV",{class:!0}),D(e).forEach(b),this.h()},h(){p(e,"class","absolute left-0 top-0 z-0 h-full bg-blue-400 transition"),Ee(e,"width",t)},m(i,r){V(i,e,r)},p(i,r){r&8&&t!==(t=`${i[3]*100}%`)&&Ee(e,"width",t)},d(i){i&&b(e)}}}function $e(l,e){let t,i,r,o=e[14].name+"",n,a,s,f,c,u;return f=new bl({props:{labelText:e[14].message||"",helperText:e[14].status!="completed"?e[14].details:"",value:e[14].status==="completed"?1:e[15],max:1,size:"sm",status:e[7][e[14].status]}}),{key:l,first:null,c(){t=B("div"),i=B("div"),r=B("div"),n=S(o),a=J(),s=B("div"),te(f.$$.fragment),c=J(),this.h()},l(m){t=R(m,"DIV",{class:!0});var d=D(t);i=R(d,"DIV",{class:!0});var g=D(i);r=R(g,"DIV",{class:!0});var _=D(r);n=U(_,o),_.forEach(b),g.forEach(b),a=K(d),s=R(d,"DIV",{class:!0});var k=D(s);he(f.$$.fragment,k),k.forEach(b),c=K(d),d.forEach(b),this.h()},h(){p(r,"class","mr-2"),p(i,"class","text-s flex flex-row"),p(s,"class","progress-container mt-3"),p(t,"class","relative border-b-2 border-slate-200 p-4 text-left last:border-b-0"),this.first=t},m(m,d){V(m,t,d),T(t,i),T(i,r),T(r,n),T(t,a),T(t,s),le(f,s,null),T(t,c),u=!0},p(m,d){e=m,(!u||d&1)&&o!==(o=e[14].name+"")&&X(n,o);const g={};d&1&&(g.labelText=e[14].message||""),d&1&&(g.helperText=e[14].status!="completed"?e[14].details:""),d&1&&(g.value=e[14].status==="completed"?1:e[15]),d&1&&(g.status=e[7][e[14].status]),f.$set(g)},i(m){u||(L(f.$$.fragment,m),u=!0)},o(m){P(f.$$.fragment,m),u=!1},d(m){m&&b(t),ie(f)}}}function Ll(l){let e,t=[],i=new Map,r,o=l[0];const n=a=>a[13];for(let a=0;a<o.length;a+=1){let s=Ke(l,o,a),f=n(s);i.set(f,t[a]=$e(f,s))}return{c(){e=B("div");for(let a=0;a<t.length;a+=1)t[a].c();this.h()},l(a){e=R(a,"DIV",{class:!0});var s=D(e);for(let f=0;f<t.length;f+=1)t[f].l(s);s.forEach(b),this.h()},h(){p(e,"class","flex flex-col")},m(a,s){V(a,e,s);for(let f=0;f<t.length;f+=1)t[f]&&t[f].m(e,null);r=!0},p(a,s){s&129&&(o=a[0],oe(),t=Tt(t,s,n,1,a,o,i,e,Dt,$e,null,Ke),ne())},i(a){if(!r){for(let s=0;s<o.length;s+=1)L(t[s]);r=!0}},o(a){for(let s=0;s<t.length;s+=1)P(t[s]);r=!1},d(a){a&&b(e);for(let s=0;s<t.length;s+=1)t[s].d()}}}function Cl(l){let e,t,i=l[2]&&Ze(l);return{c(){i&&i.c(),e=x()},l(r){i&&i.l(r),e=x()},m(r,o){i&&i.m(r,o),V(r,e,o),t=!0},p(r,[o]){r[2]?i?(i.p(r,o),o&4&&L(i,1)):(i=Ze(r),i.c(),L(i,1),i.m(e.parentNode,e)):i&&(oe(),P(i,1,1,()=>{i=null}),ne())},i(r){t||(L(i),t=!0)},o(r){P(i),t=!1},d(r){i&&i.d(r),r&&b(e)}}}function Vl(l,e,t){let i,r,o,n,a,s,f;const c=Ct();Ie(l,c,k=>t(10,f=k));let u=!1;const m={pending:"active",completed:"finished",error:"error"},d=ft();Ie(l,d,k=>t(9,s=k));const g=()=>{u&&t(1,u=!1)},_=()=>t(1,u=!u);return l.$$.update=()=>{var k,E,v,O;l.$$.dirty&1024&&t(0,i=Object.entries(((k=f.data)==null?void 0:k.tasks)||{}).sort(([,M],[,w])=>Date.parse(w.start_timestamp)-Date.parse(M.start_timestamp))),l.$$.dirty&1&&t(5,r=i.filter(([,M])=>M.status==="pending")),l.$$.dirty&1&&t(4,o=i.filter(([,M])=>M.status==="error")),l.$$.dirty&1024&&t(3,n=((E=f.data)==null?void 0:E.progress)||0),l.$$.dirty&512&&t(2,a=((v=s.data)==null?void 0:v.access.dataset.compute_signals)||((O=s.data)==null?void 0:O.access.create_dataset))},[i,u,a,n,o,r,c,m,d,s,f,g,_]}class Al extends ue{constructor(e){super(),ce(this,e,Vl,Cl,de,{})}}const Bl=l=>({}),et=l=>({}),Rl=l=>({}),tt=l=>({}),Pl=l=>({}),lt=l=>({});function it(l){let e,t,i,r;const o=[ql,Nl],n=[];function a(s,f){var c;return((c=s[1].data)==null?void 0:c.user)!=null?0:1}return e=a(l),t=n[e]=o[e](l),{c(){t.c(),i=x()},l(s){t.l(s),i=x()},m(s,f){n[e].m(s,f),V(s,i,f),r=!0},p(s,f){let c=e;e=a(s),e===c?n[e].p(s,f):(oe(),P(n[c],1,1,()=>{n[c]=null}),ne(),t=n[e],t?t.p(s,f):(t=n[e]=o[e](s),t.c()),L(t,1),t.m(i.parentNode,i))},i(s){r||(L(t),r=!0)},o(s){P(t),r=!1},d(s){n[e].d(s),s&&b(i)}}}function Nl(l){let e,t;return e=new Vt({props:{size:"small",href:l[3],target:l[6],$$slots:{default:[Sl]},$$scope:{ctx:l}}}),{c(){te(e.$$.fragment)},l(i){he(e.$$.fragment,i)},m(i,r){le(e,i,r),t=!0},p(i,r){const o={};r&256&&(o.$$scope={dirty:r,ctx:i}),e.$set(o)},i(i){t||(L(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){ie(e,i)}}}function ql(l){var m;let e,t,i=((m=l[1].data)==null?void 0:m.user.given_name)+"",r,o,n,a,s,f,c,u;return s=new Wt({props:{flipped:!0,$$slots:{default:[Ul]},$$scope:{ctx:l}}}),{c(){e=B("div"),t=B("div"),r=S(i),n=J(),a=B("div"),te(s.$$.fragment),this.h()},l(d){e=R(d,"DIV",{class:!0});var g=D(e);t=R(g,"DIV",{class:!0});var _=D(t);r=U(_,i),_.forEach(b),n=K(g),a=R(g,"DIV",{});var k=D(a);he(s.$$.fragment,k),k.forEach(b),g.forEach(b),this.h()},h(){p(t,"class","ml-2 mr-1 flex"),p(e,"class","flex h-9 flex-row items-center rounded border border-neutral-200")},m(d,g){var _,k;V(d,e,g),T(e,t),T(t,r),T(e,n),T(e,a),le(s,a,null),f=!0,c||(u=st(o=ut.call(null,t,{text:`Logged into Google as ${(_=l[1].data)==null?void 0:_.user.name} with email ${(k=l[1].data)==null?void 0:k.user.email}`})),c=!0)},p(d,g){var k,E,v;(!f||g&2)&&i!==(i=((k=d[1].data)==null?void 0:k.user.given_name)+"")&&X(r,i),o&&at(o.update)&&g&2&&o.update.call(null,{text:`Logged into Google as ${(E=d[1].data)==null?void 0:E.user.name} with email ${(v=d[1].data)==null?void 0:v.user.email}`});const _={};g&256&&(_.$$scope={dirty:g,ctx:d}),s.$set(_)},i(d){f||(L(s.$$.fragment,d),f=!0)},o(d){P(s.$$.fragment,d),f=!1},d(d){d&&b(e),ie(s),c=!1,u()}}}function Sl(l){let e;return{c(){e=S("Login")},l(t){e=U(t,"Login")},m(t,i){V(t,e,i)},d(t){t&&b(e)}}}function Ul(l){let e,t;return e=new el({props:{class:"optionOne",text:"Logout"}}),e.$on("click",l[5]),{c(){te(e.$$.fragment)},l(i){he(e.$$.fragment,i)},m(i,r){le(e,i,r),t=!0},p:ee,i(i){t||(L(e.$$.fragment,i),t=!0)},o(i){P(e.$$.fragment,i),t=!1},d(i){ie(e,i)}}}function Fl(l){var me;let e,t,i,r,o,n,a,s,f,c,u,m,d,g,_,k,E,v,O;const M=l[7]["header-subtext"],w=be(M,l,l[8],lt),C=l[7]["header-center"],A=be(C,l,l[8],tt),se=l[7]["header-right"],G=be(se,l,l[8],et);_=new Al({});let q=((me=l[1].data)==null?void 0:me.auth_enabled)&&it(l);const _e=l[7].default,Q=be(_e,l,l[8],null);return{c(){e=B("div"),t=B("div"),i=B("div"),r=B("a"),o=S(`Lilac
6
+ `),n=B("span"),a=S(l[0]),s=J(),f=B("div"),w&&w.c(),c=J(),u=B("div"),A&&A.c(),m=J(),d=B("div"),G&&G.c(),g=J(),te(_.$$.fragment),k=J(),q&&q.c(),E=J(),v=B("div"),Q&&Q.c(),this.h()},l(z){e=R(z,"DIV",{class:!0});var F=D(e);t=R(F,"DIV",{class:!0});var re=D(t);i=R(re,"DIV",{class:!0});var y=D(i);r=R(y,"A",{class:!0,href:!0});var Me=D(r);o=U(Me,`Lilac
7
+ `),n=R(Me,"SPAN",{});var ze=D(n);a=U(ze,l[0]),ze.forEach(b),Me.forEach(b),s=K(y),f=R(y,"DIV",{class:!0});var Le=D(f);w&&w.l(Le),Le.forEach(b),y.forEach(b),c=K(re),u=R(re,"DIV",{class:!0});var Ce=D(u);A&&A.l(Ce),Ce.forEach(b),m=K(re),d=R(re,"DIV",{class:!0});var we=D(d);G&&G.l(we),g=K(we),he(_.$$.fragment,we),k=K(we),q&&q.l(we),we.forEach(b),re.forEach(b),E=K(F),v=R(F,"DIV",{class:!0});var Ve=D(v);Q&&Q.l(Ve),Ve.forEach(b),F.forEach(b),this.h()},h(){p(r,"class","text-xl normal-case"),p(r,"href","/"),p(f,"class","mt-1 pl-4"),p(i,"class","mr-4 flex flex-row items-center"),p(u,"class","flex-grow flex-row items-center justify-center"),p(d,"class","flex flex-row items-center gap-x-2"),p(t,"class","flex flex-row items-center justify-between justify-items-center gap-x-12 border-b border-gray-200 px-4 py-2"),p(v,"class","flex h-full w-full overflow-hidden"),p(e,"class","flex h-full w-full flex-col")},m(z,F){V(z,e,F),T(e,t),T(t,i),T(i,r),T(r,o),T(r,n),T(n,a),T(i,s),T(i,f),w&&w.m(f,null),T(t,c),T(t,u),A&&A.m(u,null),T(t,m),T(t,d),G&&G.m(d,null),T(d,g),le(_,d,null),T(d,k),q&&q.m(d,null),T(e,E),T(e,v),Q&&Q.m(v,null),O=!0},p(z,[F]){var re;(!O||F&1)&&X(a,z[0]),w&&w.p&&(!O||F&256)&&ge(w,M,z,z[8],O?pe(M,z[8],F,Pl):ve(z[8]),lt),A&&A.p&&(!O||F&256)&&ge(A,C,z,z[8],O?pe(C,z[8],F,Rl):ve(z[8]),tt),G&&G.p&&(!O||F&256)&&ge(G,se,z,z[8],O?pe(se,z[8],F,Bl):ve(z[8]),et),(re=z[1].data)!=null&&re.auth_enabled?q?(q.p(z,F),F&2&&L(q,1)):(q=it(z),q.c(),L(q,1),q.m(d,null)):q&&(oe(),P(q,1,1,()=>{q=null}),ne()),Q&&Q.p&&(!O||F&256)&&ge(Q,_e,z,z[8],O?pe(_e,z[8],F,null):ve(z[8]),null)},i(z){O||(L(w,z),L(A,z),L(G,z),L(_.$$.fragment,z),L(q),L(Q,z),O=!0)},o(z){P(w,z),P(A,z),P(G,z),P(_.$$.fragment,z),P(q),P(Q,z),O=!1},d(z){z&&b(e),w&&w.d(z),A&&A.d(z),G&&G.d(z),ie(_),q&&q.d(),Q&&Q.d(z)}}}function Gl(l,e,t){let i,r,{$$slots:o={},$$scope:n}=e,{title:a}=e;const s=ft();Ie(l,s,_=>t(1,r=_));const f=location.origin,c=`${f}/google/login?origin_url=${f}`,u=wl();Ie(l,u,_=>t(9,i=_));function m(){i.mutate([])}const g=window.self!==window.top?"_blank":"";return l.$$set=_=>{"title"in _&&t(0,a=_.title),"$$scope"in _&&t(8,n=_.$$scope)},[a,r,s,c,u,m,g,o,n]}class Wl extends ue{constructor(e){super(),ce(this,e,Gl,Fl,de,{title:0})}}export{kl as C,nl as L,Wt as O,Wl as P,el as a,ut as h};
web/blueprint/build/_app/immutable/chunks/singletons.458f7630.js ADDED
@@ -0,0 +1 @@
 
 
1
+ import{w as u}from"./index.08894c4d.js";var p;const k=((p=globalThis.__sveltekit_e25m57)==null?void 0:p.base)??"";var h;const m=((h=globalThis.__sveltekit_e25m57)==null?void 0:h.assets)??k,w="1689871212421",T="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1};function S(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function g(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=g(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||A(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===location.origin&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=g(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function _(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function E(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${m}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==w;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function A(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}let b;function N(e){b=e.client}function P(e){return(...t)=>b[e](...t)}const V={url:_({}),page:_({}),navigating:u(null),updated:E()};export{I,f as P,y as S,T as a,U as b,L as c,x as d,k as e,O as f,S as g,N as h,A as i,P as j,V as s};
web/blueprint/build/_app/immutable/chunks/singletons.e6bab986.js DELETED
@@ -1 +0,0 @@
1
- import{w as u}from"./index.08894c4d.js";var _;const k=((_=globalThis.__sveltekit_1eawsop)==null?void 0:_.base)??"";var h;const w=((h=globalThis.__sveltekit_1eawsop)==null?void 0:h.assets)??k,m="1689869123269",T="sveltekit:snapshot",y="sveltekit:scroll",I="sveltekit:index",f={tap:1,hover:2,viewport:3,eager:4,off:-1};function S(e){let t=e.baseURI;if(!t){const n=e.getElementsByTagName("base");t=n.length?n[0].href:e.URL}return t}function x(){return{x:pageXOffset,y:pageYOffset}}function c(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const d={...f,"":f.hover};function g(e){let t=e.assignedSlot??e.parentNode;return(t==null?void 0:t.nodeType)===11&&(t=t.host),t}function O(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=g(e)}}function U(e,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const o=e instanceof SVGAElement?e.target.baseVal:e.target,r=!n||!!o||A(n,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),l=(n==null?void 0:n.origin)===location.origin&&e.hasAttribute("download");return{url:n,external:r,target:o,download:l}}function L(e){let t=null,n=null,o=null,r=null,l=null,a=null,s=e;for(;s&&s!==document.documentElement;)o===null&&(o=c(s,"preload-code")),r===null&&(r=c(s,"preload-data")),t===null&&(t=c(s,"keepfocus")),n===null&&(n=c(s,"noscroll")),l===null&&(l=c(s,"reload")),a===null&&(a=c(s,"replacestate")),s=g(s);function i(v){switch(v){case"":case"true":return!0;case"off":case"false":return!1;default:return null}}return{preload_code:d[o??"off"],preload_data:d[r??"off"],keep_focus:i(t),noscroll:i(n),reload:i(l),replace_state:i(a)}}function p(e){const t=u(e);let n=!0;function o(){n=!0,t.update(a=>a)}function r(a){n=!1,t.set(a)}function l(a){let s;return t.subscribe(i=>{(s===void 0||n&&i!==s)&&a(s=i)})}return{notify:o,set:r,subscribe:l}}function E(){const{set:e,subscribe:t}=u(!1);let n;async function o(){clearTimeout(n);try{const r=await fetch(`${w}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!r.ok)return!1;const a=(await r.json()).version!==m;return a&&(e(!0),clearTimeout(n)),a}catch{return!1}}return{subscribe:t,check:o}}function A(e,t){return e.origin!==location.origin||!e.pathname.startsWith(t)}let b;function N(e){b=e.client}function P(e){return(...t)=>b[e](...t)}const V={url:p({}),page:p({}),navigating:u(null),updated:E()};export{I,f as P,y as S,T as a,U as b,L as c,x as d,k as e,O as f,S as g,N as h,A as i,P as j,V as s};
 
 
web/blueprint/build/_app/immutable/chunks/{utils.6a7a160e.js → utils.ab012edd.js} RENAMED
The diff for this file is too large to render. See raw diff
 
web/blueprint/build/_app/immutable/entry/{app.b7b1ef9f.js → app.2396d62d.js} RENAMED
@@ -1 +1 @@
1
- import{S as C,i as q,s as U,a as j,e as p,c as z,b,d as h,f as P,g as d,h as g,j as W,o as F,k as G,l as H,m as J,n as A,p as m,q as K,r as M,u as Q,v as y,w as D,x as E,y as v,z as I,A as R,B as L}from"../chunks/index.5fd689e7.js";const X="modulepreload",Y=function(a,e){return new URL(a,e).href},O={},w=function(e,n,i){if(!n||n.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(n.map(f=>{if(f=Y(f,i),f in O)return;O[f]=!0;const t=f.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!i)for(let l=s.length-1;l>=0;l--){const u=s[l];if(u.href===f&&(!t||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${r}`))return;const o=document.createElement("link");if(o.rel=t?"stylesheet":X,t||(o.as="script",o.crossOrigin=""),o.href=f,document.head.appendChild(o),t)return new Promise((l,u)=>{o.addEventListener("load",l),o.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${f}`)))})})).then(()=>e())},ie={};function Z(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],form:t[2]}}}return s&&(e=E(s,f(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&8&&(_.data=t[3]),r&4&&(_.form=t[2]),r&2&&s!==(s=t[1][0])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[12](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[12](null),t&&g(n),e&&L(e,t)}}}function $(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],$$slots:{default:[x]},$$scope:{ctx:t}}}}return s&&(e=E(s,f(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&8&&(_.data=t[3]),r&8215&&(_.$$scope={dirty:r,ctx:t}),r&2&&s!==(s=t[1][0])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[11](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[11](null),t&&g(n),e&&L(e,t)}}}function x(a){let e,n,i;var s=a[1][1];function f(t){return{props:{data:t[4],form:t[2]}}}return s&&(e=E(s,f(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&16&&(_.data=t[4]),r&4&&(_.form=t[2]),r&2&&s!==(s=t[1][1])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[10](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[10](null),t&&g(n),e&&L(e,t)}}}function T(a){let e,n=a[6]&&V(a);return{c(){e=G("div"),n&&n.c(),this.h()},l(i){e=H(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=J(e);n&&n.l(s),s.forEach(g),this.h()},h(){A(e,"id","svelte-announcer"),A(e,"aria-live","assertive"),A(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){b(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=V(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&g(e),n&&n.d()}}}function V(a){let e;return{c(){e=K(a[7])},l(n){e=M(n,a[7])},m(n,i){b(n,e,i)},p(n,i){i&128&&Q(e,n[7])},d(n){n&&g(e)}}}function ee(a){let e,n,i,s,f;const t=[$,Z],r=[];function _(l,u){return l[1][1]?0:1}e=_(a),n=r[e]=t[e](a);let o=a[5]&&T(a);return{c(){n.c(),i=j(),o&&o.c(),s=p()},l(l){n.l(l),i=z(l),o&&o.l(l),s=p()},m(l,u){r[e].m(l,u),b(l,i,u),o&&o.m(l,u),b(l,s,u),f=!0},p(l,[u]){let k=e;e=_(l),e===k?r[e].p(l,u):(y(),h(r[k],1,1,()=>{r[k]=null}),P(),n=r[e],n?n.p(l,u):(n=r[e]=t[e](l),n.c()),d(n,1),n.m(i.parentNode,i)),l[5]?o?o.p(l,u):(o=T(l),o.c(),o.m(s.parentNode,s)):o&&(o.d(1),o=null)},i(l){f||(d(n),f=!0)},o(l){h(n),f=!1},d(l){r[e].d(l),l&&g(i),o&&o.d(l),l&&g(s)}}}function te(a,e,n){let{stores:i}=e,{page:s}=e,{constructors:f}=e,{components:t=[]}=e,{form:r}=e,{data_0:_=null}=e,{data_1:o=null}=e;W(i.page.notify);let l=!1,u=!1,k=null;F(()=>{const c=i.page.subscribe(()=>{l&&(n(6,u=!0),n(7,k=document.title||"untitled page"))});return n(5,l=!0),c});function N(c){D[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function S(c){D[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function B(c){D[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return a.$$set=c=>{"stores"in c&&n(8,i=c.stores),"page"in c&&n(9,s=c.page),"constructors"in c&&n(1,f=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,r=c.form),"data_0"in c&&n(3,_=c.data_0),"data_1"in c&&n(4,o=c.data_1)},a.$$.update=()=>{a.$$.dirty&768&&i.page.set(s)},[t,f,r,_,o,l,u,k,i,s,N,S,B]}class se extends C{constructor(e){super(),q(this,e,te,ee,U,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const re=[()=>w(()=>import("../nodes/0.7e9f3c88.js"),["../nodes/0.7e9f3c88.js","../chunks/index.5fd689e7.js","../chunks/urlHashStore.e0ea589e.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/Settings.01af2208.js","../chunks/settingsStore.26605528.js","../assets/0.63de1d78.css"],import.meta.url),()=>w(()=>import("../nodes/1.02d3eb4e.js"),["../nodes/1.02d3eb4e.js","../chunks/index.5fd689e7.js","../chunks/singletons.e6bab986.js","../chunks/index.08894c4d.js"],import.meta.url),()=>w(()=>import("../nodes/2.9d434ba5.js"),["../nodes/2.9d434ba5.js","../chunks/index.5fd689e7.js","../chunks/Page.26ea9e23.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css"],import.meta.url),()=>w(()=>import("../nodes/3.8093fac0.js"),["../nodes/3.8093fac0.js","../chunks/index.5fd689e7.js","../chunks/utils.6a7a160e.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.e6bab986.js","../assets/utils.23bf139e.css","../chunks/Page.26ea9e23.js","../assets/Page.37e4861a.css","../chunks/ConceptView.90603a57.js","../chunks/urlHashStore.e0ea589e.js","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../assets/ConceptView.4e48c6ad.css"],import.meta.url),()=>w(()=>import("../nodes/4.627d440e.js"),["../nodes/4.627d440e.js","../chunks/index.5fd689e7.js","../chunks/Page.26ea9e23.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css","../chunks/ConceptView.90603a57.js","../chunks/utils.6a7a160e.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.e6bab986.js","../assets/utils.23bf139e.css","../chunks/urlHashStore.e0ea589e.js","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../assets/ConceptView.4e48c6ad.css","../chunks/ComboBox.8f56cfc5.js","../chunks/Settings.01af2208.js","../assets/4.7d283b37.css"],import.meta.url),()=>w(()=>import("../nodes/5.3a78a860.js"),["../nodes/5.3a78a860.js","../chunks/index.5fd689e7.js","../chunks/utils.6a7a160e.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.e6bab986.js","../assets/utils.23bf139e.css","../chunks/Page.26ea9e23.js","../assets/Page.37e4861a.css","../chunks/ComboBox.8f56cfc5.js","../assets/5.2a87a76f.css"],import.meta.url),()=>w(()=>import("../nodes/6.957302c4.js"),["../nodes/6.957302c4.js","../chunks/index.5fd689e7.js","../chunks/Page.26ea9e23.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../chunks/SelectItem.ef9cc564.js"],import.meta.url)],oe=[],ae={"/":[2],"/concepts":[3],"/datasets":[4],"/datasets/new":[5],"/settings":[6]},le={handleError:({error:a})=>{console.error(a)}};export{ae as dictionary,le as hooks,ie as matchers,re as nodes,se as root,oe as server_loads};
 
1
+ import{S as C,i as q,s as U,a as j,e as p,c as z,b,d as h,f as P,g as d,h as g,j as W,o as F,k as G,l as H,m as J,n as A,p as m,q as K,r as M,u as Q,v as y,w as D,x as E,y as v,z as I,A as R,B as L}from"../chunks/index.5fd689e7.js";const X="modulepreload",Y=function(a,e){return new URL(a,e).href},O={},w=function(e,n,i){if(!n||n.length===0)return e();const s=document.getElementsByTagName("link");return Promise.all(n.map(f=>{if(f=Y(f,i),f in O)return;O[f]=!0;const t=f.endsWith(".css"),r=t?'[rel="stylesheet"]':"";if(!!i)for(let l=s.length-1;l>=0;l--){const u=s[l];if(u.href===f&&(!t||u.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${f}"]${r}`))return;const o=document.createElement("link");if(o.rel=t?"stylesheet":X,t||(o.as="script",o.crossOrigin=""),o.href=f,document.head.appendChild(o),t)return new Promise((l,u)=>{o.addEventListener("load",l),o.addEventListener("error",()=>u(new Error(`Unable to preload CSS for ${f}`)))})})).then(()=>e())},ie={};function Z(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],form:t[2]}}}return s&&(e=E(s,f(a)),a[12](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&8&&(_.data=t[3]),r&4&&(_.form=t[2]),r&2&&s!==(s=t[1][0])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[12](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[12](null),t&&g(n),e&&L(e,t)}}}function $(a){let e,n,i;var s=a[1][0];function f(t){return{props:{data:t[3],$$slots:{default:[x]},$$scope:{ctx:t}}}}return s&&(e=E(s,f(a)),a[11](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&8&&(_.data=t[3]),r&8215&&(_.$$scope={dirty:r,ctx:t}),r&2&&s!==(s=t[1][0])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[11](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[11](null),t&&g(n),e&&L(e,t)}}}function x(a){let e,n,i;var s=a[1][1];function f(t){return{props:{data:t[4],form:t[2]}}}return s&&(e=E(s,f(a)),a[10](e)),{c(){e&&v(e.$$.fragment),n=p()},l(t){e&&I(e.$$.fragment,t),n=p()},m(t,r){e&&R(e,t,r),b(t,n,r),i=!0},p(t,r){const _={};if(r&16&&(_.data=t[4]),r&4&&(_.form=t[2]),r&2&&s!==(s=t[1][1])){if(e){y();const o=e;h(o.$$.fragment,1,0,()=>{L(o,1)}),P()}s?(e=E(s,f(t)),t[10](e),v(e.$$.fragment),d(e.$$.fragment,1),R(e,n.parentNode,n)):e=null}else s&&e.$set(_)},i(t){i||(e&&d(e.$$.fragment,t),i=!0)},o(t){e&&h(e.$$.fragment,t),i=!1},d(t){a[10](null),t&&g(n),e&&L(e,t)}}}function T(a){let e,n=a[6]&&V(a);return{c(){e=G("div"),n&&n.c(),this.h()},l(i){e=H(i,"DIV",{id:!0,"aria-live":!0,"aria-atomic":!0,style:!0});var s=J(e);n&&n.l(s),s.forEach(g),this.h()},h(){A(e,"id","svelte-announcer"),A(e,"aria-live","assertive"),A(e,"aria-atomic","true"),m(e,"position","absolute"),m(e,"left","0"),m(e,"top","0"),m(e,"clip","rect(0 0 0 0)"),m(e,"clip-path","inset(50%)"),m(e,"overflow","hidden"),m(e,"white-space","nowrap"),m(e,"width","1px"),m(e,"height","1px")},m(i,s){b(i,e,s),n&&n.m(e,null)},p(i,s){i[6]?n?n.p(i,s):(n=V(i),n.c(),n.m(e,null)):n&&(n.d(1),n=null)},d(i){i&&g(e),n&&n.d()}}}function V(a){let e;return{c(){e=K(a[7])},l(n){e=M(n,a[7])},m(n,i){b(n,e,i)},p(n,i){i&128&&Q(e,n[7])},d(n){n&&g(e)}}}function ee(a){let e,n,i,s,f;const t=[$,Z],r=[];function _(l,u){return l[1][1]?0:1}e=_(a),n=r[e]=t[e](a);let o=a[5]&&T(a);return{c(){n.c(),i=j(),o&&o.c(),s=p()},l(l){n.l(l),i=z(l),o&&o.l(l),s=p()},m(l,u){r[e].m(l,u),b(l,i,u),o&&o.m(l,u),b(l,s,u),f=!0},p(l,[u]){let k=e;e=_(l),e===k?r[e].p(l,u):(y(),h(r[k],1,1,()=>{r[k]=null}),P(),n=r[e],n?n.p(l,u):(n=r[e]=t[e](l),n.c()),d(n,1),n.m(i.parentNode,i)),l[5]?o?o.p(l,u):(o=T(l),o.c(),o.m(s.parentNode,s)):o&&(o.d(1),o=null)},i(l){f||(d(n),f=!0)},o(l){h(n),f=!1},d(l){r[e].d(l),l&&g(i),o&&o.d(l),l&&g(s)}}}function te(a,e,n){let{stores:i}=e,{page:s}=e,{constructors:f}=e,{components:t=[]}=e,{form:r}=e,{data_0:_=null}=e,{data_1:o=null}=e;W(i.page.notify);let l=!1,u=!1,k=null;F(()=>{const c=i.page.subscribe(()=>{l&&(n(6,u=!0),n(7,k=document.title||"untitled page"))});return n(5,l=!0),c});function N(c){D[c?"unshift":"push"](()=>{t[1]=c,n(0,t)})}function S(c){D[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}function B(c){D[c?"unshift":"push"](()=>{t[0]=c,n(0,t)})}return a.$$set=c=>{"stores"in c&&n(8,i=c.stores),"page"in c&&n(9,s=c.page),"constructors"in c&&n(1,f=c.constructors),"components"in c&&n(0,t=c.components),"form"in c&&n(2,r=c.form),"data_0"in c&&n(3,_=c.data_0),"data_1"in c&&n(4,o=c.data_1)},a.$$.update=()=>{a.$$.dirty&768&&i.page.set(s)},[t,f,r,_,o,l,u,k,i,s,N,S,B]}class se extends C{constructor(e){super(),q(this,e,te,ee,U,{stores:8,page:9,constructors:1,components:0,form:2,data_0:3,data_1:4})}}const re=[()=>w(()=>import("../nodes/0.7e9f3c88.js"),["../nodes/0.7e9f3c88.js","../chunks/index.5fd689e7.js","../chunks/urlHashStore.e0ea589e.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/Settings.01af2208.js","../chunks/settingsStore.26605528.js","../assets/0.63de1d78.css"],import.meta.url),()=>w(()=>import("../nodes/1.20790f84.js"),["../nodes/1.20790f84.js","../chunks/index.5fd689e7.js","../chunks/singletons.458f7630.js","../chunks/index.08894c4d.js"],import.meta.url),()=>w(()=>import("../nodes/2.444b7c42.js"),["../nodes/2.444b7c42.js","../chunks/index.5fd689e7.js","../chunks/Page.09ad5433.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css"],import.meta.url),()=>w(()=>import("../nodes/3.19c78fd1.js"),["../nodes/3.19c78fd1.js","../chunks/index.5fd689e7.js","../chunks/utils.ab012edd.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.458f7630.js","../assets/utils.23bf139e.css","../chunks/Page.09ad5433.js","../assets/Page.37e4861a.css","../chunks/ConceptView.9ffb368c.js","../chunks/urlHashStore.e0ea589e.js","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../assets/ConceptView.4e48c6ad.css"],import.meta.url),()=>w(()=>import("../nodes/4.9f72cb58.js"),["../nodes/4.9f72cb58.js","../chunks/index.5fd689e7.js","../chunks/Page.09ad5433.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css","../chunks/ConceptView.9ffb368c.js","../chunks/utils.ab012edd.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.458f7630.js","../assets/utils.23bf139e.css","../chunks/urlHashStore.e0ea589e.js","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../assets/ConceptView.4e48c6ad.css","../chunks/ComboBox.8f56cfc5.js","../chunks/Settings.01af2208.js","../assets/4.7ce19c6b.css"],import.meta.url),()=>w(()=>import("../nodes/5.01d8849d.js"),["../nodes/5.01d8849d.js","../chunks/index.5fd689e7.js","../chunks/utils.ab012edd.js","../chunks/taskMonitoringStore.741efe2c.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../chunks/SelectItem.ef9cc564.js","../chunks/singletons.458f7630.js","../assets/utils.23bf139e.css","../chunks/Page.09ad5433.js","../assets/Page.37e4861a.css","../chunks/ComboBox.8f56cfc5.js","../assets/5.2a87a76f.css"],import.meta.url),()=>w(()=>import("../nodes/6.a751e141.js"),["../nodes/6.a751e141.js","../chunks/index.5fd689e7.js","../chunks/Page.09ad5433.js","../chunks/taskQueries.ab6be53f.js","../chunks/index.08894c4d.js","../assets/Page.37e4861a.css","../chunks/signalQueries.9da6734a.js","../chunks/settingsStore.26605528.js","../chunks/SelectItem.ef9cc564.js"],import.meta.url)],oe=[],ae={"/":[2],"/concepts":[3],"/datasets":[4],"/datasets/new":[5],"/settings":[6]},le={handleError:({error:a})=>{console.error(a)}};export{ae as dictionary,le as hooks,ie as matchers,re as nodes,se as root,oe as server_loads};