diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 7d97ef1db2..97abd6f941 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -115,9 +115,6 @@ importers: '@hcengineering/query': specifier: ^0.7.17 version: 0.7.17 - '@hcengineering/rank': - specifier: ^0.7.17 - version: 0.7.17 '@hcengineering/retry': specifier: ^0.7.17 version: 0.7.17 @@ -157,9 +154,6 @@ importers: '@hcengineering/text-html': specifier: ^0.7.18 version: 0.7.18 - '@hcengineering/text-markdown': - specifier: ^0.7.18 - version: 0.7.18 '@hcengineering/text-ydoc': specifier: ^0.7.18 version: 0.7.18(prosemirror-inputrules@1.4.0)(prosemirror-model@1.24.1)(prosemirror-state@1.4.3)(prosemirror-view@1.37.2) @@ -4706,1695 +4700,1695 @@ packages: resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==} '@rush-temp/account-service@file:projects/account-service.tgz': - resolution: {integrity: sha512-Vd/InWXtZDBXFuvX+rEw3L8L9JTeK6uGUqEMLHH4CLu7g9fIEJdXnq4lDJqnrrn69WQ92CNRDSzuZLDVfOeCNg==, tarball: file:projects/account-service.tgz} + resolution: {integrity: sha512-8bEK6pusdRhHEuwNbgCEyB8jBUip93+lvcQz0CQEeY1W/oEW7ol1oRmyUYR0qr8KvcDF2+YfYIyu3DjIz+GFZA==, tarball: file:projects/account-service.tgz} version: 0.0.0 '@rush-temp/account@file:projects/account.tgz': - resolution: {integrity: sha512-olfeGvqP3IePmhOKT9c2dsodObO2uPLC9EMmEjko4dZsOiRktKRQqTGBe20KGzTUOZlduoj4abnAB7rrjdqEeg==, tarball: file:projects/account.tgz} + resolution: {integrity: sha512-S4RQoBeMAUVBzhM+iuLkwzd4D99vSogleibu4oCkpKkwmHFA7b8WwXK2rY73SHBkVooq8b6+e1NpCXAfFn/IKw==, tarball: file:projects/account.tgz} version: 0.0.0 '@rush-temp/achievement-assets@file:projects/achievement-assets.tgz': - resolution: {integrity: sha512-Fy7M/22+Y4OL5iafLHTqK8jpAnHGMdXyxNDg2cLqJFuYaDXvnT+r0uju6ZNGTyLzfTJqKklIELaMHTGYo1oEqg==, tarball: file:projects/achievement-assets.tgz} + resolution: {integrity: sha512-j6fX2tkHLYuNy6SIw9XxP8JnnjjEUDw0BcRunmwvRachj8WxEesjmvDVTN0VvVzrekZ74CDXaaBekSMJzW0EOg==, tarball: file:projects/achievement-assets.tgz} version: 0.0.0 '@rush-temp/achievement-resources@file:projects/achievement-resources.tgz': - resolution: {integrity: sha512-iC7VbLF4N5GRQNlCfoXPY0P9tPkf4mm3nyGOH1M9NZ2BtPfm+9wv/d15GWJp6XbL55sNrBMsbMtvk/32xAUqTw==, tarball: file:projects/achievement-resources.tgz} + resolution: {integrity: sha512-TrqIfO7PMCX8JG6vYYKC3psQZx2p/rMF0sYealvrEQyqRzsNaAxGFHOxX8f2SXL0HgtcJAXJiFpzQV2F2ou5KQ==, tarball: file:projects/achievement-resources.tgz} version: 0.0.0 '@rush-temp/achievement@file:projects/achievement.tgz': - resolution: {integrity: sha512-/xzrZmxeCpivoC3q24kexzDfUlC8LCGjRY9H2CZMa7dY9QuZR+7vmihza8aZbC/lriJY2B4e8tfPQKpqC/YRIw==, tarball: file:projects/achievement.tgz} + resolution: {integrity: sha512-1WjIYRLQ9xGsDUvieMQMk0cpDSiQzMcGRHaBaelR0FI25bKZHVWZRcfSZtwg0MeVsUCJzNrLTGiN7Ya+oenZqw==, tarball: file:projects/achievement.tgz} version: 0.0.0 '@rush-temp/activity-assets@file:projects/activity-assets.tgz': - resolution: {integrity: sha512-VW6nZlD0DrwJgLEeS7zE1ft9NSx2/Jexgtn0+HIKxgtnFo1EY7rFOO6igCZnRV34Doh4KmL5khMjgaay6gpEKA==, tarball: file:projects/activity-assets.tgz} + resolution: {integrity: sha512-TEF87d2AVCu5RvMFSbCCgOY0RgiLVRXAzuVtDrI+NU3fGm6oLifU8DKsm3ml+G+ONneZHM/LLDDga9+24wdj+Q==, tarball: file:projects/activity-assets.tgz} version: 0.0.0 '@rush-temp/activity-resources@file:projects/activity-resources.tgz': - resolution: {integrity: sha512-xJkpz6fjBPHFBJO+nv03Z/tb5WM5s4ww9ziKQ6Ixrb5MU9/ODDsZNu9Z8XaYxNfkpKv+5bg1c/tDz8+S8pFpxw==, tarball: file:projects/activity-resources.tgz} + resolution: {integrity: sha512-TqzVTM0yvEvT/RkBu4Cv80XTDiZ7W3gMcGYYxWUmuCitlozLu78B+7YKctASbHDM1QOZ/WBtMQV+T8oUgo0uFw==, tarball: file:projects/activity-resources.tgz} version: 0.0.0 '@rush-temp/activity@file:projects/activity.tgz': - resolution: {integrity: sha512-x9hGodEYWv+mVca5y/9pTJMR82U2CxpQAJ2KD6iRgNaHO7LMsM1zXXjlpPi81iiotAGjCoVUg92cOgIrwup5nw==, tarball: file:projects/activity.tgz} + resolution: {integrity: sha512-Q9QDQI8wZK6F5vHFopItessWWi4NOKhH33bsS+Bm/70PvbQlX1R7oSodCB1uIproH2SAMDo0BPRF71KCHVkitw==, tarball: file:projects/activity.tgz} version: 0.0.0 '@rush-temp/ai-assistant-assets@file:projects/ai-assistant-assets.tgz': - resolution: {integrity: sha512-nu5F/TuIZvFxTFWy9DEDEFNzuciUtNIz0jnhDuKuII5JPmaOM/hSVoAeZnFwZzfyuz4CrsyQ37L9Oadioq5vGg==, tarball: file:projects/ai-assistant-assets.tgz} + resolution: {integrity: sha512-5YQGiqAvJDNt7ypSNCbGc3gZHusAOu9ebCHTlFA6WorVOaULh7CpthEbayaa+nxk6IVEHvWYBsQTn3rBXWvI7w==, tarball: file:projects/ai-assistant-assets.tgz} version: 0.0.0 '@rush-temp/ai-assistant-resources@file:projects/ai-assistant-resources.tgz': - resolution: {integrity: sha512-xxbzUeEU0rNTenwciNutB0S+2Std5txq23UTJjqcjI2vDDtWHp5AfFcPr31V1+aFfnVj8G9wUCsyqpxP9XqNEA==, tarball: file:projects/ai-assistant-resources.tgz} + resolution: {integrity: sha512-q5MFNIhO2+4s7IDYk2NuVHO/1xA2D4ScLLwA4gEBGRuibYIWljuD8Ad0yEPDi3tvlkGViQwsUWz1/n3F8jYukA==, tarball: file:projects/ai-assistant-resources.tgz} version: 0.0.0 '@rush-temp/ai-assistant@file:projects/ai-assistant.tgz': - resolution: {integrity: sha512-udLy+dlOrRFUlOgEvTPwUYqP2lQG8fZVubCtwTejLkewZSolRwcAD+rAwKVKp8gu1ZlXO0P2C1CSl9/k96HGBw==, tarball: file:projects/ai-assistant.tgz} + resolution: {integrity: sha512-DsZThE4ASDoVo5SmdrfFS757hR3TLCriyNdO+3L/Er+RTnQNPTJVRYyzxinW57vSEKBx+RkRmw85pVnbpb43Gw==, tarball: file:projects/ai-assistant.tgz} version: 0.0.0 '@rush-temp/ai-bot-resources@file:projects/ai-bot-resources.tgz': - resolution: {integrity: sha512-ZcZODDqE7Nopg5wL8YkO0B6XsiR+ZjUg2jbKYdMVfwDAu4Sbymn4bhnFO8+ZKZpGAOsy9cJEAc+q/evsCqikPQ==, tarball: file:projects/ai-bot-resources.tgz} + resolution: {integrity: sha512-h5Gsa2ZwuhDUpcYNC0ho7+PLbT/9842b2qR33DT3FB0h1uUIzcCJGeOvjtliDL4u8X/OGCeM7Up6cSd159DFxQ==, tarball: file:projects/ai-bot-resources.tgz} version: 0.0.0 '@rush-temp/ai-bot@file:projects/ai-bot.tgz': - resolution: {integrity: sha512-umT+ZQjrtFEQDaLRjimd7U7d36o5ixP5dBLGgmfwXO8dXDWaux/k2G2iYtRajTs4ptvqVUzDvGauk4vtAyLxew==, tarball: file:projects/ai-bot.tgz} + resolution: {integrity: sha512-Pt3HOxCVia8PJrGId+co6Hue0gBrfmV0VEuQnCjoUnkwOTZ35EWfRj/kg6gryHUuDz9azbpwxNQJ2vWQGjmovg==, tarball: file:projects/ai-bot.tgz} version: 0.0.0 '@rush-temp/analytics-collector-assets@file:projects/analytics-collector-assets.tgz': - resolution: {integrity: sha512-/VLhcRgyAFNmcDOxCyVH8ObGJBSPpjDKjzO0NokX3utqPRHwr7ZQC6pge4Ty2KVNPgr5473aLABAvWZ999q6WQ==, tarball: file:projects/analytics-collector-assets.tgz} + resolution: {integrity: sha512-baIdeQgs2r/fkcI6uvg2eCskFiw4+8PsXPTTSGbUTSl4HVf50cqiiwAFyG6+fyH/Ourmqk5BpXKwdvNTFsfdfQ==, tarball: file:projects/analytics-collector-assets.tgz} version: 0.0.0 '@rush-temp/analytics-collector-resources@file:projects/analytics-collector-resources.tgz': - resolution: {integrity: sha512-VdWSU9lp1EZ5M4O2Xr8iX0g+qSgTclWKi1eZGxB5rxOrwbsL0cwNhDM8Kq4023NhTw/2axpTVtYui4yr76mlqA==, tarball: file:projects/analytics-collector-resources.tgz} + resolution: {integrity: sha512-cchWy0vu5eUKYy1Xx1A3npzHfD2uzQn+Muj7JvW+8D+BY52HqByfDm3/0ozNxO848hW9Y9nh7P3Kd4VOJvDK6A==, tarball: file:projects/analytics-collector-resources.tgz} version: 0.0.0 '@rush-temp/analytics-collector@file:projects/analytics-collector.tgz': - resolution: {integrity: sha512-CATmmI+w2I4N8tl6Ej26OMLF85141t+MrHPRv2X1IKXyLo2AylrHB2FtVDW0XebQCQhCQaQ3IqSZcpj6NT1DaA==, tarball: file:projects/analytics-collector.tgz} + resolution: {integrity: sha512-LLxrJxiQhyXBEq6No2qg+bWdrAPQ2h6vB25iMBLf3+kU1L4ESz4y8yxbqV8NTRmueav70bjJtZU/X1EheFQXTQ==, tarball: file:projects/analytics-collector.tgz} version: 0.0.0 '@rush-temp/analytics-providers@file:projects/analytics-providers.tgz': - resolution: {integrity: sha512-Sbm+sZgUcYWXxq4JqrmusujpDWIWunln71hRGmzZ+SLl9N34KqOGz8ii33Pi87HIwziju/U5Ge9aHyjULbvjLA==, tarball: file:projects/analytics-providers.tgz} + resolution: {integrity: sha512-zaAf2A/xxNOHQbxpPvT77eh9s38Jw09afZl9CFqSeI/DUji3BGZol289d+FZn78OZkwjTYa+cKdGsuIZ+Jeczg==, tarball: file:projects/analytics-providers.tgz} version: 0.0.0 '@rush-temp/api-tests@file:projects/api-tests.tgz': - resolution: {integrity: sha512-Mv//c7sryKf6xCq7ThaymmMVV87Y4KAFDUV14Q/2KZLFKBDa8V7Ml8eFAc7beg/ZbtQDOieQd0cYXW6Py6o1SA==, tarball: file:projects/api-tests.tgz} + resolution: {integrity: sha512-d9P08yo0/NrDYUblFAgyHqHvVOzSFtcOPTBY+tVBzmevCBX7a0fxBRGIJFCzfkahK85RXu1w5kUgqR7qKuKpkw==, tarball: file:projects/api-tests.tgz} version: 0.0.0 '@rush-temp/attachment-assets@file:projects/attachment-assets.tgz': - resolution: {integrity: sha512-o9O9UERbgDaRx7JCJldPT/9oXLRNsh9IDv+6ZC1uF+DKL7q0R2wqajogrK/n3LhvU0DyLXWXNI1w9cwYAfJR0w==, tarball: file:projects/attachment-assets.tgz} + resolution: {integrity: sha512-rUqToJpz5FI/f12t0lksSqCjUm7CNy3BVHjNJ/xf6oejWS/RbCv72PLJwhG1lskhznxAuxXyM2YXJQde/RaZGA==, tarball: file:projects/attachment-assets.tgz} version: 0.0.0 '@rush-temp/attachment-resources@file:projects/attachment-resources.tgz': - resolution: {integrity: sha512-KOxsWkGjYJJo/ux04Q3VzQ7gb2bKMjBaGvAVI0lAz2IQpOpBILsVNsnPWXhWo/UoO0P5sD9FAMYFWJ9r46BouA==, tarball: file:projects/attachment-resources.tgz} + resolution: {integrity: sha512-2rc1LETwiLSJS+9LC6TLpt0JBLhGW8AlAu2DVkiRBSSBdzG/k+wOxHuZD9Kz7+dZmCpnUKY5rB2T8x55spU0Xg==, tarball: file:projects/attachment-resources.tgz} version: 0.0.0 '@rush-temp/attachment@file:projects/attachment.tgz': - resolution: {integrity: sha512-nDd5Svx7WL8NUoMUvKmaGgDymHLX5Qq6VFwzSMx7JQnnHRHBK8Z4Ca5o3N3QY9RcFczG0NYYXJRy75htwvsOkA==, tarball: file:projects/attachment.tgz} + resolution: {integrity: sha512-gy4m+UJBl3oCG2Lco0ynQzWYctvc5X0yf0hdc0hmvWvcq99YQWcqGBpjsrJjsFaflgmlPSeeTWDQWGiKmj8/6w==, tarball: file:projects/attachment.tgz} version: 0.0.0 '@rush-temp/auth-providers@file:projects/auth-providers.tgz': - resolution: {integrity: sha512-CYVU5vKdkv09eZJNTgW2n9SUjbPgSEb0jc7tXes/I4g59m3bGM/RdLMN/yYCI5KQ6QyxzBAjWRBtomo4yfaNFA==, tarball: file:projects/auth-providers.tgz} + resolution: {integrity: sha512-GLkaVF/vlBKEk0hvaLylWs/oIMhAflvEwrxX6eIYDfWfiONCPaIkbWfWe4skxiM6+MD/ph/Et51WEqeZlIXogA==, tarball: file:projects/auth-providers.tgz} version: 0.0.0 '@rush-temp/backup-api-pod@file:projects/backup-api-pod.tgz': - resolution: {integrity: sha512-vmUB/aG8KvttcSwHHZCrj8w1ZGIepP7tm8YZbwvBcLkNnvN8wBFX0AUtlYIdwJhpOO6WQR+q67M0goT/4ziTUw==, tarball: file:projects/backup-api-pod.tgz} + resolution: {integrity: sha512-yCwAxNmabaLx9YPmAfLNah8qFnkgGFmjuuJ1dotYbjyAH3AWxf+rTGUnxXEKzK75YtzKdG7drhHEQ/bWGsDM1A==, tarball: file:projects/backup-api-pod.tgz} version: 0.0.0 '@rush-temp/backup-service@file:projects/backup-service.tgz': - resolution: {integrity: sha512-Z8iLROV2pQ+sh5TfihD4GqqYTVcGxYTYbS8cP9xWZccdofKqq+OI/Z5HN3vdl0200pFQDFWkAn+FaYdXgvVmbw==, tarball: file:projects/backup-service.tgz} + resolution: {integrity: sha512-cgbZnO1RLNuOk4hDc/lUcjsY1LKLMaz+Qn5DzUIwnrHdXRUeklfFwlf29QJ+mTtcnAQ2vIoEOXMRxWJ4uSqPyQ==, tarball: file:projects/backup-service.tgz} version: 0.0.0 '@rush-temp/billing-assets@file:projects/billing-assets.tgz': - resolution: {integrity: sha512-fTazlLMoB3b+202XSZFtZTSVv7co/BpyQ7SivXHpROQpxOPfDjZ0e1F4c6dUBJFFJDPrekxFEXfYRe0Tp71++g==, tarball: file:projects/billing-assets.tgz} + resolution: {integrity: sha512-Mmf5pxjgs4vnn5w2tQZ3+WPbY0gG3UHIgNevvRtv1FQR9S7QmhSH8G3xIr8/Mj8iAxntOw0xuFJGE9ijKbedgA==, tarball: file:projects/billing-assets.tgz} version: 0.0.0 '@rush-temp/billing-client@file:projects/billing-client.tgz': - resolution: {integrity: sha512-+LFsjr6NcwNhIzgLB/+lJICjJIiMJCLC3teN8JqmamClBAayx4i3MyDOS23j2HxzvCYIT73K+SoPaAUEAPVOVg==, tarball: file:projects/billing-client.tgz} + resolution: {integrity: sha512-115IiQ03aK9uMXNy0UkGctcWO3X5iGJZBHJsp6dADOzOlSq1H5WOQJFcWOSMRKmbatSWn8kQ0o+4SEEq2LADag==, tarball: file:projects/billing-client.tgz} version: 0.0.0 '@rush-temp/billing-resources@file:projects/billing-resources.tgz': - resolution: {integrity: sha512-NvKU5elR8MV2f2gr6kggoKNW6udRJ0ktBji1Xd8LMS4B0W6i2KhOxhoC8zJkIkf+G2RaBmBzuZGPzSt9L4wQ+Q==, tarball: file:projects/billing-resources.tgz} + resolution: {integrity: sha512-xWtjnyeqrE5wJDYtodC1IIwlW1Kk28VLUchFUV9ZJTxJxm2zCyhLEAjpgK3a1xh7Onut/rhl4KkSrADxQhIuuQ==, tarball: file:projects/billing-resources.tgz} version: 0.0.0 '@rush-temp/billing@file:projects/billing.tgz': - resolution: {integrity: sha512-vM0PhHMD15t3HeYJGSstz8noiwjHdvBRYz8rgw5JIA5VHJyMumWVQiTEld2sCUUtzelDYgad7wY6EPi91nLJCg==, tarball: file:projects/billing.tgz} + resolution: {integrity: sha512-DYoox5HytjwdxbTMQB0MXJ7s0RYiJoPZVRpzBJBkzmVEl8FumjNMvwP8dzpaLh6EEznjxZqhwIDyuz/uIjc2WA==, tarball: file:projects/billing.tgz} version: 0.0.0 '@rush-temp/bitrix-assets@file:projects/bitrix-assets.tgz': - resolution: {integrity: sha512-7W94HnHgeLCoLAAxDFGVoQgUTKtCWGrUcUfzZwLaxWn9Y0zFgatlvHgjJI4EVAgUGlcRNcLH2XW0nkNuLA+Fyg==, tarball: file:projects/bitrix-assets.tgz} + resolution: {integrity: sha512-hrizM1D8u7scZJGa+PqzQPbmL1anZ9cvdbUjtsciuUZH4hj7rHumqdnVxzSfAe27wr7dWs5BknGUTJ0sTfjnzw==, tarball: file:projects/bitrix-assets.tgz} version: 0.0.0 '@rush-temp/bitrix-resources@file:projects/bitrix-resources.tgz': - resolution: {integrity: sha512-sbu2+csueBPSHdJvLFP2W5eTZofdMRa6Kjkoxs/VwM98FUW3pB0o8NXw88XadiUCjES5rNN0/4gjeeXnNr0ewg==, tarball: file:projects/bitrix-resources.tgz} + resolution: {integrity: sha512-gdyxCI6VcEXdVYmdY4Lu+2EAA9W6eigqC6a9yNfdZVRkmXdVg/SsmuJ9E7LX7Lhkf1rw6JbeM7V/F07QLOXmGg==, tarball: file:projects/bitrix-resources.tgz} version: 0.0.0 '@rush-temp/bitrix@file:projects/bitrix.tgz': - resolution: {integrity: sha512-eeSBmKBkHcoMItUnL6EGsjZMwAWIwFpy9PAXnOUw6x9BRbI2FcKgIokBnUz/q0SK99FcdbfTguIG3t4uKyOqMA==, tarball: file:projects/bitrix.tgz} + resolution: {integrity: sha512-IU6q/JZA9e/YzGual9axXgA4zf1gSM7/KNKRdh6BQ9uCXHX+gFZbyl+F1ZftiMk9jFQ7lMGCKTU0Ek8abgG43w==, tarball: file:projects/bitrix.tgz} version: 0.0.0 '@rush-temp/board-assets@file:projects/board-assets.tgz': - resolution: {integrity: sha512-AP7kvy0TsPeol1IFW+/gOar+b+HwcYU4/k0jrYbo/91PHxM099fGMPZIGW+86cfVGqCIhwVlnSBJ2yxagsXtfw==, tarball: file:projects/board-assets.tgz} + resolution: {integrity: sha512-fNAc7hk8MHaWwn8DPlcqRtEoBWm+aCdKRKkmTOxidawZEA+rM0iA6yg/rVAd3gEenVetTEeXPtdn1Td7Dzd6dA==, tarball: file:projects/board-assets.tgz} version: 0.0.0 '@rush-temp/board-resources@file:projects/board-resources.tgz': - resolution: {integrity: sha512-viBQzxhTLbDFuj6ZIifGh/ykeJkPE6koKw46JEk9a7mvQcNwjjlXcx3+7aX0w+yMvkFDDam2XHQ9HMpyzsJS7w==, tarball: file:projects/board-resources.tgz} + resolution: {integrity: sha512-WK0n58SiB2vZOxjHu8TMgZJ9hYX3++MGTbVcybHQwDHXk/ZfKDPtV5H1Th8kqwFf5aoEigA0ie7qF7V2Ds86NA==, tarball: file:projects/board-resources.tgz} version: 0.0.0 '@rush-temp/board@file:projects/board.tgz': - resolution: {integrity: sha512-dhT3leQ7DW1z19TnTz98NqOrA9TrZBnF+A+NwrBykUg3C9gA6GmRmwmoSBiYwsIr7gPZheq3fgQQhYFfWtwc1g==, tarball: file:projects/board.tgz} + resolution: {integrity: sha512-AefrDolzwlxbmWDd4BkYGfvxyNV1sHiBTDi9+GULPN/lbKUL3kwO9T8LNkkFbZwxYlI3k6Qkf+3tfqqF9qcJOQ==, tarball: file:projects/board.tgz} version: 0.0.0 '@rush-temp/calendar-assets@file:projects/calendar-assets.tgz': - resolution: {integrity: sha512-ZVny2jQO9EPAzHlJZzrBdGv5cjARx6redl/5n2JjBwul81F578YWf0qd1NZB8sMPzY3OXqAfJy2Si4U3AOKsag==, tarball: file:projects/calendar-assets.tgz} + resolution: {integrity: sha512-iSdUPnA/NaUmdNZlGz5HQDMDFPnm/UB1o+rCTT2RRc+vF+Hboucvxqnth39OHW+sr2u94QjQnSwISx1fB1XGsg==, tarball: file:projects/calendar-assets.tgz} version: 0.0.0 '@rush-temp/calendar-resources@file:projects/calendar-resources.tgz': - resolution: {integrity: sha512-zB12rYM6ssTJX3w9kbfGRjV8luGil0pMK19EJCBEmqBrHAEjCGj70JXlH0QEvUPxxyM1oKH7Oggrw4Cwlmsnug==, tarball: file:projects/calendar-resources.tgz} + resolution: {integrity: sha512-cpMJYd1MbppCubAih1gcfq17pRU3HEIgq+7x/H6g2CHDkLlsUNR6+DV5cltZFgF/sZkNudtTBYFpmyCwW18f8Q==, tarball: file:projects/calendar-resources.tgz} version: 0.0.0 '@rush-temp/calendar@file:projects/calendar.tgz': - resolution: {integrity: sha512-RzDIt0tll31QwvSknkOjtV7xKlNUvvZzu5RPKevrS3Ia28J8HAJohqEGeBcRC0yPzMaAHwaCRnTzPiFGM8sXkA==, tarball: file:projects/calendar.tgz} + resolution: {integrity: sha512-BeX/c/tGHtc367xOhGU9WDeTFlFVobaaHQ8yiDPGK5UW961Gz+58F656egWRGQNjcwm9pKH4fOQZ8+MBM7FxUA==, tarball: file:projects/calendar.tgz} version: 0.0.0 '@rush-temp/card-assets@file:projects/card-assets.tgz': - resolution: {integrity: sha512-sJk+j/J20kcA0fObr+XdKFjbNs9XTVJ9Sy93UhZ0+THPthqpBuGH57BFX2w6lVkZ08gl8DHEixZura82uqgXOQ==, tarball: file:projects/card-assets.tgz} + resolution: {integrity: sha512-CbHUGxuvxNP8VhzpLaUySqIi1qiXt7opHxzliUfLS1Jbqj2qG/GolTYzijbhT9M+tXEYApvlXZX6ILP5EbQgCw==, tarball: file:projects/card-assets.tgz} version: 0.0.0 '@rush-temp/card-resources@file:projects/card-resources.tgz': - resolution: {integrity: sha512-cXeSj8QZTZdnoBvVJ9G9ZyE2Ndkt3VviDkRDxLEOe+ewJLOSRJUWnK/+IkAkSnUQItI4c76i2k2qxq6SkomOcg==, tarball: file:projects/card-resources.tgz} + resolution: {integrity: sha512-i2FgSNYPRgNKlZwH9RYCZykebxlWY2MwdzSZj3qHVoCpLH9UoqRG/SYlN4DUAV/2d1PH6mLM0CbCfH+CevnnbQ==, tarball: file:projects/card-resources.tgz} version: 0.0.0 '@rush-temp/card@file:projects/card.tgz': - resolution: {integrity: sha512-kYNj57GzcJkOPmkqf+im3dqau+y1EZVB8KTRBVDdJqa8ClO6e5kJsWaCBeiFuDr/htCOqRAdErL8BVdMPxlHmA==, tarball: file:projects/card.tgz} + resolution: {integrity: sha512-X9ZwuYcOYwETMVVxO80p1o+cjXBo72F2ajNlakF+ARJoxaOavJchN5cZm/kWg/MWNg3o5iSHXym5VlGqJUDThA==, tarball: file:projects/card.tgz} version: 0.0.0 '@rush-temp/chat-assets@file:projects/chat-assets.tgz': - resolution: {integrity: sha512-/kwOHpBT9ZUW/YKdIbi25116xNHlfiLy6KH9flxR8G/NPsURTmJ5tL23vaOfvjBM2cHf/BnLxBI1FcyQVUTGxw==, tarball: file:projects/chat-assets.tgz} + resolution: {integrity: sha512-sl74Gl0SJf8EMLEiGxaEZ2Qo2a46w0q/mfSlPyDObD0LxPC1Di2GErJM7kRuXfugLt6Pr4Qbp9q1w6YBnt1njg==, tarball: file:projects/chat-assets.tgz} version: 0.0.0 '@rush-temp/chat-resources@file:projects/chat-resources.tgz': - resolution: {integrity: sha512-j2iklV6BhLNnLSVobezUIInA/glyu4Zmh9GnrPypwMC5otRUWvB1BcRsnQC8n8f81lH/dh2X0/KyMIWqRGEdzg==, tarball: file:projects/chat-resources.tgz} + resolution: {integrity: sha512-iMfYtYIWvyrHk7hjcN9iOUH+MEGu2JHUqChgJz3qX5zrp4bONRbQItPK4ELAAVcz5xxILrzIY3JYdLOntOrI3Q==, tarball: file:projects/chat-resources.tgz} version: 0.0.0 '@rush-temp/chat@file:projects/chat.tgz': - resolution: {integrity: sha512-ikLU2dDEj6DJEsEGKbQWxNmHl3yGiRfzCJZtoK8JMvJy4snxIgaeIZSllLsAJfdpqb+AP4FAYFd6+vjR6K9SSQ==, tarball: file:projects/chat.tgz} + resolution: {integrity: sha512-K866FbglO70pAG0EZl7toVkYzagfLDp/8vnAG4E0TX5o/xEltCrjZyphCxXfJR8l1Je/hBHPe6H2gAGX+ZBTag==, tarball: file:projects/chat.tgz} version: 0.0.0 '@rush-temp/chunter-assets@file:projects/chunter-assets.tgz': - resolution: {integrity: sha512-DTYAH4LA5KxtbmCfItFcA47+qMQMQSVjM7x0PzP4lfEp/TXFD5jVafkYH9GZVIb7VzUVnGiuCjR1aj5UQH5OBw==, tarball: file:projects/chunter-assets.tgz} + resolution: {integrity: sha512-sIrymSpJFkAjKrirPTzmtXsX2ZVFsF7te5B3Y6d64aiqUYeKLwJJvgc39jLF+klU8sMHq7xww4iC+YCXY4++JA==, tarball: file:projects/chunter-assets.tgz} version: 0.0.0 '@rush-temp/chunter-resources@file:projects/chunter-resources.tgz': - resolution: {integrity: sha512-fTgQUBmVUl93inv0Y6EqKhTOqUMdepua9ps0U0w9kxKIaXfJXAOTuSfEpI6AMQ2CyZSmQ+pWYb/juSRwyvNDWw==, tarball: file:projects/chunter-resources.tgz} + resolution: {integrity: sha512-jPueJbWmWeGpKWWYliHQDodMSD0p6ISVNfSwr5lMI8cR3TGJ6iwZffopJwio8dT26heLmu7He3YKS9vmas9dow==, tarball: file:projects/chunter-resources.tgz} version: 0.0.0 '@rush-temp/chunter@file:projects/chunter.tgz': - resolution: {integrity: sha512-oPud9gb+43M0a+2rIdeB8T8fwn5xTqJyt+QXN2nelDxEdKBegMkKzDctoRg7Dniol1Xeph3KCvMECu1p48f/+w==, tarball: file:projects/chunter.tgz} + resolution: {integrity: sha512-V8BxDWQI1SSa0wycWYXQxGidlIa2wbd3u6IJi8O2z4pW+1SGA0p7XMVLAsu4JRxNbXJxJbwFh5p8zQq+u8Q6cg==, tarball: file:projects/chunter.tgz} version: 0.0.0 '@rush-temp/collaborator@file:projects/collaborator.tgz': - resolution: {integrity: sha512-d+s3QxvDG2IuvcqtuTbcESw+q3eBSEcW9WcDQIhfHhOSLPcpyvpSd5pSADFxoXHX4G4aNtXafvRq5Bv028m7tg==, tarball: file:projects/collaborator.tgz} + resolution: {integrity: sha512-h0JZ2gSeyrl9uZYPBnL50hUVU5Tj5jrsxINUYp7NKtOAgFUnxXgnecSDpNcDJT6Su+Znn/UmjUa/JhDR7nZ4ng==, tarball: file:projects/collaborator.tgz} version: 0.0.0 '@rush-temp/communication-assets@file:projects/communication-assets.tgz': - resolution: {integrity: sha512-Wal7oY3tilhgbPPu+PTlPKz+cfmbdCwbIchlUJdrKaSHXffVDRBJeh6qpyNZO2732Xmizsqei55Nl408BN7I3A==, tarball: file:projects/communication-assets.tgz} + resolution: {integrity: sha512-3EclzY8s+UDjEoAiYq3WXTje7zgetCk2KHFYNnnnbmDHYrKTAdSZA1ljAJlO335Q4RJLUoLLyQNYwEmuUKkg+A==, tarball: file:projects/communication-assets.tgz} version: 0.0.0 '@rush-temp/communication-resources@file:projects/communication-resources.tgz': - resolution: {integrity: sha512-JyZyInUv8v6Gwi7tHJXdM6xo+1KM7Us9+hNOTuSIf+/uVuZZjnbeNr4qnmqRzAi/V5taXq+IvD2pnBWZ3zmk6Q==, tarball: file:projects/communication-resources.tgz} + resolution: {integrity: sha512-nR/kRG3fV0pobKlUJTJ56wJ2v4d76Ag99SDqXuPv5WatWMnSjR7SEzJiZfcxVT6wyzRJnjsEN14vvMkLBL9uRQ==, tarball: file:projects/communication-resources.tgz} version: 0.0.0 '@rush-temp/communication@file:projects/communication.tgz': - resolution: {integrity: sha512-OaDi7rN0T5zfwjcrJFrOHZ7ojNrsxZIdevJCl3k87Qu+fSTCmvVuFe/tPoEIEpwWkK0jSInmdAZhXM8RaC8UcA==, tarball: file:projects/communication.tgz} + resolution: {integrity: sha512-hvW6Yo2rm9xpq+kyAnt6A8qvXbauSOM69EcmX0WDIdGFcu+NVPh9HARuZ2/LMuCmOCOWSnzzwOHeTim+gfW7+A==, tarball: file:projects/communication.tgz} version: 0.0.0 '@rush-temp/contact-assets@file:projects/contact-assets.tgz': - resolution: {integrity: sha512-XSuCb5//dbmZ4ep7dIDZ5gWJ4wdgZJEtkYLzWlOhuIYpJmbILNDIr+4vGQpGgvkNrdxqKNjNRi9mf6nLOupK3Q==, tarball: file:projects/contact-assets.tgz} + resolution: {integrity: sha512-wr3lxynsVCyU6gduEz6L7ik0eGHEpACxag9XK1OWi96+Fk+VL05Lm8wifuIRGcqmBN7DcSZP7LJvDDV9ItpsDw==, tarball: file:projects/contact-assets.tgz} version: 0.0.0 '@rush-temp/contact-resources@file:projects/contact-resources.tgz': - resolution: {integrity: sha512-sCwizhdBR25yoec5x805nxca5aqgx7oXbMDajJ7kQR2I2D8Yy0Q+8JEDwmgxxX/l9AoPwqI0kl+IH5AxsB/Vcw==, tarball: file:projects/contact-resources.tgz} + resolution: {integrity: sha512-Wrds0mb56FJUn4TIy3BsXyOI067TtaZ8J0dNqmjoz0mMJsT2y5YHUvdzbhnQ4ZUx6d97p0vNSb1p60x1nip42Q==, tarball: file:projects/contact-resources.tgz} version: 0.0.0 '@rush-temp/contact@file:projects/contact.tgz': - resolution: {integrity: sha512-UfBOBXkkCHR7iUHssMzpn76rDE1cpWWPDzIvqF7CRKz7XIdkxWlgVP3LySxk5h7FiMBb/2YHoTW1Eo9L4VN1UQ==, tarball: file:projects/contact.tgz} + resolution: {integrity: sha512-K1vyUZEeoxjcG+BwIjH5sm3hF5kJnmJIR4BqbNdsdfzQK8ohC95tNPMCmKEOk/JeS3KZbDz/Ryd1MpQmMBitDQ==, tarball: file:projects/contact.tgz} version: 0.0.0 '@rush-temp/controlled-documents-assets@file:projects/controlled-documents-assets.tgz': - resolution: {integrity: sha512-sDve2JtwVF1/7A8YZtLV88hZ94UMVjgRsCUPhhp3yTdN1eYVzpC6zuwReYCczL0tZPnlNDnNNxBqDo3BKsVO2g==, tarball: file:projects/controlled-documents-assets.tgz} + resolution: {integrity: sha512-cHZ7mmamaP3MVHYJGk6/33it2XlDcVJ3bZ2xMQKK8ZVzLXHv0KAzJ6rLOV2F9CU9r+23ZolteITQ56M0ESfAHg==, tarball: file:projects/controlled-documents-assets.tgz} version: 0.0.0 '@rush-temp/controlled-documents-resources@file:projects/controlled-documents-resources.tgz': - resolution: {integrity: sha512-k1tShV0zadQZFo2NU4Je7neRr5S7l3dXRn+PFYH6D9ORKK2tGc37afvYpj9NBmndZ5ch6hLPiNlDFnFy5FNSPA==, tarball: file:projects/controlled-documents-resources.tgz} + resolution: {integrity: sha512-Oc6W4l+W+o18bvp09tqXCykTYdMhGMPXfNBP3nFaQlTsx687PIWqkbA4uQ9KZDiNen+YIwMS3fw2mlNIwfNhZw==, tarball: file:projects/controlled-documents-resources.tgz} version: 0.0.0 '@rush-temp/controlled-documents@file:projects/controlled-documents.tgz': - resolution: {integrity: sha512-rxSyYV7I+IAOhIPlESyVhgQobWUz2HKHVDXYSCqP7cbBT+jdALJCrpoLYMr5/YAWS1bkupMa+fhywmHvFz+uWQ==, tarball: file:projects/controlled-documents.tgz} + resolution: {integrity: sha512-gb7+gmV+eLzjSuRuG8S+ERMJnL9CAV3uaUGVAjVul8x1Xna0D3L1XIe37EoyKSBmO9JDARP2bZHxCkavDyWa0Q==, tarball: file:projects/controlled-documents.tgz} version: 0.0.0 '@rush-temp/desktop-1@file:projects/desktop-1.tgz': - resolution: {integrity: sha512-9ZoQBuxP84rhaJ4GLDNNICIxVMNFgo/+bU5gWfxbjApVSqrqmcPouzBr8Qxrv9Bh+8dnoDdvSGB7p318PjVTDQ==, tarball: file:projects/desktop-1.tgz} + resolution: {integrity: sha512-7gDTrCEaD+WzcjEUS4d45SkBgcNENsWmGdgpeojHHq80ACYWac97qK0lnv+nSv9pnQw4xqyghQHqQLHgh5d1RQ==, tarball: file:projects/desktop-1.tgz} version: 0.0.0 '@rush-temp/desktop-downloads-assets@file:projects/desktop-downloads-assets.tgz': - resolution: {integrity: sha512-nA44vkQM1JnpLoVPC+bT5idKeAxnfhNPjfLnen5MJrILKvqgXvG48gfU8CJB3gIPblqbi2DzeV2Sm6mOL+oeYg==, tarball: file:projects/desktop-downloads-assets.tgz} + resolution: {integrity: sha512-ngGhvxH1Bg7psl3L5Gu97eiXar/koWEdhotk8lfwufJpcd5/6XhKjPiyQRl/q2/IKnCTrvOC9jn6L0II6m4qew==, tarball: file:projects/desktop-downloads-assets.tgz} version: 0.0.0 '@rush-temp/desktop-downloads-resources@file:projects/desktop-downloads-resources.tgz': - resolution: {integrity: sha512-Sv6+oPOnhmMb4rbW4WikRmM768OTXrtT1TlpIhMMXDm6rkO313e76iX+nJJMDQWyaa19+EN0OorssEyqXGPunA==, tarball: file:projects/desktop-downloads-resources.tgz} + resolution: {integrity: sha512-XouNzthhrEEMcifuA9JLbLpb0V/tAl5cqqnjFnPBFFcVJUBHs2lDdrXBZe/wy1QRRAbAw3DRQwn1wHVqlUfwIw==, tarball: file:projects/desktop-downloads-resources.tgz} version: 0.0.0 '@rush-temp/desktop-downloads@file:projects/desktop-downloads.tgz': - resolution: {integrity: sha512-54meJjU1TB/k2ZHrnX+dznoXeD5/zK2uKjmL8JJNAjRvYi8Kc6M34zf8/ba6hLacu1UKbJFAdWl6R7j6BF4R2A==, tarball: file:projects/desktop-downloads.tgz} + resolution: {integrity: sha512-zsyTJRgXSUgr8foxaJ1+2XQeH1pX0s38h5Gnk0r2sFkXxVVM+OMpRh4Jd7dkfNHrg7L/zuCQOL8v5WP8flJ45g==, tarball: file:projects/desktop-downloads.tgz} version: 0.0.0 '@rush-temp/desktop-preferences-assets@file:projects/desktop-preferences-assets.tgz': - resolution: {integrity: sha512-I1pPgk1942KDwJyW/DL6+nfreVmv0kuxsgrCVRUKmscfMtavHQPL3z2Lte3ZB3i9659QwSADalyD0kKOcF1aug==, tarball: file:projects/desktop-preferences-assets.tgz} + resolution: {integrity: sha512-CF0J+7Ch1yBgYk2QfAwfx9uzAHGG94G0K8pD2NqPFRAYnqva66YuVlF2Q9X6h+1sNoD4JGw9g6MxkQRvV3FoiQ==, tarball: file:projects/desktop-preferences-assets.tgz} version: 0.0.0 '@rush-temp/desktop-preferences-resources@file:projects/desktop-preferences-resources.tgz': - resolution: {integrity: sha512-LUDEZ/vhTvD7t17S8J72xkQ3D60mxEImoVu7uey4TCaE7RnxoVD3e+ynmq2c8E5bl7NpwrAHKGMVo9bTCwEuww==, tarball: file:projects/desktop-preferences-resources.tgz} + resolution: {integrity: sha512-JFxHZQolJjzXZ5rpLQnhY4W5eongWepJWHzYfXp5ZfTLcY4Y2VCkvl9/DnC/XwPhL4rktX7uLP7z8pDxcnnXhw==, tarball: file:projects/desktop-preferences-resources.tgz} version: 0.0.0 '@rush-temp/desktop-preferences@file:projects/desktop-preferences.tgz': - resolution: {integrity: sha512-S5uaF9Uqjk5nmy8cSri39g46BcasHJ2J++6dZGSktyjY7daHwCh0Zv6RuIncKcnLfAO+yGwki+niItXIxUvfAw==, tarball: file:projects/desktop-preferences.tgz} + resolution: {integrity: sha512-4ZrQBvfPRup+kK2ma8uj5ZCC0qceWog7HEHJXJ2oz9NIGKC9FpZlmqQC1Q0AKjVLpHdrF8rN2HgC2mr8rbJ+cw==, tarball: file:projects/desktop-preferences.tgz} version: 0.0.0 '@rush-temp/desktop@file:projects/desktop.tgz': - resolution: {integrity: sha512-fenstlkmBK31g3XyvnCcniFUIDpGDGQ/gklfgDQtodVsadiLS53mI9cG2kwAvodrXno10v24JyWEOjTHUpd9fw==, tarball: file:projects/desktop.tgz} + resolution: {integrity: sha512-yG5KVGVNrfLILglJARviTJgENNT7yHPyXgj6W8QFQlSqEjLvPY9cWVTgewXXaWr2v4/3ZuzqGXy08kuPHcO8eQ==, tarball: file:projects/desktop.tgz} version: 0.0.0 '@rush-temp/devmodel-resources@file:projects/devmodel-resources.tgz': - resolution: {integrity: sha512-M2xxib4kIulQympkQs5BZKaKL84fusZMbozup3Z6x/AeKoOxR8TP9J0Ec8I8AHKB64zynwgn/UIc/sVFbdiByg==, tarball: file:projects/devmodel-resources.tgz} + resolution: {integrity: sha512-Dcb5ufRCsX2jgkSIzMlAeWmmkxXup8Izzn9gD41zCIJcOe4K9fmrJDSpoMKg3J8LmCaJ/VKR65NpPamUr9VhkQ==, tarball: file:projects/devmodel-resources.tgz} version: 0.0.0 '@rush-temp/devmodel@file:projects/devmodel.tgz': - resolution: {integrity: sha512-cYB89W8tqQJu4Zo40zrEyMY8LaOVDTpPUJL112uNE0Vii8VbOFbgLd6LbsMDzRLMCKHCoXmsU69cwxQ94zJN3Q==, tarball: file:projects/devmodel.tgz} + resolution: {integrity: sha512-O3+E39dnDwCiJzikCPIljB1jARPyC1tBcYHvCqiYIq6Y3QnIof0DAlhWaOyMEpsf8K6BnLgxb4nRcK/up33B+Q==, tarball: file:projects/devmodel.tgz} version: 0.0.0 '@rush-temp/diffview-assets@file:projects/diffview-assets.tgz': - resolution: {integrity: sha512-bgErXpU11dTqsM/i9G9pAyE//i6z5zLVzfzFgOJ5lPyZT5N5eZPrXvOthJgz4QAWn+c7XhI+X0IUprhS7GDvCQ==, tarball: file:projects/diffview-assets.tgz} + resolution: {integrity: sha512-qjiyOjf35S1YljUGE6wOC9X0TwJ5T3NA2c5vCKqzySyCtKiL+j4QIPRboSNulaQ27eP7bR2xhPoZbd2lCZ0Izg==, tarball: file:projects/diffview-assets.tgz} version: 0.0.0 '@rush-temp/diffview-resources@file:projects/diffview-resources.tgz': - resolution: {integrity: sha512-ff6Tfmas0YYlhoTvuZaRUZjDV0Ol5ikDBgkb64RBLKhTtaJfcTpF16N68zWhah/8rOxIXcz84mb9h7MTvv18Bg==, tarball: file:projects/diffview-resources.tgz} + resolution: {integrity: sha512-e7INuk9Zu4dN5TjMuvFdvIDFx8yRS+9btJlYRp0Foperb6VN5ZNvW1J7oLYqivO3vUd2NifL/0EvgTOCNBK73w==, tarball: file:projects/diffview-resources.tgz} version: 0.0.0 '@rush-temp/diffview@file:projects/diffview.tgz': - resolution: {integrity: sha512-CFK7D14xauSecbTqxKDyGjs2V6GQLTAlRz5U6xrYIMS7JmRq7xeD9f+xkNpHXdNBOhGRgiU73FnpjH9sE6KNew==, tarball: file:projects/diffview.tgz} + resolution: {integrity: sha512-OYeDjR9cY5bXJHO+fd4jpYNqMIrSMfffFbP6QV/uDGtLf2682nb6unU9kEungE++w6sdzUz5cCYklNWH1Yfx9A==, tarball: file:projects/diffview.tgz} version: 0.0.0 '@rush-temp/document-assets@file:projects/document-assets.tgz': - resolution: {integrity: sha512-UdBbzDb3gswUetNLq+HY4TKXXweJJLdUINKeIaV3zng0kWYUgdSkhDN5QKlodAeZ7T5NuwI2/46dd3ziU2CftA==, tarball: file:projects/document-assets.tgz} + resolution: {integrity: sha512-bCoHQSRYMBU63R+NmgAifT6LaQfQRL1fbM4QqURiN/S6IEbkyYAbHdksBajtCAusLfDJ53d/cTeJanANIQqoHQ==, tarball: file:projects/document-assets.tgz} version: 0.0.0 '@rush-temp/document-resources@file:projects/document-resources.tgz': - resolution: {integrity: sha512-Y/guc5x6ULbh2wShONvdWOM6p3ANhk+RjP5YBQ0TBAUnlm08MVquqsTLtA+65mvYmpFhp8ytk4Sqa1QtMgEDEg==, tarball: file:projects/document-resources.tgz} + resolution: {integrity: sha512-+XC80I9LDJZ4klj4dOl64THMGM40VCAYri2thQVkxdgVXGHFvnyHFBa1Cg1vDawNdB42X2XnLc5/Y5hwa+DQ7Q==, tarball: file:projects/document-resources.tgz} version: 0.0.0 '@rush-temp/document@file:projects/document.tgz': - resolution: {integrity: sha512-iByJ6XYJTatPSiiegUMnDjZJEQhXfGVyzBIS9RVcN6jPiOKLfiev8avT9L9yGg17mG2O+b8fIPQt/pgG7iXQbw==, tarball: file:projects/document.tgz} + resolution: {integrity: sha512-FeoHg7H82o9MO0R00N0ruHv/efCZszXLZwQ1D4euf4d8/Wlj2865LVExuFSMlBhfWbBMgrZuVTM+2LglIGc/Ag==, tarball: file:projects/document.tgz} version: 0.0.0 '@rush-temp/drive-assets@file:projects/drive-assets.tgz': - resolution: {integrity: sha512-8wWlJAbs2fvVg6O19KsL7w3YurvFAAqlICEEaOscgmBYxeu8VAtW70cveFLHFgqnNX5g79zzp6WFaFbY+kZa4g==, tarball: file:projects/drive-assets.tgz} + resolution: {integrity: sha512-8W4W1MOrmIXl6w4qU0Rg44yPcMmjsdSrgIZ1NdJVutNWENlWol+jzrdpL0vEb5qMi8JOsoNdqhTmMNQYFiQzDw==, tarball: file:projects/drive-assets.tgz} version: 0.0.0 '@rush-temp/drive-resources@file:projects/drive-resources.tgz': - resolution: {integrity: sha512-1Ho2zNaf41Vjiy449etblsd76/M67vPmc/KKNCUzsCw9l3JTQY9n27mrp/PTmUVgS17SAN0xYr0BzblY/1yrZw==, tarball: file:projects/drive-resources.tgz} + resolution: {integrity: sha512-HPhT7mQh75hHAxnss4sj70B30WKFMySNerS0fU3kOj7kMqcFIko2LZK+1OILLbUH/LYIoJWKKcaglS+zACyX0w==, tarball: file:projects/drive-resources.tgz} version: 0.0.0 '@rush-temp/drive@file:projects/drive.tgz': - resolution: {integrity: sha512-M8Q87xkwWQz2deENrXH8RIcuCslP9T/jnqLxIkxM+fyoc0aTAFNkONfUlK+g4Oz8KX3edTYYF6jKELQeGA+nWA==, tarball: file:projects/drive.tgz} + resolution: {integrity: sha512-TnqWg4N0mD9JUOZ2yTZzpEKTON7EorNp8wBzAaE/PKfwWNpAGBAOHYJTDaozz5B6RcEasuiW7LAiHeC42uFY7Q==, tarball: file:projects/drive.tgz} version: 0.0.0 '@rush-temp/emoji-assets@file:projects/emoji-assets.tgz': - resolution: {integrity: sha512-XhYNv+h3WWfXqocS3tvIj52at/GUWJ98uoSnwWhDHxHnGMzgSa7YODbqFW4HkuEc3XIABcNPyorHsEJg8v3Evg==, tarball: file:projects/emoji-assets.tgz} + resolution: {integrity: sha512-fqu8zlSIib03rybgc5v10MN4CijwtNC8jo1sfJgo3GiKetQsZDLE7dHYnWYxdloyP/WXri5slEtXBQcZrjpqCA==, tarball: file:projects/emoji-assets.tgz} version: 0.0.0 '@rush-temp/emoji-resources@file:projects/emoji-resources.tgz': - resolution: {integrity: sha512-EBHqx8rISEyOq0YTi6HQqzrrV60Hn58toZKwfAEDn2uBHSMp6+5r7c5PY2PYPs42voNqLlXHO6ccun4v5Dh4dA==, tarball: file:projects/emoji-resources.tgz} + resolution: {integrity: sha512-GpyF/hun3A3HFpBLG/94ty5TJQAFXYjRAdbLxUKRkgyJgKdylPmaannUXkYakRmKoSB/ZR34thhFpCgDnAEaug==, tarball: file:projects/emoji-resources.tgz} version: 0.0.0 '@rush-temp/emoji@file:projects/emoji.tgz': - resolution: {integrity: sha512-9rtSm/xyl8cIG5j1SfU3LUUBobCTjtNLr772p01+Tsc1wF0sljx20KI4CJKgapDeZe6nITSR0nAp2vwnZ92J4g==, tarball: file:projects/emoji.tgz} + resolution: {integrity: sha512-cEZ41qbDdwLT2cyv22vI7Rx4dsbFKTpndUzNoGVabunCHFjkM+LTea7btoY57mDEJ3F9IPq3Aw4IXYdnXN0aRg==, tarball: file:projects/emoji.tgz} version: 0.0.0 '@rush-temp/export-assets@file:projects/export-assets.tgz': - resolution: {integrity: sha512-6xhjdrlZ3x3246D43xkaRx8+4sH+y2KArQONW090aY9TpdLKfbFhQ6AQTM8bOQxnzduF0D79ruypOkxwb7roCQ==, tarball: file:projects/export-assets.tgz} + resolution: {integrity: sha512-7mVBCNfwXmzDuvLhTHG/CsY/VODQwEB2e2gAdj3mCattJBMurWifPPswrAV74dun7/gxNAlzU8KWj7F3ST3/9w==, tarball: file:projects/export-assets.tgz} version: 0.0.0 '@rush-temp/export-resources@file:projects/export-resources.tgz': - resolution: {integrity: sha512-T+ASO3yae2KTW5BJntxztV94gGT0WFyt74h6Uy5gq8M3XVlBXNoQjPJTNy/mR/NlqmgV6YaARqD/o1rBwcu62w==, tarball: file:projects/export-resources.tgz} + resolution: {integrity: sha512-W/bTagJJirv8IJMFBENkGsgapQKK8ZUkSdItSs9+eXNhXkXm3Ubp2SGEhO6AmJv++qXuWTYoSkslxLRF+XeptA==, tarball: file:projects/export-resources.tgz} version: 0.0.0 '@rush-temp/export@file:projects/export.tgz': - resolution: {integrity: sha512-TL8JF9C9w5qgqGVXp2+EKGS0gW8WxxEwnOiIFbEk4Y+cEwr9BeuAr7xPwMA4ZHXz6HzldXGo+f8u6WZzRaztow==, tarball: file:projects/export.tgz} + resolution: {integrity: sha512-cY9lumNJF5jg6QiiHDZiqOPmb2nFzkxijIkFN+X/QhC3mexnsXbjKxoX8Q2smqjuhp3yvJyerBMef+40fIsLWg==, tarball: file:projects/export.tgz} version: 0.0.0 '@rush-temp/front@file:projects/front.tgz': - resolution: {integrity: sha512-hvTfwLKgjNFSoytUYIDdWc6iKl48tEoVwIpPbqr2zg6Z0TnYFx872M3VEoPkR6xZmJzTY253ek7dnFpyG79oDw==, tarball: file:projects/front.tgz} + resolution: {integrity: sha512-Qy90pPnVOnVwwzzSNuiVsvpISpF6qsSlw++EpYfdQLWzRauVJEQm5wqn1WRJhpA86MpNoTHFpvr8y+f84KubNQ==, tarball: file:projects/front.tgz} version: 0.0.0 '@rush-temp/github-assets@file:projects/github-assets.tgz': - resolution: {integrity: sha512-mzW5RUh7nGUcw35cUtBn30m7qJyryZIeSL+wK9oFWO12+deEptTzm0+0v7xC2lJFQlaY29FANihsoWOC5jn+Ug==, tarball: file:projects/github-assets.tgz} + resolution: {integrity: sha512-xDiBrvWrBYlBcVQsXgDHBl2hqS95w8h7DrlnM4/j6tOFOvPHDjE1mNvrrMcEQ81m9hsDnjXUFHTdVic8s0ISlA==, tarball: file:projects/github-assets.tgz} version: 0.0.0 '@rush-temp/github-resources@file:projects/github-resources.tgz': - resolution: {integrity: sha512-Bj8BjMMd+njC3PliIyzry1sYyVJDD9G1/2sjsT3000H/yEt1/qtvmhKmcxmVygObShTEO8hPH3sMRPn4ZvsgVQ==, tarball: file:projects/github-resources.tgz} + resolution: {integrity: sha512-Y1CL++gQaP8dzIqbveGQgdkD2sXVlgwBHWZe73SWhSUd50hXi68GrLGQLBpA7sIWiN3v6XiCpj+q0IsNgZ1Erw==, tarball: file:projects/github-resources.tgz} version: 0.0.0 '@rush-temp/github@file:projects/github.tgz': - resolution: {integrity: sha512-uvmnDEKeU8BZi73evEEKAlc/8TSOmKREruZuxO0ziJy9o6M2H/VDTZisJIipVOFROCkSU+nV27n4T9Mug3L3Yg==, tarball: file:projects/github.tgz} + resolution: {integrity: sha512-ck2h1RX82bwxV8NFD9nyfVpdRmutajmAzl4W5JP+jFkYFdV4HBLRmdqUuAFP3GMZTDRLz8Z6lxQytK8NIBcrug==, tarball: file:projects/github.tgz} version: 0.0.0 '@rush-temp/global-profile-assets@file:projects/global-profile-assets.tgz': - resolution: {integrity: sha512-eQ4PTxHMHnqWW4ZAlXvVYTzctgIcjAG1xv9SPSqO4JJ1bMK7Qj56HBQIz1YcKhKb3fsCCrr4paSGBzGDqnui9Q==, tarball: file:projects/global-profile-assets.tgz} + resolution: {integrity: sha512-IXpTf7Oss9NgOVposFRiTM+uIXs3bBaDjTHHeBMc2Mc4DN2l6U0puPSfj4hPrXy9Xb7pwG19CZiORy4Eo+23uQ==, tarball: file:projects/global-profile-assets.tgz} version: 0.0.0 '@rush-temp/global-profile-resources@file:projects/global-profile-resources.tgz': - resolution: {integrity: sha512-rlxgzo9wsSCx8zRNaNQqVHRJSFmZuthWqvNjh6QUabDpeJ92StbaLPC6slCsTvCOSoh0QP4UPVYrIz2bS1HqFg==, tarball: file:projects/global-profile-resources.tgz} + resolution: {integrity: sha512-Fm4cXNU3vs9e9ENRZ8ZjerDxpd86wwFCUhE+l7Hb98dQ52cs2avqrY84mk5xK8t9OT07ibgAmrLBTXHyo6CFUA==, tarball: file:projects/global-profile-resources.tgz} version: 0.0.0 '@rush-temp/global-profile@file:projects/global-profile.tgz': - resolution: {integrity: sha512-N17ooAxtFnoGK7T0UjhsrgFSooqE8qQoEsz+6NF7NEiW+0Xk0EfaHlaRKPog5MLD89+Oi1UI5QHSTi1iWEs6mw==, tarball: file:projects/global-profile.tgz} + resolution: {integrity: sha512-h6RYDXdsVY8T3zcZenZ+20FncZ/CUPIk3dOA6ImGnvu5aIVaFSddCowtd34ByOzVKJau6zstLiHA9Z2flrr1fQ==, tarball: file:projects/global-profile.tgz} version: 0.0.0 '@rush-temp/gmail-assets@file:projects/gmail-assets.tgz': - resolution: {integrity: sha512-8SyzyNAI/lbfNTMQ8lR22/a6wt3PBhtooIhetAine7BolCkTzWZ+JH6I/uigQxOSA+gMa7uo3BJU0bhjD/yR1w==, tarball: file:projects/gmail-assets.tgz} + resolution: {integrity: sha512-38d2oBBbSU9BC1z3xI8zLvPOhfsEtLM1+D2GdNtf6US4zfz8unJNZxUvHLHOIwVwG4i1QylKWTda0XFbodUEXQ==, tarball: file:projects/gmail-assets.tgz} version: 0.0.0 '@rush-temp/gmail-resources@file:projects/gmail-resources.tgz': - resolution: {integrity: sha512-jNJe33EyOpp+1adG8E6wyJzbYaEEKNaU1OkF44Dd8mhUrKX4l7EcXaMAtcgFldpxj6ZBWvXsvZGilMlTlWjUEQ==, tarball: file:projects/gmail-resources.tgz} + resolution: {integrity: sha512-WqXNK7YyAbjhpIKiTvFKJ2GA3nW+4BaKhPjAvcargIQAFLn2CnvWLXw3WQOvV8z+LnotdQERUAFMbSDRrfBe1g==, tarball: file:projects/gmail-resources.tgz} version: 0.0.0 '@rush-temp/gmail@file:projects/gmail.tgz': - resolution: {integrity: sha512-RTIwuWMQ61Rxm9OxjbY9qgt753e3sJxe52k72M8Pru1NjYBgSh91PH7BDAiqpGTmuA+vN5w6yYTwCnyOyrFpNw==, tarball: file:projects/gmail.tgz} + resolution: {integrity: sha512-yAuvWyvHxiJFmlQZgIM64vjAACXBxQ+56FiU9RRrZySf43uB7UusFPFjLLXJznVtebu396gvQVGKgP12Og9sGg==, tarball: file:projects/gmail.tgz} version: 0.0.0 '@rush-temp/guest-assets@file:projects/guest-assets.tgz': - resolution: {integrity: sha512-B+4/mU5XOwyDfxHTge1WuPJJbYcYtACgNRM0I3Z0iHpW9vTUPmqO0mUXuE8mfUO1a1FXCO9yRcr7StSpD+Zw1A==, tarball: file:projects/guest-assets.tgz} + resolution: {integrity: sha512-V8hsDmMYbIPsA/F4bmIA8E3QzmEIfDW1fF7B5MK0AXElcVMCD9fsMKYPcF9xv9zwMl9uYPqqgAwV3L/IaMg9XQ==, tarball: file:projects/guest-assets.tgz} version: 0.0.0 '@rush-temp/guest-resources@file:projects/guest-resources.tgz': - resolution: {integrity: sha512-YfPCDlvIO4bJmOvQg6RLFcWnMfn3olU2kzzDK5NRM9Szg4IIKtRtkn1eNKzcz+28Truz6Ky1xzuTmvoZIkKSJg==, tarball: file:projects/guest-resources.tgz} + resolution: {integrity: sha512-+s6F0uqlAjMWvWyugYrn701XnEn27YrdT30h0oOYhaVCz7Ipkk+BaB7nCyHU6r6BXjH/JnpFAAMfqY6KTIvcIw==, tarball: file:projects/guest-resources.tgz} version: 0.0.0 '@rush-temp/guest@file:projects/guest.tgz': - resolution: {integrity: sha512-Fdt6IZroKFKtnS51jD87RF3v7lC3WCOpEANFY4/JmLtZbcdYMW5TFpuYneWDmpW4vwXwiF2p+N6402+4gNFZ4w==, tarball: file:projects/guest.tgz} + resolution: {integrity: sha512-tZTMvqf/T0beZbVv02aul2ZRy2p1LjlXpqPiX2AnCe26TGKz5TrOvPWnyK5bc78jJS5ebO8heuwfsyI6+pbg1Q==, tarball: file:projects/guest.tgz} version: 0.0.0 '@rush-temp/highlight@file:projects/highlight.tgz': - resolution: {integrity: sha512-6yFEAPYgcyXvBO1xzO9ev/3o++kazqO/+J+qIbEW4MedjOdGiHu2ViYzlGtJGNNYdtypUKQ3858eHnucx1tqsg==, tarball: file:projects/highlight.tgz} + resolution: {integrity: sha512-53s036avTrD8qce/oSvfuhQMfUweI8dxVU+49BAinnJe8okpm+vEiYwvenku05Cwhqcf/+81OvqdWgD0AenwkA==, tarball: file:projects/highlight.tgz} version: 0.0.0 '@rush-temp/hls@file:projects/hls.tgz': - resolution: {integrity: sha512-dXGkL3myf6cJmD+sI52Tj8s/Hc8WER6Sd8OXNN7Y1kzFhvZZCX+T3MG5brYCGvY9wEGGUWO6f7JbqrC3x4H6kA==, tarball: file:projects/hls.tgz} + resolution: {integrity: sha512-LxRJAT/wCMYKyhCEyepYeNs7PaX9XcmS6a8XskUit0on2XWv/SL31Bbb3VK9YeQ79aKrL7stKR860Uv46Ocz0g==, tarball: file:projects/hls.tgz} version: 0.0.0 '@rush-temp/hr-assets@file:projects/hr-assets.tgz': - resolution: {integrity: sha512-ivgqHYuXIgFBAwM9q8sdYLsiKOcxUzcn/CU6bYA10bEscXTKe622Kg9ZsZ4zp+d8JEEyYmA3VSgWkjxUDv7Tdw==, tarball: file:projects/hr-assets.tgz} + resolution: {integrity: sha512-cPvM8WhebzcE+LSxiUwpJN++QhJDUzr215S4/T+NotJr+uSV7qyt5p5mY9Sjn6uuzHa/tlaFu9LaVcavno0ubw==, tarball: file:projects/hr-assets.tgz} version: 0.0.0 '@rush-temp/hr-resources@file:projects/hr-resources.tgz': - resolution: {integrity: sha512-tuXKKsvQ+f5CIFjEyWpk5Pgbvs5qKGvjXCtAm6h8n8L6g7vNW4T3nGf7PFD+f8/7DmZJdJW3/cNLU7XhmQiOaA==, tarball: file:projects/hr-resources.tgz} + resolution: {integrity: sha512-zCzPawSNiCDHqLQVnePEgvkLw8WiZzBZRR0uQd1mo1ZwhErIiZMHmtPuDhZr+iJMiq65sxb+x90fgT767OAnIA==, tarball: file:projects/hr-resources.tgz} version: 0.0.0 '@rush-temp/hr@file:projects/hr.tgz': - resolution: {integrity: sha512-JN1vthIEf20komgTicj1gwGjyYEnrdI1dEWdLcvG8ief2P5wgreF9sNPhjeYsqNJeV02Us0B+HV9vD98ZEUCbQ==, tarball: file:projects/hr.tgz} + resolution: {integrity: sha512-bXRVNWW67Ojq5LQsR96DURTvCgMZiAUkj6x9W4YFVRTI7tjMBIk78Pyd1Wek+T42pCWAf8FuzufXPRdXB/ygow==, tarball: file:projects/hr.tgz} version: 0.0.0 '@rush-temp/huly-mail-assets@file:projects/huly-mail-assets.tgz': - resolution: {integrity: sha512-HZSuek3wpfjV90twm5KTwdsBkCF7ZpZO7oRWG1cro5kFPVNUQCBdYb5coj7eMHMBrGhS8D0D5/8lBnrNWYakjw==, tarball: file:projects/huly-mail-assets.tgz} + resolution: {integrity: sha512-G/ajPQ5JfsrQ3ZdcTbeAlzQripUpKzsPyP6RHdM6MNjXujIF0pIdscKjqpjNkmstcahBhTnCxb29eTOFzIQlug==, tarball: file:projects/huly-mail-assets.tgz} version: 0.0.0 '@rush-temp/huly-mail-resources@file:projects/huly-mail-resources.tgz': - resolution: {integrity: sha512-PD6flmlLUQ4bibKwO75CdM64xjlLaKtsoqb4Iy7pAjvWy9h0TRGo/MU1knRR275Y4sPNkyiEwxPYlnUcicS5eg==, tarball: file:projects/huly-mail-resources.tgz} + resolution: {integrity: sha512-4cGSJmKVqW2nHfm1VFuGjf1Y1dYrlOUD5WIQnvNuaUS44gnr5UlLDaxDmLCAZm74KVq7bm4E6xV42KnEpXLsgw==, tarball: file:projects/huly-mail-resources.tgz} version: 0.0.0 '@rush-temp/huly-mail@file:projects/huly-mail.tgz': - resolution: {integrity: sha512-qIQ30Wg0m+hWMfmJdB70nMRMBcstQmoax9E42wBMeyioNgVJ6VPI/i15l4lOIgPqD7ovY5ZPFHibuOIexxg0Lw==, tarball: file:projects/huly-mail.tgz} + resolution: {integrity: sha512-pwWZHNFKI0gn9PupT9kgbzxBfJODfwpWKXz6nLHZJ7RwyLdB8kzWRs9x6/vewFwbactI029JsFWqjKNwyQyiFg==, tarball: file:projects/huly-mail.tgz} version: 0.0.0 '@rush-temp/hulypulse-client@file:projects/hulypulse-client.tgz': - resolution: {integrity: sha512-ioHzzRYwOSFLo3Gxfp8GU8xPXG3WQbH+CvnKRvyNSMq5rzRJdTH8ybXoIfX5/dXegm+oItOKr5bXn3dF+I4DKA==, tarball: file:projects/hulypulse-client.tgz} + resolution: {integrity: sha512-WMFQOoJ9e2NWMYiRYlJqVqnYgakC0RffYoWui6TIPvE1vOHym1BUpAtfwKsBIavdhWHrdLfejLCEoAI/qM2H2g==, tarball: file:projects/hulypulse-client.tgz} version: 0.0.0 '@rush-temp/image-cropper-resources@file:projects/image-cropper-resources.tgz': - resolution: {integrity: sha512-MriW8LIFqa2dD2ABePbXuP7XHpNPKpQjrkxQvFHhXqpqnkZKhmI1nmAhhDftSP8iPpsKB71wAAwP15y/nas1lA==, tarball: file:projects/image-cropper-resources.tgz} + resolution: {integrity: sha512-mTNc+dzx3s/jMbNOpkwJg3EOe5KbyBT9v4A2luUkIpn8XVEzn7OjA5g7p0CnphtRZ5sG4Q1vaQzrBo3Nonw0GA==, tarball: file:projects/image-cropper-resources.tgz} version: 0.0.0 '@rush-temp/image-cropper@file:projects/image-cropper.tgz': - resolution: {integrity: sha512-l318gg7iqrqXjdc8FwPuslOtRXtD2mhf7Z7uG7RvBTP7MrZKcvBAL+a/rUeKzCi+NeyjyZbbgOl06un/vu+iyA==, tarball: file:projects/image-cropper.tgz} + resolution: {integrity: sha512-CNNZ+jEGTs1l0ABXL1PEiWuzZCrE+oBMk+TLgmKvgkuakOn15/q6uDWio/LRRJYTbBflAxN/RJDTqY1dxodGZQ==, tarball: file:projects/image-cropper.tgz} version: 0.0.0 '@rush-temp/import-tool@file:projects/import-tool.tgz': - resolution: {integrity: sha512-GX8ghRLyEcK5wFJKnMIrjf/RfOhFbtk4J4eV2P39BKX1fiWlOIiI3t3YywgKK41fG1bcW9DCNCKOCiZVLLZ/LA==, tarball: file:projects/import-tool.tgz} + resolution: {integrity: sha512-fJkfIXTCm3YAMW3b+ZP4XmVeViaHkxeR2la8Av6YrNBN0MmE/e/XSMDz29cVCzz/ss4DLl3xYsAU8GUNERwVEA==, tarball: file:projects/import-tool.tgz} version: 0.0.0 '@rush-temp/importer@file:projects/importer.tgz': - resolution: {integrity: sha512-HF/emiiZFsIop/gjEe89wCsYiOK0jW/mpG370Clg1zvfJPVdx4tOXx0wMYyyYXgBtbxuff1dxMl0FYkGTgEFWA==, tarball: file:projects/importer.tgz} + resolution: {integrity: sha512-0ZTIGkEdN2wH3kkQY0+1CO/MW7JKuzVNKqgcvFv1c4WNBUV8GApQPTS8lhMAodRH7HY/PTSoYMWvBiOJYQCJJg==, tarball: file:projects/importer.tgz} version: 0.0.0 '@rush-temp/inbox-assets@file:projects/inbox-assets.tgz': - resolution: {integrity: sha512-7/pm+2K6UWkYKB9J44WWQosGsB6d3/2GUW9oNBr59qf9GkKoKVVk4AjgJmy7f0VK02Vja4RhJIakgCOAp1VKtg==, tarball: file:projects/inbox-assets.tgz} + resolution: {integrity: sha512-/K4hsN9ZLM6L20EgcDtFCvsqtjlWguJKQPyQZNxWOgddnYMnpuRpEW9lI1KLHKandrIN0J89o9pBv8KAW82AOw==, tarball: file:projects/inbox-assets.tgz} version: 0.0.0 '@rush-temp/inbox-resources@file:projects/inbox-resources.tgz': - resolution: {integrity: sha512-QyiZubyN9SUV5rRLV0fGCT3uMhBYwlgN3moiEDSF7nNl3fnLERChKSBFBh+yjXYi54U/qeg3SK7s7nySt7GXbA==, tarball: file:projects/inbox-resources.tgz} + resolution: {integrity: sha512-aLmKuC29WiVDOTOkJQyZn3PTBC7zp+6yMmncoWhCqmeGwNC5GqTMfXZLoCPSoambYySHhfG5BpssSypdi8flzQ==, tarball: file:projects/inbox-resources.tgz} version: 0.0.0 '@rush-temp/inbox@file:projects/inbox.tgz': - resolution: {integrity: sha512-22R4fC9ubq/ibEPgd2oktsehfdjJhS6Syx94AB6Sl/jz+a8jh+ImRPUcvR/fOFnqYAfcsGpu2uyNIsap91rDhQ==, tarball: file:projects/inbox.tgz} + resolution: {integrity: sha512-23LWd1vA+rLpOykwsjJd2bEZYujHopIG+8wTPh7jmx4Dqh8Om/ib6Dp6V48VSrg/TzDWZ7ynJLZioaZ5oQKLFw==, tarball: file:projects/inbox.tgz} version: 0.0.0 '@rush-temp/integration-client@file:projects/integration-client.tgz': - resolution: {integrity: sha512-P4Nwj3lpDdwxp2ZPtauTmhMyByt/ttGc6kk+ezo2t+vOVas2v9fbiZgU0hgrLPDLQ/d7s1fnbPDi+ThN60SNQg==, tarball: file:projects/integration-client.tgz} + resolution: {integrity: sha512-Lm2n+H4+5rRr4Wernq95hnpcYAl6GX0gfIMAnSGVG0i7yar6J/i/w2JT3pxKknqNjTC/I8cG58LrGYvarMJ11g==, tarball: file:projects/integration-client.tgz} version: 0.0.0 '@rush-temp/inventory-assets@file:projects/inventory-assets.tgz': - resolution: {integrity: sha512-lBo8ISs8EZGDZaMJ3OHSpHfAt2yYaSVibhLPGY3GABrsCIKWhXDczaJV61xfkZhCY+Pdf3on+y4o7KPg8eZq9g==, tarball: file:projects/inventory-assets.tgz} + resolution: {integrity: sha512-GsrQBvXrcBpNuhy8bnNnjpU1WIqtpcy+qA68HZl9Bh1sV/86mm9gUR8dkzgt/m0s6mCeU+He/oKYdbWBHyzg7w==, tarball: file:projects/inventory-assets.tgz} version: 0.0.0 '@rush-temp/inventory-resources@file:projects/inventory-resources.tgz': - resolution: {integrity: sha512-HmVA20dKZF7LyHzyKQOBZnqAqvUtZhiKjoYS9SFYVtqY9joqJcG+Q4kRxtaR/ylxSVfWHP6fF+Oj3BfOoiQ07A==, tarball: file:projects/inventory-resources.tgz} + resolution: {integrity: sha512-kNmD5RRHFbIg/o1omdXSXPm4Z9BvrdEuUL2VVauEwLcgMBwjzfYYxpO13MXEycuiwH0NuVLj93++6GjNNNUojg==, tarball: file:projects/inventory-resources.tgz} version: 0.0.0 '@rush-temp/inventory@file:projects/inventory.tgz': - resolution: {integrity: sha512-WIgMQj3gAsPeMAscJaZKvmIRNZ7Tqx3EnaDJfeV5A/YYsx6yYy8Sz5sExxjF6EDyL/nCx0DwKTjKPkAE+mb6Rw==, tarball: file:projects/inventory.tgz} + resolution: {integrity: sha512-t0FUACgqmwcCEHtuJI23G7syQgLLXKV24bbce0/BAIx+zeBdUFMyGWU22WVjYRo6U0vg1rJ0mg/FKSJj4+pDBg==, tarball: file:projects/inventory.tgz} version: 0.0.0 '@rush-temp/kanban@file:projects/kanban.tgz': - resolution: {integrity: sha512-gut/vEF7Jff/KpMBzO3mSqS78FEGDZIvk6EIhiQRUfJ7gf+Pk+0DIl5KvRzRIDW9b9hx8GJGNvSNgiLtQi1fgg==, tarball: file:projects/kanban.tgz} + resolution: {integrity: sha512-9FlGzasWkzvAYnfssmC2z6tDTmyEV1uJACB6t+GICQQUnauw5/Xeafiac0Ztmn+Y7RfKP5doKt/ehh4qDn3KCw==, tarball: file:projects/kanban.tgz} version: 0.0.0 '@rush-temp/kvs-client@file:projects/kvs-client.tgz': - resolution: {integrity: sha512-fvpAsK07BSkLS7zpeEuxGRKxinAMV0VQsvn4cvJdJ15p6AOalC4CqkLmsuwRV1Zglg1h4ncVfsR87xXNArdUdw==, tarball: file:projects/kvs-client.tgz} + resolution: {integrity: sha512-O+1wllqX/M7ob2pYAwjnWbCN5peRjZE1HUhDmUAignBOkG1RkjFGon/9Gp/ywJ7/xIMseNylQVIknHQq1xQn8A==, tarball: file:projects/kvs-client.tgz} version: 0.0.0 '@rush-temp/lead-assets@file:projects/lead-assets.tgz': - resolution: {integrity: sha512-KUkefoq/RCqa4O605V62zkShVpbWSX3SsDMvi3Aw1FBRxyveMg0jMMLBOBOJKVRzteofFq27ZjHd+hnLfS205w==, tarball: file:projects/lead-assets.tgz} + resolution: {integrity: sha512-cyrJkrBBuGa148N0SmD/KC7a/roFY+USCTautENKWH1O+8CR1ez8EuQh9+47gWdmqnSdSVnHDjwFJ/8lnFzLUQ==, tarball: file:projects/lead-assets.tgz} version: 0.0.0 '@rush-temp/lead-resources@file:projects/lead-resources.tgz': - resolution: {integrity: sha512-4R4LgzJa5xOmBugZW7YSgHgFPk2oCgQm5fjZjq6aehEMfyZ6Pw4ynTCCkxQPkuD13WQ4JWuQ2XPHQ6jm3SdqtA==, tarball: file:projects/lead-resources.tgz} + resolution: {integrity: sha512-loF3txcxhYT8mYs4UwjcaueYkhtgyBluNH2Q7cYimZ3TnnW3sTeYDzYQhe586DvHxnltbT+FpI5/IkcqT29RWg==, tarball: file:projects/lead-resources.tgz} version: 0.0.0 '@rush-temp/lead@file:projects/lead.tgz': - resolution: {integrity: sha512-/OfLSNFU5P/u29vW0/BDT/tAy3D0gmekra12BXyXUay7YVPtheevP7xfcZjxITqOIIYNjOmgB+F9tNvBXy+YpQ==, tarball: file:projects/lead.tgz} + resolution: {integrity: sha512-kX51mCmeTBDTCwLzeuug+rRv2Qc1OY7gUnGTOI/J+paoyN7RC/uG1zv8Evta55oCskB5+s0T28UWLsv/iZwM/g==, tarball: file:projects/lead.tgz} version: 0.0.0 '@rush-temp/login-assets@file:projects/login-assets.tgz': - resolution: {integrity: sha512-mg4deqkkFmrmpA3KFQAMPR0pVpjNsCvCYwb6wkimjXUf40kMzNYuOlOrVIi3M1GxrKkztG2JefBuMWVy0924sQ==, tarball: file:projects/login-assets.tgz} + resolution: {integrity: sha512-UFcZFjW0+1YwQG0IX+YRNu6v8j8ZsSWw5U3j97csIJkMK7g+5qAY4NVSVPjbUa4S3iuE/qXm6yQhO6XRTH/J0g==, tarball: file:projects/login-assets.tgz} version: 0.0.0 '@rush-temp/login-resources@file:projects/login-resources.tgz': - resolution: {integrity: sha512-t3zre5+uGYJjHtAIGIHrM+rr81zqdnLh1rXVOgRAcGdD0oKADlsgA6TpqweN3X0FWUyxJS5cs61NDF2TxMvviA==, tarball: file:projects/login-resources.tgz} + resolution: {integrity: sha512-65mihOdY169dcUY2vJlrcrq619UTrTyxUQwULl8wn34V+9Rl/sEAkEgOLGv9SzJwqkNseP+BrdaK08o3ew19jQ==, tarball: file:projects/login-resources.tgz} version: 0.0.0 '@rush-temp/login@file:projects/login.tgz': - resolution: {integrity: sha512-WeIdaszwOQWZP+OaqOQLpWOl5/qQQIAdKCO9tmNRJ46VExbcdK2ne2la5hejoAaFtcnHKRHV58M6FnRyBfOtxg==, tarball: file:projects/login.tgz} + resolution: {integrity: sha512-gPsk5ZN/HOefsVxm53MF3L67P8IzuHec813Tlu9CIQcKWsgZmRIGSRrEYpyn1H71mDJHYFP/JmjpeyLJmgx9jw==, tarball: file:projects/login.tgz} version: 0.0.0 '@rush-temp/love-assets@file:projects/love-assets.tgz': - resolution: {integrity: sha512-jwpugKA2YcvXQWoUzW1988C6IQjgSbiLPVp+/ntN9SnZRENaxp455oNkDIK5VCDGjfTxeEfDd6MgMJMsmCJOdA==, tarball: file:projects/love-assets.tgz} + resolution: {integrity: sha512-/N6XQYOpTc/4OYUqO6kwby9bK6wK+HGn6Zp4LpqSDcFcLU4XLY9nwkrRhKM9qD3f2SswruTWHObpLHVIFVo1/A==, tarball: file:projects/love-assets.tgz} version: 0.0.0 '@rush-temp/love-resources@file:projects/love-resources.tgz': - resolution: {integrity: sha512-kRhA3lvEsi7tXskg5ux0cfDCBWCPjsgh4pkUsE3n0Him+QKxHgEqPBDGUEc8meqWrbUA4GCAVOfNY8D/Qw5CCQ==, tarball: file:projects/love-resources.tgz} + resolution: {integrity: sha512-aVnRFK+SJcZRlhczq5Kh/128hDJqWq+drMK/OBN4X0HtuPOPiJDx1eJZBhwuHkAkR1eThMLPNkC6YPyq05Y0Hg==, tarball: file:projects/love-resources.tgz} version: 0.0.0 '@rush-temp/love@file:projects/love.tgz': - resolution: {integrity: sha512-P2jbM7A8TNzjWd4WoYnDqA6eNvK6WmEhU2nQsNVb0Z8MsPw5y1SbRjFHTnzdET9ikL1xYQ2Nunq+xDbnMpfdDw==, tarball: file:projects/love.tgz} + resolution: {integrity: sha512-RRVicDMFd2n+361k3T7VJ25l5rqyA9Z97939dk9vn/qjWynvY03JfxozOmWrbc9X4fmo9ds2K7a0myKTv+iZTA==, tarball: file:projects/love.tgz} version: 0.0.0 '@rush-temp/mail-assets@file:projects/mail-assets.tgz': - resolution: {integrity: sha512-3GGbOsFjxv6Um4uHCG7Rxj3mnwoL+un826RCLsOEgDSkReI2rJX8MzhWfc8qaXImlyKwADgmNNyZzbt11jvFoQ==, tarball: file:projects/mail-assets.tgz} + resolution: {integrity: sha512-l2Zj1LVpmUxc6U+byWSB1+hZEJn+v/HrKQtA3ALnNBlv24j7AwRMAm1t9NgM1DSlZdyF/0jWNoNWejAaS4RYSQ==, tarball: file:projects/mail-assets.tgz} version: 0.0.0 '@rush-temp/mail-common@file:projects/mail-common.tgz': - resolution: {integrity: sha512-FWSZ9r86MB3jZeYzCzWBvsMoOKIhezFYOSW73Tc9O0A7KmaCZmeh7FK04GMtdbRUY90eh9TpZAH2s03t96YECQ==, tarball: file:projects/mail-common.tgz} + resolution: {integrity: sha512-eFSPfYWIAUnQQ5aLDPPRH6gLWsRWn7dHBSWQmv2Qz0ZJZ03dTHHUlkajvLAfG5PnvUJnsSG9TPwuFOknow3wQg==, tarball: file:projects/mail-common.tgz} version: 0.0.0 '@rush-temp/mail@file:projects/mail.tgz': - resolution: {integrity: sha512-Wkr2LXVJpfecuOK3B6CsZtxRZNuOobYEDxHJtBDyV7Kp2jtEC/NjjkBJYHM4rOw3y09CHUtUVxz3IWjxF6sYqQ==, tarball: file:projects/mail.tgz} + resolution: {integrity: sha512-6jb+8WiNxTAKO47TUqXq9WsEu7Xl7bOfSqGTT7ZfwA//kZuk80lpOZdhPnnokqc4z/sMjC9BULDl2W6shadPhA==, tarball: file:projects/mail.tgz} version: 0.0.0 '@rush-temp/media-assets@file:projects/media-assets.tgz': - resolution: {integrity: sha512-YPYc/3OhLeqWIa0DKzy8ToBoN/isyVssiTFh67oIksCuoGGp9Sf1QC+/ZQ4cmah05Vd3bHAh61Xszy0hpiEzuA==, tarball: file:projects/media-assets.tgz} + resolution: {integrity: sha512-A1BKGgpqmJvSbBaYo5755xiDtKWzp0dXRcmsfaKbs8JbEtQDBMF9MKVZOp672wJe3un9ARtrUZfGu4LsjPrzlg==, tarball: file:projects/media-assets.tgz} version: 0.0.0 '@rush-temp/media-resources@file:projects/media-resources.tgz': - resolution: {integrity: sha512-bZv66lXG1pqWcAmInzn0wPcHYe3L7RQvgYzYtyLW218vhlMypb8tyaJSYfOIhNmMfLcf77706tCOrmzVZfcqqA==, tarball: file:projects/media-resources.tgz} + resolution: {integrity: sha512-90NFkH5PgAakiZ2pj/IaY7+pOgdc31KES/6SLJ7gmge6lY0ID26fR7MUr9Ei2Qv7tL/bunxo93EBdlfP04x5Aw==, tarball: file:projects/media-resources.tgz} version: 0.0.0 '@rush-temp/media@file:projects/media.tgz': - resolution: {integrity: sha512-A1q8SiC/4M5SFrLs7lh/ayeD0gGC1D+ezv/OGIZMxt5HwSQPCoW1ASRJqlE78DY4steGJFqYgO3bASzUL1fU0Q==, tarball: file:projects/media.tgz} + resolution: {integrity: sha512-JSPdbyNW4SQuxMLCvSUN+bdq3dommB8Clhh9naesA3x2UXt8xbGV3XhToQb7LmWKTI11SRRa6ywgK0lkQ8qhzQ==, tarball: file:projects/media.tgz} version: 0.0.0 '@rush-temp/model-achievement@file:projects/model-achievement.tgz': - resolution: {integrity: sha512-eo9JGRF/tuTh/9nsb/eKX6iUelMHoR45cHxdsZuVUBFurjN/ROcBaHMwi5av/5xdqPi/ZslBkdmL38lLAM0t+w==, tarball: file:projects/model-achievement.tgz} + resolution: {integrity: sha512-Nt+lkmDWIXDApYXTISGHe4OBB+fkIa6B4cBMAXK5QrgHLmqPKu7OEwaMtFbIPSD7gwTJgvnxg0rKV6WwIs4ilQ==, tarball: file:projects/model-achievement.tgz} version: 0.0.0 '@rush-temp/model-activity@file:projects/model-activity.tgz': - resolution: {integrity: sha512-ctcCLOxxjMjEZRFznjjyjPpFVL8D9GxAqvp955MeeEitP/UnU1LgYaO0gW8tRN3OxA7qfz5M6CCLQ1QB150Cfg==, tarball: file:projects/model-activity.tgz} + resolution: {integrity: sha512-Kqri+1YsmtKgfGZ0OlMxbP58qzrsLotaAdH/+cEknIApqNgPLNom0zp+5Kaps71b1Azj4nEthiFjHK7E3s9cXg==, tarball: file:projects/model-activity.tgz} version: 0.0.0 '@rush-temp/model-ai-assistant@file:projects/model-ai-assistant.tgz': - resolution: {integrity: sha512-D1Rpr65uYgqBHFiTIek+UfnIjKfHpOZR23iaXs/Qg0TsYb/+5Uefl7612cnFfKiXSYx6FDey26zABgFk2Vu0vA==, tarball: file:projects/model-ai-assistant.tgz} + resolution: {integrity: sha512-/7LpSYlRzgOmvW0Qn+KxjJ6Pfv4hmMSjubgRciPv8WoNma4VThk2JN09LQAv/8mHhvTuPYBdRaEm+AWp8r5U1Q==, tarball: file:projects/model-ai-assistant.tgz} version: 0.0.0 '@rush-temp/model-ai-bot@file:projects/model-ai-bot.tgz': - resolution: {integrity: sha512-xTEinPR4/O9ZQ3TbDs8G5fVvqnT4PTqUg9kdL9tlCakc3xWXdBfvMPkjlKwnYliQfT7zx8is0KQ32bqv5SvACw==, tarball: file:projects/model-ai-bot.tgz} + resolution: {integrity: sha512-vrzG4uOsTCC9dhbJOi+bsP1TDbZZwUvSkPYd2dXYcoALB3hJvDLZvUV9SeZlyPcNmZ5LJuI4Mxe090S50yov6A==, tarball: file:projects/model-ai-bot.tgz} version: 0.0.0 '@rush-temp/model-all@file:projects/model-all.tgz': - resolution: {integrity: sha512-EOF5LrpYzOmiSszBnzhXQIsKzRL2ZOffs5sG9MnELZiOrtJjcVQ7vOYs4M8mbJwwTaz2ZbItEj9K4RbTCD9vyQ==, tarball: file:projects/model-all.tgz} + resolution: {integrity: sha512-8zMPzAqQnVCLaxMJV2aHAXHmLGXc/mHe80iaNiamT3fmtc0E3Hb38UB3q3M7+jxfoIOVm7YxKUXvhEKrxnte1A==, tarball: file:projects/model-all.tgz} version: 0.0.0 '@rush-temp/model-analytics-collector@file:projects/model-analytics-collector.tgz': - resolution: {integrity: sha512-oEW43wD5bwJXYhmNnikvzjs1SbnfEZen1kFBRIlDdmIKl4VYy2qMmtDvDLOiKiUWhH8G9XDcfT3dq7ZiT+1yHA==, tarball: file:projects/model-analytics-collector.tgz} + resolution: {integrity: sha512-mgST6CkVsFfzflFHFij/FG6ZyRG9xtjwFeqOwS1JKALlVonrrCLUX5NL5YuApEgo11MNcsVMfhSiSEBKqIKUeg==, tarball: file:projects/model-analytics-collector.tgz} version: 0.0.0 '@rush-temp/model-attachment@file:projects/model-attachment.tgz': - resolution: {integrity: sha512-xtYMTvC6fnwGsG3aa9xhSazT55UwIlW8eFpWP/FSCdvlDQk0JLWswt+tJsdJdamR8uE9r+1IbPTmTYvDESMUTA==, tarball: file:projects/model-attachment.tgz} + resolution: {integrity: sha512-hcxdJc6eXwmEoNaIYspys3TylE9ovdiVTWGjXInENxZGvGTmzCnwS5AMJ/qIDZ+dL8JEZWP0/0iz3gS1HTs10g==, tarball: file:projects/model-attachment.tgz} version: 0.0.0 '@rush-temp/model-billing@file:projects/model-billing.tgz': - resolution: {integrity: sha512-Qykz8H1jPAR5UeunI50Rl4s49VQFQAm4Vi02lddn4sBAer+eJLjk2u4FL5shhsrLo5rhM8rJlmItL1VWQcb+RA==, tarball: file:projects/model-billing.tgz} + resolution: {integrity: sha512-6xdWC/PungtvQtfeb8I4seG3zZXx/LSy9dIOxsGMnqUQCZ1yq6yVIzy6vv7SktjKPiidDLJn1eJDZyCDa8Ny7Q==, tarball: file:projects/model-billing.tgz} version: 0.0.0 '@rush-temp/model-bitrix@file:projects/model-bitrix.tgz': - resolution: {integrity: sha512-Rsw6Ia4eIAyCi/YnZFuGB45KOBPHHVH673KmA0JoFMnPsJ0VOLPnH3tgowjl6QJm0BySJ4BPHRv+HqmLQaBSYg==, tarball: file:projects/model-bitrix.tgz} + resolution: {integrity: sha512-9okJSluuphs8DhKPLoIU9yXyg5aeRAo9pPok4AZkhI4vVjE6xfPbeqFZ478h1aoZ99bXbGmTZeinF6Da/lYSrA==, tarball: file:projects/model-bitrix.tgz} version: 0.0.0 '@rush-temp/model-board@file:projects/model-board.tgz': - resolution: {integrity: sha512-8xt9KdmNKjwsv5leK367GYSyTxlMBFU4301BnbXE4dYNu1FE+s2C9vzXWsgHpXnXC3tenQaJJZtRragliM9zkA==, tarball: file:projects/model-board.tgz} + resolution: {integrity: sha512-sVQtc9q4td5Ag7i6d2yIM4kYwF93OkhivwoejbRadKUIQfepVqUnkh22IH3aA8hVSTulzbJoAf+mjf3Xpr6n5w==, tarball: file:projects/model-board.tgz} version: 0.0.0 '@rush-temp/model-calendar@file:projects/model-calendar.tgz': - resolution: {integrity: sha512-V9aQQZYfuasCWdDwMHGL708o2A1JMGi875whiZz4ZwMzWTNV+B2LiKyNYuuXz/1fMS5drqplN0qnB296oXccRA==, tarball: file:projects/model-calendar.tgz} + resolution: {integrity: sha512-cij+8bt3BJAaooJb+52P4677vydX9zAjKsOWnGfKL3g0ULXPU708vDSUZEeSM9Nl81Yf/9oqTd4Y5zh6o3jTNQ==, tarball: file:projects/model-calendar.tgz} version: 0.0.0 '@rush-temp/model-card@file:projects/model-card.tgz': - resolution: {integrity: sha512-YicV+kafulEdmWfwPr5QEfKYilIwKQ1wWppp6tpY9z+B9oAILNFAvz0l/GhxW3Ou7Ms2KkMrz+SRc/B1RV5bQg==, tarball: file:projects/model-card.tgz} + resolution: {integrity: sha512-1ioZb5gvhoVnIKdjnIZQYeO6EV5qDHmknE2zqD80bTAgkuAe54vWz5IFBV/iwggWWIvlcoEnLgxIzfkUbdtw2Q==, tarball: file:projects/model-card.tgz} version: 0.0.0 '@rush-temp/model-chat@file:projects/model-chat.tgz': - resolution: {integrity: sha512-R5ocOUqYdeIUzZmwaggWPLQk+vLCWVg6H2EN43ctNydWqnidBloXc21GgjfRqaWXzmYDhNKuZkJvxXglGEcudg==, tarball: file:projects/model-chat.tgz} + resolution: {integrity: sha512-duSEctEAOGIGE+U/lftFn5GubLoVpLDO/4W98r8IsiYxJJx7d+b4QHkUj6s/OOfYyQADPxsDuDp31L3NwgcqoQ==, tarball: file:projects/model-chat.tgz} version: 0.0.0 '@rush-temp/model-chunter@file:projects/model-chunter.tgz': - resolution: {integrity: sha512-n/cA8QEz73XJk8EqYzV3q2x9pQVhKR285tNDVCa1g4tdpSeL84UQd6RuQs8Q6BQvH2dV1YAJ0MMw8B2x0JQujw==, tarball: file:projects/model-chunter.tgz} + resolution: {integrity: sha512-yxCZkZS+jx8CMOZyLYjZZK1zw6Rd0TjxkvaMARzRmJKUCh9WOg/Lkd5WixSb3l002EzzIot79H+B9dZ+KnWc3w==, tarball: file:projects/model-chunter.tgz} version: 0.0.0 '@rush-temp/model-communication@file:projects/model-communication.tgz': - resolution: {integrity: sha512-xKD2rHUJ0gDCndqYivxOxwKyKUzsV7079StbVH0RKTQsIOBq/9x8erBXwInSZI3ovBFcw5MT05KtYNEI4sNQbg==, tarball: file:projects/model-communication.tgz} + resolution: {integrity: sha512-nyKcMDN9wzeJwa4VTZAZkZrqH2ABC080FU9vOe+uzTKc5h3KbWQjclbCCL3q02cMIVG/0Djx1SaVdYVj4VQhsw==, tarball: file:projects/model-communication.tgz} version: 0.0.0 '@rush-temp/model-contact@file:projects/model-contact.tgz': - resolution: {integrity: sha512-F3yGB2ItBZTrnP9gO9JUf5pzB3uqfdR+R9Nalj+oRsByl/4+WbTGp1ahnxaCpywJuWnSSAOfz1lh7gta/mByQg==, tarball: file:projects/model-contact.tgz} + resolution: {integrity: sha512-kvA/3oY+Y91zT2+3vBqOtVjL4LEJA4dNenZ2ctt9g0zwtqFCyC2eHxEBL3OAL3zQai2AU0BAgewMZ2s8d+qGcw==, tarball: file:projects/model-contact.tgz} version: 0.0.0 '@rush-temp/model-controlled-documents@file:projects/model-controlled-documents.tgz': - resolution: {integrity: sha512-O9IQ/fJcKPZfQaGRv74Al9ypiWSjGSBLozqv6KAEG1Nv6FCBF6jwPveYY4Q73ehrWql1KTbgrjMPp7rgU/82PA==, tarball: file:projects/model-controlled-documents.tgz} + resolution: {integrity: sha512-1ct/gKLKBewfRN4zsLf0P9HaHkSa6Eucs3R5GD2u9RC1nKZShPIJO4DJjMhARmsUEnx72Lw/ZFuR0dvl8ZKm1g==, tarball: file:projects/model-controlled-documents.tgz} version: 0.0.0 '@rush-temp/model-core@file:projects/model-core.tgz': - resolution: {integrity: sha512-vsvqbwgx6M4Ba5Va2VZAEl+amPQ3KPdf0jJex+iWmaB31wDfpjOzKAM6Dvccj6FvOJNMrVWx6P7XtjMsup18xA==, tarball: file:projects/model-core.tgz} + resolution: {integrity: sha512-5HjarSRtuFEEqUgi73u96eo71GHauy7z4AspEmCZPd2gDHwjySzntKjc35QVVF/nlVyxm0PApQJNRzRsha+j/Q==, tarball: file:projects/model-core.tgz} version: 0.0.0 '@rush-temp/model-desktop-downloads@file:projects/model-desktop-downloads.tgz': - resolution: {integrity: sha512-9jkQi10h//ubUq5X24owru6jcj23aj1NLCFXI+D2etp9pwyRnJ6+YGNo0lcqq4nS1fFrXUC089iVYQrYnIEBIg==, tarball: file:projects/model-desktop-downloads.tgz} + resolution: {integrity: sha512-8CCT+PoZT83E9XjNZkG6N/fEwT4QW8mfrVu9dusuo+KNff+hPkdBDXozR2lKJHq+azFbGLRHjfrCQUNIv/VxKQ==, tarball: file:projects/model-desktop-downloads.tgz} version: 0.0.0 '@rush-temp/model-desktop-preferences@file:projects/model-desktop-preferences.tgz': - resolution: {integrity: sha512-ZKGK+ld2j4LvBb0k7uTe5oPcA9jdXH/957YB5xnth0eacO9MwZqIrS2hXMNpl6WmRA09VwKmYZdYqvxedMWB1g==, tarball: file:projects/model-desktop-preferences.tgz} + resolution: {integrity: sha512-vaJVlGCEN+zcSZRCIXXbUu5VVO4cfTxS3IOd8PK07VF/9OPatBK2iu0O6gnDz34cw+Ernpn3FeMzYhkFB/+7IQ==, tarball: file:projects/model-desktop-preferences.tgz} version: 0.0.0 '@rush-temp/model-document@file:projects/model-document.tgz': - resolution: {integrity: sha512-39fYqmrodqWXte3aeAkwOisS6bhX+hFRHxLMWD2CTZMuPoIXwSWbc1CSrAYMfoAGkVEpxslkCQkqC6Gb25aVNg==, tarball: file:projects/model-document.tgz} + resolution: {integrity: sha512-zDkWiK3JLrRB4gXi11OW3a4uYIeulGhKEuUN+VKyJXXyvBAreTqcoBMhqLpynabNjMV27Lez0LmgC4YhliF9pQ==, tarball: file:projects/model-document.tgz} version: 0.0.0 '@rush-temp/model-drive@file:projects/model-drive.tgz': - resolution: {integrity: sha512-N3VlTbypK25JrVWQXCZDWfgryVtzA2HuLEGXZdCoNnRYLtoeUZ9M3k7khPeM7q5wW84CUn1S7C9U7hV84yGPdg==, tarball: file:projects/model-drive.tgz} + resolution: {integrity: sha512-bV50piKSc7Zahb6GOWonPxHsBM7TppMCtner3T62xFy3H2feeMZJSQMIgoq5BoeClL3WDu8L9gtLcxuAi/oyHQ==, tarball: file:projects/model-drive.tgz} version: 0.0.0 '@rush-temp/model-emoji@file:projects/model-emoji.tgz': - resolution: {integrity: sha512-0iM0fJKANeoIZ6+g0VoHG02gbrr9H1K0zGbhTl+Nw3W0X3vmXG1WKMIZKnaiab8PdZ1z99JfeTUNpvzJ3BrH/Q==, tarball: file:projects/model-emoji.tgz} + resolution: {integrity: sha512-C0MYzNUZJkxYy0jiAUdv0D1vsgnZrs+JIf5WoWQepdEoj2yLzZYFtb/eHWL/ckfuRx89Anel1uSKpRPj3dxz0g==, tarball: file:projects/model-emoji.tgz} version: 0.0.0 '@rush-temp/model-export@file:projects/model-export.tgz': - resolution: {integrity: sha512-+89CSIlJvt1i1SUgSJJSIx3ynppBZVp+8lVSJUrxwRKs57Z1u3p3JSKrBF95aMcHLkQw0urI6vCw+kxuNDd9wA==, tarball: file:projects/model-export.tgz} + resolution: {integrity: sha512-LWUqnimmrnxjHI+XFhrFDgIzugbOrOd9eJ/MNxLYNgGOSdp6cmrlT+5lyvqUm02BGwKPkw78pKuqA8MR7N9n5A==, tarball: file:projects/model-export.tgz} version: 0.0.0 '@rush-temp/model-github@file:projects/model-github.tgz': - resolution: {integrity: sha512-4Rn4vp1ir6m/uSFqnkHADEiDXFt40JxF/xu4pf+Hs5lq7TsxrEtKq5pg7VSa/ZvPLRhG5zSqTRlyBO0+p2HAjw==, tarball: file:projects/model-github.tgz} + resolution: {integrity: sha512-ajOGVnlBh1QE7uHN4RzTOyeaALkUSKi7VGq2ZXm/tFLSqSQrPF0waCbfzbLvbKdtm2mDiYfxc/uEM/klSQNeuA==, tarball: file:projects/model-github.tgz} version: 0.0.0 '@rush-temp/model-gmail@file:projects/model-gmail.tgz': - resolution: {integrity: sha512-mSnJ8X7lIJJ2ctDD9zV38RtAevxBfLr9PnQCkA9XcV7+dD5G8meb54y18cmdyDhk2I/EufjrnZn+tyUecT+62w==, tarball: file:projects/model-gmail.tgz} + resolution: {integrity: sha512-aRYDPypNqS+nBfhCDT9h8FVqzs+4tbs8lFD5Fw3rTqwRwd+TC4YW7GGoHWlvnaPjk/TuQWFxjqCut6H5W0kNzg==, tarball: file:projects/model-gmail.tgz} version: 0.0.0 '@rush-temp/model-guest@file:projects/model-guest.tgz': - resolution: {integrity: sha512-PxaK9/n35Oo9K6MwmJnyf0gL3Q6NRUpD5EgZkFrxKAzcglNOWjJLuhRWQ3RRwOUZEs0jAr2s7rK/lqJq81DzQQ==, tarball: file:projects/model-guest.tgz} + resolution: {integrity: sha512-QFp45PWxQSbItstTwShE5rmYl8vEiqXzzRkqKVrR+BJwxLCEj4ScrQTYNDZz/Iy6EucDCVv5/YhBPbwL4NTq0w==, tarball: file:projects/model-guest.tgz} version: 0.0.0 '@rush-temp/model-hr@file:projects/model-hr.tgz': - resolution: {integrity: sha512-t21l818wr5YqWrjkvMSfyY5wX3eZvbG0WKZe/OwQ3Zj8mTAtAY7vAbCTo4TNdOnwRsi5FHVOKOpl53j8lA97Cw==, tarball: file:projects/model-hr.tgz} + resolution: {integrity: sha512-p7sjzBWuYEhOe9tmjvfnRY4KmqIMKrrQL7xCgh3YpL3Rd37Ho2H5Hdr+arVaijex6o/W0ii0iMMKGvT221wIGg==, tarball: file:projects/model-hr.tgz} version: 0.0.0 '@rush-temp/model-huly-mail@file:projects/model-huly-mail.tgz': - resolution: {integrity: sha512-8bsDEp5Rzp7CgRDgUFYmxcE2aPdAlj7+Bn9k7svAB5F6Oxo25BKKImBdFWWPLiTkp/IdRRXlfHepdY+WArtyGA==, tarball: file:projects/model-huly-mail.tgz} + resolution: {integrity: sha512-RI46Zx9vVmoBy28nvghN4epIBhHoxuwIiBGBwBTwzR6KIvuQVFC/uz46FvDbHRdNZqNXiGUTlLms4BwIWoh4qA==, tarball: file:projects/model-huly-mail.tgz} version: 0.0.0 '@rush-temp/model-inbox@file:projects/model-inbox.tgz': - resolution: {integrity: sha512-JSpfnuU3ClFCsQ72MwM14tnUnjHkkw2tYpsXDqK9ctZh4Q2pYBrxn1u13evLbpHVglDLX7qrzXzIoDDOeiMeMQ==, tarball: file:projects/model-inbox.tgz} + resolution: {integrity: sha512-sPW7HCvYF6kNNnzic2VEfZ1ZWc/LniRdBKDSfCG0oLCBXzLyZ/vadxY+V1W60h4Yhk6rjQS9ocavxSLVaPr9Hw==, tarball: file:projects/model-inbox.tgz} version: 0.0.0 '@rush-temp/model-inventory@file:projects/model-inventory.tgz': - resolution: {integrity: sha512-bPHTZn0De2MAHxeDtXquaHlUD05bRAMlqi5ThY4id8mgNnItMQF+Lc/OrJCj0rCY2hl0va28n92CfZhMUn4utw==, tarball: file:projects/model-inventory.tgz} + resolution: {integrity: sha512-kJkGs30iSyS2ipElw1fOSO83ZvePaS2cwEUNNhu4IO1BYEnZgh9NCL/sjJPdxGupMU+uqID7A93eduwuMnUlxA==, tarball: file:projects/model-inventory.tgz} version: 0.0.0 '@rush-temp/model-lead@file:projects/model-lead.tgz': - resolution: {integrity: sha512-Ah9Jtb+2q9bxKKDS8udp+4vABLtQqunb+jISSPbnm3m/Toof8m7B823QjCJnEwluf7oziH3reMT7CQ+tPvyDgQ==, tarball: file:projects/model-lead.tgz} + resolution: {integrity: sha512-FLggYQgbW5EuvHuZce1aXGBuoZ7oyAUs0NQsJOGUxbS6imCHUCPlBNs4VeTaiU+aG8g96zBh0VU4N8Y3tTAWcA==, tarball: file:projects/model-lead.tgz} version: 0.0.0 '@rush-temp/model-love@file:projects/model-love.tgz': - resolution: {integrity: sha512-u9XWyHGyJ4x98QntQc+vYLNMq9wzLRAOaM11x0EG4/zCi2txxGsvKq8BHG092H9rjBKRqD+4AurInJOwhCIgfQ==, tarball: file:projects/model-love.tgz} + resolution: {integrity: sha512-+L76ESnyEoCISAbMaJOGPaKNUb7lmFR4AzP1Tnw2cIezWR1ufn/YUbICVnTGByvYPLmB0DElJnKTSixpNYOYhg==, tarball: file:projects/model-love.tgz} version: 0.0.0 '@rush-temp/model-mail@file:projects/model-mail.tgz': - resolution: {integrity: sha512-5+Qk+zC1wAHuOCk/gvFTPRu2JJAW9yp0+unXnxwZgglBs3BErwPmkcOKbJKlkiyoFnSP85Pv5KBkJYCGpAQrQQ==, tarball: file:projects/model-mail.tgz} + resolution: {integrity: sha512-zzQnttCqIuTmcUNwDo7zQ30D+eXsuO1oaqG4uBCR4WTDxf+0VyNbp+93R01Vq9EsuOumLcC0PPB5lcZMqzj8ew==, tarball: file:projects/model-mail.tgz} version: 0.0.0 '@rush-temp/model-media@file:projects/model-media.tgz': - resolution: {integrity: sha512-lmebZPPIAjTOEOFScJjqIzLD5TzNX6l2E3GcJXdXHByl+bIHZFPg4SbFj5LMd8zOk+vPpldHxQLxfN4mSZGBVQ==, tarball: file:projects/model-media.tgz} + resolution: {integrity: sha512-jvzySX39pzQ1hmnRCfoHet/WKVXxBPjGYaj+uuxGSYoMAcEIC7s85FsekdPaOFNEcpt01uEasqCdc3hyZQcaJg==, tarball: file:projects/model-media.tgz} version: 0.0.0 '@rush-temp/model-notification@file:projects/model-notification.tgz': - resolution: {integrity: sha512-e0D9BGHVJh4vY6oqByEKAIyy2gvJpDvmUuh4Tebj4NNC/QeEDxGL/IGqmAey3I2j6adGjzsrgPo5doElL9gpeQ==, tarball: file:projects/model-notification.tgz} + resolution: {integrity: sha512-ot2reVL5v63FeKsFsyHg8AnQHwS3OQJHVEsdWFyFH7KKvI+cHnJ+w6UiNIJcLg6E9fEurNthwEKptL2tZKdBHg==, tarball: file:projects/model-notification.tgz} version: 0.0.0 '@rush-temp/model-preference@file:projects/model-preference.tgz': - resolution: {integrity: sha512-NS9Z3lbUSP3bSVDXEJlg/5EbDbWJtei7RGlyCuBxXQNNnw/f1i+IYStiAqKw4/xRxBognYEHmFtToB/R3bMb4Q==, tarball: file:projects/model-preference.tgz} + resolution: {integrity: sha512-6KqpU427vJVqHbMAfFzFyYg03h6geK5GKMNALmtvr/wH8nvCsagGrASSn9IBZdtytpTxDcWV1ojRcXgmrHxIkg==, tarball: file:projects/model-preference.tgz} version: 0.0.0 '@rush-temp/model-presence@file:projects/model-presence.tgz': - resolution: {integrity: sha512-79VhCLCSZ7PUCUqdqTLHblzmnMmmMgOVMrtLgq1o/b8nE/Klkndm69K300DteUhqjcXB5feki7u7ev0YfRIPTQ==, tarball: file:projects/model-presence.tgz} + resolution: {integrity: sha512-Jl2+KVaSgSzNYC78qwj+Wz1+cFaVEBITQHGpngok3MY+b7NRwg4bqVwtGymPKc/ZcEhfXzUZWj01YAjWoMwWBQ==, tarball: file:projects/model-presence.tgz} version: 0.0.0 '@rush-temp/model-presentation@file:projects/model-presentation.tgz': - resolution: {integrity: sha512-XQPHfpxTHfbiqas5Z99ljrTyBWPGVzg18vMkXuiSgJDNdo9lnMIE2cRrkxe0h2KeXk7i494YaTWCFD1pTI8Rcg==, tarball: file:projects/model-presentation.tgz} + resolution: {integrity: sha512-TTkN+dNgVdRXf7VEhgKgJQe6Lg2CyDDhq5Lg2rAOdzsBEGLLoK+jgdpgVyxyN/0aA6GZhB1JiHtqNcpyHrPeaQ==, tarball: file:projects/model-presentation.tgz} version: 0.0.0 '@rush-temp/model-print@file:projects/model-print.tgz': - resolution: {integrity: sha512-S+p/e0ZpBv/orLsO1l30iAqRFi5tTd+p+xlQYAaAAA2cL5qROMJdLHrqJBuuHVp13S54weGvZ9vdA3Dsb9iJFg==, tarball: file:projects/model-print.tgz} + resolution: {integrity: sha512-VjRfH3WC/d0qBHpX0/38GMLZhEfmWj/NbrzhrL+R/QmVORNv8Lz2hl/0t5BnOR+k52TtwHkeN1scdxeI5rVHOA==, tarball: file:projects/model-print.tgz} version: 0.0.0 '@rush-temp/model-process@file:projects/model-process.tgz': - resolution: {integrity: sha512-GHolh0EAGM37BvfS850N1F0EEFz36xJQjjYZk5w2RaCUetKqToEy9wSvDY2aeFyhuqdGb60vGIlZL8frXwy+mg==, tarball: file:projects/model-process.tgz} + resolution: {integrity: sha512-6omsAIIvJhfTEhQvmDUAiuaAjyk8dJVlJAKnpYI+3/KwwFIeeRcFbWFCnOvxMZB8vPKHHJ6sOOxtQfoKBxznBw==, tarball: file:projects/model-process.tgz} version: 0.0.0 '@rush-temp/model-products@file:projects/model-products.tgz': - resolution: {integrity: sha512-5Mn1sQpQsfEKtEG7LAk3snzDLZ3oiMKHvbU4tIjajtNBo9tXmHN0a+JdyDpuRr317st6T94OHTou/UllYDVivw==, tarball: file:projects/model-products.tgz} + resolution: {integrity: sha512-jX2qii8QU5+YZiO6k0507itv5SSaQ6OEz4cEDdNaf19I2aGlpuHFoD1pOrQGvoYLYYOkP/A4m8Q6+voL3BcA6w==, tarball: file:projects/model-products.tgz} version: 0.0.0 '@rush-temp/model-questions@file:projects/model-questions.tgz': - resolution: {integrity: sha512-xFHbHcbKcpFddrqSl6Ih+wz0NqnPVC4Pf08tw2Kkt5UpRRIFV36sk6mAjECxERXWTeKJZ/fQ+TMKWoF4dBfo5w==, tarball: file:projects/model-questions.tgz} + resolution: {integrity: sha512-NRYmA+BJTbWAtPijtVckm6XWNygeebr8rj7SdV4M+nX/QLwRDJRHZ4zRgX3xty0/uDt3DHd8VQ4DfplJ7zIgxg==, tarball: file:projects/model-questions.tgz} version: 0.0.0 '@rush-temp/model-rating@file:projects/model-rating.tgz': - resolution: {integrity: sha512-DGSxgTEbAxs09PwCmvWhwrBRm0Q2fcYX4LB5A5kX4ZT9bGuqhdPep/vEf7d0fLpTSjkgi5GTmpLqJx7bG1vyHQ==, tarball: file:projects/model-rating.tgz} + resolution: {integrity: sha512-4nfnFaBDRRfUP1hpeK1dYMm3JxUDcDjpQHkd2Y+jECDSaf68kcLLPeBTN9vUM4nt8YTEaG5SWD0F5CiTLUFZiw==, tarball: file:projects/model-rating.tgz} version: 0.0.0 '@rush-temp/model-recorder@file:projects/model-recorder.tgz': - resolution: {integrity: sha512-H3BCEavTjNW9dqMWwWEGZaZowdxdSTyo2Hvt8T2pAf3JAzr+5bjw80Mm0NfdrVwPffrvkWmLrHODwZlMlF5ntA==, tarball: file:projects/model-recorder.tgz} + resolution: {integrity: sha512-bfQp/2xY4KzG1xORwKbW9atkaxLgoaXBHLTHDgSweqYNl0rIQJ9GWYFsFjT3ozierpjj9t4+tIz0GbBMjJMTMw==, tarball: file:projects/model-recorder.tgz} version: 0.0.0 '@rush-temp/model-recruit@file:projects/model-recruit.tgz': - resolution: {integrity: sha512-VzBYx6Fo6Yjj36U9uC0u6x2j36QQOQUQ8KkVDEJYqjdLV0YTXEfk9sYF3pZ5HMqyD2oB7Yyk6unnMLt+efAe3w==, tarball: file:projects/model-recruit.tgz} + resolution: {integrity: sha512-QMigI5iyuZ2PHQDxbb2rtz2hPh/WDHCkaU3dBOVwgYehJHdwJszx20p3dI4fEI1z1x1+vwCaCwBDV/ZWQ2B01Q==, tarball: file:projects/model-recruit.tgz} version: 0.0.0 '@rush-temp/model-request@file:projects/model-request.tgz': - resolution: {integrity: sha512-VbIOpBaPl7qbkkVREh7oeqbG+q+YzWxhXj5xIfcffKXs5ahA9z3ZJcwfeNdGYUjZxoHf6qUlE45Uq+LXJdudQA==, tarball: file:projects/model-request.tgz} + resolution: {integrity: sha512-vD8yzP46F5+f6pOTdTcy4E8o4mX0OyO7iuPqw+YQEmI+ERm/iCsa7aA+X3qckTEzDj5EpPVkdD7VkBL/ba2ySg==, tarball: file:projects/model-request.tgz} version: 0.0.0 '@rush-temp/model-server-activity@file:projects/model-server-activity.tgz': - resolution: {integrity: sha512-1QMqOKyWjV16tQ0Jeum6uk7JUgHBgNSef7Pm/s+mHR5G/NNy+wR4yA6rVo+5TOhc5Cgl8pF4sO8ke2PM2MPQ4Q==, tarball: file:projects/model-server-activity.tgz} + resolution: {integrity: sha512-XtzKU8tntdVaPCKXVZiG2T4Ux6kTuPBQkO0Tn/u5JeA6KtZm+gN4s4RaHUEZqAKlHgeRXzV/+EogVq3Kbu43AQ==, tarball: file:projects/model-server-activity.tgz} version: 0.0.0 '@rush-temp/model-server-ai-bot@file:projects/model-server-ai-bot.tgz': - resolution: {integrity: sha512-5ZE2+vNryK/TMBjncgHnIt5WG/2C2k2wdXO1rM92Izwzsw4qYtxmPvenbw9yGrjyAZxaUeyXfbh28q5p1qB00g==, tarball: file:projects/model-server-ai-bot.tgz} + resolution: {integrity: sha512-NHc98lmYom7OeNhTSrA0Jgn6RxRiu5tSnkd4BUfDTnCs1pLobbHfzXoS9dCbdOBObahzdJElSTOFTWxWFYyCPw==, tarball: file:projects/model-server-ai-bot.tgz} version: 0.0.0 '@rush-temp/model-server-attachment@file:projects/model-server-attachment.tgz': - resolution: {integrity: sha512-HAoZoeJDE7IBePDDlMYHDV882ZGSlzMFnnDJvzRVDyf1hfDVECG0VzTNoNkCO8mHr6WoH1zSs4cGEddBaC9u7g==, tarball: file:projects/model-server-attachment.tgz} + resolution: {integrity: sha512-Rmfw8aDcehcnUF6DAMGyY+nukFvGjoaLRDAkiXB/2zL0HZPLpQh9HuRNrrF/KPp0TWDC0Iy/nggun80oBuVajg==, tarball: file:projects/model-server-attachment.tgz} version: 0.0.0 '@rush-temp/model-server-calendar@file:projects/model-server-calendar.tgz': - resolution: {integrity: sha512-NOVEmop+yTkOdx8M/5+iM1+c8ZUF5s8Z8UT4uIPboyuc7qZX9GLP+aUS5IAb0hjf5X85Nz36DYCNEel99WmemQ==, tarball: file:projects/model-server-calendar.tgz} + resolution: {integrity: sha512-xarUGxbgReMHlF/evmu7Al+lK2wl3L/BNLynFrGGoIS0/49U4ilRib9MvEYSAisJO8lsP3SWB+ulLZY9/6akSA==, tarball: file:projects/model-server-calendar.tgz} version: 0.0.0 '@rush-temp/model-server-card@file:projects/model-server-card.tgz': - resolution: {integrity: sha512-Y/VpHSS4/N9ASjCtakQcJV3Bf4ysijoyC4SKN1Dfn7C1mTZEaN6n5Z/KniCFVjY018/OV/wgq3+Szs+CbqBpvQ==, tarball: file:projects/model-server-card.tgz} + resolution: {integrity: sha512-5Vq7m5a7cNJ4chuQL7d4poObJ+DoKkR2QMz5CxGJ11KkNbXct0qMt0tWVFJ7NCrWGSSOV1UsmMekX9K/b1nrog==, tarball: file:projects/model-server-card.tgz} version: 0.0.0 '@rush-temp/model-server-chunter@file:projects/model-server-chunter.tgz': - resolution: {integrity: sha512-7q2Y6CZoR+qMn7FKyop0ntP3RKj85vaEghiCER/66pRIKKoTndyv4RjqeB9XeWRGM7boo0gGUJ3zCmFidP1dhw==, tarball: file:projects/model-server-chunter.tgz} + resolution: {integrity: sha512-j+ts2BTLjX3FRm1pr37Zr7dKmrjXCiIJ3TukgiYsbGEBIpwIl24SQijbXO3rbngdbCGnynnFqjX6oX6t2AM6aA==, tarball: file:projects/model-server-chunter.tgz} version: 0.0.0 '@rush-temp/model-server-collaboration@file:projects/model-server-collaboration.tgz': - resolution: {integrity: sha512-tMU5bEiF0xTbMVsi4TMW/QyPrOG2i5z1uyFNjgetIFOJlsotzXpAPVrVWbJaGAnlDMBLQvTG1hh0/wYFdlpKIg==, tarball: file:projects/model-server-collaboration.tgz} + resolution: {integrity: sha512-upNIFRqaEdwvFOZUQQdP0wefJGfcu6ywUy3tkyEppXutj9P5k/58oOvERLTK+l9atB8ytdIrvikZ4i0bik+f4A==, tarball: file:projects/model-server-collaboration.tgz} version: 0.0.0 '@rush-temp/model-server-contact@file:projects/model-server-contact.tgz': - resolution: {integrity: sha512-GPkTR8qnp4zZOETx/4AvuviMxzrrPXBXB8UHh4zBPfDGtl2YOixI1jyJ4c6RN+lhIFt9/WB4SedNC1/xD7jTzg==, tarball: file:projects/model-server-contact.tgz} + resolution: {integrity: sha512-Px4u56cRjeHk2sEtnkeA4EjCe54brwaSBjJZR78Utj3BGsgMigB0RjYsJNfmwonteRgN7qoOMS4HQgK5jy1Jxw==, tarball: file:projects/model-server-contact.tgz} version: 0.0.0 '@rush-temp/model-server-controlled-documents@file:projects/model-server-controlled-documents.tgz': - resolution: {integrity: sha512-zyFialzN3pgqKq7DlXATPHlGljKq6rhM7RyYmuC5OzVmX6gs5EQefuInqYP/0b1D1hDz7rEYq62X0fjmGtb81A==, tarball: file:projects/model-server-controlled-documents.tgz} + resolution: {integrity: sha512-ZvXqc+XL/gdSlrz9tAYrq2WqHWKhYxHAEghNgyfovjzIgyVET1MQBeLshSJ+QkM3dtLFR+0g1559d52zsp4BUA==, tarball: file:projects/model-server-controlled-documents.tgz} version: 0.0.0 '@rush-temp/model-server-core@file:projects/model-server-core.tgz': - resolution: {integrity: sha512-KGAnxkNSZs1wuh9CPvBeWL6SiqYPN+UTX6dQwJjAjVtai4XbooGzgA4um1HILPoRu0Mp3iiPPR/6IDwb21Jy7g==, tarball: file:projects/model-server-core.tgz} + resolution: {integrity: sha512-diSMya0cwhNEGRq5yTbFbQWNb8afbXbGKmmkmPuiGWXd4fHZ+ENPqf67dZXyn7ptbvVK8i12VCHJWf0JPQjcrA==, tarball: file:projects/model-server-core.tgz} version: 0.0.0 '@rush-temp/model-server-document@file:projects/model-server-document.tgz': - resolution: {integrity: sha512-38Bx+p7UgSmqwsoFGFK87geW3AQU3fH+uObMPLuNxdJOSXmWeastYjAsQJCUeCSHL3YRFXdnx2zZgXFN8n05sg==, tarball: file:projects/model-server-document.tgz} + resolution: {integrity: sha512-RtYy709eBt4nWgqGzRUgNkOKJVuQ6m0SrtZfWAh66u7mchiCX+hmiftcCpiwrR7/1y7MOIRkMs8EcyxX/lpOtw==, tarball: file:projects/model-server-document.tgz} version: 0.0.0 '@rush-temp/model-server-drive@file:projects/model-server-drive.tgz': - resolution: {integrity: sha512-hmki0wicUXo01G3wZwiUvLSEFxDk3SmZcKxKUmOCKsVbbhbcqjd+7Igkgb6lxihemAV488cEph6fREFuiGRn3g==, tarball: file:projects/model-server-drive.tgz} + resolution: {integrity: sha512-oIBeggfnssRoK9TXqWndRDyKikGjdumnK7S7V4gx/Kc47pTl2U4ll/LWR9kie8WePPrHPfxXmZj14x6g3Y3PSA==, tarball: file:projects/model-server-drive.tgz} version: 0.0.0 '@rush-temp/model-server-gmail@file:projects/model-server-gmail.tgz': - resolution: {integrity: sha512-UofqdMNWyIXWTF3jQfUFuRC/sfSo2Ftqa2+5Yh/EVlniEZs9yqqDm31ecYN0xU3cXA/sCqBnsS83YOb7Oq/BlQ==, tarball: file:projects/model-server-gmail.tgz} + resolution: {integrity: sha512-a/GAMt3Mti/5EZw+ljwW26tyMJ/YCk4EXVFe2bbxKmVXEaC1JYzcEBdyR8RcJll7ZAZYUddhrKwCzonbnpcYEw==, tarball: file:projects/model-server-gmail.tgz} version: 0.0.0 '@rush-temp/model-server-guest@file:projects/model-server-guest.tgz': - resolution: {integrity: sha512-/pmvy9IsL5R3fq6OcqIKArKoJV1RtLVT0SGZgidsJ2IG3THfzKloBu6zSEf/vkS8CLMvS8UhANAssn+vCrZGuw==, tarball: file:projects/model-server-guest.tgz} + resolution: {integrity: sha512-VfxH704hTxdJfNxlu5LDJ0PjHVU2grvSUW7YHtacFxdIOTrMQ+9l7EWA6/hIA0YBn9RpMU7UzfSkGyOdVKTIMA==, tarball: file:projects/model-server-guest.tgz} version: 0.0.0 '@rush-temp/model-server-hr@file:projects/model-server-hr.tgz': - resolution: {integrity: sha512-XMMXZ+AbMAa9BHx2xt/tho+znDH+YBwZ09dlPNF3sFE3k4eBzop44FAb37yoZ8IsSIxhF001Nf/bxtt9v/hW0Q==, tarball: file:projects/model-server-hr.tgz} + resolution: {integrity: sha512-Xxmbz5rARSUeH+dPXeBLWvh7EzdxX7Qdps/QQCixs5OmlDQeK+DoB7z1ei+rDrWUSiAwo2XCEirhhCpEj3/cCw==, tarball: file:projects/model-server-hr.tgz} version: 0.0.0 '@rush-temp/model-server-inventory@file:projects/model-server-inventory.tgz': - resolution: {integrity: sha512-+widHyY9AFqoWBiIJbU009+3nBKgwPinkwMkn3xnGlT9tDjNr7Bd+jmAZlBHpau2N49zFBpLsiGHrWKwEbJCPg==, tarball: file:projects/model-server-inventory.tgz} + resolution: {integrity: sha512-PlsiQFiw6o0aCppT+XRp5adkQTMvjJGtyjoTqT/LBY1sS8yZnwZYyeM5Rvkolj8FFf8w9Shk/X8dRjOkA6jjWw==, tarball: file:projects/model-server-inventory.tgz} version: 0.0.0 '@rush-temp/model-server-lead@file:projects/model-server-lead.tgz': - resolution: {integrity: sha512-0mlmIkzgc55C/4s63YAqTGvDPp9s19omlbJZ5kl6EDto6ud1CJ7RVKW6TRs8Rv21FgF3+6UhvcshCHGBSlQptg==, tarball: file:projects/model-server-lead.tgz} + resolution: {integrity: sha512-cA91BpZJmvbhB1vX/H+i0L7uvTPtbA9oIYwADiueglAC8edavFsGGWvQ0rc0BiILb6Q0hnD/f+tuRYvltAOl3Q==, tarball: file:projects/model-server-lead.tgz} version: 0.0.0 '@rush-temp/model-server-love@file:projects/model-server-love.tgz': - resolution: {integrity: sha512-/baH3q5Jr4GT23eGiFdBOufJETQcHiZL9Iy9ikw/Y4eoz2S0o6b+tOyha059OSASETzW0v9B63bgdLdL+cK/ew==, tarball: file:projects/model-server-love.tgz} + resolution: {integrity: sha512-oYf1VFU9uZ6VUgyaffuf+Ia26stSp0vXq7kf2oC2apWRvW83BAGnD1AaZXo/74QBJ/BKzQBUx1A1fVuJyg7Nhw==, tarball: file:projects/model-server-love.tgz} version: 0.0.0 '@rush-temp/model-server-notification@file:projects/model-server-notification.tgz': - resolution: {integrity: sha512-dyJeI7gc5IuMR530a6n7LH9/ahNVy5+6051V8zzx6rz6TfeStPBnXpfN6K3czxEh7DA+W1EDK19r0PYAU8TJxw==, tarball: file:projects/model-server-notification.tgz} + resolution: {integrity: sha512-PHFG8As4+4bgl59yES1bL8bdDSdSo1PZ4JB2TglTmPwixpFXGmBxkev6usZSeOIvOkUngQZUnRL03w57TteVsw==, tarball: file:projects/model-server-notification.tgz} version: 0.0.0 '@rush-temp/model-server-process@file:projects/model-server-process.tgz': - resolution: {integrity: sha512-85RsWLeWe1jZ60WUjVhLIbR+UZ5LSPNodel6zNC/W7MIK5bIU8YrhRYWEAZfgkyKzeYdeFM012sVxPa0oO44ww==, tarball: file:projects/model-server-process.tgz} + resolution: {integrity: sha512-bZk3mCKM9Vk7oJWUqTMLigjLWaLu1CX3y8bEz13HdTiBIRilb1sbQkoiZgUFvcm4ljvVktioQVTq6w9Ft8OVaA==, tarball: file:projects/model-server-process.tgz} version: 0.0.0 '@rush-temp/model-server-products@file:projects/model-server-products.tgz': - resolution: {integrity: sha512-4rrBiW8iqlfGhRpxXuOUnBK+APnBmabSNYrON48b44TdukFJCw1b9rEqCGRAAytDk5erLh43UWxDNkIjxjFDRw==, tarball: file:projects/model-server-products.tgz} + resolution: {integrity: sha512-ns9ztS7hxFmC2bcvIt8OpchB6ZwahyO3VrGUYWF8sK1DgXSJ2tYQjeaLdyz80tC5BSBBLOoxZeMYB+at8V5Buw==, tarball: file:projects/model-server-products.tgz} version: 0.0.0 '@rush-temp/model-server-recruit@file:projects/model-server-recruit.tgz': - resolution: {integrity: sha512-xdMmuiPUEvaMyffr7Sh3kFx29n+/6xXRXzu1S1PNdi45Fiz5HzO5kfjFbEn9URRmKp8tVpNIXAkSOQU8QHkPSA==, tarball: file:projects/model-server-recruit.tgz} + resolution: {integrity: sha512-BYZUWlK27po73G/MoL2WiCBvV02C5ww/FxBdj0xO1t2O8CZrzrnqXU95U6iYUyMR4NszQw9/rytIhd+uyzeatw==, tarball: file:projects/model-server-recruit.tgz} version: 0.0.0 '@rush-temp/model-server-request@file:projects/model-server-request.tgz': - resolution: {integrity: sha512-NvEbZP4iJz/GDsugFOAGBA30NugR83xZ3YaPw0AdPsbzk/45rX1QZuE/wkALvTmBbUp8g80HoBYw/fZ/ZS4Pwg==, tarball: file:projects/model-server-request.tgz} + resolution: {integrity: sha512-ShuTnleLnYAK4VGFqmdNUxdLOA/SDz6UOciaRHnpfMaAtN8K81Zcq/fHcH+l+VtpxLdgJJf7XIGkV8McYrZ+yA==, tarball: file:projects/model-server-request.tgz} version: 0.0.0 '@rush-temp/model-server-setting@file:projects/model-server-setting.tgz': - resolution: {integrity: sha512-yIJEw5Sv6TgEcs1xZ9pQwaECDVk7kbTl7aThvO774asuFxn0tYYAr8GI24+V/JlxM22lRkrIQW4n3AOccK8vjQ==, tarball: file:projects/model-server-setting.tgz} + resolution: {integrity: sha512-rizOUAhFUyQOyKarbsmsaNIK9a2Gc3wtRF/8OlZVwO0eKUDac8oZAaqPjfP5+sgRr8aSbbfH5up58pX/P20LxQ==, tarball: file:projects/model-server-setting.tgz} version: 0.0.0 '@rush-temp/model-server-tags@file:projects/model-server-tags.tgz': - resolution: {integrity: sha512-NHLB+sQ2e/Bp0SE1mWQFaSwVc4D+F/ASzYiWMUqnQsmGVRLyiGvGnMGwNySmrAVaQGUVH2I6YdVvjEw0i/zWJg==, tarball: file:projects/model-server-tags.tgz} + resolution: {integrity: sha512-4ksLtOpsM47f8PBBlOtYWGnhAck/7mIYwHMPeRbBbFCnXKuKhO7NVtiVOnsldpC7aXc8nJt3IPOxtumm4X01pg==, tarball: file:projects/model-server-tags.tgz} version: 0.0.0 '@rush-temp/model-server-task@file:projects/model-server-task.tgz': - resolution: {integrity: sha512-qKsFg+e6ywy0+nzFXWix6eZWTGSSv8Ao7mSts210iG11vtp43u2pDuveFPiM+bDsHp+4vWSRZnBdmBZhtAJ4wg==, tarball: file:projects/model-server-task.tgz} + resolution: {integrity: sha512-l1M68Pc09rGeP3au04o35+p2DAsjEFWIEfweINtwpnv6uHuVYfoe7jXLv3J4xhkSbJG2U8oVZf6YzDb5Kkmdiw==, tarball: file:projects/model-server-task.tgz} version: 0.0.0 '@rush-temp/model-server-telegram@file:projects/model-server-telegram.tgz': - resolution: {integrity: sha512-lGgJpLPGuphCuBT/UcVsXp9sOkidJOFyWjnkRiWIPXF62nvrmiKhu/t3RO8iC0ZXMM00ieladoxm1f3Mvd4c+g==, tarball: file:projects/model-server-telegram.tgz} + resolution: {integrity: sha512-Z2MO4lGof53c+piQXIsZgkgtJGnmRAuN/L773Zee84W+vAqT+tbrOkO3jpMKiC+3EolflyP4bC4dZJGc+n2VBw==, tarball: file:projects/model-server-telegram.tgz} version: 0.0.0 '@rush-temp/model-server-templates@file:projects/model-server-templates.tgz': - resolution: {integrity: sha512-NFlvAl9RkjTiqVvqH8tq872e/ksxW+LXjRnJc+xgG53A1/1m6es/raOEVGvzt44dVxadFnxggbx/fL4QEL9WUA==, tarball: file:projects/model-server-templates.tgz} + resolution: {integrity: sha512-SwnfZuJd4NXP0XTRmLNDejIIe/ygf362+F4RtooBAyqvIj1ozPcrc3XFu0imVpRV7UJTuW3jibwsg54At0YuQA==, tarball: file:projects/model-server-templates.tgz} version: 0.0.0 '@rush-temp/model-server-time@file:projects/model-server-time.tgz': - resolution: {integrity: sha512-RkW9gzAUMtppBbLb0McHuHrn8p0/X+ZkVU68nghhk2g3d+J0BwxwTjMgMFSA0x7Ixg2qixha+VpYMWOSK3aJog==, tarball: file:projects/model-server-time.tgz} + resolution: {integrity: sha512-g6LyYFeQshcn+7ke/rNsqnv91c2VGgXo27ucxxzDCe6f5TaXUGXemooc9ZgS/rV9vhMGXNmUmx+9S77caKmKzw==, tarball: file:projects/model-server-time.tgz} version: 0.0.0 '@rush-temp/model-server-tracker@file:projects/model-server-tracker.tgz': - resolution: {integrity: sha512-yTo00fFm4DXvyj5wU7qLdPRXlT3zXgxspDejQOKfthUYo9XcCpHIeOFsmIQS/HZdHD/BS3OTPKFwKcusFmm7Aw==, tarball: file:projects/model-server-tracker.tgz} + resolution: {integrity: sha512-0L0NF2H01rMLFrWZ3ZNe00RrmDQ4ijLhTQHfYxacyEV+oFG4SJVYb0QTC4OJUnZhC9/F4XmAqdq8yQB91Oi1Tw==, tarball: file:projects/model-server-tracker.tgz} version: 0.0.0 '@rush-temp/model-server-training@file:projects/model-server-training.tgz': - resolution: {integrity: sha512-Bfbnb3g8BwgJwJtTy3QRx2JdrgLanZM0nELkv/LGDrGJQ6EpPWWy/HN7QYD9ygR++b5j7jLcAqGVwS6NNGQg3w==, tarball: file:projects/model-server-training.tgz} + resolution: {integrity: sha512-cYmOgqtJ0WjVSg5LQZ0BdSCwvtoCDSjDlBE/5ChxKqH3ClAONmbvlwsN+FSAfVsFoJrdQHE61XXa5JWa1YXUpQ==, tarball: file:projects/model-server-training.tgz} version: 0.0.0 '@rush-temp/model-server-view@file:projects/model-server-view.tgz': - resolution: {integrity: sha512-kC28jESIHVyiqsx1tAP1Fxmr59v+u0EH5n8JYiVFC0MltdzYcOiCaeZU+2Zqoq9K/D+iUrHaQTPNRPfKPmFNXA==, tarball: file:projects/model-server-view.tgz} + resolution: {integrity: sha512-pjPfdfIa692z9Uh+fvuYcEfp3m2q/s5WDL3SAvq6tpJYEMfC1U8DFwSSRH6baNKkOJ0/Np2hAc2vNbgLtsUJeA==, tarball: file:projects/model-server-view.tgz} version: 0.0.0 '@rush-temp/model-setting@file:projects/model-setting.tgz': - resolution: {integrity: sha512-OXWjb5RuC56oSQxWBsymEOlErd+qGu+10fwDQ+JGUmkPknbVoIidyEgkRGWqzcm1Owt7fR/fCuBIkjuXqpbjDA==, tarball: file:projects/model-setting.tgz} + resolution: {integrity: sha512-NEVCOfXZxB5CF2aARRCd+FPJQsggOfy1OfYugOvgBcqdxekdBUD+5BoXXnpD4EpGuEO1zSbDuNHc/JinKGZ4WA==, tarball: file:projects/model-setting.tgz} version: 0.0.0 '@rush-temp/model-support@file:projects/model-support.tgz': - resolution: {integrity: sha512-BlNv81hujZAv5d5dS+YDOD/uhiAiHbgKoUeMMTrUEW1Fpt3bGu5HfCY+nWQRSca1Muyt4yAHMO30OTfySPJPDQ==, tarball: file:projects/model-support.tgz} + resolution: {integrity: sha512-iFiXCzrcCAkiW38HQQbvb54D88yLJY0XCjNtpBYxRtiZhRqicb6gxBuvADSZO8pwQ5+Wbc0aZfz3oqBD9xaZ0A==, tarball: file:projects/model-support.tgz} version: 0.0.0 '@rush-temp/model-survey@file:projects/model-survey.tgz': - resolution: {integrity: sha512-VjShZ8bfRGAFsR7bEAUtUUghVffLXVBzxrrYxHcwayNv1rC4ZYCxv8iMEg4Y52qlMUk52nVWryi2XDyE4+pcwQ==, tarball: file:projects/model-survey.tgz} + resolution: {integrity: sha512-ckbX+ggZdLEneCn2PjFwlDoT6q4QmdByVMM5bfi9G5pSa3JMq8l3qqmikuShTmH2c475tNvXjJKg2FxtnmG9MQ==, tarball: file:projects/model-survey.tgz} version: 0.0.0 '@rush-temp/model-tags@file:projects/model-tags.tgz': - resolution: {integrity: sha512-lMPxzOEyroYbkKqZ3vwiS2yWZz0Xmc/ilOROL/3Poki4ttIHaL2sz/AHUP8I+f+5AQHqD8aMTyWMDczoK3asCg==, tarball: file:projects/model-tags.tgz} + resolution: {integrity: sha512-s5RRfGVzBk3f7FIu6XH6Nai+vx4hqlEIW6rI1zYwqqq7NAkv0yMDg1FqwJgl8bHQxNQh0CBsm28bhAnt4DWQqw==, tarball: file:projects/model-tags.tgz} version: 0.0.0 '@rush-temp/model-task@file:projects/model-task.tgz': - resolution: {integrity: sha512-TOTiMlkgY97kYASz/3Uy197q5t4c2/i91+yEXFHuev5pNwGQNp7kOWFpJGvNW7CVlT1nonfCN2i4WO7I0WmwFw==, tarball: file:projects/model-task.tgz} + resolution: {integrity: sha512-1PEjT1A4x7V0rlWqJ7wsmTy06gZz0mAIkP4flUh79bdF/Kyw/7J4PMiBvgM54aEYUA1zbSV97jvJ8pNP4BvEZw==, tarball: file:projects/model-task.tgz} version: 0.0.0 '@rush-temp/model-telegram@file:projects/model-telegram.tgz': - resolution: {integrity: sha512-cW4dCe7u7+rz1+tId61C01xxa+aQtfs92hWFR2tUm1NdGXBwn0PxrdXYDgxiEHfPW3qX7BxsBajpnxYSqdaTjw==, tarball: file:projects/model-telegram.tgz} + resolution: {integrity: sha512-+4802O25v0KFug7gKXyRpbPI4LuuHJi2TyjbTrY3NHSVgDsdEEO1yDHrplUn1kZfr21Hid39u+4Ri5hNDYMM5Q==, tarball: file:projects/model-telegram.tgz} version: 0.0.0 '@rush-temp/model-templates@file:projects/model-templates.tgz': - resolution: {integrity: sha512-N2+sLTed/3rMZoyi59YMuj4swWV1UuqrGH2dABNryTdpEeJ4hE4RhpOn4Hb8qn2qwIYCiOTW3GyF0U05HQeolA==, tarball: file:projects/model-templates.tgz} + resolution: {integrity: sha512-0oVSvIWgUXFiBw94UP8XcnTmozeqnJ1IU7XaIOdtdoVqT4OPBT0DIvMOYC20jMICyvtk0EjVTuq1J07OGov5GA==, tarball: file:projects/model-templates.tgz} version: 0.0.0 '@rush-temp/model-test-management@file:projects/model-test-management.tgz': - resolution: {integrity: sha512-WJAIlHF5rMGkZPAlN9SWyu1TVwpt2Ns7sF7Rl3PvklIHQdyRJwjmxsjIzAR2KMWORT5mILvWb+NKlFVX8vZH1Q==, tarball: file:projects/model-test-management.tgz} + resolution: {integrity: sha512-WD5FGojw2JLvA2dvUM2rqT14LinfLgQyaf5ORVmXnO4zyPZVNGKZ6TmfKSotT1egCmA8F34KYnar4H1lEElBQQ==, tarball: file:projects/model-test-management.tgz} version: 0.0.0 '@rush-temp/model-text-editor@file:projects/model-text-editor.tgz': - resolution: {integrity: sha512-ragvOXj/BqmDm0by3XgSv2zb7oBpju/Nd4pS3yhYJT8M6aP8yftJa0w847v5KNlbkZKrXp3VKPhQzduZrlMkeg==, tarball: file:projects/model-text-editor.tgz} + resolution: {integrity: sha512-bpgtpJuC9paAgqTFsBMVi7xz+FtTUKj+/7mgXGon+YMPFe+u8aBlek+9JVUR0aS8+197LCuBNabd4fZnMBqZDg==, tarball: file:projects/model-text-editor.tgz} version: 0.0.0 '@rush-temp/model-time@file:projects/model-time.tgz': - resolution: {integrity: sha512-aH2SBUBIWepxgWgYy8FKSBHU4bvQe1Rxj+dSeqfVM5ljSI9QHDVbqcTBpOPKlZbaiTryAl52i5bPq2astzfnnw==, tarball: file:projects/model-time.tgz} + resolution: {integrity: sha512-4SPI/gK0YZUF7VGyP+lENCzsYY0SRMiktoyjuQehYkCju45wI43oev4G4uvuEJHa4hDMZaqgUYWb15y84OrC6g==, tarball: file:projects/model-time.tgz} version: 0.0.0 '@rush-temp/model-tracker@file:projects/model-tracker.tgz': - resolution: {integrity: sha512-YqtWQ5Cd/gEaO3qpXw+cDdNq+GLVDyCsplLBUpPvwy0ZuLe3uf4CW0D7YtAR1gr+J8Ul0yli7oxYmdssQpMBzA==, tarball: file:projects/model-tracker.tgz} + resolution: {integrity: sha512-toDBe5ZCV9ydtgHPQW+oWvjw4vHWGGDE+xCyKzuigqU1wyFYT2JBCdsAN7H21/awX4TL3/aDhE6GQe5A80qADw==, tarball: file:projects/model-tracker.tgz} version: 0.0.0 '@rush-temp/model-training@file:projects/model-training.tgz': - resolution: {integrity: sha512-cUHK+3RnWCXJtvjX5dkE/Vv6Y0+4WT6ri1VcAG22QihYnuud3qq0fBPdZ6T2Lb6MiW4Lg4w1A0J57LWFxgbqCQ==, tarball: file:projects/model-training.tgz} + resolution: {integrity: sha512-yUL3oYmiWsLogqWRO+X8LR5U3Q/YaEl3JrxAn8wxIr6cCqRMcQG7NBxBUDs4hxRMRdVBgl3Ol2/K/LLszRJVrQ==, tarball: file:projects/model-training.tgz} version: 0.0.0 '@rush-temp/model-uploader@file:projects/model-uploader.tgz': - resolution: {integrity: sha512-LVtTPB51vbMXUUZDkXOjQmtEY/rUsrSyiLC1IeKoWXVEwtNjLqJgr+S0ZcsCbPrmKtohI2MOmFOmA63HwYiKrw==, tarball: file:projects/model-uploader.tgz} + resolution: {integrity: sha512-y1ne57S5tWi8zrFsxkMdL2f3VKbEWZOlpRe5oy48Uxc7TKBqtdf/rMUYqEb3UD0bKlqzmgGYSvF1cmVvRcESUA==, tarball: file:projects/model-uploader.tgz} version: 0.0.0 '@rush-temp/model-view@file:projects/model-view.tgz': - resolution: {integrity: sha512-WwcdYpEnEiKujuywKlGMQ6F09sVb/QINXhM0/qehxwm544dgZHmM2ZPTPqh2IgC/xjUTew8iXIzXRLu5D21yew==, tarball: file:projects/model-view.tgz} + resolution: {integrity: sha512-IK+PY5j2D9GaLOEenGEYqeolIhObBLcR1FdMEhBWhMkBQsopTgiNFJaWXGFGNSWVWrFAY318vIKsKFjQa5TWow==, tarball: file:projects/model-view.tgz} version: 0.0.0 '@rush-temp/model-workbench@file:projects/model-workbench.tgz': - resolution: {integrity: sha512-cOf7TqHSzsOxROGyHNLJWg5X4mE8sP2ywSLXI4FUaJLGPZDDt9pEuFoP2MqRQwgLzFwW+zbu8PR9SqP+vj1JTg==, tarball: file:projects/model-workbench.tgz} + resolution: {integrity: sha512-Fk3/4coKQJBZGrWIDOitP4RiQlGdmCsi++I7GGIa9DHAcjZXUu4eFql6euykio+vewKPMO4TGp1zpA3QdMNKEQ==, tarball: file:projects/model-workbench.tgz} version: 0.0.0 '@rush-temp/notification-assets@file:projects/notification-assets.tgz': - resolution: {integrity: sha512-Ht2GaEdBn0xWTod3Dy94KpQ7tP1vyvAH3U1QZiGlTPx8cqx8j8k+csiZmAQFBlUxsjSL+qMYVJHDuab56vjp4A==, tarball: file:projects/notification-assets.tgz} + resolution: {integrity: sha512-ed+6rr8Mve6JQ0nWXNLeaynzB7BycsadKLewGC19QWtL9NWcVjKF5b+xdetPfg5C/RvmlxkOTBMXKrowEBm/xg==, tarball: file:projects/notification-assets.tgz} version: 0.0.0 '@rush-temp/notification-resources@file:projects/notification-resources.tgz': - resolution: {integrity: sha512-HtVYGrop06rUoqwKc0OGFeQgIRbVr9JrIHo68+GV/7Zz6hXmdk/Fv6G2DjQmUQzKPgYx4DuGwNftphJW0m0S+w==, tarball: file:projects/notification-resources.tgz} + resolution: {integrity: sha512-DSukWPq5pvzNW67qsrC93dTTWNBEdL1TKLYW31QS6yWlryfmPkcK+rSXIUGjFDdXy+CRwGsbR5aNwNI8oZSqXw==, tarball: file:projects/notification-resources.tgz} version: 0.0.0 '@rush-temp/notification@file:projects/notification.tgz': - resolution: {integrity: sha512-A6sz0FfJ60QkAfYMPZ14AV/SdLNV48d6aQ1EAjiw7D/6DIThszeCznJ6Tnm9P3KqGEhtihL0QN3vGk1EKhOgHg==, tarball: file:projects/notification.tgz} + resolution: {integrity: sha512-o4gI3mwzQaYXtdx/58XsovMwCEc3HGt8EHz4XYykn/eXb8raqd0Fplx2axyPqhzTDXWJYqUs2ysudBA5l1m25w==, tarball: file:projects/notification.tgz} version: 0.0.0 '@rush-temp/onboard-assets@file:projects/onboard-assets.tgz': - resolution: {integrity: sha512-X+lg1ZLS+DkcluMTBgn37kZCobEANR29SY6izdJSSIJN++GU3w4NAr2aVS15wVqw5ktwr9M03Q7QYD2/8rT/aw==, tarball: file:projects/onboard-assets.tgz} + resolution: {integrity: sha512-r8HK0yeEOCLd10SZBKXFQWOjJy7osFsyij1uVqGRe7YizL+d8kAz+PLwGH4GZodCnjy2X2pNODyRrl0SOfkjMg==, tarball: file:projects/onboard-assets.tgz} version: 0.0.0 '@rush-temp/onboard-resources@file:projects/onboard-resources.tgz': - resolution: {integrity: sha512-Me8SGnjRUk+PN73tmpF4HuI47kJ4y2+cCO0Z9Qm4drKJHkmXdaUFYKkO1zrVaZIhQsrEaVOIrGAEPETtTCILlA==, tarball: file:projects/onboard-resources.tgz} + resolution: {integrity: sha512-FlGPFNcxoXSA4Qw60GVeHTYfZEAe7U1hyuRZNOIGQy36yPOZ1l1gL9AykyDo2KIN6dLkHp+K+n3ineqVtEzowg==, tarball: file:projects/onboard-resources.tgz} version: 0.0.0 '@rush-temp/onboard@file:projects/onboard.tgz': - resolution: {integrity: sha512-+y279JdaJEWLX6sPrPvf0KzD0vb7coACaddSv9/Gb75qSf//YnFD23u/RqfvWDgX+GpxabbSAk3VfgH8rxnEGg==, tarball: file:projects/onboard.tgz} + resolution: {integrity: sha512-qYtU/LmSuG5XaNZnrnq/GpaunaP6UzowybH9Fq7MY+InfAk+uWzzEiBAg3EeqcW68YGt6IjO+0kYgOexdYSRRg==, tarball: file:projects/onboard.tgz} version: 0.0.0 '@rush-temp/openai@file:projects/openai.tgz': - resolution: {integrity: sha512-xEPwNN8hBKZUuSqJvnffz7R1Yl6Hi8rBBDv7481JqrDJQ5jIbemGzO/1oG8WrZ0gL0YTia8qhId9sDwApQJsNA==, tarball: file:projects/openai.tgz} + resolution: {integrity: sha512-MecdiCjmWA+U3uM94y29IZeSP+eXqjF9kX2R5QnmIxgMSO7KkfEXhsTahGbpvuyu6+Qb5I7yqoJ6rq3ZlqWruA==, tarball: file:projects/openai.tgz} version: 0.0.0 '@rush-temp/panel@file:projects/panel.tgz': - resolution: {integrity: sha512-HsfJ8xyxzBNY3mLc2Ft3CfZlOYjgTJyPwv3nl4KYYPgBkG+qFkaoIKZlFOgaHLV5PABSjHdmJw88pL7fLKu+qA==, tarball: file:projects/panel.tgz} + resolution: {integrity: sha512-UjYxVQp1tOVy+clTyk1YF5qxITZmHgVsGPBXzpyDshqMH797CpaUzeTJqpGm32QTmun9Ip2ts8hF5vewgMbRuw==, tarball: file:projects/panel.tgz} version: 0.0.0 '@rush-temp/pod-account@file:projects/pod-account.tgz': - resolution: {integrity: sha512-7Qb1w9VCFpWVKlnl+aFO3H0e4OtzGp+wTmHWMbQbnufQqC0LJaCpgBpsCOfFtyaNCb3V5lHR8iDOsFVPOlsduw==, tarball: file:projects/pod-account.tgz} + resolution: {integrity: sha512-QO02uOmhZG1SRwBZCspQECnepEZsD36UCOTQqEKKeoS3R+Nawj1eVBCLKYtbaB+jpieTWzNiBKu+YH9wbNfW4w==, tarball: file:projects/pod-account.tgz} version: 0.0.0 '@rush-temp/pod-ai-bot@file:projects/pod-ai-bot.tgz': - resolution: {integrity: sha512-JVT3p+7iKYUaHxP54oBn+s1BSISHpTPEfpP9ZytjHv388C1f83hH9JH8dhuPS98WR6c07btXEfl7z5Q7EjFM9Q==, tarball: file:projects/pod-ai-bot.tgz} + resolution: {integrity: sha512-qIInzQsJ6UmVReX9J1Byw7I1mZvL1EFLu9sXCm0aK6PDKfkUdMx9jApiGVaKEAVgTRAZW/aoFhdBbVazTGbdCg==, tarball: file:projects/pod-ai-bot.tgz} version: 0.0.0 '@rush-temp/pod-analytics-collector@file:projects/pod-analytics-collector.tgz': - resolution: {integrity: sha512-sTNn5aMtMzugrLPC5+oL2UeIHtYgxvasS3+zqkUks8fGTQXpdDZW1tCTh5wfMKom0U2SdGhbZcKLfbffGITuJQ==, tarball: file:projects/pod-analytics-collector.tgz} + resolution: {integrity: sha512-LhpQynPQpUHJzS8F1+88De25VS1XDM9rENMuE/odllbNqr1btFY2PfduQO3xa0SEMEA2s4vI3pQA8yy6GiMGwg==, tarball: file:projects/pod-analytics-collector.tgz} version: 0.0.0 '@rush-temp/pod-backup@file:projects/pod-backup.tgz': - resolution: {integrity: sha512-3QxHtYTwh/PaOFyBoR3nkz+kO0F4teF0Bdu/gW42ry3+FthLiVqZAadUwtN9nHDUhwksg7GhB1IFcJ+seEKvxA==, tarball: file:projects/pod-backup.tgz} + resolution: {integrity: sha512-dxcw4aEprMM+S04wUTS0eB62IOKJXrnDN44/Blw9K7r3VnAnwFHH/h3ntkN1Iu7uQnRYX6+4lnuRLHMC5cKCgg==, tarball: file:projects/pod-backup.tgz} version: 0.0.0 '@rush-temp/pod-billing@file:projects/pod-billing.tgz': - resolution: {integrity: sha512-+vNUoNj3TocnxiJW4Bh0pWvVH+bfzxjbtGYW75XH9K3zpW9u0PJ1BrydBlQoslY6KJpv7hAD+16zytmDCkrpTA==, tarball: file:projects/pod-billing.tgz} + resolution: {integrity: sha512-UJWC0Z1ofH8Y0GRZNCd+/TtESELfzCpVBZSzlNtKpb33SL6yUvpsXMoDbcYDJnuROawNLj2fIupITft4oO8QYA==, tarball: file:projects/pod-billing.tgz} version: 0.0.0 '@rush-temp/pod-calendar-mailer@file:projects/pod-calendar-mailer.tgz': - resolution: {integrity: sha512-Ua0JfNCnz8vQ8xou78+3YDmfIdo1AiHtIILGokb8UinmMNNmRom3e3GHXfeDNi+ksI+nZKLRQilhEOHdexjaDA==, tarball: file:projects/pod-calendar-mailer.tgz} + resolution: {integrity: sha512-fjkWBlsD9JCaJ2LOHeTTq2Z0k2u5++qFr5SsxFOnnzTKUfy/3ekDX2ApmA/u/xIGGPA42lLkY1rKKTMTET0x/w==, tarball: file:projects/pod-calendar-mailer.tgz} version: 0.0.0 '@rush-temp/pod-calendar@file:projects/pod-calendar.tgz': - resolution: {integrity: sha512-4YFUB1MJG6+cDaNcroiOa3rg7+CPnK26HWKsBsYWxWZm2rQDsLTwS7M9GJhSCZCN66rxW6Y9Ix7VgJ4bYqsjtg==, tarball: file:projects/pod-calendar.tgz} + resolution: {integrity: sha512-JvDb36GMJ9x7TR8Y5gZKM4xyrCi9K5jH5PJxJSbwnBOnGT3b1fuNX7jO22mitVznbXeRraAKsVN0cGWTxPfvgA==, tarball: file:projects/pod-calendar.tgz} version: 0.0.0 '@rush-temp/pod-collaborator@file:projects/pod-collaborator.tgz': - resolution: {integrity: sha512-xfSgqEqsn5SKSvHasLUt4EyZ5OyKp68QUjBkyNp4GY/udGIU7BMurFz7A9E36HjMW/0/8Nz2eAm9b/EgxthMQQ==, tarball: file:projects/pod-collaborator.tgz} + resolution: {integrity: sha512-aXRRQwBxrL7/D6j9R7kAtWnpZCMOlf1Z3VmNl/YcV4HBPQXQNPDXULPiL1nmdy6aT17jrKB56Bt6iUSDjgVvdw==, tarball: file:projects/pod-collaborator.tgz} version: 0.0.0 '@rush-temp/pod-datalake@file:projects/pod-datalake.tgz': - resolution: {integrity: sha512-GyldlpXf60skJYCDEd7asj0wmf3E9NlfXdWlclNEop2JN6YU+2AjIq4CvdZBZwsBs1awJ8ToMfdj73Sco+fyeg==, tarball: file:projects/pod-datalake.tgz} + resolution: {integrity: sha512-VcnH2a88wsY7fqPKojPjVHRSl0KzOkgZylxNbAz5lExRok3XPRlkzANDHhDacksF10weztK6ANNVYOJ4jGBwMQ==, tarball: file:projects/pod-datalake.tgz} version: 0.0.0 '@rush-temp/pod-export@file:projects/pod-export.tgz': - resolution: {integrity: sha512-W61IK+X5R2r5SS3h1UL6GynG7ABXOcW6dPGkmdrb4IAh7+zvYxVFaqTL1ORYK5zJUq+kyf8SRMGlzaA+v/4W2w==, tarball: file:projects/pod-export.tgz} + resolution: {integrity: sha512-sXjMcPA8EZRq6tl3ga85y2FtHBvNARPdMC0+gxS6VvcDp/+Cd3X21RRQlaMOKcOneVQ7b6gJKMkeu/tBgUemrg==, tarball: file:projects/pod-export.tgz} version: 0.0.0 '@rush-temp/pod-external@file:projects/pod-external.tgz': - resolution: {integrity: sha512-TszvCm1U2CsnvnmNGSqqvYhOsRwh0uSn0dQEFVcXwyP12xTzYsLT5+Zlf2BVIy8B6pH5G3L/pBMTkZyQDezvgg==, tarball: file:projects/pod-external.tgz} + resolution: {integrity: sha512-MApLxTY2+EHlluhgWxx8ezePSnzPSOr1LRX9fxDTl7Fir4aDav/XqhfknTvlI8WHuVId3rzJu8bVQEHr9tCfWg==, tarball: file:projects/pod-external.tgz} version: 0.0.0 '@rush-temp/pod-front@file:projects/pod-front.tgz': - resolution: {integrity: sha512-YsdWbazewr8FnTz/r1i7zfxYGBM+MF9QnSEUGLCo7hHdTnQZvWhhOvZJFnnZrDZTGSpPMtmMUKjEsYy6hI1LCg==, tarball: file:projects/pod-front.tgz} + resolution: {integrity: sha512-xT2M1tq89LSlhxpWxk+lf+aeoi39JzyA3gCL82+tZVw/1igsf8Ae7F04iR5z7H5maaizMOkiFLJBS3spu9YlIw==, tarball: file:projects/pod-front.tgz} version: 0.0.0 '@rush-temp/pod-fulltext@file:projects/pod-fulltext.tgz': - resolution: {integrity: sha512-hLGt4bN05CGfaQsuZw9FZz+y67pvY9nsjBDYtJaqAH+fS3bMAWyxghkRVXDA4nGQoh/UMcq6icaPmCEOIYOOFw==, tarball: file:projects/pod-fulltext.tgz} + resolution: {integrity: sha512-PaDUc5ySKFtqvmPZ3A1cmlPBi4mUtzI/+H5LLI8UQr0wLAm0pF+G4xmJ6AhDkV1FMQqE0cBwek80UlL44+nLsA==, tarball: file:projects/pod-fulltext.tgz} version: 0.0.0 '@rush-temp/pod-github@file:projects/pod-github.tgz': - resolution: {integrity: sha512-DqxTb6VsPgOGexJ8/pzo7kTZA5MV/P08TgRhQgZl+EU6YMFYlilTjOrw/RQiUsD7xrNFMBr6mJiwYtmlrqHI4w==, tarball: file:projects/pod-github.tgz} + resolution: {integrity: sha512-QQYagLgY558pIlXUJLk0QvAMD5DKKl2AfGR+p9UyunvtKlPq3lw9IlD8W0bNSAfG9+4iQGzdn1ULekGlvJ0RAQ==, tarball: file:projects/pod-github.tgz} version: 0.0.0 '@rush-temp/pod-gmail@file:projects/pod-gmail.tgz': - resolution: {integrity: sha512-W3oMsI168EAirl93mFRy/qu7XLGFeeI93PV7aTReGDD+GkDu9R4LjJLFAkfMUMpQA+KIqtNMyIpwhODmOmL8Ug==, tarball: file:projects/pod-gmail.tgz} + resolution: {integrity: sha512-ve/QxEEdCe6eHxUu9SeEv6uuFK/NAHiJ9UclxNShwJJ+Ui2SJq0U17I5CUmxzlSMqRnV3N4Y/r14GP0G47iXwg==, tarball: file:projects/pod-gmail.tgz} version: 0.0.0 '@rush-temp/pod-love@file:projects/pod-love.tgz': - resolution: {integrity: sha512-QyDzi3UTOoBvWGS1ZlPRoh7Z2wtveyg29QHiexC/eBwMP/berpjyT1ZRZCVenZGzEckaSgqi8J+ONtGnrbZsXg==, tarball: file:projects/pod-love.tgz} + resolution: {integrity: sha512-mVunkqLJmFWNKYEF18HPlrdD4RX94cmYym/5Zn8DRGJC+4l/nzZ9KaqtVR2FnZlHARBAT0rW/EqIrzegWQxmKg==, tarball: file:projects/pod-love.tgz} version: 0.0.0 '@rush-temp/pod-mail-worker@file:projects/pod-mail-worker.tgz': - resolution: {integrity: sha512-pAmn/fI3yZCOZjtQg+7RzayUJUvykF4bbHzDRI1o8JolZ+Wh+DcZMb5qnlo6AC2oXfA9J4onNPLTANyZ60AEtQ==, tarball: file:projects/pod-mail-worker.tgz} + resolution: {integrity: sha512-TG90ya7fkCWhjAAY1IMbO9lFbh34a79nyTq9A00EAKD9+bQxksuXsR0FNTzNI01PVwQDKu24Xol3F3zZG5y9hA==, tarball: file:projects/pod-mail-worker.tgz} version: 0.0.0 '@rush-temp/pod-mail@file:projects/pod-mail.tgz': - resolution: {integrity: sha512-zCxEHPeZn5t1DfJNzUspVY92AJfma2bRSF/Wl1RPtgjW8chSj4/bh6cidVaFLS/UhBie0BrUPKIjrofiUU5RbA==, tarball: file:projects/pod-mail.tgz} + resolution: {integrity: sha512-TDvO9kN32FbXtJYohjxf4B4zYBTtiDg9taTmyD9Mk/yYBEyW1shuvVgXqqeK11nbmYFrmy0kkrCoCWJjTeT01w==, tarball: file:projects/pod-mail.tgz} version: 0.0.0 '@rush-temp/pod-media@file:projects/pod-media.tgz': - resolution: {integrity: sha512-53oWL3o7btGcZio2ezQadNzQOQ3XjQ0Duzg5x0GZfk8h3wWgMp9F4T9R3arN3xsRFgFzbkbAaPTMkGgqu6V0sg==, tarball: file:projects/pod-media.tgz} + resolution: {integrity: sha512-SaxDDOJcYb0EiOMcHd+wJvv3pmp/wKc8CKagct24GBC5xFBBBrXxNmxfU0e6EnvZ/R7wz/B1zSNeqM1meKylSg==, tarball: file:projects/pod-media.tgz} version: 0.0.0 '@rush-temp/pod-notification@file:projects/pod-notification.tgz': - resolution: {integrity: sha512-ttkeWBu/a3F0/JI5+lKycEUln4aUuBwaBm1O3pGMDtkSq6rdhbeCa15v7PD6ER/d0gWp/Ll6YOf0y+2XkEoeJg==, tarball: file:projects/pod-notification.tgz} + resolution: {integrity: sha512-gkgRcuESZ0/a8jR3P1/Q9JidhSYa6fdlYY2ukNqtgLYTte+X4h6l0BYvNuqGMPmjHjKHpsnd46P6ac+R84b6Yg==, tarball: file:projects/pod-notification.tgz} version: 0.0.0 '@rush-temp/pod-preview@file:projects/pod-preview.tgz': - resolution: {integrity: sha512-x7xIxT5ASQ04ywu5koeBuPU9WhTvpar8ARid4E8QrNrFktOzNE6DsafR+8NJnuDarEL0Lb7oGs7gFcg/nAyhdQ==, tarball: file:projects/pod-preview.tgz} + resolution: {integrity: sha512-qayz38ZFKViA4Wy4rFrTaHp+K9lVfc/pxuaOm5ko2nL69NV+XEeYw/nH5kGjDR0NrZ1dDFYYhFH2cWFv9sPC5w==, tarball: file:projects/pod-preview.tgz} version: 0.0.0 '@rush-temp/pod-print@file:projects/pod-print.tgz': - resolution: {integrity: sha512-wbyHi4cB/sz9OTG1IyWNB3rdDrZDURx0mY1aPT/0qL3lQZNo6G5R20vIqvEyBXaZXSg2S2Ukh+EBrGBuSuhJBQ==, tarball: file:projects/pod-print.tgz} + resolution: {integrity: sha512-nDpqdGkz9lkSym3SIUSNnF1UWp2bwUi/S3sBIqEpsIVbP4cGFVurFsMbY4Zcz73vC6E9P03g0PgH4oYnXVAnUQ==, tarball: file:projects/pod-print.tgz} version: 0.0.0 '@rush-temp/pod-process@file:projects/pod-process.tgz': - resolution: {integrity: sha512-PV2Y0F6BIhzgmo8c47x/OtIoDdGxZOEEW1v2V4qNUBHoIrk0e/9J+scm8cfnRM/gRRGb4q+MBgZk7yNchRZgIQ==, tarball: file:projects/pod-process.tgz} + resolution: {integrity: sha512-LgH02gznBNxRvkrXXHcCKyj1l55vn/kAtobYaxbsoKc5yjObXG3XBi8SoB8riBD5cdHvGunGCbfBRrt7UG4uZQ==, tarball: file:projects/pod-process.tgz} version: 0.0.0 '@rush-temp/pod-rating@file:projects/pod-rating.tgz': - resolution: {integrity: sha512-cNNIpjxgOh7/NW7KMFAq0fPDJc4FN4TpfMglzoaTiPJGI5wubN6dfnfUVCXAHnu/Azi9iKrs/BwnzXZz0TdPVQ==, tarball: file:projects/pod-rating.tgz} + resolution: {integrity: sha512-PIhbvO9gHPZwJiH00rdmC2rINyz/FLOkh4Scm8+yWhzGzsLN7vKUiQfAX/oHltOKQyVluUQH2FUyjCNsFqfcuw==, tarball: file:projects/pod-rating.tgz} version: 0.0.0 '@rush-temp/pod-server@file:projects/pod-server.tgz': - resolution: {integrity: sha512-4hhEU/F/t2+X6+UDS6AsQ/iSEGHD7l4xsE4ppkbDBI68WxCp6MlWFKMiiiZGFnDTjVOdaCwRZuDCxosfTvSblg==, tarball: file:projects/pod-server.tgz} + resolution: {integrity: sha512-0iTZq0RazLtBs/poq/nIf8H/TV2aIn/8JVJO+xeKShxs0OcobatxMvfkssyYSbr805qFJtcTeTGiL0OsaHyp8Q==, tarball: file:projects/pod-server.tgz} version: 0.0.0 '@rush-temp/pod-sign@file:projects/pod-sign.tgz': - resolution: {integrity: sha512-nvrkaAwSHhkNfmzGaZlcrlZVowcLhir+eRJwSePWd/ggmJ380T86a+h9/qNFCoNKoZujNl0TbBH0A82cC8EzoA==, tarball: file:projects/pod-sign.tgz} + resolution: {integrity: sha512-MWd+RYdx21Mbw8zs7rfs76Xg055RP5QYGAAQhMPTsKSHZK5B1faNOcAsttZCOX5hwbnNAODOcKjDsIJ5obvT+w==, tarball: file:projects/pod-sign.tgz} version: 0.0.0 '@rush-temp/pod-stats@file:projects/pod-stats.tgz': - resolution: {integrity: sha512-bLo9WYfpohxJEzu26+qFPCoN58y7902Psb+aqSldOz5khaf2HAfxXX3WoSJMus3ClXDFD3Gopfzgzex461UkXQ==, tarball: file:projects/pod-stats.tgz} + resolution: {integrity: sha512-yOkXFYbUFVtSD/w/NQugN1b+90O9teAINJEieORlI6kelZytOyDx3j3YJCmf9h8gwHJz+Zs515/bjWmV+tyaeQ==, tarball: file:projects/pod-stats.tgz} version: 0.0.0 '@rush-temp/pod-telegram-bot@file:projects/pod-telegram-bot.tgz': - resolution: {integrity: sha512-AT89z1+hJDYuDqALcCjchrnR5sSqQ9e7OQEytx1SUga7QNzH0bHa2MDUpkr8yDoD7zt+j660O4jVD1GklZGhlQ==, tarball: file:projects/pod-telegram-bot.tgz} + resolution: {integrity: sha512-PVNvS/7rGkV7XLi9Cwwf9bqpVSERqGzvXtUUqpRIlN+BNxzGH7QfS9dw7oGz1up77DK7RzRqWOhE1ZWw35042A==, tarball: file:projects/pod-telegram-bot.tgz} version: 0.0.0 '@rush-temp/pod-telegram@file:projects/pod-telegram.tgz': - resolution: {integrity: sha512-sEhGoefGxVsm89JYDqmPzNZi/sb/9tVjnHzKcZv8z6v2xsmGv5luCJPW6svpfhnL9CAqj47Z9lJB2E7ZLTXx7A==, tarball: file:projects/pod-telegram.tgz} + resolution: {integrity: sha512-h5WL8sxrpNhcQSGXknHhiZh9FmuYdauHd7OMXPlpBPJcfBF3tt8FX7IixH0WCNoMCcG//wvc2FgNthHEZNVOyg==, tarball: file:projects/pod-telegram.tgz} version: 0.0.0 '@rush-temp/pod-translate@file:projects/pod-translate.tgz': - resolution: {integrity: sha512-LIEq/2kyD5MZSuV6awaFl60Wfh9/pdauC62SYega2OQEyHU97Ilj/cvxvtV1ZtXToaGflMciGR2IZoylXjDYgg==, tarball: file:projects/pod-translate.tgz} + resolution: {integrity: sha512-Bgzi0L1+P2tekSJKDul3zBM0ZrwCiE3tO8Iekxi4rd7fTMpYUMrReH3y9jMMDd/MJWTskF5xy/7tMUsMxFEcgw==, tarball: file:projects/pod-translate.tgz} version: 0.0.0 '@rush-temp/pod-worker@file:projects/pod-worker.tgz': - resolution: {integrity: sha512-EZuQ3XnvQXES/Ms8ulrkXMd7qL/rOFntV46qJY4PUTqnftWXmba/pi7K0Tp3AgxvauXU0W9/fC+6TKw2v0ttQQ==, tarball: file:projects/pod-worker.tgz} + resolution: {integrity: sha512-Nt3X8zUmR6ipuUxMI16utbehSsKAxhCgb0+GxyFJCf5xzAsTPrRd9HZShp5BSbggYO8CHlaUnP+ngYyA/3ohNw==, tarball: file:projects/pod-worker.tgz} version: 0.0.0 '@rush-temp/pod-workspace@file:projects/pod-workspace.tgz': - resolution: {integrity: sha512-0qAjWJDQGL1wicw5mo2YrlYhhDcN029x7/J1NiP/09FtAptQU2clw6O75am1f2oIQv4nrtiXa51Ut9HtktIL2A==, tarball: file:projects/pod-workspace.tgz} + resolution: {integrity: sha512-hj35GrjGbb03hbKExFa4G5TpRTAUdLLg24Dsc3eJC0RseONuo0yZY7w/RPpPPhdfYfFXOsy2HqNBG7gtw+cUow==, tarball: file:projects/pod-workspace.tgz} version: 0.0.0 '@rush-temp/preference-assets@file:projects/preference-assets.tgz': - resolution: {integrity: sha512-Cuv9WsOxp2XYJP0DOarBvsgkqmQwXeUut8eLYvNdHyFP2yqFq/jFKz2Ue+wS1OrqpCGOUjpYdWOiCu2d8t1EHQ==, tarball: file:projects/preference-assets.tgz} + resolution: {integrity: sha512-jZHyI17CUpWJbillai3p9zDGCrXrs/7EYepZPMxMBWoZRHsdSU12um/0zNQDdPU88uaHiGmTfvrvkgeo+xADtg==, tarball: file:projects/preference-assets.tgz} version: 0.0.0 '@rush-temp/preference@file:projects/preference.tgz': - resolution: {integrity: sha512-tb/ZKWXsnSAYJ9KdRxe3r++6ryK1a8+8AIFgTskjQupZlKwVSJuNkR7Qy0cnPkcxOXcKhzVpLLPzzM7crEiDXA==, tarball: file:projects/preference.tgz} + resolution: {integrity: sha512-MgFNYOeuox+rtyf9gtuRu64+qwCWbOQJpNwuJOHQlYuecC9v2XyrtayphtMAC4eM2JToKLLnyfAKm3yLkXxJlg==, tarball: file:projects/preference.tgz} version: 0.0.0 '@rush-temp/presence-resources@file:projects/presence-resources.tgz': - resolution: {integrity: sha512-Nui+3V53rAPUncN7LSu9ijJ+xMIL09hTVV7ZFp+LYdIWDtAJn0toA1VjcaFhr1j0lkba2PhJSaxx7OtuNWd7Yg==, tarball: file:projects/presence-resources.tgz} + resolution: {integrity: sha512-CuGMrY+6/k+sj2hbrnN54hHGdtxCKYgWoRzA2g3TyTNS/2UVv63b0rVOgP5Z2BINWD3F4npepE5+WIB/O0wV+w==, tarball: file:projects/presence-resources.tgz} version: 0.0.0 '@rush-temp/presence@file:projects/presence.tgz': - resolution: {integrity: sha512-VZ683ppYKNETotpm5Qk/HjpOnu2umfdUjyZ8G6dvIkic+ny0Lwyl8Rc4EpyntcojzuxqyajZoZGfkKI+Fu96WQ==, tarball: file:projects/presence.tgz} + resolution: {integrity: sha512-bgJBZHQWUPbu9NGNEbAoVJHJNEBC9eCiJJcBazql9NIWuCIPvsBPs6DBO/vKa03OD8Oiw4mUEJ6116H9vaM/UA==, tarball: file:projects/presence.tgz} version: 0.0.0 '@rush-temp/presentation@file:projects/presentation.tgz': - resolution: {integrity: sha512-9Er9MoexMKYRffK5ZmCj7PgSmUiU3lf2MJGfAIlZFukwLxFh78OKtDNiIHT9/sPQAbGGXUSHKFiotL8L6UPexw==, tarball: file:projects/presentation.tgz} + resolution: {integrity: sha512-7xhUkG3JI35L8b94ut9V7zR4SRXdYss96tx73lTCp2TGLoEni2NWWTeGgPsOCywyqzjcHjLTBk/CEisEil840Q==, tarball: file:projects/presentation.tgz} version: 0.0.0 '@rush-temp/print-assets@file:projects/print-assets.tgz': - resolution: {integrity: sha512-rALo0C3/ckCGBSGahcgD3YvMplyOvPEuuaxcAUkS2LBIfNJX8BL0Y+hvs5ptm09dJWeY6KvcXra/1Vw56Rkkdw==, tarball: file:projects/print-assets.tgz} + resolution: {integrity: sha512-vMIMM8okZTKr2jwW1MuhHOenRP6tPezA6xwItm3ebwm+Lvk7kLW0bIxwAdjoOrXWwPdhWnr0Y0fHTRITbIefOA==, tarball: file:projects/print-assets.tgz} version: 0.0.0 '@rush-temp/print-resources@file:projects/print-resources.tgz': - resolution: {integrity: sha512-7hJOAAcG1gxgX9iEgLMOHr7ICiHJAEv+OJm3/mdlGMNoAtJvhRrO+alxAU5HoJkm3DIjpF3V6LY4j+zlS/z1Hw==, tarball: file:projects/print-resources.tgz} + resolution: {integrity: sha512-C6Zb24pFuAiWJhBRqa2YjMOaq8qTxTRlPVvGNVcRlEGBvP5X0bPP+bQnIUIbh3FFmbJGnbAc3TbMSG2jGCMa5g==, tarball: file:projects/print-resources.tgz} version: 0.0.0 '@rush-temp/print@file:projects/print.tgz': - resolution: {integrity: sha512-g89qLmqSCPQ4C5c+uS08vrGQpMKW0RHVESD92XZW7N/4iXvtTwZ7ETxRHil4aADSlezSDdYf4h+c4/DE4EuBaw==, tarball: file:projects/print.tgz} + resolution: {integrity: sha512-xMjvCB2VLZ4n0HgVDi6/IBLyYD8V7ry6ozTz8HgOuH1YgRX4OwC9P7KYp7CWjgESmdBCs71N1OZ2h7TmFk9RBQ==, tarball: file:projects/print.tgz} version: 0.0.0 '@rush-temp/process-assets@file:projects/process-assets.tgz': - resolution: {integrity: sha512-0PNiGdeoMRrXcci2BQhP5jSMdoEIvAWELJIMI+yXoz/Hi/YVyGlGM6fzJ6ENtUd2yOqEjyIPz51kdXuMVO3Ynw==, tarball: file:projects/process-assets.tgz} + resolution: {integrity: sha512-BwJnNtGzA8VxJarCwHszaD2BmqcBZqoq1embTtw4KOcsNqoGG9D8az2sOvtwJYvw8q1p9+/Cnzoj5U6C2lLyiA==, tarball: file:projects/process-assets.tgz} version: 0.0.0 '@rush-temp/process-resources@file:projects/process-resources.tgz': - resolution: {integrity: sha512-uS6m4IzSFINUktwn5+sIpM8bYVUrjFwis+2moK0imxemLCW5RdGxZbeQgqm8ZMi0PRJYZoMtVTMlx1wz19rQFA==, tarball: file:projects/process-resources.tgz} + resolution: {integrity: sha512-sAyrHxk50B6qsrn6GIvoZlfN8XpDIhflkP52JHz7HZHJp3SkAGL89sYXlJ+jgETNHmGZT1ym9gZ8aGdK5QJN4g==, tarball: file:projects/process-resources.tgz} version: 0.0.0 '@rush-temp/process@file:projects/process.tgz': - resolution: {integrity: sha512-1PYa/Qcee+FMku9DT+3DrBwEjqZ7i5l8BBjKyKIKlC66m8323BOUvOfq3WBP8GOc190BUmXnKD5GXlwpnSbFsg==, tarball: file:projects/process.tgz} + resolution: {integrity: sha512-wXZyvwFG7lx6Sxl//bTycsEfO/c3cxK/SRhvks4Yv1rz60W4wyLVsPJ+xPESK1LSsmuXlABtdi2zvJnI3CSj8w==, tarball: file:projects/process.tgz} version: 0.0.0 '@rush-temp/prod@file:projects/prod.tgz': - resolution: {integrity: sha512-Dr5Ru86sKttYzVRonISzI9/RneTaTS/3nKtBi5hxAgvM2/6FLYkzscOr2S/d1N4qFLVicM2J55HlQ4H+oZbgEA==, tarball: file:projects/prod.tgz} + resolution: {integrity: sha512-tyjJncR/d6D0tZpEcHJo4yOZ3TArK2ONXAqgM7hJsRQp+FtjGrlfI7Ix384ygXCisL3Oe3bsqm/uP3SpVzTxVg==, tarball: file:projects/prod.tgz} version: 0.0.0 '@rush-temp/products-assets@file:projects/products-assets.tgz': - resolution: {integrity: sha512-ry6qHZNQ9gl86mmFUsOKC1Ed91OrlQXC1DimLU9wECuTzciGIbYf+XyW93fk37MdWQbXIZN6Q1gc2YuUZq+wcg==, tarball: file:projects/products-assets.tgz} + resolution: {integrity: sha512-jAVjofB4mgKnO+sAd06WN/mu4ZeIXrhJoDXIna5jobnKbmO55KYoRCVXjDqHnsoarDNlYBHF1sJvFb0jS+EVNQ==, tarball: file:projects/products-assets.tgz} version: 0.0.0 '@rush-temp/products-resources@file:projects/products-resources.tgz': - resolution: {integrity: sha512-54Ho5+7zPmTVlFbgVi0L3eD9QD1yjOPHIiPfM14AE/DrGPnJxfflP+pTqqu+2BgZd4a4m/hlSZgAh9GY9xDtYA==, tarball: file:projects/products-resources.tgz} + resolution: {integrity: sha512-6YnIGGztUNS8e8xMqpzrkMKuT5Se9PJzPM3b7E3sNCQIPT4R1q0aqDsKNCu4Ne1T2LrbIdg3fG+HT5ea+ndIiA==, tarball: file:projects/products-resources.tgz} version: 0.0.0 '@rush-temp/products@file:projects/products.tgz': - resolution: {integrity: sha512-Qk9u21+JD4MQYTEuQ0gpNIysZWIHJicWVBMyHMq7ExVKvSNB3Q1HJjCgmBWr8qQU0RL8r7nnV5nHeJBsNBqAIg==, tarball: file:projects/products.tgz} + resolution: {integrity: sha512-5d/yAdjzfWvHgoZl+3ib9+39te9LfKYmMJ65HYQ6WHpveaLlhRHhDoZAWza2d6FU1kyLMMQviswcT2o8IJbAGA==, tarball: file:projects/products.tgz} version: 0.0.0 '@rush-temp/qms-desktop@file:projects/qms-desktop.tgz': - resolution: {integrity: sha512-quQ+YvblpxsgsKSYxbCzYgHpdWdnUN1h2/21f+yg/QMFus1zFzW7JyHvZLfTiYrfJkS28WO04t/NzNwM0oDhrw==, tarball: file:projects/qms-desktop.tgz} + resolution: {integrity: sha512-QDqI3XvTJrJ4ZpsNcI+TVtcpgW81Z5DfmiLszEA6oHyixHcl2mOJmfQjECXwraOgn5x74Cd+yjOl/LxJ0FQWYQ==, tarball: file:projects/qms-desktop.tgz} version: 0.0.0 '@rush-temp/qms-doc-import-tool@file:projects/qms-doc-import-tool.tgz': - resolution: {integrity: sha512-ZVUemlwM0tXQ2tdZE8gGqwICVie42qeh7ivv/qd2PS8yyApPtP/l54MUrFnB+CrbjVebsGNEZKBK5fTI71Hmyg==, tarball: file:projects/qms-doc-import-tool.tgz} + resolution: {integrity: sha512-w7ykY/TNgRtdwXfcM0xdP6GEQdNH+4Rum9G72O6VGLQa3clss41QtWF/ZMK8fQ2XKHvUaerCYIhbS6gN32Bv0g==, tarball: file:projects/qms-doc-import-tool.tgz} version: 0.0.0 '@rush-temp/qms-tests-sanity@file:projects/qms-tests-sanity.tgz': - resolution: {integrity: sha512-ZyijvixWu5u+ZVDyvni6qtZhdJvIGzrYbb/JF0awecYBfS2DnlYBSYWila6KvXavdGsfTkum6/WnvXCJ1DIxOg==, tarball: file:projects/qms-tests-sanity.tgz} + resolution: {integrity: sha512-pSFrgOvwP0GvTroYbkYGyhrlQrMG5P4kvH/fcTKFgD4gn2p1UrhsUI24TsvHEmvdh2yGA922nkgwCcMYQoCFtw==, tarball: file:projects/qms-tests-sanity.tgz} version: 0.0.0 '@rush-temp/questions-assets@file:projects/questions-assets.tgz': - resolution: {integrity: sha512-DvuRcO5arDJIvKaKftbdOVH9Ag40TfFbarvjA43u40+G2HLUFmKZYN6xL/27kyvD3JRNOKtV13PhjLi9WQfSvA==, tarball: file:projects/questions-assets.tgz} + resolution: {integrity: sha512-ZPMB8hiSeeilMyUy4uOMx5V7U3it6wRjzFkxryE8TlmeDHW0TsjnXi1/TZiQxvgW65OFp5o8zLR4EECL/00C3Q==, tarball: file:projects/questions-assets.tgz} version: 0.0.0 '@rush-temp/questions-resources@file:projects/questions-resources.tgz': - resolution: {integrity: sha512-9KqtTGqcQ6BYgFOFvY9aVFB91k6PDIcrktjpBcRA7WQLw/X0bebhYcXnGddP/V7nwcKpMn8rK8xNsuBIdFHOgg==, tarball: file:projects/questions-resources.tgz} + resolution: {integrity: sha512-sCk+ZMsCHYQkcBDK5d1vWjYdGECb3r1ivDnVnbMowAFJs0D7FfUYwq6VgqCCTPvC8iBYcYwF0S5yA/L01WjNPQ==, tarball: file:projects/questions-resources.tgz} version: 0.0.0 '@rush-temp/questions@file:projects/questions.tgz': - resolution: {integrity: sha512-rw7USYNI3irzsTtsBQbN60aQKMTEvDrttHwmZevcZvqTzIIKwDh6hsriesgbDzmO9zaGdThhB9U1us7FYIfYyg==, tarball: file:projects/questions.tgz} + resolution: {integrity: sha512-E1oPML5bn4DoP1776DsMqfDUQxIY6yoCvAtu66w+ANX/syJHuOB18k/wUD8ySruIGnzeKZuLY+or2dLHlPD3Kw==, tarball: file:projects/questions.tgz} version: 0.0.0 '@rush-temp/rating-assets@file:projects/rating-assets.tgz': - resolution: {integrity: sha512-y1w1PgsjPxrQaqNSVWvS+xVi2riqBHD5P0oUclz1r6Wx61qWWAr34ZFlab05SLBGgzoKJQtwWm2feI4gRzq4SA==, tarball: file:projects/rating-assets.tgz} + resolution: {integrity: sha512-JPx+d6HGhWSBj3YoZMQKju4hw2BwRR3TedLzZn1MeQh2qVw+AOYSHqLrkcnMoa44YLERq22fRNQnj3XDSuweWQ==, tarball: file:projects/rating-assets.tgz} version: 0.0.0 '@rush-temp/rating-resources@file:projects/rating-resources.tgz': - resolution: {integrity: sha512-rmQ5JExmjsPqyQZxNzJyvAE2FfPj7EIGL/nJxlYXHOMrE37hM4qRE1C94ruCWvIk6fSrrWPCuV6DQbDxHozR5A==, tarball: file:projects/rating-resources.tgz} + resolution: {integrity: sha512-b3vz5vwNew/iiC1sEihXymY/W955jdOyIj5AsNo+9+dXQeyb/cPY6L5Nyexrt7I8t0qPOVPDiPX2IcUbREcafA==, tarball: file:projects/rating-resources.tgz} version: 0.0.0 '@rush-temp/rating@file:projects/rating.tgz': - resolution: {integrity: sha512-9AdSvOp0vFCayFxS3Xj1FxuS0c+JEKwa0dqfBELMcwj8JrkwsyY1ww3z1EVi8bR8pWbgx/Y270K+ARnRsq94hg==, tarball: file:projects/rating.tgz} + resolution: {integrity: sha512-mucPpQXTuRLuzMioDm//0aiKBnDirkj5QEfc/FjqEx2HJkkSVXWUmWccLWVohxdlOeN7JRfu7hbXwdQPPfulCw==, tarball: file:projects/rating.tgz} version: 0.0.0 '@rush-temp/recorder-assets@file:projects/recorder-assets.tgz': - resolution: {integrity: sha512-LHtdGrH8P56yAi1v+dhqDzDUp25Fvv90nwhAiBpt5VjcT2tl7bhXKfCb7OPo9AqhndC9zjQmSnkiTNZaAen9Zw==, tarball: file:projects/recorder-assets.tgz} + resolution: {integrity: sha512-YSXTu0o/0YiDQBgVuEaXbNvn4oeIx4hsrsOgoEjBy7AU7x119mZHqtLRDsqr4NouGQHpXl4m8h1UgUPkBmGGig==, tarball: file:projects/recorder-assets.tgz} version: 0.0.0 '@rush-temp/recorder-resources@file:projects/recorder-resources.tgz': - resolution: {integrity: sha512-UIKoM/+DFY7FSD+2QR1SCTxF+f3B7U9J5XCbirIb31q7OYS99F1YAM8p98A1A6T4hhjEIrWY3W7kpOizaJJgEw==, tarball: file:projects/recorder-resources.tgz} + resolution: {integrity: sha512-UK8UKvd5iQKg/5yCDI5pwKVJquvYBGmCyFA+ODoQsaTNm7FgSP1iyehZ1e2gAkAqssg1VssQIH+7hyDksJxKew==, tarball: file:projects/recorder-resources.tgz} version: 0.0.0 '@rush-temp/recorder@file:projects/recorder.tgz': - resolution: {integrity: sha512-x9UZMVF9qdzbDQFXxbWkBpa9vPVPbFgEmtKptWAJgiS1MeF5Z/XT1ufUwDXsVgmm80M8EJuMcPgSgjipeBpNTA==, tarball: file:projects/recorder.tgz} + resolution: {integrity: sha512-XjCsk9awFkc/eh9C7eIpmkr3VmDayak2I3U9jnUdw4D6YnjbX03nYWrjeVf9+lrO/VzwFopXHyeOkZ0v7mxG/w==, tarball: file:projects/recorder.tgz} version: 0.0.0 '@rush-temp/recruit-assets@file:projects/recruit-assets.tgz': - resolution: {integrity: sha512-9mKPcnTUy2+NoyM3coec7uX2qTFA/jQkUWGRIh3MU9PU2l2jfOEnVK9+DGaig7HHTBbvPNxs7SaiF9+3rAqRmg==, tarball: file:projects/recruit-assets.tgz} + resolution: {integrity: sha512-VOrhq+7PMdXo6P3W/dvehq0X4mC7gsfR6ItT0qN0Zw8LHNoSD/nqx5qMBg/DNAwpisiW6nNhTQXIV5PIMowb6g==, tarball: file:projects/recruit-assets.tgz} version: 0.0.0 '@rush-temp/recruit-resources@file:projects/recruit-resources.tgz': - resolution: {integrity: sha512-jOs5gQ4ZHtz+NYxxZVXjezZSWf7d0Ak79V+AB5Em2xB69lnOD3L5fJH4re8SRDCf4Y+ASOtpBBvkd8w4GFOSBQ==, tarball: file:projects/recruit-resources.tgz} + resolution: {integrity: sha512-nPrhYNuZSxI5qSr9acJe4WymOQ9JQaEldqfCEdDrvtEJkPN+iYh25U9xoPZnvIPEpF8BXM3sVZtQys38VUCX/A==, tarball: file:projects/recruit-resources.tgz} version: 0.0.0 '@rush-temp/recruit@file:projects/recruit.tgz': - resolution: {integrity: sha512-k26ZCXJ7pdVAwu8n8OAezR9aF9gOqxghgK+SenLV/JGV9DD26+wRY68xXFnSv2MBUAdQUbxa+r37NbrBr5xxSg==, tarball: file:projects/recruit.tgz} + resolution: {integrity: sha512-lmFeaP2VUdjhRvE96i+VYzIDO1y7DRxi9kHxRIOcL7FbCoJiTgYQ8YUzBL03gXDdl2VcICID9FNGUNao1dT7Ag==, tarball: file:projects/recruit.tgz} version: 0.0.0 '@rush-temp/rekoni-service@file:projects/rekoni-service.tgz': - resolution: {integrity: sha512-08x60XP0JkYWLipsb91jngYrWRpNxUoHvcIARP2OwsJrXgUt+DHmwpSmZGTzBDls94oz1QlQifeCF6fWE3I2Ng==, tarball: file:projects/rekoni-service.tgz} + resolution: {integrity: sha512-7DLS5knkgrY6RfFltR7K8xZgxUuivNjpHHHDAhA+mM4kqfI96X55fIyDU5Yt/obZmw/2nR5VI8qyjm0T+KNxMQ==, tarball: file:projects/rekoni-service.tgz} version: 0.0.0 '@rush-temp/rekoni@file:projects/rekoni.tgz': - resolution: {integrity: sha512-zgHb7CLptGyDFm+q8zfWz3pQfQiIeBF+O6XXclOgc49Tt/xtQccX2xXab9wXBxSO1q4jhIkp5jGO8svXRCgSkg==, tarball: file:projects/rekoni.tgz} + resolution: {integrity: sha512-kUIGqjBbrs4pKF1NIyWs1JKry/wjn3Vyxir07bF9pQd+XnDVlXtxL9Vd/QAKE9VxujytUF/oVSwVYMd+GlfBOg==, tarball: file:projects/rekoni.tgz} version: 0.0.0 '@rush-temp/request-assets@file:projects/request-assets.tgz': - resolution: {integrity: sha512-WjYF6nzs/+Saz6D12sjdFxIPBGE1pE2wn6wCqBiGc4t5NZRzfhxSpptp2OfEuPzzRGW8XwWoowahwc9/qzvZkg==, tarball: file:projects/request-assets.tgz} + resolution: {integrity: sha512-ypt44/WVSEt/7Db2yXBGv4AjFy96P53wh8eesTBncO3vYESRQQIZ++yB4L25XiE6Fo1qo/sJ6G3fFB1Wr0TAGw==, tarball: file:projects/request-assets.tgz} version: 0.0.0 '@rush-temp/request-resources@file:projects/request-resources.tgz': - resolution: {integrity: sha512-9Qoc5DhkT1zkQ7c9rIDfJMMiGXftj9DIz3NGAnVo+2mQ+JhJ0b/NUaKW7zvN34il0NKZ3PKJ9+2mtWWtMSEPoQ==, tarball: file:projects/request-resources.tgz} + resolution: {integrity: sha512-P8+sqrYSNlQRWqG0/2OBFiECOgTAjhnXItQBqkXZS+IqnZr3VwAhXaUu4yiU55JAYmu0610KNhi0258YQ5xnBg==, tarball: file:projects/request-resources.tgz} version: 0.0.0 '@rush-temp/request@file:projects/request.tgz': - resolution: {integrity: sha512-EtTzOyC01u5fZ1t8LmbOq/SBqd6wDMuebXrwvvK/IOyVXcOqbc3IDxag6xGGJVGzeFxzoZ++qeWDJjNz3UOxOQ==, tarball: file:projects/request.tgz} + resolution: {integrity: sha512-PXdDbUj2m59BglNL9RZjancmji/FVvFalCNNj4gy0HueGvASAbbWmdivoMkDW+hLuO03ub3OKnE/mpmIum58Mg==, tarball: file:projects/request.tgz} version: 0.0.0 '@rush-temp/scripts@file:projects/scripts.tgz': - resolution: {integrity: sha512-B+qKM4WpYwsC8qmYQcCvciBnwI9yaNw6mYzYyAtNYoR/vZaCXGrgXMttUm9OPAwnL/ogLAddwEtbHCpF6HgdKg==, tarball: file:projects/scripts.tgz} + resolution: {integrity: sha512-9lPXICxVhYO9ZvewnLAMQc37stk15edjlRMoZAu2RTtiEEEdV8ejUDtyyS6TgrGf6dkMLjVJVBCfZF1PULwPWA==, tarball: file:projects/scripts.tgz} version: 0.0.0 '@rush-temp/server-activity-resources@file:projects/server-activity-resources.tgz': - resolution: {integrity: sha512-E5jErW0X19ukQ7rPgjE5ZqlLEmb91kqta48iaDWKbJAhnUnoXqsoLDIsMQVBhzUb9XoT0oUuHgLnfrnSOlfKGg==, tarball: file:projects/server-activity-resources.tgz} + resolution: {integrity: sha512-0vq1jB4UPw32UnOHJ736LJ8KErshtIFTzAj3ph4NaQePGCAOjU6kRmOdGyOmRaGUny4k/CIhE4tNToUej4XXkw==, tarball: file:projects/server-activity-resources.tgz} version: 0.0.0 '@rush-temp/server-activity@file:projects/server-activity.tgz': - resolution: {integrity: sha512-ofUHRzxIYFvf5NExeqi4RmsfhPjdVCrQKBBU3T0/35SIz2545G71/sJMqkI3kEdbCEcYRMRL/1ZSbzsGjtRlHQ==, tarball: file:projects/server-activity.tgz} + resolution: {integrity: sha512-6RPcwa/3kmeTtA/sOHahzFVO/Cv+kXhKFexK8Ynwc8UsYj2YQMIIp2idxsX2FNBCCHPDwg6JPwhyc4dB2ooSQw==, tarball: file:projects/server-activity.tgz} version: 0.0.0 '@rush-temp/server-ai-bot-resources@file:projects/server-ai-bot-resources.tgz': - resolution: {integrity: sha512-wlxuZp2iJfcJIFhUo4tanfIqZhrHNoGcH+KcpmLw8TeSOmQHLUDpNgnIM8MhFX8iR8D/iEDFtnE5bb8I0Rajlg==, tarball: file:projects/server-ai-bot-resources.tgz} + resolution: {integrity: sha512-ubn/NJNkQDGTIfC+NDnhMHJoNyHTMMsyXEWTtUI9FWqkosYfYXGSSOrTX0OBS3xB3X5lI0VCc63kyZXXIF7o3w==, tarball: file:projects/server-ai-bot-resources.tgz} version: 0.0.0 '@rush-temp/server-ai-bot@file:projects/server-ai-bot.tgz': - resolution: {integrity: sha512-CxoAyuZiAfk9XdJ1oPaxXoIlcwjElVqBPYrB7FeOvi0QfKJmXybidPWDeQQybsgf0mtKyzzkP/6qI8r+BNeV8w==, tarball: file:projects/server-ai-bot.tgz} + resolution: {integrity: sha512-N8FZinSM5a04X0RmdMXcn7F4F6nyx489+8gRktJX7YyR16R7z0ouQdPqRbYRwMOY0lLxyp9yjU2TNnuUtvECCQ==, tarball: file:projects/server-ai-bot.tgz} version: 0.0.0 '@rush-temp/server-analytics-collector-resources@file:projects/server-analytics-collector-resources.tgz': - resolution: {integrity: sha512-Ewze6BAfrnt26Zuowo5AeO3BkxBe7cHiSFHmFW7TnM9ozOJJ7nEgmmlCR4cBTxY26cmOOm8OW3o2XUNOSSvukw==, tarball: file:projects/server-analytics-collector-resources.tgz} + resolution: {integrity: sha512-ow2uCQ4wlTaQukq6AdROYB6FUO2zdIOXFEO/00WuCdRk9xFWiI2UkIDFr6z9Rn48i5u+BWfgLT6SkyVbGIjJvA==, tarball: file:projects/server-analytics-collector-resources.tgz} version: 0.0.0 '@rush-temp/server-analytics-collector@file:projects/server-analytics-collector.tgz': - resolution: {integrity: sha512-fIoyPnlcN8DC9s04HSp+cukFu8gFr+0y4OYuyYK5f7SBFL6Mr/tTY+kPGAQbOW8apBeH59Zrej/Ipqvb9wgN2g==, tarball: file:projects/server-analytics-collector.tgz} + resolution: {integrity: sha512-T/hm/olYQYSk/DE4arptr8BnciorAAxnUqSIX9VWcCXtXzcXayc5Wb0IOQJirtUWsqtzCiBYj476o1rUBpN3Qg==, tarball: file:projects/server-analytics-collector.tgz} version: 0.0.0 '@rush-temp/server-attachment-resources@file:projects/server-attachment-resources.tgz': - resolution: {integrity: sha512-XoNex//thLAfokVS1BU8qGl+2zvdBAT2tYFJvSDjE1nU5I0fSh0Rrwyp8VnJ9DQdGDK85dw8Tj15Z8wuxRUstQ==, tarball: file:projects/server-attachment-resources.tgz} + resolution: {integrity: sha512-QHIXlQ9mO+AxCAYqylhwuJNoMGzx/sN37XDjCMoN/oa+fRRgS8vLuC45WKTK5OZJGkYMTH5YUe2mP9WynBphLw==, tarball: file:projects/server-attachment-resources.tgz} version: 0.0.0 '@rush-temp/server-attachment@file:projects/server-attachment.tgz': - resolution: {integrity: sha512-owWsLRjmcWngpuwA21JWSyUGIRA1Kv+tCttGowe93xCr38xohSK65MVRjy1by9UVYZ+DkF4nnJBfzM+Y3oyU0A==, tarball: file:projects/server-attachment.tgz} + resolution: {integrity: sha512-Pzf9R3OtMC3NS0HqCe0IrPoMCQgDUdI8DdmJTWTF8YLecU4RxkakRor/JvKVorbGvPPuSyk7VKP2EhYxI3zb4w==, tarball: file:projects/server-attachment.tgz} version: 0.0.0 '@rush-temp/server-backup@file:projects/server-backup.tgz': - resolution: {integrity: sha512-GXg+Qicir2LQraAc7kZ+YrxWPpEoLmplB6ym5lSsYoqcD9EsWiwaUeZdxY1HGpeN5NRZUgJUZDOPzhzmBNPvCg==, tarball: file:projects/server-backup.tgz} + resolution: {integrity: sha512-KBpqEiy6Wqy62NoBF6C6N4asCfl32CefT4OmE16veNK41qXSALBJONXT0OovNMGkULuQzLKCvtq5J4bJk7XglQ==, tarball: file:projects/server-backup.tgz} version: 0.0.0 '@rush-temp/server-calendar-resources@file:projects/server-calendar-resources.tgz': - resolution: {integrity: sha512-s8Ya82BcJnhgE4qDrktthxHEHo5+THKXyDXFBd6nzZvZxIs7pIf1JZjfz/zVtKi6HDZT6U0SDipDq2XU7FyPnQ==, tarball: file:projects/server-calendar-resources.tgz} + resolution: {integrity: sha512-OpAIfFOkVEV1e5KXKEQp+w8XYW4NluTcmuL9l1GRl/FD9+GEHsbdH0FsrCadZlCB03OD0JHmwIVqOh6c+eTtTg==, tarball: file:projects/server-calendar-resources.tgz} version: 0.0.0 '@rush-temp/server-calendar@file:projects/server-calendar.tgz': - resolution: {integrity: sha512-qQr9tSWkpnlfyL5lnuROj1LMmgodqomsOMqQT9OLPirMBhG0YuZa0YgFhyXwmsSHON0T/fNdRNuZxMzQxQXkow==, tarball: file:projects/server-calendar.tgz} + resolution: {integrity: sha512-8a5fzEbUPx6UUuajGzebXs3qsrFKmhkdel07jMpzt+KCRh6S7bNO7MqElqtMeC42bf9D4lacdk56CTGeqh7NLQ==, tarball: file:projects/server-calendar.tgz} version: 0.0.0 '@rush-temp/server-card-resources@file:projects/server-card-resources.tgz': - resolution: {integrity: sha512-muhdL7qOXJwkjvHMPwla5Td/isBpwEfTR7GwQ8CTvqZ7RbQErzhGjwJRMHEk0WzbT1WqqXLzPKCmRv/bBKMuMQ==, tarball: file:projects/server-card-resources.tgz} + resolution: {integrity: sha512-bZ+KktwBq0K0qxJWSQRGaau9NSTTfgicl7PTGeovEmi1zI2ChWCBI7zzPi3nKCZH5gGhVQmsm7VaLUGtCf913Q==, tarball: file:projects/server-card-resources.tgz} version: 0.0.0 '@rush-temp/server-card@file:projects/server-card.tgz': - resolution: {integrity: sha512-Q72AFi3vK+zFEZ4Rq2xlyBYcUKvXIVbvS6hE2A9sU2jLO+gfex7Y9M2WC/ZV0Cw5qYbcIwEaXgm65Zv9S4ZIzA==, tarball: file:projects/server-card.tgz} + resolution: {integrity: sha512-chyMlht0jWR3DtvEIvpG4y7Og0zP1hOS9dXGimE9uMbgrkzDrm9MdXm/pFwAYfs/jjEIno/CCF70PixYTUwc7A==, tarball: file:projects/server-card.tgz} version: 0.0.0 '@rush-temp/server-chunter-resources@file:projects/server-chunter-resources.tgz': - resolution: {integrity: sha512-J41SpIVltba1OPNkMg1oZtffn64Qs1Wpl9Hbr1SYEZT3v1Fl+rg7RX6Ie7JqHILmfMGPd3Cm4Gcr6AvcjBdIYQ==, tarball: file:projects/server-chunter-resources.tgz} + resolution: {integrity: sha512-SgqTJ9DItZPSUBatBMree1dDaVekKXUVt97rF4vJF6P2UQfZzRHJpRk9nnLcKdZ3wReXLZXg3Mp+0XrUZkho2A==, tarball: file:projects/server-chunter-resources.tgz} version: 0.0.0 '@rush-temp/server-chunter@file:projects/server-chunter.tgz': - resolution: {integrity: sha512-DmppjK3zILtBICNXCkkaLnGqj03lQAgBERygkuNHCMectiEiVCuCDuuOC9pT0pX04zR+EQfpwVA3NQFmZvfcPA==, tarball: file:projects/server-chunter.tgz} + resolution: {integrity: sha512-W1OfA+gUg+JTFEeOptO19xk/xp4+YxmdYD9FZGqjm3SPJVNzTqCiBBPuL4h9wQGURZoxKWVHwGVtEQ4b8zfHSg==, tarball: file:projects/server-chunter.tgz} version: 0.0.0 '@rush-temp/server-collaboration-resources@file:projects/server-collaboration-resources.tgz': - resolution: {integrity: sha512-j09Er+SwoTY8PJaaIGERdCXco5dFelrHnMwSuDC0d3tFgQSlzs+NKRIpTiS5qSQj68L5rnKKyyVuiyx0V2in9w==, tarball: file:projects/server-collaboration-resources.tgz} + resolution: {integrity: sha512-LmuogEXl+NT5MiIUVnm5tRXCiRjnCy1Ip52nTPu0Bpp8rs4qG+y+nuOUea2inPFlf+PtxLrVBUBKo4Tdw9SdUw==, tarball: file:projects/server-collaboration-resources.tgz} version: 0.0.0 '@rush-temp/server-collaboration@file:projects/server-collaboration.tgz': - resolution: {integrity: sha512-cBCPjqpZ93oD1ts93qhlm7OViJUtwSUUtjh9EWegD5835UbapOUIxcS7R/xILVKUv+4XvurnwEhv7fVNYIaS6w==, tarball: file:projects/server-collaboration.tgz} + resolution: {integrity: sha512-ZFBhkTcykham03eCP6A0WNP+JFm6OWtCIxPTWKDSvEBvb2yg2aq3tZNZfw3ePmY+51VXkWFc27mzpwdoBSPUtw==, tarball: file:projects/server-collaboration.tgz} version: 0.0.0 '@rush-temp/server-contact-resources@file:projects/server-contact-resources.tgz': - resolution: {integrity: sha512-xDQAcjpdKiJlQU+Evh6j23BKcasU33gvKQMmku4e1hq30a4d+FA6QF1XuDhoj0OcB6zcKZBxmkWEzUq/U0+6tg==, tarball: file:projects/server-contact-resources.tgz} + resolution: {integrity: sha512-wAm8c55Tdo5hk/sVsBM0M+L40lXLu2M4PX8h+dmI8vgYYcA4jSJOQjAnUdkQIkYtsZEjfydmZDJiR9/g9afQNw==, tarball: file:projects/server-contact-resources.tgz} version: 0.0.0 '@rush-temp/server-contact@file:projects/server-contact.tgz': - resolution: {integrity: sha512-ycC18quu+VszDizUJjph7HUiE8W40uTnSI7dDTvixvrjNqB9DQqLaV7yrPRP+zH2Qg4AJsJFQphBd14X6paQjA==, tarball: file:projects/server-contact.tgz} + resolution: {integrity: sha512-02io5PoQWAPKRwU87znwTPHgOTuBdMc/7qO4OyjOIkNhMj87jH147mPKVpauAWzg/4kcKfUwZUOCuVPxVGPdMA==, tarball: file:projects/server-contact.tgz} version: 0.0.0 '@rush-temp/server-controlled-documents-resources@file:projects/server-controlled-documents-resources.tgz': - resolution: {integrity: sha512-J/+tfHPTmPRCP3N0Bs/oFabHfP39vYAZkZNLsOeTwMgCSC/PSqVsiS1qMxtEzZm30SOeLsQnqtQkxkNP92J86Q==, tarball: file:projects/server-controlled-documents-resources.tgz} + resolution: {integrity: sha512-l+C8vzYQs1ESmtRbaEim7qmS07CY4avWCWHMRrO+Yo1MtMe4uf7wLDWTA2mWvJ2MeUGAu6lXahet24W3wLVVBg==, tarball: file:projects/server-controlled-documents-resources.tgz} version: 0.0.0 '@rush-temp/server-controlled-documents@file:projects/server-controlled-documents.tgz': - resolution: {integrity: sha512-eW9iJo4B1818C13PED8GXjptz9WbLcBlCU+7bMukt5fkcqZRY2xT58WxfvlBuvVg4LIryavb+C7RnpxuQfOUQA==, tarball: file:projects/server-controlled-documents.tgz} + resolution: {integrity: sha512-WOzlkPxBFPvDhNSbNOcgG2BWrvi7eNyvtnhePjI3k/2Xj6y16R1/abwKpq9U3oKj28APjI/Nzf/ysQFI634HWw==, tarball: file:projects/server-controlled-documents.tgz} version: 0.0.0 '@rush-temp/server-document-resources@file:projects/server-document-resources.tgz': - resolution: {integrity: sha512-7iUvCATWdN35U3Y26dlNeKD6GTOiXX27ysB1da8JyPBrcoCiiwxAfekvJ7jrOLItlwtMLkGAcGtE6lgf4Vwluw==, tarball: file:projects/server-document-resources.tgz} + resolution: {integrity: sha512-fHJI4XfJxPfD8TVqXyMtbHXNLUbgBVFNrfUTcs+QvA3DlVHSS/xU/2EqD1oQUXKxmfC6LUcGfx9u7LmLifGu5w==, tarball: file:projects/server-document-resources.tgz} version: 0.0.0 '@rush-temp/server-document@file:projects/server-document.tgz': - resolution: {integrity: sha512-0nJnRxz5mOehmlk4JyELWZvoPz/IBQqy7kJ/GFDwUBsyTQqOlaJmxr5lVWBEkpYUlfOrrTAjsoCTC0Kkq/r57Q==, tarball: file:projects/server-document.tgz} + resolution: {integrity: sha512-RnCPHTU2RVr4k4m3UUrAs/6WSdi3rIcAJ6KcWGO2Bl2oWHXr6eAMqBwvGYumvQ8dAcf4hy4P5xv7FDZnGeQw/Q==, tarball: file:projects/server-document.tgz} version: 0.0.0 '@rush-temp/server-drive-resources@file:projects/server-drive-resources.tgz': - resolution: {integrity: sha512-54fG7W8X+jDMhxxBZblZygVKuGU7YtTn7tvQ7XCPLS2L8E/re5Hj70RK1nthakU/ms9p9ft7c1ryrvNjow4NoA==, tarball: file:projects/server-drive-resources.tgz} + resolution: {integrity: sha512-r/F32VFg+fMvkRTZQx9QpqzbmbVIczoBhtk3+0ASPFp4H7YUxNMJ/hbd5nWoxmjJatrMWH6p7zK0sP9NLCagwg==, tarball: file:projects/server-drive-resources.tgz} version: 0.0.0 '@rush-temp/server-drive@file:projects/server-drive.tgz': - resolution: {integrity: sha512-l8mH3ve64a/2E9xMEmX5AqvTcjyDyxB0ajZk5uHuezVUqVoZ6CqZzxIfe8ripkFnoEBv03gK4RcrfJ5mTL1Abg==, tarball: file:projects/server-drive.tgz} + resolution: {integrity: sha512-RxwC+k6IJR1RtLCWEoze5U5ohs06fLf0fLexIsbLK+didLKlTrVFLvp9SO8qd2FshzkPK/tKzzEXbJIV4pu/IA==, tarball: file:projects/server-drive.tgz} version: 0.0.0 '@rush-temp/server-github-model@file:projects/server-github-model.tgz': - resolution: {integrity: sha512-L0aCrnwO76DwN3M1hJ2WS6AMVW/I6inhhJcXt/92LRD/9iOB//JAM+LXNF4w5GeywWDd9gzDjDx9JDiTQ4+QEg==, tarball: file:projects/server-github-model.tgz} + resolution: {integrity: sha512-jYbFr59DwjUbRfxD1bbVVXGpS3bfk0GV60iOrzmCxVkovHj0GjcSyC2BiQarqtDe0l8mydUJ00jFBBvklsXMmg==, tarball: file:projects/server-github-model.tgz} version: 0.0.0 '@rush-temp/server-github-resources@file:projects/server-github-resources.tgz': - resolution: {integrity: sha512-00V3E8KXRybyxNLNOlvskD5fiGBbVToslyaV9Az0nUxRMbxSfQB05+MDEzVaOAf05lDlWpAvOwtes+zR4ZKXRw==, tarball: file:projects/server-github-resources.tgz} + resolution: {integrity: sha512-4T9kKTlyeXF5QT3s3vLabmTszk3G3M17TJqK3lw0c3XVriHVU0CDfWfDhXVoSo0cxu7LUbl/yBQchsB8ST5fxA==, tarball: file:projects/server-github-resources.tgz} version: 0.0.0 '@rush-temp/server-github@file:projects/server-github.tgz': - resolution: {integrity: sha512-lwqS9g0GjmjcU0PzRSw/tAsco3XRB++QQ93V/595QlRgdZlciLP9Qa8FdAjC/8TJ1OMixroXne7zC1Bkq1LTWQ==, tarball: file:projects/server-github.tgz} + resolution: {integrity: sha512-2WW1tG+XTZzhwCqg+XuYhJ/u70kUfSNHBHy5k1Yfq52UZjUGNc4o5Ubzo2VwYn3AwLP5AmUfhGH1lAxhOeE0cw==, tarball: file:projects/server-github.tgz} version: 0.0.0 '@rush-temp/server-gmail-resources@file:projects/server-gmail-resources.tgz': - resolution: {integrity: sha512-jmyJGWJA5Y5azECj9NuqP4EUi5ZPPCjtUIsZ5cOFkXaatLwj1rIoQQb/9mcMO3RxgOMF8BXHFELJyB2R8oyuug==, tarball: file:projects/server-gmail-resources.tgz} + resolution: {integrity: sha512-z4WX2GD2G18K/QRLXeLTZqfFcqbtL/Ecycc6MQWJZJyTzG9mn0rDVDFJyeFekUXRHX81YB+N0UJ1bw09bXQ9uA==, tarball: file:projects/server-gmail-resources.tgz} version: 0.0.0 '@rush-temp/server-gmail@file:projects/server-gmail.tgz': - resolution: {integrity: sha512-TE15t5YeskyYQqSnAPIvWQh84Xz7W7g1K6N1pTWXLICiZYg8VtQAiEzVgwXU0hHQwYTGRZvnZ+jG9Qx6bGa8Tw==, tarball: file:projects/server-gmail.tgz} + resolution: {integrity: sha512-/bD/uQeS/Pg/euZTp7Bde5tcPeLhEsTK2QvAb6NHEyowwqnx007PKUa8e0VZvzl/f4nEp1yw6tuMuz6RUEgANA==, tarball: file:projects/server-gmail.tgz} version: 0.0.0 '@rush-temp/server-guest-resources@file:projects/server-guest-resources.tgz': - resolution: {integrity: sha512-ECqlCVey2EZKlUSqxT6Hv3wF9k1RCk8TX0i9RN+ssZqUuEyyGeBtU4A8jHN9DEIf09MUlmjnYhTTr8jYI4klKQ==, tarball: file:projects/server-guest-resources.tgz} + resolution: {integrity: sha512-Gk/vrnbgc83xcOG4ieOtj8EHEH66jp66B66WQZ/BtxbimW9dZTQE6Yw3HdZ9C4GTF1JTWFVKk0ZotNxdIOBTZA==, tarball: file:projects/server-guest-resources.tgz} version: 0.0.0 '@rush-temp/server-guest@file:projects/server-guest.tgz': - resolution: {integrity: sha512-gfAuEifDey2goTOqHLVFVAqHQa+vcYekUUQzbbWDCJB1DK0Xco5xTOtzf9vEcsdRjqVxGdc7zEqup7wdfInBoA==, tarball: file:projects/server-guest.tgz} + resolution: {integrity: sha512-FOsAk8gk0STit549nZBSOkmz5qf1LD0/wtz4sXrRcs4I7hO1UWlcR00q+G8Ltgv1VmIcpOBer/muFHU2XU4psw==, tarball: file:projects/server-guest.tgz} version: 0.0.0 '@rush-temp/server-hr-resources@file:projects/server-hr-resources.tgz': - resolution: {integrity: sha512-s88FhUj/IgzlmpqFjZtt/zIAFSIhsSnIBPdDeIfF/jWOa/PepyYr0ePTm/7iX2FkqPmMnE4ZAnCaDlLY33h3yQ==, tarball: file:projects/server-hr-resources.tgz} + resolution: {integrity: sha512-ZdktpLSsvuSn1gAu58NkvNQILJv1VclCSensfIOJokWMaKCdMNs0luJBHByePm2eV25x51j/TioK6YtApso52Q==, tarball: file:projects/server-hr-resources.tgz} version: 0.0.0 '@rush-temp/server-hr@file:projects/server-hr.tgz': - resolution: {integrity: sha512-KURYUfq6FE3zg0Wy0xe6n7F7/apOa0w1UEFnP+Vhc5iy/rt3WNKDq1w9rLOHNvbcHdvFv6VxXKMQ6eCemg7Peg==, tarball: file:projects/server-hr.tgz} + resolution: {integrity: sha512-x7MkB6SXs72xLBhEtDyvS7MBswUHFOA/MGx28ht0S8Z8eBn7soSSJagupoWA0FW17pJIdDPOmn4KHRCw0z4zHw==, tarball: file:projects/server-hr.tgz} version: 0.0.0 '@rush-temp/server-indexer@file:projects/server-indexer.tgz': - resolution: {integrity: sha512-0yX/IuyRgQOmcjTKPnLQmSdwBxKcbtrL2FUmfcQ2/KrTqpDXaeFofuYSXrLDCYEwPuVcHoAq6aR/ifHJLtzF0Q==, tarball: file:projects/server-indexer.tgz} + resolution: {integrity: sha512-ahtPq3JWUdALcOOT/mt/x+LgCNc/g/XTMdNgqZkNiasJ9UlXG6wbm/I8CR4ysrUbI8D1TytuM6XcqCm7KXOa0Q==, tarball: file:projects/server-indexer.tgz} version: 0.0.0 '@rush-temp/server-inventory-resources@file:projects/server-inventory-resources.tgz': - resolution: {integrity: sha512-Ly5Caj/SaEf0XBPSpQEqN0WXpRG4CDCL1Yc5K/wsDTxjdwee2FcZhFhGzopI5TM7vIb1+lBqp2EAfssVMRvVHQ==, tarball: file:projects/server-inventory-resources.tgz} + resolution: {integrity: sha512-dQY6ffP/O69HhehZWLJOZKOc3q+Huf9hGGEFZkKJIJY5ZEL4fw8s4j6XBfxCPacz3S6NzCcLUTGALBAh8Jc9AA==, tarball: file:projects/server-inventory-resources.tgz} version: 0.0.0 '@rush-temp/server-inventory@file:projects/server-inventory.tgz': - resolution: {integrity: sha512-P90jn4c8QW5XV8U2CXY/9bW5dVVIgeMC58KDCem4rCBuN5CG+WMPB0PB8mlXENRGTpbyPaUnjmHcbDAcToq8ug==, tarball: file:projects/server-inventory.tgz} + resolution: {integrity: sha512-sUg/Bp9ffZrwoY11kxfP2MP6qS64144fCzYk21V8qWhZUEcj1RNkSyieENtuUmVPtQ1uu5+w2nYBRO2LEKYSFA==, tarball: file:projects/server-inventory.tgz} version: 0.0.0 '@rush-temp/server-lead-resources@file:projects/server-lead-resources.tgz': - resolution: {integrity: sha512-/hwq45SIUtoXoegbdTo+rli5iZcXrRaa2vAKtNbvjBmqj9BYDYJDWupPYbLIACTV/5bbgqi0IVUm8qZgF6zHLA==, tarball: file:projects/server-lead-resources.tgz} + resolution: {integrity: sha512-c8EcvgZCOX8nyny8v5x6RWpj3NFkA/a6ssI/Zb3usftJqCoevhS7+K/IGV593Wmaxmd8M+pK7UWF26N0pe2scw==, tarball: file:projects/server-lead-resources.tgz} version: 0.0.0 '@rush-temp/server-lead@file:projects/server-lead.tgz': - resolution: {integrity: sha512-XpLsGcRV55TUWvnjUB/RT+jyQ/nt5jjnIf1ANjUGUO2EpOWAAKuNe+iUZexZTJinzC5m274C8bWC36tRBwl7zw==, tarball: file:projects/server-lead.tgz} + resolution: {integrity: sha512-CMozRLqLwhrtb+/EKIXHGTGusD++SMGiqObYw4yjVWk4m5N0//E/BaZHY8i2TRfxFLcbQZ2jNHQxUoKPyA5oyQ==, tarball: file:projects/server-lead.tgz} version: 0.0.0 '@rush-temp/server-love-resources@file:projects/server-love-resources.tgz': - resolution: {integrity: sha512-aKGsUFzjDwP6ykCOpYkQzQjHLh99p77aKpLkWB+NIBTo38mV/Q5dlg1VL+wvZX8IqvzPEzf7r22xSJyIfxgRhQ==, tarball: file:projects/server-love-resources.tgz} + resolution: {integrity: sha512-gnSMQNXGpPTAcmAw+KcuqFJttJ17bOVbPQ88hc9G7xoEfBiKTueiRAp4C6uMq4K4TjmCng4tXbW2Ui7XZEjNyw==, tarball: file:projects/server-love-resources.tgz} version: 0.0.0 '@rush-temp/server-love@file:projects/server-love.tgz': - resolution: {integrity: sha512-iPHWgfx0DY/flWSd8FqKPgaFVWGyU2MX8/WDprKkx7zn4i5zQfk7x8uqt069cqQoLHJTDYb/g38IOdUZD8YxxQ==, tarball: file:projects/server-love.tgz} + resolution: {integrity: sha512-UNWLz77BbgxceZBPXdAb9j+0KNWcQQh3mldfJJ/oPTVxhtYBfAI6KHNMdtXXAhBYLQdlbYlPuoiTlN/8f39JPA==, tarball: file:projects/server-love.tgz} version: 0.0.0 '@rush-temp/server-notification-resources@file:projects/server-notification-resources.tgz': - resolution: {integrity: sha512-ujHWQlEhpKdV+dDvbNvaP8+5igoewBEhyyEJabz/AR4WjBV+YLTkIb2Nt2TpbPYPWp2rTrKw4K/bImkHGkZk+A==, tarball: file:projects/server-notification-resources.tgz} + resolution: {integrity: sha512-IIfXITBJ+VMf5lcMdRl9asqhGG9epqBLN7SpCemAAScA4tQBjwjGqja+Z0Lf0G4MJXqH8wZ7rINXRGAY6/PAfA==, tarball: file:projects/server-notification-resources.tgz} version: 0.0.0 '@rush-temp/server-notification@file:projects/server-notification.tgz': - resolution: {integrity: sha512-nKKvEw2T3s8vCN+ZOijlOd6L5YQxwdnnSz5rw9ExlFV77R2690grhAQqT4MpfQsnuGR0P5X5cs8E+267p3tHSw==, tarball: file:projects/server-notification.tgz} + resolution: {integrity: sha512-2qYBBCY8HEc6Z0f1NwS1rJQlPZqHrq/Lzwu503BnO5+HJxniDpHaQiInQLOIPJv4hCd0Iu2K03wij3tdd4WoZA==, tarball: file:projects/server-notification.tgz} version: 0.0.0 '@rush-temp/server-pipeline@file:projects/server-pipeline.tgz': - resolution: {integrity: sha512-7JhDu6lxJ0LKeOiWNKMO9K8PmR4xbsOTRhVfHGw5YJ/xGM8Xs3qvd/qgW/AeBat6KF/9FJaVQzjUcOnt857few==, tarball: file:projects/server-pipeline.tgz} + resolution: {integrity: sha512-oBWfjiG4bFpxJxL1CCj2NJne0ZmH5OPuig7I4hbiqrsYDCIP/q6eEph61U+jLZ9mw14JXWQThodn3OxsAPKFNQ==, tarball: file:projects/server-pipeline.tgz} version: 0.0.0 '@rush-temp/server-preference@file:projects/server-preference.tgz': - resolution: {integrity: sha512-HHcGR7U23qh5Khwj9I8mMF5p2Jxj6zedWQpw8K1AGY7I+XtGzUPncG1cpypPXeUb3jRd2nt/8xwHPXaaRvHMFg==, tarball: file:projects/server-preference.tgz} + resolution: {integrity: sha512-c7M2Z+RLaKN3OWDlcKpIEo7Mnl1gyGHiOIQlvMK3/C7JpuyZc9IeBU0MqYjGqQK2ZPtk8Sl1JwtohUe4J+dIrg==, tarball: file:projects/server-preference.tgz} version: 0.0.0 '@rush-temp/server-process-resources@file:projects/server-process-resources.tgz': - resolution: {integrity: sha512-SwOCttKmrtxQVxVukwiKv6sXPMxtnF0MEtZ+SM5xOATNrlCPT4bw6KDmFVbxmy0qgMSXrE3LvOCznz1ygbmQMQ==, tarball: file:projects/server-process-resources.tgz} + resolution: {integrity: sha512-80t8wsOXWkW8Xd56AcnnkCf1mtQnfl/4efBEJ6PU10v0TzGFqjs/0PFfdEd9dvhUPKofUY4lg412Pcsmm9n6LA==, tarball: file:projects/server-process-resources.tgz} version: 0.0.0 '@rush-temp/server-process@file:projects/server-process.tgz': - resolution: {integrity: sha512-Hu3ad1ewUR4672pnRRN5MfkgmugDbUXl+fJM0Q0kkGS4tGqt4i0I7jEoGyO2V9lM++HoEvq+3m6Y+Wa4EybHqg==, tarball: file:projects/server-process.tgz} + resolution: {integrity: sha512-a149IoNWrZoC5iS1X3e8zOSTAe9Ib+RdpizCn3HSoQGrouCQdNrQP+NRpIZtfD4z4S+flCf2c/SavbZ7WMElHw==, tarball: file:projects/server-process.tgz} version: 0.0.0 '@rush-temp/server-rating@file:projects/server-rating.tgz': - resolution: {integrity: sha512-MVaOq273O4YfOKmFmdZUwiodKMjxSAMFMkm9i6ph84J3VBdLXIEWu5T1S91rSV+ecRgOM4A5aGDkSZbPgw247g==, tarball: file:projects/server-rating.tgz} + resolution: {integrity: sha512-hD79xpPVSOofJIcHrpN4LJVKeuzNWe5GhYIAN4aFb25bKYg4evtMF82NQ+LTJ0DklSzToLxF5MZnFabylamLsA==, tarball: file:projects/server-rating.tgz} version: 0.0.0 '@rush-temp/server-recruit-resources@file:projects/server-recruit-resources.tgz': - resolution: {integrity: sha512-9yT1+vz1CiLpsmTmCEuvRC6kWgUvdzO9iuBbpXMgsiJ+gRukrgn8nzHrFyDT/4xMbuG7J0jeMq9AQXguxkl+Pg==, tarball: file:projects/server-recruit-resources.tgz} + resolution: {integrity: sha512-inXCorPX8f9IP6QrAXM+KIX+ycM/jVcAdgLToXO0oQJO1qJzxDGFHRG7G+Yt8gWvWaOrPmFcog/9YaapCGrCVw==, tarball: file:projects/server-recruit-resources.tgz} version: 0.0.0 '@rush-temp/server-recruit@file:projects/server-recruit.tgz': - resolution: {integrity: sha512-lyNnVqRZUb/4Q6iQyBQHvAKw6YsrOIH9S43NkEcrYNrUaeykQiqi/bQ4noyqZi9sn5OCq7oXb8Ffn93h3D/cjA==, tarball: file:projects/server-recruit.tgz} + resolution: {integrity: sha512-nWOp04Vi/ICWuKvkequzsEazZ9uNNLC+tq+/Y527C8nnh9dqyTCOZdfVH2q/f11L+K6Izd+j2n2vvnpk7dCXmg==, tarball: file:projects/server-recruit.tgz} version: 0.0.0 '@rush-temp/server-request-resources@file:projects/server-request-resources.tgz': - resolution: {integrity: sha512-tT1kaQDQYvIJPDfuB0ttia93oqLeZ+Fr0XmNPFfZLPx0QkB9JqJMEbrWMP+8OWcg8oMvwWlxxXQI7x5IbKTs+A==, tarball: file:projects/server-request-resources.tgz} + resolution: {integrity: sha512-5SeS7McOHmeJ53T/VUYOHYzmzCloDXH9D6pizow/Tt5b+L3DVlyY9TBJozcFfOp7lI1RIgXPFpk5d1UbOiTE2A==, tarball: file:projects/server-request-resources.tgz} version: 0.0.0 '@rush-temp/server-request@file:projects/server-request.tgz': - resolution: {integrity: sha512-x5zDrGbtUi8t0eh1UW92jtRy9zplt0hCCmGF/78NH24UobWpi/NADrfcHVxWOpK+8ADjqp2UGvpDFsDroS/vtw==, tarball: file:projects/server-request.tgz} + resolution: {integrity: sha512-Ev8uF4nNsoo6/Kf80aWBAL5X88ZV0yU71EGhYRWUiO7seb/fxAtgc7SABdFyuj/SRUX853FTK5yv7xrknXeV8A==, tarball: file:projects/server-request.tgz} version: 0.0.0 '@rush-temp/server-setting-resources@file:projects/server-setting-resources.tgz': - resolution: {integrity: sha512-0Rxk2fQb4NvPhj8sVvEGuUonr39trsknWYMDephGPDKZNyFhcYhq2JVjN8qDrhavwMSBzK62VHjsTG6IjRPgrQ==, tarball: file:projects/server-setting-resources.tgz} + resolution: {integrity: sha512-pbon9jV5Em21WqI05Axvl+h5dkJboGbE968Ctp1Nqbi05CGwGYtxTAc/Bc8V29G74m1DVgPou6LGjmBx4JfFDg==, tarball: file:projects/server-setting-resources.tgz} version: 0.0.0 '@rush-temp/server-setting@file:projects/server-setting.tgz': - resolution: {integrity: sha512-zQSPvGPPI5992IH4MInEDjTyQw01vQGITcj3+mUXxmsazDS8IQQKqOZF/uTPLCVO844E3PzZuxJFg3gkKSiovw==, tarball: file:projects/server-setting.tgz} + resolution: {integrity: sha512-k3QbDKsKyKBYpblgibc7sssQCN50B6c//MDOZjl7USIiAXhNggVKlzxtIzXjMdVIZs6KO1GtEGIoAjnPtLA/VA==, tarball: file:projects/server-setting.tgz} version: 0.0.0 '@rush-temp/server-tags-resources@file:projects/server-tags-resources.tgz': - resolution: {integrity: sha512-E+lxibpkODCwmbphY8ABF7Sg8amp0xVthgz2S1UISBe62Fs6PuviMzLBF4EoBxaHOW7pCR2iQL8mrtY/Jg9Mvg==, tarball: file:projects/server-tags-resources.tgz} + resolution: {integrity: sha512-RSwN5c3LFTtAURvu1cVv/yP8JCTO97dazF77YPW3cfQGzA6Fsma040WdCcuM1MRbh/rSDip3mF2KCGHkhMaANA==, tarball: file:projects/server-tags-resources.tgz} version: 0.0.0 '@rush-temp/server-tags@file:projects/server-tags.tgz': - resolution: {integrity: sha512-eQmi8zzQ27sUxDs+iHcLYks7b82+3c8nshbKA7ILb2GnRN6s1nlX2ARsiduAUE38kDjeWvm5hXPdqPO7LxXKtA==, tarball: file:projects/server-tags.tgz} + resolution: {integrity: sha512-Eq/dnX6b8KKdnHHuppzowSMByQFsj5dCZnmtE/7qV05LyW6bVbxqGbSlGQq1XrcTaC6CNSGlDsPOUO9tI8NcSg==, tarball: file:projects/server-tags.tgz} version: 0.0.0 '@rush-temp/server-task-resources@file:projects/server-task-resources.tgz': - resolution: {integrity: sha512-V/07mkPXlNeIBZoPeb/lOHMJUYsG2Z0CgvvrHs9GgtljDUn8f293Z2oATHHW/S1k9oEfRE5WHSR0JTi3W3muNg==, tarball: file:projects/server-task-resources.tgz} + resolution: {integrity: sha512-3sDpiY8NM8fNlqXSM2aUonQGQMMjnsrPzSf7MPNmgGCRjsu1pSn0Fjl5FerjCTa8MplTE5KqOu8clzMtLnKzSQ==, tarball: file:projects/server-task-resources.tgz} version: 0.0.0 '@rush-temp/server-task@file:projects/server-task.tgz': - resolution: {integrity: sha512-GRy0sBjLbX1VoimEtVSTqP0naG6JzRy8C0inq5hZUsRvHM5VDHUVcq3qeZ/tU2tEizLt/M2O/jneV7GnLCogZA==, tarball: file:projects/server-task.tgz} + resolution: {integrity: sha512-GJAHQbnZTNs7wjwKQLlk9qOgVzCOb6KXEC/xCEpN5dlkm+4W2ccxJ/FvL+oVkqiHjvO8gUKk2U8qcV1eghR7Wg==, tarball: file:projects/server-task.tgz} version: 0.0.0 '@rush-temp/server-telegram-resources@file:projects/server-telegram-resources.tgz': - resolution: {integrity: sha512-inByGstzXZbrqDcGE2jybd1H2zGa3lE1Ynl9gtyZPWKV9jYSVZWwNtJQUUkujZ9Gm+kCBHNurIk+IIJDYXIgpw==, tarball: file:projects/server-telegram-resources.tgz} + resolution: {integrity: sha512-aHVIAlIAmNYmx5AHWRgfQ/C8y9KQChV9C1GT+rUNTodi+6imezeckIcvYnQtf+7M+GJidDRcgmA4muQl9tpAHg==, tarball: file:projects/server-telegram-resources.tgz} version: 0.0.0 '@rush-temp/server-telegram@file:projects/server-telegram.tgz': - resolution: {integrity: sha512-HayCg/x447BO3+GCrn2RQ7EV45k3hmD2K6GZyg6PN4vAp3AqDEgRV/GKMpxt+Hkvm6Djfn3Vj8xp3FF4hH0lCQ==, tarball: file:projects/server-telegram.tgz} + resolution: {integrity: sha512-cbVBE9Fw9S8RvUQb/FV1fpMi7bY3iZ0GV54fRnv35PssrGHhp9E/S2LjfC5H3Dtpx1qasd31q2cPMi4Hq+TyFA==, tarball: file:projects/server-telegram.tgz} version: 0.0.0 '@rush-temp/server-templates@file:projects/server-templates.tgz': - resolution: {integrity: sha512-/AlDNY7mSsliHYAd6GCB8sBebjtPhfweVjwYiHW/nY7O3aPsOf6b9oyIlAC+2oYi2PKN1grgQ0Dppx9kOHSMcA==, tarball: file:projects/server-templates.tgz} + resolution: {integrity: sha512-sf75P8DsA8CQTmJEbb9J25jlz9/3kDQW8M9NXzGCLFLmU9TeNDY5kcpERdMDJuCiBinkCcsFDt6SNOE4Nosyzg==, tarball: file:projects/server-templates.tgz} version: 0.0.0 '@rush-temp/server-time-resources@file:projects/server-time-resources.tgz': - resolution: {integrity: sha512-/sTdxrWW35mNYDnKiJjwed2Dt30PjjSwKyMLl1RvEoCvGG00MtE1/U8D5DgU+xdXqkGe4kpC2Lg5O2szwIssSA==, tarball: file:projects/server-time-resources.tgz} + resolution: {integrity: sha512-IIEutJQc2q9gBxDHqdaU9aoOy4trJG5yL/3XSj0IiQZovzM1iPsmXik93hmJH8j65Jr5X7Ctipkg1OrbCr/f3w==, tarball: file:projects/server-time-resources.tgz} version: 0.0.0 '@rush-temp/server-time@file:projects/server-time.tgz': - resolution: {integrity: sha512-p+998sskRmwuTEnh9iPkxxBosyd+9oMhQsRa2gZ21Z2wPIEQVk+5zj5ygjzeNMrJBTMS+PUZ+tA8Zzuvb4XDOg==, tarball: file:projects/server-time.tgz} + resolution: {integrity: sha512-LP4JEwFZCJG12kc0obZvaj7XSOd0KJahoEeiFZvr95BVhuXrp608otcptJXuXocNahttrFn+H0fhvNX5zuOZSg==, tarball: file:projects/server-time.tgz} version: 0.0.0 '@rush-temp/server-tool@file:projects/server-tool.tgz': - resolution: {integrity: sha512-xBKZGZTIQf5Zn3OBEID6HCOTHhgsvhVqvudd0Lcup1+WaNT5RFRDANLQ9Uqnr68vAQbWmed1Khz78EEl1oDw5w==, tarball: file:projects/server-tool.tgz} + resolution: {integrity: sha512-f5W6zogL86kUHTkiofDW945844LNhFr0fx0GiXACK0ZvPsomAy7+gBnJjXwIhtrz2yoMgWsVMqDdbBfb1kfyDw==, tarball: file:projects/server-tool.tgz} version: 0.0.0 '@rush-temp/server-tracker-resources@file:projects/server-tracker-resources.tgz': - resolution: {integrity: sha512-Ad336xfeEnRbXZXtmDclA2zWCVta64PWuDZvVsvZbirvDGJAwXAb+3Fra0kdyEJeBtyRTTOic14FrcWsPl508w==, tarball: file:projects/server-tracker-resources.tgz} + resolution: {integrity: sha512-1ttWzmF3in5bX2Ep2cB83x5oacJgooQM6lz9bUUsk1LiJhsEoMiQqt8nvpwGyuOJDQBZbxj0/L1geZOQFSJTkw==, tarball: file:projects/server-tracker-resources.tgz} version: 0.0.0 '@rush-temp/server-tracker@file:projects/server-tracker.tgz': - resolution: {integrity: sha512-J/Dt+co+WWUSiO5NgySp1zr5WlKUbSneDvwzC5aSuTox1AQ0bw/1N1XSwEyEXT7X1UgO8PFA8PMCJpAP9D1iMA==, tarball: file:projects/server-tracker.tgz} + resolution: {integrity: sha512-KhHFsFlbBhe/lrNRrQ6M+oeuUq+MbNMrdk071f98hiOnJk3KVW6Jc5jpfp8Vz6tWGKYjZWReR+UbGDYnMFbHSw==, tarball: file:projects/server-tracker.tgz} version: 0.0.0 '@rush-temp/server-training-resources@file:projects/server-training-resources.tgz': - resolution: {integrity: sha512-Wbj705P/9E85Z2/geYTliPJESXr1wV7zhLqmW04vh9LO7hrqD3EJPT2g3ylF+uu8mji/8Ec963aNcVPn8tVNYg==, tarball: file:projects/server-training-resources.tgz} + resolution: {integrity: sha512-3jF1LJa4ReljSmaNEWtOHttwFtrqIxKVHWjeiXReVNFDYwxR2S4SxAlz+VPhlXzbYeyDNCWWIahYPXtZX+Jnhw==, tarball: file:projects/server-training-resources.tgz} version: 0.0.0 '@rush-temp/server-training@file:projects/server-training.tgz': - resolution: {integrity: sha512-pLv68FjonzczgYvZRevD1VAKUV/VwdB0FRA0qr9XRKwJAh230O91nqwmYMATYbYjdWrGnBLCug6sKiDfmtbnew==, tarball: file:projects/server-training.tgz} + resolution: {integrity: sha512-/bgVSdzNQK5NS8BoyLg0K1wTQFekhebXdPB9PFTbDfwBBSfRH0Uqenjny6H22bghBYRrbe6VFdEilGS9/DSdOg==, tarball: file:projects/server-training.tgz} version: 0.0.0 '@rush-temp/server-view-resources@file:projects/server-view-resources.tgz': - resolution: {integrity: sha512-dL3KtDqAPSWpN1Flj3yFSd8hcc3K2rHZKIjTgwYbB5tN/xvZm4Y1ezyhpFffqNJg9aM8Ei8h1dZjv7EMDobWTw==, tarball: file:projects/server-view-resources.tgz} + resolution: {integrity: sha512-UTlYC7P5B10WCMe4QKtylyAGp7d26gyde+50F3/6vbBZUOTo4gpCR4emplxvaV+DJSw5wC+MNoOQhChjdcd51A==, tarball: file:projects/server-view-resources.tgz} version: 0.0.0 '@rush-temp/server-view@file:projects/server-view.tgz': - resolution: {integrity: sha512-FflPUQNQu8whOpyKhjeau1rCAdXFRzdqY6O9Ye7b4dVbs3j5CJ1jkEDyoeNfWNp6MRIR1z44HAov1rTM0DYomA==, tarball: file:projects/server-view.tgz} + resolution: {integrity: sha512-JYDyWeohZ99Wm5gwUh4dCOsGXhhFpTPEhi+NYiwMk+LwfYWl72fwudz808qWsgnIHVTgGJ5p31m6hf9w1JXDoQ==, tarball: file:projects/server-view.tgz} version: 0.0.0 '@rush-temp/setting-assets@file:projects/setting-assets.tgz': - resolution: {integrity: sha512-zXZUR/o4i95BANm6NtT8ByowjT7nCpWnL2HkGC8BkkwHF1JylmAmd3mdJA4fHb1wmWqtGs94QYLoT9m5L1VBFg==, tarball: file:projects/setting-assets.tgz} + resolution: {integrity: sha512-obTjNoPigMtdxLWBbK7Boo/oJ1t9agf0HbScjzP4lDtA1hMea/PSWAioytLA1+cYxgbQQKj7nzHfnb3Bbgl08Q==, tarball: file:projects/setting-assets.tgz} version: 0.0.0 '@rush-temp/setting-resources@file:projects/setting-resources.tgz': - resolution: {integrity: sha512-OvFC2jshGGFNYtjrQhXqZqeoD33WqwxRifc7anOwJ9kt76LIIFlAyW83uA5bFYNRGDXONQPGo3fTGdRVM7wggg==, tarball: file:projects/setting-resources.tgz} + resolution: {integrity: sha512-uREGSTHYXeiLnLu7aohHqHEUtaK1YZEvFT0RvAu3ITOTUhbSnq4U7uFfiMDEcmf6wKnrOMeoeKrV0Co7xScg5w==, tarball: file:projects/setting-resources.tgz} version: 0.0.0 '@rush-temp/setting@file:projects/setting.tgz': - resolution: {integrity: sha512-Q9b+2d/N53yK2o0XlHIjKhlB5JjoPJsMEwj0t3RaOBu4Nm2PDtVEFbJX4aVgSdtgApL5fUHy/5UKnTzfj804Tg==, tarball: file:projects/setting.tgz} + resolution: {integrity: sha512-B0qZPtt/xiLW2PORerAGX6RtJC+q58qBVQ2xHu4HYu6E5xJQSJQlmEJms9Jjv2vFcUuigrrMcvGXd9qWH8Z5DA==, tarball: file:projects/setting.tgz} version: 0.0.0 '@rush-temp/sign@file:projects/sign.tgz': - resolution: {integrity: sha512-vnwVj8ASx6YvEz3ldeH+Ipf/F/1Kuv2XoUfII6RYOVEXvg7VuDgrz7S9NdT65LRzUmK/t/ROtwTsXQFhkCYFgQ==, tarball: file:projects/sign.tgz} + resolution: {integrity: sha512-5Jdt6aEkrFzS355NaUHK+rj0N9xjlzvGOcrpTOPwHr1UBLTqXjPnAR/lkzLm52IRaMDPhJngcP91B4Qf+oE+XA==, tarball: file:projects/sign.tgz} version: 0.0.0 '@rush-temp/support-assets@file:projects/support-assets.tgz': - resolution: {integrity: sha512-/7tdzP+8Dv1gPsPFtgBMleoQWNaHLWg2zU4qAI4qhe6MJH1HdDpz1ltQZAcy1G7R3pwtczbHQ1/j8iei1+ofAw==, tarball: file:projects/support-assets.tgz} + resolution: {integrity: sha512-qxQPFLzFkfKodL+v1FTm/YRb3PgRKbeVcM78oArFXSXZJieG0LhhMDnjntxbbcR6NISyu0Lu9jmKJdS6L9JDzQ==, tarball: file:projects/support-assets.tgz} version: 0.0.0 '@rush-temp/support-resources@file:projects/support-resources.tgz': - resolution: {integrity: sha512-Xp8YP1N+2quNXAdpFWvK4FTRvS8UudyncjDOGXZaDuFxnRMMUGEmUXYJEINCOu1v90NOfOgaTy7NTqiFilI2kA==, tarball: file:projects/support-resources.tgz} + resolution: {integrity: sha512-VfYmybeOREsJSLWjB2pmc8ievE9kAtyvS0jFst+qWokpN27ZXOtDebLkR/A2lDTkb7rSvK08/xhKs38J9LkPJw==, tarball: file:projects/support-resources.tgz} version: 0.0.0 '@rush-temp/support@file:projects/support.tgz': - resolution: {integrity: sha512-UNUtFFo/XM3UFMRB+HkGSHwG4TGdLxA6Zzjg3KagE1HVuO16ZVDbJSxZ0ACJ8gCigpopGDLEX0iohVLh+mTNwg==, tarball: file:projects/support.tgz} + resolution: {integrity: sha512-g7pDYDm8asXj/GiOszlEMMZseTVLLtCssY9OG7cdJH35/fgtDO8Udn55nD/r4E8Uz8+J/5RgdkHZXRDMGLF++A==, tarball: file:projects/support.tgz} version: 0.0.0 '@rush-temp/survey-assets@file:projects/survey-assets.tgz': - resolution: {integrity: sha512-P9XizBzPBlklhenlf7OMbuJrwnCvWQab6stg9M0QXAVqz0pvFv0ztp0CCX3MxVKDXWGNDd99tNDn987a3nG/sw==, tarball: file:projects/survey-assets.tgz} + resolution: {integrity: sha512-MhN4PgfwtMznYV5nnPR/SP7OCD0HCEz3S8xlJauwx5LiCSU70BBwQh7H40ojx/ugVHsN0ysotpnciIq42S0Kmg==, tarball: file:projects/survey-assets.tgz} version: 0.0.0 '@rush-temp/survey-resources@file:projects/survey-resources.tgz': - resolution: {integrity: sha512-y51t1Nj7R871/4AFaKvMVqmAgtVow+R8jw1tVrMJCxBG7uhGvaaVCb55c6PrIDM9rVzVzwu7ga3zVAreLHmoZQ==, tarball: file:projects/survey-resources.tgz} + resolution: {integrity: sha512-ri5Q84ie9m/v5CuyCccp1VfBSj2utDTBTkJ0n0IYQzInWk4gFwk4cFVpu/ZpAhYotIRZ4gxgy6e9MSnNTKF/vA==, tarball: file:projects/survey-resources.tgz} version: 0.0.0 '@rush-temp/survey@file:projects/survey.tgz': - resolution: {integrity: sha512-StLX3ZzSxR2kk7NQquWn9yTlGioZi/8tA+jYPa522O5Mp+j2YI6hE8pZPYLMlJ/lxjz2S/c5kiThofH+YGMA2Q==, tarball: file:projects/survey.tgz} + resolution: {integrity: sha512-HUS6Ta4sfWBaTGSHeNS0Q4EWCywd0X1AoYH9lvD4vH0is+P8G+lGWeRJMOuPnO/bU9FYHk/plxg3NPcoTFdong==, tarball: file:projects/survey.tgz} version: 0.0.0 '@rush-temp/tags-assets@file:projects/tags-assets.tgz': - resolution: {integrity: sha512-rkbXbD9henELcvxV1Xiv+mF2z/1gfRin+sz2n0O8rPBAdo/N7H8o8lfiteMYdtvQOHAsZY1TsgWOSzEgT1S60g==, tarball: file:projects/tags-assets.tgz} + resolution: {integrity: sha512-koyDR9ljr9o/wyE43aYJcI9/3cIG2Av9FyXGJudVOcoT9arvpbYeG4yWNW8E3O1DGCxeZinIgVXJ4ZkHNJlDkA==, tarball: file:projects/tags-assets.tgz} version: 0.0.0 '@rush-temp/tags-resources@file:projects/tags-resources.tgz': - resolution: {integrity: sha512-hmlD9sAvM5Itc5L/qyghEGoLiBu2sIKJuHzkhl3C/vOCv7hf5Df/AihCylR60jGHg2YBfAC7lDC1iW4mHbXFzw==, tarball: file:projects/tags-resources.tgz} + resolution: {integrity: sha512-o6pux80zx5nkNZ3xJbKJW1YzZvMJ3gi6BBlIR9Od47zvdNDY1KgttdUk+ck69VcA/aNJEqXNl7luwemdYDQKiA==, tarball: file:projects/tags-resources.tgz} version: 0.0.0 '@rush-temp/tags@file:projects/tags.tgz': - resolution: {integrity: sha512-I4HKrRUf4JN2YEtfpJ7HakXGkY19bdMEL0YdLK7Wof9ZKzu93+6qRTW1ahTQ+ri2E4fFTQ9Crxv0mqu426LdtA==, tarball: file:projects/tags.tgz} + resolution: {integrity: sha512-n6SgU2GfFxk5En2kc2aSEPUrYImDYIHrRuzFBRGm+fy+YmRQ81gMi+xDOjvbrgDUUxFB6wFw/KHQOdIUuPpqsA==, tarball: file:projects/tags.tgz} version: 0.0.0 '@rush-temp/task-assets@file:projects/task-assets.tgz': - resolution: {integrity: sha512-FLhk7pkVmAZm0hUEimJGMr9pXmL6x9fJFjf0xLgPupPwJaoTZIWLPTXBDT4v03h4fr29vmf0xKaciAHaMydCzg==, tarball: file:projects/task-assets.tgz} + resolution: {integrity: sha512-o29+MauRRLFwM1yMGJVrzRHetcB4OPmdtnRky6zKZaG+hAbek05JzIq+NOVKmLOzsgLRR0vpB69A+LeoHLVsDQ==, tarball: file:projects/task-assets.tgz} version: 0.0.0 '@rush-temp/task-resources@file:projects/task-resources.tgz': - resolution: {integrity: sha512-4uOXtDhNTtq3EgULwxJMknrqAzlLshFWjO5RX1EI11ihmO3bIRT5WLj/okjP5qOJ5M60YDZDC2EqZb8WGN23Vw==, tarball: file:projects/task-resources.tgz} + resolution: {integrity: sha512-vDfn6Qr5CgDwjX3pImeds2ECoXFWuq69Auk+3qkG/onymkj7ksKj5QKNFA0lBf6XwaA9d/X6EeVqpHbeFRwP9g==, tarball: file:projects/task-resources.tgz} version: 0.0.0 '@rush-temp/task@file:projects/task.tgz': - resolution: {integrity: sha512-R6NIMPfekztYjpO4XJJ8vdXkjiweyiGDhIZ5Q9tMx48VLCAZEEg/5Cf25dUPsNuw4uEc68LWFymbq1FgNYF8QA==, tarball: file:projects/task.tgz} + resolution: {integrity: sha512-cy994+8JaasB1yjmACZIwXchHs+ZDR6EFRlQ2XQmaNvppXG9b4qzNatgNqfkhcWCOP9u1cxQxxRM5lWAE2bOUw==, tarball: file:projects/task.tgz} version: 0.0.0 '@rush-temp/telegram-assets@file:projects/telegram-assets.tgz': - resolution: {integrity: sha512-J+Z9siDHbiHLPuPxdcwFrxeZQRyTlJx1zvy9Br2MLeI7OU9h2LnpS82RbxVyl80E8SgGl0Tz+3whBBoON2MYMA==, tarball: file:projects/telegram-assets.tgz} + resolution: {integrity: sha512-twuNAVT8qVjuADpdV5CbfT3F+0I6RXQg2l/+a6+5HqRnU7LgTGbcH2yn8jJ9aY97WP857ftcD3ARKN0r0ME7sQ==, tarball: file:projects/telegram-assets.tgz} version: 0.0.0 '@rush-temp/telegram-resources@file:projects/telegram-resources.tgz': - resolution: {integrity: sha512-HuMvhcu6c35eOMevSZJj8PPoa/fX9Xd9GAps/TyGVWHKrp6ZFDusw7EJyJxp73yhQVEG//nnbpwXe+1YjdSL4A==, tarball: file:projects/telegram-resources.tgz} + resolution: {integrity: sha512-3BJMQXWYUJ1pyOBYynXnz63eET6qTkDs/wCVm6KCgs2mQ6xllsmjPwXL4hkFzr4WHUwSXHNvFxAeLRbSbVglyA==, tarball: file:projects/telegram-resources.tgz} version: 0.0.0 '@rush-temp/telegram@file:projects/telegram.tgz': - resolution: {integrity: sha512-kht8TatHX9YYZNMG7fTfvJbRe1fT9kpLxokUhpqnquIHd57OtuG+q+rZGYuH7cKd1f/rY7900D/HzHAiqNvd5A==, tarball: file:projects/telegram.tgz} + resolution: {integrity: sha512-sVJ0+nM9J/JXhXsEXZ3Nzv+rutsz+ZOvimtK/XmJd2qIUrg/oSnN09XxSVY2vpxQXXV5s3zymb9ju2O7ijkIug==, tarball: file:projects/telegram.tgz} version: 0.0.0 '@rush-temp/templates-assets@file:projects/templates-assets.tgz': - resolution: {integrity: sha512-TJjmx67QZqfMTtvQGNhA/g8AAJ+Zx69mDf1qNReCXvHjln6WqBahQLQPHcjF+McCai7UMR2ok2hvA6VjdyPZYw==, tarball: file:projects/templates-assets.tgz} + resolution: {integrity: sha512-bf25V3TrQswT5XVOjNj0CoUGikLd1W6n4SpFENiP2fQfz1YuOcvQhTJC36BwRhWH5zGNmxwVvuRNGxxMpHc9gw==, tarball: file:projects/templates-assets.tgz} version: 0.0.0 '@rush-temp/templates-resources@file:projects/templates-resources.tgz': - resolution: {integrity: sha512-zi9E8FcmZiPdX+/+xjOjkPVIAlTBZL0FypmjvBIiOyBckUduWfYUR1dtnKD5j5TGI5ut6eb4esAC26lsT2Lq4A==, tarball: file:projects/templates-resources.tgz} + resolution: {integrity: sha512-EJOCM8MBUP+ZtbwJsXx7ZQ4a4Pq2km1ZVbAuQk8mZudyZeeAHPJdBo24rhy7Gq+W3czqXFnRlcbKsopGyAfuKQ==, tarball: file:projects/templates-resources.tgz} version: 0.0.0 '@rush-temp/templates@file:projects/templates.tgz': - resolution: {integrity: sha512-LR9rVWwR6/mVs/AIUYh08xkGtLGciBebqLQEUI1jl4vQQ9mDYxQuXb6fYaO7v+xrb9U3lp1yGrkplWyNoG6Wzg==, tarball: file:projects/templates.tgz} + resolution: {integrity: sha512-xaiq/DlCuqqEcOoJxHgRTqKwTQKc4eiiUoTIIN2B369lfF8o9i3EBvswtpB3VJuw96brbDAUbXNSzurtDYijGw==, tarball: file:projects/templates.tgz} version: 0.0.0 '@rush-temp/test-management-assets@file:projects/test-management-assets.tgz': - resolution: {integrity: sha512-1tnHUjeDCbxinTB20sQ6x03NvFNa3JUVGV6YjGfUHsLNL0VBAJLxhY91IARg/ryZTUgZDO4dc0UalKQgw06iWQ==, tarball: file:projects/test-management-assets.tgz} + resolution: {integrity: sha512-bI5x8yvio3+AYQ8xxyLjRnJnUlEvMDJPx/N0kaT59JHELeeAQLDonJL0PNdZzVfBKT+GVWD/I9y6Q3JBn9+0uQ==, tarball: file:projects/test-management-assets.tgz} version: 0.0.0 '@rush-temp/test-management-resources@file:projects/test-management-resources.tgz': - resolution: {integrity: sha512-9xnAvWb0dXEaV+6ujQeCMM3nJG5W/A+DY7FwLU+risJg/JeU/SUJJ/jL+YyeKOEBQacvOuRSNKU8PzZw3L7fng==, tarball: file:projects/test-management-resources.tgz} + resolution: {integrity: sha512-wz9tFyT2jS3D7kAjIB8xaKR8PYBUIniMuuKPqqBTFu6gXyu8zvRHWOo/S0CS23FwLrfpNVh3sdYclFxUo7rXIg==, tarball: file:projects/test-management-resources.tgz} version: 0.0.0 '@rush-temp/test-management@file:projects/test-management.tgz': - resolution: {integrity: sha512-2INmc2Ct76BUZT8hwrOsPAC1Z+u6Lasa8pCStk11KPfyn63Ca0Rz2tDCPYeBdo6Qxmwb7PR+SyG5ilU3GOw67Q==, tarball: file:projects/test-management.tgz} + resolution: {integrity: sha512-U3nR0QUT0g5mUtisfyASTRp/8Kn2LjxuirjQakNTCYjLsFv6K1M1O5H3kesqsdQaLif1RIaooxkInd03huG0cw==, tarball: file:projects/test-management.tgz} version: 0.0.0 '@rush-temp/tests-sanity@file:projects/tests-sanity.tgz': - resolution: {integrity: sha512-f74RMq5aQDfuYJ7yvwcstxlY7GutiqWFWGuPBGpIIMRgg6PFevxyOpXyLqpYJUp091Dih4Vz7NUJB8R5pBz2GQ==, tarball: file:projects/tests-sanity.tgz} + resolution: {integrity: sha512-Pzxq7/LBlJ4qN+tuKJXGV7qG4xfC9jaF/WCuvQVCXQoCd9ZexWw+KZl9qGNmUblcjounWrxanWTQfbQ1lQfwaQ==, tarball: file:projects/tests-sanity.tgz} version: 0.0.0 '@rush-temp/tests-ws-sanity@file:projects/tests-ws-sanity.tgz': - resolution: {integrity: sha512-iYp1sVqBjnmydEZwK3PREeR7hJGiWLZ8/FRlRdJJNaXVJEviTe45g2zI1WtcsyRDqs/c7dHfybqsHhWS4ZSr3w==, tarball: file:projects/tests-ws-sanity.tgz} + resolution: {integrity: sha512-S+nxtSHHP/cwLF/RVsou/94YXuDSda0q0L9lhlCxOYqudA7o+OtdsZtDHaNNXeFjQvTE5w2i6IEZtHnNxuDrnA==, tarball: file:projects/tests-ws-sanity.tgz} version: 0.0.0 '@rush-temp/text-editor-assets@file:projects/text-editor-assets.tgz': - resolution: {integrity: sha512-G5/SldNI1Gulh6/Mek1P3ByP88EueTJlnjnxsIRzG8BxD2cwyzdujjjmHbWvFCsEnLtPYqAb51qMFnQRebxgeQ==, tarball: file:projects/text-editor-assets.tgz} + resolution: {integrity: sha512-LuVZUUfgwpvJ8/jXDys040awteQGy8YjXsgEBrNqp7vj7K1hqbG7RNygVXzSlAB99Zq353kpbkUREAad764kWg==, tarball: file:projects/text-editor-assets.tgz} version: 0.0.0 '@rush-temp/text-editor-resources@file:projects/text-editor-resources.tgz': - resolution: {integrity: sha512-g3HiMWrDQheAbaG47n7ZDUWz/uwXJhLfKEPZzZoQ5YIUCsuJDG5xjveFs2ovMUmuDw3gcTl38Z1Kbi9LAYRIrA==, tarball: file:projects/text-editor-resources.tgz} + resolution: {integrity: sha512-XG7+W042hTju9w1Ulu5M0bemjMed8FIgwN5k5Uxr5ZgJh2MY4xyKuIp+CIDOYH5Nn7aI8P0zjz47aSB2SOhAhg==, tarball: file:projects/text-editor-resources.tgz} version: 0.0.0 '@rush-temp/text-editor@file:projects/text-editor.tgz': - resolution: {integrity: sha512-lX/2hXeWi4K72L2FPBacc8DgRgUw6PBYF1So/gtmErv0jRodyMlIt1QdOuTtMda0g2ebCCPMahQ/tt45M0aERQ==, tarball: file:projects/text-editor.tgz} + resolution: {integrity: sha512-A1Odoxy6o5yGIW9qhM2zkFlDBy0zDcdFP3hLYy51cQ5rWwZuyznR6JAnyZc64JS3tTebTs/a4O++nK5ZZEmViw==, tarball: file:projects/text-editor.tgz} version: 0.0.0 '@rush-temp/theme@file:projects/theme.tgz': - resolution: {integrity: sha512-Th7qm8oC9szHoqvPYXiPpb1AneZsehq6UeEb0Y5se4Y44nOyPjTIyZ75492+hGsOJh2lRHdZAzys0EdFGWqvMw==, tarball: file:projects/theme.tgz} + resolution: {integrity: sha512-2HQ/eDwnfLvxkL6/3Jc5A6EHp29cm46XaoCp2voSiDSqBLTEfmXyHmHfpbeasEFcsc/JzXj7VTojFfrUMy2p9A==, tarball: file:projects/theme.tgz} version: 0.0.0 '@rush-temp/time-assets@file:projects/time-assets.tgz': - resolution: {integrity: sha512-Dr5iyGWRpyx7ZckDP2Z8gcCxlCCAOxyoQMHr1kmDIEfuHB4SqVLdj1az1EmcToBaMG2r0hDdD6ZAak6LMaJDjw==, tarball: file:projects/time-assets.tgz} + resolution: {integrity: sha512-tm4Tq2halELvriuYA69HwouuMGcoVRnhj7m9C2W9m625NY/QTwSt/zCqNNd+K85THW5xd1SAcAnAc9wFjf2U+A==, tarball: file:projects/time-assets.tgz} version: 0.0.0 '@rush-temp/time-resources@file:projects/time-resources.tgz': - resolution: {integrity: sha512-cc4I8S7my+m5ahtmxKOJ/VMZxp9kAe1E/i283rh+5lbdar9MDTYP2Cd0kTVewhYfosBSCDzHYBzwuGhvyakYdg==, tarball: file:projects/time-resources.tgz} + resolution: {integrity: sha512-fg7vxxqLdSRD+Yy4da1oXOcYacF6qSz0hxeC5eRuI48qyp963x4vOLUGiWXNbooip7xnZNXesVY9ujlRPmYZqQ==, tarball: file:projects/time-resources.tgz} version: 0.0.0 '@rush-temp/time@file:projects/time.tgz': - resolution: {integrity: sha512-2rA63SCiD2RBPIvw2FSPFnbh6yjVZuXkppP2rcTqf4zaUMaSt2yUcPNjsX8wyGY0DmSsVtSe2hkFPZ8BrJFTtw==, tarball: file:projects/time.tgz} + resolution: {integrity: sha512-sHp9TNJOQjUGYhqmf5rRFZtqRNT39zWO8A86AKEaNUElqZwgGdkC823fHdYD7yeRxxGQzDfCvnIIWJDxLVCRgQ==, tarball: file:projects/time.tgz} version: 0.0.0 '@rush-temp/tool@file:projects/tool.tgz': - resolution: {integrity: sha512-/yjPlUScmrbhvX/6bHmRW+dmrh6+x/LNg5SY6mtOPh6mrQku/MRWG0TjaR+Gx8mTASK9Yjw27Ftph1wHY9qETQ==, tarball: file:projects/tool.tgz} + resolution: {integrity: sha512-AdTXYHCiaZU1EYdB3hkdqnrYfqPFKIsGPXJFnrejRaNwwKKYEsEWNhB2Ml9BlA8jMy+ZXCwuwG81UQ7isvrTmA==, tarball: file:projects/tool.tgz} version: 0.0.0 '@rush-temp/tracker-assets@file:projects/tracker-assets.tgz': - resolution: {integrity: sha512-gKBl2i3Q9ZAxZCMyxtl0wKON25j3jRLK86Q/leINyWQx2lot8vM7QzO3mok+JdasrhbE0QAfxIpA35iOtapdyQ==, tarball: file:projects/tracker-assets.tgz} + resolution: {integrity: sha512-gOVFFkykhekwHJhtFJXrtRqu5738fALdo5I09lYuDc5E0hMXLGo+TqDuF4Q7SWuHgl0IGps6Q+oHP+wG3oEWVQ==, tarball: file:projects/tracker-assets.tgz} version: 0.0.0 '@rush-temp/tracker-resources@file:projects/tracker-resources.tgz': - resolution: {integrity: sha512-0WK8RirOqLOWE6jtytmon7MaE8nv0AKMykl6M5f+KrfECWr7kl2X8kWfno73vAgC5bXVqP3bJqyrM0jBdTthlQ==, tarball: file:projects/tracker-resources.tgz} + resolution: {integrity: sha512-SDW+nVVXtsWBS9+pzaYVstODW+NglQF0QsYmtnNDXDQaQ4guaRPi7N/G7f3eKj2vL0SSMpa16R2dnknabMqTzQ==, tarball: file:projects/tracker-resources.tgz} version: 0.0.0 '@rush-temp/tracker@file:projects/tracker.tgz': - resolution: {integrity: sha512-LiMD+U76gp7sixUZhqqGTmBx5q5lkDIJ/gOitiRPeaCVJvpb6mMpqNETW66DajGW2A8qZnaxjs2B8U/5KXB25w==, tarball: file:projects/tracker.tgz} + resolution: {integrity: sha512-Hkp3k4KTQT0louWoZMNMicn3BM3EMo8R4JGnKf4gVhC797mhEJbocrqflLmjURSaN8dz5E9ZcwBm3HDZHDHqAw==, tarball: file:projects/tracker.tgz} version: 0.0.0 '@rush-temp/training-assets@file:projects/training-assets.tgz': - resolution: {integrity: sha512-11Z5iHikVVPumBj6MxEI9VXZuZxitoGsawwlYtU5Ms/fdk/4bsJ/n2euk1W46hsOGlCTMfsRCP2Ozw+6TjOzCg==, tarball: file:projects/training-assets.tgz} + resolution: {integrity: sha512-mdFPtDJmEs8WjrJns59M8NKSx7N3257apkToHlzmx9WYjRlSANO/3vr7RMLnURJSdW/iFlBOIqtJYHZpAIIYmA==, tarball: file:projects/training-assets.tgz} version: 0.0.0 '@rush-temp/training-resources@file:projects/training-resources.tgz': - resolution: {integrity: sha512-JMWEWk1jYNNTYw4YDIiP73qxhUy3MwuYCo3pBlfISkyYah5Fsxzo8KR7u7taCe4mzIpx5TVdO5yDMsaYkTfgAA==, tarball: file:projects/training-resources.tgz} + resolution: {integrity: sha512-u+tnMLSdTkVEU4S4572K4N8dvyJUzIY9iNQSDGhGyKiyzqJ9slBzmGJPSo7NTcNC5YBSIKDgvBhGMf/MybiS6Q==, tarball: file:projects/training-resources.tgz} version: 0.0.0 '@rush-temp/training@file:projects/training.tgz': - resolution: {integrity: sha512-1MioqvZ/RwFY/0jD9XkfTwqGeSg3FiVxeMYSKJ9t/yk5tiNjDF6fTQBS7IkOMt/E7Inw5JuRdQAsc4It0ocRUw==, tarball: file:projects/training.tgz} + resolution: {integrity: sha512-ilRlVFlifo8H3vfYseN3wjIuDpOnaVGWv3Qiex1pOB4XeI20OQCL1hylcEX1oRI+AKX4ajBqtfLUt8HodCvgYA==, tarball: file:projects/training.tgz} version: 0.0.0 '@rush-temp/ui@file:projects/ui.tgz': - resolution: {integrity: sha512-+sbQDUX1f4qVwaF0qPPJVYydD0uCn+sqjXuGA9qlpUhwt5kd4aTshUWGrhd6q2xEpZdIIYBzdSQrD7AzVmezjw==, tarball: file:projects/ui.tgz} + resolution: {integrity: sha512-c7mn2BBR3b1NRvuQ7DJycjkK0CvGUGnFzrIt9QBNDttq1Ux7/MxjhbwoNVqEF/uVNrK5GhQNqXGI0cPp4d3NZQ==, tarball: file:projects/ui.tgz} version: 0.0.0 '@rush-temp/uploader-assets@file:projects/uploader-assets.tgz': - resolution: {integrity: sha512-FLTF+kGdsoHkMl8c6FHcZ7fQp3tweYA7lLniWC+Gk7N9FlWRyb4V7u7AhG/t3Hx9j+RItt4SHn2tJfrm1wVVRA==, tarball: file:projects/uploader-assets.tgz} + resolution: {integrity: sha512-rr+2FEWpl9edIZOWaoVCA9u+1jwS6vLX4gVv/2btIWXx/JvmmxjaatahZGML/xdkHRxRwkhA7f/+tJLHKWcWqw==, tarball: file:projects/uploader-assets.tgz} version: 0.0.0 '@rush-temp/uploader-resources@file:projects/uploader-resources.tgz': - resolution: {integrity: sha512-i9WT+ffz2yzyhIgpa93OjB7QjgXVGdJliQ4ITK+N47RG1VBhdGxPm7GVoeqLwOuxpB/Jmm7Zyzdr/UEiZ3bDKg==, tarball: file:projects/uploader-resources.tgz} + resolution: {integrity: sha512-ePLhSewTgXaRj/jN4US7NCnW3HVw57qWY52PPaAcYDA2z95kFTVQjhF9YnwvqF7X7alEDAMp/KFni4qEDAkp4w==, tarball: file:projects/uploader-resources.tgz} version: 0.0.0 '@rush-temp/uploader@file:projects/uploader.tgz': - resolution: {integrity: sha512-ESXAb8fD+j1Kc8sRNKlAhLGLmcdNDB4LHJpWTw1PkOGsbESGLiGz9Yv/jay6J8Jb5ERW4NZHelqbGkIF7s0VRA==, tarball: file:projects/uploader.tgz} + resolution: {integrity: sha512-ptEmm5YY62GQKqFe9hUCHfio1S8kmQ+LwB7FFw8ofG//iu8ncFLQeeOHRA6n74VxGPgNDoC7ThaovxeeFVXxTg==, tarball: file:projects/uploader.tgz} version: 0.0.0 '@rush-temp/view-assets@file:projects/view-assets.tgz': - resolution: {integrity: sha512-T0z1tcp3qpYYrQ1lkYYypCeTk8BM9VSeRKvX1Wg3G9yyIXPA2/gJ5Y1RVOqKaoK/AGJ+Q/U8GmfYxKHhv/i3Xw==, tarball: file:projects/view-assets.tgz} + resolution: {integrity: sha512-PeK2go8BEh07nFNWqpasuA85p98wECtUOlEeZ+ZIqMh/lff+4AhfiQr98LQKAsQDHIUHlaNGeASmRjkEzCED7w==, tarball: file:projects/view-assets.tgz} version: 0.0.0 '@rush-temp/view-resources@file:projects/view-resources.tgz': - resolution: {integrity: sha512-ZSzk9UXkaaIIiVuIqRsAsGzrktsX5vct/fAWpAhvi4MY3oMrCOYeatMlx7UCHt5PpGudReotNErapKdrTjm4ig==, tarball: file:projects/view-resources.tgz} + resolution: {integrity: sha512-C2tQ/nx/JgwFyXOnYMt9ezrobYidu+qjLE61Klg6gD04R//6vZ04UJfAj/Bc/ruCJAX4UNpVKBH08QSL+SBWrw==, tarball: file:projects/view-resources.tgz} version: 0.0.0 '@rush-temp/view@file:projects/view.tgz': - resolution: {integrity: sha512-4QdpIpszT+6BZVrUo4UwebqUsadJWlWq3epikTj03Q16qTNUotE4F/JernKlafsbNKMH7AI7opfQvAHSUO5vVw==, tarball: file:projects/view.tgz} + resolution: {integrity: sha512-WGW60RB3OPMxlQUXiqLYKqU01IoWoOZheVWVS2wIIoNeVvuHaLlmEU8oXiZqW4vEVkCLJMHiUAzgf7Ry6EaYrg==, tarball: file:projects/view.tgz} version: 0.0.0 '@rush-temp/workbench-assets@file:projects/workbench-assets.tgz': - resolution: {integrity: sha512-KwdVlto5koUbFwfo96IK5qIleddq1GJqrZWsoQxj9f/ncjO2BxeNiIGuSusCG5jSCXJqjdKKYWc5yW10NAJUsg==, tarball: file:projects/workbench-assets.tgz} + resolution: {integrity: sha512-xz/RGGWsrHWVT9ffJGSUV7bp70vHwJzW/TUYcjBSllG0I6JKb14nYfeEqv0aQK2PhP2eykW9wpT925J+pK6SiA==, tarball: file:projects/workbench-assets.tgz} version: 0.0.0 '@rush-temp/workbench-resources@file:projects/workbench-resources.tgz': - resolution: {integrity: sha512-70zo8AymqNIrB7NT2SEyitNPHLqGqYsNPkzwb+7EAZXX6G/4CIwRxkqOLM1F2XHUfF9hxMWi0qvoQ206lBsMCQ==, tarball: file:projects/workbench-resources.tgz} + resolution: {integrity: sha512-fzJLzYsf9L2LoTXxrSC5zUY4cA2t9ziMOtV6rEgr1EX1zLRAPZzYSMebgTlqCEyYVlrSa9KH87MyFuSekpdohA==, tarball: file:projects/workbench-resources.tgz} version: 0.0.0 '@rush-temp/workbench@file:projects/workbench.tgz': - resolution: {integrity: sha512-uWn96K16XSMIngimjWfgYCcr/wb/QLOtwkVva01MXcz7kaS30cZ6GG1Gd9ewXxuFKKXzbXMeVZu8NAyHaxKToA==, tarball: file:projects/workbench.tgz} + resolution: {integrity: sha512-DhLML3QsP7Kz+Q06kxFbTSNItFte5Hw5B+jKI9AU+UWrS1qUWScS1dnBMoxx73IiNTi8WFbISPMoLDfZv+Y84A==, tarball: file:projects/workbench.tgz} version: 0.0.0 '@rush-temp/workspace-service@file:projects/workspace-service.tgz': - resolution: {integrity: sha512-eVQictguitUM+PVpOg4lSLfzYHwhVbrLA/Dwn7UMu74bWjbbsAVMkJ8WuJCRFZWbSUsaceK1BGnbwDp9krPX6Q==, tarball: file:projects/workspace-service.tgz} + resolution: {integrity: sha512-FWl+r8e7cPimqAaNEUBVghYV0KmlHgmNHERfCrT0+wN2Fz+E7+4JgK49/OoK9S8qeaP9PMIl6SUga1upMIiS0g==, tarball: file:projects/workspace-service.tgz} version: 0.0.0 '@selderee/plugin-htmlparser2@0.11.0': @@ -34874,6 +34868,7 @@ snapshots: '@hcengineering/platform': 0.7.17 '@hcengineering/platform-rig': 0.7.19(@babel/core@7.23.9)(postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.9.3)))(postcss@8.5.3)(sass@1.93.2)(ts-node@10.9.2(@swc/core@1.13.5)(@types/node@22.15.29)(typescript@5.9.3)) '@hcengineering/postgres': 0.7.15 + '@hcengineering/rank': 0.7.17 '@hcengineering/retry': 0.7.17 '@hcengineering/s3': 0.7.15 '@hcengineering/server-client': 0.7.15(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -34882,6 +34877,7 @@ snapshots: '@hcengineering/server-token': 0.7.17 '@hcengineering/text': 0.7.18(prosemirror-inputrules@1.4.0)(prosemirror-model@1.24.1)(prosemirror-state@1.4.3)(prosemirror-view@1.37.2) '@hcengineering/text-core': 0.7.18 + '@hcengineering/text-markdown': 0.7.18 '@hcengineering/text-ydoc': 0.7.18(prosemirror-inputrules@1.4.0)(prosemirror-model@1.24.1)(prosemirror-state@1.4.3)(prosemirror-view@1.37.2) '@types/jest': 29.5.12 '@types/js-yaml': 4.0.9 diff --git a/dev/tool/package.json b/dev/tool/package.json index cc7f48a763..3b0bb5521a 100644 --- a/dev/tool/package.json +++ b/dev/tool/package.json @@ -61,6 +61,11 @@ "dependencies": { "@elastic/elasticsearch": "^7.17.14", "@hcengineering/account": "^0.7.0", + "@hcengineering/communication": "^0.7.0", + "@hcengineering/chat": "^0.7.0", + "@hcengineering/card": "^0.7.0", + "@hcengineering/rank": "^0.7.17", + "@hcengineering/text-markdown": "^0.7.18", "@hcengineering/account-service": "^0.7.0", "@hcengineering/workspace-service": "^0.7.0", "@hcengineering/attachment": "^0.7.0", diff --git a/dev/tool/src/communication.ts b/dev/tool/src/communication.ts index 4726484437..a32cf2cf55 100644 --- a/dev/tool/src/communication.ts +++ b/dev/tool/src/communication.ts @@ -12,123 +12,959 @@ // limitations under the License. import { type Workspace } from '@hcengineering/account' -import { type HulylakeWorkspaceClient, type JsonPatch } from '@hcengineering/hulylake-client' +import { type JsonPatch, type HulylakeWorkspaceClient } from '@hcengineering/hulylake-client' import type postgres from 'postgres' import { + type AccountUuid, + DOMAIN_SPACE, + fillDefaults, + generateId, generateUuid, - groupByArray, + type Hierarchy, + type LowLevelStorage, + type MarkupBlobRef, type MeasureContext, - notEmpty, type PersonId, type PersonUuid, - type WorkspaceUuid + type Rank, + type Ref, + SortingOrder, + type WorkspaceUuid, + systemAccountUuid, + notEmpty, + type Class, + type Markup, + type WithLookup, + RateLimiter, + type Doc } from '@hcengineering/core' import { - type Attachment, - type AttachmentData, type AttachmentDoc, type AttachmentID, - type AttachmentUpdateData, type BlobID, type CardID, type CardType, type Emoji, - type Markdown, type MessageDoc, - type MessageExtra, type MessageID, type MessagesDoc, - type MessagesGroup, type MessagesGroupDoc, - type MessagesGroupsDoc, MessageType, - type SocialID, - type ThreadDoc + type ThreadDoc, + type CardPeer, + type Peer } from '@hcengineering/communication-types' import { type AccountClient } from '@hcengineering/account-client' +import chunter, { + type Channel, + type ChunterSpace, + type ThreadMessage, + type DirectMessage +} from '@hcengineering/chunter' +import cardPlugin, { type Card, type CardSpace, DOMAIN_CARD } from '@hcengineering/card' +import { makeRank } from '@hcengineering/rank' +import chat from '@hcengineering/chat' +import { DOMAIN_ACTIVITY } from '@hcengineering/model-activity' +import { DOMAIN_CONTACT } from '@hcengineering/model-contact' +import { markupToMarkdown } from '@hcengineering/text-markdown' +import { markupToJSON, markupToText } from '@hcengineering/text' +import activity, { type ActivityMessage } from '@hcengineering/activity' +import communication, { type Direct } from '@hcengineering/communication' +import { type Employee, formatName, type Person, type PersonSpace } from '@hcengineering/contact' +import { withRetry, DEFAULT_RETRY_OPTIONS } from '@hcengineering/retry' +import attachment from '@hcengineering/attachment' +const MAX_MESSAGES_BATCH = 200 const MAX_MESSAGES_SIZE = 95 * 1024 -const MESSAGES_TABLE = 'communication.message' -const PATCH_TABLE = 'communication.patch' -const ATTACHMENT_TABLE = 'communication.attachment' -const REACTION_TABLE = 'communication.reaction' +const COLLABORATOR_TABLE = 'communication.collaborator' +const LABEL_TABLE = 'communication.label' +const PEER_TABLE = 'communication.peer' +const MESSAGE_INDEX_TABLE = 'communication.message_index' const THREAD_INDEX_TABLE = 'communication.thread_index' -export async function migrateWorkspaceMessages ( +export async function migrateWorkspaceChat ( ctx: MeasureContext, ws: Workspace, - card: CardID | undefined, db: postgres.Sql, + client: LowLevelStorage, + hierarchy: Hierarchy, hulylake: HulylakeWorkspaceClient, accountClient: AccountClient, personUuidBySocialId: Map ): Promise { - await migrateMessages(ctx, ws, card, db, hulylake, accountClient, personUuidBySocialId) + await migrateChannels(ctx, ws, db, client, hierarchy, hulylake, accountClient, personUuidBySocialId) + await migrateDirects(ctx, ws, db, client, hierarchy, hulylake, accountClient, personUuidBySocialId) +} + +async function migrateChannels ( + ctx: MeasureContext, + ws: Workspace, + db: postgres.Sql, + client: LowLevelStorage, + hierarchy: Hierarchy, + hulylake: HulylakeWorkspaceClient, + accountClient: AccountClient, + personUuidBySocialId: Map +): Promise { + const docs = await client.rawFindAll( + DOMAIN_SPACE, + { _class: chunter.class.Channel }, + { sort: { createdOn: SortingOrder.Ascending } } + ) + const limiter = new RateLimiter(5) + let i = 0 + + if (docs == null || docs.length === 0) return + + for (const doc of docs) { + if ((doc.messages ?? 0) === 0) continue + i++ + await limiter.add(async () => { + try { + ctx.info('migrate channel', { index: i, _id: doc._id }) + await migrateChannel(ctx, ws, db, client, hierarchy, hulylake, accountClient, personUuidBySocialId, doc) + } catch (e) { + ctx.error('Failed to migrate channel', { _id: doc._id }) + ctx.error('Error', { error: e }) + } + }) + } + + await limiter.waitProcessing() +} + +async function migrateChannel ( + ctx: MeasureContext, + ws: Workspace, + db: postgres.Sql, + client: LowLevelStorage, + hierarchy: Hierarchy, + hulylake: HulylakeWorkspaceClient, + accountClient: AccountClient, + personUuidBySocialId: Map, + doc: Channel +): Promise { + const migratedToCard = doc.__migratedToCard + const lastOne = ( + await client.rawFindAll(DOMAIN_CARD, {}, { sort: { rank: SortingOrder.Descending }, limit: 1 }) + )[0] + let spaceId: Ref = cardPlugin.space.Default + if (doc.private && migratedToCard?.space == null) { + const space: CardSpace = { + name: doc.name, + description: doc.description, + members: doc.members, + private: true, + archived: doc.archived, + autoJoin: doc.autoJoin, + owners: doc.owners, + types: [chat.masterTag.Thread], + space: cardPlugin.space.Default, + modifiedBy: doc.modifiedBy, + modifiedOn: doc.modifiedOn, + createdOn: doc.createdOn, + createdBy: doc.createdBy, + _class: cardPlugin.class.CardSpace, + _id: generateId() + } + await client.upload(ctx, DOMAIN_SPACE, [ + { ...space, __migratedFromChunter: true, __migratedFromDoc: doc._id } as any + ]) + spaceId = space._id + } else { + spaceId = (migratedToCard?.space ?? cardPlugin.space.Default) as Ref + } + + let card: Card | undefined + if (migratedToCard?.card != null) { + card = (await client.rawFindAll(DOMAIN_CARD, { _id: migratedToCard.card as Ref }, { limit: 1 }))[0] + } + + if (card == null) { + const _id = generateId() + const data = fillDefaults( + hierarchy, + { + title: doc.name, + rank: makeRank(lastOne?.rank, undefined), + content: '' as MarkupBlobRef, + blobs: {}, + parentInfo: [] + }, + chat.masterTag.Thread + ) + + card = { + ...data, + space: spaceId, + modifiedBy: doc.modifiedBy, + modifiedOn: doc.modifiedOn, + createdOn: doc.createdOn, + createdBy: doc.createdBy, + _class: chat.masterTag.Thread, + _id + } + + await client.upload(ctx, DOMAIN_CARD, [{ ...card, __migratedFromChunter: true, __migratedFromDoc: doc._id } as any]) + await addCollaboratorsToDb(db, ws.uuid, card._id, card._class, doc.members) + await client.rawUpdate( + DOMAIN_SPACE, + { _id: doc._id }, + { __migratedToCard: { card: card._id, space: spaceId } } + ) + doc.__migratedUntil = undefined + } + + await migrateMessages(ctx, ws, db, client, hierarchy, hulylake, accountClient, personUuidBySocialId, doc, [card]) +} + +async function migrateDirects ( + ctx: MeasureContext, + ws: Workspace, + db: postgres.Sql, + client: LowLevelStorage, + hierarchy: Hierarchy, + hulylake: HulylakeWorkspaceClient, + accountClient: AccountClient, + personUuidBySocialId: Map +): Promise { + const docs = await client.rawFindAll( + DOMAIN_SPACE, + { _class: chunter.class.DirectMessage }, + { sort: { createdOn: SortingOrder.Ascending } } + ) + if (docs == null || docs.length === 0) return + const limiter = new RateLimiter(5) + + for (const doc of docs) { + if ((doc.messages ?? 0) === 0) continue + + await limiter.add(async () => { + try { + ctx.info('Start migrate direct', { _id: doc._id }) + await migrateDirect(ctx, ws, db, client, hierarchy, hulylake, accountClient, personUuidBySocialId, doc) + } catch (e) { + ctx.error('Failed to migrate direct', { _id: doc._id }) + ctx.error('Error', { error: e }) + } + }) + } + + await limiter.waitProcessing() +} + +async function migrateDirect ( + ctx: MeasureContext, + ws: Workspace, + db: postgres.Sql, + client: LowLevelStorage, + hierarchy: Hierarchy, + hulylake: HulylakeWorkspaceClient, + accountClient: AccountClient, + personUuidBySocialId: Map, + doc: DirectMessage +): Promise { + const migratedToCard = doc.__migratedToCard + + const members = doc.members + + const persons = await client.rawFindAll(DOMAIN_CONTACT, { personUuid: { $in: members } }) + const personSpaces = ( + await client.rawFindAll(DOMAIN_SPACE, { person: { $in: persons.map((p) => p._id) } }) + ).sort((a, b) => a._id.localeCompare(b._id)) + if (personSpaces.length === 0) return + + let lastRank = ( + await client.rawFindAll(DOMAIN_CARD, {}, { sort: { rank: SortingOrder.Descending }, limit: 1 }) + )[0]?.rank + const peers: PeerInfo[] = [] + const directs: Direct[] = [] + + let createdDirect: Direct | undefined + + if (migratedToCard != null) { + createdDirect = ( + await client.rawFindAll( + DOMAIN_CARD, + { _class: communication.type.Direct, _id: migratedToCard.card as Ref }, + { limit: 1 } + ) + )[0] + } + + if (members.length <= 2 && createdDirect == null) { + const myDirects = await client.rawFindAll(DOMAIN_CARD, { + _class: communication.type.Direct, + space: personSpaces[0]._id + }) + createdDirect = myDirects.find((it) => { + const directMembers = new Set(it.members) + const createMembers = new Set(persons.map((p) => p._id)) + if (directMembers.size !== createMembers.size) return false + for (const item of directMembers) { + if (!createMembers.has(item as Ref)) return false + } + return true + }) + } + + if (createdDirect == null) { + const peerId = generateId() + doc.__migratedUntil = undefined + + for (const me of members) { + const person = persons.find((p) => p.personUuid === me) + if (person == null) continue + const space = personSpaces.find((p) => p.person === person._id) + if (space == null) continue + + const _id = generateId() + const data = fillDefaults( + hierarchy, + { + title: getDirectName(me, persons), + rank: makeRank(lastRank, undefined), + content: '' as MarkupBlobRef, + blobs: {}, + parentInfo: [], + members: persons.map((p) => p._id), + peerId + }, + communication.type.Direct + ) + lastRank = data.rank + + const direct: Direct = { + ...data, + space: space._id, + modifiedBy: doc.modifiedBy, + modifiedOn: doc.modifiedOn, + createdOn: doc.createdOn, + createdBy: doc.createdBy, + _class: communication.type.Direct, + _id + } + + directs.push(direct) + peers.push({ cardId: direct._id, space: direct.space as Ref }) + await client.upload(ctx, DOMAIN_CARD, [ + { ...direct, __migratedFromChunter: true, __migratedFromDoc: doc._id } as any + ]) + await addCollaboratorsToDb(db, ws.uuid, direct._id, direct._class, doc.members) + } + if (directs.length > 0) { + await client.rawUpdate( + DOMAIN_SPACE, + { _id: doc._id }, + { __migratedToCard: { card: directs[0]._id, space: directs[0].space } } + ) + + await addPeersToDb(db, ws.uuid, peerId, peers) + } + } else { + const cardPeer = await findPeer(db, ws.uuid, createdDirect._id) + if (cardPeer != null) { + for (const m of cardPeer.members) { + const d = ( + await client.rawFindAll(DOMAIN_CARD, { _class: communication.type.Direct, _id: m.cardId }) + )[0] + + if (d != null) { + directs.push(d) + peers.push({ cardId: m.cardId, space: m.extra.space as Ref }) + } + } + } + } + + await migrateMessages( + ctx, + ws, + db, + client, + hierarchy, + hulylake, + accountClient, + personUuidBySocialId, + doc, + directs, + peers + ) +} + +async function convertChunterMessage ( + client: LowLevelStorage, + hierarchy: Hierarchy, + card: Card, + message: RawMessage, + personUuidBySocialId: Map, + accountClient: AccountClient, + lastRank?: Rank, + peers: PeerInfo[] = [] +): Promise { + const oldAttachments: RawAttachment[] = message.attachments + const oldReactions: RawReaction[] = message.reactions + let oldReplies: RawMessage[] = [] + + const attachments: Record = {} + const reactions: Record> = {} + + let thread: Card | undefined + const threadMessages: MessageDoc[] = [] + const threadCollaborators: AccountUuid[] = [] + const threads: Record = {} + + if ((message.replies ?? 0) > 0) { + oldReplies = ( + await client.rawFindAll( + DOMAIN_ACTIVITY, + { _class: chunter.class.ThreadMessage, attachedTo: message._id }, + { + sort: { createdOn: SortingOrder.Ascending }, + lookup: { + _id: { + attachments: attachment.class.Attachment, + reactions: activity.class.Reaction + } + } + } + ) + ).map(threadMessageToRawMessage) + } + + if (oldReplies.length > 0) { + const firstReply = oldReplies[0] + const lastReply = oldReplies[oldReplies.length - 1] + const text = sanitizeTitle(markupToText(message.message).trim().slice(0, 30)) + const data = fillDefaults( + hierarchy, + { + title: text.length > 0 ? text : `Thread in ${card.title}`, + rank: makeRank(lastRank, undefined), + content: '' as MarkupBlobRef, + blobs: {}, + parentInfo: [ + { + _id: card._id, + _class: card._class, + title: card.title + } + ], + ...(peers.length > 0 ? { conversationId: message._id } : {}) + }, + chat.masterTag.Thread + ) + thread = { + ...data, + space: card.space, + modifiedBy: lastReply.modifiedBy, + modifiedOn: lastReply.modifiedOn, + createdOn: firstReply.createdOn ?? message.createdOn, + createdBy: firstReply.createdBy ?? message.createdBy, + _class: chat.masterTag.Thread, + _id: generateId() + } + + const repliedPersons: Record = {} + + for (const oldReply of oldReplies) { + const personUuid = await getPersonUuidBySocialId( + accountClient, + personUuidBySocialId, + oldReply.createdBy ?? oldReply.modifiedBy + ) + + if (personUuid != null) { + if (!threadCollaborators.includes(personUuid as AccountUuid)) { + threadCollaborators.push(personUuid as AccountUuid) + } + const current = repliedPersons[personUuid] ?? 0 + repliedPersons[personUuid] = current + 1 + } + + const converted = await convertChunterMessage( + client, + hierarchy, + thread, + oldReply, + personUuidBySocialId, + accountClient + ) + + threadMessages.push(converted.message) + } + const personUuid = await getPersonUuidBySocialId( + accountClient, + personUuidBySocialId, + message.createdBy ?? message.modifiedBy + ) + + if (personUuid != null) { + threadCollaborators.push(personUuid as AccountUuid) + } + + threads[thread._id] = { + threadId: thread._id, + threadType: thread._class, + repliesCount: oldReplies.length, + lastReplyDate: new Date(lastReply.createdOn ?? lastReply.modifiedOn).toISOString(), + repliedPersons + } + } + + for (const oldAttachment of oldAttachments) { + const id = oldAttachment._id as any as AttachmentID + if (oldAttachment.type !== 'application/link-preview') { + attachments[id] = { + id, + mimeType: oldAttachment.type, + params: { + blobId: oldAttachment.file, + fileName: oldAttachment.name, + size: oldAttachment.size, + metadata: oldAttachment.metadata + }, + creator: oldAttachment.createdBy, + created: new Date(oldAttachment.createdOn).toISOString(), + modified: null + } + } + } + + for (const oldReaction of oldReactions) { + const emoji = oldReaction.emoji as any as Emoji + const personsData = reactions[emoji] ?? {} + const personUuid = + (await getPersonUuidBySocialId(accountClient, personUuidBySocialId, oldReaction.createdBy)) ?? systemAccountUuid + + personsData[personUuid] = { count: 1, date: new Date(oldReaction.createdOn).toISOString() } + reactions[emoji] = personsData + } + + const communicationMessage = { + id: toMessageID(message._id), + cardId: card._id, + created: new Date(message.createdOn ?? message.modifiedOn).toISOString(), + creator: message.createdBy ?? message.modifiedBy, + type: MessageType.Text, + content: markupToMarkdown(markupToJSON(message.message)), + extra: {}, + language: null, + modified: message.editedOn != null ? new Date(message.editedOn).toISOString() : null, + attachments, + reactions, + threads + } + + return { message: communicationMessage, thread, threadMessages, threadCollaborators } +} + +function getDirectName (me: AccountUuid, persons: Person[]): string { + if (persons.length === 1) { + return persons.map((e) => formatName(e.name)).join(', ') + } else { + return persons + .filter((it) => it.personUuid !== me) + .map((e) => formatName(e.name)) + .join(', ') + } +} + +async function findPeer (db: postgres.Sql, ws: WorkspaceUuid, cardId: CardID): Promise { + const table = db(PEER_TABLE) + + const result = await db` + SELECT p.*, + COALESCE(members.members, '[]') AS members + FROM ${table} AS p + LEFT JOIN LATERAL ( + SELECT json_agg( + json_build_object( + 'workspace_id', p2.workspace_id, + 'card_id', p2.card_id, + 'extra', p2.extra + ) + ) AS members + FROM ${table} AS p2 + WHERE p2.value = p.value + AND p2.kind = 'card' + AND NOT (p2.workspace_id = p.workspace_id AND p2.card_id = p.card_id) + ) AS members ON true + WHERE p.workspace_id = ${ws} + AND p.card_id = ${cardId} + AND p.kind = 'card' + ` + + return result.map((r) => toPeer(r))[0] +} + +async function addPeersToDb ( + db: postgres.Sql, + ws: WorkspaceUuid, + conversationId: string, + peers: PeerInfo[] +): Promise { + const table = db(PEER_TABLE) + const date = Date.now() + const rows = peers.map((it) => ({ + workspace_id: ws, + card_id: it.cardId, + kind: 'card', + value: conversationId, + extra: { space: it.space }, + created: date + })) + + await db` INSERT INTO ${table} ${db(rows)} ON CONFLICT DO NOTHING` +} + +async function addCollaboratorsToDb ( + db: postgres.Sql, + ws: WorkspaceUuid, + cardId: CardID, + cardType: CardType, + collaborators: AccountUuid[] +): Promise { + if (collaborators.length === 0) return + const cTable = db(COLLABORATOR_TABLE) + const date = Date.now() + const cRows = collaborators.map((account) => ({ + workspace_id: ws, + card_id: cardId, + card_type: cardType, + date, + account + })) + + await db` INSERT INTO ${cTable} ${db(cRows)} ON CONFLICT (workspace_id, card_id, account) DO NOTHING` + const lTable = db(LABEL_TABLE) + + const lRows = collaborators.map((account) => ({ + workspace_id: ws, + card_id: cardId, + card_type: cardType, + label_id: 'card:label:Subscribed', + created: date, + account + })) + await db`INSERT INTO ${lTable} ${db(lRows)} ON CONFLICT DO NOTHING` +} + +async function isMessageIndexExists ( + ctx: MeasureContext, + db: postgres.Sql, + ws: WorkspaceUuid, + cardId: CardID, + messageId: MessageID +): Promise { + const table = db(MESSAGE_INDEX_TABLE) + try { + const res = await withRetry( + async () => + await db`SELECT * FROM ${table} WHERE workspace_id = ${ws} AND card_id = ${cardId} AND message_id = ${messageId}` + ) + return res.length > 0 + } catch (e) { + ctx.error('Failed to find message index', { error: e, ws, cardId, messageId }) + return false + } +} + +async function getActivityCursor ( + db: postgres.Sql, + ws: WorkspaceUuid, + space: Ref, + _class: Ref>, + limit = 500, + gte?: number +): Promise> { + const activivtyTable = db('public.activity') + const attachmentsTable = db('public.attachment') + const reactionsTable = db('public.reaction') + + return db` + SELECT + _id, + "modifiedBy", + "modifiedOn", + "createdBy", + "createdOn", + "attachedTo", + COALESCE((data->>'replies')::int, 0) AS replies, + data->'message' AS message, + data->'editedOn' AS "editedOn", + ( + SELECT json_agg( + json_build_object( + '_id', att._id, + 'createdBy', att."createdBy", + 'createdOn', att."createdOn", + 'type', att.data->>'type', + 'name', att.data->>'name', + 'size', att.data->>'size', + 'metadata', att.data->>'metadata', + 'file', att.data->'file' + ) + ) + FROM ${attachmentsTable} AS att + WHERE att."attachedTo" = activity._id + ) AS attachments, + ( + SELECT json_agg( + json_build_object( + '_id', r._id, + 'createdBy', r."createdBy", + 'createdOn', r."createdOn", + 'emoji', r.data->'emoji' + ) + ) + FROM ${reactionsTable} AS r + WHERE r."attachedTo" = activity._id + ) AS reactions + FROM ${activivtyTable} AS activity + WHERE "workspaceId" = ${ws}::uuid + AND "_class" = ${_class}::text + AND "attachedTo" = ${space}::text + ${gte != null ? db`AND "createdOn" >= ${gte}` : db``} + ORDER BY "createdOn" ASC; + `.cursor(limit) } async function migrateMessages ( ctx: MeasureContext, ws: Workspace, - card: CardID | undefined, db: postgres.Sql, - hulylake: HulylakeWorkspaceClient, - accountClient: AccountClient, - personUuidBySocialId: Map -): Promise { - const force = card != null && card !== '' - const cards = card != null && card !== '' ? [card] : await getMessagesCards(ws.uuid, db) - ctx.info(`Cards for migration: ${cards.length}, force: ${force}`) - let i = 0 - for (const card of cards) { - try { - i++ - const groups = await getGroups(ctx, hulylake, card) - const lastGroup = groups[groups.length - 1] - - ctx.info(`Migrating messages for card ${card} index ${i} from ${lastGroup?.toDate?.toISOString() ?? 'null'}`) - const cursor = getMessagesCursor(ws.uuid, card, db, force ? undefined : lastGroup?.toDate) - - for await (const messages of cursor) { - ctx.info(`Messages count ${messages.length}`) - if (messages.length === 0) continue - const oldMessages = messages.map(deserializeOldMessage).filter(notEmpty) - await migrateMessagesBatch(ctx, card, hulylake, accountClient, personUuidBySocialId, oldMessages) - } - } catch (e) { - ctx.error('Failed to migrate messages for card', card) - ctx.error('Error', { error: e }) - } - } -} - -async function migrateMessagesBatch ( - ctx: MeasureContext, - cardId: CardID, + client: LowLevelStorage, + hierarchy: Hierarchy, hulylake: HulylakeWorkspaceClient, accountClient: AccountClient, personUuidBySocialId: Map, - messages: OldMessage[] + doc: ChunterSpace, + cards: Card[], + peers: PeerInfo[] = [] ): Promise { - const newMessages: MessageDoc[] = [] - for (const oldMessage of messages) { - const newMessageDoc = await oldMessageToNewMessageDoc(oldMessage, accountClient, personUuidBySocialId) - newMessages.push(newMessageDoc) + if (cards.length === 0) return + + for (const card of cards) { + await createGroupsBlob(hulylake, card._id) } - const chunks = chunkMessagesBySize(ctx, newMessages) + const iterator = await getActivityCursor(db, ws.uuid, doc._id, chunter.class.ChatMessage, 400, doc.__migratedUntil) + + let prev: RawMessage[] = [] + + let mi = 0 + let last: RawMessage | undefined + let allIndex = 0 + for await (const nn of iterator) { + const next = nn.map(toMessage).filter(notEmpty) + last = next[next.length - 1] ?? last + allIndex += next.length + const messages = [...prev, ...next] + ctx.info('migrate messages', { all: allIndex, current: next.length, messages: messages.length }) + while (messages.length >= MAX_MESSAGES_BATCH || next.length === 0) { + if (messages.length === 0) break + const batch = messages.splice(0, MAX_MESSAGES_BATCH) + const convertedMessages: MessageDoc[] = [] + for (const card of cards) { + for (const m of batch) { + mi++ + if (mi % 100 === 0) console.log('convert messages', mi) + + if (doc.__migratedUntil != null && (m?.createdOn ?? 0) <= doc.__migratedUntil) { + const isExists = await isMessageIndexExists(ctx, db, ws.uuid, card._id, toMessageID(m._id)) + if (isExists) continue + } + + const converted = await convertChunterMessage( + client, + hierarchy, + card, + m, + personUuidBySocialId, + accountClient, + card.rank, + peers + ) + if (converted.thread != null && converted.threadMessages.length > 0) { + await createThread( + ctx, + db, + ws.uuid, + hulylake, + client, + converted.message, + converted.thread, + converted.threadMessages, + converted.threadCollaborators, + peers, + doc._id + ) + } + convertedMessages.push(converted.message) + } + await insertMessages(ctx, db, ws.uuid, hulylake, card, convertedMessages) + } + } + prev = messages + } + + if (prev.length > 0) { + const convertedMessages: MessageDoc[] = [] + for (const card of cards) { + for (const m of prev) { + mi++ + if (mi % 100 === 0) console.log('convert messages', mi) + + if (doc.__migratedUntil != null && (m?.createdOn ?? 0) <= doc.__migratedUntil) { + const isExists = await isMessageIndexExists(ctx, db, ws.uuid, card._id, toMessageID(m._id)) + if (isExists) continue + } + + const converted = await convertChunterMessage( + client, + hierarchy, + card, + m, + personUuidBySocialId, + accountClient, + card.rank, + peers + ) + if (converted.thread != null && converted.threadMessages.length > 0) { + await createThread( + ctx, + db, + ws.uuid, + hulylake, + client, + converted.message, + converted.thread, + converted.threadMessages, + converted.threadCollaborators, + peers, + doc._id + ) + } + convertedMessages.push(converted.message) + } + + await insertMessages(ctx, db, ws.uuid, hulylake, card, convertedMessages) + } + } + + if (last != null) { + await client.rawUpdate(DOMAIN_SPACE, { _id: doc._id }, { __migratedUntil: last?.createdOn }) + } +} + +async function createThread ( + ctx: MeasureContext, + db: postgres.Sql, + ws: WorkspaceUuid, + hulylake: HulylakeWorkspaceClient, + client: LowLevelStorage, + parentMessage: MessageDoc, + thread: Card, + messages: MessageDoc[], + collaborators: AccountUuid[], + peers: PeerInfo[], + docId: Ref +): Promise { + try { + await client.upload(ctx, DOMAIN_CARD, [{ ...thread, __migratedFromChunter: true, __migratedFromDoc: docId } as any]) + await addCollaboratorsToDb(db, ws, thread._id, thread._class, collaborators) + await createGroupsBlob(hulylake, thread._id) + const parent = { + ...parentMessage, + cardId: thread._id, + extra: { ...parentMessage.extra, threadRoot: true }, + reactions: {}, + threads: {} + } + await insertMessages(ctx, db, ws, hulylake, thread, [parent, ...messages]) + + if (peers.length > 0 && thread.peerId != null) { + await addPeersToDb(db, ws, thread.peerId, [{ cardId: thread._id, space: thread.space as Ref }]) + } + } catch (e) { + ctx.error('Failed to create thread', { thread, parentMessage }) + console.error(e) + } +} + +async function insertMessageIndex ( + db: postgres.Sql, + ws: WorkspaceUuid, + blobId: BlobID, + messages: MessageDoc[] +): Promise { + try { + if (messages.length === 0) return + const table = db(MESSAGE_INDEX_TABLE) + const rows = messages.map((it) => ({ + workspace_id: ws, + card_id: it.cardId, + created: it.created, + creator: it.creator, + message_id: it.id, + blob_id: blobId + })) + + await withRetry(async () => await db` INSERT INTO ${table} ${db(rows)} ON CONFLICT DO NOTHING`) + } catch (e) { + console.error(e) + } +} + +function sanitizeTitle (value: string): string { + return value.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(? { + const threads = messages.flatMap((it) => Object.values(it.threads).map((t) => [it.id, it.cardId, t] as const)) + if (threads.length === 0) return + try { + const table = db(THREAD_INDEX_TABLE) + const rows = threads.map(([messageId, cardId, it]) => ({ + workspace_id: ws, + card_id: cardId, + thread_id: it.threadId, + thread_type: it.threadType, + message_id: messageId, + replies_count: it.repliesCount, + last_reply: it.lastReplyDate ?? new Date().toISOString() + })) + + await withRetry(async () => await db` INSERT INTO ${table} ${db(rows)} ON CONFLICT DO NOTHING`) + } catch (e) { + console.error(e) + } +} + +async function insertMessages ( + ctx: MeasureContext, + db: postgres.Sql, + ws: WorkspaceUuid, + hulylake: HulylakeWorkspaceClient, + card: Card, + messages: MessageDoc[] +): Promise { + const chunks = chunkMessagesBySize(ctx, messages) + for (const chunk of chunks) { const fromDate = chunk.from const toDate = chunk.to const blobId = generateUuid() as BlobID const newGroupDoc: MessagesGroupDoc = { - cardId, + cardId: card._id, blobId, fromDate: fromDate.toISOString(), toDate: toDate.toISOString(), count: chunk.count } const newMessagesDoc: MessagesDoc = { - cardId, + cardId: card._id, fromDate: fromDate.toISOString(), toDate: toDate.toISOString(), messages: chunk.chunk, @@ -144,47 +980,23 @@ async function migrateMessagesBatch ( } as const ] - await hulylake.patchJson(`${cardId}/messages/groups`, jsonPatches, undefined, { - maxRetries: 3, - isRetryable: () => true, - delayStrategy: { - getDelay: () => 1000 - } - }) - await hulylake.putJson(`${cardId}/messages/${blobId}`, newMessagesDoc, undefined, { - maxRetries: 3, - isRetryable: () => true, - delayStrategy: { - getDelay: () => 1000 - } - }) + await insertMessageIndex(db, ws, blobId, Object.values(newMessagesDoc.messages)) + await insertThreadIndex(db, ws, Object.values(newMessagesDoc.messages)) + await hulylake.patchJson(`${card._id}/messages/groups`, jsonPatches, undefined, DEFAULT_RETRY_OPTIONS) + await hulylake.putJson(`${card._id}/messages/${blobId}`, newMessagesDoc, undefined, DEFAULT_RETRY_OPTIONS) } } -async function getGroups ( - ctx: MeasureContext, - hulylake: HulylakeWorkspaceClient, - cardId: CardID -): Promise { - const res = await hulylake.getJson(`${cardId}/messages/groups`, { - maxRetries: 3, - isRetryable: () => true, - delayStrategy: { - getDelay: () => 500 - } - }) - if (res.body != null) { - return deserializeMessagesGroups(res.body) +function toMessageID (_id: Ref): MessageID { + if (_id.length <= 22) { + return _id as any as MessageID } + const buf = Buffer.from(_id, 'hex') + return buf.toString('base64url') as MessageID +} - await hulylake.putJson(`${cardId}/messages/groups`, {}, undefined, { - maxRetries: 3, - isRetryable: () => true, - delayStrategy: { - getDelay: () => 1000 - } - }) - return [] +async function createGroupsBlob (hulylake: HulylakeWorkspaceClient, cardId: CardID): Promise { + await hulylake.putJson(`${cardId}/messages/groups`, {}, undefined, DEFAULT_RETRY_OPTIONS) } function chunkMessagesBySize ( @@ -261,640 +1073,158 @@ function chunkMessagesBySize ( return chunks } -async function oldMessageToNewMessageDoc ( - oldMessage: OldMessage, - accountClient: AccountClient, - personUuidBySocialId: Map -): Promise { - const reactions: Record> = {} - const attachments: Record = {} - const threads: Record = {} - - const reactionsByEmoji = groupByArray(oldMessage.reactions, (it) => it.reaction) - for (const [_emoji, oldReactions] of reactionsByEmoji.entries()) { - const emoji = _emoji as Emoji - if (reactions[emoji] == null) { - reactions[emoji] = {} - } - for (const oldReaction of oldReactions) { - const personUuid = await getPersonUuidBySocialId(accountClient, personUuidBySocialId, oldReaction.creator) - - if (personUuid == null) continue - if (reactions[emoji][personUuid] == null) { - reactions[emoji][personUuid] = { - count: 1, - date: oldReaction.created.toISOString() - } - } - } - } - - for (const oldAttachment of oldMessage.attachments) { - attachments[oldAttachment.id] = { - id: oldAttachment.id, - mimeType: - oldAttachment.mimeType ?? - (oldAttachment as any)?.params?.mimeType ?? - (oldAttachment as any).type ?? - (oldAttachment as any)?.params?.type ?? - '', - params: oldAttachment.params, - creator: oldAttachment.creator, - created: oldAttachment.created.toISOString(), - modified: oldAttachment.modified?.toISOString() ?? null - } - } - - if (oldMessage.thread != null) { - threads[oldMessage.thread.threadId] = { - threadId: oldMessage.thread.threadId, - threadType: oldMessage.thread.threadType, - repliesCount: oldMessage.thread.repliesCount, - lastReplyDate: oldMessage.thread.lastReply?.toISOString() ?? null, - repliedPersons: {} - } - } - return { - id: oldMessage.id, - cardId: oldMessage.cardId, - type: oldMessage.type === 'activity' ? MessageType.Activity : MessageType.Text, - content: oldMessage.content, - extra: oldMessage.extra ?? {}, - creator: oldMessage.creator, - created: oldMessage.created.toISOString(), - modified: oldMessage.edited?.toISOString() ?? null, - language: null, - reactions, - attachments, - threads - } -} - function sizeOfJson (obj: unknown): number { return Buffer.byteLength(JSON.stringify(obj), 'utf8') } async function getPersonUuidBySocialId ( - ccountClient: AccountClient, + accountClient: AccountClient, personUuidBySocialId: Map, socialId: PersonId ): Promise { if (personUuidBySocialId.has(socialId)) { return personUuidBySocialId.get(socialId) } - const personUuid = await ccountClient.findPersonBySocialId(socialId) - if (personUuid != null) { - personUuidBySocialId.set(socialId, personUuid) + try { + const personUuid = await withRetry(async () => await accountClient.findPersonBySocialId(socialId)) + if (personUuid != null) { + personUuidBySocialId.set(socialId, personUuid) + } + + return personUuid + } catch (e) { + console.log('Failed to find personUuid', { socialId }) + console.log(e) } - return personUuid + return undefined } -async function getMessagesCards (ws: WorkspaceUuid, db: postgres.Sql): Promise { - const table = db(MESSAGES_TABLE) - const res = await db` - SELECT DISTINCT card_id - FROM ${table} - WHERE workspace_id = ${ws} - ` - - return res.map((r) => r.card_id) -} - -function getMessagesCursor ( - ws: WorkspaceUuid, - cardId: CardID, - db: postgres.Sql, - from?: Date -): AsyncIterable { - const messagesTable = db(MESSAGES_TABLE) - const threadIndexTable = db(THREAD_INDEX_TABLE) - const attachmentTable = db(ATTACHMENT_TABLE) - const reactionTable = db(REACTION_TABLE) - const patchTable = db(PATCH_TABLE) - - return db`WITH - limited_messages AS ( - SELECT * - FROM ${messagesTable} m - WHERE m.workspace_id = ${ws} - AND m.card_id = ${cardId} - ${from != null ? db`AND m.created > ${from}` : db``} - ORDER BY m.created ASC - ), - - agg_attachments AS ( - SELECT - a.workspace_id, - a.card_id, - a.message_id, - jsonb_agg(jsonb_build_object( - 'id', a.id, - 'type', a.type, - 'params', a.params, - 'creator', a.creator, - 'created', a.created, - 'modified', a.modified - )) AS attachments - FROM ${attachmentTable} a - INNER JOIN limited_messages m - ON m.workspace_id = a.workspace_id - AND m.card_id = a.card_id - AND m.id = a.message_id - GROUP BY a.workspace_id, a.card_id, a.message_id - ), - - agg_reactions AS ( - SELECT - r.workspace_id, - r.card_id, - r.message_id, - jsonb_agg(jsonb_build_object( - 'reaction', r.reaction, - 'creator', r.creator, - 'created', r.created - )) AS reactions - FROM ${reactionTable} r - INNER JOIN limited_messages m - ON m.workspace_id = r.workspace_id - AND m.card_id = r.card_id - AND m.id = r.message_id - GROUP BY r.workspace_id, r.card_id, r.message_id - ), - - agg_patches AS ( - SELECT - p.workspace_id, - p.card_id, - p.message_id, - jsonb_agg( - jsonb_build_object( - 'type', p.type, - 'data', p.data, - 'creator', p.creator, - 'created', p.created - ) ORDER BY p.created ASC - ) AS patches - FROM ${patchTable} p - INNER JOIN limited_messages m - ON m.workspace_id = p.workspace_id - AND m.card_id = p.card_id - AND m.id = p.message_id - GROUP BY p.workspace_id, p.card_id, p.message_id - ) - - SELECT m.id::text, - m.card_id, - m.type, - m.content, - m.creator, - m.created, - m.data, - t.thread_id AS thread_id, - t.thread_type AS thread_type, - t.replies_count::int AS replies_count, - t.last_reply AS last_reply, - COALESCE(a.attachments, '[]'::jsonb) AS attachments, - COALESCE(r.reactions, '[]'::jsonb) AS reactions, - COALESCE(p.patches, '[]'::jsonb) AS patches - FROM limited_messages m - LEFT JOIN ${threadIndexTable} t - ON t.workspace_id = m.workspace_id - AND t.card_id = m.card_id - AND t.message_id = m.id - LEFT JOIN agg_attachments a - ON a.workspace_id = m.workspace_id - AND a.card_id = m.card_id - AND a.message_id = m.id - LEFT JOIN agg_reactions r - ON r.workspace_id = m.workspace_id - AND r.card_id = m.card_id - AND r.message_id = m.id - LEFT JOIN agg_patches p - ON p.workspace_id = m.workspace_id - AND p.card_id = m.card_id - AND p.message_id = m.id - ORDER BY m.created ASC;`.cursor(200) -} - -function deserializeMessagesGroups (groups: MessagesGroupsDoc): MessagesGroup[] { - return Object.values(groups) - .map((group) => { - const g: MessagesGroup = { - cardId: group.cardId, - blobId: group.blobId, - fromDate: new Date(group.fromDate), - toDate: new Date(group.toDate), - count: Number(group.count) - } - - return g - }) - .sort((a, b) => a.fromDate.getTime() - b.fromDate.getTime()) -} - -function deserializePatch (raw: any): Patch { +function toPeer (raw: any): CardPeer { return { - type: raw.type, - messageId: String(raw.message_id) as MessageID, - data: raw.data, - creator: raw.creator, - created: new Date(raw.created) - } -} - -function deserializeOldMessage (raw: any): OldMessage | undefined { - const patches: Patch[] = (raw.patches ?? []).map((it: any) => deserializePatch(it)) - const rawMessage: OldMessage = { - id: String(raw.id) as MessageID, - type: raw.type, + workspaceId: raw.workspace_id, cardId: raw.card_id, - content: raw.content, - creator: raw.creator, + value: raw.value, + extra: raw.extra, created: new Date(raw.created), - removed: false, - extra: raw.data, - thread: - raw.thread_id != null && raw.thread_type != null - ? { - cardId: raw.card_id, - messageId: String(raw.id) as MessageID, - threadId: raw.thread_id, - threadType: raw.thread_type, - repliesCount: raw.replies_count != null ? Number(raw.replies_count) : 0, - lastReply: raw.last_reply ?? new Date() - } - : undefined, - reactions: (raw.reactions ?? []).map(deserializeReaction), - attachments: (raw.attachments ?? []).map(deserializeAttachment) - } - - if (patches.length === 0) { - return rawMessage - } - - return applyPatches( - rawMessage, - patches.filter((it) => it.type === PatchType.update || it.type === PatchType.remove) - ) -} - -function deserializeReaction (raw: any): OldReaction { - return { - reaction: raw.reaction, - creator: raw.creator, - created: new Date(raw.created) + kind: 'card', + members: + raw.members?.map((it: any) => ({ + workspaceId: it.workspace_id, + cardId: it.card_id, + extra: it.extra ?? {} + })) ?? [] } } -function deserializeAttachment (raw: any): Attachment { - return { - id: String(raw.id) as AttachmentID, - type: raw.type, - params: raw.params, - creator: raw.creator, - created: new Date(raw.created), - modified: raw.modified != null ? new Date(raw.modified) : undefined - } as any as Attachment -} - -export function applyPatches (message: OldMessage, patches: Patch[]): OldMessage | undefined { - if (patches.length === 0) return message - - let result: OldMessage | undefined = message - for (const p of patches) { - result = applyPatch(message, p) - } - return result -} - -function applyPatch (message: OldMessage, patch: Patch): OldMessage | undefined { - if (message.removed) { +function toMessage (r: any): RawMessage | undefined { + try { + return { + _id: r._id, + modifiedBy: r.modifiedBy, + modifiedOn: Number(r.modifiedOn ?? 0), + createdBy: r.createdBy, + createdOn: Number(r.createdOn ?? 0), + replies: Number(r.replies ?? 0), + editedOn: r.editedOn != null ? Number(r.editedOn) : undefined, + message: r.message, + attachments: (r.attachments ?? []).map(toAttachment).filter(notEmpty), + reactions: (r.reactions ?? []).map(toReaction).filter(notEmpty) + } + } catch (e) { + console.log('Failed to deserialize message', r) + console.log(e) return undefined } +} - switch (patch.type) { - case PatchType.update: { - if (patch.created.getTime() < (message.edited?.getTime() ?? 0)) { - return message - } - return { - ...message, - edited: patch.created, - content: patch.data.content ?? message.content, - extra: patch.data.extra ?? message.extra - } +function toAttachment (a: any): RawAttachment | undefined { + try { + return { + _id: a._id, + createdBy: a.createdBy, + createdOn: Number(a.createdOn ?? 0), + type: a.type, + name: a.name, + size: Number(a.size ?? 0), + metadata: a.metadata ?? {}, + file: a.file } - case PatchType.remove: { - return undefined + } catch (e) { + console.log('Failed to deserialize attachment', a) + console.log(e) + return undefined + } +} + +function toReaction (r: any): RawReaction | undefined { + try { + return { + _id: r._id, + createdBy: r.createdBy, + createdOn: Number(r.createdOn ?? 0), + emoji: r.emoji } - case PatchType.reaction: - return patchReactions(message, patch) - case PatchType.attachment: - return patchAttachments(message, patch) - case PatchType.thread: - return patchThread(message, patch) + } catch (e) { + console.log('Failed to deserialize reaction', r) + console.log(e) } } -function patchAttachments (message: OldMessage, patch: AttachmentPatch): OldMessage { - if (patch.data.operation === 'add') { - return addAttachments(message, patch.data.attachments, patch.created, patch.creator) - } else if (patch.data.operation === 'remove') { - return removeAttachments(message, patch.data.ids) - } else if (patch.data.operation === 'set') { - return setAttachments(message, patch.data.attachments, patch.created, patch.creator) - } else if (patch.data.operation === 'update') { - return updateAttachments(message, patch.data.attachments, patch.created) - } - return message -} - -function patchReactions (message: OldMessage, patch: ReactionPatch): OldMessage { - if (patch.data.operation === 'add') { - return setReaction(message, patch.data.reaction, patch.creator, patch.created) - } else if (patch.data.operation === 'remove') { - return removeReaction(message, patch.data.reaction, patch.creator) - } - return message -} - -function setReaction (message: OldMessage, reaction: string, creator: SocialID, created: Date): OldMessage { - const isExist = message.reactions.some((it) => it.reaction === reaction && it.creator === creator) - if (isExist) return message - message.reactions.push({ - reaction, - creator, - created - }) - return message -} - -function removeReaction (message: OldMessage, reaction: string, creator: SocialID): OldMessage { - const reactions = message.reactions.filter((it) => it.reaction !== reaction || it.creator !== creator) - if (reactions.length === message.reactions.length) return message - +function threadMessageToRawMessage (r: WithLookup): RawMessage { return { - ...message, - reactions + _id: r._id, + modifiedBy: r.modifiedBy, + modifiedOn: Number(r.modifiedOn ?? 0), + createdBy: r.createdBy ?? r.modifiedBy, + createdOn: Number(r.createdOn ?? 0), + replies: 0, + editedOn: r.editedOn != null ? Number(r.editedOn) : undefined, + message: r.message, + attachments: (r.$lookup?.attachments ?? []).map(toAttachment).filter(notEmpty), + reactions: (r.$lookup?.reactions ?? []).map(toReaction).filter(notEmpty) } } -function addAttachments (message: OldMessage, data: AttachmentData[], created: Date, creator: SocialID): OldMessage { - const newAttachments: Attachment[] = [] - for (const attach of data) { - const isExists = message.attachments.some((it) => it.id === attach.id) - if (isExists === undefined) continue - const attachment: Attachment = { - ...attach, - created, - creator - } as any - newAttachments.push(attachment) - } - - if (newAttachments.length === 0) return message - return { - ...message, - attachments: [...message.attachments, ...newAttachments] - } +interface ConvertedMessage { + message: MessageDoc + thread?: Card + threadMessages: MessageDoc[] + threadCollaborators: AccountUuid[] } -function updateAttachments (message: OldMessage, updates: AttachmentUpdateData[], date: Date): OldMessage { - if (updates.length === 0) return message - const updatedAttachments: Attachment[] = [] - for (const attachment of message.attachments) { - const update = updates.find((it) => it.id === attachment.id) - if (update === undefined) { - updatedAttachments.push(attachment) - } else { - updatedAttachments.push({ - ...attachment, - params: { - ...attachment.params, - ...update.params - }, - modified: date.getTime() > (attachment.modified?.getTime() ?? 0) ? date : attachment.modified - } as any) - } - } - - return { - ...message, - attachments: updatedAttachments - } -} - -function removeAttachments (message: OldMessage, ids: AttachmentID[]): OldMessage { - const attachments = message.attachments.filter((it) => !ids.includes(it.id)) - if (attachments.length === message.attachments.length) return message - - return { - ...message, - attachments - } -} - -function setAttachments (message: OldMessage, data: AttachmentData[], created: Date, creator: SocialID): OldMessage { - if (data.length === 0) return message - return { - ...message, - attachments: data.map( - (it) => - ({ - ...it, - created, - creator - }) as any - ) - } -} - -function patchThread (message: OldMessage, patch: ThreadPatch): OldMessage { - if (patch.data.operation === 'attach') { - return attachThread(message, patch.data.threadId, patch.data.threadType) - } else if (patch.data.operation === 'update') { - return updateThread( - message, - patch.data.threadId, - patch.data.threadType, - patch.data.repliesCountOp, - patch.data.lastReply - ) - } - return message -} - -function attachThread (message: OldMessage, threadId: CardID, threadType: CardType): OldMessage { - if (message.thread !== undefined) return message - return { - ...message, - thread: { - cardId: message.cardId, - messageId: message.id, - threadId, - threadType, - repliesCount: 0, - lastReply: new Date() - } - } -} - -function updateThread ( - message: OldMessage, - threadId: CardID, - threadType?: CardType, - repliesCountOp?: 'increment' | 'decrement', - lastReply?: Date -): OldMessage { - if (repliesCountOp === undefined && lastReply === undefined) return message - if (message.thread === undefined) return message - if (message.thread.threadId !== threadId) return message - - let count = message.thread.repliesCount - if (repliesCountOp === 'increment') { - count = count + 1 - } - - if (repliesCountOp === 'decrement') { - count = Math.max(count - 1, 0) - } - - return { - ...message, - thread: { - ...message.thread, - repliesCount: count, - threadType: threadType ?? message.thread.threadType, - lastReply: lastReply ?? message.thread.lastReply - } - } -} - -interface OldMessage { - id: MessageID +interface PeerInfo { cardId: CardID - type: 'message' | 'activity' - content: Markdown - extra?: MessageExtra - creator: SocialID - created: Date - - removed: boolean - edited?: Date - - reactions: OldReaction[] - attachments: Attachment[] - thread?: OldThread + space: Ref } -interface OldReaction { - reaction: string - creator: SocialID - created: Date +interface RawAttachment { + _id: string + createdBy: PersonId + createdOn: number + type: string + name: string + size: number + metadata?: Record + file: string } -interface OldThread { - cardId: CardID - messageId: MessageID - threadId: CardID - threadType: CardType - repliesCount: number - lastReply: Date +interface RawReaction { + _id: string + createdBy: PersonId + createdOn: number + emoji: string } -type Patch = UpdatePatch | RemovePatch | ReactionPatch | ThreadPatch | AttachmentPatch - -enum PatchType { - update = 'update', - remove = 'remove', - reaction = 'reaction', - attachment = 'attachment', - thread = 'thread' -} - -interface BasePatch { - messageId: MessageID - type: PatchType - creator: SocialID - created: Date - - data: Record -} - -interface UpdatePatch extends BasePatch { - type: PatchType.update - data: UpdatePatchData -} - -interface UpdatePatchData { - content?: Markdown - extra?: MessageExtra -} - -interface RemovePatch extends BasePatch { - type: PatchType.remove - data: RemovePatchData -} - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -interface RemovePatchData {} - -interface ReactionPatch extends BasePatch { - type: PatchType.reaction - data: AddReactionPatchData | RemoveReactionPatchData -} - -interface AddReactionPatchData { - operation: 'add' - reaction: string -} - -interface RemoveReactionPatchData { - operation: 'remove' - reaction: string -} - -interface AttachmentPatch extends BasePatch { - type: PatchType.attachment - data: AddAttachmentsPatchData | RemoveAttachmentsPatchData | SetAttachmentsPatchData | UpdateAttachmentsPatchData -} - -interface AddAttachmentsPatchData { - operation: 'add' - attachments: AttachmentData[] -} - -interface RemoveAttachmentsPatchData { - operation: 'remove' - ids: AttachmentID[] -} - -interface SetAttachmentsPatchData { - operation: 'set' - attachments: AttachmentData[] -} - -interface UpdateAttachmentsPatchData { - operation: 'update' - attachments: AttachmentUpdateData[] -} - -interface ThreadPatch extends BasePatch { - type: PatchType.thread - data: AttachThreadPatchData | UpdateThreadPatchData -} - -interface AttachThreadPatchData { - operation: 'attach' - threadId: CardID - threadType: CardType -} - -interface UpdateThreadPatchData { - operation: 'update' - threadId: CardID - threadType?: CardType - repliesCountOp?: 'increment' | 'decrement' - lastReply?: Date +interface RawMessage { + _id: Ref + modifiedBy: PersonId + modifiedOn: number + createdBy: PersonId + createdOn: number + replies: number + editedOn?: number + message: Markup + attachments: RawAttachment[] + reactions: RawReaction[] } diff --git a/dev/tool/src/index.ts b/dev/tool/src/index.ts index deb4a85794..4b0ca60591 100644 --- a/dev/tool/src/index.ts +++ b/dev/tool/src/index.ts @@ -135,9 +135,9 @@ import { sendTransactorEvent } from '@hcengineering/server-tool' import { existsSync } from 'fs' import { mkdir, writeFile } from 'fs/promises' import { dirname } from 'path' -import { migrateWorkspaceMessages } from './communication' import { restoreMarkupRefs } from './markup' import { restoreGithubIntegrations } from './restoreGithub' +import { migrateWorkspaceChat } from './communication' const colorConstants = { colorRed: '\u001b[31m', @@ -2853,15 +2853,16 @@ export function devTool ( }) program - .command('migrate-communication-to-hulylake ') - .description('Migrate communication messages to hulylake') - .option('-c, --card ', 'Card to migrate') - .action(async (workspace: WorkspaceUuid, cmd: { card?: CardID }) => { - const { dbUrl } = prepareTools() + .command('migrate-chat-to-communication') + .description('Migrate old chat to new communication') + .option('-w, --workspace ', 'Workspace to migrate') + .action(async (cmd: { workspace?: WorkspaceUuid }) => { + const { dbUrl, txes } = prepareTools() const hulylakeUrl = process.env.HULYLAKE_URL ?? '' + const workspace = cmd.workspace console.log('Workspace', workspace) - console.log('Card', cmd.card) + if (hulylakeUrl === '') { throw new Error('HULYLAKE_URL should be specified') } @@ -2873,31 +2874,73 @@ export function devTool ( const dbClient = await db.getClient() const accountClient = getAccountClient(token) const personUuidBySocialId = new Map() + const storageConfig = storageConfigFromEnv() + const storage: StorageAdapter = buildStorageFromConfig(storageConfig) await withAccountDatabase(async (accountDb) => { - const ws = (await accountDb.workspace.find({ uuid: workspace }))[0] - if (ws === undefined) { - throw new Error(`Workspace ${workspace} not found`) - } - try { - const hulylake = getHulylakeClient(hulylakeUrl, ws.uuid, token) - console.log('start workspace migration', ws.name) - await migrateWorkspaceMessages( - toolCtx.newChild(ws.name, {}), - ws, - cmd.card, - dbClient, - hulylake, - accountClient, - personUuidBySocialId - ) - console.log('done workspace migration', ws.name) - } catch (err: any) { - console.error('failed to migrate workspace', ws.name) - console.error(err) + const workspaces = + workspace != null + ? await accountDb.workspaceStatus.find({ workspaceUuid: workspace }) + : await accountDb.workspaceStatus.find({}, { lastVisit: 'descending' }) + for (const wss of workspaces) { + try { + const ws = await accountDb.workspace.findOne({ uuid: wss.workspaceUuid }) + if (ws == null) continue + const hulylake = getHulylakeClient(hulylakeUrl, ws.uuid, token) + + let pipeline: Pipeline | undefined + try { + pipeline = await createBackupPipeline(toolCtx, dbUrl, txes, { + externalStorage: storage, + usePassedCtx: true + })( + toolCtx, + { + uuid: ws.uuid, + url: ws.url ?? '', + dataId: ws.dataId + }, + createEmptyBroadcastOps(), + null + ) + } catch (e) { + pipeline = undefined + } + if (pipeline === undefined) { + toolCtx.error('failed to migrate, pipeline is undefined', { ws }) + return + } + const client = pipeline.context.lowLevelStorage + + if (client == null) { + toolCtx.error('failed to migrate, lowLevelStorage is undefined', { ws }) + return + } + + console.log('------------start workspace migration', ws.name) + const s = Date.now() + await migrateWorkspaceChat( + toolCtx.newChild(ws.name, {}), + ws, + dbClient, + client, + pipeline.context.hierarchy, + hulylake, + accountClient, + personUuidBySocialId + ) + const e = Date.now() + console.log('---------------done workspace migration', ws.name, ((e - s) / 1000 / 60).toFixed(2), 'minutes') + await pipeline.close() + } catch (err: any) { + console.error('failed to migrate workspace', wss.workspaceUuid) + console.error(err) + } } db.close() }, dbUrl) + + console.log('done') }) program diff --git a/models/chunter/src/types.ts b/models/chunter/src/types.ts index 78204b02c7..d24001f8da 100644 --- a/models/chunter/src/types.ts +++ b/models/chunter/src/types.ts @@ -22,7 +22,8 @@ import { TypeMarkup, TypeRef, TypeString, - UX + UX, + Hidden } from '@hcengineering/model' import core, { TClass, TDoc, TSpace } from '@hcengineering/model-core' import type { @@ -42,6 +43,7 @@ import { DOMAIN_MODEL, IndexKind, type Ref, + type Space, type Timestamp } from '@hcengineering/core' import contact, { type ChannelProvider as SocialChannelProvider, type Person } from '@hcengineering/contact' @@ -59,6 +61,15 @@ export const DOMAIN_CHUNTER = 'chunter' as Domain export class TChunterSpace extends TSpace implements ChunterSpace { @Prop(PropCollection(activity.class.ActivityMessage), chunter.string.Messages) messages?: number + + @Hidden() + __migratedToCard?: { + card: Ref + space: Ref + } + + @Hidden() + __migratedUntil?: Timestamp } @Model(chunter.class.Channel, chunter.class.ChunterSpace) diff --git a/plugins/chunter/src/index.ts b/plugins/chunter/src/index.ts index fd2a0427a2..0bd96810fe 100644 --- a/plugins/chunter/src/index.ts +++ b/plugins/chunter/src/index.ts @@ -28,6 +28,12 @@ import { Widget, WidgetTab } from '@hcengineering/workbench' */ export interface ChunterSpace extends Space { messages?: number + + __migratedToCard?: { + card?: Ref + space?: Ref + } + __migratedUntil?: Timestamp } /** diff --git a/server/backup/src/backup.ts b/server/backup/src/backup.ts index 1bb041abba..5a63011300 100644 --- a/server/backup/src/backup.ts +++ b/server/backup/src/backup.ts @@ -100,6 +100,7 @@ export async function backup ( progress?: (progress: number) => Promise token?: string fullVerify?: boolean + forceCompact?: boolean keepSnapshots: number msg?: Record } = { @@ -146,6 +147,7 @@ export async function backup ( const tmpRoot = mkdtempSync('huly') const forcedFullCheck = '4' + const forcedCompact = '1' try { let backupInfo: BackupInfo = { @@ -155,6 +157,7 @@ export async function backup ( domainHashes: {}, migrations: { zeroCheckSize: true, // Assume already checked for new backups + forcedCompact, // Force backup compaction forcedFullCheck // A force to full recheck. }, dataSize: 0, @@ -202,12 +205,18 @@ export async function backup ( } let fullCheck = options.fullVerify === true + let forceCompact = options.forceCompact === true if (backupInfo.migrations.forcedFullCheck !== forcedFullCheck) { // We have forced full check to be performed. fullCheck = true } - if (backupInfo.snapshots.length > options.keepSnapshots) { + if (backupInfo.migrations.forcedCompact !== forcedCompact) { + // We have forced compaction to be performed. + forceCompact = true + } + + if (backupInfo.snapshots.length > options.keepSnapshots || forceCompact) { // We need to perform compaction ctx.warn('Compacting backup') await compactBackup(ctx, storage, true, { @@ -1176,6 +1185,7 @@ export async function backup ( if (!canceled() && domainChanges > 0) { backupInfo.lastTxId = lastTx?._id ?? '0' // We could store last tx, since full backup is complete backupInfo.migrations.forcedFullCheck = forcedFullCheck + backupInfo.migrations.forcedCompaction = forcedCompact backupInfo.dataSize = result.dataSize backupInfo.blobsSize = result.blobsSize backupInfo.backupSize = result.backupSize