@anuma/sdk 6.36.0 → 6.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -704,8 +704,8 @@ var createClient = (config = {}) => {
704
704
  data = await response[parseAs]();
705
705
  break;
706
706
  case "json": {
707
- const text12 = await response.text();
708
- data = text12 ? JSON.parse(text12) : {};
707
+ const text13 = await response.text();
708
+ data = text13 ? JSON.parse(text13) : {};
709
709
  break;
710
710
  }
711
711
  case "stream":
@@ -3977,8 +3977,8 @@ var ATTACHED_FILES_OPEN_TAG = "<attached_files>";
3977
3977
  var ATTACHED_FILES_CLOSE_TAG = "</attached_files>";
3978
3978
  var ATTACHED_FILES_PREFIX = `${ATTACHED_FILES_OPEN_TAG}
3979
3979
  The user attached the following file(s) to this message. Their extracted contents are below; when the user refers to "the attached file", "this file" or "the document", they mean these.`;
3980
- function isAttachedFilesText(text12) {
3981
- return typeof text12 === "string" && text12.startsWith(ATTACHED_FILES_PREFIX) && text12.endsWith(ATTACHED_FILES_CLOSE_TAG);
3980
+ function isAttachedFilesText(text13) {
3981
+ return typeof text13 === "string" && text13.startsWith(ATTACHED_FILES_PREFIX) && text13.endsWith(ATTACHED_FILES_CLOSE_TAG);
3982
3982
  }
3983
3983
  function buildAttachedFilesText(fileContext) {
3984
3984
  return `${ATTACHED_FILES_PREFIX}
@@ -4163,7 +4163,7 @@ function extractUserMessageFromMessages(messages) {
4163
4163
  }
4164
4164
 
4165
4165
  // src/lib/db/chat/operations.ts
4166
- function messageToStoredRaw(message, projection) {
4166
+ function messageToStoredRaw(message, projection2) {
4167
4167
  const convId = String(message._getRaw("conversation_id"));
4168
4168
  const parseJsonField = (rawValue) => {
4169
4169
  if (!rawValue) return void 0;
@@ -4177,7 +4177,7 @@ function messageToStoredRaw(message, projection) {
4177
4177
  }
4178
4178
  return rawValue;
4179
4179
  };
4180
- const skipEmbeddings = projection?.skipEmbeddings === true;
4180
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
4181
4181
  const sourcesRaw = message._getRaw("sources");
4182
4182
  const vectorRaw = skipEmbeddings ? null : message._getRaw("vector");
4183
4183
  const chunksRaw = skipEmbeddings ? null : message._getRaw("chunks");
@@ -4211,8 +4211,8 @@ function messageToStoredRaw(message, projection) {
4211
4211
  origin: message.origin
4212
4212
  };
4213
4213
  }
4214
- async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection) {
4215
- const baseMessage = messageToStoredRaw(message, projection);
4214
+ async function messageToStored(message, walletAddress, signMessage, embeddedWalletSigner, projection2) {
4215
+ const baseMessage = messageToStoredRaw(message, projection2);
4216
4216
  if (walletAddress) {
4217
4217
  return await decryptMessageFields(
4218
4218
  baseMessage,
@@ -4226,7 +4226,7 @@ async function messageToStored(message, walletAddress, signMessage, embeddedWall
4226
4226
  function rawDate(value) {
4227
4227
  return new Date(typeof value === "number" ? value : 0);
4228
4228
  }
4229
- function messageRawToStoredRaw(raw, projection) {
4229
+ function messageRawToStoredRaw(raw, projection2) {
4230
4230
  const parseJsonField = (rawValue) => {
4231
4231
  if (!rawValue) return void 0;
4232
4232
  if (typeof rawValue === "string") {
@@ -4239,7 +4239,7 @@ function messageRawToStoredRaw(raw, projection) {
4239
4239
  }
4240
4240
  return rawValue;
4241
4241
  };
4242
- const skipEmbeddings = projection?.skipEmbeddings === true;
4242
+ const skipEmbeddings = projection2?.skipEmbeddings === true;
4243
4243
  const vectorRaw = skipEmbeddings ? null : raw.vector;
4244
4244
  const chunksRaw = skipEmbeddings ? null : raw.chunks;
4245
4245
  return {
@@ -4270,8 +4270,8 @@ function messageRawToStoredRaw(raw, projection) {
4270
4270
  origin: raw.origin
4271
4271
  };
4272
4272
  }
4273
- async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection) {
4274
- const baseMessage = messageRawToStoredRaw(raw, projection);
4273
+ async function messageRawToStored(raw, walletAddress, signMessage, embeddedWalletSigner, projection2) {
4274
+ const baseMessage = messageRawToStoredRaw(raw, projection2);
4275
4275
  if (walletAddress) {
4276
4276
  return await decryptMessageFields(
4277
4277
  baseMessage,
@@ -5154,49 +5154,49 @@ function makeSyntheticStoredConversation(opts, defaultTitle) {
5154
5154
  var DEFAULT_CHUNK_SIZE = 400;
5155
5155
  var DEFAULT_CHUNK_OVERLAP = 50;
5156
5156
  var DEFAULT_MIN_CHUNK_SIZE = 50;
5157
- function splitIntoSentences(text12) {
5157
+ function splitIntoSentences(text13) {
5158
5158
  const sentenceRegex = /[.!?]+[\s"')}\]]*(?=\s|$)/g;
5159
5159
  const sentences = [];
5160
5160
  let lastIndex = 0;
5161
5161
  let match;
5162
- while ((match = sentenceRegex.exec(text12)) !== null) {
5162
+ while ((match = sentenceRegex.exec(text13)) !== null) {
5163
5163
  const endIndex = match.index + match[0].length;
5164
- const sentence = text12.slice(lastIndex, endIndex).trim();
5164
+ const sentence = text13.slice(lastIndex, endIndex).trim();
5165
5165
  if (sentence) {
5166
5166
  sentences.push(sentence);
5167
5167
  }
5168
5168
  lastIndex = endIndex;
5169
5169
  }
5170
- const remaining = text12.slice(lastIndex).trim();
5170
+ const remaining = text13.slice(lastIndex).trim();
5171
5171
  if (remaining) {
5172
5172
  sentences.push(remaining);
5173
5173
  }
5174
5174
  return sentences;
5175
5175
  }
5176
- function chunkText(text12, options) {
5176
+ function chunkText(text13, options) {
5177
5177
  const {
5178
5178
  chunkSize = DEFAULT_CHUNK_SIZE,
5179
5179
  chunkOverlap: requestedOverlap = DEFAULT_CHUNK_OVERLAP,
5180
5180
  minChunkSize = DEFAULT_MIN_CHUNK_SIZE
5181
5181
  } = options ?? {};
5182
5182
  const chunkOverlap = Math.min(requestedOverlap, chunkSize - 1);
5183
- if (text12.length <= chunkSize) {
5183
+ if (text13.length <= chunkSize) {
5184
5184
  return [
5185
5185
  {
5186
- text: text12.trim(),
5186
+ text: text13.trim(),
5187
5187
  startOffset: 0,
5188
- endOffset: text12.length
5188
+ endOffset: text13.length
5189
5189
  }
5190
5190
  ];
5191
5191
  }
5192
- const sentences = splitIntoSentences(text12);
5192
+ const sentences = splitIntoSentences(text13);
5193
5193
  const chunks2 = [];
5194
5194
  let currentChunkSentences = [];
5195
5195
  let currentChunkStart = 0;
5196
5196
  let currentOffset = 0;
5197
5197
  for (let i = 0; i < sentences.length; i++) {
5198
5198
  const sentence = sentences[i];
5199
- let sentenceStart = text12.indexOf(sentence, currentOffset);
5199
+ let sentenceStart = text13.indexOf(sentence, currentOffset);
5200
5200
  if (sentenceStart === -1) {
5201
5201
  sentenceStart = currentOffset;
5202
5202
  }
@@ -5243,7 +5243,7 @@ function chunkText(text12, options) {
5243
5243
  if (overlapSentences.length > 0) {
5244
5244
  currentChunkSentences = [...overlapSentences, sentence];
5245
5245
  const overlapText = overlapSentences[0];
5246
- const overlapStart = text12.lastIndexOf(overlapText, currentOffset);
5246
+ const overlapStart = text13.lastIndexOf(overlapText, currentOffset);
5247
5247
  currentChunkStart = overlapStart === -1 ? sentenceStart : overlapStart;
5248
5248
  } else {
5249
5249
  currentChunkSentences = [sentence];
@@ -5263,18 +5263,18 @@ function chunkText(text12, options) {
5263
5263
  chunks2.push({
5264
5264
  text: chunkText2,
5265
5265
  startOffset: currentChunkStart,
5266
- endOffset: text12.length
5266
+ endOffset: text13.length
5267
5267
  });
5268
5268
  }
5269
5269
  }
5270
5270
  if (chunks2.length === 0) {
5271
- const trimmedText = text12.trim();
5271
+ const trimmedText = text13.trim();
5272
5272
  if (trimmedText.length > 0) {
5273
5273
  return [
5274
5274
  {
5275
5275
  text: trimmedText,
5276
5276
  startOffset: 0,
5277
- endOffset: text12.length
5277
+ endOffset: text13.length
5278
5278
  }
5279
5279
  ];
5280
5280
  }
@@ -5374,16 +5374,16 @@ function embeddingErrorFrom(response) {
5374
5374
  const message = typeof response.error === "object" && response.error && "error" in response.error ? response.error.error : "API embedding failed";
5375
5375
  return new EmbeddingHttpError(message, response.response?.status);
5376
5376
  }
5377
- async function generateEmbedding(text12, options) {
5377
+ async function generateEmbedding(text13, options) {
5378
5378
  const total = options.totalTimeoutMs;
5379
- if (total === void 0) return embedOne(text12, options, void 0);
5380
- return withDeadline((signal) => embedOne(text12, options, signal), total, "embedding");
5379
+ if (total === void 0) return embedOne(text13, options, void 0);
5380
+ return withDeadline((signal) => embedOne(text13, options, signal), total, "embedding");
5381
5381
  }
5382
- async function embedOne(text12, options, outer) {
5382
+ async function embedOne(text13, options, outer) {
5383
5383
  const { baseUrl = BASE_URL, model, cache } = options;
5384
5384
  const timeoutMs = options.timeoutMs ?? DEFAULT_EMBEDDING_REQUEST_TIMEOUT_MS;
5385
5385
  if (cache) {
5386
- const cached = cache.get(text12);
5386
+ const cached = cache.get(text13);
5387
5387
  if (cached) return Array.from(cached);
5388
5388
  }
5389
5389
  const headers = await resolveAuthHeaders(options, outer);
@@ -5392,7 +5392,7 @@ async function embedOne(text12, options, outer) {
5392
5392
  (signal) => postApiV1Embeddings({
5393
5393
  baseUrl,
5394
5394
  body: {
5395
- input: options.maskInput ? options.maskInput(text12) : text12,
5395
+ input: options.maskInput ? options.maskInput(text13) : text13,
5396
5396
  model: model ?? DEFAULT_API_EMBEDDING_MODEL
5397
5397
  },
5398
5398
  headers,
@@ -5419,7 +5419,7 @@ async function embedOne(text12, options, outer) {
5419
5419
  }
5420
5420
  const f32Embedding = Float32Array.from(embedding);
5421
5421
  if (cache) {
5422
- cache.set(text12, f32Embedding);
5422
+ cache.set(text13, f32Embedding);
5423
5423
  }
5424
5424
  return Array.from(f32Embedding);
5425
5425
  }
@@ -5753,10 +5753,10 @@ var cryptoPriceCentroid = [0.025576787463333337, 0.0017598020599999997, -0.01339
5753
5753
  var noCryptoPriceCentroid = [0.015473095138684206, 0.0031634101517105263, -0.011257569272697374, -0.02186071628118421, 0.008889833600921049, -0.006683160151842105, -0.009353561542368423, 0.01352172231447368, -0.01804750482084211, -0.00367377302894737, -0.02944732364736842, -0.002762284484078947, 0.033265779919736845, -0.006296026233684209, 0.022671929989210516, -0.0011530866775394733, 0.007070449366500001, -0.0050351310097368415, 0.010799295548421052, 8887227547368423e-20, 0.016334833743289468, 0.014258147745263154, 0.009584979092368422, 0.003050773904342107, -0.013426355076315791, 0.03582639014592105, -0.01160198427105263, -0.012974957788421051, -0.0031303864967105266, 0.021372544676315785, -0.02374843410263159, -0.009223416682894739, 0.005602822635394739, 0.02924898819473684, -0.014123551471890794, 0.019027650408421047, -0.005074793619605263, -4600031255263159e-19, 0.010498459563947368, -0.011094227593421054, 0.010249076817105258, -5753623577631579e-19, -0.005674418818421051, -0.00447285064486842, -0.005516097867105263, -0.007470266562368424, -0.005471375803289476, -0.006780112021052632, 0.007059772195657894, 0.0021554959672368413, 0.004705735464473685, -0.02317132775394737, -0.011564555390789474, -0.002422056378552632, -0.006380764081578948, -0.004005146213289473, -0.00794062262769737, 0.01414054164342105, -0.01016237577355263, 0.003978143405131578, -0.03655277326578946, 0.006158242906276315, 0.004217046339078946, -0.008940671309210528, -0.00673433677186842, 0.010728261618421055, 0.005998754786184212, -0.012994214264868421, 0.01220040680802632, -0.010796953655434208, -0.006105011632500001, 0.008011191312894737, 0.006423354985394737, 0.0012142853823684213, 0.009146709284210528, 0.022887410982105266, -0.022682944046052637, -0.020356859009684213, 0.010394592805789476, 0.022593094030263154, -7750265294736841e-19, 0.010491877809868419, -0.00632094335789474, -0.00435166075344737, -0.0033312799659210527, -0.013687921215789472, -0.0021700710893421053, -0.009265354446052636, -0.007450454793684212, -0.01119890545223684, 0.01885215469736842, -0.0016829954880263156, 0.004660542770078946, 0.01614547219013159, 0.0012384379707105267, 0.0012953595593421052, -0.019026688374473685, -0.012046473879210519, -0.01890812402105263, -0.0013315808465131577, 0.011091345418421055, 0.021520818015789468, -0.005630902795947368, -0.0019751528094210527, 0.016361938930000004, -0.006861605829210528, -0.0028363347098684204, 0.008591381667894738, -0.009064190686052631, 0.0019356226038157898, 6169263489473686e-19, 0.005576595939605265, 0.01869662389342105, 0.001262012349342105, -0.005366806441447369, -0.016217105081578947, 0.0016831897417500007, -0.0018950253057894739, -0.002175052982236842, 0.015151523774342104, 0.009984357328157894, -0.008543766583157896, -0.00730858755781579, -0.005671754766447369, 0.016222894231578945, -0.006877592555789474, -0.00339728109881579, 0.002327833744078947, -0.007433236152460526, 0.003641817336996051, -22983315413157884e-20, -0.018579861956578948, -0.002013661149605263, -0.0012221983013157892, -0.005588193124592107, 0.0017740131994736844, -0.005087314752105264, -0.0024032324010526303, -0.021181957791973682, 0.015352973211842105, 0.0014077697809210523, 0.01886358938289474, 0.0034620092081578944, 0.001262707815105263, -0.016702094776315787, 0.0024528663467105263, -0.015399577423684214, 0.013716609889342105, 0.008007916322368419, 17873636657894727e-20, 0.012559814308552636, 0.004152347459210525, -0.007167261042105263, -0.010308009533421052, -0.0118209450956579, 0.0034850848647894755, -0.01689842138618421, 0.02312426354868421, 0.018107834585526318, -0.005113781234210525, 0.0036598878982894733, -0.002219674033289473, 0.010094555771578948, -0.004721280503184208, -4728102780263162e-19, -0.005741379793631579, 0.004688492021052632, -0.009298409537368421, 0.021306954543421058, 0.002625481324473684, 0.0021689222906578947, 0.0016470091790789468, 0.021918357023684207, 0.01859015762499999, 0.008736974258815788, -0.007575892959605263, 0.0012198560669736834, -0.013031221881184206, 0.005416682665447367, 0.014852952819736842, -27517017642368397e-20, 0.01096887469118421, -0.0013455180846052635, 0.022272436745131585, 0.0067934349073684175, 0.012959732387171052, -0.02075517668026316, -0.0064723936585, -0.0038070007211315794, 0.0012372250631578945, 0.0050306169430263175, -0.006763357246763157, -0.006772821312763157, 0.010125664042499998, 0.002038023320000001, 0.011549378190657895, 0.0029378070836842116, 0.010960937982500004, 0.010825824704473684, 0.0021591957962631583, 0.04206184268421052, -0.024262397277631575, 0.008255900677763156, 0.009695903923947372, -0.007390906788684211, -0.008087284358947368, -0.021996855926315787, 0.011287301983684214, -5568711708289474e-19, -0.014932725518421055, 0.009245778972302627, 0.0015213949119210516, 0.009132084528947367, 0.016006044472368423, 0.011636527018026314, 0.006784626309736844, 0.013307319816763155, -0.0027379106158421057, -0.0020452238106578946, -0.004009475287105262, 0.010760948439342109, -0.008745640049473686, -0.003213084865263158, -0.002908590922105263, -0.008224298627236842, -0.01243814725003421, 0.002076089559092105, -0.009891295528947368, 0.002955430833842103, -0.026389982763157894, 0.00307576746013158, -0.019563673766447378, 0.0016621273825, -0.008313485993421054, 0.004804929035789474, -0.00549750888473684, 0.00505214069705263, -0.011755459830263165, -0.0024296008852631576, 0.00875007432236842, -0.008075735610789475, -0.01105359596322368, 0.0039991457536842105, -0.010148718380263164, 0.0025960758788157894, -0.010566656651710528, 0.012436943196578952, -0.016535537697368412, 0.01290098068868421, -0.01656991388736842, -0.007831062019144736, 0.005940865221447369, -9759450793421052e-19, -0.008620581310184207, -0.003005893026447368, -0.002761302409605262, -0.0030793885886842114, -0.006974357054078946, 9721991617105264e-19, 0.010942189804473684, 0.002026653777631579, -0.012401945011578947, 0.0033469499360526318, 0.018924720229473682, -0.005991988553184208, 0.0033316007316315788, -0.015320591599605263, -0.02128828745542763, -0.0022622942237697373, 0.0069056783826315785, 0.004446302767763156, -0.016207595330789474, 11362097776315657e-20, 0.008954130263986842, -0.010221943235789475, 0.014461354018157896, 0.0028590932341973686, -0.010514913011447373, -0.015841919529473683, -0.01389901701263158, -0.009229765706842105, 2461921435526319e-19, 0.020577489130263162, -0.022800926136842106, -0.0015163221825394738, -0.013809464157236842, 0.004897803686315791, 0.018522811494736845, -0.009630460222828948, 0.011984547498157897, 0.0111937101125, 0.015270678807631577, 0.0019252811815789483, 0.014758101361842106, -0.005758524065263159, -0.0021391250729868427, -0.010472078178684207, -0.012900316256973682, -0.0014497102297763157, 0.006431885074342107, -0.003826420850657895, 0.004125123941578948, 7190557013157885e-20, 0.005760016457894736, -0.01029894582407894, -0.014202551836842109, -0.008429392661184212, -0.004542960022631579, 0.004390327258289474, -0.017841332352631578, -0.02092670811578947, -0.011721044171184207, 0.001154552708868421, -0.008358092435263156, -0.009767428120921056, 0.00617505359518421, 0.004506490673552631, 0.0020017606636842113, -0.00796983946092105, 0.020977802086842096, -0.0075353952266447415, -0.007463197555921055, -0.012128650817236842, 0.019736432668421053, 0.002261451146973684, 0.004720614210526316, -0.009998388954473686, -0.005624677788552632, -0.022545385379078953, -0.001583800878381579, -0.002379242887671053, -0.006442413411381578, -0.00695587538394737, 0.0011264698367105268, -0.0045705394853947385, -0.0015821324533815784, 0.023414226677631576, -0.0012724761923684214, 0.023761430540263154, 0.0029503868397894734, -0.0033352330858684217, -0.011512791865657892, 0.00981099949723684, -5708729797368422e-19, 8188937956578947e-19, 0.010694227110197371, 0.008592401465789476, -35825991868421067e-20, -0.004266100294447367, 0.005692018715789475, -0.0033002098638157907, 0.004866896994999999, 0.01000889828684211, 0.006752862654868419, 0.0026472819757499995, -0.005589931472697369, -0.017258877186842114, 0.01836197345605264, 0.003980058679868421, -0.0020851821997368417, -0.006682193140302631, 0.008638199788657895, 0.01154588990657895, -0.0014030509926710529, 0.00623447043604513, 0.016997480921671054, -0.0076195284961842105, 9118090571052634e-19, -0.01740562824342105, 0.001625513271842105, -0.012645379938157893, 0.010188843557894742, -0.012510250708026317, 0.0014163581344342104, 0.007640950823026323, 0.009030281375263157, -6778679552631581e-19, -0.021454867002973686, 0.001957897549473684, 0.001193311223026316, 0.0027351965483684215, -0.05114138984210526, 9931653628947367e-19, -0.0034956210430263156, -0.011831037061315788, 0.010289316701315792, -0.006878016126315793, 0.004890278758947368, 0.005483033461842105, -0.01275958679236842, -0.01331795716276316, 0.003143929424078947, -0.0022857318045394724, 0.007633577711973686, 0.0021747185855263158, 0.005520500721710526, 0.008252045688684212, -0.014708749063026315, -0.010071718517500002, 0.004989717453947367, 0.017077984349605266, -8273659215789473e-19, 0.005120420113328947, 0.007857212020657894, -0.007720276348289473, 0.002462438197763158, -55125038157895184e-21, 0.004356982750105262, -0.00700954478736842, 0.008855195414342104, -0.007593518517105262, 5683125496052636e-19, 0.006104346186842107, 0.0018523006100263158, 0.011868568778421053, 0.008818247002631579, 0.007355409463684211, 0.014110024566184213, -0.004139245012105264, -0.008042714513815788, -0.008814672356447366, 0.010348661143157892, 0.008645756135526317, -0.0039321516707894735, -0.018719250872499996, 0.016164309558789468, 0.011362069608157893, 0.012222493691973682, 0.009424688908947371, -0.00664402617118421, -0.007866664878289475, -0.012993650039078946, -0.018103016852631583, -0.0065906644863157875, 0.004789760346776317, -0.014935053199342104, 0.014902569211842109, 0.004785409491052631, 0.007345346444473684, 0.003159245409736842, 0.01312098370328947, 0.006301784642499999, 0.005022653047368423, -0.002849895648684211, -0.0032933022748421045, 0.004350993063026316, -0.007350343983026319, 0.010007334274736844, -0.0028172315381578953, -0.011997126834394734, -0.005281044011052631, 0.017256082294736845, -0.026231524928157893, 0.001482624986578947, -0.01504677556723684, -0.006961093627631583, -0.009158235009605265, -0.010464971171052636, -0.012205843889473683, 0.013581314933421051, 0.024057515715473682, -0.026571698318421058, -39512425210526327e-20, -0.008364490104342107, 0.01043953546486842, -0.006329244778157894, 0.00677121107763158, -0.006404679137105265, -0.008498417039605265, -0.011997726845921054, -0.00819236379276316, -0.008719842036447368, 2480567830263159e-19, -0.009615319662105265, 0.010179268672105262, 0.010257863497157897, -0.002203600034342105, -0.014915970727368411, 0.010107625643947371, -0.0016536920541710522, -0.006636945585526316, -0.016858044851315784, -0.020209110402631573, -0.007010765250131577, 0.0073754879921052625, 0.019676440628368427, 0.010058316429868416, -0.026224092562236838, -0.010421548158342108, 0.004843649796842105, -0.018334794059605263, 0.007321559153421053, 0.014406508708157897, -0.013035912961381586, 0.008222181527763156, -0.002566978908289474, 0.009497600043981577, -0.0056751013231578955, 0.004298258599210526, -0.00134152910618421, 0.0017198262138157904, -0.00527642314413158, -0.006738037163421052, 8391017913947374e-19, -0.011822055771453949, -0.0023647280209210526, 0.018581314182894736, 0.0013511696361842105, -0.008034561226052629, 0.0050400383831578945, 0.011289238419736843, -0.01018335548486842, -0.008891896734736842, 0.007739089927236841, -0.014787865826578945, -0.017835246043026314, 0.0056641722032894715, -0.0059957612642105255, -0.006282649575526315, 0.016645820401710514, 0.002203326760921053, 0.0022889429653157895, -0.008153908865789473, -0.009116433642894738, 0.014059073972894742, 0.006152197939947369, 0.01395997850157895, -0.012334291357763155, 0.017010570389868414, -0.0063333831828947355, -0.0025206653310921056, 0.006800531193421053, -0.004048019489342104, -0.006107880013157895, -0.011589549206710528, -0.0023016446209210527, 0.018917020458026318, -0.0018317876103026314, 0.007985371543710523, -0.009285482378157892, -0.007067705323684211, 0.011150805990789475, -0.009777598592105264, -0.008635949183289476, -0.004163104284868419, 0.010232138396315793, -0.0019257375613157897, -5739201986842089e-20, 0.013092055408684215, 0.01974871008065789, 0.005587073321842107, 0.025888940701315793, 0.016139226412631578, -0.0011026304183986845, -0.006448130678552632, 0.0013506662108157892, -0.00879462901421053, 0.0067748442927236825, -0.002999273877368421, 5861502590000002e-19, -31988263750131585e-20, -9557692903947368e-19, -0.005667702506315793, -0.006468547942684208, -0.017199129730526317, -0.019429718929210527, -0.003644407856578948, 0.004087335838671054, -0.003677765850855264, 0.007942120783605264, 6586344227631579e-19, -0.0037614600624999986, 0.0055129023461368415, 0.011244061396578945, 0.005010426876315791, 0.0072596023613157885, -0.008378387808157896, 0.01193223011842105, 0.002783704421578947, -0.0018955311381578942, 0.016495522016315784, 0.0010300654348684207, 0.0029166797853947372, 0.0019548181412, 0.0034482197978947357, -0.01597233675447369, -0.004172262047894737, 0.004349557685394737, 0.0057765581432894725, -0.017049438059999998, -0.004525430396052631, -28143429157894773e-20, 0.008926862911842108, -0.01706470510842106, -0.009343251894078945, -0.014551790916315796, 0.0037077234910526317, -0.024520926263157893, 0.005740144142368422, 0.0053956368143421056, -0.005766834186973687, -0.012353098134999999, 0.005150600744473685, -0.002591634655236843, -0.0034600672671052644, 0.020232129807894742, 0.0019706625393421055, -0.021094935969078955, 0.013562589856578945, -0.01982315960263158, 0.0022789787307368413, 0.0030350554696052627, -0.0023380354609868425, 0.0016429701249999996, 0.0013748243807894737, -0.011015212538802624, -0.01045923693026316, -0.010230515132368417, 0.0031865286891710532, 0.019525663493815786, -0.01229977110328947, -0.01392738180263158, 0.0047192255380921035, 0.009634271472381582, -0.0036637588399210516, 0.01367465738263158, -9074315167105264e-19, 0.009034615510460526, -0.013227085239526318, -0.008698134963421054, -0.005679745975289474, 0.016064328626710523, 6854882098684209e-19, -0.02409260117894737, -0.029390496973684222, -8429490286315783e-19, 0.017532396812105267, 0.003992892611842105, -0.015176699562894741, 0.017688143694565794, 0.015704753903289473, -0.006714242723157895, 0.006966373187026316, 0.014712872807894739, 0.0048426642788421065, 0.004560759092499999, 0.014764954930526316, 0.007755880210394735, -0.0063704605949999995, 0.013370230355131577, 0.006058873911578949, -0.007236065584644737, 0.02192650811447368, -0.0036055442649473683, 0.017262371172368424, -0.019675186598421057, 0.012352453031578945, -0.019395975741052625, -0.005476996759473683, -0.003981952255394738, -0.019128493134342103, -0.006420192784736843, 0.00663706127763158, -0.00931713626539474, -0.004438600155394738, -0.0074747220036842105, -3532221511315789e-19, 0.003786715305789473, 0.002143004024210527, -0.013259830103026315, -0.019481669799736843, 0.0063924609735921045, -0.006268689519868423, 0.011194401769210527, 0.014244597600921052, -0.009581357068684208, 0.015704279303947365, 0.002868509497368421, 0.009993456976842102, -0.009288659571184214, -0.00567008211111842, -0.0016774708461842105, -0.015881515857631583, -0.0031357240957894735, 0.009431347011250004, -0.02115866819605263, -0.002224235694342105, 0.016286955564605264, 0.007042988388157893, 0.002287434175, 0.010197640378157893, -0.005280943861578946, 0.0014105266302631581, 8359535263157892e-19, 0.0047502692026315805, 0.013299677349078947, -0.0023519426788157897, -0.004674174603421053, 0.018177119728907887, -0.0014176172173881575, 0.007134867282894738, -22741002690789458e-20, -0.022838398981578946, -0.003212089612105263, 2004287202631577e-19, -0.022176862091973677, -0.020671407409605266, 0.009063825494342106, -0.016635621425526326, -0.008275760027894737, -0.010347646235000002, 0.009041304183157893, 0.0051814241601315794, 0.005795941738552632, -0.006237753602210528, -0.004308292899078948, 0.027939477830263154, 0.0022927221325526313, -0.009122603172894738, -0.012685393528368422, 0.035720136647368415, 3721588992105262e-19, -0.015025574779078942, 0.0087486222525, -0.009074244906710525, -0.01173346431697368, 0.012090590483960533, 0.016366954857105268, 0.011179668721052633, -0.0073358287721842115, -0.007733899611315792, -0.003457529575921053, -0.006236338289078949, 0.005774385420526318, -0.018860930085526313, 0.01522345625828947, -0.012091792738157891, -0.004068704780263158, -0.004178824925921053, -0.013820312269210535, -0.01096366969644737, -0.004025642653947369, -0.024534325314078946, 0.006440052884473688, -0.016726629586052633, -3620708957894737e-19, 0.0047140585557894745, 0.0018035156026315793, 0.0048402487059210535, -0.00438187360013158, -6329667841710535e-19, 0.013023098627184216, -0.0015603331286578957, -0.0015727194086052627, 0.015044479001315789, 0.003913626584973687, -0.011406708371973688, 0.009567988548947368, 0.0048712744065789486, 8060304496052634e-19, -0.0027007557632499997, -0.007984334569848683, 0.0035786119902631594, 0.008549296575394733, 0.013448384334736838, 0.003980597008986842, 0.0027732479433552628, 0.0022548364651710537, 0.01305019627302631, -0.010885881758421052, 0.0046425705302631575, -0.006159144808684208, 0.0016908100748684212, 0.010177649750394735, -0.00148574499868421, -0.007758489989078948, -0.010132687943157893, 0.010328826282539472, -0.007675625043065791, 0.010875474622368417, -10961718381578953e-20, 2469314122368423e-19, 0.01456813955157895, -0.002258910603421052, -0.006317790170921054, 0.008751932444473686, -0.009791627398947367, 0.015247204259210523, 0.010811477365789473, 0.006444553805289473, -0.009046801008342103, 0.0030660862369736833, 0.020425601981842102, 1083259947368725e-21, 0.024182386267499998, -0.017303176044473685, 0.006597084168552631, 0.001865562837526316, 0.001028871313631579, 0.01472760354684211, -0.0075378481717105275, 0.010146784916184209, -0.007357307590657895, 0.015889662872500005, -0.0010280143740789473, 0.008057754063236841, -0.0017568669571052641, -0.004133698758421052, 0.007827215762368422, 0.03512832019999999, -0.00993780903394737, -0.004260993277631579, -0.008866919430526315, -0.012339414527631576, -45847830315789447e-20, 0.00838245042193421, -0.016904068641184215, -0.01032341292509211, -0.0179430145493421, -0.005017911380025, 0.004198584343289474, -0.012134608429342105, 0.02621189465, 0.021764919877236843, -0.0016967839548684218, 0.0064469595144736845, 0.0015113159294999998, 0.01449087951447368, 0.00908490776328947, 0.0021144275999999997, -0.0023710569351315784, -0.012429141851184206, -0.007313173065394735, -0.003165631556907895, -0.005191618546052632, -0.00811820481360526, 0.006263298302894738, -4727746834342098e-19, 0.01215529816414474, 0.005959134763223686, -0.003053097290263157, 0.0022509379385526307, -0.012437947575526312, -0.017363427211052634, -0.0044620109, 0.01702834882368421, -0.0014438623280263164, 0.007209018304078949, -0.005530027731842105, -0.006350269325728949, -1933061736184215e-19, -0.012560664186842102, 0.021907004355263156, -0.00368476647618421, -0.008714235420315792, 0.006064745458157897, 0.004239938750368421, -0.003381502998157895, -0.009450509392500002, 0.021473245165789474, -0.006664313856578946, -0.007727308110131578, 0.01755496648539474, -0.008046387513815787, 0.004243436594473684, -0.0018419240855263163, -0.002696314727236842, 0.00458863617605263, -0.009136615755921052, -0.01227240456026316, 0.007315492906276317, 0.001563661388157895, -0.005130049675394736, -0.002669057950473685, -0.0014561823650000002, -0.005081315489473683, -0.019940945634210522, 0.0020929494719736843, 0.004403723249342103, -0.03075529604868421, -0.008624309510289472, 0.01228930504118421, -0.009409504784473681, 0.0011323868934210513, -5501856157894726e-19, 0.011253276619736843, -0.005881537943934211, -0.009128014259078948, -0.002782203197434212, -0.00439761305381579, 0.018774566821052625, -0.011816556899605264, -0.019359096755263157, -0.009348714950473683, -0.0010719945900657896, 0.010479289703256579, -0.011939962278157891, 0.005665995433736843, 0.006774268349210528, 0.0034390900013157896, -0.008370486944868423, 0.017960268711842104, -0.0040098660762236836, 7006663912157889e-19, 0.0015448419175000006, 0.030164748171052642, -0.013288672209210527, -0.0194342324281579, -0.014333865537368415, -0.0010687613120394742, 0.006369927146184209, -0.02037403711921052, -0.0011595645836842109, 0.012291525279210526, -0.004659846724868422, 0.014351864156447373, 0.004539899117368421, -0.011356260933815792, 0.014434559298684207, 0.003388873248815791, 6091339384210531e-19, 0.009991929092763158, 0.019049285447499998, -0.007336658402000001, 0.01645323191407895, 0.011546428464605267, -0.003781113732894739, 0.01016362579592105, 0.003369438427763157, -0.012699591561842107, -0.027960629820000003, 0.006582685929197369, -0.0014268903726315791, 0.005638759550394738, -0.006515546567039474, -0.004676419364394737, 0.008950068268947365, -0.006762236009210526, 0.010658080675000004, -0.005891587223157895, -0.014665679521842107, -0.013644553504473684, 10368947013157792e-20, -0.007762898519210526, -0.01131838790855263, -0.00988497489276316, -0.0072114894752039445, 0.0027077467686842105, 7480073221052632e-19, 0.001175619631578947, 9005636573684216e-19, -0.017333229999605265, 5094909162236838e-19, 0.012029732047368418, 0.009794908618684218, -0.01157117548918421, -0.009239849182894735, 0.005636658962236845, -0.008340407034210524, -817503516907895e-18, 0.003921638921052632, 0.005545640947368417, 0.014569629413078954, -0.00717244047236842, 0.00835087193605263, -0.008531247800499998, -0.004064330462, 0.008101339765526315, -0.01701503037605263, 0.004955823044473687, -0.0022204531394868425, -0.01208521188631579, -0.002832061093026315, -0.002318643040434209, -0.007110677303947368, 0.001033564958947368, 0.027433827638157895, 0.010220588290263156, -0.007394786349605265, -0.006538531349210523, -0.0022718601860526317, -0.004229559157973685, 0.005938436034868422, 0.01048373804263158, 0.00986031018078947, 0.020336058257894734, 0.004668691585657895, -0.011039444343815792, -0.03195965501315791, 22211712236841965e-20, 0.004621380856581578, -0.0032872489723684223, 0.0022427985402631574, 0.009466410571710526, 0.017591113605263154, -0.004106379021052631, 0.006385616363748682, -0.0040017953515789455, 0.0012984135143552632, -0.0013681684519605262, 0.006150785983582896, 0.02349364751052632, -0.003507428290921053, -0.023245202525000005, 0.0073350322506578955, -0.012751762621973684, -0.009509772432105263, -0.011624634206315787, 0.008383111918289473, 0.008738430290394734, -0.0019306551646052629, 0.004987825924447366, 0.0067051984610657905, 0.010962145944078953, -0.006160766227763156, -0.01599381954276316, -0.005996254381473684, 0.013413042621052635, -0.016699554863157894, -0.00425797138263158, -0.002346582932368421, -0.003454997969210526, 0.015414278531447364, 0.0020144495526315796, 0.004778662968414474, 0.019607659189473686, -36090899996052645e-20, -0.008492139364605267, 0.007747498233499999, -0.0013514066389473686, -0.013021238629802628, 0.02135893455000001, 0.0050934569453947335, -0.005380931788039476, 0.0034462612061184213, 0.002471601183026315, 0.0018443146213815793, -0.005110344829342106, -0.014184218227105262, -0.0043937764976315795, -0.004010257807763158, 0.007609986475131577, -0.0017383072384999994, -0.008765348437499997, 0.006436899067289473, -0.005252098280921053, 0.0012666882906842106, 7271012838815791e-19, -0.012168801171973687, -0.006950649873815789, 0.006179354461447367, 0.008584705725921056, 6826743815789457e-20, 0.005478510884342106, -0.001656087406842105, 0.004353472659210527, -0.007852758323026314, 0.00774670264888684, -0.004548253065789474, -0.00872336939763158, 0.007497302493421052, -0.003937119212631579, 0.005084670148232898, -0.006804365856578951, -0.004160022079342104, -8716827518421054e-19, -0.0018917191575000003, -0.04542618686578948, -7962240394736886e-20, 0.005303945623421051, -0.0010489784114473685, 0.0040561710610526325, -0.005575023273947369, -0.014307941818026318, -0.005483095651842106, -0.0036865826026315804, -0.007326996465921051, -0.007258892687710523, -0.017002108826973682, 0.0026596006468421053, 0.007241479605526319, -0.006855145818736838, -0.007547068765263157, -0.011135433282763159, 0.015574704355921056, 0.015176253521052627, -0.006872319883815792, 0.0017937790452631581, 0.0012157494165789468, 0.007882637975789471, 0.003405427387894736, -0.004297595478375, 0.017864616917368424, 0.0030970381859210523, -0.0023354204692105267, 0.0017386867781578944, 0.02049815361294737, -0.00913410340657895, 0.01556748598855263, 0.0014741332142105261, 0.00888697265651316, -0.008259757955789475, 0.010162209150921054, -0.015258628212236844, 0.007913002543421052, 5999896474736846e-19, 0.010361211858157896, -0.005668571334210528, 0.009625429015263158, -0.0104467670125, 82077470868421e-17, -0.0016111464500000003, 0.011819657311842107, -0.010997043170815787, 0.026556267275000003, 0.006691072826710528, 0.020695954338157893, 0.003105390495, 0.007586750871802631, -0.006386726654605265, -0.02003319237539473, 4345854440394738e-19, -0.008994508450263157, -0.026183591028947364, -0.002199864392631578, -0.0028300363084210523, 0.008933973642105263, -0.004872168878026316, -0.010508434657894736, -0.030814126236842106, 0.003977499332947367, 0.003367798314605263, -0.008800812126184209, 0.03421133572763158, 0.036882231234210514, -0.009774976162894739, 0.014867376786052633, 0.01847335194828948, 0.004703114508157895, 0.004981278706842106, -20820300881578947e-20, 0.0023825047832894738, -0.006051949050131578, 0.005748253940526316, -0.048717287638157886, 0.006936276815973685, -0.00717120160088158, -0.0011371543828947368, -633878522763158e-18, -0.009472156436842108, 0.004011299037763159, -6579590755328946e-19, 0.006974676819078946, -0.005393841788815792, -0.004757979923842104, -0.0033050710856578945, 0.011350404267631583, -0.007076194413157896, 0.0017202756382894743, 0.012773173556842102, 0.0030848825621578946, 0.0027823394973684207, -0.00670719708276316, 0.005835784166710526, 0.006515324253026317, 0.008066022838947366, 0.001960170838894737, 0.0051619980871052615, 0.0026211382473684216, -5182459471052627e-19, -0.0027954785167105234, -0.004234536522631581, -0.009315601918947366, 0.008809953131578951, -6880571447368561e-21, -7682047319210527e-19, -4287664078947533e-21, -0.008450649188421052, -0.0035262061703947374, 0.012014457226315788, 0.00802163259636842, -0.014263569363815795, -0.001529443673157895, 0.0038201108919736853, -0.0021061006564999994, -0.006485662478921053, -4953983351315789e-19, -39382826565789427e-20, 0.0028122849150000006, -0.012065431929342112, -0.004557107439381579, -0.004202265546447372, -0.006648211306315786, -0.0026814599381578944, -0.004716990799535528, 0.011677914061486841, 0.0054311442510526315, -0.009687709625394739, -0.00401446957026316, 21303643315789461e-20, -0.004548820044210527, 0.001488740388592105, -0.008498280648552632, -0.009067142177105258, -0.001475207605789474, 0.003382969827236843, -0.003364108026184211, -0.015231927833026314, -25714068360526294e-20, -0.009678724665486842, 21494394868420982e-20, 0.0069928910540789455, -0.009154249508157892, -0.014927330287236848, -0.04244073076315791, -0.009253368699736841, -0.007564927833815789, -0.006217242748684212, -0.007667895968815788, 0.012352994166578951, 0.005073167429381579, -0.005000820531315791, -0.01045439083394737, 0.0015025571015789476, 0.0064443839557894724, -0.007921140097105263, 0.01298356292368421, 0.022927954959605267, -0.005738576246052634, 0.01002808020881579, -0.0017933789327631581, -0.0036308607342026324, 0.007852910432894737, 0.008723654298289477, 0.005285313737631579, 0.013029228591842109, 0.0033245363744736855, -0.00546107157763158, -0.01238937413552632, -0.014016715163947365, -0.00480338421131579, -0.017565224993223685, -0.0010297757147368421, 0.0190754480131579, -0.016528817848684218, -1554027478552634e-19, -0.0033909335259210555, -0.02275056143078949, -0.012455294898723683, -4695065194736842e-19, -0.019497075148026316, 29407749652631535e-20, -0.004932486893276316, 800515078947368e-20, -0.019466739034210534, 0.0011483287201315788, -0.006102988706842104, 0.004115763767592106, 0.004177756370252632, -0.002618433127763157, -0.00537044665544737, -0.011829460742671057, 0.00692578045657895, 0.006913495407763157, -0.0012394369451315791, 0.004177181062190789, -0.004855147448592105, -0.009354103443947366, 0.008475817234342108, -0.0060853426540789495, 0.017770833389999994, 0.010468942911184213, -0.006522560685973683, -0.015092426563342105, 0.008636236548684206, 0.004441229959605264, 0.005320611943289475, -9800074276184207e-19, -0.010191143523026322, -0.007796377074999998, 0.005595688935526317, -0.0016283605736842112, -0.012121330430263163, 0.008727131922578948, 0.002284515743368422, 0.002682018403026316, 0.02112667354078947, -0.013087226411842108, 0.011961740068421057, -0.0029621327447368426, -0.00711086599605263, -7157445806315789e-19, 0.00296389472118421, -0.002106245437236842, -2060961381578952e-19, -0.0023762942430657894, 0.0067748971048684214, 0.02305358949394737, 0.024209113952105267, -0.0010323672338157883, 5835666469736843e-19, 0.0011928865788157893, -0.013926641433421053, -0.0010454462015131592, -0.008992499685921052, 0.005833304399473685, 0.007247240086842105, 0.007005285494078946, 0.00532119499868421, -0.002409817022763158, -0.009118484332407894, 0.00902553582131579, 0.003644393953815789, -0.001458669926578947, -0.007759722557236839, -0.015974711869276317, 0.005593415395263159, -0.00699891096894737, 0.013671992413157898, 0.0030071592296052633, -0.00725996611631579, 0.00831834310973684, 15080351578947707e-21, 0.010492338298289472, -0.011587350163157897, 0.007662332826842105, 0.008755792813026311, 0.007074787369210524, 0.01825972633684211, 0.005628270758078947, 0.013933462579342108, 4695127519736841e-19, -0.016538577678947376, 0.013688757842105262, -0.00958296806763158, -0.01084689514210526, 0.004655695267894736, 0.002764839804828948, -0.008966435890710524, 0.01818742012328948, -0.002021167613421053, 0.011088005707894739, -0.003949641440789475, 0.016206056167105264, -0.018271099290000006, 0.012128778174342108, 0.016409871427894733, -0.005132905442789474, 0.013977325583552627, 0.0027061513397368423, -0.030432116805263153, 0.009202131592500001, -0.005219011863552631, -0.02768622942105263, 0.005146511143078947, 0.016741514684210528, 0.008617631309868421, 0.001446558946578948, -0.010973319831578945, -0.002393318402447369, 0.0025146223098815794, 0.002058704305, 0.009670727197499998, 0.006972026925486846, 0.007941592818026316, 0.006313998498157896, 0.004550358204605262, 0.019503475739868426, -0.00808706035526316, 0.0014521665658289477, 0.008814657770526316, -0.0034991419792894736, 0.001152647225789473, 0.0035165233944736848, -0.008015521834605265, 0.0030662299349999986, -0.008316208095789476, 0.0018460274468421055, 0.010874037769736845, 0.0019301458946052628, 0.014981398493289479, 0.0063040013951315785, 0.0011182811667105259, -0.001531185306381579, 0.007286755069710524, 0.007252432990381575, 0.005447569480263158, 0.005672717215565791, -0.011183678003684212, 0.0010281094409210528, 0.0037040489348026313, -0.018558228386052637, -0.0024118456417105264, 0.001912976863157895, 0.004824422551335526, -0.007085397379605263, 0.010146420386052636, -0.012797370635526323, 0.005280684883421054, -0.007430231397421052, 0.0012657216987105263, -0.003414122816315788, -0.001953577547894738, 0.004944337450526315, -0.009499839262763153, -0.007726497248157897, 0.02043591631578946, 0.005235241476657896, -0.016428867193421043, -0.02316521289473684, -5283661032894735e-19, 0.0039097042727631575, -33895851092105274e-20, 0.01083217157236842, -7426432255263161e-19, -0.00391929611618421, -0.007359749506882893, -0.0035571319606578938, 0.012559667453289472, 0.0058923027007894745, 0.015785403049999997, -0.013460644672368413, 8476099292105275e-19, -0.0033159500932236833, 0.008975023673552632, -0.01474813875868421, 0.01023825899394737, -0.01589566984736842, -7458934167105253e-19, 0.015296658677631575, 0.008350472782171053, -0.01303794148592105, 0.009825855495394734, -0.0031653390423157907, -0.0023992715984210533, 0.012867784544868418, -0.007730846508157893, -0.008233608065789473, -0.00578186875105263, 7660654657894731e-19, 0.007309484258749999, -0.004728002686184211, 0.024414807685526316, 0.07103057530263161, 138350805131579e-18, -0.0227730847868421, -0.002000239483157895, -2523412961842105e-19, 0.0036002593248947363, -0.00960461145763158, -0.014719047412763165, -0.010525172183026317, -0.008946292160657896, -0.00487614558486842, -0.015348885583552638, 0.005484280077631576, 0.0047399032012368425, -0.011332118468552635, 0.018375535672368423, 0.0028248364129736837, 0.002669773003710525, -0.013733811623947365, -0.012085463925657897, -0.005202895044802634, 0.0011071545386052636, 0.002822448957105263, -0.005775769501039475, -0.007958374655000005, -0.012961527270999999, 0.008736424775394736, 0.001623934084342105, -0.0029857376405, 0.006539750386447366, -921088730657895e-18, 0.01011317570105263, 0.004816758724236842, 0.01006797531394737, -0.024919923669736846, -0.013252434965131578, 0.004975805359868419, 0.0028436151710394737, 0.026767861371052633, 0.01679312495263158, 0.0029180558214473695, -0.01334025122631579, 0.006395531258157895, 0.012167909879868426, 0.0010437845743947376, 0.015899900866315795, -0.015891970886315786, -0.007016795418947369, 0.005720414304868421, 0.014279509605394737, 0.011842180225789475, 0.012174502878815788, -0.004032991572842103, -0.01191846249868421, 0.006569720230394738, -0.007758679420881577, 0.008243021787499999, -0.0056768207752631574, -0.010259304986710528, -0.005975154729605264, 0.022218811560526314, -0.01284212495, -0.0043886743385526325, -0.007587261113289475, -0.00100997453736842, 0.007466683218736842, 0.0017474622250000002, 0.011411024255263157, 0.007287669592105263, -0.011071793518989473, -0.007791523718026317, 0.0024424171717105266, 0.010883432589473684, 0.017893625253684212, 0.008674725273447368, 0.00948412372276316, 0.004439929401005265, -0.012966921410526314, -0.009952035897894734, -0.009481836221250003, 6631337719736842e-19, 0.013784739155921056, 0.01274559315868421, 0.015312255263157895, 0.014739994169736837, 0.001961665102973683, 0.016666361813815787, -0.01601210714707894, -0.003862630162710527, 0.0017456178976315803, 0.002383359211842105, 0.005658344708289475, 0.02028012731447368, 0.0038586854298289478, -0.003930425682236844, 0.005947570116842103, 0.006645788041973682, 0.00593962558863158, -0.0055098527475, -2709300878947366e-19, -0.02526451096052632, 0.0034957235959210526, -0.004797192927499998, 0.010852291108092103, -0.0024250138515789464, -0.008193180311052631, -0.006060304734868421, -0.005015898619736843, 0.009915213199078949, 0.0049576433317105265, 13137401934210517e-20, -0.011906290325000004, 0.005487915484868421, -0.0026353010490789476, -0.006053524171552631, -0.01679510672763158, 0.0019228737013157898, 0.01702610227171053, 0.007407213732763154, 0.001119691041315789, -0.0041095490676315806, -8301038464210527e-19, 0.0033998062114736845, 0.010597575788947365, 0.014257269136842107, 0.007372944618421052, -0.0035281079432894734, -0.017203723107131575, 0.004068165850842105, 0.00382046129631579, -0.011138788382368418, 0.01527541427763158, 0.01094105444394737, 0.003186118735263158, -0.011153858221842101, -0.001682062516447369, 1102902368421087e-20, -0.007634609815394738, -0.0024121695576315794, -0.004676494936184211, -0.004374885159342105, -0.004125291510394737, 8512605788947367e-19, -0.015911860113236847, -0.01630071632578947, 0.0075893821925000025, 0.016570409282894737, -0.0028060973136842106, -0.010812139536144735, -0.0035154795997368424, -0.007599472084868421, -0.0027118450077763152, 0.003790211149736841, -0.0016624428627631574, -0.006025105557500002, -0.00271212489868421, 0.004819238931578948, -2838972343421054e-19, 0.008508885079999997, 0.0037412741409736843, 0.003480958837938158, 0.01989113539539474, -0.007170555643552633, 0.007131082274999999, -0.00324891509618421, 0.017624990426578946, -0.008696587564605262, 0.009625076661710525, -0.003385572580052631, -0.0011940798148684204, 0.013382737070394736, -0.0019341717852631578, 0.014078404609210527, 0.006157531654513156, -0.00436843442881579, 0.010804814319078945, 0.016877812977368414, -0.004866282633157894, -0.004019908407105263, -0.008622002943026319, -0.001156913919736843, 0.00860937810460526, 0.00854736410960526, 0.006645876394210526, 0.006044397847105263, -0.0029129494269078955, 0.005728795454605264, 0.003868690374868421, 14415561068421056e-20, -0.011550837929210526, 0.0024273528732894744, 0.01675736555552631, 0.008618001551842105, -0.009086696278947369, -0.0019255664260000005, 0.017823474286842108, 0.023852092268289476, 0.005640211945657894, -0.0157103212696579, 0.002671248446973685, 5732126974736841e-19, -0.003747782739723685, -0.015167234880263156, -7942613815789339e-21, 20631670931578946e-20, 0.005739634929078944, 0.008089517185263155, -0.005618019369960528, -0.004716671923026316, 0.002440650008157895, -0.013887452536578948, 0.010245098745394738, 0.011824351372763156, -0.005547870031710528, -16388543065789472e-20, -0.0074466632465789466, 0.00498810127631579, 0.015039879665789478, -0.0040669246943421085, -0.005869341766447369, -0.024218201709868412, 0.001695024713552631, -0.005041553392631579, -0.00783228454736842, -0.005132145636842107, 579431247268421e-18, 0.0026811771932894746, -0.007146641212236844, -0.008457516277105264, -0.015692255188223682, 0.024690377132894726, 20765250613157882e-20, -0.0020539644646052624, -0.005768370673684211, 0.003702322850921053, 0.004201434479473683, 0.0028723328136842103, -0.014360589550263161, 0.003967806877105263, 0.004476002342671051, 0.004944308020131578, -0.01157276546618421, -0.009082047036973684, 0.0036693403972368425, 0.009826728072236843, 0.0074656336861842094, -6485088782894734e-19, -0.0014051343403289473, 0.007369758026842101, -0.010425479788289477, 0.01821328323157895, -0.012023113507986844, 0.001740522146710527, 0.005332594062894738, -0.001378770888421052, -0.015753834223815794, 0.0076369660996052635, -0.014926969834157896, 0.0038507784668157883, -0.0041886614165, 0.005354455710657894, -9931518065789487e-20, -0.002756159138157895, 0.014061157835657897, -13951124842105257e-20, -0.013132667226578947, -0.0019348305806052633, -0.009907254651973684, 0.009314450074276314, -0.006995864365000003, -0.004312180836447369, 0.004297729036710528, 0.0047553823486842116, -0.00931211325394737, 0.021702308997368424, 0.007112765311718424, -0.008150883757249996, -0.0015760545419210529, -16017972894736844e-20, 0.0012709232195131578, 0.008913342906302628, -0.009902096786842104, 0.03158665600926315, -0.0043072190056578944, 0.007661704021052634, 0.004888625593815791, 0.003962992540921054, 0.004328961708421054, -0.0062252458030263155, -0.0073411886288157905, -0.002077252053605263, -0.011778288789210526, -0.00824901193289474, -0.0036174059680000002, 0.008596170780328946, -0.007529505605394737, 0.00450591202768421, -0.016162284833421053, -0.006285099551315791, 0.01741020744342105, -0.004753392869697369, 0.004862889815131579, 0.008373598259, 0.007595550645657895, -0.007107993389473689, -0.008475462659473682, 5595674320263158e-19, -0.0034365798056578915, -0.016078184318421052, -0.010819015256052633, -0.0018932811597368428, -0.0060824286468421015, 0.009014217587631579, -0.005298673378684211, 0.0020203203051710524, 0.0023555486237763156, -0.011414600681763159, -0.029000318375131576, 0.012605560375, -0.015203555485526316, 0.013647403227894738, -0.008804857755526316, 0.008642128292289471, -7019206473684211e-19, 0.028421054261842115, 0.010750185311184211, 0.004273382298328947, 0.014962174191052634, -0.0091029727825, 0.004545577043947365, -0.005067943168815789, -0.008576309225131579, -0.009371516520921051, -0.003953041012539474, 0.0026335486594868413, 0.0010443595075789475, -0.006137380078947367, -0.019068207819210526, -0.0066171946843947395, 0.0154603859943421, -0.03956156613026316, -0.005423286051376317, 0.0064764647446052615, 0.017917068601973684, 0.018834929819078944, -0.023795076729473678, -0.005232680938421053, 0.007063256785526317, -0.002471332747368421, -0.005540072479078948, 0.0030247992273684196, -0.041372428210526314, -0.022792676082894738, 0.01496056775592105, 7162006171052637e-20, -0.0054049346089473675, -5917285729473686e-19, -0.006140541838736841, 0.01165498020263158, 7520184688157894e-19, -0.004048719246052633, -0.004093513149078948, 0.001113782621578947, -0.00515289844513158, -0.014532121503749999, -0.005462963103684211, 0.002013934241710526, 0.006934004597374998, 0.011849665684605267, -0.02845128821973684, -0.0027645604678947374, -0.029641802678947365, 0.005846543234157898, 0.004001273209868421, 0.009660376192697369, -0.01431830397552632, -0.0034636234957236833, -0.015780388346842117, -0.0061515257567105255, 0.011677517784078944, 0.011294756013947365, 0.009406988080263162, 0.02362260060394736, 0.006315555671052633, -0.00983715779947368, -0.012793336953947368, -0.010380582411513158, -0.005019749015, 0.004049450225131579, 0.017717702139473684, 0.012014558753947363, -0.004216072575789474, 0.012309840076065792, 0.003926167156578947, -0.011685566748684212, -25353602302631577e-22, -0.005299348902368422, 0.007730379013289471, -0.0027699679941184216, -0.0069104686293421065, -0.002654266115921053, -0.012859640121842106, -0.0107146154105921, 0.004399860249078947, -0.006205988169868421, -0.002287691709381579, 0.0022477117532631575, -0.011032372216710525, 0.0038386147140789476, 0.017001313835526322, 0.003409522446052632, 0.0038818556153947365, 0.0010723420983289483, 0.007902039610460527, 0.0023776093863157894, -0.006922669011657895, -0.012493596986842102, 5051128443421054e-19, -0.003519559938197369, 0.009428645297631578, -0.0010605874422368415, -0.008557814389473686, -7813989881578948e-19, -0.008372406573684214, 9731762513157829e-20, -0.008460361298552634, -0.0022174336363157904, -0.008624776876973684, 11917679249999991e-20, 0.006416730669828947, 0.008520198330263157, 0.012873614050657895, 0.011955042275394739, 0.01041146601725, -0.007033908750526316, -0.0016643551606578938, -0.011975207748157898, -0.010176406554210527, 0.0046722559355434215, -0.019248556189473687, 0.012035626013513158, 0.005876074411052633, 0.0023601008795000006, 0.0017393916595131586, -0.006760177633552631, 0.0037472353740789477, 0.08577118239473684, -0.004266319282368422, -0.0071308153913157875, 0.002913963492236842, -0.011218220720921051, 0.0016349006751315786, -0.0019050253921052633, -0.003319563322894737, -0.004499976557500002, 0.009833074842368417, 0.007605858973947369, 0.005772069280921054, -5503060188947367e-19, 0.013013069021578944, -0.0034565342047368423, -0.01143237421848684, 0.01110795669013158, -987561984539474e-18, -0.006423849459473684, 0.00217356449263158, 0.0010567873492894734, 0.014532239263815788, 0.010447370052631582, -0.00759626205513158, -0.0022266032110526313, -0.008538287243881578, -0.01131031077157895, -0.015313536264473682, 0.005158005157763159, 0.0030549536626315785, 0.004764115755657894, -0.012034718590789474, -0.006626763940263157, 0.009110119795921048, -0.002301413071921053, 0.015578638884210528, -0.005167726482500001, 0.02117604996315789, 0.008285337067996052, -0.007844231455157892, -0.01983585482868422, 0.008469638907236843, 3119132776315813e-20, -0.001960619750092105, -0.0174250582075, 0.0024971948229210532, -0.009844892709210526, -0.00997894878157895, 0.008923550396710523, -0.015006534729868421, 0.010365114785526321, -0.01453934758578947, -0.003352099966710527, 7359328694736843e-19, -0.010912618383552628, 0.00553644026263158, -0.0020364845940789474, 0.01638792804421053, -0.002702654283236842, 8317131059210523e-19, -0.0062164165, 0.01416901248881579, -0.001157289313026316, 0.0015120998847368426, 0.018197012598026318, 0.018230856374999993, 0.0013759326027105259, -0.0022414605464473685, 0.010594263889473684, 0.0032048177697368407, 0.0015967663478421053, 0.005898981746447367, 0.0026566908555921056, 0.007526576979868416, 0.006680355165921054, -0.010573069984868419, -0.0037745313918421054, 0.005754974540473685, 0.008721350822763157, -0.004220488521921052, 0.007543852856315786, 0.002001725290789474, 3765012028947365e-19, -0.005974376834473688, -0.007132448870578947, -0.008149476120263158, 0.020858640447368428, -0.0026150683706578945, 0.0025981752977631586, 0.011055772810526318, 0.006417484732236842, 0.02127346352631579, -0.010789793555, 0.0018354179835526315, 0.01635032267421053, -0.00914016103246053, 0.00721719150447368, -0.011749975486184212, 0.007983058785, -0.0025599285438157905, -0.02525250945921052, 0.016565419086578947, -0.0049727678667105275, 0.016954254666710526, 0.0072252290184210526, 0.00663506177881579, -0.016708790731052633, -0.019179279734736834, 0.0036575822153815793, -0.0036278681642105243, 9362055535526312e-19, 0.003667399366578948, -0.005599063442105262, -0.001710235229973684, -0.0020441094883684213, 0.008895651518289471, 0.011197020705263155, -0.0096675727705921, 0.0048109815131578935, -0.009713690278157895, -6161499026315836e-20, 0.013903376549342109, -0.0037505515171052627, -0.004402282192631579, -0.00803135064986842, -0.0022901599207236834, 0.0028172990298684225, 0.005441962186973684, 0.008157506930394737, -0.005246615045631578, 0.0017373259923157893, -0.011001224905657895, 0.0012983470696052632, -0.01309617162052632, 5287650694736846e-19, -0.012678124126447364, -0.004449979991315788, 0.013012943638552632, 0.002311609178421053, 0.00852208751355263, -0.0021326908651973695, 0.006498695877500001, -0.012073736925131582, 0.010822192646592104, 0.004732820625263159, -0.003690172558684211, -0.009818942454868423, -0.00727969328513158, -0.01263686636618421, -0.003183486671921052, -0.009880075140921055, 0.002198814761578948, 0.013470662695263156, 0.00607287450868421, -6002962989999996e-19, 0.008114174997552634, 0.011275753842105262, -0.005673379224736841, 0.0031662297654605257, 0.0028777117961842117, 0.008016936837894739, 0.0017901154897368426, -0.006646555544013159, -0.008096424208289474, -0.006122036452894737, -0.0057617752151315794, 0.0011516110418421056, 0.0033034063114473684, 0.001144898634342105, 0.015016336455263162, -0.005089427256578948, 0.011095485811210526, -0.01487947794381579, 2754231664473685e-19, 0.01434458742828948, 0.004142680879736844, -0.008173420285131577, 0.009047083722894741, 0.006638912060921054, -0.010928462396842106, 0.005584001594493421, -0.006758851203157896, 0.012239943157835526, 7178325472368416e-19, 0.004164529241644737, 0.006919659793157895, 0.0018766501502631577, 0.005851904381052632, 0.01649575659144737, 0.018543284467894737, -0.004570943860131577, -0.014199454217763158, -0.004522597645789472, 0.01323128955736842, 0.009430725228289473, 4302028357894734e-19, 0.014124286351315792, 0.0014682764307894735, 0.014347456733684217, -0.004273947661315787, -0.005397340513289473, 0.004777006242105263, 0.0014340101824815783, 0.004214361838684211, 0.004253698227473684, -0.005495129646250002, -0.004944426877631579, 0.001132264872631579, -0.025759664019736846, 0.01343974873236842, 0.007074848766842105, -0.017592669572894747, 0.0017375639004473685, 0.015513802537763154, -976651714342105e-18, 0.006099546812236844, 0.009297965083289474, -0.006545829302368422, 0.002187739041315791, 0.003335506018026315, 0.0021257748652631593, 0.007083832225526319, -0.00821666152184211, 0.008502307442157893, -0.0012726394867368417, 0.003975927348552632, 0.005120596614473684, 0.005579327967368418, -0.0076789852039473696, -0.021034838578947373, 0.007545610900131577, 0.011339017010394737, 0.01220300189605263, 0.012834558334486842, 23943841328947444e-20, -0.012060543739868423, -9013390900000001e-19, -0.007001447220394739, 0.001807072239342103, -0.007920413789473684, -0.014183284144078948, 0.0032435898167105224, 0.007661070786578948, -0.009576734622368422, -24735532930263165e-20, -3279625464473687e-19, 0.00592114891631579, -0.0031360228920394744, -0.004423669705131578, -0.006236715882473684, -0.01428929095, 0.0012041522547368432, 0.009992463885789478, 0.014660581713355257, -0.012100258024789475, -0.0041604909128947366, -0.0022737396475000005, -0.005318546005078945, -0.0019765347979631576, 0.001943228074394737, 0.01009488755486842, 0.006165831676578947, 0.0018300388325000001, -18122561157894723e-20, -0.020566950382894744, -0.006887413951872369, 0.004043231116447368, 0.014405956009276313, -0.004649199056078947, 0.016667253566842104, -0.012720103426315793, -0.004804016313157894, -4011695289473683e-19, 0.004846170921052631, -0.0016384565850263162, 0.017794608296052634, -0.007291804857605264, 5409149652631579e-19, -0.005412328068421052, 0.014002738125526317, 0.007782216855789474, 0.03379361171052632, -0.0037693036657894725, 0.006207439997131578, 0.011665550201763155, -0.002727257783815789, 0.006404820097236843, -0.007757448749342103, 0.00321114124381579, -0.005974114834342104, -0.017798501374999998, 0.008996167303710525, 0.004107372101447368, 0.007539583035263157, -0.0014233594372368415, 0.00381117836013158, 0.008256078101842102, -0.0018291068210526304, 0.0019358302312894743, -0.010674378317894738, 0.0065658293554078945, -0.007450003366710528, 0.004437219244605264, -0.024618154752631582, -0.015038326359078957, -0.00463826566381579, 0.007930537400131579, 0.004519121789078946, -21704581684210515e-20, -0.007922356677894737, -0.011271936131578942, 0.006213316302368421, -0.001811201335361843, -0.06298805399342101, -0.003931348754999999, -0.002375323733289475, 0.006955065128421053, 0.011551465797368423, 0.005049561330973682, -0.004226440632631578, 0.001415731466381579, -13998377784210452e-20, -0.0011909930659210531, -0.002045448113026316, -7439456209210522e-19, 0.008089150971763161, -0.007385254353552632, 0.0017794121346052629, -0.0021466796694736847, -0.007901907795526318, -0.006739856069736841, -0.0031380352994736845, 0.0076046099585000025, -0.011527594351315795, -0.0020396639011052635, 0.001525548389342105, -0.006094216933684211, -0.0014722651828947364, -4518903077631577e-19, 0.007140101749473689, -0.011676537059210524, -0.019966328755921053, -0.0024167389288157906, -0.008110973655078945, -0.010138389487328942, 0.004652459228947369, 0.003344180307855263, -0.00269698604401316, -0.006219439502236842, -0.012621290809263159, -0.010441855874605261, -0.001525004825868421, 3106502772368417e-19, -0.02632054453157896, 0.014578032460263153, -0.004134980474473683, 11510845465789741e-21, 0.0062397942408684215, -0.0063305206980263165, -0.0032845915709868406, -0.011880825206578951, -0.004127339640789471, -0.005412744576842107, 5791435789473685e-19, -0.005604593690263158, 0.01140999920789474, -0.0035105268881578944, -0.005644377784736843, 3777405411052633e-19, 0.006655294573118422, 0.012310034789868423, -0.012314680914342105, -0.004660671697236843, 0.019227642512499997, 0.012370556660526312, 0.0018540437435131578, 2843068044736842e-19, 0.0029149404551315795, 0.001349117293078947, 0.004231145650921054, 0.005014896011447368, 0.0030759806921052636, 0.002634996195394737, -0.02146838184355263, -0.023354627235526327, 0.007463801508881578, -0.044740355858815806, 16885995480789474e-21, 0.0018187605642105266, -0.0028608081773684206, -0.019586663092236847, -0.005291358396439473, -9306446955263162e-19, 9336062423026312e-19, 0.00640387573013158, -0.05765600515921052, -0.0010193050008289466, 0.0029813614198157894, 0.0017824373404078948, -0.006496215178552631, 0.024087691802631577, -0.010348639678947369, 503021751973684e-18, -0.009403571023947366, 0.012732326389460522, -0.005403565589605263, 10905120605263125e-20, -0.008504000929605262, 0.006370600620263157, 0.018242643109210525, 0.009379113575526317, -0.01214825572302631, -0.0015711109278947369, -0.0020749150806842107, 0.0051656843653947355, -0.015150247375526317, 0.0034633881215789457, -0.0023204803727631573, 0.0013554988172368421, -0.00916673603631579, -1386599248684208e-19, -0.011236653686842102, 0.01057515615355263, 0.0038270946907894747, 0.0032054099676315792, -718647992236842e-18, -8057763245394725e-19, -0.004644138220394738, 5584668676973688e-19, 0.004134472640657893, 0.003242992475139473, 0.004408569986710524, 0.006886769568421052, 0.0022040188868421057, 0.004717420271184211, -0.010944220514868425, -0.01496134418960526, -0.004904572456118423, -0.0029349479123026317, 5269890798684209e-19, -0.018642433568684214, -0.0014636822255263157, -0.0032874282358578933, -0.005220993034210527, -0.001006430675144737, 9930258057894734e-19, 0.01337606780197368, 0.009240478431184211, -0.01117918292618421, 0.015037270521710534, 0.00705424925763158, 0.004022910573421053, 0.004511536920394735, 7300990415789472e-19, 0.0025198337564868423, 0.004174408284605264, -0.006822327408157894, -0.012508884771973679, 0.0018977242146052643, 0.00169175941868421, 0.00914618583809211, 0.00616711017276316, -0.016066297167105267, -0.007600618392368421, -5936514901315801e-19, 0.009191851769736843, -0.01048495533644737, 0.0039003314751315785, 0.010082093744078946, -0.02150961690736843, -0.003076141387631579, 0.01795051239210526, -0.0016097397646052626, 0.006738568165394737, -0.01008712938552631, -0.0023239680332894736, -0.0023542645427631586, -0.007415254536973685, -0.0017370888950000002, -2142969864736847e-19, -0.0019526079594736842, 0.004812759554289475, -0.003177666265657895, -0.010193668303157894, -0.008950753272763155, -0.012276084238157898, -0.013801354708684207, 0.013260181611973685, 0.005137841782236843, -0.005623419413947369, 0.002380635332763157, 0.020261579571842093, 0.0025086264638157895, 23285078407894738e-20, -0.013896984565526316, -0.002813308350394737, 0.006464827561842104, -0.0017387912031578952, -0.009293710947368423, -0.002234433483973683, 0.0029236971019736837, -7009606947368418e-19, 0.004321338025526315, 0.011410774383157896, 0.0019641712277631575, -0.0032173488855263156, -9017514617105258e-19, 0.02536431413421052, -0.0036204208476315796, -0.0045066121440394714, 0.007895695332842106, 0.01375771906894737, 0.0016665629351973685, -0.009256044322434214, -0.010135795456671053, 0.008737079069078947, 0.0034428967317105263, -0.010638219975263161, -0.004573688986184211, -0.008506904400102367, 0.0025543856753947364, 0.004874314954210525, 0.010396809270921051, -0.0018452750817105265, 0.01090056822052632, 0.02098761590078947, 0.009814058689144733, -0.0029276505494736844, -0.010893099969697373, 0.01975842706710526, -0.010948870352592106, 0.0058412445308815815, 0.015515693848684214, 0.0020952677422368424, 0.008907295886842106, 0.00873527318223684, -0.006631097216973685, -0.01977647116223684, 0.010740387438947363, 0.008736050202499998, -6532119030263152e-19, -8522597289473685e-19, 0.007881729391184214, 0.007262564786315789, 0.009642556828684206, 0.009887033669644734, -0.00506204858236842, 0.00914667588671053, -0.005646160281184208, 0.0015682480643947365, 0.007187644667573682, -6413499337828947e-19, 0.0014132899411842103, 0.0017755321165263149, -0.007160940067000004, 0.012367878591973682, 22851084263157844e-20, -0.006308410619078947, -0.0015791580263157898, 0.00442315712593421, -0.006452675031118422, -0.009020969568421053, -0.011030041889539469, -8780194159210523e-19, 9627984798684214e-19, 0.00363151196994737, 0.02183342311710526, 0.02024013596973684, -0.012353824388684213, -764319970657895e-18, 0.002105059234210527, -0.0014566305570592104, 0.002706323287631579, 0.00607090862407895, -0.009545597578157896, -0.004247753485894737, -0.0176261248381579, -0.0031491103884210524, -0.003108941359539473, 0.015593445543815788, -0.04427306710881578, -0.0020792380994736847, 0.011489951907105264, 0.006966976375342106, 0.0015082572486578947, 0.007737702031710525, -0.00655683788473684, 0.007863643000657894, 0.002917634675013158, -0.004152638770789473, 0.005619210159473683, 0.005586618189342104, 0.010026886728421051, -0.004179918709473686, -0.005501686800131579, -0.00604261921421053, -0.0071300491338157895, 0.014459129589473686, -0.0037379425788157897, -0.0020940462386842117, -0.00957774127394737, -0.03357854765131578, 0.025668219275000004, 0.022622876078947373, 0.0022629713582894718, -0.0026858775323684216, -0.0017051095038157894, 0.003815842962894737, -3828872972368422e-19, 0.0026066615468157894, 0.012387053006578948, -0.006318214374868418, -0.007521578666315793, -0.01284997625631579, 0.012826012949078947, 0.0010223195625, -0.011615881295131579, 0.0022139161670263153, -0.002016348744078947, -0.0028064120447368417, -0.015572008834210525, -0.0019618904405263164, 0.00544554776289474, 0.009761993845921054, -0.012984902144736842, -0.014145811457894734, -0.008978529723144736, 0.004056017691315789, -0.011844596710394733, -0.0059587758225, 0.007508870492105264, -0.005443937433289474, 0.002935879441578947, 0.01486225123960526, -0.005532202826052629, 0.005462015192631581, -0.02565744589868421, -0.008383098813815791, 0.003647495577368422, 5357671111842098e-19, 0.01166961910486842, -0.006377186925131579, 0.0127008994825, -0.009436918356578944, 0.0020323967420921053, -0.008456428355526319, -2027747211842104e-19, -0.0030937144914473694, -0.011085721413078948, -0.009645654179210527, -0.014846991478947372, -0.0035684288476315797, -0.011654160063684214, -0.01581150187026316, -0.016840036789473687, 0.013057866414473684, -0.008234539141578947, 0.0053163960105263195, 0.020490004785526317, -0.00960410656486842, -0.006657243668236841, 0.010736420357105264, -0.01748494961973684, 0.0011016242359736844, 0.005718755139868422, 0.006338006613157893, 0.0038684128078947367, 0.005595157857631579, 0.017694987824210535, 0.017391755352355258, -0.003702699658552634, -0.005022188236513158, 0.01342638474771316, -0.0043205563098684206, -0.0028454328957894745, 2592531746052632e-19, -0.004767219290789473, 0.013560908384539477, 0.005906873550263159, -0.009617733145394736, 0.003591151950263157, 0.005010814367368423, 0.0012510964286842107, 0.0028993149072368417, -0.0051906266312368434, 0.00729437020368421, -0.012531499855657886, 0.020476676778750005, -0.009869155927894734, 0.0025973456112368416, -0.021903372915789476, 0.008153542140921052, -0.006835870289605262, -0.010486773017592106, 0.017626112727631586, -0.004606312977368421, -0.014957404596052633, 0.0020897874979618424, -0.004724369788980265, 0.021548606073684213, -0.0019029721914473681, 0.006200722453289475, -0.003450824262276317, -0.006826156169210524, -0.010176031075657897, 0.024789349911842107, 0.003143936896315789, -0.004955119694078948, 9158874664473686e-19, 0.0052856249526315804, 0.01390172287763158, 0.004978571828947366, -0.0032051206281578947, -0.007972612475236842, -0.007769723397631579, -0.00202725623381579, -0.003416697538776315, -0.002556709217407894, 0.0184408019, -0.01105052606855263, -0.014664148855789474, 0.003882449320657895, -0.012429670850921054, 0.013084466028552635, -0.04336451231578946, 0.0074979511960526326, -0.001663643616907895, 0.008059816289473682, -0.011445970542105267, -0.004167850928697367, -0.003230411173657895, 0.02097656965710526, -0.011578596098421053, 0.012013696860657893, 0.001233423443421052, -0.002649905661144737, -0.00883562393153947, 0.0015486095338157892, -0.010413099061842105, 0.013987708639236847, -0.0038697919174999996, 0.006219689598421055, 0.006652394345230264, -0.005381284718815789, -0.0037626181478947387, 0.01059816618401315, 0.003220842913421052, 0.0035804951468421044, 0.010183990906447369, -0.009547694365789472, 7697464371184215e-19, -0.011326520949342108, 0.036538593302236834, 9323258973684188e-20, -0.008973688185921053, 0.00706366331381579, 0.001107784416394737, -4910452642105268e-19, -6440596276315794e-19, -0.0036792987653684202, 0.003713873318157893, -0.004735835042960525, -9658112065789478e-19, -0.043979574686842084, -0.0016790318328947353, 9925788503157894e-19, 0.018722528654473682, -0.0021518665293421054, 0.0035296605411842103, 1413653897368415e-19, -0.017016988203947366, 0.004561038191973685, 0.015442165966184201, -0.007485759814473685, -0.017065918415000002, 0.009342482221710524, -0.0020734458669736835, -0.002520825664789474, -0.021231756026315784, -0.010013884122368423, 0.009265903680263157, 0.008139276791052632, -5609036057894738e-19, 0.015773905215697364, -0.001884182508960525, -0.0024270794468947356, -0.00422654353631579, 0.006008762833684209, -0.003698271740263158, 0.016081907390789473, 0.030718033629736848, -0.007108369866842106, 0.00527163336881579, -9271790684210529e-19, 0.0068789392490789456, -0.013093138075605264, -0.012924308120526315, 0.00556886656968421, 0.0033076618509210527, 0.0017935490473684217, -0.008094466807394738, -0.01079597931, 0.01151358625263158, 0.00893792486236842, 0.010344446836842108, -0.00719051074644737, 0.00572758606, 0.004846286956973685, 0.00814658403092105, -0.0010492790623684207, 0.0049120969460526315, -0.01486755767197368, 0.004852195027565792, -0.007043126832710525, 0.005356651270263156, -0.0035065615885723684, -0.005829078253026317, 0.025083412392631576, 0.0015541765726315804, -0.013320558341842105, -0.027978110792105267, -0.004866113275657896, 0.009822611491184208, -0.004338714495526316, 0.028622747207894733, 0.0056140354747368434, -0.012210432556184212, 0.0033045029190263164, -19000230480263145e-20, -0.0034141616881578937, -0.004623406075394737, 0.006392982858421052, 0.01835209741710526, 0.01747985185131579, 0.004233065692460527, 0.01626176455263158, 0.0032433631718421056, -0.011749469372421053, -0.012891163621052632, -0.01571628433157894, 0.002652207523026316, 0.004507458543026318, -0.01775668739868421, -0.03493414880657894, -0.016362935907894737, 7675142188157897e-19, 0.010285956762684217, -0.0014735680384210526, 0.011252831868552636, 9547897207894737e-19, 0.006510753468289477, 0.005189211297763158, -0.013117319414473682, 0.003801194065131578, -0.008176472670263162, -0.008538372863026316, 0.02108607474342105, 0.0037161164223684204, -0.004774306337894736, -0.0077946213527631605, 0.0024585640678947366, -0.012176232483421057, -0.012235060736184205, 0.001400212257894737, 0.0027084579294736843, 0.0068722990685526324, 0.013335502111842099, -0.005830226586052632, 0.011873504235263161, -0.013693625648026312, -0.010449696567302632, 0.011044927082500003, 0.015400494224552629, -0.009381916401355262, 0.006673642672368421, -0.0018263740446052626, -0.0021770728546052624, 0.016361497218421055, -0.01863254121315789, -0.003530500149210525, -0.03730359020723685, -0.004191118148289474, -0.0045071628236842114, 0.015596569568947373, 0.004240642962276315, -0.002759536991368422, 0.005148003131355265, -0.0069468455677631595, 0.012819585946447368, -0.003170211528815789, 0.01752115107447369, 0.009766708002105265, 0.01720768516973684, -0.01617324446578948, 0.012112183639473681, -0.021386946318421057, -19106013060526326e-20, 0.006491905236710525, 0.012694083912631583, -0.012121427248552632, 0.007453259151052631, -0.005300583340657895, -0.0034357232692105253, -0.008234549374210526, -0.0049134867761842105, -0.011864055638157895, -0.00727513381118421, -0.006225588572394736, -0.014474562209210527, -1696423735526317e-19, -0.009927942404210525, 0.005164234018026316, 0.0017515462315789469, 0.0015904607235526311, 0.007963644751578946, 0.012216724002631584, -0.009501306335068424, -0.003338244066407896, -0.013702270143026316, 3177477896842107e-19, -0.004519560832171056, 0.002465137685263159, 0.0021053644855789483, 0.01910074195263158, 0.012031324014473682, -0.0018186422331578943, 0.005212327788421051, -0.004785163042710527, 0.0021153964885526322, -0.00444928972188158, -0.0035029865, 0.0075856674897368396, -0.016637170858460525, -0.0049104649688157895, 0.004211803076513158, -8546719754210526e-19, -0.005023115469473685, 0.0029476111911842105, 0.002885427894921053, 0.004207519965584211, -0.0045995042944736875, 0.003015317669210526, -0.003959649376578948, -0.001799221694921052, -0.010122554486973682, -0.004602558039210528, 0.0013513901315789464, 3764912463157896e-19, 0.008489159527105262, 0.014707852295131572, 0.002345036650789474, -0.0032689961036842102, 0.04255329955263159, -0.014716855848684204, 0.008619987162236838, 0.008365918811578948, -0.005013759794736842, 0.004195959585499997, -0.008992120611710525, -0.009782703207236846, -0.0022335605896052625, 0.01287937127763158, -0.015554637754473693, 0.008397985909605265, 0.002251561622499998, -0.010050093168815789, 0.008956767632171053, 0.013687852065394742, 0.013600534268289477, 0.004365934441315789, -0.0030305592554868413, -0.00781057913469737, -0.004966902079605262, 0.01856187427644737, -0.0025631659986842118, 0.004677612719921054, 10226186131578904e-20, -0.014421684380263157, 0.016739205349605258, 0.0050146044172894744, 0.011911084407631578, -0.002687138399210526, 0.00960758048539474, -0.002726553521315789, -2118536161842109e-19, 0.013187813793947371, 0.009969895463026316, 0.006658861126052631, -0.0018322755946052636, -0.0017487937331578944, -0.011101524417894743, -0.032939431818421065, 0.01520578899605263, 0.0015081202571052632, -0.005066026860486843, 493556515986842e-18, 0.004060829064605263, -0.005561150131894735, 0.010997560033026309, 0.004095647503947369, 0.012622729288684204, -0.004958941837157896, 0.006538527521447367, -0.0010266161943421049, -0.004851542462973687, 0.0016268616459210535, 0.008403855759605262, -0.005476859455, -0.00812804427618421, 0.007041481924657892, 8838693684210528e-20, 0.00597193902618421, -0.00842409854263158, 0.0024697172419736856, 0.005663838686578944, 0.0036075020965789487, -0.0023292463477631578, -0.0032376719465789477, 0.021101475338026313, 26567486563157904e-20, 0.016493054231184204, -0.002458445587631579, 0.0010258956694736841, 0.00225805411368421, 0.0031990768135526323, 0.006263685490526316, -0.004572679283552632, 0.009529538310526317, -0.011298854067368422, -0.010216326432368422, -0.01634466709473685, -0.014281002560460524, 2702401223684224e-20, 0.005255444044671053, -5290619164473683e-19, 0.020079138140789477, -0.0017828449621052637, -0.012192540535789468, -0.007199579816184209, -0.00116835002625, 0.00958368675736842, 0.007733851895789477, 0.007963292808289474, 0.025216065143421052, 0.004103331857894736, 0.0030591781828947368, -0.009872114714473685, -0.004663548545, 0.004991833832105262, -0.006863926871710525, 0.001242838931578947, 0.020425079027802634, 0.012370465663815786, -0.012126274007894736, 0.010670443024473687, -0.01464566428460526, -0.0038673775906710524, 41958086710526394e-21, 0.01994244099210526, 0.015357990706842106, 0.0063989385026315794, -0.018309239200000004, 0.006747877917368419, -0.017506960167236837, 0.005670401942631581, -0.010581732321578946, 0.0011620065078947373, 0.012163235759210531, 0.006399715106223681, -0.006113071873210528, -0.0028651888345789466, 0.002149627898157895, -0.012140688709210527, -0.010713522528947373, 0.02737408816710527, 0.017518066717105266, -0.005137931570986841, 0.003589904351447368, 0.0010994190049210533, -0.004798525595026317, -4554749059210497e-20, -6981043210526358e-20, 0.017134092135131583, 0.012083527265789476, -0.049615527359210515, 0.005816751165736842, 0.01857131190000001, 0.02351225466336842, 0.01219104790131579, -0.0010487995125921048, -0.0044726659714473685, -0.001028941063157895, -0.005443464117499998, -0.00634262967868421, 0.010381099005263152, 0.001703392962105263, -0.009139037917894735, 0.009512460323684208, 0.008586436496315792, -0.025455710537105262, -0.009792295319078947, -7742059002744737e-19, 0.018877256644736842, 0.038857334956578955, 0.003912381590921053, -0.008361733056842105, 0.016590833038421057, -0.005869556491710525, 0.009990736888552633, 38346460510526274e-20, -0.016626637246578948, -0.012364668933289474, 0.0018547245361842113, 0.006512999228605265, -0.001085481154868421, -0.009963445404999997, 0.004301809971973684, 3661409990131576e-19, -4224867659394737e-19, 48160601578947393e-20, -0.007223044006763162, -0.026113254673289465, -0.0013004677222368422, -0.0017831314044736836, 0.01561539529144738, -0.0066719939618421036, -0.00877529002351316, 0.006605579253289475, 0.005603149853552632, -0.007193712031578948, -0.0016247132320263158, -0.012534181940394738, 0.017229109368421053, 0.00245370861631579, -0.006031722248552632, 0.0031117475930263158, 0.0043886369376315805, -0.0024453895729249996, 0.00690473798328947, 40740072210526353e-20, -0.0031424490643421057, 0.019926203121315794, 0.012182200482894739, 0.008118145491578951, -0.005559053631315788, -27164370357368446e-20, -0.003351124758092105, 0.005957678860368421, -0.008513101869473681, 0.007304541067499999, 0.019957336234210518, -0.0030209489469736834, 0.004469626572763158, 0.012090736671578948, 0.01514115723331579, 0.0042360726635526326, -0.010162506523684207, -0.002649304801184211, -0.007750173208749997, 0.0019587431771447374, -0.027095424518421053, 0.0066075871005263145, 0.00536601891631579, -0.0010357673420394737, -0.003466868494342106, 0.014316960686578954, 0.0023369776231578956, -0.0053653818119210545, -0.007858214859999999, -0.013146294391315785, -0.0018566735342105262, -0.009514895538421051, -0.0036132000074342112, 0.0034368430490789486, -8554010195394731e-19, -0.0032387031372368437, 0.00244777456131579, -0.006286163061842106, 0.011771267721710532, 0.023035620363157896, -0.0043442739443421054, -0.009922730226315792, -0.004276738937499999, -0.0035189323507894745, 0.0039030267724473704, 0.014395429023592102, -0.0012053757906578947, -2897619489473682e-19, 0.007045867771144736, 0.007517767199210526, 0.007418771915644738, 0.010169157498289476, 0.00706302323276316, 0.013311043676250002, 0.003038169512894737, 0.0033463043809210517, 0.001753204881197368, -0.0074550630986842115, -0.03247426388684211, -0.014712809272763156, -0.01257650307744737, -0.005583758863815789, -0.010988394333684212, -0.01094829823105263, 0.014527793146184208, -0.01726736960019736, -0.0011412191313157898, -0.003875160005921052, 0.0054491025328289484, 0.00764098283223684, -0.01397128377631579, 0.020156240986078953, -0.018178711318157893, 0.007760771186842106, -0.012693300230263159, 0.0034562666953947383, 0.017623470872368423, 0.01328646389205263, 0.006033057996184212, 0.0021477171030263157, 0.004209592630394737, 0.022607883206578958, 45995770960526315e-20, 0.004256902114473686, 0.007727120836526311, -0.011495399911315795, -0.006097572578026317, -0.003288532194342106, 23524967355263143e-20, -0.01843602415421052, -0.006332212189999999, -0.007104603521578947, -0.006046406687763155, 0.0031444280434210527, 0.011026709301315791, 0.007965343235657892, -7478460321052628e-19, 0.010399411723157894, -0.003222595633552633, 0.0013722621246052631, -9306063203684211e-19, -0.008244672536447365, 0.010224801592763153, 0.011236862973157893, 0.002438936607828946, -0.0011834995152631578, -0.007761896696973684, -0.006536142010526313, -0.004305835025789474, -0.006375306423552633, 0.002894340127526317, -0.007056530478157897, -0.006344087711473684, 0.012371267300526317, -0.008661172924210528, 0.016608231906578945, 0.006209598555605264, -0.0049610081385394736, -0.006289596580421053, -0.008653004873157896, 0.006589724684342105, 0.0042221396663157905, -0.024205309596052636, -0.007927559016842107, -0.0036796517148684213, -0.010860645916842101, -0.001776141146973683, -0.0066375001164473675, 0.002395305515921052, -0.014593319744736844, 0.00733454749668421, 0.0019130213015789476, -0.02945044170131579, 0.0021041659146052625, -0.002779561371539474, -0.020078335207894735, 0.003642550809710527, 5936502644736846e-19, 0.00325616999868421, 0.017399437181578953, -0.06370752007631578, -0.003701780296631579, 0.007564594753552632, -0.00405948423839737, 0.0015840840405263162, 0.005836310675263158, -0.012381032086315788, -0.004665367583947368, -0.0010173959317894734, 0.005156387308802632, -0.0165339495006579, 734178938157895e-18, 0.024508261125789473, 0.01724277075526316, 0.008913617889078948, 0.018123411353289477, 0.019972735151315802, -0.015223236485526315, -0.011504417352105265, 0.010046699026184209, -0.009774468743421052, 0.014051472367763159, -799595632236844e-19, 0.015914003425263158, -0.010235261282894738, -0.012426796318973685, -0.00529559477105263, 0.0032275154818421047, -0.012022474961184216, 0.004842165463157897, -0.012777494966842105, 0.007940708949736842, -0.010386868507894734, -0.012277893373289472, -0.01469461501513158, 6472758955460526e-19, 0.011309826192631581, 0.0014896182946052632, -0.0018290806492105261, 0.004781091154078948, 0.009413893570921053, 0.00916419533118421, -0.002920155307368421, -0.004322433785789473, 0.010922147476842106, -9692939010657897e-19, -0.00471161965105263, 0.0022456688428947364, -0.01511019358289474, 0.01469485253026316, -0.0034939871920921027, 0.005169176186973684, -0.004767383189802632, -0.004363123971710525, 0.008160435356184211, 0.008593854647631578, -0.014373928093157892, 0.012998453866184211, 0.012818183890921054, -0.0012967544054736846, 0.018860078121447365, 0.011299536434868421, 0.010162780092499995, 0.010768595093881578, 0.006929429669736845, -0.009301306071052631, -0.001229964434210526, 0.022915811622105268, 0.005473494591263157, 0.01684595049736842, 0.0068085582832894745, -0.009735548395394736, -0.008009809031052632, 0.00818278650394737, -0.00514607482631579, -0.0017882432596052638, -0.003795041893157895, -0.0028177598829473675, -0.009401223562894738, -0.015638386469736837, -0.013144470036842108, -0.0025362829124999987, -0.015570190517552634, 0.0072135779351315795, -0.0033293784007894737, 0.0033921677573684203, 0.0171126722368421, -0.016200724738157896, 0.002023070578552632, -0.005874176478421054, -0.007982894414539473, -0.01305297109342105, 0.013835959466144737, -0.007678114530657894, 0.0016565042665789473, -0.0029898593556578947, 0.018475673282499997, -0.004774599107368421, -0.01045985660768421, 5002329298684213e-19, 455613157105266e-19, 0.012770474667763154, 0.0036531933109210527, -0.006355904673157896, -0.00323254957336842, -28950164197368423e-20, -0.0016983754679473682, -6461348456578951e-19, 0.011579839645394736, 3174967802632419e-21, -0.009248690072105265, 0.010413905775572371, 0.00742944108473684, 0.00453180122631579, 0.01615883042802631, -0.0032757992935526312, -0.0038371938214394738, -0.002908959269342105, 0.009208926093951316, -0.0014955339189473683, -0.013758465006973683, -0.0063294295475, -0.005727852496578948, -0.005272904527105263, -0.001316834533684211, -0.01645172019144737, -0.007092707085578947, -0.003522257189605263, -0.013505265605263156, -0.011881032946052632, 0.011369551982828954, 44452595263157905e-21, -0.006352405066578949, 0.0052995613325, 0.009505844287763156, -0.006053228503013156, 0.006845024962368421, -0.011510292038552633, -0.0032177408799999997, -0.004505434028289475, 0.004123595264342105, 0.006593527555000002, -0.011078657794605259, -0.014011584826078945, 0.0029858133488157895, 4344722920789474e-19, 0.008640971361973684, 0.006481291948157893, -0.005891967694342105, 0.008448872632763157, 0.016859102106052633, 0.0014603208068421055, 0.005249472965605262, -0.00686901125013158, -0.010637044371578948, 0.011924648195789474, -0.0058005032065789495, 0.015501499024999997, -0.006453810105921054, -0.002997035320473683, 0.018575800172368425, -0.008515451444736838, 0.012462028264473679, -0.003774380357539475, -0.0019450062711842105, 0.00391133496173684, 0.004730433910526316, -0.001315982468776316, 3232796018157894e-19, -0.0066704201258026286, 0.00680665693223684, -39029438710526344e-20, 0.005489703965131578, 0.008671756791842107, -0.012851425032368417, 0.003147755206052631, 0.0026194010623684216, -0.007664137591973682, -0.011883636635, 0.004133208043763159, -8303924315789413e-20, 0.003270837395131579, -0.005892774992763157, 0.012238801593815785, 0.006942355931973683, 0.02878469881921053, 9479045131578946e-19, 0.0017351399474736847, 0.008778382914078947, 0.0010939997295263163, 0.0030465893436842097, 0.014783142862368417, 0.01642540962717105, 0.0036857923714473675, -0.015363344993026315, 0.009919231350263158, -0.011551756493421059, 0.0023134715465394744, 0.011385295549473687, 0.013802586752105264, -0.01116167753921053, -0.003641126586684211, -0.013648889441184206, 0.014234762527368418, 0.002806655006105263, -0.013499138960736849, 0.005006243019473683, 0.015739427460526312, -0.0027175753445131574, -0.010932971389473686, -0.010770135974552631, 890700216526316e-18, -0.012623942286842103, 0.016124839350000003, -0.002831514939934211, 0.012697006429342104, -0.007019076696973686, -0.006475317798065787, 0.007137869946052634, 0.006031961175105265, -0.00705848445763158, 0.0033737443014210527, -2768167815789512e-20, 0.017694467707894734, 0.006258390639605262, -0.002385706069394737, 0.003583886412894737, -7993168968421051e-19, -0.01620972400113158, 0.01370171146118421, 0.00461520679318421, -7547631113157896e-19, 0.002939954357631579, -0.006845462558289473, 0.007328082212763157, 0.007676322326467105, 0.004349595261973684, 0.015829044343197374, -0.00368448221881579, 5303418106447364e-19, 0.0026827215614473685, -0.008580460431710527, 0.005024989097499999, -0.003635687485394737, 0.002272944439315789, -0.006124602738289472, -0.016172138838026325, 0.015377584130394738, 0.010782426606184206, -0.021383269930657894, 0.005706450336052631, 0.0018523320315789475, 3522892494736843e-19, 0.004350316041157894, 0.005934959479144734, 0.01708160452131579, -0.007678650551447369, -0.0033582777418421053, -0.017157569269684224, 0.007354085403947371, 8351606031578944e-19, -0.005335390844342104, -0.002535301282368421, 0.014636234615921057, 0.004858749898355263, 0.007662922150526313, -0.0016256868378026308, 0.01556731267368421, -0.005104593538289476, -0.019748377389473677, -0.013980995652631582, 0.00946453539263158, -0.008415238208421055, -0.011370187082631577, -0.024026692542368423, -0.028569824043500013, -0.004478069888947369, 0.0031515005953947363, -0.002700122834605264, 0.00815917739855658, -0.00445320840494737, 0.006830579967631578, -0.006684497927105263, 0.010432664122105263, -0.014661140320368424, -0.006587801074605265, 0.007357709939078946, -0.005931698591973684, -7732484365789474e-19, -0.002239530471052632, 0.007788843097894735, 0.0064669147390789454, -0.0030537573617631575, 0.017894125887236843, 0.014577202200000002, 0.0015132674616710532, -0.0057732834064473685, -0.0027821142750131585, -0.01908095769276315, 0.009781772397894737, 0.009500178334210524, -0.08152622444736843, 0.008212754039473679, -0.01767476994144737, 0.0026395801725000003, 0.0014657673559210526, 0.007638076904605263, 0.004058115665973685, 0.0035145148113157896, -0.011827003826315791, -0.0027065570113157895, 0.0023756798456578943, 0.008448311618421052, 0.017983404865789466, 0.016279126637631577, -0.0012591387876315795, -0.01015563660263158, -0.007210258607868422, 5225580767105262e-19, 0.008399898934210526, 0.005169876301250003, -0.0054817867677631575, 0.004851883672052633, 8781897375131572e-19, -0.004407749175657896, -0.0037234890038684225, 0.010837226267236846, -0.008299530855789473, 0.012997853572105266, -0.017374133039473685, 0.01771941214802632, -0.010850383854999996, -0.0025922976049605273, -0.005014948546052633, 0.001572493777631579, -0.009683719784736844, 0.003544048853289474, -0.005399044507894736, 0.0019298673893421046, 0.008562550747213162, 0.007685438104276315, 9653876659736838e-19, 0.006209795067934209, -0.007815720736421053, 0.01339235502684211, -0.014595927550000002, -0.001961306322894736, 0.01755357029118421, 0.009892284107105262, -0.004357266436710526, -0.024933551971052636, -0.008265622360263156, 46308488684210446e-21, 0.008073451047105263, -0.006002720232921055, 0.00960784907105263, -0.008960232250921057, 0.009452138660526316, -1669984473684197e-19, 0.006347901398026315, 0.006253983917105261, -0.001933425444473684, -0.010605378191710526, 0.0017956876511842107, 0.010316846388552634, -0.006851734682407896, 0.017523879366710526, -0.003045540768026316, 0.021021487419736837, -0.00978115143263158, 0.007848767184210523, 0.008862482220921052, -0.01242224652736842, 0.0013790572871052633, 0.014478706237421052, -0.008613721365578947, 8338612144736844e-19, 0.003780419830131578, 0.00346602358868421, 0.01269026605723684, 0.009463772316851317, 0.012594825682894736, -0.0069123792341578925, 0.0013869928297368425, -0.012008816909210525, -0.005822936399078947, -0.016418475083815786, -0.010629006791973683, 0.008168218550394738, 0.00664607999610526, -5069868140000001e-19, 0.004181848071447371, -0.0011114877839473682, 0.02246608591315789, -0.0034439313037368416, -0.004351277874210527, 0.0014461106753947362, -0.009660680614197373, -0.005408365936052628, 0.01752714284907894, 0.008516543233210525, 0.002278526259736842, -0.006875266473026315, -0.0069421802624999975, 0.013035910887894736, 0.0015391923593421058, 0.0012664572747368423, 0.0011414591399473686, -0.0037214528182894745, 0.015104741671868427, -0.013068065997078947, -9741302530000001e-19, -0.0033918721798684216, 0.005097137174605263, 0.004477671593026316, 0.006166728530789473, -4620546571052633e-19, -0.00529603509618421, 8418184122421051e-19, -0.0012031493919868418, 15712514144736853e-20, -0.0019224767417105261, 0.005464992050000003, 0.004573905729556577, -0.005107717659999997, -0.001779724216276316, 0.0062555419631578945, 0.014157424513157893, -0.002229668639710526, -0.004112240003421051, -0.008737391783947368, -0.01772272931749999, -0.011969726380789475, 3489228665526319e-19, 0.008398761923223683, 0.006083781918289473, 0.0038491992196052634, 0.006757484750263158, -0.0033988848290789457, 0.010786320785381581, 0.007709229539986843, -0.0027759906160526315, 0.01513786151671053, -33675679921052606e-20, -9034154792105268e-19, -0.006730010358421051, -0.0038794277310526316, 0.011774508437552627, 0.0075108212575000005, -5415923363157894e-19, -0.010228818563289476, -0.004567732969605264, -0.006103785833947367, -0.007408031901286839, -0.0032699436107894737, -0.007860791874210528, 0.01599756300842105, -0.016585482788684217, -0.008410989815789471, -0.0024622896271447366, -31383816486842115e-20, -0.006790721234210526, 0.0037121541342105256, -0.009942839455, -0.012361527721052628, 0.019747696744736844, -0.004605994977907893, 0.0033676318580263156, 8737887935394738e-19, 0.002211198596144737, 0.010937877776315795, -0.01129901567118421, -8168034689473677e-19, -0.009641223938421057, 0.009402437952631576, 0.0056297516052631605, -0.0010065862368421055, -0.02594543341447368, -0.0011355776477631582, -0.011891248669605264, -0.00839228417031579, 0.007896343589210524, 0.007322515729342106, 0.0033040433167105263, 0.003778204579868421, 0.011096790547631581, -0.0015593353430263153, 0.014356465188157893, -0.006630788594118421, 4828352872894737e-19, 0.0010450569010473684, -0.007027775473815791, -0.006984254253157892, -0.00792534963342105, -0.00162584528, -0.006522221855263158, 0.01805963293197369, -0.004809070690789476, -0.01814591389078947, -0.005865267296828947, 0.003988285848684209, -0.008169152964999999, -0.008437095909210527, 0.009360843043815788, 0.030021375652105258, 0.007297060365657896, -0.0023612295406578963, -0.01073050399763947, 0.0019045162401315795, 0.00651718905263158, 0.0010275199546052635, -0.006277306921263158, 0.0012021913027105262, -0.011182417592105264, -0.002024020123421053, -0.006231476668342106, 4796000135526314e-19, 0.006449109247355262, 7456603261184208e-19, -0.005144762157460526, -0.0021357675948684212, -0.01883197047171053, -0.025576503247368407, -0.013539074083421053, -0.011034470814473686, 0.0024368244498684222, -0.002245899774736842, 0.007094408709210526, 0.0012029363072368422, -0.009510369465000001, -0.012366834156578943, 22163493250000016e-20, -864950124473684e-18, -0.0054156288555263134, 0.005750937247368423, 0.003270796098421053, 0.002449161180921053, 52041173618420834e-21, 0.010704513787500002, 0.001962141009605263, 0.004546446430526313, -0.009514348226710524, 0.013900074301842112, 0.007515311701355261, 0.0035688571342105263, -0.0031417825293421063, 0.013631733623026311, 0.004473217585789474, 0.022099065907894736, -0.010242928179605263, -0.021115605811315788, -0.0020430657981592103, -0.004960829025921049, 6026669513157779e-20, -0.004585000899605264, -0.004475863079315788, -0.004507509982368421, 0.012760686508684211, 0.0035079304818421055, 0.0043142242481578955, -0.0037753994023157884, 0.009972505233289472, 0.004257388717499998, 0.0037933767182894737, -0.003782828635039474, -0.016245113222631585, -0.0067635378846052615, 0.001699853626842106, 0.0049727823532894734, -0.0026726438017763156, 35606309460526324e-20, 0.0014221154155263163, -0.006753894785657897, -0.0021303370428947363, 0.0020290390381578942, 0.0065541381115789485, 0.005578077509210527, 0.00597834956631579, -0.015656070957894737, -0.005700937814868422, -0.003300278165210526, 0.0010437032015789478, -0.006081244438026316, -0.012030119331578949, 0.008609655173684212, -0.012421846317171054, 0.0038849181815789487, -0.003441401350921053, 0.005337632936842106, -0.00501430082631579, 0.007684295191355262, -0.018589622549210528, 0.0020294963380921055, -0.01736990133552631, -12342767794736842e-20, 0.013101640196631579, -19718100105263185e-20, 0.00191136175070921, 0.002991744120394736, 0.005360340401578948, -0.002541910205657895, -0.011420830478947371, 0.0025571802081578946, -0.007654641906842104, 1324760923026315e-19, 0.009839589908289474, 0.014137809323684214, 0.005973617257894737, 0.0044086344710526325, -0.007683909966710525, -0.014283573396973682, -0.015558832550000004, 0.006422352959605265, 0.0015610042364473677, 0.005954876463289471, 0.01747821746710526, 0.012649821948026316, -0.00588777466013158, 0.00278459120360921, -0.0027093084425131573, 0.00528561605, -0.0013567440365789465, -0.0036329947868421046, -0.027717547824078946, -0.009446810628947372, 0.0016673699111842107, 0.01964425766578947, -0.00695099289526316, 0.01540288453881579, -0.0017949823404736845, -0.0017532934771052637, 0.011818318206578948, 0.0014771281863157897, 0.010423521287236842, 7254289103947369e-19, -0.004566167288026315, -0.003529428743197369, 0.0011952240294736843, -0.003898400712605264, -0.010473680018684213, 0.00285922366139474, -0.006599853688026317, -0.02107415088815789, 0.0052880693118421045, 0.006744707181578948, -0.00798451460657895, -0.004557204219868423, -0.01156681187255263, 0.0076239759752631635, 0.0035902046968684207, -0.012573743979605262, -0.003764909397236842, 6335979498684211e-19, -0.003016045632947368, 0.0018927498906578949, 0.007497210715789474, -0.005934193091907899, 0.0035080823515789466, -0.0018217714548684216, -5523007649828952e-19, -7058270163815789e-19, 0.012370342157368423, -15139791644736762e-21, -0.013432961709210524, -4939559349999998e-19, 0.010054779912499996, -0.001919280470486842, -0.0013844150172368421, 0.007696783919605264, 0.008991117240473684, -0.007747281024078945, -0.004739962277894735, 0.007187543989473684, 0.003015955778815791, -0.001928289877644735, 0.004620562280552632, -0.0014514659089473684, -0.020361874824473686, 0.010851485952894735, -0.0048367870628947375, 7418370901184215e-19, 0.003954019490328949, -0.0036905010957894754, 0.005135467446315788, -7641653630263166e-19, 0.002803192092157894, 9011874512236843e-19, -0.006852827178236843, -0.009182144093157896, 6662634763552632e-19, 0.003859204278289474, 0.002627766069263158, 16687577934210564e-20, -0.004155122549868421, 0.007481256317894739, 0.010201827506842105, -0.02001931662526316, 0.008597913657499998, 0.009211417565, -0.003000300423684211, 48565491249999974e-20, -0.006839893910657894, -0.0024400726705263165, 0.0018072735346052636, -0.019441373660526323, 0.008917724683289475, 0.006977527517447371, 0.0012267423015789476, 37295210526322205e-22, -0.03201578951578947, 0.0014607340267894736, 0.010337255695263156, 0.002957082175947369, 0.009742125079473684, 0.0062952107691315795, 0.010293411451381573, 0.007467224718026317, -0.01702668064539474, 0.005315579784210528, -0.03403872432368421, -0.0036593492817105257, -0.013481478045789471, -0.005543817282105263, 0.0024990400036842106, -0.005272580224539472, 0.009082922817368418, -0.001777538198289474, -0.00401194444394737, 0.00793982549736842, 23839166631578926e-20, 0.005703706245131579, 0.0032615849919210536, 5623444232236841e-19, -0.009299548110394735, 0.0010441157952631576, -0.012694072275263158, 0.004126734016842105, -0.001088491213815789, -43924066513157913e-20, -0.006497900055789475, -0.008375932914473687, 0.006604953940657895, 0.008322977985131578, 0.0014929076139473686, -0.005037357923289473, 0.001687304174736842, 0.005036407010486843, 0.002468036690526316, 0.0014052489157894733, -0.0022257209973684214, 0.005458085299473683, 0.009009774955749998, 0.0858067330657895, -0.007581642367631578, 0.01083994584868421, -0.0022605711906578943, 21345696315789494e-20, -0.005091092415263156, -0.0064649052059342115, -0.0031673467632894734, 0.007837809513026317, -0.0048379660456749985, 0.003358471353947369, -0.007209436236315789, -0.004074764670526317, -0.002432236466131579, -0.001538101053328947, -0.003958276178197368, -0.001431222515394737, -0.002890863070263158, -0.005015565842105263, 0.006637256008947367, -0.01610401879026316, 16318058486842113e-20, 0.006704906538815789, -0.00704305531026316, -0.006291144144078946, 0.00933739933177632, 0.003039505811973684, -0.002349317244736842, 6161272673684213e-19, 0.011576436187894739, 19294986634210533e-20, -5418114680263158e-19, 0.002641153911184212, -0.00675274457026316, 0.008304665786171056, 0.001867557076842105, 0.007009144105789473, 37644492855263173e-20, 0.008968001444210526, 0.0015434073640789474, 0.005244117515263159, 0.0029953329880263156, 5347106021052633e-19, 0.004156591307368421, -0.0022211070997368424, 0.0034716415264473685, -0.0065318866889473685, 977989682631579e-18, -0.0014095522748684215, -0.006451674766447366, 0.0032100871473157893, -0.005529904199539473, 0.0059584155557894725, -9850399996052639e-19, 0.006995684919078948, -0.0022856163722368393, -0.01090589053710526, 0.009130581944078944, 0.00312594295013158, 0.007374450093421053, 0.0025797777251710522, 29641350526315737e-21, 0.001176881737763158, -0.014572063391447372, -2289824355263157e-19, -0.004469249211710526, 0.007769186374868425, -0.002506505231434211, 0.006041142717631577, -0.002120238433026316, -0.009695580013552628, -0.005020087666881578, 0.005143053156315791, 0.007150294719789475, 0.0023021195396710527, 0.003707133851447368, 0.006069693725921051, -0.00467861785710526, 0.02125906401236842, 9268083446052627e-19, -0.003634692288684209, -0.003680463652815789, 0.0040336247021052615, 0.0013372253536447368, 0.0021130635865789465, -4880915286842109e-19, -0.012233446567342104, -0.004310965072894738, -0.01132869828552632, -0.006841497305263159, -0.0016422147394736845, -0.002537146005289474, 0.003615671777368422, 0.00814799093118421, -0.005056491793263158, 0.013174237758684208, 3394553878157892e-19, -0.008489372885473684, -0.0027938550723684203, 0.0030627760844078957, 9348454796052637e-19, 0.004848255386842105, -0.0117739507, -6810965494736843e-19, -0.002880153715, 0.008861613728178947, 0.0033199058337500006, -0.003612675859078948, 0.002928360304065789, 0.0039185375651315775, -7332073442631576e-19, -0.0012935513150789466, 0.004886879997894738, 0.007781129023552632, -0.004267412731052632, -0.003639562495460526, 0.00523262424868421, -0.003657068880394737, 0.005125610617552631, -0.004419953952236842, -9843244355092107e-19, -2347114171052623e-20, 0.0016072527152631584, 0.003128275799539474, 4279722777368421e-19, 0.006050774428552632, -0.004237210059210528, -0.0025468053725000005, 0.0026924242311184205, -0.02019396686092105, -0.005761839523684209, -0.009751797271973686, 0.011594078876973685, 9348787827236843e-19, 0.014106164205263163, 6055481813026316e-19, -7440742407894764e-20, -0.005227106624868422, 0.013380218100789466, 0.008165820871447366, -4882895227631577e-19, -0.0010533377903157893, -0.0016510250091447362, 0.0018723641477631577, -0.004344320649736843, 0.002451466830486842, 0.003751309517368421, -1192675066447369e-19, 5871760036842106e-19, 0.00721447406936842, 0.003513352502315789, 0.009986706387763158, -0.003577922982105263, -0.006272508934210527, 0.00939798507907895, 0.005559408675131579, -0.004530027807368421, 0.008267799573289474, 9763903811842103e-19, 6323663030263157e-19, -0.018563745183684206, 0.003477922045657895, 0.0034454675522368416, 0.0022030032148815794, 9718481634210526e-19, -0.006363050955000002, 0.009044980506973683, -0.007551598236973688, -6711054927894736e-19, -0.0013286158334210524, 0.0017464641878947365, -0.011715851191973686, -0.005520589822500002, 8535201651315791e-19, 0.010038929649605262];
5754
5754
 
5755
5755
  // src/lib/chat/preProcessor.ts
5756
- function wrapAsUserText(prefix, text12) {
5757
- if (!text12 || !text12.trim()) return [];
5756
+ function wrapAsUserText(prefix, text13) {
5757
+ if (!text13 || !text13.trim()) return [];
5758
5758
  return [{ role: "user", content: [{ type: "text", text: `${prefix}
5759
- ${text12}` }] }];
5759
+ ${text13}` }] }];
5760
5760
  }
