khoj 1.37.1.dev15__py3-none-any.whl → 1.37.3.dev5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- khoj/interface/compiled/404/index.html +2 -2
- khoj/interface/compiled/_next/static/chunks/app/agents/{layout-dd7f2b45a9c30bd7.js → layout-948ca256650845ce.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/{layout-904fbbb3974588da.js → layout-603285e3b1400e74.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/chat/{page-5175e747d3cb4a33.js → page-d273748c128b0103.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/{page-44ac22beb2619af0.js → page-aad371f66ac52191.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/search/{layout-51d73830842461d5.js → layout-d7f7528ff387fba5.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/{layout-d090bd23befd0207.js → layout-246d0e8125219fff.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/app/share/chat/{page-e8f0cc65930b214e.js → page-6f26fe7f2f7edc56.js} +1 -1
- khoj/interface/compiled/_next/static/chunks/{webpack-d1d79c1576702da7.js → webpack-639e8a9d35bd5e13.js} +1 -1
- khoj/interface/compiled/_next/static/css/b15666ef52060cd0.css +1 -0
- khoj/interface/compiled/_next/static/css/fca983d49c3dd1a3.css +1 -0
- khoj/interface/compiled/agents/index.html +2 -2
- khoj/interface/compiled/agents/index.txt +2 -2
- khoj/interface/compiled/automations/index.html +2 -2
- khoj/interface/compiled/automations/index.txt +1 -1
- khoj/interface/compiled/chat/index.html +2 -2
- khoj/interface/compiled/chat/index.txt +3 -3
- khoj/interface/compiled/index.html +2 -2
- khoj/interface/compiled/index.txt +2 -2
- khoj/interface/compiled/search/index.html +2 -2
- khoj/interface/compiled/search/index.txt +2 -2
- khoj/interface/compiled/settings/index.html +2 -2
- khoj/interface/compiled/settings/index.txt +1 -1
- khoj/interface/compiled/share/chat/index.html +2 -2
- khoj/interface/compiled/share/chat/index.txt +3 -3
- khoj/processor/conversation/anthropic/utils.py +10 -2
- khoj/processor/conversation/google/gemini_chat.py +3 -6
- khoj/processor/conversation/google/utils.py +8 -6
- khoj/processor/conversation/openai/gpt.py +4 -0
- khoj/processor/conversation/openai/utils.py +14 -6
- khoj/routers/helpers.py +2 -0
- khoj/routers/research.py +4 -0
- khoj/utils/constants.py +8 -8
- khoj/utils/helpers.py +31 -5
- {khoj-1.37.1.dev15.dist-info → khoj-1.37.3.dev5.dist-info}/METADATA +1 -1
- {khoj-1.37.1.dev15.dist-info → khoj-1.37.3.dev5.dist-info}/RECORD +41 -41
- khoj/interface/compiled/_next/static/css/440ae0f0f650dc35.css +0 -1
- khoj/interface/compiled/_next/static/css/b62829e3bf683b86.css +0 -1
- /khoj/interface/compiled/_next/static/{p1d6uvpb3658wwpj9guMO → CJpmb1iVXzcrEC9TreVsS}/_buildManifest.js +0 -0
- /khoj/interface/compiled/_next/static/{p1d6uvpb3658wwpj9guMO → CJpmb1iVXzcrEC9TreVsS}/_ssgManifest.js +0 -0
- {khoj-1.37.1.dev15.dist-info → khoj-1.37.3.dev5.dist-info}/WHEEL +0 -0
- {khoj-1.37.1.dev15.dist-info → khoj-1.37.3.dev5.dist-info}/entry_points.txt +0 -0
- {khoj-1.37.1.dev15.dist-info → khoj-1.37.3.dev5.dist-info}/licenses/LICENSE +0 -0
@@ -51,6 +51,7 @@ def completion_with_backoff(
|
|
51
51
|
temperature=0.8,
|
52
52
|
openai_api_key=None,
|
53
53
|
api_base_url=None,
|
54
|
+
deepthought: bool = False,
|
54
55
|
model_kwargs: dict = {},
|
55
56
|
tracer: dict = {},
|
56
57
|
) -> str:
|
@@ -93,7 +94,9 @@ def completion_with_backoff(
|
|
93
94
|
chunk.usage.model_extra.get("estimated_cost", 0) if hasattr(chunk, "usage") and chunk.usage else 0
|
94
95
|
) # Estimated costs returned by DeepInfra API
|
95
96
|
|
96
|
-
tracer["usage"] = get_chat_usage_metrics(
|
97
|
+
tracer["usage"] = get_chat_usage_metrics(
|
98
|
+
model_name, input_tokens, output_tokens, usage=tracer.get("usage"), cost=cost
|
99
|
+
)
|
97
100
|
|
98
101
|
# Save conversation trace
|
99
102
|
tracer["chat_model"] = model_name
|
@@ -126,13 +129,14 @@ def chat_completion_with_backoff(
|
|
126
129
|
openai_api_key=None,
|
127
130
|
api_base_url=None,
|
128
131
|
completion_func=None,
|
132
|
+
deepthought=False,
|
129
133
|
model_kwargs=None,
|
130
134
|
tracer: dict = {},
|
131
135
|
):
|
132
136
|
g = ThreadedGenerator(compiled_references, online_results, completion_func=completion_func)
|
133
137
|
t = Thread(
|
134
138
|
target=llm_thread,
|
135
|
-
args=(g, messages, model_name, temperature, openai_api_key, api_base_url, model_kwargs, tracer),
|
139
|
+
args=(g, messages, model_name, temperature, openai_api_key, api_base_url, deepthought, model_kwargs, tracer),
|
136
140
|
)
|
137
141
|
t.start()
|
138
142
|
return g
|
@@ -145,6 +149,7 @@ def llm_thread(
|
|
145
149
|
temperature,
|
146
150
|
openai_api_key=None,
|
147
151
|
api_base_url=None,
|
152
|
+
deepthought=False,
|
148
153
|
model_kwargs: dict = {},
|
149
154
|
tracer: dict = {},
|
150
155
|
):
|
@@ -158,10 +163,11 @@ def llm_thread(
|
|
158
163
|
formatted_messages = [{"role": message.role, "content": message.content} for message in messages]
|
159
164
|
|
160
165
|
# Tune reasoning models arguments
|
161
|
-
if model_name.startswith("o1"):
|
162
|
-
temperature = 1
|
163
|
-
elif model_name.startswith("o3"):
|
166
|
+
if model_name.startswith("o1") or model_name.startswith("o3"):
|
164
167
|
temperature = 1
|
168
|
+
model_kwargs["reasoning_effort"] = "medium"
|
169
|
+
|
170
|
+
if model_name.startswith("o3"):
|
165
171
|
# Get the first system message and add the string `Formatting re-enabled` to it.
|
166
172
|
# See https://platform.openai.com/docs/guides/reasoning-best-practices
|
167
173
|
if len(formatted_messages) > 0:
|
@@ -226,7 +232,9 @@ def llm_thread(
|
|
226
232
|
cost = (
|
227
233
|
chunk.usage.model_extra.get("estimated_cost", 0) if hasattr(chunk, "usage") and chunk.usage else 0
|
228
234
|
) # Estimated costs returned by DeepInfra API
|
229
|
-
tracer["usage"] = get_chat_usage_metrics(
|
235
|
+
tracer["usage"] = get_chat_usage_metrics(
|
236
|
+
model_name, input_tokens, output_tokens, usage=tracer.get("usage"), cost=cost
|
237
|
+
)
|
230
238
|
|
231
239
|
# Save conversation trace
|
232
240
|
tracer["chat_model"] = model_name
|
khoj/routers/helpers.py
CHANGED
@@ -1215,6 +1215,7 @@ async def send_message_to_model_wrapper(
|
|
1215
1215
|
model=chat_model_name,
|
1216
1216
|
response_type=response_type,
|
1217
1217
|
response_schema=response_schema,
|
1218
|
+
deepthought=deepthought,
|
1218
1219
|
api_base_url=api_base_url,
|
1219
1220
|
tracer=tracer,
|
1220
1221
|
)
|
@@ -1511,6 +1512,7 @@ def generate_chat_response(
|
|
1511
1512
|
generated_files=raw_generated_files,
|
1512
1513
|
generated_asset_results=generated_asset_results,
|
1513
1514
|
program_execution_context=program_execution_context,
|
1515
|
+
deepthought=deepthought,
|
1514
1516
|
tracer=tracer,
|
1515
1517
|
)
|
1516
1518
|
|
khoj/routers/research.py
CHANGED
@@ -233,6 +233,10 @@ async def execute_information_collection(
|
|
233
233
|
if this_iteration.warning:
|
234
234
|
logger.warning(f"Research mode: {this_iteration.warning}.")
|
235
235
|
|
236
|
+
# Terminate research if query, tool not set for next iteration
|
237
|
+
elif not this_iteration.query or not this_iteration.tool:
|
238
|
+
current_iteration = MAX_ITERATIONS
|
239
|
+
|
236
240
|
elif this_iteration.tool == ConversationCommand.Notes:
|
237
241
|
this_iteration.context = []
|
238
242
|
document_results = []
|
khoj/utils/constants.py
CHANGED
@@ -47,12 +47,12 @@ model_to_cost: Dict[str, Dict[str, float]] = {
|
|
47
47
|
"gemini-1.5-pro": {"input": 1.25, "output": 5.00},
|
48
48
|
"gemini-1.5-pro-002": {"input": 1.25, "output": 5.00},
|
49
49
|
"gemini-2.0-flash": {"input": 0.10, "output": 0.40},
|
50
|
-
# Anthropic Pricing: https://www.anthropic.com/pricing#anthropic-
|
51
|
-
"claude-3-5-haiku-20241022": {"input": 1.0, "output": 5.0},
|
52
|
-
"claude-3-5-haiku@20241022": {"input": 1.0, "output": 5.0},
|
53
|
-
"claude-3-5-sonnet-20241022": {"input": 3.0, "output": 15.0},
|
54
|
-
"claude-3-5-sonnet-latest": {"input": 3.0, "output": 15.0},
|
55
|
-
"claude-3-7-sonnet-20250219": {"input": 3.0, "output": 15.0},
|
56
|
-
"claude-3-7-sonnet@20250219": {"input": 3.0, "output": 15.0},
|
57
|
-
"claude-3-7-sonnet-latest": {"input": 3.0, "output": 15.0},
|
50
|
+
# Anthropic Pricing: https://www.anthropic.com/pricing#anthropic-api
|
51
|
+
"claude-3-5-haiku-20241022": {"input": 1.0, "output": 5.0, "cache_read": 0.08, "cache_write": 1.0},
|
52
|
+
"claude-3-5-haiku@20241022": {"input": 1.0, "output": 5.0, "cache_read": 0.08, "cache_write": 1.0},
|
53
|
+
"claude-3-5-sonnet-20241022": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
54
|
+
"claude-3-5-sonnet-latest": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
55
|
+
"claude-3-7-sonnet-20250219": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
56
|
+
"claude-3-7-sonnet@20250219": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
57
|
+
"claude-3-7-sonnet-latest": {"input": 3.0, "output": 15.0, "cache_read": 0.3, "cache_write": 3.75},
|
58
58
|
}
|
khoj/utils/helpers.py
CHANGED
@@ -596,7 +596,14 @@ def get_country_name_from_timezone(tz: str) -> str:
|
|
596
596
|
return country_names.get(get_country_code_from_timezone(tz), "United States")
|
597
597
|
|
598
598
|
|
599
|
-
def get_cost_of_chat_message(
|
599
|
+
def get_cost_of_chat_message(
|
600
|
+
model_name: str,
|
601
|
+
input_tokens: int = 0,
|
602
|
+
output_tokens: int = 0,
|
603
|
+
cache_read_tokens: int = 0,
|
604
|
+
cache_write_tokens: int = 0,
|
605
|
+
prev_cost: float = 0.0,
|
606
|
+
):
|
600
607
|
"""
|
601
608
|
Calculate cost of chat message based on input and output tokens
|
602
609
|
"""
|
@@ -604,21 +611,40 @@ def get_cost_of_chat_message(model_name: str, input_tokens: int = 0, output_toke
|
|
604
611
|
# Calculate cost of input and output tokens. Costs are per million tokens
|
605
612
|
input_cost = constants.model_to_cost.get(model_name, {}).get("input", 0) * (input_tokens / 1e6)
|
606
613
|
output_cost = constants.model_to_cost.get(model_name, {}).get("output", 0) * (output_tokens / 1e6)
|
614
|
+
cache_read_cost = constants.model_to_cost.get(model_name, {}).get("cache_read", 0) * (cache_read_tokens / 1e6)
|
615
|
+
cache_write_cost = constants.model_to_cost.get(model_name, {}).get("cache_write", 0) * (cache_write_tokens / 1e6)
|
607
616
|
|
608
|
-
return input_cost + output_cost + prev_cost
|
617
|
+
return input_cost + output_cost + cache_read_cost + cache_write_cost + prev_cost
|
609
618
|
|
610
619
|
|
611
620
|
def get_chat_usage_metrics(
|
612
|
-
model_name: str,
|
621
|
+
model_name: str,
|
622
|
+
input_tokens: int = 0,
|
623
|
+
output_tokens: int = 0,
|
624
|
+
cache_read_tokens: int = 0,
|
625
|
+
cache_write_tokens: int = 0,
|
626
|
+
usage: dict = {},
|
627
|
+
cost: float = None,
|
613
628
|
):
|
614
629
|
"""
|
615
630
|
Get usage metrics for chat message based on input and output tokens and cost
|
616
631
|
"""
|
617
|
-
prev_usage = usage or {
|
632
|
+
prev_usage = usage or {
|
633
|
+
"input_tokens": 0,
|
634
|
+
"output_tokens": 0,
|
635
|
+
"cache_read_tokens": 0,
|
636
|
+
"cache_write_tokens": 0,
|
637
|
+
"cost": 0.0,
|
638
|
+
}
|
618
639
|
return {
|
619
640
|
"input_tokens": prev_usage["input_tokens"] + input_tokens,
|
620
641
|
"output_tokens": prev_usage["output_tokens"] + output_tokens,
|
621
|
-
"
|
642
|
+
"cache_read_tokens": prev_usage.get("cache_read_tokens", 0) + cache_read_tokens,
|
643
|
+
"cache_write_tokens": prev_usage.get("cache_write_tokens", 0) + cache_write_tokens,
|
644
|
+
"cost": cost
|
645
|
+
or get_cost_of_chat_message(
|
646
|
+
model_name, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, prev_cost=prev_usage["cost"]
|
647
|
+
),
|
622
648
|
}
|
623
649
|
|
624
650
|
|
@@ -127,15 +127,17 @@ khoj/interface/compiled/chat.svg,sha256=l2JoYRRgk201adTTdvJ-buKUrc0WGfsudix5xEvt
|
|
127
127
|
khoj/interface/compiled/close.svg,sha256=hQ2iFLkNzHk0_iyTrSbwnWAeXYlgA-c2Eof2Iqh76n4,417
|
128
128
|
khoj/interface/compiled/copy-button-success.svg,sha256=byqWAYD3Pn9IOXRjOKudJ-TJbP2UESbQGvtLWazNGjY,829
|
129
129
|
khoj/interface/compiled/copy-button.svg,sha256=05bKM2eRxksfBlAPT7yMaoNJEk85bZCxQg67EVrPeHo,669
|
130
|
-
khoj/interface/compiled/index.html,sha256=
|
131
|
-
khoj/interface/compiled/index.txt,sha256=
|
130
|
+
khoj/interface/compiled/index.html,sha256=4mywKePob3sNyE4zm94F_tNn2-XifN-yVLgPFnTCJmw,53009
|
131
|
+
khoj/interface/compiled/index.txt,sha256=xiZSx3pOoofxatwN9DgbWMpMHF4CHB1crC5O0d9UF94,7584
|
132
132
|
khoj/interface/compiled/khoj.webmanifest,sha256=9wOK2BMS6xH5NKd2eaUgTLg9WepIxB2K2U33KU89LD8,2543
|
133
133
|
khoj/interface/compiled/logo.svg,sha256=_QCKVYM4WT2Qhcf7aVFImjq_s5CwjynGXYAOgI7yf8w,8059
|
134
134
|
khoj/interface/compiled/send.svg,sha256=VdavOWkVddcwcGcld6pdfmwfz7S91M-9O28cfeiKJkM,635
|
135
135
|
khoj/interface/compiled/share.svg,sha256=91lwo75PvMDrgocuZQab6EQ62CxRbubh9Bhw7CWMKbg,1221
|
136
136
|
khoj/interface/compiled/thumbs-down.svg,sha256=JGNl-DwoRmH2XFMPWwFFklmoYtKxaQbkLE3nuYKe8ZY,1019
|
137
137
|
khoj/interface/compiled/thumbs-up.svg,sha256=yS1wxTRtiztkN-6nZciLoYQUB_KTYNPV8xFRwH2TQFw,1036
|
138
|
-
khoj/interface/compiled/404/index.html,sha256=
|
138
|
+
khoj/interface/compiled/404/index.html,sha256=9o9mTeihsIVoKLk6Nct-e7EfOhqQ92AVjB4JfUWSFQs,17063
|
139
|
+
khoj/interface/compiled/_next/static/CJpmb1iVXzcrEC9TreVsS/_buildManifest.js,sha256=f2_nYnw25hHWQJ-39Lf5OH1u6kgdbOInyfplqgjvAV4,224
|
140
|
+
khoj/interface/compiled/_next/static/CJpmb1iVXzcrEC9TreVsS/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
|
139
141
|
khoj/interface/compiled/_next/static/chunks/1160-8e7e42e77145b712.js,sha256=-QFyQbKtlBEXOxl_xK246z8WERbIc88SU1RehiTjcaI,317731
|
140
142
|
khoj/interface/compiled/_next/static/chunks/1243.ea2826fb35adb15a.js,sha256=Y6ceAwyTH4HSGDvBRoBB-RVXRCzGGr8NSPcspYF5OM8,182
|
141
143
|
khoj/interface/compiled/_next/static/chunks/133.392ae90c3b2a67f2.js,sha256=IK-mb9ZlF6uJUdU8AuXsppc99tFL8svJvZtKNZGNtcY,411
|
@@ -201,32 +203,32 @@ khoj/interface/compiled/_next/static/chunks/framework-8e0e0f4a6b83a956.js,sha256
|
|
201
203
|
khoj/interface/compiled/_next/static/chunks/main-876327ac335776ab.js,sha256=JkQUmA9vh1B4VVGF5dbZ8Kun0AnIVUbZr5IBK90T4Zs,111290
|
202
204
|
khoj/interface/compiled/_next/static/chunks/main-app-de1f09df97a3cfc7.js,sha256=bqnztujKItXfFBzQlaBmDZyfJpQt_M93CXOuchJfpD0,471
|
203
205
|
khoj/interface/compiled/_next/static/chunks/polyfills-42372ed130431b0a.js,sha256=CXPB1kyIrcjjyVBBDLWLKI9yEY1ZZbeASUON648vloM,112594
|
204
|
-
khoj/interface/compiled/_next/static/chunks/webpack-
|
206
|
+
khoj/interface/compiled/_next/static/chunks/webpack-639e8a9d35bd5e13.js,sha256=QSmy64I4VwSeyHlSrBW5sfepv-kKV3QbWXP_rW1NC2Y,4891
|
205
207
|
khoj/interface/compiled/_next/static/chunks/app/layout-bd8210ff1de491d7.js,sha256=8gTcL8-sV5oa7vJRTxlgOpZvhNrsKomsu75DpVpqfE0,3983
|
206
|
-
khoj/interface/compiled/_next/static/chunks/app/page-
|
208
|
+
khoj/interface/compiled/_next/static/chunks/app/page-aad371f66ac52191.js,sha256=WYybaSmeeef9dlJmJZNPM0FYBKrtKu0cNT8ZO9sWYnc,31218
|
207
209
|
khoj/interface/compiled/_next/static/chunks/app/_not-found/page-0ec97c4970898f2d.js,sha256=zElhiTkdu2JqrEvJ8Lrxh4HCyfLmPllBHHWOuDtrVlw,1755
|
208
|
-
khoj/interface/compiled/_next/static/chunks/app/agents/layout-
|
210
|
+
khoj/interface/compiled/_next/static/chunks/app/agents/layout-948ca256650845ce.js,sha256=90UW-xl1JYse_51fviRzfAE7LpAwkMxCymL-V2vJ6v4,3455
|
209
211
|
khoj/interface/compiled/_next/static/chunks/app/agents/page-df5446aa4fb82e1a.js,sha256=I_L7ZSMnaB2S_8G4GqkbnjSZH8IPvZV6j9b-3Afr8e8,18314
|
210
212
|
khoj/interface/compiled/_next/static/chunks/app/automations/layout-7f5c33a70e46b3af.js,sha256=s2wHeQ-ai9rKyU9EjOGY1Yo51L4ZEkjLtML85BqN3Zc,5143
|
211
213
|
khoj/interface/compiled/_next/static/chunks/app/automations/page-0a44416f9183aec0.js,sha256=kNkQ123aqeoAe5yTaHWdSUMGaK_JJYHYASI3tYTiNbI,34831
|
212
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/layout-
|
213
|
-
khoj/interface/compiled/_next/static/chunks/app/chat/page-
|
214
|
-
khoj/interface/compiled/_next/static/chunks/app/search/layout-
|
214
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/layout-603285e3b1400e74.js,sha256=jbpQcSbkDmThEkwRrkjoPtYprnltiMeVRA4Mr5XXz6g,3455
|
215
|
+
khoj/interface/compiled/_next/static/chunks/app/chat/page-d273748c128b0103.js,sha256=dmvRZosKH-SUZ4K8yVQjpzFiVtS3COnSa4oWqWmh76o,28289
|
216
|
+
khoj/interface/compiled/_next/static/chunks/app/search/layout-d7f7528ff387fba5.js,sha256=gqFAh3XbMePX_EKoABr5uOnxwNLGa-cl5G84h0cGcnM,3455
|
215
217
|
khoj/interface/compiled/_next/static/chunks/app/search/page-1df7b236b30620f7.js,sha256=pMegRbrl32l9jxn1EvT9u-o877tSZ9jzOq7keoNxeDQ,32714
|
216
218
|
khoj/interface/compiled/_next/static/chunks/app/settings/layout-a7262b2bb8c7ae64.js,sha256=lvyfWVLYyJsxhQvh5UWUVUBM71nmq9DdsmmnVfFXCgk,9401
|
217
219
|
khoj/interface/compiled/_next/static/chunks/app/settings/page-3473bab693ef81b2.js,sha256=NJ-y_h09m915fni0dLftBeDlzkWKP50XbtXbFU-tJZM,30570
|
218
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-
|
219
|
-
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-
|
220
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/layout-246d0e8125219fff.js,sha256=T-U3NCxwKqNYQ0Y40U0zFgL-fHEZu30sQbK4lalDNrE,3455
|
221
|
+
khoj/interface/compiled/_next/static/chunks/app/share/chat/page-6f26fe7f2f7edc56.js,sha256=e6wQT-yRzXBuJXjT7CobubWPIVed2NbvP1VxTC186HU,4826
|
220
222
|
khoj/interface/compiled/_next/static/chunks/pages/_app-3c9ca398d360b709.js,sha256=UqtikLsCsOWtDUJOW6Tuk9P-bV1V3MhYd3ghrQuEmfs,286
|
221
223
|
khoj/interface/compiled/_next/static/chunks/pages/_error-cf5ca766ac8f493f.js,sha256=w_It3VzKT8O1M3CrJ_hZHsaU7M7dq3EAaVG8KvJ-fhU,253
|
222
224
|
khoj/interface/compiled/_next/static/css/37a73b87f02df402.css,sha256=hp0vlekKu0K2eITR5YIqFmLHQPqV3JETFnRd_-Uh0mk,165
|
223
|
-
khoj/interface/compiled/_next/static/css/440ae0f0f650dc35.css,sha256=FlGtVO8aI0FrkVFsPQdk1PO5ECGYJrF1tEmLXVuAIvk,1674
|
224
225
|
khoj/interface/compiled/_next/static/css/7889a30fe9c83846.css,sha256=IUkZhkx4GpYOIhN-EJw9T1DqGMO3Wa3mNpUwaOBuZoY,7204
|
225
226
|
khoj/interface/compiled/_next/static/css/b061a6aedf367349.css,sha256=TBw0S55aM8UbisYpvbVjM9Ch7bUG16L5WlNXd6KTs1g,3075676
|
226
|
-
khoj/interface/compiled/_next/static/css/
|
227
|
+
khoj/interface/compiled/_next/static/css/b15666ef52060cd0.css,sha256=JMH_WAG7ZoebkDxeKdDq1L4liB_nAh3ayim8JT6r1Js,1737
|
227
228
|
khoj/interface/compiled/_next/static/css/e4eb883b5265d372.css,sha256=6LaW-lQ_ZpgOJNWYwU1Q1egXZ1aqJDEuRj66oRCIU_E,17748
|
228
229
|
khoj/interface/compiled/_next/static/css/ea5485b3f3859a5a.css,sha256=tn6qi2xSLTWhtzDUE8UlC8iipH9QGV6A9oGj1ap-Sk4,1659
|
229
230
|
khoj/interface/compiled/_next/static/css/f29752d6e1be7624.css,sha256=mLPRnYpBFaVhTMJ3CFou5_lrwLJs2mhBlAjNY2lrRYs,6354
|
231
|
+
khoj/interface/compiled/_next/static/css/fca983d49c3dd1a3.css,sha256=3F1qPtz6PQG-gIpo8h3rAfxreAc2Uvxy8F_G2e78EsM,30452
|
230
232
|
khoj/interface/compiled/_next/static/media/1d8a05b60287ae6c-s.p.woff2,sha256=IzKBwB_bpSGvO7C9aRv29Js-jAbZPRDI-D-P4H2P918,14508
|
231
233
|
khoj/interface/compiled/_next/static/media/2aa11a72f7f24b58-s.woff2,sha256=QjuuSKmViymmy-itXLB1UbSARxFNHWuMiPpCrYqClFI,22728
|
232
234
|
khoj/interface/compiled/_next/static/media/383a65b63658737d-s.woff2,sha256=VH1XkI87HdFVhsurH5D5ekEjG_ZORTVBVg6xz7p87C8,16704
|
@@ -304,10 +306,8 @@ khoj/interface/compiled/_next/static/media/flags.3afdda2f.webp,sha256=M2AW_HLpBn
|
|
304
306
|
khoj/interface/compiled/_next/static/media/flags@2x.5fbe9fc1.webp,sha256=BBeRPBZkxY3-aKkMnYv5TSkxmbeMbyUH4VRIPfrWg1E,137406
|
305
307
|
khoj/interface/compiled/_next/static/media/globe.98e105ca.webp,sha256=g3ofb8-W9GM75zIhlvQhaS8I2py9TtrovOKR3_7Jf04,514
|
306
308
|
khoj/interface/compiled/_next/static/media/globe@2x.974df6f8.webp,sha256=I_N7Yke3IOoS-0CC6XD8o0IUWG8PdPbrHmf6lpgWlZY,1380
|
307
|
-
khoj/interface/compiled/
|
308
|
-
khoj/interface/compiled/
|
309
|
-
khoj/interface/compiled/agents/index.html,sha256=hh6ZZ7Xotx_i7C3b_DJVqjMQDHrx-bcmbbK5sQNmI2M,19256
|
310
|
-
khoj/interface/compiled/agents/index.txt,sha256=Va7U3LSp6Rt3oW4LtKYIOzHSwAYq0XAUhaEyyvouq7Q,8706
|
309
|
+
khoj/interface/compiled/agents/index.html,sha256=UKZGv1k0MIWOV7rWaGPQm6CISljTo-hdf83d3ah7IEA,19256
|
310
|
+
khoj/interface/compiled/agents/index.txt,sha256=_9LOxjB45dHxQDZityVHpG9-FT15aBwwcaZEUk48aBU,8706
|
311
311
|
khoj/interface/compiled/assets/icons/khoj_lantern.ico,sha256=eggu-B_v3z1R53EjOFhIqqPnICBGdoaw1xnc0NrzHck,174144
|
312
312
|
khoj/interface/compiled/assets/icons/khoj_lantern.svg,sha256=I_8XP5X84gEOoCRhCRKOQn_GKZrz3SUBXct7WxHvY7c,8767
|
313
313
|
khoj/interface/compiled/assets/icons/khoj_lantern_1200x1200.png,sha256=xDx0bbD-WMflgg8zck9oPIIuTIvywtuED2k7CjSQS4w,66194
|
@@ -322,16 +322,16 @@ khoj/interface/compiled/assets/samples/desktop-remember-plan-sample.png,sha256=i
|
|
322
322
|
khoj/interface/compiled/assets/samples/phone-browse-draw-sample.png,sha256=Dd4fPwtFl6BWqnHjeb1mCK_ND0hhHsWtx8sNE7EiMuE,406179
|
323
323
|
khoj/interface/compiled/assets/samples/phone-plain-chat-sample.png,sha256=DEDaNRCkfEWUeh3kYZWIQDTVK1a6KKnYdwj5ZWisN_Q,82985
|
324
324
|
khoj/interface/compiled/assets/samples/phone-remember-plan-sample.png,sha256=Ma3blirRmq3X4oYSsDbbT7MDn29rymDrjwmUfA9BMuM,236285
|
325
|
-
khoj/interface/compiled/automations/index.html,sha256=
|
326
|
-
khoj/interface/compiled/automations/index.txt,sha256=
|
327
|
-
khoj/interface/compiled/chat/index.html,sha256=
|
328
|
-
khoj/interface/compiled/chat/index.txt,sha256=
|
329
|
-
khoj/interface/compiled/search/index.html,sha256=
|
330
|
-
khoj/interface/compiled/search/index.txt,sha256=
|
331
|
-
khoj/interface/compiled/settings/index.html,sha256=
|
332
|
-
khoj/interface/compiled/settings/index.txt,sha256=
|
333
|
-
khoj/interface/compiled/share/chat/index.html,sha256=
|
334
|
-
khoj/interface/compiled/share/chat/index.txt,sha256=
|
325
|
+
khoj/interface/compiled/automations/index.html,sha256=vO9T8RcRVnGNFXJ963fPuk1RqtN-SI6GNL6pgRwoq5s,55923
|
326
|
+
khoj/interface/compiled/automations/index.txt,sha256=1sTq6jmLg8x8UgO8v8cOHGMzUJQkGGzIF5wTpN0Suxg,8303
|
327
|
+
khoj/interface/compiled/chat/index.html,sha256=KfJC7IAnOYO0rpW2jgtQVxd7UVlI926JaoPcNSBFbgs,56251
|
328
|
+
khoj/interface/compiled/chat/index.txt,sha256=KB-YRalrtFWYBGomqVnRM45BFwf4at307ph32Rnz_KA,9342
|
329
|
+
khoj/interface/compiled/search/index.html,sha256=vV8IkMf3LYweCkqqPnLyZTte2ly8vHTWPUIKTW1T0QA,58213
|
330
|
+
khoj/interface/compiled/search/index.txt,sha256=HJmBqbCCc-4sjBCLucLTiEB-BSA2YAHzyU_-IrP48FI,7990
|
331
|
+
khoj/interface/compiled/settings/index.html,sha256=T-O7qzEJ9eCF-sn1PDklJ9xCdehIVTd2C84A_hTnWHg,55947
|
332
|
+
khoj/interface/compiled/settings/index.txt,sha256=qcwK_e76gnLDPRUBrSDFhkiU8xLwd3N2yKGjtIXUIAA,9431
|
333
|
+
khoj/interface/compiled/share/chat/index.html,sha256=QYcHff-Yhj7Az5YHRO_mFuzk2HIhqEiF7NtwLHyLVsI,56843
|
334
|
+
khoj/interface/compiled/share/chat/index.txt,sha256=g0Qwb4d_o5yN_FakxaCErV3NTX5bH9R9MdfkSgqRLz4,9810
|
335
335
|
khoj/interface/email/feedback.html,sha256=xksuPFamx4hGWyTTxZKRgX_eiYQQEuv-eK9Xmkt-nwU,1216
|
336
336
|
khoj/interface/email/magic_link.html,sha256=372ESbTPKM9acekuZcOIKOw6kBl-KikFg_L9MOHqJkg,2094
|
337
337
|
khoj/interface/email/task.html,sha256=tY7a0gzVeQ2lSQNu7WyXR_s7VYeWTrxWEj1iHVuoVE4,2813
|
@@ -387,17 +387,17 @@ khoj/processor/conversation/prompts.py,sha256=wM7XmOztzFdHN4xXe340bahVt9rb96SSE4
|
|
387
387
|
khoj/processor/conversation/utils.py,sha256=TYASt3HV3Rm0s2oc9yBZu7H52O7D2kpPiRJhBpouiJE,33942
|
388
388
|
khoj/processor/conversation/anthropic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
389
389
|
khoj/processor/conversation/anthropic/anthropic_chat.py,sha256=lFsHMq1WgW7r9KWYOlYR0jqj-7xfwyP9Iw9MIOcTbhg,9228
|
390
|
-
khoj/processor/conversation/anthropic/utils.py,sha256=
|
390
|
+
khoj/processor/conversation/anthropic/utils.py,sha256=Yns9eVGcLFlJDz17EVBCvjj31zNM3AXhVV-23W06_Pc,9460
|
391
391
|
khoj/processor/conversation/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
392
|
-
khoj/processor/conversation/google/gemini_chat.py,sha256=
|
393
|
-
khoj/processor/conversation/google/utils.py,sha256=
|
392
|
+
khoj/processor/conversation/google/gemini_chat.py,sha256=jTAwoSxZb57KFKVDpAqv48hTaBrClPxDZ0qIZcyg2PY,9250
|
393
|
+
khoj/processor/conversation/google/utils.py,sha256=Zoz5A-esxCKvi8mJl80Deaarv_5wpOPx6WPfydwtUxk,11962
|
394
394
|
khoj/processor/conversation/offline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
395
395
|
khoj/processor/conversation/offline/chat_model.py,sha256=Sr0VpCipeWdEnuOQjgBo89uPZzQkQRSdTo5fm0EZTpI,11326
|
396
396
|
khoj/processor/conversation/offline/utils.py,sha256=51McImxl6u1qgRYvMt7uzsgLGSLq5SMFy74ymlNjIcc,3033
|
397
397
|
khoj/processor/conversation/offline/whisper.py,sha256=DJI-8y8DULO2cQ49m2VOvRyIZ2TxBypc15gM8O3HuMI,470
|
398
398
|
khoj/processor/conversation/openai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
399
|
-
khoj/processor/conversation/openai/gpt.py,sha256=
|
400
|
-
khoj/processor/conversation/openai/utils.py,sha256=
|
399
|
+
khoj/processor/conversation/openai/gpt.py,sha256=svdfFZtQz5J9Wf3aOn750u89Qj6Ys-xXEn0ZP7eRr1E,8965
|
400
|
+
khoj/processor/conversation/openai/utils.py,sha256=N8V8RuxvmPNsb0sJTCjTcTSzSC4Bh6LubS0RerMlOVw,9522
|
401
401
|
khoj/processor/conversation/openai/whisper.py,sha256=zoEeK1LNCg_tzP4xzYi5vRPzNPGuDGzpkrkG7d1LUn4,447
|
402
402
|
khoj/processor/image/generate.py,sha256=FAIIsr8TIHxWxK-INNK4jJOOswBxQFyi_G4tI8NNEI8,10571
|
403
403
|
khoj/processor/speech/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -415,9 +415,9 @@ khoj/routers/api_phone.py,sha256=p9yfc4WeMHDC0hg3aQk60a2VBy8rZPdEnz9wdJ7DzkU,220
|
|
415
415
|
khoj/routers/api_subscription.py,sha256=qnbKwA6N1TWK8Aiu1FFLka_JhbPOuwqT262NSHGZDiQ,5569
|
416
416
|
khoj/routers/auth.py,sha256=W6iKUDdZ4rUwl-LAjiunTjvKJtEupVRIOSKXBseMXMY,10659
|
417
417
|
khoj/routers/email.py,sha256=wvr6_fpk0RuKcTPC6suI8JDZPLYzJ9hAhz_G41yZytc,3923
|
418
|
-
khoj/routers/helpers.py,sha256=
|
418
|
+
khoj/routers/helpers.py,sha256=qqwbMjcnMtT3Hiy_SHZaCHZ7DL0AWBWLkx4mkb9LsxI,96731
|
419
419
|
khoj/routers/notion.py,sha256=g53xyYFmjr2JnuIrTW2vytbfkiK_UkoRTxqnnLSmD5o,2802
|
420
|
-
khoj/routers/research.py,sha256=
|
420
|
+
khoj/routers/research.py,sha256=RJWJa2BzZQEB9bE0a4DBL_Gw0Vwis4eJmqdxJC-Pfuw,18161
|
421
421
|
khoj/routers/storage.py,sha256=lao0DvsF49QleZvOdjKM98RU2cGfCJDBb7WeoI7Rr3I,2172
|
422
422
|
khoj/routers/twilio.py,sha256=MLsuCm4--ETvr3sLxbF0CL_ehlg_l2rKBSLR2Qh2Xls,1081
|
423
423
|
khoj/routers/web_client.py,sha256=_vyfDaHZZjNoI2LwGNQFRiFmGLkNcgYJe7dOr3mrxH8,4386
|
@@ -431,17 +431,17 @@ khoj/search_type/text_search.py,sha256=PZzJVCXpeBM795SIqiAKXAxgnCp1NIRiVikm040r1
|
|
431
431
|
khoj/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
432
432
|
khoj/utils/cli.py,sha256=IIZ2qH0v7Jmqw3JRH1K5EMp9TRze6en3GYsASnglMEM,3916
|
433
433
|
khoj/utils/config.py,sha256=aiOkH0je8A30DAGYTHMRePrgJonFv_i07_7CdhhhcdA,1805
|
434
|
-
khoj/utils/constants.py,sha256=
|
434
|
+
khoj/utils/constants.py,sha256=nMOZy2lfxI8H4zAGOI81QXPQsL1HJWkXB3Hs-UBC4M8,2848
|
435
435
|
khoj/utils/fs_syncer.py,sha256=5nqwAZqRk3Nwhkwd8y4IomTPZQmW32GwAqyMzal5KyY,9996
|
436
|
-
khoj/utils/helpers.py,sha256=
|
436
|
+
khoj/utils/helpers.py,sha256=SRAotrYgxvyzti4FXdOAL7tjdxplRtGyaCK5tDJqPy0,27290
|
437
437
|
khoj/utils/initialization.py,sha256=wDBlLAmKWKYEpZKEyxbOo0Cos9_CrUoVLkiy9SwqzfY,14723
|
438
438
|
khoj/utils/jsonl.py,sha256=0Ac_COqr8sLCXntzZtquxuCEVRM2c3yKeDRGhgOBRpQ,1192
|
439
439
|
khoj/utils/models.py,sha256=Q5tcC9-z25sCiub048fLnvZ6_IIO1bcPNxt5payekk0,2009
|
440
440
|
khoj/utils/rawconfig.py,sha256=wfZTk-Aifb-_q9Yh-NPfh9LlLTioYG-yBqrasgvo4pc,5045
|
441
441
|
khoj/utils/state.py,sha256=axjZhnby8L3bY-N1VVoWgBH1RpFGK6U3_ZeNo1Kt7hs,1679
|
442
442
|
khoj/utils/yaml.py,sha256=qy1Tkc61rDMesBw_Cyx2vOR6H-Hngcsm5kYfjwQBwkE,1543
|
443
|
-
khoj-1.37.
|
444
|
-
khoj-1.37.
|
445
|
-
khoj-1.37.
|
446
|
-
khoj-1.37.
|
447
|
-
khoj-1.37.
|
443
|
+
khoj-1.37.3.dev5.dist-info/METADATA,sha256=aJoOKdgkeQ_13D-dN7EyBsHkX5TesUcbrCZM0IiFgl0,7720
|
444
|
+
khoj-1.37.3.dev5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
445
|
+
khoj-1.37.3.dev5.dist-info/entry_points.txt,sha256=KBIcez5N_jCgq_ER4Uxf-e1lxTBMTE_BBjMwwfeZyAg,39
|
446
|
+
khoj-1.37.3.dev5.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
|
447
|
+
khoj-1.37.3.dev5.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
div.chat_main__8xQu5{height:100%;color:hsla(var(--foreground));margin-left:auto;margin-right:auto}.chat_suggestions__m8n2t{display:flex;overflow-x:none;height:50%;padding:10px;white-space:nowrap;gap:1rem}div.chat_inputBox__LOFws{border:1px solid var(--border-color);margin-bottom:20px;gap:12px;align-content:center}input.chat_inputBox__LOFws{border:none}input.chat_inputBox__LOFws:focus{outline:none;background-color:transparent}div.chat_inputBox__LOFws:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.chat_chatBodyFull__FfKEK{display:grid;grid-template-columns:1fr;height:auto}button.chat_inputBox__LOFws{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.chat_chatBody__sS1LX{display:grid;grid-template-columns:1fr 1fr;height:100%}.chat_inputBox__LOFws{color:hsla(var(--foreground))}div.chat_chatLayout__pR203{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}div.chat_chatBox__FBct_{display:grid;height:100%}div.chat_titleBar__R5QlK{display:grid;grid-template-columns:1fr auto}div.chat_chatBoxBody__qT_SC{display:grid;height:100%;width:100%;margin:auto}div.chat_agentIndicator__8V55w a{display:flex;text-align:center;align-content:center;align-items:center}div.chat_agentIndicator__8V55w{padding:10px}div.chat_chatTitleWrapper__6ChWq{grid-template-columns:1fr auto}@media screen and (max-width:768px){div.chat_inputBox__LOFws{margin-bottom:0}div.chat_chatBoxBody__qT_SC{width:100%}div.chat_chatBody__sS1LX{grid-template-columns:0fr 1fr}div.chat_chatBox__FBct_{padding:0;height:100%}div.chat_chatLayout__pR203{gap:0;grid-template-columns:1fr}}
|
@@ -1 +0,0 @@
|
|
1
|
-
div.sharedChat_main__7Nayy{height:100%;color:hsla(var(--foreground));margin-left:auto;margin-right:auto}.sharedChat_suggestions__V8kr_{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;justify-content:center}div.sharedChat_inputBox__wRW5A{border:1px solid var(--border-color);margin-bottom:20px;gap:12px;align-content:center}input.sharedChat_inputBox__wRW5A{border:none}input.sharedChat_inputBox__wRW5A:focus{outline:none;background-color:transparent}div.sharedChat_inputBox__wRW5A:focus{box-shadow:0 8px 16px 0 rgba(0,0,0,.2)}div.sharedChat_chatBodyFull__O1MOv{display:grid;grid-template-columns:1fr;height:auto}button.sharedChat_inputBox__wRW5A{border:none;outline:none;background-color:transparent;cursor:pointer;border-radius:.5rem;padding:.5rem;background:linear-gradient(var(--calm-green),var(--calm-blue))}div.sharedChat_chatBody__OnHDL{display:grid;grid-template-columns:1fr 1fr;height:100%}.sharedChat_inputBox__wRW5A{color:hsla(var(--foreground))}div.sharedChat_chatLayout__gutlc{display:grid;grid-template-columns:auto 1fr;gap:1rem;width:100%}div.sharedChat_chatBox__PmAPg{display:grid;height:100%}div.sharedChat_titleBar__vOHp_{display:grid;grid-template-columns:1fr auto}div.sharedChat_chatBoxBody__ef2Nl{display:grid;height:100%;width:100%;margin:auto}div.sharedChat_agentIndicator__ORCl4 a{display:flex;text-align:center;align-content:center;align-items:center}div.sharedChat_agentIndicator__ORCl4{padding:10px}@media (max-width:768px){div.sharedChat_chatBody__OnHDL{grid-template-columns:0fr 1fr}}@media screen and (max-width:768px){div.sharedChat_inputBox__wRW5A{margin-bottom:0}div.sharedChat_chatBoxBody__ef2Nl{width:100%}div.sharedChat_chatLayout__gutlc{gap:0;grid-template-columns:1fr}}div.chatHistory_chatHistory__CoaVT{display:flex;flex-direction:column;height:100%;margin:auto}div.chatHistory_agentIndicator__wOU1f a{display:flex;text-align:center;align-content:center;align-items:center}div.chatHistory_trainOfThought__mMWSR{padding:8px 16px;margin:12px}div.chatMessage_chatMessageContainer__sAivf{display:flex;flex-direction:column;margin:12px;border-radius:16px;padding:8px 16px 0;word-break:break-word}div.chatMessage_chatMessageWrapper__u5m8A{padding-left:1rem;padding-bottom:1rem}div.chatMessage_chatMessageWrapper__u5m8A ol,div.chatMessage_chatMessageWrapper__u5m8A p:not(:last-child),div.chatMessage_chatMessageWrapper__u5m8A ul{margin-bottom:16px}div.chatMessage_chatMessageWrapper__u5m8A a span{display:revert!important}div.chatMessage_khojfullHistory__NPu2l{padding-left:4px}div.chatMessage_youfullHistory__ioyfH{max-width:100%}div.chatMessage_chatMessageContainer__sAivf.chatMessage_youfullHistory__ioyfH{padding-left:0}div.chatMessage_you__6GUC4{background-color:hsla(var(--secondary));align-self:flex-end;border-radius:16px}div.chatMessage_khoj__cjWON{background-color:transparent;color:hsl(var(--accent-foreground));align-self:flex-start}div.chatMessage_khojChatMessage__BabQz{padding-top:8px;padding-left:16px}div.chatMessage_emptyChatMessage__J9JRn{display:none}div.chatMessage_imagesContainer__HTRjT{display:flex;overflow-x:auto;padding-bottom:8px;margin-bottom:8px}div.chatMessage_imageWrapper__DF92M{flex:0 0 auto;margin-right:8px}div.chatMessage_imageWrapper__DF92M img{width:auto;height:128px;-o-object-fit:cover;object-fit:cover;border-radius:8px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{height:512px}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M{flex:1 1 auto}div.chatMessage_khoj__cjWON div.chatMessage_imagesContainer__HTRjT{display:flex;flex-wrap:wrap;flex-direction:row;overflow-x:hidden}div.chatMessage_chatMessageContainer__sAivf>img{width:auto;height:auto;max-width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;display:block;margin-top:.25rem;margin-right:auto}div.chatMessage_chatMessageContainer__sAivf h3 img{width:24px}div.chatMessage_you__6GUC4{color:hsla(var(--secondary-foreground))}div.chatMessage_author__muRtC{font-size:.75rem;color:grey;text-align:right}div.chatMessage_chatFooter__0vR8s{display:flex;justify-content:space-between;min-height:28px}div.chatMessage_chatButtons__Lbk8T{display:flex;justify-content:flex-end;width:-moz-min-content;width:min-content;border:1px solid var(--border-color);border-radius:16px;position:relative;bottom:-12px;background-color:hsla(var(--secondary))}div.chatMessage_chatFooter__0vR8s button{cursor:pointer;color:hsl(var(--muted-foreground));border:none;border-radius:16px;padding:4px;margin-left:4px;margin-right:4px}div.chatMessage_chatFooter__0vR8s button:hover{background-color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv{cursor:pointer;float:right;border-radius:8px}button.chatMessage_codeCopyButton__Y_Ujv:hover{color:hsla(var(--frosted-background-color))}button.chatMessage_codeCopyButton__Y_Ujv img,button.chatMessage_copyButton__jd7q7 img,div.chatMessage_feedbackButtons___Brdy img{width:24px}div.chatMessage_trainOfThought__mR2Gg strong{font-weight:500}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb strong{font-weight:500;color:hsla(var(--secondary-foreground))}div.chatMessage_trainOfThought__mR2Gg.chatMessage_primary__WYPEb p{color:inherit}div.chatMessage_trainOfThoughtElement__le_bC{display:grid;grid-template-columns:auto 1fr;align-items:start}div.chatMessage_trainOfThoughtElement__le_bC ol,div.chatMessage_trainOfThoughtElement__le_bC ul{margin:auto;word-break:break-word}@media screen and (max-width:768px){div.chatMessage_youfullHistory__ioyfH{max-width:90%}div.chatMessage_khoj__cjWON div.chatMessage_imageWrapper__DF92M img{width:100%;height:auto}}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2) format("woff2"),url(/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff) format("woff"),url(/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2) format("woff2"),url(/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff) format("woff"),url(/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2) format("woff2"),url(/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff) format("woff"),url(/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Bold.d181c465.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff) format("woff"),url(/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Italic.8916142b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Italic.9024d815.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2) format("woff2"),url(/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff) format("woff"),url(/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff) format("woff"),url(/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2) format("woff2"),url(/_next/static/media/KaTeX_Math-Italic.5295ba48.woff) format("woff"),url(/_next/static/media/KaTeX_Math-Italic.939bc644.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2) format("woff2"),url(/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff) format("woff"),url(/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2) format("woff2"),url(/_next/static/media/KaTeX_Script-Regular.07505710.woff) format("woff"),url(/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff) format("woff"),url(/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size2-Regular.57727022.woff) format("woff"),url(/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff) format("woff"),url(/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2) format("woff2"),url(/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff) format("woff"),url(/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2) format("woff2"),url(/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff) format("woff"),url(/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.21"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.suggestions_card__fbiZo{border-radius:.5rem}.suggestions_title__vNozc{font-size:1rem}.suggestions_text__J_IfY{padding-top:.2rem;font-size:.9rem;white-space:wrap;padding-right:4px;color:#000}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|