5761
5761
 
5762
5762
  // src/lib/chat/cryptoPriceClassifier.ts
@@ -5795,8 +5795,122 @@ function createCryptoPricePreProcessor(options = {}) {
5795
5795
  };
5796
5796
  }
5797
5797
 
5798
+ // src/lib/chat/reservationReceipts.ts
5799
+ var ACTIONS = [
5800
+ {
5801
+ kind: "booking",
5802
+ tool: "anuma_book_restaurant",
5803
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_BOOKED:/
5804
+ },
5805
+ {
5806
+ kind: "cancel",
5807
+ tool: "anuma_cancel_reservation",
5808
+ alreadyDone: /^Tool "[^"]*" failed: ALREADY_CANCELLED:/
5809
+ }
5810
+ ];
5811
+ var NOT_AN_ATTEMPT = /^Tool "[^"]*" (has already been called|was already called)/;
5812
+ var BOOKING_OUTCOME_UNKNOWN = /^Tool "[^"]*" failed: BOOKING_OUTCOME_UNKNOWN:/;
5813
+ var CANCEL_OUTCOME_UNKNOWN = "CANCEL_OUTCOME_UNKNOWN";
5814
+ function extractReservationReceipts(toolCallEvents) {
5815
+ const latest = /* @__PURE__ */ new Map();
5816
+ for (const event of toolCallEvents ?? []) {
5817
+ const action = ACTIONS.find((a) => event.name?.endsWith(a.tool));
5818
+ const output = event.output ?? "";
5819
+ if (!action || !output || NOT_AN_ATTEMPT.test(output)) continue;
5820
+ const kept = latest.get(action.kind)?.status;
5821
+ if (kept === "made") continue;
5822
+ const receipt = toReceipt(action, event.arguments ?? "", output);
5823
+ if (kept === "unknown" && receipt.status !== "made") continue;
5824
+ latest.set(action.kind, receipt);
5825
+ }
5826
+ return [...latest.values()];
5827
+ }
5828
+ function toReceipt(action, argumentsJson, output) {
5829
+ const args = parseObject(argumentsJson);
5830
+ const result = parseObject(output);
5831
+ return {
5832
+ kind: action.kind,
5833
+ venueName: text(args.venue_name) ?? "",
5834
+ day: text(args.day) ?? "",
5835
+ time: text(args.time) ?? "",
5836
+ partySize: count(args.party_size),
5837
+ reservationId: text(result.reservation_id) ?? text(args.reservation_id),
5838
+ resyUrl: text(result.reservations_url),
5839
+ feeSummary: text(result.fee_summary),
5840
+ ...outcome(action, output, result)
5841
+ };
5842
+ }
5843
+ function outcome(action, output, result) {
5844
+ if (action.alreadyDone.test(output)) return { status: "already_done" };
5845
+ const reason = text(result.error);
5846
+ if (action.kind === "booking") {
5847
+ if (BOOKING_OUTCOME_UNKNOWN.test(output)) return { status: "unknown" };
5848
+ const held = result.success === true || text(result.reservation_id) !== void 0;
5849
+ return held ? { status: "made" } : { status: "not_made", reason };
5850
+ }
5851
+ if (result.error_code === CANCEL_OUTCOME_UNKNOWN) return { status: "unknown", reason };
5852
+ const cancelled = result.success === true && !result.error && !result.error_code;
5853
+ return cancelled ? { status: "made" } : { status: "not_made", reason };
5854
+ }
5855
+ function parseObject(json4) {
5856
+ try {
5857
+ const parsed = JSON.parse(json4);
5858
+ return parsed && typeof parsed === "object" ? parsed : {};
5859
+ } catch {
5860
+ return {};
5861
+ }
5862
+ }
5863
+ function text(value) {
5864
+ if (typeof value === "number") return String(value);
5865
+ return typeof value === "string" && value ? value : void 0;
5866
+ }
5867
+ function count(value) {
5868
+ const n = typeof value === "string" && value.trim() ? Number(value) : value;
5869
+ return typeof n === "number" && Number.isFinite(n) ? n : void 0;
5870
+ }
5871
+
5798
5872
  // src/tools/confirmConstants.ts
5799
5873
  var CONFIRM_TOOL_NAME = "prompt_user_confirm";
5874
+ var BOOK_RESTAURANT = {
5875
+ tool: "AnumaPaymentsMCP-anuma_book_restaurant",
5876
+ status: "confirmed_not_booked",
5877
+ fields: ["venue_id", "config_id", "party_size", "day", "venue_name", "time"]
5878
+ };
5879
+ var CANCEL_RESERVATION = {
5880
+ tool: "AnumaPaymentsMCP-anuma_cancel_reservation",
5881
+ status: "confirmed_not_cancelled",
5882
+ fields: [
5883
+ "reservation_id",
5884
+ "venue_name",
5885
+ "day",
5886
+ "time",
5887
+ "party_size",
5888
+ "fee_applies",
5889
+ "fee_amount"
5890
+ ]
5891
+ };
5892
+ var CONFIRM_REQUIRED_FIELDS = /* @__PURE__ */ new Map([
5893
+ ["book_restaurant", BOOK_RESTAURANT],
5894
+ ["anuma_book_restaurant", BOOK_RESTAURANT],
5895
+ ["anumapaymentsmcp-anuma_book_restaurant", BOOK_RESTAURANT],
5896
+ ["cancel_reservation", CANCEL_RESERVATION],
5897
+ ["anuma_cancel_reservation", CANCEL_RESERVATION],
5898
+ ["anumapaymentsmcp-anuma_cancel_reservation", CANCEL_RESERVATION]
5899
+ ]);
5900
+ function confirmRequirement(action) {
5901
+ if (typeof action !== "string") return void 0;
5902
+ return CONFIRM_REQUIRED_FIELDS.get(action.trim().toLowerCase());
5903
+ }
5904
+ function missingConfirmFields(action, parameters) {
5905
+ const requirement = confirmRequirement(action);
5906
+ if (!requirement) return [];
5907
+ const shown = /* @__PURE__ */ new Set();
5908
+ for (const parameter of Array.isArray(parameters) ? parameters : []) {
5909
+ const { name, value } = parameter ?? {};
5910
+ if (typeof name === "string" && typeof value === "string" && value.trim()) shown.add(name);
5911
+ }
5912
+ return requirement.fields.filter((field10) => !shown.has(field10));
5913
+ }
5800
5914
 
5801
5915
  // src/lib/storage/mcpImages.ts
5802
5916
  var IMAGE_TOOL_NAMES = /* @__PURE__ */ new Set([
@@ -8615,13 +8729,13 @@ var StreamSmoother = class {
8615
8729
  /**
8616
8730
  * Add text to the buffer. If smoothing is disabled, passes through immediately.
8617
8731
  */
8618
- push(text12) {
8619
- if (this.destroyed || !text12) return;
8732
+ push(text13) {
8733
+ if (this.destroyed || !text13) return;
8620
8734
  if (!this.enabled) {
8621
- this.callback(text12);
8735
+ this.callback(text13);
8622
8736
  return;
8623
8737
  }
8624
- this.buffer += text12;
8738
+ this.buffer += text13;
8625
8739
  this.ensureTimer();
8626
8740
  }
8627
8741
  /**
@@ -8632,9 +8746,9 @@ var StreamSmoother = class {
8632
8746
  if (this.destroyed) return;
8633
8747
  this.stopTimer();
8634
8748
  if (this.buffer.length > 0) {
8635
- const text12 = this.buffer;
8749
+ const text13 = this.buffer;
8636
8750
  this.buffer = "";
8637
- this.callback(text12);
8751
+ this.callback(text13);
8638
8752
  }
8639
8753
  this.resolveDrain();
8640
8754
  }
@@ -8701,9 +8815,9 @@ var StreamSmoother = class {
8701
8815
  const currentSpeed = this.getCurrentSpeed(elapsed);
8702
8816
  const charsThisTick = Math.max(1, Math.round(currentSpeed * (TICK_INTERVAL / 1e3)));
8703
8817
  const toRelease = Math.min(charsThisTick, this.buffer.length);
8704
- const text12 = this.buffer.slice(0, toRelease);
8818
+ const text13 = this.buffer.slice(0, toRelease);
8705
8819
  this.buffer = this.buffer.slice(toRelease);
8706
- this.callback(text12);
8820
+ this.callback(text13);
8707
8821
  if (this.buffer.length === 0) {
8708
8822
  this.stopTimer();
8709
8823
  this.resolveDrain();
@@ -8907,6 +9021,7 @@ function getToolName(tool) {
8907
9021
  }
8908
9022
  function toolsAfterConfirmation(apiTools, executionResults) {
8909
9023
  const members = /* @__PURE__ */ new Set();
9024
+ let keepConfirm = false;
8910
9025
  for (const r of executionResults) {
8911
9026
  if (r.name !== CONFIRM_TOOL_NAME) continue;
8912
9027
  const answer = r.result;
@@ -8914,11 +9029,12 @@ function toolsAfterConfirmation(apiTools, executionResults) {
8914
9029
  const setName = CONFIRMED_ACTION_TOOL_SETS.get(answer.action.trim().toLowerCase());
8915
9030
  const set = BUILT_IN_TOOL_SETS.find((s) => s.name === setName);
8916
9031
  for (const member of set?.members ?? []) members.add(member);
9032
+ if (missingConfirmFields(answer.action, answer.parameters).length > 0) keepConfirm = true;
8917
9033
  }
8918
9034
  if (!apiTools.some((t) => members.has(getToolName(t) ?? ""))) return void 0;
8919
9035
  return apiTools.filter((t) => {
8920
9036
  const name = getToolName(t) ?? "";
8921
- return members.has(name) || name === CONFIRM_TOOL_NAME || name === TOOL_SEARCH_TOOL_NAME;
9037
+ return members.has(name) || name === TOOL_SEARCH_TOOL_NAME || keepConfirm && name === CONFIRM_TOOL_NAME;
8922
9038
  });
8923
9039
  }
8924
9040
  var STREAM_RESUMABLE_HEADER = "X-Stream-Resumable";
@@ -9124,9 +9240,9 @@ async function runToolLoop(options) {
9124
9240
  messages = await redactBatch(messages);
9125
9241
  if (preProcessors?.length) {
9126
9242
  try {
9127
- const text12 = extractLastUserText(messages);
9128
- if (text12.length > 0) {
9129
- const embedding = await generateEmbedding(text12, {
9243
+ const text13 = extractLastUserText(messages);
9244
+ if (text13.length > 0) {
9245
+ const embedding = await generateEmbedding(text13, {
9130
9246
  apiKey: headers?.["X-API-Key"],
9131
9247
  getToken: token ? () => Promise.resolve(token) : void 0,
9132
9248
  baseUrl
@@ -9134,7 +9250,7 @@ async function runToolLoop(options) {
9134
9250
  const results = await Promise.all(
9135
9251
  preProcessors.map(async (p) => {
9136
9252
  try {
9137
- return await p({ prompt: text12, embedding, signal: combinedSignal });
9253
+ return await p({ prompt: text13, embedding, signal: combinedSignal });
9138
9254
  } catch (err) {
9139
9255
  console.warn("[runToolLoop] pre-processor failed:", err);
9140
9256
  return void 0;
@@ -9293,11 +9409,11 @@ async function runToolLoop(options) {
9293
9409
  }
9294
9410
  });
9295
9411
  accumulator = createStreamAccumulator(model || void 0);
9296
- contentSmoother = new StreamSmoother((text12) => {
9297
- if (emitData) emitData(text12);
9412
+ contentSmoother = new StreamSmoother((text13) => {
9413
+ if (emitData) emitData(text13);
9298
9414
  }, smoothing);
9299
- thinkingSmoother = new StreamSmoother((text12) => {
9300
- if (emitThinking) emitThinking(text12);
9415
+ thinkingSmoother = new StreamSmoother((text13) => {
9416
+ if (emitThinking) emitThinking(text13);
9301
9417
  }, smoothing);
9302
9418
  let chunksEmittedDownstream = false;
9303
9419
  try {
@@ -9802,11 +9918,11 @@ Executing tool: ${toolInfo}
9802
9918
  }
9803
9919
  });
9804
9920
  currentAccumulator = createStreamAccumulator(model || void 0);
9805
- contContentSmoother = new StreamSmoother((text12) => {
9806
- if (emitData) emitData(text12);
9921
+ contContentSmoother = new StreamSmoother((text13) => {
9922
+ if (emitData) emitData(text13);
9807
9923
  }, smoothing);
9808
- contThinkingSmoother = new StreamSmoother((text12) => {
9809
- if (emitThinking) emitThinking(text12);
9924
+ contThinkingSmoother = new StreamSmoother((text13) => {
9925
+ if (emitThinking) emitThinking(text13);
9810
9926
  }, smoothing);
9811
9927
  let chunksEmittedDownstream = false;
9812
9928
  try {
@@ -10033,11 +10149,11 @@ async function resumeStream(options) {
10033
10149
  } = options;
10034
10150
  const strategy = getStrategy(handle.apiType);
10035
10151
  const accumulator = createStreamAccumulator(handle.model || void 0);
10036
- const contentSmoother = new StreamSmoother((text12) => {
10037
- if (onData) onData(text12);
10152
+ const contentSmoother = new StreamSmoother((text13) => {
10153
+ if (onData) onData(text13);
10038
10154
  }, smoothing);
10039
- const thinkingSmoother = new StreamSmoother((text12) => {
10040
- if (onThinking) onThinking(text12);
10155
+ const thinkingSmoother = new StreamSmoother((text13) => {
10156
+ if (onThinking) onThinking(text13);
10041
10157
  }, smoothing);
10042
10158
  const idleController = new AbortController();
10043
10159
  let watchdog;
@@ -10278,19 +10394,19 @@ function createWebSearchPreProcessor(options = {}) {
10278
10394
 
10279
10395
  // src/lib/db/appFiles/models.ts
10280
10396
  import { Model as Model2 } from "@nozbe/watermelondb";
10281
- import { date, readonly, text } from "@nozbe/watermelondb/decorators";
10397
+ import { date, readonly, text as text2 } from "@nozbe/watermelondb/decorators";
10282
10398
  var AppFile = class extends Model2 {
10283
10399
  };
10284
10400
  AppFile.table = "app_files";
10285
10401
  AppFile.associations = {};
10286
10402
  __decorateClass([
10287
- text("conversation_id")
10403
+ text2("conversation_id")
10288
10404
  ], AppFile.prototype, "conversationId", 2);
10289
10405
  __decorateClass([
10290
- text("path")
10406
+ text2("path")
10291
10407
  ], AppFile.prototype, "path", 2);
10292
10408
  __decorateClass([
10293
- text("content")
10409
+ text2("content")
10294
10410
  ], AppFile.prototype, "content", 2);
10295
10411
  __decorateClass([
10296
10412
  readonly,
@@ -10444,7 +10560,7 @@ async function decryptConversationTitle(encryptedTitle, address) {
10444
10560
 
10445
10561
  // src/lib/db/chat/models.ts
10446
10562
  import { Model as Model3 } from "@nozbe/watermelondb";
10447
- import { date as date2, field, json, text as text2 } from "@nozbe/watermelondb/decorators";
10563
+ import { date as date2, field, json, text as text3 } from "@nozbe/watermelondb/decorators";
10448
10564
  var Message = class extends Model3 {
10449
10565
  };
10450
10566
  Message.table = "history";
@@ -10456,19 +10572,19 @@ __decorateClass([
10456
10572
  field("message_id")
10457
10573
  ], Message.prototype, "messageId", 2);
10458
10574
  __decorateClass([
10459
- text2("conversation_id")
10575
+ text3("conversation_id")
10460
10576
  ], Message.prototype, "conversationId", 2);
10461
10577
  __decorateClass([
10462
- text2("role")
10578
+ text3("role")
10463
10579
  ], Message.prototype, "role", 2);
10464
10580
  __decorateClass([
10465
- text2("content")
10581
+ text3("content")
10466
10582
  ], Message.prototype, "content", 2);
10467
10583
  __decorateClass([
10468
- text2("model")
10584
+ text3("model")
10469
10585
  ], Message.prototype, "model", 2);
10470
10586
  __decorateClass([
10471
- text2("image_model")
10587
+ text3("image_model")
10472
10588
  ], Message.prototype, "imageModel", 2);
10473
10589
  __decorateClass([
10474
10590
  json("files", (raw) => raw)
@@ -10486,7 +10602,7 @@ __decorateClass([
10486
10602
  json("vector", (raw) => raw)
10487
10603
  ], Message.prototype, "vector", 2);
10488
10604
  __decorateClass([
10489
- text2("embedding_model")
10605
+ text3("embedding_model")
10490
10606
  ], Message.prototype, "embeddingModel", 2);
10491
10607
  __decorateClass([
10492
10608
  json("chunks", (raw) => raw)
@@ -10504,25 +10620,25 @@ __decorateClass([
10504
10620
  field("was_stopped")
10505
10621
  ], Message.prototype, "wasStopped", 2);
10506
10622
  __decorateClass([
10507
- text2("error")
10623
+ text3("error")
10508
10624
  ], Message.prototype, "error", 2);
10509
10625
  __decorateClass([
10510
10626
  json("thought_process", (raw) => raw)
10511
10627
  ], Message.prototype, "thoughtProcess", 2);
10512
10628
  __decorateClass([
10513
- text2("thinking")
10629
+ text3("thinking")
10514
10630
  ], Message.prototype, "thinking", 2);
10515
10631
  __decorateClass([
10516
- text2("parent_message_id")
10632
+ text3("parent_message_id")
10517
10633
  ], Message.prototype, "parentMessageId", 2);
10518
10634
  __decorateClass([
10519
- text2("feedback")
10635
+ text3("feedback")
10520
10636
  ], Message.prototype, "feedback", 2);
10521
10637
  __decorateClass([
10522
10638
  json("tool_call_events", (raw) => raw)
10523
10639
  ], Message.prototype, "toolCallEvents", 2);
10524
10640
  __decorateClass([
10525
- text2("origin")
10641
+ text3("origin")
10526
10642
  ], Message.prototype, "origin", 2);
10527
10643
  var Conversation = class extends Model3 {
10528
10644
  };
@@ -10532,13 +10648,13 @@ Conversation.associations = {
10532
10648
  projects: { type: "belongs_to", key: "project_id" }
10533
10649
  };
10534
10650
  __decorateClass([
10535
- text2("conversation_id")
10651
+ text3("conversation_id")
10536
10652
  ], Conversation.prototype, "conversationId", 2);
10537
10653
  __decorateClass([
10538
- text2("title")
10654
+ text3("title")
10539
10655
  ], Conversation.prototype, "title", 2);
10540
10656
  __decorateClass([
10541
- text2("project_id")
10657
+ text3("project_id")
10542
10658
  ], Conversation.prototype, "projectId", 2);
10543
10659
  __decorateClass([
10544
10660
  date2("created_at")
@@ -10559,13 +10675,13 @@ ConversationSummary.associations = {
10559
10675
  conversations: { type: "belongs_to", key: "conversation_id" }
10560
10676
  };
10561
10677
  __decorateClass([
10562
- text2("conversation_id")
10678
+ text3("conversation_id")
10563
10679
  ], ConversationSummary.prototype, "conversationId", 2);
10564
10680
  __decorateClass([
10565
- text2("summary")
10681
+ text3("summary")
10566
10682
  ], ConversationSummary.prototype, "summary", 2);
10567
10683
  __decorateClass([
10568
- text2("summarized_up_to")
10684
+ text3("summarized_up_to")
10569
10685
  ], ConversationSummary.prototype, "summarizedUpTo", 2);
10570
10686
  __decorateClass([
10571
10687
  field("token_count")
@@ -10734,16 +10850,16 @@ async function deleteConversationSummaryOp(ctx, conversationId) {
10734
10850
 
10735
10851
  // src/lib/db/conversationMemory/models.ts
10736
10852
  import { Model as Model4 } from "@nozbe/watermelondb";
10737
- import { date as date3, field as field2, readonly as readonly2, text as text3 } from "@nozbe/watermelondb/decorators";
10853
+ import { date as date3, field as field2, readonly as readonly2, text as text4 } from "@nozbe/watermelondb/decorators";
10738
10854
  var ConversationMemory = class extends Model4 {
10739
10855
  };
10740
10856
  ConversationMemory.table = "conversation_memory";
10741
10857
  ConversationMemory.associations = {};
10742
10858
  __decorateClass([
10743
- text3("conversation_id")
10859
+ text4("conversation_id")
10744
10860
  ], ConversationMemory.prototype, "conversationId", 2);
10745
10861
  __decorateClass([
10746
- text3("memory_id")
10862
+ text4("memory_id")
10747
10863
  ], ConversationMemory.prototype, "memoryId", 2);
10748
10864
  __decorateClass([
10749
10865
  field2("score")
@@ -10813,12 +10929,12 @@ async function clearConversationMemoriesOp(ctx, conversationId) {
10813
10929
 
10814
10930
  // src/lib/db/entities/models.ts
10815
10931
  import { Model as Model5 } from "@nozbe/watermelondb";
10816
- import { date as date4, field as field3, readonly as readonly3, text as text4 } from "@nozbe/watermelondb/decorators";
10932
+ import { date as date4, field as field3, readonly as readonly3, text as text5 } from "@nozbe/watermelondb/decorators";
10817
10933
  var Entity = class extends Model5 {
10818
10934
  };
10819
10935
  Entity.table = "entity";
10820
10936
  __decorateClass([
10821
- text4("canonical_name")
10937
+ text5("canonical_name")
10822
10938
  ], Entity.prototype, "canonicalName", 2);
10823
10939
  __decorateClass([
10824
10940
  field3("kind")
@@ -10834,10 +10950,10 @@ var MemoryEntity = class extends Model5 {
10834
10950
  };
10835
10951
  MemoryEntity.table = "memory_entity";
10836
10952
  __decorateClass([
10837
- text4("memory_id")
10953
+ text5("memory_id")
10838
10954
  ], MemoryEntity.prototype, "memoryId", 2);
10839
10955
  __decorateClass([
10840
- text4("entity_id")
10956
+ text5("entity_id")
10841
10957
  ], MemoryEntity.prototype, "entityId", 2);
10842
10958
  __decorateClass([
10843
10959
  field3("user_id")
@@ -11245,7 +11361,7 @@ import {
11245
11361
 
11246
11362
  // src/lib/db/media/models.ts
11247
11363
  import { Model as Model6 } from "@nozbe/watermelondb";
11248
- import { date as date5, field as field4, json as json2, readonly as readonly4, text as text5 } from "@nozbe/watermelondb/decorators";
11364
+ import { date as date5, field as field4, json as json2, readonly as readonly4, text as text6 } from "@nozbe/watermelondb/decorators";
11249
11365
  var Media = class extends Model6 {
11250
11366
  };
11251
11367
  Media.table = "media";
@@ -11254,37 +11370,37 @@ Media.associations = {
11254
11370
  conversations: { type: "belongs_to", key: "conversation_id" }
11255
11371
  };
11256
11372
  __decorateClass([
11257
- text5("media_id")
11373
+ text6("media_id")
11258
11374
  ], Media.prototype, "mediaId", 2);
11259
11375
  __decorateClass([
11260
- text5("wallet_address")
11376
+ text6("wallet_address")
11261
11377
  ], Media.prototype, "walletAddress", 2);
11262
11378
  __decorateClass([
11263
- text5("message_id")
11379
+ text6("message_id")
11264
11380
  ], Media.prototype, "messageId", 2);
11265
11381
  __decorateClass([
11266
- text5("conversation_id")
11382
+ text6("conversation_id")
11267
11383
  ], Media.prototype, "conversationId", 2);
11268
11384
  __decorateClass([
11269
- text5("name")
11385
+ text6("name")
11270
11386
  ], Media.prototype, "name", 2);
11271
11387
  __decorateClass([
11272
- text5("mime_type")
11388
+ text6("mime_type")
11273
11389
  ], Media.prototype, "mimeType", 2);
11274
11390
  __decorateClass([
11275
- text5("media_type")
11391
+ text6("media_type")
11276
11392
  ], Media.prototype, "mediaType", 2);
11277
11393
  __decorateClass([
11278
11394
  field4("size")
11279
11395
  ], Media.prototype, "size", 2);
11280
11396
  __decorateClass([
11281
- text5("role")
11397
+ text6("role")
11282
11398
  ], Media.prototype, "role", 2);
11283
11399
  __decorateClass([
11284
- text5("model")
11400
+ text6("model")
11285
11401
  ], Media.prototype, "model", 2);
11286
11402
  __decorateClass([
11287
- text5("source_url")
11403
+ text6("source_url")
11288
11404
  ], Media.prototype, "sourceUrl", 2);
11289
11405
  __decorateClass([
11290
11406
  json2("dimensions", (raw) => raw)
@@ -11308,15 +11424,15 @@ __decorateClass([
11308
11424
 
11309
11425
  // src/lib/db/memoryVault/models.ts
11310
11426
  import { Model as Model7 } from "@nozbe/watermelondb";
11311
- import { date as date6, field as field5, readonly as readonly5, text as text6 } from "@nozbe/watermelondb/decorators";
11427
+ import { date as date6, field as field5, readonly as readonly5, text as text7 } from "@nozbe/watermelondb/decorators";
11312
11428
  var VaultMemory = class extends Model7 {
11313
11429
  };
11314
11430
  VaultMemory.table = "memory_vault";
11315
11431
  __decorateClass([
11316
- text6("content")
11432
+ text7("content")
11317
11433
  ], VaultMemory.prototype, "content", 2);
11318
11434
  __decorateClass([
11319
- text6("scope")
11435
+ text7("scope")
11320
11436
  ], VaultMemory.prototype, "scope", 2);
11321
11437
  __decorateClass([
11322
11438
  field5("kind")
@@ -11418,7 +11534,7 @@ __decorateClass([
11418
11534
 
11419
11535
  // src/lib/db/project/models.ts
11420
11536
  import { Model as Model8 } from "@nozbe/watermelondb";
11421
- import { date as date7, field as field6, text as text7 } from "@nozbe/watermelondb/decorators";
11537
+ import { date as date7, field as field6, text as text8 } from "@nozbe/watermelondb/decorators";
11422
11538
  var Project = class extends Model8 {
11423
11539
  };
11424
11540
  Project.table = "projects";
@@ -11426,10 +11542,10 @@ Project.associations = {
11426
11542
  conversations: { type: "has_many", foreignKey: "project_id" }
11427
11543
  };
11428
11544
  __decorateClass([
11429
- text7("project_id")
11545
+ text8("project_id")
11430
11546
  ], Project.prototype, "projectId", 2);
11431
11547
  __decorateClass([
11432
- text7("name")
11548
+ text8("name")
11433
11549
  ], Project.prototype, "name", 2);
11434
11550
  __decorateClass([
11435
11551
  date7("created_at")
@@ -11443,29 +11559,29 @@ __decorateClass([
11443
11559
 
11444
11560
  // src/lib/db/savedTools/models.ts
11445
11561
  import { Model as Model9 } from "@nozbe/watermelondb";
11446
- import { date as date8, field as field7, json as json3, readonly as readonly6, text as text8 } from "@nozbe/watermelondb/decorators";
11562
+ import { date as date8, field as field7, json as json3, readonly as readonly6, text as text9 } from "@nozbe/watermelondb/decorators";
11447
11563
  var sanitizeParameters = (raw) => raw ?? {};
11448
11564
  var SavedTool = class extends Model9 {
11449
11565
  };
11450
11566
  SavedTool.table = "saved_tools";
11451
11567
  SavedTool.associations = {};
11452
11568
  __decorateClass([
11453
- text8("name")
11569
+ text9("name")
11454
11570
  ], SavedTool.prototype, "name", 2);
11455
11571
  __decorateClass([
11456
- text8("display_name")
11572
+ text9("display_name")
11457
11573
  ], SavedTool.prototype, "displayName", 2);
11458
11574
  __decorateClass([
11459
- text8("description")
11575
+ text9("description")
11460
11576
  ], SavedTool.prototype, "description", 2);
11461
11577
  __decorateClass([
11462
11578
  json3("parameters", sanitizeParameters)
11463
11579
  ], SavedTool.prototype, "parameters", 2);
11464
11580
  __decorateClass([
11465
- text8("html")
11581
+ text9("html")
11466
11582
  ], SavedTool.prototype, "html", 2);
11467
11583
  __decorateClass([
11468
- text8("conversation_id")
11584
+ text9("conversation_id")
11469
11585
  ], SavedTool.prototype, "conversationId", 2);
11470
11586
  __decorateClass([
11471
11587
  readonly6,
@@ -11480,40 +11596,40 @@ __decorateClass([
11480
11596
 
11481
11597
  // src/lib/db/settings/models.ts
11482
11598
  import { Model as Model10 } from "@nozbe/watermelondb";
11483
- import { text as text9 } from "@nozbe/watermelondb/decorators";
11599
+ import { text as text10 } from "@nozbe/watermelondb/decorators";
11484
11600
  var ModelPreference = class extends Model10 {
11485
11601
  };
11486
11602
  ModelPreference.table = "modelPreferences";
11487
11603
  __decorateClass([
11488
- text9("wallet_address")
11604
+ text10("wallet_address")
11489
11605
  ], ModelPreference.prototype, "walletAddress", 2);
11490
11606
  __decorateClass([
11491
- text9("models")
11607
+ text10("models")
11492
11608
  ], ModelPreference.prototype, "models", 2);
11493
11609
 
11494
11610
  // src/lib/db/userPreferences/models.ts
11495
11611
  import { Model as Model11 } from "@nozbe/watermelondb";
11496
- import { field as field8, text as text10 } from "@nozbe/watermelondb/decorators";
11612
+ import { field as field8, text as text11 } from "@nozbe/watermelondb/decorators";
11497
11613
  var UserPreference = class extends Model11 {
11498
11614
  };
11499
11615
  UserPreference.table = "userPreferences";
11500
11616
  __decorateClass([
11501
- text10("wallet_address")
11617
+ text11("wallet_address")
11502
11618
  ], UserPreference.prototype, "walletAddress", 2);
11503
11619
  __decorateClass([
11504
- text10("nickname")
11620
+ text11("nickname")
11505
11621
  ], UserPreference.prototype, "nickname", 2);
11506
11622
  __decorateClass([
11507
- text10("occupation")
11623
+ text11("occupation")
11508
11624
  ], UserPreference.prototype, "occupation", 2);
11509
11625
  __decorateClass([
11510
- text10("description")
11626
+ text11("description")
11511
11627
  ], UserPreference.prototype, "description", 2);
11512
11628
  __decorateClass([
11513
- text10("models")
11629
+ text11("models")
11514
11630
  ], UserPreference.prototype, "models", 2);
11515
11631
  __decorateClass([
11516
- text10("personality")
11632
+ text11("personality")
11517
11633
  ], UserPreference.prototype, "personality", 2);
11518
11634
  __decorateClass([
11519
11635
  field8("created_at")
@@ -11524,15 +11640,15 @@ __decorateClass([
11524
11640
 
11525
11641
  // src/lib/db/vaultFolders/models.ts
11526
11642
  import { Model as Model12 } from "@nozbe/watermelondb";
11527
- import { date as date9, field as field9, readonly as readonly7, text as text11 } from "@nozbe/watermelondb/decorators";
11643
+ import { date as date9, field as field9, readonly as readonly7, text as text12 } from "@nozbe/watermelondb/decorators";
11528
11644
  var VaultFolder = class extends Model12 {
11529
11645
  };
11530
11646
  VaultFolder.table = "vault_folders";
11531
11647
  __decorateClass([
11532
- text11("name")
11648
+ text12("name")
11533
11649
  ], VaultFolder.prototype, "name", 2);
11534
11650
  __decorateClass([
11535
- text11("scope")
11651
+ text12("scope")
11536
11652
  ], VaultFolder.prototype, "scope", 2);
11537
11653
  __decorateClass([
11538
11654
  readonly7,
@@ -11548,7 +11664,7 @@ __decorateClass([
11548
11664
  field9("is_system")
11549
11665
  ], VaultFolder.prototype, "isSystem", 2);
11550
11666
  __decorateClass([
11551
- text11("context")
11667
+ text12("context")
11552
11668
  ], VaultFolder.prototype, "context", 2);
11553
11669
 
11554
11670
  // src/lib/db/schema.ts
@@ -13940,22 +14056,35 @@ async function vaultMemoryRawToStored(raw, walletAddress, signMessage, embeddedW
13940
14056
  return stored2;
13941
14057
  }
13942
14058
  async function getAllVaultMemoriesOp(ctx, options) {
13943
- const conditions = [
14059
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
14060
+ return mapInBatches(
14061
+ results,
14062
+ (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
14063
+ );
14064
+ }
14065
+ function vaultListConditions(ctx, options) {
14066
+ return [
13944
14067
  ...baseVaultConditions(ctx, options),
13945
14068
  ...options?.scopes?.length ? [Q8.where("scope", Q8.oneOf(options.scopes))] : [],
13946
14069
  ...visibilityConditions(options?.visibility),
13947
14070
  ...levelConditions(options?.levels),
13948
14071
  ...options?.kinds?.length ? [Q8.where("kind", Q8.oneOf(options.kinds))] : [],
13949
14072
  ...options?.folderId !== void 0 ? [Q8.where("folder_id", options.folderId)] : [],
13950
- ...options?.factTypes?.length ? [Q8.where("fact_type", Q8.oneOf(options.factTypes))] : [],
14073
+ ...options?.factTypes?.length ? [Q8.where("fact_type", Q8.oneOf(options.factTypes))] : []
14074
+ ];
14075
+ }
14076
+ function vaultListOrder(options) {
14077
+ return [
13951
14078
  Q8.sortBy(options?.since ? "updated_at" : "created_at", Q8.desc),
13952
14079
  ...options?.limit !== null && options?.limit !== void 0 && options.limit > 0 ? [Q8.take(options.limit)] : []
13953
14080
  ];
13954
- const results = await ctx.vaultMemoryCollection.query(...conditions).unsafeFetchRaw();
13955
- return mapInBatches(
13956
- results,
13957
- (raw) => vaultMemoryRawToStored(raw, ctx.walletAddress, ctx.signMessage, ctx.embeddedWalletSigner)
13958
- );
14081
+ }
14082
+ async function getVaultMemoryProjectionsOp(ctx, options) {
14083
+ const results = await ctx.vaultMemoryCollection.query(...vaultListConditions(ctx, options), ...vaultListOrder(options)).unsafeFetchRaw();
14084
+ return results.map((raw) => ({
14085
+ ...vaultMemoryRawToRankable(raw),
14086
+ topicsUserManaged: raw.topics_user_managed === true || raw.topics_user_managed === 1
14087
+ }));
13959
14088
  }
13960
14089
  function vaultMemoryRawToRankable(raw) {
13961
14090
  return {
@@ -16144,7 +16273,7 @@ Which item numbers should be flagged?`,
16144
16273
  if (parsed === null) return empty;
16145
16274
  return { flagged: parseFlagged(parsed, scope.length) };
16146
16275
  }
16147
- function parseFlagged(parsed, count) {
16276
+ function parseFlagged(parsed, count2) {
16148
16277
  const out = /* @__PURE__ */ new Set();
16149
16278
  if (typeof parsed !== "object" || parsed === null) return out;
16150
16279
  const list = parsed.poisoned;
@@ -16152,7 +16281,7 @@ function parseFlagged(parsed, count) {
16152
16281
  for (const raw of list) {
16153
16282
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
16154
16283
  if (!Number.isInteger(n)) continue;
16155
- if (n >= 1 && n <= count) out.add(n - 1);
16284
+ if (n >= 1 && n <= count2) out.add(n - 1);
16156
16285
  }
16157
16286
  return out;
16158
16287
  }
@@ -16638,8 +16767,8 @@ var STOPWORDS = /* @__PURE__ */ new Set([
16638
16767
  "user",
16639
16768
  "users"
16640
16769
  ]);
16641
- function tokenize(text12) {
16642
- const m = text12.toLowerCase().match(TOKEN_RE);
16770
+ function tokenize(text13) {
16771
+ const m = text13.toLowerCase().match(TOKEN_RE);
16643
16772
  if (!m) return [];
16644
16773
  return m.filter((t) => !STOPWORDS.has(t));
16645
16774
  }
@@ -18163,14 +18292,14 @@ async function retainWithPersistence(content, ctx, options = {}) {
18163
18292
  );
18164
18293
  }
18165
18294
  if (options.consolidateOptions) {
18166
- const outcome = await tryConsolidate(trimmed, ctx, options, prepared);
18167
- if (outcome) {
18168
- if ("done" in outcome) return outcome.done;
18169
- if ("create" in outcome) {
18295
+ const outcome2 = await tryConsolidate(trimmed, ctx, options, prepared);
18296
+ if (outcome2) {
18297
+ if ("done" in outcome2) return outcome2.done;
18298
+ if ("create" in outcome2) {
18170
18299
  consolidationDecidedCreate = true;
18171
18300
  } else {
18172
- supersedeTargetIds = outcome.supersede;
18173
- supersedeContent = outcome.content;
18301
+ supersedeTargetIds = outcome2.supersede;
18302
+ supersedeContent = outcome2.content;
18174
18303
  }
18175
18304
  }
18176
18305
  }
@@ -18836,12 +18965,12 @@ async function extractAndRetain(messages, retainCtx, options) {
18836
18965
  if (failedWrites > 0) {
18837
18966
  log.warn(`[memory/extract] ${failedWrites} of ${filtered.length} candidates failed to retain`);
18838
18967
  }
18839
- const outcome = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
18968
+ const outcome2 = exhaustedEmpty ? "empty-after-retry" : filtered.length > 0 ? "extracted" : droppedAfterRedaction ? "dropped-after-redaction" : "no-facts";
18840
18969
  return {
18841
18970
  candidates: succeededCandidates,
18842
18971
  results,
18843
18972
  failedCount: failedWrites,
18844
- outcome,
18973
+ outcome: outcome2,
18845
18974
  quarantined: quarantinedInfo,
18846
18975
  funnel: {
18847
18976
  rawCandidateCount,
@@ -19071,7 +19200,7 @@ function createAutoExtractor(options) {
19071
19200
  ...options.retainCtx,
19072
19201
  embeddingOptions: {
19073
19202
  ...options.retainCtx.embeddingOptions,
19074
- maskInput: (text12) => piiRedactor.maskText(text12)
19203
+ maskInput: (text13) => piiRedactor.maskText(text13)
19075
19204
  }
19076
19205
  } : options.retainCtx;
19077
19206
  function processTurn(messages, conversationId) {
@@ -19104,7 +19233,7 @@ function createAutoExtractor(options) {
19104
19233
  const t0 = Date.now();
19105
19234
  void (async () => {
19106
19235
  try {
19107
- const { candidates, results, failedCount, outcome, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
19236
+ const { candidates, results, failedCount, outcome: outcome2, failure, funnel, timings, model } = await extractAndRetain(window2, retainCtx, {
19108
19237
  extract,
19109
19238
  ...options.minConfidence !== void 0 && { minConfidence: options.minConfidence },
19110
19239
  ...options.entityCtx !== void 0 && { entityCtx: options.entityCtx },
@@ -19121,7 +19250,7 @@ function createAutoExtractor(options) {
19121
19250
  onQuarantined: (info) => options.onMemoryQuarantined?.({ ...info, conversationId })
19122
19251
  }
19123
19252
  });
19124
- if (outcome !== "empty-after-retry" && failedCount === 0) {
19253
+ if (outcome2 !== "empty-after-retry" && failedCount === 0) {
19125
19254
  const advancedTo = window2[window2.length - 1].id;
19126
19255
  stateFor(conversationId).watermark = advancedTo;
19127
19256
  persistCursor(conversationId, messages, advancedTo, contiguous);
@@ -19140,7 +19269,7 @@ function createAutoExtractor(options) {
19140
19269
  failedCount,
19141
19270
  durationMs: Date.now() - t0,
19142
19271
  conversationId,
19143
- outcome,
19272
+ outcome: outcome2,
19144
19273
  funnel,
19145
19274
  timings,
19146
19275
  model,
@@ -20802,12 +20931,12 @@ ${JSON.stringify(
20802
20931
  function parseAnswer(body, base, parseSchema) {
20803
20932
  if (typeof body !== "object" || body === null) return base;
20804
20933
  const obj = body;
20805
- const text12 = extractCompletionContent(obj) ?? "";
20934
+ const text13 = extractCompletionContent(obj) ?? "";
20806
20935
  const usage = obj.usage;
20807
20936
  let structuredOutput;
20808
- if (parseSchema && text12) {
20937
+ if (parseSchema && text13) {
20809
20938
  try {
20810
- structuredOutput = JSON.parse(extractJsonCandidate(text12));
20939
+ structuredOutput = JSON.parse(extractJsonCandidate(text13));
20811
20940
  } catch (err) {
20812
20941
  getLogger().warn("[memory/reflect] structured output was not valid JSON", {
20813
20942
  err: err instanceof Error ? err.message : String(err)
@@ -20817,7 +20946,7 @@ function parseAnswer(body, base, parseSchema) {
20817
20946
  const promptTokens = usage?.prompt_tokens ?? usage?.input_tokens ?? 0;
20818
20947
  const completionTokens = usage?.completion_tokens ?? usage?.output_tokens ?? 0;
20819
20948
  return {
20820
- text: text12,
20949
+ text: text13,
20821
20950
  ...structuredOutput !== void 0 && { structuredOutput },
20822
20951
  basedOn: base.basedOn,
20823
20952
  usage: {
@@ -21048,6 +21177,7 @@ function createLocalMemoryStore(options) {
21048
21177
  };
21049
21178
  const vaultCache = options.vaultCache ?? createVaultEmbeddingCache();
21050
21179
  const ownedBy = userId !== void 0 ? [Q15.where("user_id", userId)] : [];
21180
+ const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q15.or(Q15.where("user_id", userId), Q15.where("user_id", null))] : [Q15.where("user_id", userId)];
21051
21181
  const watchedColumns = [
21052
21182
  "content",
21053
21183
  "scope",
@@ -21090,6 +21220,29 @@ function createLocalMemoryStore(options) {
21090
21220
  },
21091
21221
  memoriesByTopics: (names) => getMemoriesByEntityNamesOp(entityCtx, names),
21092
21222
  topicsByMemories: (memoryIds) => getEntitiesByMemoryIdsOp(entityCtx, memoryIds),
21223
+ listTopics: async () => {
21224
+ const links = await entityCtx.memoryEntityCollection.query(...linksOwnedBy).fetch();
21225
+ const members = /* @__PURE__ */ new Map();
21226
+ for (const link of links) {
21227
+ const entityId = String(link.entityId);
21228
+ const set = members.get(entityId) ?? /* @__PURE__ */ new Set();
21229
+ set.add(String(link.memoryId));
21230
+ members.set(entityId, set);
21231
+ }
21232
+ const entities = userId === void 0 ? await entityCtx.entityCollection.query().fetch() : members.size ? await entityCtx.entityCollection.query(Q15.where("id", Q15.oneOf([...members.keys()]))).fetch() : [];
21233
+ const byName = /* @__PURE__ */ new Map();
21234
+ for (const entity of entities) {
21235
+ const count2 = members.get(entity.id)?.size ?? 0;
21236
+ const existing = byName.get(entity.canonicalName);
21237
+ byName.set(entity.canonicalName, {
21238
+ name: entity.canonicalName,
21239
+ kind: existing?.kind ?? entity.kind ?? null,
21240
+ memoryCount: (existing?.memoryCount ?? 0) + count2
21241
+ });
21242
+ }
21243
+ return [...byName.values()].sort((a, b) => a.name.localeCompare(b.name));
21244
+ },
21245
+ listProjections: (listOptions) => getVaultMemoryProjectionsOp(vaultCtx, listOptions),
21093
21246
  create: async (input) => {
21094
21247
  const created = await createVaultMemoryOp(vaultCtx, input);
21095
21248
  if (input.embedding === void 0) embedInBackground(created);
@@ -21151,7 +21304,6 @@ function createLocalMemoryStore(options) {
21151
21304
  );
21152
21305
  const subscriptions = [memories.subscribe(afterFirst())];
21153
21306
  if (subscribeOptions?.topics) {
21154
- const linksOwnedBy = userId === void 0 ? [] : options.allowUnscopedRows ? [Q15.or(Q15.where("user_id", userId), Q15.where("user_id", null))] : [Q15.where("user_id", userId)];
21155
21307
  subscriptions.push(
21156
21308
  entityCtx.memoryEntityCollection.query(...linksOwnedBy).observe().subscribe(afterFirst())
21157
21309
  );
@@ -21561,6 +21713,31 @@ async function createRemoteMemoryPersistence(options) {
21561
21713
  throw new Error("Invalid nearby candidate response");
21562
21714
  return result;
21563
21715
  };
21716
+ const fetchQueryPage = async (queryOptions) => {
21717
+ const { signal, ...query } = queryOptions;
21718
+ if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
21719
+ throw new Error("Page limit must be 1\u2013200");
21720
+ for (const [key, max] of queryListLimits) {
21721
+ const values = query[key];
21722
+ if (values && values.length > max)
21723
+ throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
21724
+ }
21725
+ const page = await request(
21726
+ "/memories/query",
21727
+ {
21728
+ method: "POST",
21729
+ body: JSON.stringify(
21730
+ Object.fromEntries(
21731
+ queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
21732
+ )
21733
+ )
21734
+ },
21735
+ signal
21736
+ );
21737
+ if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
21738
+ throw new Error("Invalid nearby private-memory page");
21739
+ return page;
21740
+ };
21564
21741
  const candidateSet = async (embedding, candidateOptions = {}) => {
21565
21742
  const result = await fetchCandidates(embedding, candidateOptions, true);
21566
21743
  if (!Number.isSafeInteger(result.total_count) || result.total_count < 0 || !Number.isSafeInteger(result.unavailable_count) || result.unavailable_count < 0)
@@ -21639,34 +21816,27 @@ async function createRemoteMemoryPersistence(options) {
21639
21816
  return Promise.all(result.items.map((item, i) => decodeCommitted(item, prepared[i])));
21640
21817
  },
21641
21818
  query: async (queryOptions = {}) => {
21642
- const { signal, ...query } = queryOptions;
21643
- if (query.limit !== void 0 && (!Number.isInteger(query.limit) || query.limit < 1 || query.limit > 200))
21644
- throw new Error("Page limit must be 1\u2013200");
21645
- for (const [key, max] of queryListLimits) {
21646
- const values = query[key];
21647
- if (values && values.length > max)
21648
- throw new Error(`Query ${key} accepts at most ${max} entries (got ${values.length})`);
21649
- }
21650
- const page = await request(
21651
- "/memories/query",
21652
- {
21653
- method: "POST",
21654
- body: JSON.stringify(
21655
- Object.fromEntries(
21656
- queryFields.filter((key) => query[key] !== void 0).map((key) => [key, query[key]])
21657
- )
21658
- )
21659
- },
21660
- signal
21661
- );
21662
- if (!record(page) || !Array.isArray(page.items) || page.next_cursor !== void 0 && typeof page.next_cursor !== "string" || page.changes_cursor !== void 0 && typeof page.changes_cursor !== "string")
21663
- throw new Error("Invalid nearby private-memory page");
21819
+ const page = await fetchQueryPage(queryOptions);
21664
21820
  return {
21665
21821
  ...await decodeAll(page.items),
21666
21822
  ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor },
21667
21823
  ...page.changes_cursor !== void 0 && { changes_cursor: page.changes_cursor }
21668
21824
  };
21669
21825
  },
21826
+ queryMetadata: async (queryOptions = {}) => {
21827
+ const page = await fetchQueryPage(queryOptions);
21828
+ return {
21829
+ items: page.items.map((item) => {
21830
+ const {
21831
+ memory: { content: _content, kind_value: _kindValue, ...memory },
21832
+ version,
21833
+ server_updated_at
21834
+ } = memoryRecord(item);
21835
+ return { memory, version, server_updated_at };
21836
+ }),
21837
+ ...page.next_cursor !== void 0 && { next_cursor: page.next_cursor }
21838
+ };
21839
+ },
21670
21840
  candidateSet,
21671
21841
  candidates: async (embedding, candidateOptions = {}) => decodeAll((await fetchCandidates(embedding, candidateOptions, false)).items)
21672
21842
  };
@@ -22017,10 +22187,10 @@ function createRemoteMemoryPipeline(options) {
22017
22187
  factSource: {
22018
22188
  graphRanking: options.graphRanking,
22019
22189
  temporalRanking: options.temporalRanking,
22020
- search: async (text12, searchOptions) => {
22021
- const prepared = await prepare(text12, searchOptions);
22190
+ search: async (text13, searchOptions) => {
22191
+ const prepared = await prepare(text13, searchOptions);
22022
22192
  const ranked = await rankPreparedVaultCandidates(
22023
- text12,
22193
+ text13,
22024
22194
  prepared,
22025
22195
  embeddingOptions,
22026
22196
  searchOptions
@@ -22057,6 +22227,19 @@ function createRemoteMemoryPipeline(options) {
22057
22227
 
22058
22228
  // src/lib/memory/store/remoteStore.ts
22059
22229
  import { v7 as uuidv76 } from "uuid";
22230
+ function projection({ memory }) {
22231
+ return {
22232
+ uniqueId: memory.memory_id,
22233
+ scope: memory.scope,
22234
+ folderId: memory.folder_id ?? null,
22235
+ embedding: memory.embedding?.length ? JSON.stringify(memory.embedding) : null,
22236
+ embeddingModel: memory.embedding_model ?? null,
22237
+ createdAt: new Date(memory.created_at),
22238
+ updatedAt: new Date(memory.updated_at),
22239
+ lastObservedAt: memory.last_observed_at ?? null,
22240
+ topicsUserManaged: memory.topics_user_managed ?? false
22241
+ };
22242
+ }
22060
22243
  function relevant(change, options) {
22061
22244
  return options.includeDeleted ? change === "membership" : change !== "embedding" || !!options.embeddings;
22062
22245
  }
@@ -22091,6 +22274,9 @@ function bounded(filters, key) {
22091
22274
  if (!values || values.length <= MAX_QUERY_FILTER) return [filters];
22092
22275
  return chunks(values, MAX_QUERY_FILTER).map((chunk) => ({ ...filters, [key]: chunk }));
22093
22276
  }
22277
+ function maxOf(options) {
22278
+ return options.limit && options.limit > 0 ? options.limit : Infinity;
22279
+ }
22094
22280
  function chunks(values, size) {
22095
22281
  const out = [];
22096
22282
  for (let i = 0; i < values.length; i += size) out.push(values.slice(i, i + size));
@@ -22162,26 +22348,49 @@ function createRemoteMemoryStore(options) {
22162
22348
  for (const subscriber of [...subscribers])
22163
22349
  if (relevant(change, subscriber.options)) safely(subscriber.onChange);
22164
22350
  };
22165
- const enumerate = async (filters, max = Infinity) => {
22351
+ const pages = async (read, filters, max = Infinity) => {
22166
22352
  const records = [];
22167
22353
  let cursor2;
22168
22354
  do {
22169
- const page = await persistence.query({
22355
+ const page = await read({
22170
22356
  ...filters,
22171
22357
  limit: Math.min(200, Math.max(1, max - records.length)),
22172
22358
  ...cursor2 && { cursor: cursor2 }
22173
22359
  });
22174
- warnFailed(page.failed);
22360
+ if (page.failed) warnFailed(page.failed);
22175
22361
  records.push(...page.items);
22176
22362
  cursor2 = page.next_cursor;
22177
22363
  } while (cursor2 && records.length < max);
22178
22364
  return records.slice(0, max);
22179
22365
  };
22180
- const enumerateIds = async (ids, filters) => (await Promise.all(
22366
+ const decrypted = (options2) => persistence.query(options2);
22367
+ const metadata = (options2) => persistence.queryMetadata(options2);
22368
+ const enumerate = (filters, max = Infinity) => pages(decrypted, filters, max);
22369
+ const enumerateIds = async (read, ids, filters) => (await Promise.all(
22181
22370
  chunks([...new Set(ids)], MAX_QUERY_IDS).map(
22182
- (memory_ids) => enumerate({ ...filters, memory_ids })
22371
+ (memory_ids) => pages(read, { ...filters, memory_ids })
22183
22372
  )
22184
22373
  )).flat();
22374
+ const listFilters = (listOptions) => ({
22375
+ ...stateFilters(listOptions),
22376
+ include_embeddings: true,
22377
+ order: listOptions.since ? "updated" : "created",
22378
+ ...listOptions.scopes?.length && { scopes: listOptions.scopes },
22379
+ ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
22380
+ ...listOptions.visibility?.length && { visibility: listOptions.visibility },
22381
+ ...listOptions.since && { updated_after: listOptions.since.getTime() }
22382
+ });
22383
+ const listRows = async (read, listOptions, filters, max) => {
22384
+ const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
22385
+ if (!listOptions.memoryIds && variants.length === 1) return pages(read, filters, max);
22386
+ const fetched = await Promise.all(
22387
+ variants.map(
22388
+ (variant) => listOptions.memoryIds ? enumerateIds(read, listOptions.memoryIds, variant) : pages(read, variant, max)
22389
+ )
22390
+ );
22391
+ const time = (row) => filters.order === "updated" ? row.memory.updated_at : row.memory.created_at;
22392
+ return [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].sort((a, b) => time(b) - time(a) || (a.memory.memory_id < b.memory.memory_id ? 1 : -1)).slice(0, max);
22393
+ };
22185
22394
  const queues = /* @__PURE__ */ new Map();
22186
22395
  const serialized = (id, task) => {
22187
22396
  const run = (queues.get(id) ?? Promise.resolve()).then(task, task);
@@ -22223,12 +22432,15 @@ function createRemoteMemoryStore(options) {
22223
22432
  };
22224
22433
  const newRow = (input) => {
22225
22434
  const now = Date.now();
22226
- const scope = input.scope ?? "private";
22435
+ const { level, scope } = resolveCreateLevel(input);
22436
+ assertValidKindLevel(input.kind, level);
22227
22437
  return {
22228
22438
  memory_id: uuidv76(),
22229
22439
  content: input.content,
22230
22440
  scope,
22231
- level: levelFromScope(scope),
22441
+ level,
22442
+ ...input.kind !== void 0 && input.kind !== null && { kind: input.kind },
22443
+ ...typeof input.kindValue === "string" && { kind_value: input.kindValue },
22232
22444
  created_at: now,
22233
22445
  updated_at: now,
22234
22446
  is_deleted: false,
@@ -22257,6 +22469,30 @@ function createRemoteMemoryStore(options) {
22257
22469
  return records.map((record2) => stored(record2.memory));
22258
22470
  };
22259
22471
  const asStored = (record2) => record2 ? stored(record2.memory) : null;
22472
+ const withKnownKinds = async (topics) => {
22473
+ const unkinded = [
22474
+ ...new Set(topics.filter((t) => !t.kind).map((t) => normalizeEntityName(t.name)))
22475
+ ];
22476
+ if (unkinded.length === 0) return topics;
22477
+ const kinds = /* @__PURE__ */ new Map();
22478
+ for (const names of chunks(unkinded, MAX_QUERY_TOPICS)) {
22479
+ for (const { memory } of await pages(metadata, {
22480
+ topics: names,
22481
+ include_archived: true,
22482
+ include_quarantined: true,
22483
+ include_superseded: true
22484
+ })) {
22485
+ for (const topic of parseTopics(memory.topics) ?? []) {
22486
+ const name = normalizeEntityName(topic.name);
22487
+ if (topic.kind && !kinds.has(name)) kinds.set(name, topic.kind);
22488
+ }
22489
+ }
22490
+ }
22491
+ return topics.map((topic) => {
22492
+ const kind = topic.kind ?? kinds.get(normalizeEntityName(topic.name));
22493
+ return kind ? { ...topic, kind } : topic;
22494
+ });
22495
+ };
22260
22496
  const everyState = {
22261
22497
  include_deleted: true,
22262
22498
  include_archived: true,
@@ -22333,30 +22569,34 @@ function createRemoteMemoryStore(options) {
22333
22569
  });
22334
22570
  };
22335
22571
  return {
22336
- list: async (listOptions = {}) => {
22337
- const order = listOptions.since ? "updated" : "created";
22338
- const filters = {
22339
- ...stateFilters(listOptions),
22340
- include_embeddings: true,
22341
- order,
22342
- ...listOptions.scopes?.length && { scopes: listOptions.scopes },
22343
- ...listOptions.factTypes?.length && { fact_types: listOptions.factTypes },
22344
- ...listOptions.visibility?.length && { visibility: listOptions.visibility },
22345
- ...listOptions.since && { updated_after: listOptions.since.getTime() }
22346
- };
22347
- const max = listOptions.limit && listOptions.limit > 0 ? listOptions.limit : Infinity;
22348
- const variants = bounded(filters, "scopes").flatMap((f) => bounded(f, "fact_types"));
22349
- if (!listOptions.memoryIds && variants.length === 1)
22350
- return (await enumerate(filters, max)).map((r) => stored(r.memory));
22351
- const fetched = await Promise.all(
22352
- variants.map(
22353
- (variant) => listOptions.memoryIds ? enumerateIds(listOptions.memoryIds, variant) : enumerate(variant, max)
22354
- )
22355
- );
22356
- const rows = [...new Map(fetched.flat().map((r) => [r.memory.memory_id, r])).values()].map((record2) => stored(record2.memory)).sort(
22357
- (a, b) => order === "updated" ? b.updatedAt.getTime() - a.updatedAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1) : b.createdAt.getTime() - a.createdAt.getTime() || (a.uniqueId < b.uniqueId ? 1 : -1)
22358
- );
22359
- return rows.slice(0, max);
22572
+ list: async (listOptions = {}) => (await listRows(decrypted, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
22573
+ (r) => stored(r.memory)
22574
+ ),
22575
+ listProjections: async (listOptions = {}) => (await listRows(metadata, listOptions, listFilters(listOptions), maxOf(listOptions))).map(
22576
+ projection
22577
+ ),
22578
+ listTopics: async () => {
22579
+ const topics = /* @__PURE__ */ new Map();
22580
+ for (const { memory } of await pages(metadata, {
22581
+ include_archived: true,
22582
+ include_quarantined: true,
22583
+ include_superseded: true
22584
+ })) {
22585
+ for (const topic of parseTopics(memory.topics) ?? []) {
22586
+ const name = normalizeEntityName(topic.name);
22587
+ if (!name) continue;
22588
+ const entry = topics.get(name) ?? {
22589
+ name,
22590
+ kind: null,
22591
+ memoryCount: 0,
22592
+ members: /* @__PURE__ */ new Set()
22593
+ };
22594
+ entry.kind ?? (entry.kind = topic.kind ?? null);
22595
+ entry.members.add(memory.memory_id);
22596
+ topics.set(name, entry);
22597
+ }
22598
+ }
22599
+ return [...topics.values()].map(({ members, ...topic }) => ({ ...topic, memoryCount: members.size })).sort((a, b) => a.name.localeCompare(b.name));
22360
22600
  },
22361
22601
  get: async (id) => asStored(await live(id)),
22362
22602
  listArchived: async () => (await enumerate({ archived_only: true, order: "archived", include_embeddings: true })).map(
@@ -22365,10 +22605,10 @@ function createRemoteMemoryStore(options) {
22365
22605
  memoriesByTopics: async (names) => {
22366
22606
  const wanted = new Set(names.map(normalizeEntityName).filter(Boolean));
22367
22607
  const out = /* @__PURE__ */ new Map();
22368
- const pages = await Promise.all(
22608
+ const pages2 = await Promise.all(
22369
22609
  chunks([...wanted], MAX_QUERY_TOPICS).map((topics) => enumerate({ topics }))
22370
22610
  );
22371
- for (const { memory } of pages.flat()) {
22611
+ for (const { memory } of pages2.flat()) {
22372
22612
  const matched = [...canonicalTopics(memory)].filter((name) => wanted.has(name));
22373
22613
  if (matched.length) out.set(memory.memory_id, new Set(matched));
22374
22614
  }
@@ -22376,7 +22616,7 @@ function createRemoteMemoryStore(options) {
22376
22616
  },
22377
22617
  topicsByMemories: async (memoryIds) => {
22378
22618
  const out = /* @__PURE__ */ new Map();
22379
- for (const { memory } of await enumerateIds(memoryIds, {
22619
+ for (const { memory } of await enumerateIds(decrypted, memoryIds, {
22380
22620
  include_archived: true,
22381
22621
  include_superseded: true,
22382
22622
  include_quarantined: true
@@ -22409,15 +22649,26 @@ function createRemoteMemoryStore(options) {
22409
22649
  update: async (id, patch) => {
22410
22650
  const saved = await mutate(id, "edit", (memory) => {
22411
22651
  if (memory.superseded_by) return null;
22652
+ const level = patch.level !== void 0 ? patch.level : patch.scope !== void 0 ? levelForScopeChange({ level: memory.level, scope: memory.scope }, patch.scope) : resolveMemoryLevel(memory.level, memory.scope);
22653
+ const kind = patch.kind !== void 0 ? patch.kind : memory.kind;
22654
+ assertValidKindLevel(kind, level);
22412
22655
  memory.content = patch.content;
22413
22656
  memory.updated_at = Date.now();
22414
- if (patch.scope !== void 0) {
22415
- memory.level = levelForScopeChange(
22416
- { level: memory.level, scope: memory.scope },
22417
- patch.scope
22418
- );
22657
+ if (patch.level !== void 0) {
22658
+ memory.level = level;
22659
+ memory.scope = scopeForLevel(level);
22660
+ } else if (patch.scope !== void 0) {
22661
+ memory.level = level;
22419
22662
  memory.scope = patch.scope;
22420
22663
  }
22664
+ if (patch.kind !== void 0) {
22665
+ if (patch.kind === null) delete memory.kind;
22666
+ else memory.kind = patch.kind;
22667
+ }
22668
+ if (patch.kindValue !== void 0) {
22669
+ if (patch.kindValue === null) delete memory.kind_value;
22670
+ else memory.kind_value = patch.kindValue;
22671
+ }
22421
22672
  if (patch.factType !== void 0) memory.fact_type = patch.factType ?? void 0;
22422
22673
  if (patch.eventTime !== void 0) {
22423
22674
  memory.event_time_start = patch.eventTime?.start ?? void 0;
@@ -22472,16 +22723,19 @@ function createRemoteMemoryStore(options) {
22472
22723
  notify("edit", [await persistence.put(memory, record2)]);
22473
22724
  return true;
22474
22725
  }),
22475
- setTopics: async (memoryId, topics) => asStored(
22476
- await mutate(memoryId, "edit", (memory) => ({
22477
- ...memory,
22478
- topics: serializeTopics(mergeTopics([], topicInputs(topics, "user"))),
22479
- topics_user_managed: true,
22480
- topics_updated_at: Date.now()
22481
- }))
22482
- ),
22726
+ setTopics: async (memoryId, topics) => {
22727
+ const chosen = await withKnownKinds(topicInputs(topics, "user"));
22728
+ return asStored(
22729
+ await mutate(memoryId, "edit", (memory) => ({
22730
+ ...memory,
22731
+ topics: serializeTopics(mergeTopics([], chosen)),
22732
+ topics_user_managed: true,
22733
+ topics_updated_at: Date.now()
22734
+ }))
22735
+ );
22736
+ },
22483
22737
  addTopics: async (memoryId, topics) => {
22484
- const added = topicInputs(topics, "auto");
22738
+ const added = await withKnownKinds(topicInputs(topics, "auto"));
22485
22739
  const saved = await mutate(memoryId, "edit", (memory) => ({
22486
22740
  ...memory,
22487
22741
  topics: serializeTopics(mergeTopics(parseTopics(memory.topics) ?? [], added)),
@@ -22908,8 +23162,8 @@ async function synthesizeFacet(facet, ctx, options, prior) {
22908
23162
  memories
22909
23163
  });
22910
23164
  const noEvidence = result.basedOn.memoryIds.length === 0;
22911
- const { text: text12, legitimateEmpty } = extractFacetText(result.structuredOutput);
22912
- if (!text12 && !legitimateEmpty && !noEvidence) {
23165
+ const { text: text13, legitimateEmpty } = extractFacetText(result.structuredOutput);
23166
+ if (!text13 && !legitimateEmpty && !noEvidence) {
22913
23167
  getLogger().warn(
22914
23168
  "[memory/synthesizeProfile] facet synthesis returned degraded-empty; using fallback section",
22915
23169
  { facet: facet.key, recalledCount: result.basedOn.memoryIds.length }
@@ -22919,12 +23173,12 @@ async function synthesizeFacet(facet, ctx, options, prior) {
22919
23173
  const section = {
22920
23174
  key: facet.key,
22921
23175
  label: facet.label,
22922
- text: text12,
23176
+ text: text13,
22923
23177
  sourceMemoryIds: result.basedOn.memoryIds,
22924
23178
  generatedAt: Date.now()
22925
23179
  };
22926
- if (options.redactor && text12) {
22927
- const redacted = await options.redactor.redactTextAsync(text12);
23180
+ if (options.redactor && text13) {
23181
+ const redacted = await options.redactor.redactTextAsync(text13);
22928
23182
  section.text = redacted.text;
22929
23183
  }
22930
23184
  if (!legitimateEmpty && !noEvidence) {
@@ -23437,10 +23691,10 @@ function createDurableAutoExtractor(options) {
23437
23691
  const counted = error instanceof BatchFailureError || error instanceof LockedSourcesError && error.persistentIds.length > 0;
23438
23692
  if (!counted) return false;
23439
23693
  const prior = sessionFailures.get(job.id);
23440
- const count = prior?.head === head ? prior.count + 1 : 1;
23441
- sessionFailures.set(job.id, { head, count });
23694
+ const count2 = prior?.head === head ? prior.count + 1 : 1;
23695
+ sessionFailures.set(job.id, { head, count: count2 });
23442
23696
  const terminal = error instanceof BatchFailureError && error.terminal;
23443
- if (!terminal && count < MAX_ATTEMPTS) return false;
23697
+ if (!terminal && count2 < MAX_ATTEMPTS) return false;
23444
23698
  skippedThisSession.add(job.id);
23445
23699
  const now = clock();
23446
23700
  const lastCounted = failedAtOf(job, head);
@@ -23744,7 +23998,7 @@ async function verifyFactSupport(items, options) {
23744
23998
  }
23745
23999
  const maxEvidenceChars = Math.max(1, options.maxEvidenceChars ?? DEFAULT_MAX_EVIDENCE_CHARS);
23746
24000
  const redactor = resolvePiiRedactor(options.piiRedaction ?? true);
23747
- const safe = async (text12) => redactor ? (await redactor.redactTextAsync(text12)).text : text12;
24001
+ const safe = async (text13) => redactor ? (await redactor.redactTextAsync(text13)).text : text13;
23748
24002
  let truncatedCount = 0;
23749
24003
  const parts = [];
23750
24004
  for (const [i, item] of items.entries()) {
@@ -23801,7 +24055,7 @@ Which item numbers are supported?`,
23801
24055
  }
23802
24056
  return supported;
23803
24057
  }
23804
- function parseSupported(parsed, count) {
24058
+ function parseSupported(parsed, count2) {
23805
24059
  if (typeof parsed !== "object" || parsed === null) return null;
23806
24060
  const list = parsed.supported;
23807
24061
  if (!Array.isArray(list)) return null;
@@ -23809,7 +24063,7 @@ function parseSupported(parsed, count) {
23809
24063
  for (const raw of list) {
23810
24064
  const n = typeof raw === "number" ? raw : typeof raw === "string" ? Number(raw) : NaN;
23811
24065
  if (!Number.isInteger(n)) continue;
23812
- if (n >= 1 && n <= count) out.add(n - 1);
24066
+ if (n >= 1 && n <= count2) out.add(n - 1);
23813
24067
  }
23814
24068
  return out;
23815
24069
  }
@@ -23860,7 +24114,7 @@ async function verifyMemoriesForPublish(memories, sources, options) {
23860
24114
  );
23861
24115
  const pending = [];
23862
24116
  for (const { index, uniqueId, content, ids } of withinBudget) {
23863
- const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text12) => text12 !== null);
24117
+ const evidence = ids.map((id) => resolved.get(id) ?? null).filter((text13) => text13 !== null);
23864
24118
  const dropped = ids.length - evidence.length;
23865
24119
  if (ids.some((id) => unreadable.has(id))) {
23866
24120
  results[index] = {
@@ -24363,22 +24617,22 @@ function normalizeManualFactType(value) {
24363
24617
  function isSharedScope(scope) {
24364
24618
  return scope === "shared";
24365
24619
  }
24366
- async function notifyWritten(options, input, outcome) {
24620
+ async function notifyWritten(options, input, outcome2) {
24367
24621
  try {
24368
- await options?.onWritten?.({ input, outcome });
24622
+ await options?.onWritten?.({ input, outcome: outcome2 });
24369
24623
  } catch {
24370
24624
  }
24371
24625
  }
24372
- function describeWriteOutcome(outcome) {
24373
- switch (outcome.action) {
24626
+ function describeWriteOutcome(outcome2) {
24627
+ switch (outcome2.action) {
24374
24628
  case "create":
24375
- return `Memory saved successfully (ID: ${outcome.memoryId}).`;
24629
+ return `Memory saved successfully (ID: ${outcome2.memoryId}).`;
24376
24630
  case "update":
24377
24631
  case "supersede":
24378
- return `Memory saved successfully (ID: ${outcome.memoryId}); it replaces an earlier version of this fact.`;
24632
+ return `Memory saved successfully (ID: ${outcome2.memoryId}); it replaces an earlier version of this fact.`;
24379
24633
  case "merge":
24380
24634
  case "skip":
24381
- return `The vault already holds this fact (ID: ${outcome.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
24635
+ return `The vault already holds this fact (ID: ${outcome2.memoryId}); it was noted as re-observed. Nothing new was created \u2014 do not save it again.`;
24382
24636
  case "suppressed":
24383
24637
  return "Not saved: this matches a memory the user previously deleted. Do not re-save it.";
24384
24638
  }
@@ -24484,9 +24738,9 @@ function createMemoryVaultTool(vaultCtx, options, embeddingOptions, cache) {
24484
24738
  ...folderId !== void 0 && { folderId },
24485
24739
  ...factType !== void 0 && { factType }
24486
24740
  };
24487
- const outcome = await options.write(input);
24488
- await notifyWritten(options, input, outcome);
24489
- return describeWriteOutcome(outcome);
24741
+ const outcome2 = await options.write(input);
24742
+ await notifyWritten(options, input, outcome2);
24743
+ return describeWriteOutcome(outcome2);
24490
24744
  }
24491
24745
  const created = await createVaultMemoryOp(vaultCtx, {
24492
24746
  content,
@@ -24775,10 +25029,10 @@ async function exportMarkdownToPdf(markdown, options) {
24775
25029
  function lineHeightMm(fontSizePt) {
24776
25030
  return ptToMm(fontSizePt) * lineHeight;
24777
25031
  }
24778
- function renderWrappedText(text12, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
25032
+ function renderWrappedText(text13, x, maxW, fontSizePt, fontStyle = "normal", fontFamily = "Helvetica") {
24779
25033
  doc.setFont(fontFamily, fontStyle);
24780
25034
  doc.setFontSize(fontSizePt);
24781
- const lines = doc.splitTextToSize(text12, maxW);
25035
+ const lines = doc.splitTextToSize(text13, maxW);
24782
25036
  const lh = lineHeightMm(fontSizePt);
24783
25037
  for (const line of lines) {
24784
25038
  ensureSpace(lh);
@@ -24860,10 +25114,10 @@ async function exportMarkdownToPdf(markdown, options) {
24860
25114
  const lh = lineHeightMm(opts.fontSize);
24861
25115
  for (let i = 0; i < items.length; i++) {
24862
25116
  const prefix = ordered ? `${(listToken.start || 1) + i}. ` : "\u2022 ";
24863
- const text12 = tokensToPlainText(items[i].tokens);
25117
+ const text13 = tokensToPlainText(items[i].tokens);
24864
25118
  ensureSpace(lh);
24865
25119
  doc.text(prefix, opts.margins.left, cursorY);
24866
- const listLines = doc.splitTextToSize(text12, itemW);
25120
+ const listLines = doc.splitTextToSize(text13, itemW);
24867
25121
  for (const line of listLines) {
24868
25122
  ensureSpace(lh);
24869
25123
  doc.text(line, indentX, cursorY);
@@ -24875,12 +25129,12 @@ async function exportMarkdownToPdf(markdown, options) {
24875
25129
  }
24876
25130
  case "blockquote": {
24877
25131
  const bqToken = token;
24878
- const text12 = tokensToPlainText(bqToken.tokens ?? []);
25132
+ const text13 = tokensToPlainText(bqToken.tokens ?? []);
24879
25133
  const indentX = opts.margins.left + SPACING.QUOTE_INDENT;
24880
25134
  const quoteW = cw - SPACING.QUOTE_INSET;
24881
25135
  doc.setFont("Helvetica", "italic");
24882
25136
  doc.setFontSize(opts.fontSize);
24883
- const bqLines = doc.splitTextToSize(text12, quoteW);
25137
+ const bqLines = doc.splitTextToSize(text13, quoteW);
24884
25138
  const lh = lineHeightMm(opts.fontSize);
24885
25139
  const blockH = bqLines.length * lh;
24886
25140
  ensureSpace(Math.min(blockH, 20));
@@ -24916,8 +25170,8 @@ async function exportMarkdownToPdf(markdown, options) {
24916
25170
  doc.setFont("Helvetica", fontStyle);
24917
25171
  doc.setFontSize(tableFontSize);
24918
25172
  const cellLines = cells.map((cell) => {
24919
- const text12 = tokensToPlainText(cell.tokens);
24920
- return doc.splitTextToSize(text12, cellContentW);
25173
+ const text13 = tokensToPlainText(cell.tokens);
25174
+ return doc.splitTextToSize(text13, cellContentW);
24921
25175
  });
24922
25176
  const maxLines = Math.max(1, ...cellLines.map((l) => l.length));
24923
25177
  ensureSpace(maxLines * lh + SPACING.SM);
@@ -25144,13 +25398,13 @@ async function withPdfDocument(pdfDataUrl, fn) {
25144
25398
  }
25145
25399
  }
25146
25400
  function joinPdfTextItems(items) {
25147
- let text12 = "";
25401
+ let text13 = "";
25148
25402
  for (const item of items) {
25149
25403
  if (!("str" in item)) continue;
25150
25404
  const { str, hasEOL } = item;
25151
- text12 += str + (hasEOL ? "\n" : " ");
25405
+ text13 += str + (hasEOL ? "\n" : " ");
25152
25406
  }
25153
- return text12.replace(/[ \t]+\n/g, "\n").trim();
25407
+ return text13.replace(/[ \t]+\n/g, "\n").trim();
25154
25408
  }
25155
25409
  function computeRenderScale(width, height) {
25156
25410
  const longest = Math.max(width, height);
@@ -25170,7 +25424,7 @@ async function extractPdfPageTexts(pdfDataUrl) {
25170
25424
  }
25171
25425
  async function extractTextFromPdf(pdfDataUrl) {
25172
25426
  const pageTexts = await extractPdfPageTexts(pdfDataUrl);
25173
- return pageTexts.filter((text12) => text12.trim()).join("\n\n");
25427
+ return pageTexts.filter((text13) => text13.trim()).join("\n\n");
25174
25428
  }
25175
25429
  async function renderPdfPages(pdfDataUrl, maxPages, pageNumbers) {
25176
25430
  return withPdfDocument(pdfDataUrl, async (pdf) => {
@@ -25212,8 +25466,8 @@ var MAX_IMAGE_PAGES = 20;
25212
25466
  var MIN_PAGE_TEXT_CHARS = 20;
25213
25467
  function selectPdfImagePages(pageTexts, maxImagePages = MAX_IMAGE_PAGES) {
25214
25468
  const needImage = [];
25215
- pageTexts.forEach((text12, index) => {
25216
- if (text12.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
25469
+ pageTexts.forEach((text13, index) => {
25470
+ if (text13.trim().length < MIN_PAGE_TEXT_CHARS) needImage.push(index + 1);
25217
25471
  });
25218
25472
  const limit = Math.max(0, maxImagePages);
25219
25473
  return { rendered: needImage.slice(0, limit), omitted: needImage.slice(limit) };
@@ -25272,10 +25526,10 @@ var PdfProcessor = class {
25272
25526
  textError
25273
25527
  );
25274
25528
  }
25275
- const text12 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
25529
+ const text13 = (pageTexts ?? []).filter((t) => t.trim()).join("\n\n");
25276
25530
  const { rendered, omitted } = pageTexts ? selectPdfImagePages(pageTexts) : { rendered: [], omitted: [] };
25277
25531
  if (pageTexts && rendered.length === 0 && omitted.length === 0) {
25278
- return text12.trim() ? { extractedText: text12, format: "plain" } : null;
25532
+ return text13.trim() ? { extractedText: text13, format: "plain" } : null;
25279
25533
  }
25280
25534
  let renderedPages;
25281
25535
  let pageCount = pageTexts?.length;
@@ -25288,7 +25542,7 @@ var PdfProcessor = class {
25288
25542
  pageCount = result.pageCount;
25289
25543
  }
25290
25544
  } catch (imageError) {
25291
- if (!text12.trim()) {
25545
+ if (!text13.trim()) {
25292
25546
  logger.error("[PdfProcessor] Image conversion also failed:", imageError);
25293
25547
  throw imageError;
25294
25548
  }
@@ -25300,7 +25554,7 @@ var PdfProcessor = class {
25300
25554
  const included = new Set(imagePages);
25301
25555
  const needImage = pageTexts ? [...rendered, ...omitted] : Array.from({ length: pageCount ?? 0 }, (_, i) => i + 1);
25302
25556
  const omittedPages = needImage.filter((n) => !included.has(n)).sort((a, b) => a - b);
25303
- if (images.length === 0 && !text12.trim()) {
25557
+ if (images.length === 0 && !text13.trim()) {
25304
25558
  logger.warn("[PdfProcessor] Image conversion also returned empty");
25305
25559
  return null;
25306
25560
  }
@@ -25309,9 +25563,9 @@ var PdfProcessor = class {
25309
25563
  );
25310
25564
  const imageNote = buildPdfImageNote(file.name, imagePages, omittedPages, pageCount);
25311
25565
  return {
25312
- extractedText: text12.trim() ? `${imageNote}
25566
+ extractedText: text13.trim() ? `${imageNote}
25313
25567
 
25314
- ${text12}` : imageNote,
25568
+ ${text13}` : imageNote,
25315
25569
  format: "plain",
25316
25570
  imageDataUrls: images.length > 0 ? images : void 0,
25317
25571
  metadata: {
@@ -25473,16 +25727,16 @@ var TextProcessor = class {
25473
25727
  async process(file) {
25474
25728
  try {
25475
25729
  const arrayBuffer = await dataUrlToArrayBuffer(file.dataUrl);
25476
- const text12 = decodeText(new Uint8Array(arrayBuffer));
25477
- if (!text12.trim()) {
25730
+ const text13 = decodeText(new Uint8Array(arrayBuffer));
25731
+ if (!text13.trim()) {
25478
25732
  return null;
25479
25733
  }
25480
25734
  return {
25481
- extractedText: text12,
25735
+ extractedText: text13,
25482
25736
  format: this.resolveFormat(file),
25483
25737
  metadata: {
25484
25738
  byteLength: arrayBuffer.byteLength,
25485
- characterCount: text12.length
25739
+ characterCount: text13.length
25486
25740
  }
25487
25741
  };
25488
25742
  } catch (error) {
@@ -25543,8 +25797,8 @@ var WordProcessor = class {
25543
25797
  /**
25544
25798
  * Count words in text
25545
25799
  */
25546
- countWords(text12) {
25547
- return text12.split(/\s+/).filter((w) => w.length > 0).length;
25800
+ countWords(text13) {
25801
+ return text13.split(/\s+/).filter((w) => w.length > 0).length;
25548
25802
  }
25549
25803
  };
25550
25804
 
@@ -25781,13 +26035,13 @@ function truncationMarker2(kept, total, fileName) {
25781
26035
  return `
25782
26036
  [truncated: showing the first ${kept} of ${total} characters of ${fileName}]`;
25783
26037
  }
25784
- function truncateText(text12, limit, fileName) {
25785
- if (text12.length <= limit) return { text: text12, truncated: false };
26038
+ function truncateText(text13, limit, fileName) {
26039
+ if (text13.length <= limit) return { text: text13, truncated: false };
25786
26040
  let end = Math.max(0, limit);
25787
- const code = text12.charCodeAt(end - 1);
26041
+ const code = text13.charCodeAt(end - 1);
25788
26042
  if (end > 0 && code >= 55296 && code <= 56319) end--;
25789
26043
  return {
25790
- text: `${text12.slice(0, end)}${truncationMarker2(end, text12.length, fileName)}`,
26044
+ text: `${text13.slice(0, end)}${truncationMarker2(end, text13.length, fileName)}`,
25791
26045
  truncated: true
25792
26046
  };
25793
26047
  }
@@ -25951,13 +26205,13 @@ async function preprocessFiles(files, options = {}) {
25951
26205
  Math.max(0, MAX_TOTAL_IMAGES - allImageUrls.length)
25952
26206
  );
25953
26207
  allImageUrls.push(...images.slice(0, keptImages));
25954
- const text12 = rewriteImageNote(result, file.name, keptImages);
25955
- const fitsWhole = text12.length <= Math.min(maxExtractedCharsPerFile, remaining);
25956
- const limit = fitsWhole ? text12.length : Math.min(
26208
+ const text13 = rewriteImageNote(result, file.name, keptImages);
26209
+ const fitsWhole = text13.length <= Math.min(maxExtractedCharsPerFile, remaining);
26210
+ const limit = fitsWhole ? text13.length : Math.min(
25957
26211
  maxExtractedCharsPerFile,
25958
- remaining - truncationMarker2(text12.length, text12.length, file.name).length
26212
+ remaining - truncationMarker2(text13.length, text13.length, file.name).length
25959
26213
  );
25960
- const capped = truncateText(text12, Math.max(0, limit), file.name);
26214
+ const capped = truncateText(text13, Math.max(0, limit), file.name);
25961
26215
  const formattedContent = formatExtractedContent(file.name, capped.text, result.format);
25962
26216
  totalChars += separatorLength + formattedContent.length;
25963
26217
  extractedTexts.push(formattedContent);
@@ -26199,11 +26453,11 @@ function createGetAuthenticatedUserTool(getAccessToken, requestAccess) {
26199
26453
  };
26200
26454
  }
26201
26455
  var MAX_RESPONSE_SIZE = 1e5;
26202
- function truncate(text12, maxLen) {
26203
- if (text12.length <= maxLen) return text12;
26204
- return text12.slice(0, maxLen) + `
26456
+ function truncate(text13, maxLen) {
26457
+ if (text13.length <= maxLen) return text13;
26458
+ return text13.slice(0, maxLen) + `
26205
26459
 
26206
- ... (truncated, ${text12.length - maxLen} characters omitted)`;
26460
+ ... (truncated, ${text13.length - maxLen} characters omitted)`;
26207
26461
  }
26208
26462
  function createGitHubApiTool(getAccessToken, requestAccess) {
26209
26463
  return {
@@ -26251,16 +26505,16 @@ IMPORTANT: For write operations (POST, PUT, PATCH, DELETE), always confirm with
26251
26505
  method,
26252
26506
  body: body ? JSON.stringify(body) : void 0
26253
26507
  });
26254
- const text12 = await resp.text();
26508
+ const text13 = await resp.text();
26255
26509
  if (!resp.ok) {
26256
- return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text12, 500)}`;
26510
+ return `Error: GitHub API ${method} ${path} returned ${resp.status}: ${truncate(text13, 500)}`;
26257
26511
  }
26258
26512
  try {
26259
- const data = JSON.parse(text12);
26513
+ const data = JSON.parse(text13);
26260
26514
  const json4 = JSON.stringify(data);
26261
26515
  return truncate(json4, MAX_RESPONSE_SIZE);
26262
26516
  } catch {
26263
- return truncate(text12, MAX_RESPONSE_SIZE);
26517
+ return truncate(text13, MAX_RESPONSE_SIZE);
26264
26518
  }
26265
26519
  } catch (err) {
26266
26520
  if (err instanceof DOMException && err.name === "AbortError") {
@@ -26922,10 +27176,10 @@ function formatObjectAttr(obj) {
26922
27176
  });
26923
27177
  return `{ ${entries.join(", ")} }`;
26924
27178
  }
26925
- function isSafeJsxText(text12) {
26926
- if (/[<>{}&]/.test(text12)) return false;
26927
- if (/\n/.test(text12)) return false;
26928
- if (/^\s|\s$/.test(text12)) return false;
27179
+ function isSafeJsxText(text13) {
27180
+ if (/[<>{}&]/.test(text13)) return false;
27181
+ if (/\n/.test(text13)) return false;
27182
+ if (/^\s|\s$/.test(text13)) return false;
26929
27183
  return true;
26930
27184
  }
26931
27185
  function getId(node) {
@@ -30509,9 +30763,9 @@ New lines of conversation:
30509
30763
  {new_lines}
30510
30764
 
30511
30765
  New summary:`;
30512
- function estimateTokens(text12) {
30513
- if (!text12) return 0;
30514
- return Math.ceil(text12.length / 4);
30766
+ function estimateTokens(text13) {
30767
+ if (!text13) return 0;
30768
+ return Math.ceil(text13.length / 4);
30515
30769
  }
30516
30770
  var PER_MESSAGE_OVERHEAD_TOKENS = 4;
30517
30771
  var MAX_MESSAGES_PER_SUMMARIZATION = 20;
@@ -30571,14 +30825,14 @@ function splitMessagesAtThreshold(messages, tokenThreshold, minWindowMessages) {
30571
30825
  }
30572
30826
  async function redactSummaryPrompt(prompt, redactor, onPiiRedacted) {
30573
30827
  if (!redactor) return prompt;
30574
- const { text: text12, matches } = await redactor.redactTextAsync(prompt);
30828
+ const { text: text13, matches } = await redactor.redactTextAsync(prompt);
30575
30829
  if (matches.length > 0 && onPiiRedacted) {
30576
30830
  try {
30577
30831
  onPiiRedacted(matches);
30578
30832
  } catch {
30579
30833
  }
30580
30834
  }
30581
- return text12;
30835
+ return text13;
30582
30836
  }
30583
30837
  async function progressiveSummarize(options) {
30584
30838
  const {
@@ -30891,14 +31145,14 @@ var MaskScopedEmbeddingCache = class extends Map {
30891
31145
  this.inner = inner;
30892
31146
  this.masked = masked;
30893
31147
  }
30894
- key(text12) {
30895
- return `${this.masked ? "m" : "r"}:${text12}`;
31148
+ key(text13) {
31149
+ return `${this.masked ? "m" : "r"}:${text13}`;
30896
31150
  }
30897
- get(text12) {
30898
- return this.inner.get(this.key(text12));
31151
+ get(text13) {
31152
+ return this.inner.get(this.key(text13));
30899
31153
  }
30900
- set(text12, value) {
30901
- this.inner.set(this.key(text12), value);
31154
+ set(text13, value) {
31155
+ this.inner.set(this.key(text13), value);
30902
31156
  return this;
30903
31157
  }
30904
31158
  };
@@ -31548,11 +31802,11 @@ function useChatStorage(options) {
31548
31802
  [piiRedaction, currentConversationId]
31549
31803
  );
31550
31804
  const maskForEmbedding = useCallback5(
31551
- (text12) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text12) : text12,
31805
+ (text13) => isPiiRedactor(resolvedPiiRedaction) ? resolvedPiiRedaction.maskText(text13) : text13,
31552
31806
  [resolvedPiiRedaction]
31553
31807
  );
31554
31808
  const maskEmbeddingInput = useMemo4(
31555
- () => isPiiRedactor(resolvedPiiRedaction) ? (text12) => resolvedPiiRedaction.maskText(text12) : void 0,
31809
+ () => isPiiRedactor(resolvedPiiRedaction) ? (text13) => resolvedPiiRedaction.maskText(text13) : void 0,
31556
31810
  [resolvedPiiRedaction]
31557
31811
  );
31558
31812
  const vaultEmbeddingOptions = useMemo4(
@@ -32283,7 +32537,7 @@ function useChatStorage(options) {
32283
32537
  return {
32284
32538
  callRedactor: redactor,
32285
32539
  callPiiRedaction: forInnerSend,
32286
- maskForCall: (text12) => redactor ? redactor.maskText(text12) : text12
32540
+ maskForCall: (text13) => redactor ? redactor.maskText(text13) : text13
32287
32541
  };
32288
32542
  };
32289
32543
  const resolveThoughtProcess = () => finalizeThoughtProcess(getThoughtProcess?.() || thoughtProcess);
@@ -34624,13 +34878,13 @@ function useOCR() {
34624
34878
  const result = await Tesseract.recognize(image, language);
34625
34879
  pageTexts.push(result.data.text);
34626
34880
  }
34627
- const text12 = pageTexts.join("\n\n");
34628
- if (!text12.trim()) {
34881
+ const text13 = pageTexts.join("\n\n");
34882
+ if (!text13.trim()) {
34629
34883
  getLogger().warn(`No text found in OCR source ${filename || "unknown"}`);
34630
34884
  return null;
34631
34885
  }
34632
34886
  return `[Context from OCR attachment ${filename || "unknown"}]:
34633
- ${text12}`;
34887
+ ${text13}`;
34634
34888
  } catch (err) {
34635
34889
  getLogger().error(`Failed to process OCR for ${file.filename || "unknown"}:`, err);
34636
34890
  return null;
@@ -34673,13 +34927,13 @@ function usePdf() {
34673
34927
  const contexts = await Promise.all(
34674
34928
  pdfFiles.map(async (file) => {
34675
34929
  try {
34676
- const text12 = await extractTextFromPdf(file.url);
34677
- if (!text12.trim()) {
34930
+ const text13 = await extractTextFromPdf(file.url);
34931
+ if (!text13.trim()) {
34678
34932
  getLogger().warn(`No text found in PDF ${file.filename}`);
34679
34933
  return null;
34680
34934
  }
34681
34935
  return `[Context from PDF attachment ${file.filename}]:
34682
- ${text12}`;
34936
+ ${text13}`;
34683
34937
  } catch (err) {
34684
34938
  getLogger().error(`Failed to process PDF ${file.filename}:`, err);
34685
34939
  return null;
@@ -36209,14 +36463,14 @@ function useVoice(options) {
36209
36463
  recognition.interimResults = false;
36210
36464
  recognition.lang = options?.language ?? "";
36211
36465
  recognition.onresult = (event) => {
36212
- let text12 = "";
36466
+ let text13 = "";
36213
36467
  for (let i = 0; i < event.results.length; i++) {
36214
36468
  const result = event.results[i];
36215
36469
  if (result && result.isFinal && result[0]) {
36216
- text12 += result[0].transcript + " ";
36470
+ text13 += result[0].transcript + " ";
36217
36471
  }
36218
36472
  }
36219
- nativeTextRef.current = text12.trim();
36473
+ nativeTextRef.current = text13.trim();
36220
36474
  };
36221
36475
  recognition.onerror = (event) => {
36222
36476
  if (event.error !== "aborted" && event.error !== "no-speech") {
@@ -36680,6 +36934,7 @@ export {
36680
36934
  extractFacts,
36681
36935
  extractFileIds,
36682
36936
  extractMCPImageUrls,
36937
+ extractReservationReceipts,
36683
36938
  fileExists,
36684
36939
  findById,
36685
36940
  findMatchingTools,