From 80c2c5c269aa3da1d27af119acd0a94c00e9b550 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Mon, 23 Sep 2024 21:31:17 +0700 Subject: [PATCH 01/12] update --- frontend/templates/firebase-messaging-sw.js | 29 +- frontend/templates/layout.html | 26 +- frontend/templates/profil/profile.html | 22 +- frontend/templates/{ => splash}/splash.html | 0 frontend/templates/toko/listtransaksi.html | 12 +- frontend/templatetags/translater.py | 6 + frontend/urls.py | 32 +- .../{ => cart}/add_to_cart_append_view.py | 3 +- frontend/views/{ => cart}/add_to_cart_view.py | 3 +- frontend/views/{ => cart}/approve_view.py | 13 + frontend/views/{ => cart}/cart_json_view.py | 0 .../views/{ => cart}/toko_transaksi_view.py | 33 +- frontend/views/profile/profile_view.py | 9 +- frontend/views/splash.py | 10 - frontend/views/splash/splash.py | 12 + .../{ => toko}/alamat_toko_delete_view.py | 3 +- frontend/views/{ => toko}/alamat_toko_view.py | 3 +- .../{ => toko}/alamt_toko_tambah_view.py | 3 +- .../views/{ => toko}/archive_barang_view.py | 10 + frontend/views/{ => toko}/jual_view.py | 13 +- frontend/views/withdrawltokojson_view.py | 21 +- jsvite/js/main.js | 3 + jsvite/js/tawkto.js | 11 + package-lock.json | 9535 +++++++++++++++++ package.json | 18 +- pnpm-lock.yaml | 1530 +++ profiles/admin.py | 25 + pyproject.toml | 8 +- requirements.txt | 51 +- static/buildvite/.vite/manifest.json | 8 + static/buildvite/assets/main-CKgfggAW.js | 1 + static/htmx.min.js | 1 + templates/admin/actions.html | 29 + templates/admin/app_index.html | 15 + templates/admin/auth/user/add_form.html | 10 + .../admin/auth/user/change_password.html | 112 + templates/admin/base.html | 386 + templates/admin/base_site.html | 1 + templates/admin/change_form.html | 128 + templates/admin/change_form_object_tools.html | 10 + templates/admin/change_list.html | 122 + templates/admin/change_list_object_tools.html | 11 + templates/admin/change_list_results.html | 48 + templates/admin/date_hierarchy.html | 23 + templates/admin/delete_confirmation.html | 79 + .../admin/delete_selected_confirmation.html | 83 + templates/admin/edit_inline/stacked.html | 58 + templates/admin/edit_inline/tabular.html | 94 + templates/admin/filer/breadcrumbs.html | 30 + templates/admin/filer/change_form.html | 33 + .../delete_selected_files_confirmation.html | 75 + templates/admin/filer/file/change_form.html | 36 + templates/admin/filer/folder/change_form.html | 33 + .../admin/filer/folder/directory_listing.html | 258 + templates/admin/filer/image/change_form.html | 36 + templates/admin/filer/tools/detail_info.html | 55 + templates/admin/filter.html | 15 + templates/admin/import_export/base.html | 19 + .../admin/import_export/change_list.html | 13 + .../import_export/change_list_export.html | 6 + .../change_list_export_item.html | 8 + .../import_export/change_list_import.html | 6 + .../change_list_import_export.html | 9 + .../change_list_import_item.html | 8 + templates/admin/import_export/export.html | 74 + templates/admin/import_export/import.html | 272 + templates/admin/includes/fieldset.html | 59 + .../admin/includes/object_delete_summary.html | 12 + templates/admin/index.html | 133 + templates/admin/login.html | 76 + templates/admin/mptt_filter.html | 16 + templates/admin/object_history.html | 72 + templates/admin/pagination.html | 30 + templates/admin/popup_response.html | 17 + templates/admin/search_form.html | 42 + templates/admin/solo/change_form.html | 18 + templates/admin/solo/object_history.html | 11 + templates/admin/submit_line.html | 42 + uv.lock | 243 +- vite.config.js | 12 + webpack-stats.json | 34 - webpack.config.js | 47 - 82 files changed, 14339 insertions(+), 174 deletions(-) rename frontend/templates/{ => splash}/splash.html (100%) rename frontend/views/{ => cart}/add_to_cart_append_view.py (94%) rename frontend/views/{ => cart}/add_to_cart_view.py (98%) rename frontend/views/{ => cart}/approve_view.py (58%) rename frontend/views/{ => cart}/cart_json_view.py (100%) rename frontend/views/{ => cart}/toko_transaksi_view.py (89%) delete mode 100644 frontend/views/splash.py create mode 100644 frontend/views/splash/splash.py rename frontend/views/{ => toko}/alamat_toko_delete_view.py (91%) rename frontend/views/{ => toko}/alamat_toko_view.py (97%) rename frontend/views/{ => toko}/alamt_toko_tambah_view.py (96%) rename frontend/views/{ => toko}/archive_barang_view.py (64%) rename frontend/views/{ => toko}/jual_view.py (90%) create mode 100644 jsvite/js/main.js create mode 100644 jsvite/js/tawkto.js create mode 100644 package-lock.json create mode 100644 pnpm-lock.yaml create mode 100644 static/buildvite/.vite/manifest.json create mode 100644 static/buildvite/assets/main-CKgfggAW.js create mode 100644 static/htmx.min.js create mode 100644 templates/admin/actions.html create mode 100644 templates/admin/app_index.html create mode 100644 templates/admin/auth/user/add_form.html create mode 100644 templates/admin/auth/user/change_password.html create mode 100644 templates/admin/base.html create mode 100644 templates/admin/base_site.html create mode 100644 templates/admin/change_form.html create mode 100644 templates/admin/change_form_object_tools.html create mode 100644 templates/admin/change_list.html create mode 100644 templates/admin/change_list_object_tools.html create mode 100644 templates/admin/change_list_results.html create mode 100644 templates/admin/date_hierarchy.html create mode 100644 templates/admin/delete_confirmation.html create mode 100644 templates/admin/delete_selected_confirmation.html create mode 100644 templates/admin/edit_inline/stacked.html create mode 100644 templates/admin/edit_inline/tabular.html create mode 100644 templates/admin/filer/breadcrumbs.html create mode 100644 templates/admin/filer/change_form.html create mode 100644 templates/admin/filer/delete_selected_files_confirmation.html create mode 100644 templates/admin/filer/file/change_form.html create mode 100644 templates/admin/filer/folder/change_form.html create mode 100644 templates/admin/filer/folder/directory_listing.html create mode 100644 templates/admin/filer/image/change_form.html create mode 100644 templates/admin/filer/tools/detail_info.html create mode 100644 templates/admin/filter.html create mode 100644 templates/admin/import_export/base.html create mode 100644 templates/admin/import_export/change_list.html create mode 100644 templates/admin/import_export/change_list_export.html create mode 100644 templates/admin/import_export/change_list_export_item.html create mode 100644 templates/admin/import_export/change_list_import.html create mode 100644 templates/admin/import_export/change_list_import_export.html create mode 100644 templates/admin/import_export/change_list_import_item.html create mode 100644 templates/admin/import_export/export.html create mode 100644 templates/admin/import_export/import.html create mode 100644 templates/admin/includes/fieldset.html create mode 100644 templates/admin/includes/object_delete_summary.html create mode 100644 templates/admin/index.html create mode 100644 templates/admin/login.html create mode 100644 templates/admin/mptt_filter.html create mode 100644 templates/admin/object_history.html create mode 100644 templates/admin/pagination.html create mode 100644 templates/admin/popup_response.html create mode 100644 templates/admin/search_form.html create mode 100644 templates/admin/solo/change_form.html create mode 100644 templates/admin/solo/object_history.html create mode 100644 templates/admin/submit_line.html create mode 100644 vite.config.js delete mode 100644 webpack-stats.json delete mode 100644 webpack.config.js diff --git a/frontend/templates/firebase-messaging-sw.js b/frontend/templates/firebase-messaging-sw.js index c08fdee..a2fd522 100644 --- a/frontend/templates/firebase-messaging-sw.js +++ b/frontend/templates/firebase-messaging-sw.js @@ -1,2 +1,27 @@ -/*! For license information please see other.js.LICENSE.txt */ -(()=>{"use strict";var e={};e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();const t=function(e){const t=[];let n=0;for(let i=0;i>6|192,t[n++]=63&r|128):55296==(64512&r)&&i+1>18|240,t[n++]=r>>12&63|128,t[n++]=r>>6&63|128,t[n++]=63&r|128):(t[n++]=r>>12|224,t[n++]=r>>6&63|128,t[n++]=63&r|128)}return t},n={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const n=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let t=0;t>2,u=(3&r)<<4|o>>4;let d=(15&o)<<2|c>>6,p=63&c;s||(p=64,a||(d=64)),i.push(n[l],n[u],n[d],n[p])}return i.join("")},encodeString(e,n){return this.HAS_NATIVE_SUPPORT&&!n?btoa(e):this.encodeByteArray(t(e),n)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):function(e){const t=[];let n=0,i=0;for(;n191&&r<224){const a=e[n++];t[i++]=String.fromCharCode((31&r)<<6|63&a)}else if(r>239&&r<365){const a=((7&r)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536;t[i++]=String.fromCharCode(55296+(a>>10)),t[i++]=String.fromCharCode(56320+(1023&a))}else{const a=e[n++],o=e[n++];t[i++]=String.fromCharCode((15&r)<<12|(63&a)<<6|63&o)}}return t.join("")}(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const n=t?this.charToByteMapWebSafe_:this.charToByteMap_,r=[];for(let t=0;t>4;if(r.push(l),64!==s){const e=o<<4&240|s>>2;if(r.push(e),64!==c){const e=s<<6&192|c;r.push(e)}}}return r},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class i extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const r=function(e){return function(e){const i=t(e);return n.encodeByteArray(i,!0)}(e).replace(/\./g,"")},a=()=>{try{return function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==e.g)return e.g;throw new Error("Unable to locate global object.")}().__FIREBASE_DEFAULTS__||(()=>{if("undefined"==typeof process||void 0===process.env)return;const e=process.env.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0})()||(()=>{if("undefined"==typeof document)return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}const t=e&&function(e){try{return n.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null}(e[1]);return t&&JSON.parse(t)})()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},o=()=>{var e;return null===(e=a())||void 0===e?void 0:e.config};class s{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,n)=>{t?this.reject(t):this.resolve(n),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,n))}}}function c(){try{return"object"==typeof indexedDB}catch(e){return!1}}function l(){return new Promise(((e,t)=>{try{let n=!0;const i="validate-browser-context-for-indexeddb-analytics-module",r=self.indexedDB.open(i);r.onsuccess=()=>{r.result.close(),n||self.indexedDB.deleteDatabase(i),e(!0)},r.onupgradeneeded=()=>{n=!1},r.onerror=()=>{var e;t((null===(e=r.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}class u extends Error{constructor(e,t,n){super(t),this.code=e,this.customData=n,this.name="FirebaseError",Object.setPrototypeOf(this,u.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,d.prototype.create)}}class d{constructor(e,t,n){this.service=e,this.serviceName=t,this.errors=n}create(e,...t){const n=t[0]||{},i=`${this.service}/${e}`,r=this.errors[e],a=r?function(e,t){return e.replace(p,((e,n)=>{const i=t[n];return null!=i?String(i):`<${n}?>`}))}(r,n):"Error",o=`${this.serviceName}: ${a} (${i}).`;return new u(i,o,n)}}const p=/\{\$([^}]+)}/g;function f(e,t){if(e===t)return!0;const n=Object.keys(e),i=Object.keys(t);for(const r of n){if(!i.includes(r))return!1;const n=e[r],a=t[r];if(h(n)&&h(a)){if(!f(n,a))return!1}else if(n!==a)return!1}for(const e of i)if(!n.includes(e))return!1;return!0}function h(e){return null!==e&&"object"==typeof e}function g(e){return e&&e._delegate?e._delegate:e}class m{constructor(e,t,n){this.name=e,this.instanceFactory=t,this.type=n,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const b="[DEFAULT]";class w{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new s;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const n=this.getOrInitializeService({instanceIdentifier:t});n&&e.resolve(n)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const n=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),i=null!==(t=null==e?void 0:e.optional)&&void 0!==t&&t;if(!this.isInitialized(n)&&!this.shouldAutoInitialize()){if(i)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:n})}catch(e){if(i)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(function(e){return"EAGER"===e.instantiationMode}(e))try{this.getOrInitializeService({instanceIdentifier:b})}catch(e){}for(const[e,t]of this.instancesDeferred.entries()){const n=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:n});t.resolve(e)}catch(e){}}}}clearInstance(e=b){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=b){return this.instances.has(e)}getOptions(e=b){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,n=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(n))throw Error(`${this.name}(${n}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const i=this.getOrInitializeService({instanceIdentifier:n,options:t});for(const[e,t]of this.instancesDeferred.entries())n===this.normalizeInstanceIdentifier(e)&&t.resolve(i);return i}onInit(e,t){var n;const i=this.normalizeInstanceIdentifier(t),r=null!==(n=this.onInitCallbacks.get(i))&&void 0!==n?n:new Set;r.add(e),this.onInitCallbacks.set(i,r);const a=this.instances.get(i);return a&&e(a,i),()=>{r.delete(e)}}invokeOnInitCallbacks(e,t){const n=this.onInitCallbacks.get(t);if(n)for(const i of n)try{i(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let n=this.instances.get(e);if(!n&&this.component&&(n=this.component.instanceFactory(this.container,{instanceIdentifier:(i=e,i===b?void 0:i),options:t}),this.instances.set(e,n),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(n,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,n)}catch(e){}var i;return n||null}normalizeInstanceIdentifier(e=b){return this.component?this.component.multipleInstances?e:b:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class y{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new w(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}const v=[];var I;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(I||(I={}));const S={debug:I.DEBUG,verbose:I.VERBOSE,info:I.INFO,warn:I.WARN,error:I.ERROR,silent:I.SILENT},_=I.INFO,E={[I.DEBUG]:"log",[I.VERBOSE]:"log",[I.INFO]:"info",[I.WARN]:"warn",[I.ERROR]:"error"},C=(e,t,...n)=>{if(tt.some((t=>e instanceof t));let k,T;const A=new WeakMap,O=new WeakMap,M=new WeakMap,N=new WeakMap,B=new WeakMap;let j={get(e,t,n){if(e instanceof IDBTransaction){if("done"===t)return O.get(e);if("objectStoreNames"===t)return e.objectStoreNames||M.get(e);if("store"===t)return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return L(e[t])},set:(e,t,n)=>(e[t]=n,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function P(e){return"function"==typeof e?(t=e)!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(T||(T=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply($(this),e),L(A.get(this))}:function(...e){return L(t.apply($(this),e))}:function(e,...n){const i=t.call($(this),e,...n);return M.set(i,e.sort?e.sort():[e]),L(i)}:(e instanceof IDBTransaction&&function(e){if(O.has(e))return;const t=new Promise(((t,n)=>{const i=()=>{e.removeEventListener("complete",r),e.removeEventListener("error",a),e.removeEventListener("abort",a)},r=()=>{t(),i()},a=()=>{n(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",r),e.addEventListener("error",a),e.addEventListener("abort",a)}));O.set(e,t)}(e),D(e,k||(k=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(e,j):e);var t}function L(e){if(e instanceof IDBRequest)return function(e){const t=new Promise(((t,n)=>{const i=()=>{e.removeEventListener("success",r),e.removeEventListener("error",a)},r=()=>{t(L(e.result)),i()},a=()=>{n(e.error),i()};e.addEventListener("success",r),e.addEventListener("error",a)}));return t.then((t=>{t instanceof IDBCursor&&A.set(t,e)})).catch((()=>{})),B.set(t,e),t}(e);if(N.has(e))return N.get(e);const t=P(e);return t!==e&&(N.set(e,t),B.set(t,e)),t}const $=e=>B.get(e);function H(e,t,{blocked:n,upgrade:i,blocking:r,terminated:a}={}){const o=indexedDB.open(e,t),s=L(o);return i&&o.addEventListener("upgradeneeded",(e=>{i(L(o.result),e.oldVersion,e.newVersion,L(o.transaction),e)})),n&&o.addEventListener("blocked",(e=>n(e.oldVersion,e.newVersion,e))),s.then((e=>{a&&e.addEventListener("close",(()=>a())),r&&e.addEventListener("versionchange",(e=>r(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),s}function R(e,{blocked:t}={}){const n=indexedDB.deleteDatabase(e);return t&&n.addEventListener("blocked",(e=>t(e.oldVersion,e))),L(n).then((()=>{}))}const F=["get","getKey","getAll","getAllKeys","count"],x=["put","add","delete","clear"],V=new Map;function K(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(V.get(t))return V.get(t);const n=t.replace(/FromIndex$/,""),i=t!==n,r=x.includes(n);if(!(n in(i?IDBIndex:IDBObjectStore).prototype)||!r&&!F.includes(n))return;const a=async function(e,...t){const a=this.transaction(e,r?"readwrite":"readonly");let o=a.store;return i&&(o=o.index(t.shift())),(await Promise.all([o[n](...t),r&&a.done]))[0]};return V.set(t,a),a}var U;U=j,j={...U,get:(e,t,n)=>K(e,t)||U.get(e,t,n),has:(e,t)=>!!K(e,t)||U.has(e,t)};class W{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(function(e){const t=e.getComponent();return"VERSION"===(null==t?void 0:t.type)}(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}const z="@firebase/app",q="0.10.10",G=new class{constructor(e){this.name=e,this._logLevel=_,this._logHandler=C,this._userLogHandler=null,v.push(this)}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in I))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?S[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,I.DEBUG,...e),this._logHandler(this,I.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,I.VERBOSE,...e),this._logHandler(this,I.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,I.INFO,...e),this._logHandler(this,I.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,I.WARN,...e),this._logHandler(this,I.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,I.ERROR,...e),this._logHandler(this,I.ERROR,...e)}}("@firebase/app"),J="@firebase/app-compat",Y="@firebase/analytics-compat",Z="@firebase/analytics",Q="@firebase/app-check-compat",X="@firebase/app-check",ee="@firebase/auth",te="@firebase/auth-compat",ne="@firebase/database",ie="@firebase/database-compat",re="@firebase/functions",ae="@firebase/functions-compat",oe="@firebase/installations",se="@firebase/installations-compat",ce="@firebase/messaging",le="@firebase/messaging-compat",ue="@firebase/performance",de="@firebase/performance-compat",pe="@firebase/remote-config",fe="@firebase/remote-config-compat",he="@firebase/storage",ge="@firebase/storage-compat",me="@firebase/firestore",be="@firebase/vertexai-preview",we="@firebase/firestore-compat",ye="firebase",ve="[DEFAULT]",Ie={[z]:"fire-core",[J]:"fire-core-compat",[Z]:"fire-analytics",[Y]:"fire-analytics-compat",[X]:"fire-app-check",[Q]:"fire-app-check-compat",[ee]:"fire-auth",[te]:"fire-auth-compat",[ne]:"fire-rtdb",[ie]:"fire-rtdb-compat",[re]:"fire-fn",[ae]:"fire-fn-compat",[oe]:"fire-iid",[se]:"fire-iid-compat",[ce]:"fire-fcm",[le]:"fire-fcm-compat",[ue]:"fire-perf",[de]:"fire-perf-compat",[pe]:"fire-rc",[fe]:"fire-rc-compat",[he]:"fire-gcs",[ge]:"fire-gcs-compat",[me]:"fire-fst",[we]:"fire-fst-compat",[be]:"fire-vertex","fire-js":"fire-js",[ye]:"fire-js-all"},Se=new Map,_e=new Map,Ee=new Map;function Ce(e,t){try{e.container.addComponent(t)}catch(n){G.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,n)}}function De(e){const t=e.name;if(Ee.has(t))return G.debug(`There were multiple attempts to register component ${t}.`),!1;Ee.set(t,e);for(const t of Se.values())Ce(t,e);for(const t of _e.values())Ce(t,e);return!0}function ke(e,t){const n=e.container.getProvider("heartbeat").getImmediate({optional:!0});return n&&n.triggerHeartbeat(),e.container.getProvider(t)}const Te=new d("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class Ae{constructor(e,t,n){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=n,this.container.addComponent(new m("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw Te.create("app-deleted",{appName:this._name})}}function Oe(e,t={}){let n=e;"object"!=typeof t&&(t={name:t});const i=Object.assign({name:ve,automaticDataCollectionEnabled:!1},t),r=i.name;if("string"!=typeof r||!r)throw Te.create("bad-app-name",{appName:String(r)});if(n||(n=o()),!n)throw Te.create("no-options");const a=Se.get(r);if(a){if(f(n,a.options)&&f(i,a.config))return a;throw Te.create("duplicate-app",{appName:r})}const s=new y(r);for(const e of Ee.values())s.addComponent(e);const c=new Ae(n,i,s);return Se.set(r,c),c}function Me(e,t,n){var i;let r=null!==(i=Ie[e])&&void 0!==i?i:e;n&&(r+=`-${n}`);const a=r.match(/\s|\//),o=t.match(/\s|\//);if(a||o){const e=[`Unable to register library "${r}" with version "${t}":`];return a&&e.push(`library name "${r}" contains illegal characters (whitespace or "/")`),a&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void G.warn(e.join(" "))}De(new m(`${r}-version`,(()=>({library:r,version:t})),"VERSION"))}const Ne="firebase-heartbeat-database",Be=1,je="firebase-heartbeat-store";let Pe=null;function Le(){return Pe||(Pe=H(Ne,Be,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(je)}catch(e){console.warn(e)}}}).catch((e=>{throw Te.create("idb-open",{originalErrorMessage:e.message})}))),Pe}async function $e(e,t){try{const n=(await Le()).transaction(je,"readwrite"),i=n.objectStore(je);await i.put(t,He(e)),await n.done}catch(e){if(e instanceof u)G.warn(e.message);else{const t=Te.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}function He(e){return`${e.name}!${e.options.appId}`}class Re{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new xe(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;try{const n=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=Fe();if(null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)&&(this._heartbeatsCache=await this._heartbeatsCachePromise,null==(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))return;if(this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some((e=>e.date===i)))return;return this._heartbeatsCache.heartbeats.push({date:i,agent:n}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=2592e6})),this._storage.overwrite(this._heartbeatsCache)}catch(e){G.warn(e)}}async getHeartbeatsHeader(){var e;try{if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=Fe(),{heartbeatsToSend:n,unsentEntries:i}=function(e,t=1024){const n=[];let i=e.slice();for(const r of e){const e=n.find((e=>e.agent===r.agent));if(e){if(e.dates.push(r.date),Ve(n)>t){e.dates.pop();break}}else if(n.push({agent:r.agent,dates:[r.date]}),Ve(n)>t){n.pop();break}i=i.slice(1)}return{heartbeatsToSend:n,unsentEntries:i}}(this._heartbeatsCache.heartbeats),a=r(JSON.stringify({version:2,heartbeats:n}));return this._heartbeatsCache.lastSentHeartbeatDate=t,i.length>0?(this._heartbeatsCache.heartbeats=i,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}catch(e){return G.warn(e),""}}}function Fe(){return(new Date).toISOString().substring(0,10)}class xe{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!c()&&l().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await async function(e){try{const t=(await Le()).transaction(je),n=await t.objectStore(je).get(He(e));return await t.done,n}catch(e){if(e instanceof u)G.warn(e.message);else{const t=Te.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});G.warn(t.message)}}}(this.app);return(null==e?void 0:e.heartbeats)?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return $e(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const n=await this.read();return $e(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:n.lastSentHeartbeatDate,heartbeats:[...n.heartbeats,...e.heartbeats]})}}}function Ve(e){return r(JSON.stringify({version:2,heartbeats:e})).length}De(new m("platform-logger",(e=>new W(e)),"PRIVATE")),De(new m("heartbeat",(e=>new Re(e)),"PRIVATE")),Me(z,q,""),Me(z,q,"esm2017"),Me("fire-js",""),Me("firebase","10.13.1","app");const Ke="@firebase/installations",Ue="0.6.8",We=1e4,ze=`w:${Ue}`,qe="FIS_v2",Ge="https://firebaseinstallations.googleapis.com/v1",Je=36e5,Ye=new d("installations","Installations",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"not-registered":"Firebase Installation is not registered.","installation-not-found":"Firebase Installation not found.","request-failed":'{$requestName} request failed with error "{$serverCode} {$serverStatus}: {$serverMessage}"',"app-offline":"Could not process request. Application offline.","delete-pending-registration":"Can't delete installation while there is a pending registration request."});function Ze(e){return e instanceof u&&e.code.includes("request-failed")}function Qe({projectId:e}){return`${Ge}/projects/${e}/installations`}function Xe(e){return{token:e.token,requestStatus:2,expiresIn:(t=e.expiresIn,Number(t.replace("s","000"))),creationTime:Date.now()};var t}async function et(e,t){const n=(await t.json()).error;return Ye.create("request-failed",{requestName:e,serverCode:n.code,serverMessage:n.message,serverStatus:n.status})}function tt({apiKey:e}){return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e})}async function nt(e){const t=await e();return t.status>=500&&t.status<600?e():t}function it(e){return new Promise((t=>{setTimeout(t,e)}))}const rt=/^[cdef][\w-]{21}$/,at="";function ot(){try{const e=new Uint8Array(17);(self.crypto||self.msCrypto).getRandomValues(e),e[0]=112+e[0]%16;const t=function(e){var t;return(t=e,btoa(String.fromCharCode(...t)).replace(/\+/g,"-").replace(/\//g,"_")).substr(0,22)}(e);return rt.test(t)?t:at}catch(e){return at}}function st(e){return`${e.appName}!${e.appId}`}const ct=new Map;function lt(e,t){const n=st(e);ut(n,t),function(e,t){const n=(!dt&&"BroadcastChannel"in self&&(dt=new BroadcastChannel("[Firebase] FID Change"),dt.onmessage=e=>{ut(e.data.key,e.data.fid)}),dt);n&&n.postMessage({key:e,fid:t}),0===ct.size&&dt&&(dt.close(),dt=null)}(n,t)}function ut(e,t){const n=ct.get(e);if(n)for(const e of n)e(t)}let dt=null;const pt="firebase-installations-database",ft=1,ht="firebase-installations-store";let gt=null;function mt(){return gt||(gt=H(pt,ft,{upgrade:(e,t)=>{0===t&&e.createObjectStore(ht)}})),gt}async function bt(e,t){const n=st(e),i=(await mt()).transaction(ht,"readwrite"),r=i.objectStore(ht),a=await r.get(n);return await r.put(t,n),await i.done,a&&a.fid===t.fid||lt(e,t.fid),t}async function wt(e){const t=st(e),n=(await mt()).transaction(ht,"readwrite");await n.objectStore(ht).delete(t),await n.done}async function yt(e,t){const n=st(e),i=(await mt()).transaction(ht,"readwrite"),r=i.objectStore(ht),a=await r.get(n),o=t(a);return void 0===o?await r.delete(n):await r.put(o,n),await i.done,!o||a&&a.fid===o.fid||lt(e,o.fid),o}async function vt(e){let t;const n=await yt(e.appConfig,(n=>{const i=function(e){return _t(e||{fid:ot(),registrationStatus:0})}(n),r=function(e,t){if(0===t.registrationStatus){if(!navigator.onLine)return{installationEntry:t,registrationPromise:Promise.reject(Ye.create("app-offline"))};const n={fid:t.fid,registrationStatus:1,registrationTime:Date.now()},i=async function(e,t){try{const n=await async function({appConfig:e,heartbeatServiceProvider:t},{fid:n}){const i=Qe(e),r=tt(e),a=t.getImmediate({optional:!0});if(a){const e=await a.getHeartbeatsHeader();e&&r.append("x-firebase-client",e)}const o={fid:n,authVersion:qe,appId:e.appId,sdkVersion:ze},s={method:"POST",headers:r,body:JSON.stringify(o)},c=await nt((()=>fetch(i,s)));if(c.ok){const e=await c.json();return{fid:e.fid||n,registrationStatus:2,refreshToken:e.refreshToken,authToken:Xe(e.authToken)}}throw await et("Create Installation",c)}(e,t);return bt(e.appConfig,n)}catch(n){throw Ze(n)&&409===n.customData.serverCode?await wt(e.appConfig):await bt(e.appConfig,{fid:t.fid,registrationStatus:0}),n}}(e,n);return{installationEntry:n,registrationPromise:i}}return 1===t.registrationStatus?{installationEntry:t,registrationPromise:It(e)}:{installationEntry:t}}(e,i);return t=r.registrationPromise,r.installationEntry}));return n.fid===at?{installationEntry:await t}:{installationEntry:n,registrationPromise:t}}async function It(e){let t=await St(e.appConfig);for(;1===t.registrationStatus;)await it(100),t=await St(e.appConfig);if(0===t.registrationStatus){const{installationEntry:t,registrationPromise:n}=await vt(e);return n||t}return t}function St(e){return yt(e,(e=>{if(!e)throw Ye.create("installation-not-found");return _t(e)}))}function _t(e){return 1===(t=e).registrationStatus&&t.registrationTime+Wefetch(i,s)));if(c.ok)return Xe(await c.json());throw await et("Generate Auth Token",c)}async function Ct(e,t=!1){let n;const i=await yt(e.appConfig,(i=>{if(!kt(i))throw Ye.create("not-registered");const r=i.authToken;if(!t&&(2===(a=r).requestStatus&&!function(e){const t=Date.now();return t{if(!kt(e))throw Ye.create("not-registered");return 1===(t=e.authToken).requestStatus&&t.requestTime+We{const t=e.getProvider("app").getImmediate(),n=function(e){if(!e||!e.options)throw Tt("App Configuration");if(!e.name)throw Tt("App Name");const t=["projectId","apiKey","appId"];for(const n of t)if(!e.options[n])throw Tt(n);return{appName:e.name,projectId:e.options.projectId,apiKey:e.options.apiKey,appId:e.options.appId}}(t);return{app:t,appConfig:n,heartbeatServiceProvider:ke(t,"heartbeat"),_delete:()=>Promise.resolve()}}),"PUBLIC")),De(new m("installations-internal",(e=>{const t=ke(e.getProvider("app").getImmediate(),At).getImmediate();return{getId:()=>async function(e){const t=e,{installationEntry:n,registrationPromise:i}=await vt(t);return i?i.catch(console.error):Ct(t).catch(console.error),n.fid}(t),getToken:e=>async function(e,t=!1){const n=e;return await async function(e){const{registrationPromise:t}=await vt(e);t&&await t}(n),(await Ct(n,t)).token}(t,e)}}),"PRIVATE")),Me(Ke,Ue),Me(Ke,Ue,"esm2017");const Ot="BDOU99-h67HcA6JeFXHbSNMu7e2yNNu3RzoMj8TM4W88jITfq7ZmPvIM1Iv-4_l2LxQcYwhqby2xGpWwzjfAnG4",Mt="https://fcmregistrations.googleapis.com/v1",Nt="FCM_MSG",Bt=3,jt=1;var Pt,Lt;function $t(e){const t=new Uint8Array(e);return btoa(String.fromCharCode(...t)).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Ht(e){const t=(e+"=".repeat((4-e.length%4)%4)).replace(/\-/g,"+").replace(/_/g,"/"),n=atob(t),i=new Uint8Array(n.length);for(let e=0;e{0===t&&e.createObjectStore(Ut)}})),Wt}async function qt(e){const t=Jt(e),n=await zt(),i=await n.transaction(Ut).objectStore(Ut).get(t);if(i)return i;{const t=await async function(e){if("databases"in indexedDB){const e=(await indexedDB.databases()).map((e=>e.name));if(!e.includes(Rt))return null}let t=null;return(await H(Rt,Ft,{upgrade:async(n,i,r,a)=>{var o;if(i<2)return;if(!n.objectStoreNames.contains(xt))return;const s=a.objectStore(xt),c=await s.index("fcmSenderId").get(e);if(await s.clear(),c)if(2===i){const e=c;if(!e.auth||!e.p256dh||!e.endpoint)return;t={token:e.fcmToken,createTime:null!==(o=e.createTime)&&void 0!==o?o:Date.now(),subscriptionOptions:{auth:e.auth,p256dh:e.p256dh,endpoint:e.endpoint,swScope:e.swScope,vapidKey:"string"==typeof e.vapidKey?e.vapidKey:$t(e.vapidKey)}}}else if(3===i){const e=c;t={token:e.fcmToken,createTime:e.createTime,subscriptionOptions:{auth:$t(e.auth),p256dh:$t(e.p256dh),endpoint:e.endpoint,swScope:e.swScope,vapidKey:$t(e.vapidKey)}}}else if(4===i){const e=c;t={token:e.fcmToken,createTime:e.createTime,subscriptionOptions:{auth:$t(e.auth),p256dh:$t(e.p256dh),endpoint:e.endpoint,swScope:e.swScope,vapidKey:$t(e.vapidKey)}}}}})).close(),await R(Rt),await R("fcm_vapid_details_db"),await R("undefined"),function(e){if(!e||!e.subscriptionOptions)return!1;const{subscriptionOptions:t}=e;return"number"==typeof e.createTime&&e.createTime>0&&"string"==typeof e.token&&e.token.length>0&&"string"==typeof t.auth&&t.auth.length>0&&"string"==typeof t.p256dh&&t.p256dh.length>0&&"string"==typeof t.endpoint&&t.endpoint.length>0&&"string"==typeof t.swScope&&t.swScope.length>0&&"string"==typeof t.vapidKey&&t.vapidKey.length>0}(t)?t:null}(e.appConfig.senderId);if(t)return await Gt(e,t),t}}async function Gt(e,t){const n=Jt(e),i=(await zt()).transaction(Ut,"readwrite");return await i.objectStore(Ut).put(t,n),await i.done,t}function Jt({appConfig:e}){return e.appId}const Yt=new d("messaging","Messaging",{"missing-app-config-values":'Missing App configuration value: "{$valueName}"',"only-available-in-window":"This method is available in a Window context.","only-available-in-sw":"This method is available in a service worker context.","permission-default":"The notification permission was not granted and dismissed instead.","permission-blocked":"The notification permission was not granted and blocked instead.","unsupported-browser":"This browser doesn't support the API's required to use the Firebase SDK.","indexed-db-unsupported":"This browser doesn't support indexedDb.open() (ex. Safari iFrame, Firefox Private Browsing, etc)","failed-service-worker-registration":"We are unable to register the default service worker. {$browserErrorMessage}","token-subscribe-failed":"A problem occurred while subscribing the user to FCM: {$errorInfo}","token-subscribe-no-token":"FCM returned no token when subscribing the user to push.","token-unsubscribe-failed":"A problem occurred while unsubscribing the user from FCM: {$errorInfo}","token-update-failed":"A problem occurred while updating the user from FCM: {$errorInfo}","token-update-no-token":"FCM returned no token when updating the user to push.","use-sw-after-get-token":"The useServiceWorker() method may only be called once and must be called before calling getToken() to ensure your service worker is used.","invalid-sw-registration":"The input to useServiceWorker() must be a ServiceWorkerRegistration.","invalid-bg-handler":"The input to setBackgroundMessageHandler() must be a function.","invalid-vapid-key":"The public VAPID key must be a string.","use-vapid-key-after-get-token":"The usePublicVapidKey() method may only be called once and must be called before calling getToken() to ensure your VAPID key is used."});async function Zt(e,t){const n={method:"DELETE",headers:await Xt(e)};try{const i=await fetch(`${Qt(e.appConfig)}/${t}`,n),r=await i.json();if(r.error){const e=r.error.message;throw Yt.create("token-unsubscribe-failed",{errorInfo:e})}}catch(e){throw Yt.create("token-unsubscribe-failed",{errorInfo:null==e?void 0:e.toString()})}}function Qt({projectId:e}){return`${Mt}/projects/${e}/registrations`}async function Xt({appConfig:e,installations:t}){const n=await t.getToken();return new Headers({"Content-Type":"application/json",Accept:"application/json","x-goog-api-key":e.apiKey,"x-goog-firebase-installations-auth":`FIS ${n}`})}function en({p256dh:e,auth:t,endpoint:n,vapidKey:i}){const r={web:{endpoint:n,auth:t,p256dh:e}};return i!==Ot&&(r.web.applicationPubKey=i),r}async function tn(e){const t=await qt(e.firebaseDependencies);t&&(await Zt(e.firebaseDependencies,t.token),await async function(e){const t=Jt(e),n=(await zt()).transaction(Ut,"readwrite");await n.objectStore(Ut).delete(t),await n.done}(e.firebaseDependencies));const n=await e.swRegistration.pushManager.getSubscription();return!n||n.unsubscribe()}async function nn(e,t){const n=await async function(e,t){const n=await Xt(e),i=en(t),r={method:"POST",headers:n,body:JSON.stringify(i)};let a;try{const t=await fetch(Qt(e.appConfig),r);a=await t.json()}catch(e){throw Yt.create("token-subscribe-failed",{errorInfo:null==e?void 0:e.toString()})}if(a.error){const e=a.error.message;throw Yt.create("token-subscribe-failed",{errorInfo:e})}if(!a.token)throw Yt.create("token-subscribe-no-token");return a.token}(e,t),i={token:n,createTime:Date.now(),subscriptionOptions:t};return await Gt(e,i),i.token}function rn(e,t){const n=[];for(let i=0;i"visible"===e.visibilityState&&!e.url.startsWith("chrome-extension://")))}(i))return function(e,t){t.isFirebaseMessaging=!0,t.messageType=Lt.PUSH_RECEIVED;for(const n of e)n.postMessage(t)}(i,n);if(n.notification&&await function(e){var t;const{actions:n}=e,{maxActions:i}=Notification;return n&&i&&n.length>i&&console.warn(`This browser only supports ${i} actions. The remaining actions will not be displayed.`),self.registration.showNotification(null!==(t=e.title)&&void 0!==t?t:"",e)}(function(e){const t=Object.assign({},e.notification);return t.data={[Nt]:e},t}(n)),t&&t.onBackgroundMessageHandler){const e=function(e){const t={from:e.from,collapseKey:e.collapse_key,messageId:e.fcmMessageId};return function(e,t){if(!t.notification)return;e.notification={};const n=t.notification.title;n&&(e.notification.title=n);const i=t.notification.body;i&&(e.notification.body=i);const r=t.notification.image;r&&(e.notification.image=r);const a=t.notification.icon;a&&(e.notification.icon=a)}(t,e),function(e,t){t.data&&(e.data=t.data)}(t,e),function(e,t){var n,i,r,a,o;if(!t.fcmOptions&&!(null===(n=t.notification)||void 0===n?void 0:n.click_action))return;e.fcmOptions={};const s=null!==(r=null===(i=t.fcmOptions)||void 0===i?void 0:i.link)&&void 0!==r?r:null===(a=t.notification)||void 0===a?void 0:a.click_action;s&&(e.fcmOptions.link=s);const c=null===(o=t.fcmOptions)||void 0===o?void 0:o.analytics_label;c&&(e.fcmOptions.analyticsLabel=c)}(t,e),t}(n);"function"==typeof t.onBackgroundMessageHandler?await t.onBackgroundMessageHandler(e):t.onBackgroundMessageHandler.next(e)}}function on(){return self.clients.matchAll({type:"window",includeUncontrolled:!0})}function sn(e){return Yt.create("missing-app-config-values",{valueName:e})}rn("hts/frbslgigp.ogepscmv/ieo/eaylg","tp:/ieaeogn-agolai.o/1frlglgc/o"),rn("AzSCbw63g1R0nCw85jG8","Iaya3yLKwmgvh7cF0q4");class cn{constructor(e,t,n){this.deliveryMetricsExportedToBigQueryEnabled=!1,this.onBackgroundMessageHandler=null,this.onMessageHandler=null,this.logEvents=[],this.isLogServiceStarted=!1;const i=function(e){if(!e||!e.options)throw sn("App Configuration Object");if(!e.name)throw sn("App Name");const t=["projectId","apiKey","appId","messagingSenderId"],{options:n}=e;for(const e of t)if(!n[e])throw sn(e);return{appName:e.name,projectId:n.projectId,apiKey:n.apiKey,appId:n.appId,senderId:n.messagingSenderId}}(e);this.firebaseDependencies={app:e,appConfig:i,installations:t,analyticsProvider:n}}_delete(){return Promise.resolve()}}De(new m("messaging-sw",(e=>{const t=new cn(e.getProvider("app").getImmediate(),e.getProvider("installations-internal").getImmediate(),e.getProvider("analytics-internal"));return self.addEventListener("push",(e=>{e.waitUntil(an(e,t))})),self.addEventListener("pushsubscriptionchange",(e=>{e.waitUntil(async function(e,t){var n,i;const{newSubscription:r}=e;if(!r)return void await tn(t);const a=await qt(t.firebaseDependencies);await tn(t),t.vapidKey=null!==(i=null===(n=null==a?void 0:a.subscriptionOptions)||void 0===n?void 0:n.vapidKey)&&void 0!==i?i:Ot,await async function(e){const t=await async function(e,t){return await e.pushManager.getSubscription()||e.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:Ht(t)})}(e.swRegistration,e.vapidKey),n={vapidKey:e.vapidKey,swScope:e.swRegistration.scope,endpoint:t.endpoint,auth:$t(t.getKey("auth")),p256dh:$t(t.getKey("p256dh"))},i=await qt(e.firebaseDependencies);if(i){if(function(e,t){const n=t.vapidKey===e.vapidKey,i=t.endpoint===e.endpoint,r=t.auth===e.auth,a=t.p256dh===e.p256dh;return n&&i&&r&&a}(i.subscriptionOptions,n))return Date.now()>=i.createTime+6048e5?async function(e,t){try{const n=await async function(e,t){const n=await Xt(e),i=en(t.subscriptionOptions),r={method:"PATCH",headers:n,body:JSON.stringify(i)};let a;try{const n=await fetch(`${Qt(e.appConfig)}/${t.token}`,r);a=await n.json()}catch(e){throw Yt.create("token-update-failed",{errorInfo:null==e?void 0:e.toString()})}if(a.error){const e=a.error.message;throw Yt.create("token-update-failed",{errorInfo:e})}if(!a.token)throw Yt.create("token-update-no-token");return a.token}(e.firebaseDependencies,t),i=Object.assign(Object.assign({},t),{token:n,createTime:Date.now()});return await Gt(e.firebaseDependencies,i),n}catch(e){throw e}}(e,{token:i.token,createTime:Date.now(),subscriptionOptions:n}):i.token;try{await Zt(e.firebaseDependencies,i.token)}catch(e){console.warn(e)}return nn(e.firebaseDependencies,n)}return nn(e.firebaseDependencies,n)}(t)}(e,t))})),self.addEventListener("notificationclick",(e=>{e.waitUntil(async function(e){var t,n;const i=null===(n=null===(t=e.notification)||void 0===t?void 0:t.data)||void 0===n?void 0:n[Nt];if(!i)return;if(e.action)return;e.stopImmediatePropagation(),e.notification.close();const r=function(e){var t,n,i;return(null!==(n=null===(t=e.fcmOptions)||void 0===t?void 0:t.link)&&void 0!==n?n:null===(i=e.notification)||void 0===i?void 0:i.click_action)||("object"==typeof(r=e.data)&&r&&"google.c.a.c_id"in r?self.location.origin:null);var r}(i);if(!r)return;const a=new URL(r,self.location.href),o=new URL(self.location.origin);if(a.host!==o.host)return;let s=await async function(e){const t=await on();for(const n of t){const t=new URL(n.url,self.location.href);if(e.host===t.host)return n}return null}(a);return s?s=await s.focus():(s=await self.clients.openWindow(r),await new Promise((e=>{setTimeout(e,3e3)}))),s?(i.messageType=Lt.NOTIFICATION_CLICKED,i.isFirebaseMessaging=!0,s.postMessage(i)):void 0}(e))})),t}),"PUBLIC"));!function(e){!function(e,t){if(void 0!==self.document)throw Yt.create("only-available-in-sw");e.onBackgroundMessageHandler=t}(e=g(e),(e=>{console.log("[firebase-messaging-sw.js] Received background message ",e),self.registration.showNotification("Background Message Title",{body:"Background Message body.",icon:"/firebase-logo.png"})}))}(function(e=function(e=ve){const t=Se.get(e);if(!t&&e===ve&&o())return Oe();if(!t)throw Te.create("no-app",{appName:e});return t}()){return async function(){return c()&&await l()&&"PushManager"in self&&"Notification"in self&&ServiceWorkerRegistration.prototype.hasOwnProperty("showNotification")&&PushSubscription.prototype.hasOwnProperty("getKey")}().then((e=>{if(!e)throw Yt.create("unsupported-browser")}),(e=>{throw Yt.create("indexed-db-unsupported")})),ke(g(e),"messaging-sw").getImmediate()}(Oe({apiKey:"AIzaSyCsEEl7bhST8VHrK3ovbEfMxCUcHZngKg0",authDomain:"geraipi.firebaseapp.com",projectId:"geraipi",storageBucket:"geraipi.appspot.com",messagingSenderId:"1071852496864",appId:"1:1071852496864:web:c5e8338dc67fa12d9bad85",measurementId:"G-SW3CZ09N71"})))})(); \ No newline at end of file +importScripts('https://www.gstatic.com/firebasejs/8.1.1/firebase-app.js'); +importScripts('https://www.gstatic.com/firebasejs/8.1.1/firebase-messaging.js'); +self.addEventListener('notificationclick', event => { + console.log(event) +}); +const firebaseConfig = { + apiKey: "AIzaSyC0lUXHwQdTFXz8KkC5D7zy-t47RrkIvsY", + authDomain: "geraipi-indonesia.firebaseapp.com", + projectId: "geraipi-indonesia", + storageBucket: "geraipi-indonesia.appspot.com", + messagingSenderId: "981139646267", + appId: "1:981139646267:web:53cc230affb50210a5391e", + measurementId: "G-F368X3MB4J" +}; +firebase.initializeApp(firebaseConfig); +const messaging = firebase.messaging(); +messaging.onBackgroundMessage((payload) => { + console.log('[firebase-messaging-sw.js] Received background message ', payload); + const notificationTitle = payload.notification.title; + const notificationOptions = { + body: payload.notification.body, + }; + return self.registration.showNotification(notificationTitle, + notificationOptions); +}); + + diff --git a/frontend/templates/layout.html b/frontend/templates/layout.html index 4990dc3..f193d14 100644 --- a/frontend/templates/layout.html +++ b/frontend/templates/layout.html @@ -1,6 +1,5 @@ -{% load static tailwind_tags %} -{% load i18n translater %} +{% load static tailwind_tags i18n translater %} @@ -221,31 +220,31 @@ --> - +{% endblock %} + +{% block bodyclass %}{{ block.super }} {{ opts.app_label }}-{{ opts.model_name }} change-form{% endblock %} +{% if not is_popup %} + {% block breadcrumbs %} + + {% endblock %} +{% endif %} + +{% block content_title %} {% trans 'Change password' %} {% endblock %} + +{% block content %} + +
+ {% if form.errors %} +
+ {% if errors|length == 1 %} + {% trans "Please correct the error below." %} + {% else %} + {% trans "Please correct the errors below." %} + {% endif %} +
+ {% endif %} + +
+
+

+ {% blocktrans with username=original %}Enter a new password for the user {{ username }}.{% endblocktrans %} +

+
+ +
+
+
+ {% csrf_token %} + {% block form_top %}{% endblock %} + +
+ {% if is_popup %}{% endif %} + +
+
+
+ +
+
+ {{ form.password1 }} + {% if form.password1.help_text %} +
{{ form.password1.help_text|safe }}
+ {% endif %} +
+
+
+ {{ form.password1.errors }} +
+
+
+ +
+
+ +
+
+ {{ form.password2 }} + {% if form.password2.help_text %} +
{{ form.password2.help_text|safe }}
+ {% endif %} +
+
+
+ {{ form.password2.errors }} +
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +{% endblock %} + +{% block extrajs %} + +{% endblock %} diff --git a/templates/admin/base.html b/templates/admin/base.html new file mode 100644 index 0000000..85ff041 --- /dev/null +++ b/templates/admin/base.html @@ -0,0 +1,386 @@ +{% load i18n static jazzmin admin_urls %} +{% get_current_language as LANGUAGE_CODE %} +{% get_current_language_bidi as LANGUAGE_BIDI %} +{% get_jazzmin_settings request as jazzmin_settings %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + + + + + + + + + + + {% block title %}{{ title }} | {{ jazzmin_settings.site_title }}{% endblock %} + + + + + + + + + {% if jazzmin_ui.theme.name != 'default' %} + + {% endif %} + + {% if jazzmin_ui.dark_mode_theme %} + + {% endif %} + + + + + {% if jazzmin_settings.custom_css %} + + + {% endif %} + + + + + + {% if jazzmin_settings.use_google_fonts_cdn %} + + + {% endif %} + + {% block extrastyle %} {% endblock %} + {% block extrahead %} {% endblock %} + + + +
+ + {% if not is_popup %} + + {% block sidebar %} + {% if jazzmin_settings.show_sidebar %} + {% get_side_menu as side_menu_list %} + + + {% endif %} + {% endblock %} + {% endif %} + +
+ {% block page_content %} + {% if not is_popup %} +
+
+
+
+

{% block content_title %}{% endblock %}

+ {% block breadcrumbs %}{% endblock %} +
+ {% block page_actions %}{% endblock %} +
+
+
+ {% endif %} + +
+
+
+ {% block messages %} + {% for message in messages %} + {% if message.tags == 'success' %} +
+ + {{ message|capfirst }} +
+ {% elif message.tags == 'error' %} +
+ + {{ message|capfirst }} +
+ {% elif message.tags == 'warning' %} +
+ + {{ message|capfirst }} +
+ {% elif message.tags == 'info' %} +
+ + {{ message|capfirst }} +
+ {% endif %} + {% endfor %} + {% endblock messages %} +
+ {% block content %} {% endblock %} +
+
+
+
+ + + {% endblock %} +
+ +{% block footer %} + {% if not is_popup %} +
+
+ {% trans 'Jazzmin version' %} {% get_jazzmin_version %} +
+ {% autoescape off %} + {% trans 'Copyright' %} © {% now 'Y' %} {{ jazzmin_settings.copyright }}. {% trans 'All rights reserved.' %} + {% endautoescape %} +
+ {% if jazzmin_settings.show_ui_builder %} + {% include 'jazzmin/includes/ui_builder_panel.html' %} + {% endif %} + {% endif %} +{% endblock %} + +
+ +{% if jazzmin_settings.show_ui_builder %} + +{% endif %} + + + + + + + + + + +{% if jazzmin_settings.custom_js %} + +{% endif %} + +{% if jazzmin_settings.show_ui_builder %} + + +{% endif %} + +{% block extrajs %}{% endblock %} + + + diff --git a/templates/admin/base_site.html b/templates/admin/base_site.html new file mode 100644 index 0000000..02f53be --- /dev/null +++ b/templates/admin/base_site.html @@ -0,0 +1 @@ +{% extends 'admin/base.html' %} \ No newline at end of file diff --git a/templates/admin/change_form.html b/templates/admin/change_form.html new file mode 100644 index 0000000..5be7d3b --- /dev/null +++ b/templates/admin/change_form.html @@ -0,0 +1,128 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_modify jazzmin %} +{% get_jazzmin_settings request as jazzmin_settings %} + +{% block extrastyle %} + {{ block.super }} + +{% endblock %} + +{% block extrahead %} + {{ block.super }} + + {{ media }} +{% endblock %} + +{% block coltype %}colM{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-form{% endblock %} + +{% if not is_popup %} + {% block breadcrumbs %} + + {% endblock %} +{% endif %} + +{% block content_title %} {{ opts.verbose_name_plural|capfirst }} {% endblock %} + +{% block content %} + +
+
+ {% csrf_token %} + {% block form_top %}{% endblock %} + + {% if errors %} +
+ {% if errors|length == 1 %} + {% trans "Please correct the error below." %} + {% else %} + {% trans "Please correct the errors below." %} + {% endif %} +
+ {% for error in adminform.form.non_field_errors %} +
+ + {{ error|capfirst }} +
+ {% endfor %} + {% endif %} + +
+ {% if is_popup %}{% endif %} + {% if to_field %}{% endif %} + + {% block field_sets %} +
+
+
+ {% get_changeform_template adminform as changeform_template %} + {% include changeform_template %} +
+
+
+ {% endblock %} + + {% block after_field_sets %}{% endblock %} + + {% block inline_field_sets %}{% endblock %} + + {% block after_related_objects %}{% endblock %} + +
+
+ {% block submit_buttons_bottom %} + {% submit_row %} + {% block object-tools %} + {% if change %} + {% if not is_popup %} +
+ {% block object-tools-items %} + {% change_form_object_tools %} + {% block extra_actions %}{% endblock %} + {% endblock %} +
+ {% endif %} + {% endif %} + {% endblock %} + {% endblock %} +
+
+ + {% block admin_change_form_document_ready %} + + {% endblock %} + + {% prepopulated_fields_js %} +
+
+
+ +{% endblock %} + +{% block extrajs %} + {{ block.super }} + + + {% if jazzmin_settings.related_modal_active %} + + + {% endif %} +{% endblock %} diff --git a/templates/admin/change_form_object_tools.html b/templates/admin/change_form_object_tools.html new file mode 100644 index 0000000..9786a99 --- /dev/null +++ b/templates/admin/change_form_object_tools.html @@ -0,0 +1,10 @@ +{% load i18n admin_urls jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block object-tools-items %} + {% url opts|admin_urlname:'history' original.pk|admin_urlquote as history_url %} + {% trans 'History' %} + {% if has_absolute_url %} + {% trans "View on site" %} + {% endif %} +{% endblock %} diff --git a/templates/admin/change_list.html b/templates/admin/change_list.html new file mode 100644 index 0000000..d7d35a1 --- /dev/null +++ b/templates/admin/change_list.html @@ -0,0 +1,122 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static admin_list jazzmin %} + +{% block extrastyle %} + {{ block.super }} + + + {% if cl.formset or action_form %} + + {% endif %} + {{ media.css }} + {% if not actions_on_top and not actions_on_bottom %} + + {% endif %} +{% endblock %} + +{% block extrahead %} + {{ block.super }} + {{ media.js }} +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} change-list{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content_title %} {{ cl.opts.verbose_name_plural|capfirst }} {% endblock %} + +{% block coltype %}flex{% endblock %} + + {% block page_actions %} +
+ {% block object-tools %} + {% block object-tools-items %} + {% change_list_object_tools %} + {% endblock %} + {% endblock %} +
+ {% endblock %} + + +{% block content %} + + {% block date_hierarchy %}{% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}{% endblock %} + + {% block search %} + {% search_form cl %} + {% endblock %} + +
+
+
{% csrf_token %} +
+ {% if cl.formset and cl.formset.errors %} + + {{ cl.formset.non_form_errors }} + {% endif %} +
+
+
+ {% if cl.formset %} +
{{ cl.formset.management_form }}
+ {% endif %} + + {% block result_list %} +
+
+ {% if action_form and actions_on_top and cl.show_admin_actions %} + {% admin_actions %} + {% endif %} +
+
+ {% result_list cl %} + {% if action_form and actions_on_bottom and cl.show_admin_actions %} +
+
+ {% admin_actions %} +
+
+ {% endif %} + {% endblock %} +
+
+
+ {% block pagination %}{% pagination cl %}{% endblock %} +
+
+
+
+
+ +
+
+{% endblock %} + +{% block extrajs %} + {{ block.super }} + + + +{% endblock %} diff --git a/templates/admin/change_list_object_tools.html b/templates/admin/change_list_object_tools.html new file mode 100644 index 0000000..18b3c4e --- /dev/null +++ b/templates/admin/change_list_object_tools.html @@ -0,0 +1,11 @@ +{% load i18n admin_urls jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block object-tools-items %} + {% if has_add_permission %} + {% url cl.opts|admin_urlname:'add' as add_url %} + +   {% blocktrans with cl.opts.verbose_name as name %}Add {{ name }}{% endblocktrans %} + + {% endif %} +{% endblock %} diff --git a/templates/admin/change_list_results.html b/templates/admin/change_list_results.html new file mode 100644 index 0000000..f928548 --- /dev/null +++ b/templates/admin/change_list_results.html @@ -0,0 +1,48 @@ +{% load i18n static jazzmin %} + +{% if result_hidden_fields %} +
+ {% for item in result_hidden_fields %}{{ item }}{% endfor %} +
+{% endif %} + +{% if results %} +
+
+ + + + {% for header in result_headers %} + + {% endfor %} + + + + {% for result in results %} + + {% for item in result %}{{ item }}{% endfor %} + + {% endfor %} + +
+
+ {% if header.sortable %} + {{ header.text|capfirst }} + {% else %} + {{ header.text|capfirst }} + {% endif %} + {% if header.sorted %} + +
+
+ {% if header.ascending %} + + {% else %} + + {% endif %} + {% endif %} +
+
+
+
+{% endif %} diff --git a/templates/admin/date_hierarchy.html b/templates/admin/date_hierarchy.html new file mode 100644 index 0000000..6e5d5b1 --- /dev/null +++ b/templates/admin/date_hierarchy.html @@ -0,0 +1,23 @@ +{% load jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% if show %} +
+
+ {% block date-hierarchy-toplinks %} + {% block date-hierarchy-back %} + {% if back %} + ‹ {{ back.title }} + {% endif %} + {% endblock %} + {% block date-hierarchy-choices %} + {% for choice in choices %} + + {{ choice.title }} + + {% endfor %} + {% endblock %} + {% endblock %} +
+
+{% endif %} diff --git a/templates/admin/delete_confirmation.html b/templates/admin/delete_confirmation.html new file mode 100644 index 0000000..3a54bdc --- /dev/null +++ b/templates/admin/delete_confirmation.html @@ -0,0 +1,79 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block extrahead %} +{{ block.super }} +{{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content_title %} {% trans 'Delete' %} {% endblock %} + +{% block content %} + +
+
+
+

+ {% trans 'Delete' %} {{ object|truncatewords:"18" }} +

+
+ +
+
+ {% if perms_lacking %} +

{% blocktrans with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktrans %}

+
    + {% for obj in perms_lacking %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% elif protected %} +

{% blocktrans with escaped_object=object %}Deleting the {{ object_name }} '{{ escaped_object }}' would require deleting the following protected related objects:{% endblocktrans %}

+
    + {% for obj in protected %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% else %} +

{% blocktrans with escaped_object=object %}Are you sure you want to delete the {{ object_name }} "{{ escaped_object }}"? All of the following related items will be deleted:{% endblocktrans %}

+
+
+

{% trans "Objects" %}

+
    {{ deleted_objects|unordered_list }}
+
+
+ {% include "admin/includes/object_delete_summary.html" %} +
{% csrf_token %} + + {% if is_popup %}{% endif %} + {% if to_field %}{% endif %} +
+ +
+ +
+
+
+ {% endif %} +
+
+
+
+ +{% endblock %} diff --git a/templates/admin/delete_selected_confirmation.html b/templates/admin/delete_selected_confirmation.html new file mode 100644 index 0000000..2061184 --- /dev/null +++ b/templates/admin/delete_selected_confirmation.html @@ -0,0 +1,83 @@ +{% extends "admin/base_site.html" %} +{% load i18n l10n admin_urls static jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block extrahead %} + {{ block.super }} + {{ media }} + +{% endblock %} + +{% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }} delete-confirmation delete-selected-confirmation{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content_title %} {% trans 'Delete multiple objects' %} {% endblock %} + +{% block content %} + +
+
+
+

+ {% trans 'Delete multiple objects' %} +

+
+ +
+
+ {% if perms_lacking %} +

{% blocktrans %}Deleting the selected {{ objects_name }} would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktrans %}

+
    + {% for obj in perms_lacking %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% elif protected %} +

{% blocktrans %}Deleting the selected {{ objects_name }} would require deleting the following protected related objects:{% endblocktrans %}

+
    + {% for obj in protected %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% else %} +

{% blocktrans %}Are you sure you want to delete the selected {{ objects_name }}? All of the following objects and their related items will be deleted:{% endblocktrans %}

+
+
+

{% trans "Objects" %}

+ {% for deletable_object in deletable_objects %} +
    {{ deletable_object|unordered_list }}
+ {% endfor %} +
+
+ {% include "admin/includes/object_delete_summary.html" %} +
+
+ {% csrf_token %} + {% for obj in queryset %} + + {% endfor %} + + +
+ +
+ +
+
+
+ {% endif %} +
+
+
+
+{% endblock %} diff --git a/templates/admin/edit_inline/stacked.html b/templates/admin/edit_inline/stacked.html new file mode 100644 index 0000000..97276f9 --- /dev/null +++ b/templates/admin/edit_inline/stacked.html @@ -0,0 +1,58 @@ +{% load i18n admin_urls static %} +
+
+
+ {{ inline_admin_formset.formset.management_form }} + {{ inline_admin_formset.formset.non_form_errors }} + + {% for inline_admin_form in inline_admin_formset %} +
+
+
+

+ + {% if inline_admin_form.original %} + {% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} + + {% if inline_admin_formset.has_change_permission %} + + {% else %} + + {% endif %} + + {% endif %} + {{ inline_admin_form.original }} + {% else %} + + {% trans "New" %} {{ inline_admin_formset.opts.verbose_name|capfirst }} + {% endif %} + + {% if inline_admin_form.show_url %} + + + + {% endif %} +

+ {% if inline_admin_formset.formset.can_delete and inline_admin_formset.has_delete_permission and inline_admin_form.original %} + + {{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }} + + {% endif %} +
+
+ {% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %} + {% for fieldset in inline_admin_form %} + {% include "admin/includes/fieldset.html" %} + {% endfor %} + {% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %} + {% if inline_admin_form.fk_field %}{{ inline_admin_form.fk_field.field }}{% endif %} +
+
+
+ {% endfor %} +
+
+
diff --git a/templates/admin/edit_inline/tabular.html b/templates/admin/edit_inline/tabular.html new file mode 100644 index 0000000..66ae83b --- /dev/null +++ b/templates/admin/edit_inline/tabular.html @@ -0,0 +1,94 @@ +{% load i18n admin_urls static admin_modify %} +
+ +
diff --git a/templates/admin/filer/breadcrumbs.html b/templates/admin/filer/breadcrumbs.html new file mode 100644 index 0000000..695041f --- /dev/null +++ b/templates/admin/filer/breadcrumbs.html @@ -0,0 +1,30 @@ +{% load i18n %} + + diff --git a/templates/admin/filer/change_form.html b/templates/admin/filer/change_form.html new file mode 100644 index 0000000..c6f46e8 --- /dev/null +++ b/templates/admin/filer/change_form.html @@ -0,0 +1,33 @@ +{% extends "admin/change_form.html" %} +{% load i18n admin_modify static filer_admin_tags %} + +{% block breadcrumbs %} + {% with original as instance %} + {% include "admin/filer/breadcrumbs.html" %} + {% endwith %} +{% endblock %} + +{% block extrastyle %} + {{ block.super }} + +{% endblock %} + + +{% block after_field_sets %} + {% filer_admin_context_hidden_formfields %} +{% endblock %} + +{% block file_sidebar %} + {% with original.duplicates as duplicates %} + {% if duplicates %} +
+

{% trans "Duplicates" %}

+ +
+ {% endif %} + {% endwith %} +{% endblock %} diff --git a/templates/admin/filer/delete_selected_files_confirmation.html b/templates/admin/filer/delete_selected_files_confirmation.html new file mode 100644 index 0000000..cca72ad --- /dev/null +++ b/templates/admin/filer/delete_selected_files_confirmation.html @@ -0,0 +1,75 @@ +{% extends "admin/delete_selected_confirmation.html" %} +{% load i18n static admin_urls static jazzmin %} + +{% block breadcrumbs %} + {% include "admin/filer/breadcrumbs.html" %} +{% endblock %} + +{% block content %} +
+
+
+

+ {% trans 'Delete multiple objects' %} +

+
+ +
+
+ + {% if perms_lacking or protected %} + {% if perms_lacking %} +

{% blocktrans %}Deleting the selected files and/or folders would result in deleting related objects, but your account doesn't have permission to delete the following types of objects:{% endblocktrans %}

+
    + {% for obj in perms_lacking %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% endif %} + {% if protected %} +

{% blocktrans %}Deleting the selected files and/or folders would require deleting the following protected related objects:{% endblocktrans %}

+
    + {% for obj in protected %} +
  1. {{ obj }}
  2. + {% endfor %} +
+ {% endif %} + {% else %} +

{% blocktrans %}Are you sure you want to delete the selected files and/or folders? All of the following objects and their related items will be deleted:{% endblocktrans %}

+
+
+

{% trans "Objects" %}

+ {% for deletable_object in deletable_objects %} +
    {{ deletable_object|unordered_list }}
+ {% endfor %} +
+
+
+ {% csrf_token %} + {% for f in files_queryset %} + + {% endfor %} + {% for f in folders_queryset %} + + {% endfor %} + {% if is_popup %} + + {% if select_folder %}{% endif %} + {% endif %} + + +
+ +
+ +
+
+
+ {% endif %} +
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/templates/admin/filer/file/change_form.html b/templates/admin/filer/file/change_form.html new file mode 100644 index 0000000..b3c4fb3 --- /dev/null +++ b/templates/admin/filer/file/change_form.html @@ -0,0 +1,36 @@ +{% extends "admin/filer/change_form.html" %} +{% load admin_modify static %} + +{% block extrahead %} + {{ block.super }} + + {# upload stuff #} + + + + + + + + + + + + + +{% endblock %} + +{% block submit_buttons_bottom %} + {% include "admin/filer/tools/detail_info.html" with file=True %} + {{ block.super }} +{% endblock %} diff --git a/templates/admin/filer/folder/change_form.html b/templates/admin/filer/folder/change_form.html new file mode 100644 index 0000000..78582e7 --- /dev/null +++ b/templates/admin/filer/folder/change_form.html @@ -0,0 +1,33 @@ +{% extends "admin/change_form.html" %} +{% load i18n admin_modify static filer_admin_tags %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block coltype %}{% if is_popup %}colM{% else %}colMS{% endif %}{% endblock %} + +{% block object-tools %} + {% if change and not is_popup %} + {% trans 'History' %} + {% if has_absolute_url %} + {% trans "View on site" %} + {% endif%} + {% endif %} +{% endblock %} + +{% block after_field_sets %} + {% filer_admin_context_hidden_formfields %} +{% endblock %} diff --git a/templates/admin/filer/folder/directory_listing.html b/templates/admin/filer/folder/directory_listing.html new file mode 100644 index 0000000..8bb6d3c --- /dev/null +++ b/templates/admin/filer/folder/directory_listing.html @@ -0,0 +1,258 @@ +{% extends "admin/filer/base_site.html" %} +{% load i18n static filer_admin_tags %} + +{% block extrahead %} + {{ block.super }} + + {% if action_form and actions_on_top or actions_on_bottom %} + + {% endif %} +{% endblock %} + +{% block coltype %}{% endblock %} +{% block bodyclass %}change-list filebrowser{% endblock %} + + +{% block extrastyle %} + {{ block.super }} + + {{ media.css }} + {% if action_form %} + {% url 'admin:jsi18n' as jsi18nurl %} + + {% endif %} + {% if query.pop %} + + {% endif %} +{% endblock %} + +{% block breadcrumbs %} + {% if not is_popup %} + + + + + {% endif %} +{% endblock %} + +{% block content %} + +
+ {% include "admin/filer/tools/search_form.html" %} + +
+{% endblock %} diff --git a/templates/admin/filer/image/change_form.html b/templates/admin/filer/image/change_form.html new file mode 100644 index 0000000..3951695 --- /dev/null +++ b/templates/admin/filer/image/change_form.html @@ -0,0 +1,36 @@ +{% extends "admin/filer/change_form.html" %} +{% load admin_modify static %} + +{% block extrahead %} + {{ block.super }} + + {# upload stuff #} + + + + + + + + + + + + + +{% endblock %} + +{% block submit_buttons_bottom %} + {% include "admin/filer/tools/detail_info.html" %} + {{ block.super }} +{% endblock %} \ No newline at end of file diff --git a/templates/admin/filer/tools/detail_info.html b/templates/admin/filer/tools/detail_info.html new file mode 100644 index 0000000..dea4d07 --- /dev/null +++ b/templates/admin/filer/tools/detail_info.html @@ -0,0 +1,55 @@ +{% load filer_admin_tags i18n static jazzmin %} + +
+
+

+ + {{ original }} +

+
+
+
+ {% if file %} + + {% else %} +
+ +
+ +
+
+ {% endif %} +
+ {% if original.file_type or original.modified_at or original.uploaded_at or original.width or original.height or original.size or original.owner %} +
    + {% if original.file_type %} +
  • {% trans "Type" %}: {{ original.extension|upper }} {{ original.file_type }}
  • + {% endif %} + {% if original.width or original.height %} +
  • {% trans "Size" %}: {{ original.width }}x{{ original.height }} px
  • + {% endif %} + {% if original.size %} +
  • {% trans "File-size" %}: {{ original.size|filesizeformat }}
  • + {% endif %} + {% if original.modified_at %} +
  • {% trans "Modified" %}: {{ original.modified_at }}
  • + {% endif %} + {% if original.uploaded_at %} +
  • {% trans "Created" %}: {{ original.uploaded_at }}
  • + {% endif %} + {% if original.owner %} +
  • {% trans "Owner" %}: {{ original.owner }}
  • + {% endif %} +
+ {% endif %} + +
+
diff --git a/templates/admin/filter.html b/templates/admin/filter.html new file mode 100644 index 0000000..40750af --- /dev/null +++ b/templates/admin/filter.html @@ -0,0 +1,15 @@ +{% load i18n %} + +
+ +
diff --git a/templates/admin/import_export/base.html b/templates/admin/import_export/base.html new file mode 100644 index 0000000..904b8e0 --- /dev/null +++ b/templates/admin/import_export/base.html @@ -0,0 +1,19 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_modify %} +{% load admin_urls %} +{% load static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} +{% block bodyclass %}{{ block.super }} {{ opts.app_label }}-{{ opts.object_name.lower }} change-form{% endblock %} +{% if not is_popup %} +{% block breadcrumbs %} + + + +{% endblock %} +{% endif %} diff --git a/templates/admin/import_export/change_list.html b/templates/admin/import_export/change_list.html new file mode 100644 index 0000000..0f23dc7 --- /dev/null +++ b/templates/admin/import_export/change_list.html @@ -0,0 +1,13 @@ +{% extends "admin/change_list.html" %} + +{# Original template renders object-tools only when has_add_permission is True. #} +{# This hack allows sub templates to add to object-tools #} +{% block object-tools %} +
    + {% block object-tools-items %} + {% if has_add_permission %} + {{ block.super }} + {% endif %} + {% endblock %} +
+{% endblock %} diff --git a/templates/admin/import_export/change_list_export.html b/templates/admin/import_export/change_list_export.html new file mode 100644 index 0000000..9af1f73 --- /dev/null +++ b/templates/admin/import_export/change_list_export.html @@ -0,0 +1,6 @@ +{% extends "admin/import_export/change_list.html" %} + +{% block object-tools-items %} + {% include "admin/import_export/change_list_export_item.html" %} + {{ block.super }} +{% endblock %} diff --git a/templates/admin/import_export/change_list_export_item.html b/templates/admin/import_export/change_list_export_item.html new file mode 100644 index 0000000..a63791d --- /dev/null +++ b/templates/admin/import_export/change_list_export_item.html @@ -0,0 +1,8 @@ +{% load i18n %} +{% load admin_urls %} + +{% if has_export_permission %} + + {% trans "Export" %} + +{% endif %} diff --git a/templates/admin/import_export/change_list_import.html b/templates/admin/import_export/change_list_import.html new file mode 100644 index 0000000..9aa1860 --- /dev/null +++ b/templates/admin/import_export/change_list_import.html @@ -0,0 +1,6 @@ +{% extends "admin/import_export/change_list.html" %} + +{% block object-tools-items %} + {% include "admin/import_export/change_list_import_item.html" %} + {{ block.super }} +{% endblock %} diff --git a/templates/admin/import_export/change_list_import_export.html b/templates/admin/import_export/change_list_import_export.html new file mode 100644 index 0000000..6b30773 --- /dev/null +++ b/templates/admin/import_export/change_list_import_export.html @@ -0,0 +1,9 @@ +{% extends "admin/import_export/change_list.html" %} + +{% block object-tools-items %} +
+ {% include "admin/import_export/change_list_import_item.html" %} + {% include "admin/import_export/change_list_export_item.html" %} + {{ block.super }} +
+{% endblock %} diff --git a/templates/admin/import_export/change_list_import_item.html b/templates/admin/import_export/change_list_import_item.html new file mode 100644 index 0000000..561e105 --- /dev/null +++ b/templates/admin/import_export/change_list_import_item.html @@ -0,0 +1,8 @@ +{% load i18n admin_urls jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% if has_import_permission %} + + {% trans "Import" %} + +{% endif %} diff --git a/templates/admin/import_export/export.html b/templates/admin/import_export/export.html new file mode 100644 index 0000000..c7a9d5e --- /dev/null +++ b/templates/admin/import_export/export.html @@ -0,0 +1,74 @@ +{% extends "admin/import_export/base.html" %} +{% load i18n admin_urls static import_export_tags jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block extrastyle %} + {{ block.super }} + +{% endblock %} + +{% block breadcrumbs_last %} + {% trans "Export" %} +{% endblock %} + +{% block content %} +
+
+ {% csrf_token %} +
+
+
+
+
+ Export +
+
+
+ {% for field in form %} +
+
+ {{ field.errors }} +
+ {{ field.label_tag }} +
+
+ {{ field }} +
+ +
+ {% if field.field.help_text %} + ({{ field.field.help_text|striptags }}) + {% endif %} +
+
+
+ {% endfor %} +
+
+
+ +
+
+
+

+ + Actions +

+
+
+
+ +
+
+
+
+
+
+
+{% endblock %} + +{% block extrajs %} + {{ block.super }} + + +{% endblock %} diff --git a/templates/admin/import_export/import.html b/templates/admin/import_export/import.html new file mode 100644 index 0000000..5cb4b33 --- /dev/null +++ b/templates/admin/import_export/import.html @@ -0,0 +1,272 @@ +{% extends "admin/import_export/base.html" %} +{% load i18n admin_urls import_export_tags static jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block extrastyle %} + {{ block.super }} + + +{% endblock %} + +{% block breadcrumbs_last %} + {% trans "Import" %} +{% endblock %} + +{% block content %} +
+ {% if confirm_form %} +
+ {% csrf_token %} +
+
+
+
+
+ {% trans 'Confirm Import' %} +
+
+
+
+ {{ confirm_form.as_p }} +

+ {% trans "Below is a preview of data to be imported. If you are satisfied with the results, click 'Confirm import'" %} +

+
+
+
+
+
+
+
+

+ + {% trans 'Actions' %} +

+
+
+
+ +
+
+
+
+
+
+ {% else %} +
+ {% csrf_token %} +
+
+
+
+
+ {% trans 'Confirm Import' %} +
+
+
+ {% for field in form %} +
+
+ {{ field.errors }} +
+ {{ field.label_tag }} +
+
+ {{ field }} +
+ +
+ {% if field.field.help_text %} + ({{ field.field.help_text|striptags }}) + {% endif %} +
+
+
+ {% endfor %} +
+

+ {% trans "This importer will import the following fields: " %} +

    + {% for field in fields %} +
  • {{ field }}
  • + {% endfor %} +
+

+
+
+
+
+ +
+
+
+

+ + {% trans 'Actions' %} +

+
+
+
+ +
+
+
+
+
+
+ {% endif %} + + {% if result %} + + {% if result.has_errors %} +
+
+
+
+
+ {% trans "Errors" %} +
+
+ +
+
    + {% for error in result.base_errors %} +
  • + {{ error.error }} +
    +
    + {{ error.traceback|linebreaks }} +
    +
    +
  • + {% endfor %} + {% for line, errors in result.row_errors %} + {% for error in errors %} +
  • + {% trans "Line number" %}: {{ line }} - {{ error.error }} +
    + {{ error.row.values|join:", " }} +
    +
    +
    + {{ error.traceback|linebreaks }} +
    +
    +
  • + {% endfor %} + {% endfor %} +
+
+
+
+
+ + {% elif result.has_validation_errors %} + +

{% trans "Some rows failed to validate" %}

+ +

{% trans "Please correct these errors in your data where possible, then reupload it using the form above." %}

+ + + + + + + {% for field in result.diff_headers %} + + {% endfor %} + + + + {% for row in result.invalid_rows %} + + + + {% for field in row.values %} + + {% endfor %} + + {% endfor %} + +
{% trans "Row" %}{% trans "Errors" %}{{ field }}
{{ row.number }} + {{ row.error_count }} +
+
    + {% for field_name, error_list in row.field_specific_errors.items %} +
  • + {{ field_name }} +
      + {% for error in error_list %} +
    • {{ error }}
    • + {% endfor %} +
    +
  • + {% endfor %} + {% if row.non_field_specific_errors %} +
  • + {% trans "Non field specific" %} +
      + {% for error in row.non_field_specific_errors %} +
    • {{ error }}
    • + {% endfor %} +
    +
  • + {% endif %} +
+
+
{{ field }}
+ + {% else %} + +
+
+
+
+
+ {% trans "Preview" %} +
+
+
+ + + + + {% for field in result.diff_headers %} + + {% endfor %} + + + {% for row in result.valid_rows %} + + + {% for field in row.diff %} + + {% endfor %} + + {% endfor %} +
{{ field }}
+ {% if row.import_type == 'new' %} + {% trans "New" %} + {% elif row.import_type == 'skip' %} + {% trans "Skipped" %} + {% elif row.import_type == 'delete' %} + {% trans "Delete" %} + {% elif row.import_type == 'update' %} + {% trans "Update" %} + {% endif %} + {{ field }}
+
+
+
+
+ + {% endif %} + {% endif %} +
+{% endblock %} + +{% block extrajs %} + {{ block.super }} + + +{% endblock %} diff --git a/templates/admin/includes/fieldset.html b/templates/admin/includes/fieldset.html new file mode 100644 index 0000000..0189fc1 --- /dev/null +++ b/templates/admin/includes/fieldset.html @@ -0,0 +1,59 @@ +{% load jazzmin %} +{% if card %} +
+ {% if card_header and fieldset.name %} +
+
+ {{ fieldset.name }}{% if fieldset.description %} - {{ fieldset.description }}{% endif %} +
+
+ {%elif fieldset.description %} +
+
+ {{ fieldset.description }} +
+
+ {%endif%} + +
+{% endif %} + + {% for line in fieldset %} +
+
+ {% for field in line %} + + + {% endfor %} +
+
+ {% endfor %} + +{% if card %} +
+
+{% endif %} \ No newline at end of file diff --git a/templates/admin/includes/object_delete_summary.html b/templates/admin/includes/object_delete_summary.html new file mode 100644 index 0000000..0057af8 --- /dev/null +++ b/templates/admin/includes/object_delete_summary.html @@ -0,0 +1,12 @@ +{% load i18n %} +

{% trans "Summary" %}

+ + + {% for model_name, object_count in model_count %} + + + + + {% endfor %} + +
{{ model_name|capfirst }}{{ object_count }}
diff --git a/templates/admin/index.html b/templates/admin/index.html new file mode 100644 index 0000000..abc77db --- /dev/null +++ b/templates/admin/index.html @@ -0,0 +1,133 @@ +{% extends "admin/base_site.html" %} +{% load i18n static jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block content_title %} {% trans 'Dashboard' %} {% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + + +{% block content %} + {% get_side_menu using="app_list" as dashboard_list %} + {% if dashboard_list %} + {% widthratio dashboard_list|length 2 1 as middle %} + {% endif %} + +
+
+
+ {% for app in dashboard_list %} +
+
+
{{ app.name }}
+
+
+ + + {% for model in app.models %} + + + + + {% endfor %} + +
+ {% if model.url %}{{ model.name }}{% else %}{{ model.name }}{% endif %} + +
+ {% if model.add_url %} + {% trans 'Add' %} + {% endif %} + {% if model.url %} + {% if model.view_only %} + {% trans 'View' %} + {% else %} + {% if model.custom %}{% trans 'Go' %}{% else %}{% trans 'Change' %}{% endif %} + {% endif %} + {% endif %} +
+
+
+
+ + {% if forloop.counter == middle|add:"0" %} +
+
+ {% endif %} + + {% endfor %} +
+
+ +
+
+ +
+ +{% endblock %} diff --git a/templates/admin/login.html b/templates/admin/login.html new file mode 100644 index 0000000..5c41ffc --- /dev/null +++ b/templates/admin/login.html @@ -0,0 +1,76 @@ +{% extends "registration/base.html" %} + +{% load i18n jazzmin %} +{% get_jazzmin_settings request as jazzmin_settings %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block content %} + +
+ {% csrf_token %} + {% if user.is_authenticated %} +

+

+

+ {% blocktrans trimmed %} + You are authenticated as {{ username }}, but are not authorized to + access this page. Would you like to login to a different account? + {% endblocktrans %} +

+
+

+ {% endif %} + {% if form.errors %} + {% if form.username.errors %} +
+

{{ form.username.label }}: {{ form.username.errors|join:', ' }}

+
+ {% endif %} + {% if form.password.errors %} +
+

{{ form.password.label }}: {{ form.password.errors|join:', ' }}

+
+ {% endif %} + {% if form.non_field_errors %} +
+ {% for error in form.non_field_errors %} +

{{ error }}

+ {% endfor %} +
+ {% endif %} + {% endif %} +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ {% url 'admin_password_reset' as password_reset_url %} + {% if password_reset_url %} + + {% endif %} +
+
+ +
+
+
+{% endblock %} diff --git a/templates/admin/mptt_filter.html b/templates/admin/mptt_filter.html new file mode 100644 index 0000000..ef78514 --- /dev/null +++ b/templates/admin/mptt_filter.html @@ -0,0 +1,16 @@ +{% load i18n %} +{% load mptt_admin %} + +
+ +
\ No newline at end of file diff --git a/templates/admin/object_history.html b/templates/admin/object_history.html new file mode 100644 index 0000000..9ce281a --- /dev/null +++ b/templates/admin/object_history.html @@ -0,0 +1,72 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_urls static jazzmin %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} + +
+
+
+
+

+ {% trans 'History' %} +

+
+ +
+
+
+ +
+ + {% for action in action_list reversed %} +
+ {{ action.action_time|date:"DATETIME_FORMAT" }} +
+ + {% action_message_to_list action as action_message_list %} + {% for action_message in action_message_list %} + + {% endfor %} + + {% endfor %} + +
+ + {% if not action_list %} +
+

+ {% trans "This object doesn't have a change history. It probably wasn't added via this admin site." %} +

+
+ {% endif %} +
+
+ +
+
+
+
+
+
+ +{% endblock %} diff --git a/templates/admin/pagination.html b/templates/admin/pagination.html new file mode 100644 index 0000000..a3f4d09 --- /dev/null +++ b/templates/admin/pagination.html @@ -0,0 +1,30 @@ +{% load admin_list jazzmin i18n %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +
+
+ {{ cl.result_count }} + {% if cl.result_count == 1 %} + {{ cl.opts.verbose_name }} + {% else %} + {{ cl.opts.verbose_name_plural }} + {% endif %} + + {% if show_all_url %}   + {% trans 'Show all' %} + {% endif %} + {% if cl.formset and cl.result_count %} + + {% endif %} +
+
+ +
+
    + {% if pagination_required %} + {% for i in page_range %} + {% jazzmin_paginator_number cl i %} + {% endfor %} + {% endif %} +
+
diff --git a/templates/admin/popup_response.html b/templates/admin/popup_response.html new file mode 100644 index 0000000..20fcbfc --- /dev/null +++ b/templates/admin/popup_response.html @@ -0,0 +1,17 @@ +{% load i18n static %} + + + + {% trans 'Popup closing...' %} + + + + \ No newline at end of file diff --git a/templates/admin/search_form.html b/templates/admin/search_form.html new file mode 100644 index 0000000..db22136 --- /dev/null +++ b/templates/admin/search_form.html @@ -0,0 +1,42 @@ +{% load i18n static admin_list jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +
+ +
\ No newline at end of file diff --git a/templates/admin/solo/change_form.html b/templates/admin/solo/change_form.html new file mode 100644 index 0000000..ff667a6 --- /dev/null +++ b/templates/admin/solo/change_form.html @@ -0,0 +1,18 @@ +{% extends "admin/change_form.html" %} +{% load admin_urls i18n jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block object-tools-items %} + {% trans 'History' %} + {% if has_absolute_url %} + {% trans "View on site" %} + {% endif %} +{% endblock %} diff --git a/templates/admin/solo/object_history.html b/templates/admin/solo/object_history.html new file mode 100644 index 0000000..ebb6c28 --- /dev/null +++ b/templates/admin/solo/object_history.html @@ -0,0 +1,11 @@ +{% extends "admin/object_history.html" %} +{% load admin_urls i18n %} + +{% block breadcrumbs %} + +{% endblock %} diff --git a/templates/admin/submit_line.html b/templates/admin/submit_line.html new file mode 100644 index 0000000..c3a553e --- /dev/null +++ b/templates/admin/submit_line.html @@ -0,0 +1,42 @@ +{% load i18n admin_urls jazzmin %} +{% get_jazzmin_ui_tweaks as jazzmin_ui %} + +{% block submit-row %} +
+ {% if show_save %} +
+ +
+ {% endif %} + {% if show_delete_link and original %} +
+ {% url opts|admin_urlname:'delete' original.pk|admin_urlquote as delete_url %} + {% trans "Delete" %} +
+ {% endif %} + {% if show_save_as_new %} +
+ +
+ {% endif %} + {% if show_save_and_add_another %} +
+ +
+ {% endif %} + {% if show_save_and_continue %} +
+ +
+ {% endif %} + {% if show_close %} + + {% endif %} + + {% block extra-actions %}{% endblock %} + +
+{% endblock %} + diff --git a/uv.lock b/uv.lock index 372a9c4..1ed04e6 100644 --- a/uv.lock +++ b/uv.lock @@ -41,6 +41,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/39/e3/893e8757be2612e6c266d9bb58ad2e3651524b5b40cf56761e985a28b13e/asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47", size = 23828 }, ] +[[package]] +name = "asttokens" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/1d/f03bcb60c4a3212e15f99a56085d93093a497718adf828d050b9d675da81/asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0", size = 62284 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/86/4736ac618d82a20d87d2f92ae19441ebc7ac9e7a581d7e58bbe79233b24a/asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24", size = 27764 }, +] + +[[package]] +name = "async-timeout" +version = "4.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", size = 8345 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", size = 5721 }, +] + [[package]] name = "beautifulsoup4" version = "4.12.3" @@ -345,6 +366,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a2/80/fb7d668f1be5e4443b7ac191f68390be24f7c2ebd36011741f62c7645eb2/cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84", size = 2989208 }, ] +[[package]] +name = "decorator" +version = "5.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/0c/8d907af351aa16b42caae42f9d6aa37b900c67308052d10fdce809f8d952/decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330", size = 35016 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/50/83c593b07763e1161326b3b8c6686f0f4b0f24d5526546bee538c89837d6/decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186", size = 9073 }, +] + [[package]] name = "deep-translator" version = "1.11.4" @@ -369,16 +399,16 @@ wheels = [ [[package]] name = "django" -version = "5.0" +version = "5.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "asgiref" }, { name = "sqlparse" }, { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/be/a6/46e250737d46e955e048f6bbc2948fb22f0de3f3ab828d3803070dc1260e/Django-5.0.tar.gz", hash = "sha256:7d29e14dfbc19cb6a95a4bd669edbde11f5d4c6a71fdaa42c2d40b6846e807f7", size = 10585390 } +sdist = { url = "https://files.pythonhosted.org/packages/1e/0c/d854d25bb74a8a3b41e642bbd27fe6af12fadd0edfd07d487809cf0ef719/Django-5.1.tar.gz", hash = "sha256:848a5980e8efb76eea70872fb0e4bc5e371619c70fffbe48e3e1b50b2c09455d", size = 10681050 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/c7/61b02c0ef9e129080a8c2bffefb3cb2b9ddddece4c44dc473c1c4f0647c1/Django-5.0-py3-none-any.whl", hash = "sha256:3a9fd52b8dbeae335ddf4a9dfa6c6a0853a1122f1fb071a8d5eca979f73a05c8", size = 8136382 }, + { url = "https://files.pythonhosted.org/packages/28/b4/110532cebfea2244d76119904da98c6fa045ebb202aee9ec7cbf36ea3cad/Django-5.1-py3-none-any.whl", hash = "sha256:d3b811bf5371a26def053d7ee42a9df1267ef7622323fe70a601936725aa4557", size = 8246099 }, ] [[package]] @@ -431,6 +461,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/09/b1/92f1c30b47c1ebf510c35a2ccad9448f73437e5891bbd2b4febe357cc3de/django_filter-24.3-py3-none-any.whl", hash = "sha256:c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64", size = 95011 }, ] +[[package]] +name = "django-htmx" +version = "1.19.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asgiref" }, + { name = "django" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/38/3b5b53b158f3e75da6b68f798514f1b533b0c88f87dd7bb59eb3e4836c32/django_htmx-1.19.0.tar.gz", hash = "sha256:e7e17304e78e07f96eca0affc3ce1806edfdf3538bb7cb1912452b101f3e627d", size = 9791 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/a8/831374e1b117c345ee63690186bfdc56ad0b578b0f5ad2361de65d82757e/django_htmx-1.19.0-py3-none-any.whl", hash = "sha256:875a642814e52278c1728842436beda2001847a493ab79fd82da3fb46ead140f", size = 6904 }, +] + [[package]] name = "django-import-export" version = "4.1.1" @@ -487,6 +530,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/05/ef/a3ad9941f14a13a5dc9f2bdc8992bf21cc09c462c718711a0281acfab67c/django_resized-1.0.2-py3-none-any.whl", hash = "sha256:d55a8d4125838486a1e76ffb689f8364f7d579bc7562b04400065602ec2ba7cc", size = 5141 }, ] +[[package]] +name = "django-sesame" +version = "3.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "django" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/88/584aa0c56b0788ef506ca178ba647fc4403b35f4660064dffd43014c3133/django_sesame-3.2.2.tar.gz", hash = "sha256:5d753a309166356b6a0d7fc047690943b9e80b4aa7952f1a6400fe6ce60d573c", size = 17615 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/e7/951f35106972668b61e79635c93933c51c2d58f49a9c8ebf0a8ff7262331/django_sesame-3.2.2-py3-none-any.whl", hash = "sha256:523ebd4d04e28c897c262f25b78b6fd8f37e11cdca6e277fdc8bf496bd686cf5", size = 20289 }, +] + [[package]] name = "django-solo" version = "2.3.0" @@ -512,6 +567,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cf/14/20c40882d9ee91f7a2a20d3c0175cf813340c02ae31c975ce567de2c7c67/django_tailwind-3.8.0-py3-none-any.whl", hash = "sha256:fa969c5b95d314b173fe2b2ed2cb2c03f2e2c94fdc2c01ff73a993fa159085da", size = 12936 }, ] +[[package]] +name = "django-unfold" +version = "0.39.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "django" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/4c/808b551f5c75d24c0a6aabf3275c6f661e0b0ab24bd50236fb13b2b16feb/django_unfold-0.39.0.tar.gz", hash = "sha256:927218e8a14f951dd82212a980f3f02608a160f966da656d13ef51be887a610c", size = 811917 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/41/855b6d650bf11455e697948f194780d6704e89a2965b18985a5277172099/django_unfold-0.39.0-py3-none-any.whl", hash = "sha256:5393742d0755fc3983ee805ac27213cb7abbe06b563a0cdfd24103ff22480322", size = 877521 }, +] + +[[package]] +name = "django-vite-plugin" +version = "3.0.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/ec/24786da10b7d32906e99e22f6312333b51fb3d6322647d056ef090d99e64/django_vite_plugin-3.0.4.tar.gz", hash = "sha256:e5964597daa53ad5992f23e99e61dc4168c07ed51077851a3e3f02989697d41c", size = 5825 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/e0/4bc110d278d213d3dbccfac6d6f8ab229199d1876251eaa7e7f945de251a/django_vite_plugin-3.0.4-py3-none-any.whl", hash = "sha256:5cc0425cd9a56afc0d1d27d5016e61a6929ad93024307af4195e4b25db340574", size = 8569 }, +] + [[package]] name = "django-webpack-loader" version = "3.1.1" @@ -533,6 +609,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7c/b6/fa99d8f05eff3a9310286ae84c4059b08c301ae4ab33ae32e46e8ef76491/djangorestframework-3.15.2-py3-none-any.whl", hash = "sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20", size = 1071235 }, ] +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "executing" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/e3/7d45f492c2c4a0e8e0fad57d081a7c8a0286cdd86372b070cca1ec0caa1e/executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab", size = 977485 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b5/fd/afcd0496feca3276f509df3dbd5dae726fcc756f1a08d9e25abe1733f962/executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf", size = 25805 }, +] + [[package]] name = "firebase-admin" version = "6.5.0" @@ -575,18 +669,24 @@ dependencies = [ { name = "django-ckeditor" }, { name = "django-cors-headers" }, { name = "django-filter" }, + { name = "django-htmx" }, { name = "django-import-export" }, { name = "django-jazzmin" }, { name = "django-loginas" }, { name = "django-resized" }, + { name = "django-sesame" }, { name = "django-solo" }, { name = "django-tailwind" }, + { name = "django-unfold" }, + { name = "django-vite-plugin" }, { name = "djangorestframework" }, { name = "firebase-admin" }, + { name = "ipython" }, { name = "mysqlclient" }, { name = "pillow" }, { name = "pip" }, { name = "python-dotenv" }, + { name = "redis" }, { name = "stellar-sdk" }, ] @@ -603,22 +703,28 @@ dev = [ requires-dist = [ { name = "celery", specifier = ">=5.4.0" }, { name = "deep-translator", specifier = ">=1.11.4" }, - { name = "django", specifier = "==5.0" }, + { name = "django", specifier = "==5.1" }, { name = "django-ckeditor", specifier = ">=6.7.1" }, { name = "django-cors-headers", specifier = ">=4.4.0" }, { name = "django-filter", specifier = ">=24.3" }, + { name = "django-htmx", specifier = ">=1.19.0" }, { name = "django-import-export", specifier = ">=4.1.1" }, { name = "django-jazzmin", specifier = ">=3.0.0" }, { name = "django-loginas", specifier = ">=0.3.11" }, { name = "django-resized", specifier = ">=1.0.2" }, + { name = "django-sesame", specifier = ">=3.2.2" }, { name = "django-solo", specifier = ">=2.3.0" }, { name = "django-tailwind", specifier = ">=3.8.0" }, + { name = "django-unfold", specifier = ">=0.39.0" }, + { name = "django-vite-plugin", specifier = ">=3.0.4" }, { name = "djangorestframework", specifier = ">=3.15.2" }, { name = "firebase-admin", specifier = ">=6.5.0" }, + { name = "ipython", specifier = ">=8.27.0" }, { name = "mysqlclient", specifier = ">=2.2.4" }, { name = "pillow", specifier = ">=10.4.0" }, { name = "pip", specifier = ">=24.2" }, { name = "python-dotenv", specifier = ">=1.0.1" }, + { name = "redis", specifier = ">=5.0.8" }, { name = "stellar-sdk", specifier = ">=11.0.0" }, ] @@ -862,6 +968,28 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, ] +[[package]] +name = "ipython" +version = "8.27.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/24/d4fabaca03c8804bf0b8d994c8ae3a20e57e9330d277fb43d83e558dec5e/ipython-8.27.0.tar.gz", hash = "sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e", size = 5494984 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a2/6c725958e6f135d8e5de081e69841bb2c1d84b3fc259d02eb092b8fc203a/ipython-8.27.0-py3-none-any.whl", hash = "sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c", size = 818986 }, +] + [[package]] name = "isort" version = "5.13.2" @@ -871,6 +999,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", size = 92310 }, ] +[[package]] +name = "jedi" +version = "0.19.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/99/99b493cec4bf43176b678de30f81ed003fd6a647a301b9c927280c600f0a/jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd", size = 1227821 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/9f/bc63f0f0737ad7a60800bfd472a4836661adae21f9c2535f3957b1e54ceb/jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0", size = 1569361 }, +] + [[package]] name = "kombu" version = "5.4.1" @@ -884,6 +1024,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c1/78/c556bf2954bd36f166959ac33d23cde4a8967e61cdb74678585a66edbae0/kombu-5.4.1-py3-none-any.whl", hash = "sha256:621d365f234e4c089596f3a2510f1ade07026efc28caca426161d8f458786cab", size = 201338 }, ] +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899 }, +] + [[package]] name = "mccabe" version = "0.7.0" @@ -984,6 +1136,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/08/aa/cc0199a5f0ad350994d660967a8efb233fe0416e4639146c089643407ce6/packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124", size = 53985 }, ] +[[package]] +name = "parso" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650 }, +] + [[package]] name = "pathspec" version = "0.12.1" @@ -993,6 +1154,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191 }, ] +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772 }, +] + [[package]] name = "pillow" version = "10.4.0" @@ -1108,6 +1281,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/51/3d/71fae0078424ba8ea70b222b6fa56ef771a9918ab91cee806c2abc9d57fa/protobuf-5.28.1-py3-none-any.whl", hash = "sha256:c529535e5c0effcf417682563719e5d8ac8d2b93de07a56108b4c2d436d7a29a", size = 169572 }, ] +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993 }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842 }, +] + [[package]] name = "pyasn1" version = "0.6.1" @@ -1237,6 +1428,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d4/d7/f1b7db88d8e4417c5d47adad627a93547f44bdc9028372dbd2313f34a855/pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a", size = 62725 }, ] +[[package]] +name = "pygments" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/62/8336eff65bcbc8e4cb5d05b55faf041285951b6e80f33e2bff2024788f31/pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199", size = 4891905 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f7/3f/01c8b82017c199075f8f788d0d906b9ffbbc5a47dc9918a945e13d5a2bda/pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a", size = 1205513 }, +] + [[package]] name = "pyjwt" version = "2.9.0" @@ -1301,6 +1501,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 }, ] +[[package]] +name = "redis" +version = "5.0.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-timeout", marker = "python_full_version < '3.11.3'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/10/defc227d65ea9c2ff5244645870859865cba34da7373477c8376629746ec/redis-5.0.8.tar.gz", hash = "sha256:0c5b10d387568dfe0698c6fad6615750c24170e548ca2deac10c649d463e9870", size = 4595651 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/d1/19a9c76811757684a0f74adc25765c8a901d67f9f6472ac9d57c844a23c8/redis-5.0.8-py3-none-any.whl", hash = "sha256:56134ee08ea909106090934adc36f65c9bcbbaecea5b21ba704ba6fb561f8eb4", size = 255608 }, +] + [[package]] name = "requests" version = "2.32.3" @@ -1367,6 +1579,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5d/a5/b2860373aa8de1e626b2bdfdd6df4355f0565b47e51f7d0c54fe70faf8fe/sqlparse-0.5.1-py3-none-any.whl", hash = "sha256:773dcbf9a5ab44a090f3441e2180efe2560220203dc2f8c0b0fa141e18b505e4", size = 44156 }, ] +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521 }, +] + [[package]] name = "stellar-sdk" version = "11.0.0" @@ -1412,6 +1638,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", size = 12757 }, ] +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359 }, +] + [[package]] name = "typing-extensions" version = "4.12.2" diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..2be9e8a --- /dev/null +++ b/vite.config.js @@ -0,0 +1,12 @@ +//vite.config.js +import { defineConfig } from 'vite' +import { djangoVitePlugin } from 'django-vite-plugin' + +export default defineConfig({ + plugins: [ + djangoVitePlugin([ + 'jsvite/js/main.js', + // 'templatevite/css/style.css', + ]) + ], +}); \ No newline at end of file diff --git a/webpack-stats.json b/webpack-stats.json deleted file mode 100644 index 7c64e2d..0000000 --- a/webpack-stats.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "status": "done", - "assets": { - "main.js": { - "name": "main.js", - "path": "D:\\Project\\Upload\\geraipi_test\\static\\webpack_bundles\\main.js", - "publicPath": "auto" - }, - "main.js.LICENSE.txt": { - "name": "main.js.LICENSE.txt", - "path": "D:\\Project\\Upload\\geraipi_test\\static\\webpack_bundles\\main.js.LICENSE.txt", - "publicPath": "auto" - }, - "other.js": { - "name": "other.js", - "path": "D:\\Project\\Upload\\geraipi_test\\static\\webpack_bundles\\other.js", - "publicPath": "auto" - }, - "other.js.LICENSE.txt": { - "name": "other.js.LICENSE.txt", - "path": "D:\\Project\\Upload\\geraipi_test\\static\\webpack_bundles\\other.js.LICENSE.txt", - "publicPath": "auto" - } - }, - "chunks": { - "main": [ - "main.js" - ], - "other": [ - "other.js" - ] - }, - "publicPath": "auto" -} \ No newline at end of file diff --git a/webpack.config.js b/webpack.config.js deleted file mode 100644 index 1f7d44d..0000000 --- a/webpack.config.js +++ /dev/null @@ -1,47 +0,0 @@ -var path = require("path"); -var BundleTracker = require("webpack-bundle-tracker"); -const FileManagerPlugin = require('filemanager-webpack-plugin'); - -module.exports = { - context: __dirname, - entry: { - main: "./assets/js/index", - other: "./assets/js/other", - }, - output: { - path: path.resolve(__dirname, "static/webpack_bundles/"), - publicPath: "auto", - filename: "[name].js", - }, - - plugins: [ - new BundleTracker({ path: __dirname, filename: "webpack-stats.json" }), - new FileManagerPlugin({ - events: { - onEnd: { - copy: [{ - source: './static/webpack_bundles/other.js', - destination: './frontend/templates/firebase-messaging-sw.js', - }], - }, - } - }), - ], - - module: { - rules: [ - // we pass the output from babel loader to react-hot loader - { - test: /\.jsx?$/, - exclude: /node_modules/, - use: { - loader: "babel-loader", - }, - }, - ], - }, - - resolve: { - extensions: [".js", ".jsx"], - }, -}; \ No newline at end of file From f567c82f2e735f8a8c68be9a93a664bc39bedc7f Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Mon, 23 Sep 2024 21:32:07 +0700 Subject: [PATCH 02/12] update setting --- projekpi/settings.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/projekpi/settings.py b/projekpi/settings.py index 9529027..c030965 100644 --- a/projekpi/settings.py +++ b/projekpi/settings.py @@ -44,6 +44,7 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "django_htmx", "django.forms", "corsheaders", "django_filters", @@ -62,7 +63,8 @@ "ckeditor", "apidata", "django_extensions", - "webpack_loader", + "sesame", + "django_vite_plugin" ] MIDDLEWARE = [ @@ -74,7 +76,7 @@ "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", - # "django_htmx.middleware.HtmxMiddleware", + "django_htmx.middleware.HtmxMiddleware", # "django_browser_reload.middleware.BrowserReloadMiddleware", ] @@ -274,3 +276,19 @@ def CAN_LOGIN_AS(request, target_user): 'LOADER_CLASS': 'webpack_loader.loader.WebpackLoader', } } + +SESAME_ONE_TIME=True + +AUTHENTICATION_BACKENDS = [ + "django.contrib.auth.backends.ModelBackend", + "sesame.backends.ModelBackend", +] + +LOGIN_REDIRECT_URL = '/profile' +DJANGO_VITE_DEV_MODE = True + +DJANGO_VITE_PLUGIN = { + "BUILD_DIR": "static/buildvite", + "BUILD_URL_PREFIX": "/" + STATIC_URL + "buildvite", + "DEV_MODE": False , +} From 70726d11cc8d8506c443d76f284ad85a373d964b Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 06:49:36 +0700 Subject: [PATCH 03/12] update frontend --- frontend/templates/profil/transaksi_user.html | 11 ++++++- frontend/templates/toko/listtransaksi.html | 32 ++++++++++++++++--- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/frontend/templates/profil/transaksi_user.html b/frontend/templates/profil/transaksi_user.html index 699a9f0..5642085 100644 --- a/frontend/templates/profil/transaksi_user.html +++ b/frontend/templates/profil/transaksi_user.html @@ -59,7 +59,16 @@

{{ tr.produk.nama }}

-

Tanggal diambil: {{ tr.cart.tanggal }}

+ {% if tr.cart.status == 1 %} +

+ Tanggal order: {{ tr.cart.tanggal }} +

+ {% endif %} + {% if tr.cart.status >= 3 %} +

+ Tanggal dikirim: {{ tr.cart.tanggal_dikirim }} +

+ {% endif %}

{{ tr.produk.harga }} Pi

{% if tr.cart.catatan %} {{ tr.cart.catatan | truncatewords:5 }} {% else %} - {% endif %}

diff --git a/frontend/templates/toko/listtransaksi.html b/frontend/templates/toko/listtransaksi.html index 060e5c6..1980f48 100644 --- a/frontend/templates/toko/listtransaksi.html +++ b/frontend/templates/toko/listtransaksi.html @@ -50,7 +50,21 @@

{{ tr.produk.nama }}

-

Tanggal diambil: {{ tr.cart.tanggal }}

+ {% if tr.cart.status == 1 %} +

+ Tanggal order: {{ tr.cart.tanggal }} +

+ {% endif %} + {% if tr.cart.status == 3 %} +

+ Tanggal dikirim: {{ tr.cart.tanggal_dikirim }} +

+ {% endif %} + {% if tr.cart.status > 3 %} +

+ Tanggal dikirim: {{ tr.cart.tanggal_selesai }} +

+ {% endif %}

{{ tr.produk.harga }} Pi

{% if tr.cart.catatan %} {{ tr.cart.catatan | truncatewords:5 }} {% else %} - {% endif %}

@@ -84,10 +98,20 @@

Detail Barang ({{ tr.cart.kode }})

{{ tr.produk.nama }}

-

Tanggal diambil:

+

Tanggal order:

:

{{ tr.cart.tanggal | date:'d M Y' }}

+ +

Tanggal dikirim:

+ : +

{{ tr.cart.tanggal_dikirim | date:'d M Y' }}

+ + +

Tanggal selesai:

+ : +

{{ tr.cart.tanggal_selesai | date:'d M Y' }}

+ {% for t in tr.user_chart.addressuserchartitem_set.all %}

Alamat Pembeli:

@@ -169,8 +193,8 @@

Detail Barang ({{ tr.cart.kode }})

{% if tr.cart.status_toko == 2 %} - {% elif transaksi.cart.status_toko >= 3 %} - Laporkan + {% elif tr.cart.status_toko == 3 %} + Laporkan {% endif %} From 909832ee407b9e64114dba540d339aa05dd24585 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 19:15:14 +0700 Subject: [PATCH 04/12] update gh action --- .github/workflows/deploy_toserver_production.yml | 7 ------- .github/workflows/deploy_toserver_test.yml | 11 ++++------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/.github/workflows/deploy_toserver_production.yml b/.github/workflows/deploy_toserver_production.yml index 930f111..9a4b8b2 100644 --- a/.github/workflows/deploy_toserver_production.yml +++ b/.github/workflows/deploy_toserver_production.yml @@ -14,10 +14,3 @@ jobs: port: ${{ secrets.PORT }} script: | cd /opt/GPMain - git pull origin main - export $(grep -v '^#' .env | xargs) - /opt/geraienv/bin/python /opt/GPMain/manage.py makemigrations - /opt/geraienv/bin/python /opt/GPMain/manage.py migrate - echo yes | /opt/geraienv/bin/python /opt/GPMain/manage.py collectstatic - service uwsgi restart - service nginx restart diff --git a/.github/workflows/deploy_toserver_test.yml b/.github/workflows/deploy_toserver_test.yml index 1c31b53..91209d4 100644 --- a/.github/workflows/deploy_toserver_test.yml +++ b/.github/workflows/deploy_toserver_test.yml @@ -13,11 +13,8 @@ jobs: password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script: | - cd /opt/geraipi - git pull origin2 main + cd $HOME/Projek/geraipi_test + source $HOME/virtualenv/Projek/geraipi_test/3.10/bin/activate + git pull origin main export $(grep -v '^#' .env | xargs) - /opt/geraienv/bin/python /opt/geraipi/manage.py makemigrations - /opt/geraienv/bin/python /opt/geraipi/manage.py migrate - echo yes | /opt/geraienv/bin/python /opt/geraipi/manage.py collectstatic - service uwsgi restart - service nginx restart + touch tmp/restart.txt From ae53b1676ab2f021224f16af2dda71fd409f61a4 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 19:28:41 +0700 Subject: [PATCH 05/12] update gh action --- .github/workflows/deploy_toserver_test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy_toserver_test.yml b/.github/workflows/deploy_toserver_test.yml index 91209d4..af9ca75 100644 --- a/.github/workflows/deploy_toserver_test.yml +++ b/.github/workflows/deploy_toserver_test.yml @@ -16,5 +16,4 @@ jobs: cd $HOME/Projek/geraipi_test source $HOME/virtualenv/Projek/geraipi_test/3.10/bin/activate git pull origin main - export $(grep -v '^#' .env | xargs) touch tmp/restart.txt From 072c5e6ffb3b259b886a5660ea1353bf5803a37c Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 20:28:36 +0700 Subject: [PATCH 06/12] update gh action --- .github/workflows/deploy_toserver_test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy_toserver_test.yml b/.github/workflows/deploy_toserver_test.yml index af9ca75..9df0bfb 100644 --- a/.github/workflows/deploy_toserver_test.yml +++ b/.github/workflows/deploy_toserver_test.yml @@ -1,5 +1,9 @@ name: Deploy to server test -on: [workflow_dispatch] +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] jobs: build: name: build-apps From b3323461c59be0af2d9f88318569a249d1299bee Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 20:52:30 +0700 Subject: [PATCH 07/12] update gh action --- .github/workflows/deploy_toserver_production.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy_toserver_production.yml b/.github/workflows/deploy_toserver_production.yml index 9a4b8b2..514fb1b 100644 --- a/.github/workflows/deploy_toserver_production.yml +++ b/.github/workflows/deploy_toserver_production.yml @@ -1,5 +1,9 @@ name: Deploy to server production -on: [workflow_dispatch] +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] jobs: build: name: build-apps @@ -13,4 +17,7 @@ jobs: password: ${{ secrets.PASSWORD }} port: ${{ secrets.PORT }} script: | - cd /opt/GPMain + cd $HOME/Projek/geraipi_main + source $HOME/virtualenv/Projek/geraipi_main/3.10/bin/activate + git pull origin main + touch tmp/restart.txt From b7598b26575169020ae4de691a9a2c43fe1803dc Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 21:00:33 +0700 Subject: [PATCH 08/12] update gh action --- .github/workflows/license_scan.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/license_scan.yml diff --git a/.github/workflows/license_scan.yml b/.github/workflows/license_scan.yml new file mode 100644 index 0000000..6101fbe --- /dev/null +++ b/.github/workflows/license_scan.yml @@ -0,0 +1,30 @@ +name: Python matrix CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-22.04 + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: [3.10.12] + steps: + - uses: actions/checkout@v1 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip install -r requirements-dev.txt + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --statistics + - name: Test with pytest + run: | + pytest --cov=. test \ No newline at end of file From 9b540fb62d1b677c897aa0b8ac5586fc2c619e35 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 21:01:51 +0700 Subject: [PATCH 09/12] update gh action --- .github/workflows/license_scan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/license_scan.yml b/.github/workflows/license_scan.yml index 6101fbe..c80da69 100644 --- a/.github/workflows/license_scan.yml +++ b/.github/workflows/license_scan.yml @@ -8,7 +8,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.10.12] + python-version: [3.10.15] steps: - uses: actions/checkout@v1 - name: Set up Python From 39687f1046ad931b0f81e245b012670806fa0f84 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 21:03:45 +0700 Subject: [PATCH 10/12] update gh action --- requirements-dev.txt | 269 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 requirements-dev.txt diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..322bfad --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1,269 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile pyproject.toml -o requirements.txt +amqp==5.1.1 + # via kombu +annotated-types==0.7.0 + # via pydantic +asgiref==3.8.1 + # via + # django + # django-cors-headers + # django-htmx +asttokens==2.4.1 + # via stack-data +async-timeout==4.0.3 + # via redis +beautifulsoup4==4.12.3 + # via deep-translator +billiard==4.2.0 + # via celery +cachecontrol==0.14.0 + # via firebase-admin +cachetools==5.3.2 + # via google-auth +celery==5.4.0 + # via geraipi (pyproject.toml) +certifi==2022.9.24 + # via requests +cffi==1.15.1 + # via + # cryptography + # pynacl +charset-normalizer==2.1.1 + # via requests +click==8.1.3 + # via + # celery + # click-didyoumean + # click-plugins + # click-repl +click-didyoumean==0.3.0 + # via celery +click-plugins==1.1.1 + # via celery +click-repl==0.2.0 + # via celery +cryptography==38.0.1 + # via pyjwt +decorator==5.1.1 + # via ipython +deep-translator==1.11.4 + # via geraipi (pyproject.toml) +diff-match-patch==20200713 + # via django-import-export +django==5.0 + # via + # geraipi (pyproject.toml) + # django-ckeditor + # django-cors-headers + # django-filter + # django-htmx + # django-import-export + # django-jazzmin + # django-js-asset + # django-sesame + # django-solo + # django-tailwind + # djangorestframework +django-ckeditor==6.7.1 + # via geraipi (pyproject.toml) +django-cors-headers==4.4.0 + # via geraipi (pyproject.toml) +django-filter==24.3 + # via geraipi (pyproject.toml) +django-htmx==1.19.0 + # via geraipi (pyproject.toml) +django-import-export==4.1.1 + # via geraipi (pyproject.toml) +django-jazzmin==3.0.0 + # via geraipi (pyproject.toml) +django-js-asset==2.0.0 + # via django-ckeditor +django-loginas==0.3.11 + # via geraipi (pyproject.toml) +django-resized==1.0.2 + # via geraipi (pyproject.toml) +django-sesame==3.2.2 + # via geraipi (pyproject.toml) +django-solo==2.3.0 + # via geraipi (pyproject.toml) +django-tailwind==3.8.0 + # via geraipi (pyproject.toml) +django-vite-plugin==3.0.4 + # via geraipi (pyproject.toml) +djangorestframework==3.15.2 + # via geraipi (pyproject.toml) +exceptiongroup==1.2.2 + # via ipython +executing==2.1.0 + # via stack-data +firebase-admin==6.5.0 + # via geraipi (pyproject.toml) +google-api-core==2.17.1 + # via + # firebase-admin + # google-api-python-client + # google-cloud-core + # google-cloud-firestore + # google-cloud-storage +google-api-python-client==2.118.0 + # via firebase-admin +google-auth==2.28.0 + # via + # google-api-core + # google-api-python-client + # google-auth-httplib2 + # google-cloud-core + # google-cloud-storage +google-auth-httplib2==0.2.0 + # via google-api-python-client +google-cloud-core==2.4.1 + # via + # google-cloud-firestore + # google-cloud-storage +google-cloud-firestore==2.14.0 + # via firebase-admin +google-cloud-storage==2.14.0 + # via firebase-admin +google-crc32c==1.5.0 + # via + # google-cloud-storage + # google-resumable-media +google-resumable-media==2.7.0 + # via google-cloud-storage +googleapis-common-protos==1.62.0 + # via + # google-api-core + # grpcio-status +grpcio==1.60.1 + # via + # google-api-core + # grpcio-status +grpcio-status==1.60.1 + # via google-api-core +httplib2==0.22.0 + # via + # google-api-python-client + # google-auth-httplib2 +idna==2.10 + # via requests +ipython==8.27.0 + # via geraipi (pyproject.toml) +jedi==0.19.1 + # via ipython +kombu==5.4.1 + # via celery +matplotlib-inline==0.1.7 + # via ipython +mnemonic==0.20 + # via stellar-sdk +msgpack==1.0.7 + # via cachecontrol +mysqlclient==2.2.4 + # via geraipi (pyproject.toml) +parso==0.8.4 + # via jedi +pexpect==4.9.0 + # via ipython +pillow==10.4.0 + # via geraipi (pyproject.toml) +pip==24.2 + # via geraipi (pyproject.toml) +prompt-toolkit==3.0.47 + # via + # click-repl + # ipython +proto-plus==1.23.0 + # via google-cloud-firestore +protobuf==4.25.3 + # via + # google-api-core + # google-cloud-firestore + # googleapis-common-protos + # grpcio-status + # proto-plus +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +pyasn1==0.5.1 + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.3.0 + # via google-auth +pycparser==2.21 + # via cffi +pydantic==2.9.1 + # via stellar-sdk +pydantic-core==2.23.3 + # via pydantic +pygments==2.18.0 + # via ipython +pyjwt==2.6.0 + # via firebase-admin +pynacl==1.5.0 + # via stellar-sdk +pyparsing==3.0.9 + # via httplib2 +python-dateutil==2.8.2 + # via celery +python-dotenv==1.0.1 + # via geraipi (pyproject.toml) +redis==5.0.8 + # via geraipi (pyproject.toml) +requests==2.32.3 + # via + # cachecontrol + # deep-translator + # google-api-core + # google-cloud-storage + # requests-sse + # stellar-sdk +requests-sse==0.3.2 + # via stellar-sdk +rsa==4.9 + # via google-auth +six==1.16.0 + # via + # asttokens + # click-repl + # python-dateutil +soupsieve==2.5 + # via beautifulsoup4 +sqlparse==0.4.3 + # via django +stack-data==0.6.3 + # via ipython +stellar-sdk==11.0.0 + # via geraipi (pyproject.toml) +tablib==3.5.0 + # via django-import-export +toml==0.10.2 + # via stellar-sdk +traitlets==5.14.3 + # via + # ipython + # matplotlib-inline +typing-extensions==4.7.1 + # via + # asgiref + # django-solo + # ipython + # pydantic + # pydantic-core +tzdata==2024.1 + # via celery +uritemplate==4.1.1 + # via google-api-python-client +urllib3==1.26.12 + # via requests +vine==5.1.0 + # via + # amqp + # celery + # kombu +wcwidth==0.2.5 + # via prompt-toolkit +xdrlib3==0.1.1 + # via stellar-sdk From 9ed47c0e566e7600e98d8cdad8dd4167d8bc8d91 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 21:34:27 +0700 Subject: [PATCH 11/12] update gh action --- requirements-dev.txt | 942 +++++++++++++++++++++++++++++++------------ requirements.txt | 891 ++++++++++++++++++++++++++++------------ 2 files changed, 1295 insertions(+), 538 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 322bfad..d2a770c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,269 +1,673 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements.txt -amqp==5.1.1 - # via kombu -annotated-types==0.7.0 - # via pydantic -asgiref==3.8.1 - # via - # django - # django-cors-headers - # django-htmx -asttokens==2.4.1 - # via stack-data -async-timeout==4.0.3 - # via redis -beautifulsoup4==4.12.3 - # via deep-translator -billiard==4.2.0 - # via celery -cachecontrol==0.14.0 - # via firebase-admin -cachetools==5.3.2 - # via google-auth -celery==5.4.0 - # via geraipi (pyproject.toml) -certifi==2022.9.24 - # via requests -cffi==1.15.1 - # via - # cryptography - # pynacl -charset-normalizer==2.1.1 - # via requests -click==8.1.3 - # via - # celery - # click-didyoumean - # click-plugins - # click-repl -click-didyoumean==0.3.0 - # via celery -click-plugins==1.1.1 - # via celery -click-repl==0.2.0 - # via celery -cryptography==38.0.1 - # via pyjwt -decorator==5.1.1 - # via ipython -deep-translator==1.11.4 - # via geraipi (pyproject.toml) -diff-match-patch==20200713 - # via django-import-export -django==5.0 - # via - # geraipi (pyproject.toml) - # django-ckeditor - # django-cors-headers - # django-filter - # django-htmx - # django-import-export - # django-jazzmin - # django-js-asset - # django-sesame - # django-solo - # django-tailwind - # djangorestframework -django-ckeditor==6.7.1 - # via geraipi (pyproject.toml) -django-cors-headers==4.4.0 - # via geraipi (pyproject.toml) -django-filter==24.3 - # via geraipi (pyproject.toml) -django-htmx==1.19.0 - # via geraipi (pyproject.toml) -django-import-export==4.1.1 - # via geraipi (pyproject.toml) -django-jazzmin==3.0.0 - # via geraipi (pyproject.toml) -django-js-asset==2.0.0 - # via django-ckeditor -django-loginas==0.3.11 - # via geraipi (pyproject.toml) -django-resized==1.0.2 - # via geraipi (pyproject.toml) -django-sesame==3.2.2 - # via geraipi (pyproject.toml) -django-solo==2.3.0 - # via geraipi (pyproject.toml) -django-tailwind==3.8.0 - # via geraipi (pyproject.toml) -django-vite-plugin==3.0.4 - # via geraipi (pyproject.toml) -djangorestframework==3.15.2 - # via geraipi (pyproject.toml) -exceptiongroup==1.2.2 - # via ipython -executing==2.1.0 - # via stack-data -firebase-admin==6.5.0 - # via geraipi (pyproject.toml) -google-api-core==2.17.1 - # via - # firebase-admin - # google-api-python-client - # google-cloud-core - # google-cloud-firestore - # google-cloud-storage -google-api-python-client==2.118.0 - # via firebase-admin -google-auth==2.28.0 - # via - # google-api-core - # google-api-python-client - # google-auth-httplib2 - # google-cloud-core - # google-cloud-storage -google-auth-httplib2==0.2.0 - # via google-api-python-client -google-cloud-core==2.4.1 - # via - # google-cloud-firestore - # google-cloud-storage -google-cloud-firestore==2.14.0 - # via firebase-admin -google-cloud-storage==2.14.0 - # via firebase-admin -google-crc32c==1.5.0 - # via - # google-cloud-storage - # google-resumable-media -google-resumable-media==2.7.0 - # via google-cloud-storage -googleapis-common-protos==1.62.0 - # via - # google-api-core - # grpcio-status -grpcio==1.60.1 - # via - # google-api-core - # grpcio-status -grpcio-status==1.60.1 - # via google-api-core -httplib2==0.22.0 - # via - # google-api-python-client - # google-auth-httplib2 -idna==2.10 - # via requests -ipython==8.27.0 - # via geraipi (pyproject.toml) -jedi==0.19.1 - # via ipython -kombu==5.4.1 - # via celery -matplotlib-inline==0.1.7 - # via ipython -mnemonic==0.20 - # via stellar-sdk -msgpack==1.0.7 - # via cachecontrol -mysqlclient==2.2.4 - # via geraipi (pyproject.toml) -parso==0.8.4 - # via jedi -pexpect==4.9.0 - # via ipython -pillow==10.4.0 - # via geraipi (pyproject.toml) -pip==24.2 - # via geraipi (pyproject.toml) -prompt-toolkit==3.0.47 - # via - # click-repl - # ipython -proto-plus==1.23.0 - # via google-cloud-firestore -protobuf==4.25.3 - # via - # google-api-core - # google-cloud-firestore - # googleapis-common-protos - # grpcio-status - # proto-plus -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -pyasn1==0.5.1 - # via - # pyasn1-modules - # rsa -pyasn1-modules==0.3.0 - # via google-auth -pycparser==2.21 - # via cffi -pydantic==2.9.1 - # via stellar-sdk -pydantic-core==2.23.3 - # via pydantic -pygments==2.18.0 - # via ipython -pyjwt==2.6.0 - # via firebase-admin -pynacl==1.5.0 - # via stellar-sdk -pyparsing==3.0.9 - # via httplib2 -python-dateutil==2.8.2 - # via celery -python-dotenv==1.0.1 - # via geraipi (pyproject.toml) -redis==5.0.8 - # via geraipi (pyproject.toml) -requests==2.32.3 - # via - # cachecontrol - # deep-translator - # google-api-core - # google-cloud-storage - # requests-sse - # stellar-sdk -requests-sse==0.3.2 - # via stellar-sdk -rsa==4.9 - # via google-auth -six==1.16.0 - # via - # asttokens - # click-repl - # python-dateutil -soupsieve==2.5 - # via beautifulsoup4 -sqlparse==0.4.3 - # via django -stack-data==0.6.3 - # via ipython -stellar-sdk==11.0.0 - # via geraipi (pyproject.toml) -tablib==3.5.0 - # via django-import-export -toml==0.10.2 - # via stellar-sdk -traitlets==5.14.3 - # via - # ipython - # matplotlib-inline -typing-extensions==4.7.1 - # via - # asgiref - # django-solo - # ipython - # pydantic - # pydantic-core -tzdata==2024.1 - # via celery -uritemplate==4.1.1 - # via google-api-python-client -urllib3==1.26.12 - # via requests -vine==5.1.0 - # via - # amqp - # celery - # kombu -wcwidth==0.2.5 - # via prompt-toolkit -xdrlib3==0.1.1 - # via stellar-sdk +# This file was autogenerated via `uv export`. +amqp==5.2.0 \ + --hash=sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd \ + --hash=sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637 +annotated-types==0.7.0 \ + --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 +asgiref==3.8.1 \ + --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590 \ + --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 +asttokens==2.4.1 \ + --hash=sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0 \ + --hash=sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24 +async-timeout==4.0.3 ; python_full_version < '3.11.3' \ + --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \ + --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028 +beautifulsoup4==4.12.3 \ + --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \ + --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed +billiard==4.2.0 \ + --hash=sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c \ + --hash=sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d +black==24.8.0 \ + --hash=sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f \ + --hash=sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6 \ + --hash=sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb \ + --hash=sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42 \ + --hash=sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a \ + --hash=sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1 \ + --hash=sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af \ + --hash=sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4 \ + --hash=sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af \ + --hash=sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368 \ + --hash=sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed \ + --hash=sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018 \ + --hash=sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2 \ + --hash=sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed +cachecontrol==0.14.0 \ + --hash=sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938 \ + --hash=sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0 +cachetools==5.5.0 \ + --hash=sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a \ + --hash=sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292 +celery==5.4.0 \ + --hash=sha256:504a19140e8d3029d5acad88330c541d4c3f64c789d85f94756762d8bca7e706 \ + --hash=sha256:369631eb580cf8c51a82721ec538684994f8277637edde2dfc0dacd73ed97f64 +certifi==2024.8.30 \ + --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9 \ + --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 +cffi==1.17.1 \ + --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \ + --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 \ + --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 \ + --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 \ + --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 \ + --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 \ + --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 \ + --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 \ + --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 \ + --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e \ + --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be \ + --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c \ + --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 \ + --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 \ + --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf \ + --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 \ + --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 \ + --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 \ + --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 \ + --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d \ + --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 \ + --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f \ + --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b \ + --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 \ + --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 \ + --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \ + --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \ + --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \ + --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \ + --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \ + --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \ + --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \ + --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \ + --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \ + --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \ + --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \ + --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e \ + --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 \ + --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 \ + --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 \ + --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 \ + --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 \ + --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd \ + --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed \ + --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 \ + --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d \ + --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a +charset-normalizer==3.3.2 \ + --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ + --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ + --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ + --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ + --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ + --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ + --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ + --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ + --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ + --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ + --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ + --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ + --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ + --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ + --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ + --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ + --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ + --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ + --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ + --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ + --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ + --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ + --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ + --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ + --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ + --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ + --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ + --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ + --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ + --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ + --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ + --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ + --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ + --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ + --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ + --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ + --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ + --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ + --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ + --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ + --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ + --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ + --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ + --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ + --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ + --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ + --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc +click==8.1.7 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 +click-didyoumean==0.3.1 \ + --hash=sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463 \ + --hash=sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c +click-plugins==1.1.1 \ + --hash=sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b \ + --hash=sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8 +click-repl==0.3.0 \ + --hash=sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9 \ + --hash=sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812 +colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows' \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 +cryptography==43.0.1 \ + --hash=sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d \ + --hash=sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d \ + --hash=sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062 \ + --hash=sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962 \ + --hash=sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277 \ + --hash=sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a \ + --hash=sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042 \ + --hash=sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494 \ + --hash=sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2 \ + --hash=sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d \ + --hash=sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d \ + --hash=sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806 \ + --hash=sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85 \ + --hash=sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c \ + --hash=sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1 \ + --hash=sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa \ + --hash=sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4 \ + --hash=sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47 \ + --hash=sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb \ + --hash=sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034 \ + --hash=sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d \ + --hash=sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289 \ + --hash=sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84 +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 +deep-translator==1.11.4 \ + --hash=sha256:801260c69231138707ea88a0955e484db7d40e210c9e0ae0f77372ffda5f4bf5 \ + --hash=sha256:d635df037e23fa35d12fd42dab72a0b55c9dd19e6292009ee7207e3f30b9e60a +diff-match-patch==20230430 \ + --hash=sha256:953019cdb9c9d2c9e47b5b12bcff3cf4746fc4598eb406076fa1fc27e6a1f15c \ + --hash=sha256:dce43505fb7b1b317de7195579388df0746d90db07015ed47a85e5e44930ef93 +django==5.1 \ + --hash=sha256:848a5980e8efb76eea70872fb0e4bc5e371619c70fffbe48e3e1b50b2c09455d \ + --hash=sha256:d3b811bf5371a26def053d7ee42a9df1267ef7622323fe70a601936725aa4557 +django-ckeditor==6.7.1 \ + --hash=sha256:7144f9ead662306266c728912487313b3b87ba2abf9dbb82c447f662ce25d1f7 \ + --hash=sha256:55b5f9ce3af47e3c8a8ed37d42be8439da2a664d6e571c2247c1db5c96459dd7 +django-cors-headers==4.4.0 \ + --hash=sha256:92cf4633e22af67a230a1456cb1b7a02bb213d6536d2dcb2a4a24092ea9cebc2 \ + --hash=sha256:5c6e3b7fe870876a1efdfeb4f433782c3524078fa0dc9e0195f6706ce7a242f6 +django-extensions==3.2.3 \ + --hash=sha256:44d27919d04e23b3f40231c4ab7af4e61ce832ef46d610cc650d53e68328410a \ + --hash=sha256:9600b7562f79a92cbf1fde6403c04fee314608fefbb595502e34383ae8203401 +django-filter==24.3 \ + --hash=sha256:d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3 \ + --hash=sha256:c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64 +django-htmx==1.19.0 \ + --hash=sha256:e7e17304e78e07f96eca0affc3ce1806edfdf3538bb7cb1912452b101f3e627d \ + --hash=sha256:875a642814e52278c1728842436beda2001847a493ab79fd82da3fb46ead140f +django-import-export==4.1.1 \ + --hash=sha256:16ecc5a9f0df46bde6eb278a3e65ebda0ee1db55656f36440e9fb83f40ab85a3 \ + --hash=sha256:730ae2443a02b1ba27d8dba078a27ae9123adfcabb78161b4f130843607b3df9 +django-jazzmin==3.0.0 \ + --hash=sha256:424ac3e0f7bfd9ce973b581a66abde92035ba6c5b17605615fdf6bd97c4dcb33 \ + --hash=sha256:95ef5d7571519c4c53c24083ec417a0db126aaf1d7dc7311e034a90e430392b3 +django-js-asset==2.2.0 \ + --hash=sha256:0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94 \ + --hash=sha256:7ef3e858e13d06f10799b56eea62b1e76706f42cf4e709be4e13356bc0ae30d8 +django-loginas==0.3.11 \ + --hash=sha256:37aec6fcd1cdb72378b69d2468d2ae39b12cd013f838a9bf9b9b5132e8341735 \ + --hash=sha256:5492eb5b4eb86c05e86cd84fb1f89c9796498643dc23d19e9c9bf83f5768ba86 +django-resized==1.0.2 \ + --hash=sha256:52d727860f64ef4fdadbe2e74b66231c71c59df4d95949e338fcd320450f77fa \ + --hash=sha256:d55a8d4125838486a1e76ffb689f8364f7d579bc7562b04400065602ec2ba7cc +django-sesame==3.2.2 \ + --hash=sha256:5d753a309166356b6a0d7fc047690943b9e80b4aa7952f1a6400fe6ce60d573c \ + --hash=sha256:523ebd4d04e28c897c262f25b78b6fd8f37e11cdca6e277fdc8bf496bd686cf5 +django-solo==2.3.0 \ + --hash=sha256:e82ee8b0aeccb97c401dc722bf01f665c93484c880e929f2a0ea53f5cbf2bf61 \ + --hash=sha256:8069319fc9a3dc1080dc47b134d42526bf71749127eca1bf94bd7eb831c02fb2 +django-tailwind==3.8.0 \ + --hash=sha256:31c2f4a7879d685c2de0feaf0b63f246200b37337bea4d7dbafb59bc3f10c008 \ + --hash=sha256:fa969c5b95d314b173fe2b2ed2cb2c03f2e2c94fdc2c01ff73a993fa159085da +django-unfold==0.39.0 \ + --hash=sha256:927218e8a14f951dd82212a980f3f02608a160f966da656d13ef51be887a610c \ + --hash=sha256:5393742d0755fc3983ee805ac27213cb7abbe06b563a0cdfd24103ff22480322 +django-vite-plugin==3.0.4 \ + --hash=sha256:e5964597daa53ad5992f23e99e61dc4168c07ed51077851a3e3f02989697d41c \ + --hash=sha256:5cc0425cd9a56afc0d1d27d5016e61a6929ad93024307af4195e4b25db340574 +django-webpack-loader==3.1.1 \ + --hash=sha256:f11b79700d1bfc1299131bdf4ba479c1ec200f83a1400e1a2feb5c2ba7b6f8c4 \ + --hash=sha256:15c05cb685b113c5e6f947efa8ee3888a03c2969a2dd0da4c7610b3e695f67ba +djangorestframework==3.15.2 \ + --hash=sha256:36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad \ + --hash=sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20 +exceptiongroup==1.2.2 ; python_full_version < '3.11' \ + --hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc \ + --hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b +executing==2.1.0 \ + --hash=sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab \ + --hash=sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf +firebase-admin==6.5.0 \ + --hash=sha256:e716dde1447f0a1cd1523be76ff872df33c4e1a3c079564ace033b2ad60bcc4f \ + --hash=sha256:fe34ee3ca0e625c5156b3931ca4b4b69b5fc344dbe51bba9706ff674ce277898 +flake8==7.1.1 \ + --hash=sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38 \ + --hash=sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213 +google-api-core==2.19.2 \ + --hash=sha256:ca07de7e8aa1c98a8bfca9321890ad2340ef7f2eb136e558cee68f24b94b0a8f \ + --hash=sha256:53ec0258f2837dd53bbd3d3df50f5359281b3cc13f800c941dd15a9b5a415af4 +google-api-python-client==2.145.0 \ + --hash=sha256:8b84dde11aaccadc127e4846f5cd932331d804ea324e353131595e3f25376e97 \ + --hash=sha256:d74da1358f3f2d63daf3c6f26bd96d89652051183bc87cf10a56ceb2a70beb50 +google-auth==2.34.0 \ + --hash=sha256:8eb87396435c19b20d32abd2f984e31c191a15284af72eb922f10e5bde9c04cc \ + --hash=sha256:72fd4733b80b6d777dcde515628a9eb4a577339437012874ea286bca7261ee65 +google-auth-httplib2==0.2.0 \ + --hash=sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05 \ + --hash=sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d +google-cloud-core==2.4.1 \ + --hash=sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073 \ + --hash=sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61 +google-cloud-firestore==2.18.0 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:3db5dd42334b9904d82b3786703a5a4b576810fb50f61b8fa83ecf4f17b7fdae \ + --hash=sha256:9a735860b692f39f93f900dd3390713ceb9b47ea82cda98360bb551f03d2b916 +google-cloud-storage==2.18.2 \ + --hash=sha256:aaf7acd70cdad9f274d29332673fcab98708d0e1f4dceb5a5356aaef06af4d99 \ + --hash=sha256:97a4d45c368b7d401ed48c4fdfe86e1e1cb96401c9e199e419d289e2c0370166 +google-crc32c==1.6.0 \ + --hash=sha256:6eceb6ad197656a1ff49ebfbbfa870678c75be4344feb35ac1edf694309413dc \ + --hash=sha256:5bcc90b34df28a4b38653c36bb5ada35671ad105c99cfe915fb5bed7ad6924aa \ + --hash=sha256:d9e9913f7bd69e093b81da4535ce27af842e7bf371cde42d1ae9e9bd382dc0e9 \ + --hash=sha256:a184243544811e4a50d345838a883733461e67578959ac59964e43cca2c791e7 \ + --hash=sha256:236c87a46cdf06384f614e9092b82c05f81bd34b80248021f729396a78e55d7e \ + --hash=sha256:ebab974b1687509e5c973b5c4b8b146683e101e102e17a86bd196ecaa4d099fc \ + --hash=sha256:50cf2a96da226dcbff8671233ecf37bf6e95de98b2a2ebadbfdf455e6d05df42 \ + --hash=sha256:f7a1fc29803712f80879b0806cb83ab24ce62fc8daf0569f2204a0cfd7f68ed4 \ + --hash=sha256:40b05ab32a5067525670880eb5d169529089a26fe35dce8891127aeddc1950e8 \ + --hash=sha256:a9e4b426c3702f3cd23b933436487eb34e01e00327fac20c9aebb68ccf34117d \ + --hash=sha256:51c4f54dd8c6dfeb58d1df5e4f7f97df8abf17a36626a217f169893d1d7f3e9f \ + --hash=sha256:bb8b3c75bd157010459b15222c3fd30577042a7060e29d42dabce449c087f2b3 \ + --hash=sha256:ed767bf4ba90104c1216b68111613f0d5926fb3780660ea1198fc469af410e9d \ + --hash=sha256:62f6d4a29fea082ac4a3c9be5e415218255cf11684ac6ef5488eea0c9132689b \ + --hash=sha256:c87d98c7c4a69066fd31701c4e10d178a648c2cac3452e62c6b24dc51f9fcc00 \ + --hash=sha256:bd5e7d2445d1a958c266bfa5d04c39932dc54093fa391736dbfdb0f1929c1fb3 \ + --hash=sha256:7aec8e88a3583515f9e0957fe4f5f6d8d4997e36d0f61624e70469771584c760 \ + --hash=sha256:48abd62ca76a2cbe034542ed1b6aee851b6f28aaca4e6551b5599b6f3ef175cc \ + --hash=sha256:18e311c64008f1f1379158158bb3f0c8d72635b9eb4f9545f8cf990c5668e59d +google-resumable-media==2.7.2 \ + --hash=sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0 \ + --hash=sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa +googleapis-common-protos==1.65.0 \ + --hash=sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0 \ + --hash=sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63 +grpcio==1.66.1 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:35334f9c9745add3e357e3372756fd32d925bd52c41da97f4dfdafbde0bf0ee2 \ + --hash=sha256:4877ba180591acdf127afe21ec1c7ff8a5ecf0fe2600f0d3c50e8c4a1cbc6492 \ + --hash=sha256:3750c5a00bd644c75f4507f77a804d0189d97a107eb1481945a0cf3af3e7a5ac \ + --hash=sha256:a013c5fbb12bfb5f927444b477a26f1080755a931d5d362e6a9a720ca7dbae60 \ + --hash=sha256:b1b24c23d51a1e8790b25514157d43f0a4dce1ac12b3f0b8e9f66a5e2c4c132f \ + --hash=sha256:b7ffb8ea674d68de4cac6f57d2498fef477cef582f1fa849e9f844863af50083 \ + --hash=sha256:307b1d538140f19ccbd3aed7a93d8f71103c5d525f3c96f8616111614b14bf2a \ + --hash=sha256:1c17ebcec157cfb8dd445890a03e20caf6209a5bd4ac5b040ae9dbc59eef091d \ + --hash=sha256:ef82d361ed5849d34cf09105d00b94b6728d289d6b9235513cb2fcc79f7c432c \ + --hash=sha256:292a846b92cdcd40ecca46e694997dd6b9be6c4c01a94a0dfb3fcb75d20da858 \ + --hash=sha256:c30aeceeaff11cd5ddbc348f37c58bcb96da8d5aa93fed78ab329de5f37a0d7a \ + --hash=sha256:8a1e224ce6f740dbb6b24c58f885422deebd7eb724aff0671a847f8951857c26 \ + --hash=sha256:a66fe4dc35d2330c185cfbb42959f57ad36f257e0cc4557d11d9f0a3f14311df \ + --hash=sha256:e3ba04659e4fce609de2658fe4dbf7d6ed21987a94460f5f92df7579fd5d0e22 \ + --hash=sha256:4573608e23f7e091acfbe3e84ac2045680b69751d8d67685ffa193a4429fedb1 \ + --hash=sha256:7e06aa1f764ec8265b19d8f00140b8c4b6ca179a6dc67aa9413867c47e1fb04e \ + --hash=sha256:3885f037eb11f1cacc41f207b705f38a44b69478086f40608959bf5ad85826dd \ + --hash=sha256:97ae7edd3f3f91480e48ede5d3e7d431ad6005bfdbd65c1b56913799ec79e791 \ + --hash=sha256:cfd349de4158d797db2bd82d2020554a121674e98fbe6b15328456b3bf2495bb \ + --hash=sha256:a92c4f58c01c77205df6ff999faa008540475c39b835277fb8883b11cada127a \ + --hash=sha256:fdb14bad0835914f325349ed34a51940bc2ad965142eb3090081593c6e347be9 \ + --hash=sha256:f03a5884c56256e08fd9e262e11b5cfacf1af96e2ce78dc095d2c41ccae2c80d \ + --hash=sha256:2ca2559692d8e7e245d456877a85ee41525f3ed425aa97eb7a70fc9a79df91a0 \ + --hash=sha256:84ca1be089fb4446490dd1135828bd42a7c7f8421e74fa581611f7afdf7ab761 \ + --hash=sha256:d639c939ad7c440c7b2819a28d559179a4508783f7e5b991166f8d7a34b52815 \ + --hash=sha256:b9feb4e5ec8dc2d15709f4d5fc367794d69277f5d680baf1910fc9915c633524 \ + --hash=sha256:7101db1bd4cd9b880294dec41a93fcdce465bdbb602cd8dc5bd2d6362b618759 \ + --hash=sha256:b0aa03d240b5539648d996cc60438f128c7f46050989e35b25f5c18286c86734 +grpcio-status==1.66.1 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:b3f7d34ccc46d83fea5261eea3786174459f763c31f6e34f1d24eba6d515d024 \ + --hash=sha256:cf9ed0b4a83adbe9297211c95cb5488b0cd065707e812145b842c85c4782ff02 +httplib2==0.22.0 \ + --hash=sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81 \ + --hash=sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc +idna==3.10 \ + --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ + --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +ipython==8.27.0 \ + --hash=sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e \ + --hash=sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c +isort==5.13.2 \ + --hash=sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109 \ + --hash=sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6 +jedi==0.19.1 \ + --hash=sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd \ + --hash=sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0 +kombu==5.4.1 \ + --hash=sha256:1c05178826dab811f8cab5b0a154d42a7a33d8bcdde9fa3d7b4582e43c3c03db \ + --hash=sha256:621d365f234e4c089596f3a2510f1ade07026efc28caca426161d8f458786cab +matplotlib-inline==0.1.7 \ + --hash=sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90 \ + --hash=sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca +mccabe==0.7.0 \ + --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ + --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e +mnemonic==0.20 \ + --hash=sha256:7c6fb5639d779388027a77944680aee4870f0fcd09b1e42a5525ee2ce4c625f6 \ + --hash=sha256:acd2168872d0379e7a10873bb3e12bf6c91b35de758135c4fbd1015ef18fafc5 +msgpack==1.1.0 \ + --hash=sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e \ + --hash=sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd \ + --hash=sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d \ + --hash=sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5 \ + --hash=sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5 \ + --hash=sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e \ + --hash=sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b \ + --hash=sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f \ + --hash=sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68 \ + --hash=sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b \ + --hash=sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044 \ + --hash=sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f \ + --hash=sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7 \ + --hash=sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa \ + --hash=sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701 \ + --hash=sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6 \ + --hash=sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59 \ + --hash=sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0 \ + --hash=sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e \ + --hash=sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6 \ + --hash=sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5 \ + --hash=sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88 \ + --hash=sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788 \ + --hash=sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d \ + --hash=sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2 \ + --hash=sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420 \ + --hash=sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2 \ + --hash=sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39 \ + --hash=sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f \ + --hash=sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247 \ + --hash=sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c \ + --hash=sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b \ + --hash=sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b \ + --hash=sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f \ + --hash=sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf \ + --hash=sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330 \ + --hash=sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734 \ + --hash=sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e \ + --hash=sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca \ + --hash=sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915 \ + --hash=sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d \ + --hash=sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434 \ + --hash=sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c \ + --hash=sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc \ + --hash=sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f +mypy-extensions==1.0.0 \ + --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 \ + --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d +mysqlclient==2.2.4 \ + --hash=sha256:33bc9fb3464e7d7c10b1eaf7336c5ff8f2a3d3b88bab432116ad2490beb3bf41 \ + --hash=sha256:ac44777eab0a66c14cb0d38965572f762e193ec2e5c0723bcd11319cc5b693c5 \ + --hash=sha256:329e4eec086a2336fe3541f1ce095d87a6f169d1cc8ba7b04ac68bcb234c9711 \ + --hash=sha256:e1ebe3f41d152d7cb7c265349fdb7f1eca86ccb0ca24a90036cde48e00ceb2ab \ + --hash=sha256:d43987bb9626096a302ca6ddcdd81feaeca65ced1d5fe892a6a66b808326aa54 +packaging==24.1 \ + --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ + --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 +parso==0.8.4 \ + --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d \ + --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 +pathspec==0.12.1 \ + --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 \ + --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 +pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 +pillow==10.4.0 \ + --hash=sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06 \ + --hash=sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e \ + --hash=sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d \ + --hash=sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856 \ + --hash=sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f \ + --hash=sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b \ + --hash=sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc \ + --hash=sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e \ + --hash=sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46 \ + --hash=sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984 \ + --hash=sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141 \ + --hash=sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1 \ + --hash=sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c \ + --hash=sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be \ + --hash=sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3 \ + --hash=sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6 \ + --hash=sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe \ + --hash=sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319 \ + --hash=sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d \ + --hash=sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696 \ + --hash=sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496 \ + --hash=sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91 \ + --hash=sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22 \ + --hash=sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94 \ + --hash=sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597 \ + --hash=sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80 \ + --hash=sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca \ + --hash=sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef \ + --hash=sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a \ + --hash=sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b \ + --hash=sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9 \ + --hash=sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42 \ + --hash=sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a \ + --hash=sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9 \ + --hash=sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3 \ + --hash=sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb \ + --hash=sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70 \ + --hash=sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be \ + --hash=sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0 \ + --hash=sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc \ + --hash=sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a \ + --hash=sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309 \ + --hash=sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060 \ + --hash=sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea \ + --hash=sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d \ + --hash=sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4 \ + --hash=sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da \ + --hash=sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026 \ + --hash=sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e \ + --hash=sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5 \ + --hash=sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885 \ + --hash=sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5 +pip==24.2 \ + --hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8 \ + --hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 +platformdirs==4.3.3 \ + --hash=sha256:d4e0b7d8ec176b341fb03cb11ca12d0276faa8c485f9cd218f613840463fc2c0 \ + --hash=sha256:50a5450e2e84f44539718293cbb1da0a0885c9d14adf21b77bae4e66fc99d9b5 +prompt-toolkit==3.0.47 \ + --hash=sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360 \ + --hash=sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10 +proto-plus==1.24.0 \ + --hash=sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445 \ + --hash=sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12 +protobuf==5.28.1 \ + --hash=sha256:42597e938f83bb7f3e4b35f03aa45208d49ae8d5bcb4bc10b9fc825e0ab5e423 \ + --hash=sha256:fc063acaf7a3d9ca13146fefb5b42ac94ab943ec6e978f543cd5637da2d57957 \ + --hash=sha256:4c7f5cb38c640919791c9f74ea80c5b82314c69a8409ea36f2599617d03989af \ + --hash=sha256:4304e4fceb823d91699e924a1fdf95cde0e066f3b1c28edb665bda762ecde10f \ + --hash=sha256:0dfd86d2b5edf03d91ec2a7c15b4e950258150f14f9af5f51c17fa224ee1931f \ + --hash=sha256:51f09caab818707ab91cf09cc5c156026599cf05a4520779ccbf53c1b352fb25 \ + --hash=sha256:c529535e5c0effcf417682563719e5d8ac8d2b93de07a56108b4c2d436d7a29a +ptyprocess==0.7.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 +pure-eval==0.2.3 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 +pyasn1==0.6.1 \ + --hash=sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034 \ + --hash=sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 +pyasn1-modules==0.4.1 \ + --hash=sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c \ + --hash=sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd +pycodestyle==2.12.1 \ + --hash=sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521 \ + --hash=sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3 +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc +pydantic==2.9.1 \ + --hash=sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2 \ + --hash=sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612 +pydantic-core==2.23.3 \ + --hash=sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690 \ + --hash=sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6 \ + --hash=sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5 \ + --hash=sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b \ + --hash=sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700 \ + --hash=sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01 \ + --hash=sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed \ + --hash=sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec \ + --hash=sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba \ + --hash=sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee \ + --hash=sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe \ + --hash=sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b \ + --hash=sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83 \ + --hash=sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27 \ + --hash=sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45 \ + --hash=sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611 \ + --hash=sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61 \ + --hash=sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5 \ + --hash=sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0 \ + --hash=sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8 \ + --hash=sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8 \ + --hash=sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48 \ + --hash=sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5 \ + --hash=sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1 \ + --hash=sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa \ + --hash=sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305 \ + --hash=sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb \ + --hash=sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa \ + --hash=sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162 \ + --hash=sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801 \ + --hash=sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb \ + --hash=sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326 \ + --hash=sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c \ + --hash=sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c \ + --hash=sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab \ + --hash=sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c \ + --hash=sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b \ + --hash=sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f \ + --hash=sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2 \ + --hash=sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791 \ + --hash=sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423 \ + --hash=sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63 \ + --hash=sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9 \ + --hash=sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5 \ + --hash=sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855 \ + --hash=sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4 \ + --hash=sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d \ + --hash=sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8 \ + --hash=sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1 \ + --hash=sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d \ + --hash=sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4 \ + --hash=sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211 \ + --hash=sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961 \ + --hash=sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e \ + --hash=sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc \ + --hash=sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4 \ + --hash=sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b +pyflakes==3.2.0 \ + --hash=sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f \ + --hash=sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a +pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a +pyjwt==2.9.0 \ + --hash=sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c \ + --hash=sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850 +pynacl==1.5.0 \ + --hash=sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba \ + --hash=sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1 \ + --hash=sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92 \ + --hash=sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394 \ + --hash=sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d \ + --hash=sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858 \ + --hash=sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b \ + --hash=sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff \ + --hash=sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543 \ + --hash=sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93 +pyparsing==3.1.4 \ + --hash=sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032 \ + --hash=sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 +python-dotenv==1.0.1 \ + --hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \ + --hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a +redis==5.0.8 \ + --hash=sha256:0c5b10d387568dfe0698c6fad6615750c24170e548ca2deac10c649d463e9870 \ + --hash=sha256:56134ee08ea909106090934adc36f65c9bcbbaecea5b21ba704ba6fb561f8eb4 +requests==2.32.3 \ + --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ + --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-sse==0.3.2 \ + --hash=sha256:3e17bd324e500c9b11c7c23dd00af3f0222070328134bda67a8917985cfc4127 \ + --hash=sha256:c3399b689f6e7bf0eac7c2031211d66ffbb3ab77afc6c9226a71c73c06609f61 +rsa==4.9 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 +soupsieve==2.6 \ + --hash=sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb \ + --hash=sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9 +sqlparse==0.5.1 \ + --hash=sha256:bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e \ + --hash=sha256:773dcbf9a5ab44a090f3441e2180efe2560220203dc2f8c0b0fa141e18b505e4 +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 +stellar-sdk==11.0.0 \ + --hash=sha256:645a4ba4b7e9eab5285bd2d870c74b13968173f56d75a89fd07656a344e2fa7e \ + --hash=sha256:54a53d143aa8a4bf5baf5a38bc8ebddd3280339b6f973cfcbae4c2c362e7929d +tablib==3.5.0 \ + --hash=sha256:f6661dfc45e1d4f51fa8a6239f9c8349380859a5bfaa73280645f046d6c96e33 \ + --hash=sha256:9821caa9eca6062ff7299fa645e737aecff982e6b2b42046928a6413c8dabfd9 +toml==0.10.2 \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b +tomli==2.0.1 ; python_full_version < '3.11' \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc +traitlets==5.14.3 \ + --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \ + --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f +typing-extensions==4.12.2 \ + --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 \ + --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d +tzdata==2024.1 \ + --hash=sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd \ + --hash=sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252 +uritemplate==4.1.1 \ + --hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \ + --hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e +urllib3==2.2.3 \ + --hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9 \ + --hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac +vine==5.1.0 \ + --hash=sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0 \ + --hash=sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc +wcwidth==0.2.13 \ + --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 \ + --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 +xdrlib3==0.1.1 \ + --hash=sha256:26697013af45afab6c6ff9a598fd04979cde83fa7215da059551b088aea88f34 \ + --hash=sha256:175c0645f347c64e76bb374c2109480007eb2ff04ad08acfe885a130d2b0877d diff --git a/requirements.txt b/requirements.txt index 322bfad..b6eef67 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,269 +1,622 @@ -# This file was autogenerated by uv via the following command: -# uv pip compile pyproject.toml -o requirements.txt -amqp==5.1.1 - # via kombu -annotated-types==0.7.0 - # via pydantic -asgiref==3.8.1 - # via - # django - # django-cors-headers - # django-htmx -asttokens==2.4.1 - # via stack-data -async-timeout==4.0.3 - # via redis -beautifulsoup4==4.12.3 - # via deep-translator -billiard==4.2.0 - # via celery -cachecontrol==0.14.0 - # via firebase-admin -cachetools==5.3.2 - # via google-auth -celery==5.4.0 - # via geraipi (pyproject.toml) -certifi==2022.9.24 - # via requests -cffi==1.15.1 - # via - # cryptography - # pynacl -charset-normalizer==2.1.1 - # via requests -click==8.1.3 - # via - # celery - # click-didyoumean - # click-plugins - # click-repl -click-didyoumean==0.3.0 - # via celery -click-plugins==1.1.1 - # via celery -click-repl==0.2.0 - # via celery -cryptography==38.0.1 - # via pyjwt -decorator==5.1.1 - # via ipython -deep-translator==1.11.4 - # via geraipi (pyproject.toml) -diff-match-patch==20200713 - # via django-import-export -django==5.0 - # via - # geraipi (pyproject.toml) - # django-ckeditor - # django-cors-headers - # django-filter - # django-htmx - # django-import-export - # django-jazzmin - # django-js-asset - # django-sesame - # django-solo - # django-tailwind - # djangorestframework -django-ckeditor==6.7.1 - # via geraipi (pyproject.toml) -django-cors-headers==4.4.0 - # via geraipi (pyproject.toml) -django-filter==24.3 - # via geraipi (pyproject.toml) -django-htmx==1.19.0 - # via geraipi (pyproject.toml) -django-import-export==4.1.1 - # via geraipi (pyproject.toml) -django-jazzmin==3.0.0 - # via geraipi (pyproject.toml) -django-js-asset==2.0.0 - # via django-ckeditor -django-loginas==0.3.11 - # via geraipi (pyproject.toml) -django-resized==1.0.2 - # via geraipi (pyproject.toml) -django-sesame==3.2.2 - # via geraipi (pyproject.toml) -django-solo==2.3.0 - # via geraipi (pyproject.toml) -django-tailwind==3.8.0 - # via geraipi (pyproject.toml) -django-vite-plugin==3.0.4 - # via geraipi (pyproject.toml) -djangorestframework==3.15.2 - # via geraipi (pyproject.toml) -exceptiongroup==1.2.2 - # via ipython -executing==2.1.0 - # via stack-data -firebase-admin==6.5.0 - # via geraipi (pyproject.toml) -google-api-core==2.17.1 - # via - # firebase-admin - # google-api-python-client - # google-cloud-core - # google-cloud-firestore - # google-cloud-storage -google-api-python-client==2.118.0 - # via firebase-admin -google-auth==2.28.0 - # via - # google-api-core - # google-api-python-client - # google-auth-httplib2 - # google-cloud-core - # google-cloud-storage -google-auth-httplib2==0.2.0 - # via google-api-python-client -google-cloud-core==2.4.1 - # via - # google-cloud-firestore - # google-cloud-storage -google-cloud-firestore==2.14.0 - # via firebase-admin -google-cloud-storage==2.14.0 - # via firebase-admin -google-crc32c==1.5.0 - # via - # google-cloud-storage - # google-resumable-media -google-resumable-media==2.7.0 - # via google-cloud-storage -googleapis-common-protos==1.62.0 - # via - # google-api-core - # grpcio-status -grpcio==1.60.1 - # via - # google-api-core - # grpcio-status -grpcio-status==1.60.1 - # via google-api-core -httplib2==0.22.0 - # via - # google-api-python-client - # google-auth-httplib2 -idna==2.10 - # via requests -ipython==8.27.0 - # via geraipi (pyproject.toml) -jedi==0.19.1 - # via ipython -kombu==5.4.1 - # via celery -matplotlib-inline==0.1.7 - # via ipython -mnemonic==0.20 - # via stellar-sdk -msgpack==1.0.7 - # via cachecontrol -mysqlclient==2.2.4 - # via geraipi (pyproject.toml) -parso==0.8.4 - # via jedi -pexpect==4.9.0 - # via ipython -pillow==10.4.0 - # via geraipi (pyproject.toml) -pip==24.2 - # via geraipi (pyproject.toml) -prompt-toolkit==3.0.47 - # via - # click-repl - # ipython -proto-plus==1.23.0 - # via google-cloud-firestore -protobuf==4.25.3 - # via - # google-api-core - # google-cloud-firestore - # googleapis-common-protos - # grpcio-status - # proto-plus -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -pyasn1==0.5.1 - # via - # pyasn1-modules - # rsa -pyasn1-modules==0.3.0 - # via google-auth -pycparser==2.21 - # via cffi -pydantic==2.9.1 - # via stellar-sdk -pydantic-core==2.23.3 - # via pydantic -pygments==2.18.0 - # via ipython -pyjwt==2.6.0 - # via firebase-admin -pynacl==1.5.0 - # via stellar-sdk -pyparsing==3.0.9 - # via httplib2 -python-dateutil==2.8.2 - # via celery -python-dotenv==1.0.1 - # via geraipi (pyproject.toml) -redis==5.0.8 - # via geraipi (pyproject.toml) -requests==2.32.3 - # via - # cachecontrol - # deep-translator - # google-api-core - # google-cloud-storage - # requests-sse - # stellar-sdk -requests-sse==0.3.2 - # via stellar-sdk -rsa==4.9 - # via google-auth -six==1.16.0 - # via - # asttokens - # click-repl - # python-dateutil -soupsieve==2.5 - # via beautifulsoup4 -sqlparse==0.4.3 - # via django -stack-data==0.6.3 - # via ipython -stellar-sdk==11.0.0 - # via geraipi (pyproject.toml) -tablib==3.5.0 - # via django-import-export -toml==0.10.2 - # via stellar-sdk -traitlets==5.14.3 - # via - # ipython - # matplotlib-inline -typing-extensions==4.7.1 - # via - # asgiref - # django-solo - # ipython - # pydantic - # pydantic-core -tzdata==2024.1 - # via celery -uritemplate==4.1.1 - # via google-api-python-client -urllib3==1.26.12 - # via requests -vine==5.1.0 - # via - # amqp - # celery - # kombu -wcwidth==0.2.5 - # via prompt-toolkit -xdrlib3==0.1.1 - # via stellar-sdk +# This file was autogenerated via `uv export`. +amqp==5.2.0 \ + --hash=sha256:a1ecff425ad063ad42a486c902807d1482311481c8ad95a72694b2975e75f7fd \ + --hash=sha256:827cb12fb0baa892aad844fd95258143bce4027fdac4fccddbc43330fd281637 +annotated-types==0.7.0 \ + --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 \ + --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 +asgiref==3.8.1 \ + --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590 \ + --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 +asttokens==2.4.1 \ + --hash=sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0 \ + --hash=sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24 +async-timeout==4.0.3 ; python_full_version < '3.11.3' \ + --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \ + --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028 +beautifulsoup4==4.12.3 \ + --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \ + --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed +billiard==4.2.0 \ + --hash=sha256:9a3c3184cb275aa17a732f93f65b20c525d3d9f253722d26a82194803ade5a2c \ + --hash=sha256:07aa978b308f334ff8282bd4a746e681b3513db5c9a514cbdd810cbbdc19714d +cachecontrol==0.14.0 \ + --hash=sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938 \ + --hash=sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0 +cachetools==5.5.0 \ + --hash=sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a \ + --hash=sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292 +celery==5.4.0 \ + --hash=sha256:504a19140e8d3029d5acad88330c541d4c3f64c789d85f94756762d8bca7e706 \ + --hash=sha256:369631eb580cf8c51a82721ec538684994f8277637edde2dfc0dacd73ed97f64 +certifi==2024.8.30 \ + --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9 \ + --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 +cffi==1.17.1 \ + --hash=sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824 \ + --hash=sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14 \ + --hash=sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67 \ + --hash=sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382 \ + --hash=sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702 \ + --hash=sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3 \ + --hash=sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6 \ + --hash=sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17 \ + --hash=sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8 \ + --hash=sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e \ + --hash=sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be \ + --hash=sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c \ + --hash=sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15 \ + --hash=sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401 \ + --hash=sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf \ + --hash=sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4 \ + --hash=sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41 \ + --hash=sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1 \ + --hash=sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6 \ + --hash=sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d \ + --hash=sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6 \ + --hash=sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f \ + --hash=sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b \ + --hash=sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655 \ + --hash=sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0 \ + --hash=sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4 \ + --hash=sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c \ + --hash=sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36 \ + --hash=sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5 \ + --hash=sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff \ + --hash=sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99 \ + --hash=sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93 \ + --hash=sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3 \ + --hash=sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8 \ + --hash=sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65 \ + --hash=sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 \ + --hash=sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e \ + --hash=sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2 \ + --hash=sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3 \ + --hash=sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683 \ + --hash=sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5 \ + --hash=sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4 \ + --hash=sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd \ + --hash=sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed \ + --hash=sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9 \ + --hash=sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d \ + --hash=sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a +charset-normalizer==3.3.2 \ + --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ + --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ + --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ + --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ + --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ + --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ + --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ + --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ + --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ + --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ + --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ + --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ + --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ + --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ + --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ + --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ + --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ + --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ + --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ + --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ + --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ + --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ + --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ + --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ + --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ + --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ + --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ + --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ + --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ + --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ + --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ + --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ + --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ + --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ + --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ + --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ + --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ + --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ + --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ + --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ + --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ + --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ + --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ + --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ + --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ + --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ + --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc +click==8.1.7 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 +click-didyoumean==0.3.1 \ + --hash=sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463 \ + --hash=sha256:5c4bb6007cfea5f2fd6583a2fb6701a22a41eb98957e63d0fac41c10e7c3117c +click-plugins==1.1.1 \ + --hash=sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b \ + --hash=sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8 +click-repl==0.3.0 \ + --hash=sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9 \ + --hash=sha256:fb7e06deb8da8de86180a33a9da97ac316751c094c6899382da7feeeeb51b812 +colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows' \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 +cryptography==43.0.1 \ + --hash=sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d \ + --hash=sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d \ + --hash=sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062 \ + --hash=sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962 \ + --hash=sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277 \ + --hash=sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a \ + --hash=sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042 \ + --hash=sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494 \ + --hash=sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2 \ + --hash=sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d \ + --hash=sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d \ + --hash=sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806 \ + --hash=sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85 \ + --hash=sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c \ + --hash=sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1 \ + --hash=sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa \ + --hash=sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4 \ + --hash=sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47 \ + --hash=sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb \ + --hash=sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034 \ + --hash=sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d \ + --hash=sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289 \ + --hash=sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84 +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 +deep-translator==1.11.4 \ + --hash=sha256:801260c69231138707ea88a0955e484db7d40e210c9e0ae0f77372ffda5f4bf5 \ + --hash=sha256:d635df037e23fa35d12fd42dab72a0b55c9dd19e6292009ee7207e3f30b9e60a +diff-match-patch==20230430 \ + --hash=sha256:953019cdb9c9d2c9e47b5b12bcff3cf4746fc4598eb406076fa1fc27e6a1f15c \ + --hash=sha256:dce43505fb7b1b317de7195579388df0746d90db07015ed47a85e5e44930ef93 +django==5.1 \ + --hash=sha256:848a5980e8efb76eea70872fb0e4bc5e371619c70fffbe48e3e1b50b2c09455d \ + --hash=sha256:d3b811bf5371a26def053d7ee42a9df1267ef7622323fe70a601936725aa4557 +django-ckeditor==6.7.1 \ + --hash=sha256:7144f9ead662306266c728912487313b3b87ba2abf9dbb82c447f662ce25d1f7 \ + --hash=sha256:55b5f9ce3af47e3c8a8ed37d42be8439da2a664d6e571c2247c1db5c96459dd7 +django-cors-headers==4.4.0 \ + --hash=sha256:92cf4633e22af67a230a1456cb1b7a02bb213d6536d2dcb2a4a24092ea9cebc2 \ + --hash=sha256:5c6e3b7fe870876a1efdfeb4f433782c3524078fa0dc9e0195f6706ce7a242f6 +django-filter==24.3 \ + --hash=sha256:d8ccaf6732afd21ca0542f6733b11591030fa98669f8d15599b358e24a2cd9c3 \ + --hash=sha256:c4852822928ce17fb699bcfccd644b3574f1a2d80aeb2b4ff4f16b02dd49dc64 +django-htmx==1.19.0 \ + --hash=sha256:e7e17304e78e07f96eca0affc3ce1806edfdf3538bb7cb1912452b101f3e627d \ + --hash=sha256:875a642814e52278c1728842436beda2001847a493ab79fd82da3fb46ead140f +django-import-export==4.1.1 \ + --hash=sha256:16ecc5a9f0df46bde6eb278a3e65ebda0ee1db55656f36440e9fb83f40ab85a3 \ + --hash=sha256:730ae2443a02b1ba27d8dba078a27ae9123adfcabb78161b4f130843607b3df9 +django-jazzmin==3.0.0 \ + --hash=sha256:424ac3e0f7bfd9ce973b581a66abde92035ba6c5b17605615fdf6bd97c4dcb33 \ + --hash=sha256:95ef5d7571519c4c53c24083ec417a0db126aaf1d7dc7311e034a90e430392b3 +django-js-asset==2.2.0 \ + --hash=sha256:0c57a82cae2317e83951d956110ce847f58ff0cdc24e314dbc18b35033917e94 \ + --hash=sha256:7ef3e858e13d06f10799b56eea62b1e76706f42cf4e709be4e13356bc0ae30d8 +django-loginas==0.3.11 \ + --hash=sha256:37aec6fcd1cdb72378b69d2468d2ae39b12cd013f838a9bf9b9b5132e8341735 \ + --hash=sha256:5492eb5b4eb86c05e86cd84fb1f89c9796498643dc23d19e9c9bf83f5768ba86 +django-resized==1.0.2 \ + --hash=sha256:52d727860f64ef4fdadbe2e74b66231c71c59df4d95949e338fcd320450f77fa \ + --hash=sha256:d55a8d4125838486a1e76ffb689f8364f7d579bc7562b04400065602ec2ba7cc +django-sesame==3.2.2 \ + --hash=sha256:5d753a309166356b6a0d7fc047690943b9e80b4aa7952f1a6400fe6ce60d573c \ + --hash=sha256:523ebd4d04e28c897c262f25b78b6fd8f37e11cdca6e277fdc8bf496bd686cf5 +django-solo==2.3.0 \ + --hash=sha256:e82ee8b0aeccb97c401dc722bf01f665c93484c880e929f2a0ea53f5cbf2bf61 \ + --hash=sha256:8069319fc9a3dc1080dc47b134d42526bf71749127eca1bf94bd7eb831c02fb2 +django-tailwind==3.8.0 \ + --hash=sha256:31c2f4a7879d685c2de0feaf0b63f246200b37337bea4d7dbafb59bc3f10c008 \ + --hash=sha256:fa969c5b95d314b173fe2b2ed2cb2c03f2e2c94fdc2c01ff73a993fa159085da +django-unfold==0.39.0 \ + --hash=sha256:927218e8a14f951dd82212a980f3f02608a160f966da656d13ef51be887a610c \ + --hash=sha256:5393742d0755fc3983ee805ac27213cb7abbe06b563a0cdfd24103ff22480322 +django-vite-plugin==3.0.4 \ + --hash=sha256:e5964597daa53ad5992f23e99e61dc4168c07ed51077851a3e3f02989697d41c \ + --hash=sha256:5cc0425cd9a56afc0d1d27d5016e61a6929ad93024307af4195e4b25db340574 +djangorestframework==3.15.2 \ + --hash=sha256:36fe88cd2d6c6bec23dca9804bab2ba5517a8bb9d8f47ebc68981b56840107ad \ + --hash=sha256:2b8871b062ba1aefc2de01f773875441a961fefbf79f5eed1e32b2f096944b20 +exceptiongroup==1.2.2 ; python_full_version < '3.11' \ + --hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc \ + --hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b +executing==2.1.0 \ + --hash=sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab \ + --hash=sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf +firebase-admin==6.5.0 \ + --hash=sha256:e716dde1447f0a1cd1523be76ff872df33c4e1a3c079564ace033b2ad60bcc4f \ + --hash=sha256:fe34ee3ca0e625c5156b3931ca4b4b69b5fc344dbe51bba9706ff674ce277898 +google-api-core==2.19.2 \ + --hash=sha256:ca07de7e8aa1c98a8bfca9321890ad2340ef7f2eb136e558cee68f24b94b0a8f \ + --hash=sha256:53ec0258f2837dd53bbd3d3df50f5359281b3cc13f800c941dd15a9b5a415af4 +google-api-python-client==2.145.0 \ + --hash=sha256:8b84dde11aaccadc127e4846f5cd932331d804ea324e353131595e3f25376e97 \ + --hash=sha256:d74da1358f3f2d63daf3c6f26bd96d89652051183bc87cf10a56ceb2a70beb50 +google-auth==2.34.0 \ + --hash=sha256:8eb87396435c19b20d32abd2f984e31c191a15284af72eb922f10e5bde9c04cc \ + --hash=sha256:72fd4733b80b6d777dcde515628a9eb4a577339437012874ea286bca7261ee65 +google-auth-httplib2==0.2.0 \ + --hash=sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05 \ + --hash=sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d +google-cloud-core==2.4.1 \ + --hash=sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073 \ + --hash=sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61 +google-cloud-firestore==2.18.0 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:3db5dd42334b9904d82b3786703a5a4b576810fb50f61b8fa83ecf4f17b7fdae \ + --hash=sha256:9a735860b692f39f93f900dd3390713ceb9b47ea82cda98360bb551f03d2b916 +google-cloud-storage==2.18.2 \ + --hash=sha256:aaf7acd70cdad9f274d29332673fcab98708d0e1f4dceb5a5356aaef06af4d99 \ + --hash=sha256:97a4d45c368b7d401ed48c4fdfe86e1e1cb96401c9e199e419d289e2c0370166 +google-crc32c==1.6.0 \ + --hash=sha256:6eceb6ad197656a1ff49ebfbbfa870678c75be4344feb35ac1edf694309413dc \ + --hash=sha256:5bcc90b34df28a4b38653c36bb5ada35671ad105c99cfe915fb5bed7ad6924aa \ + --hash=sha256:d9e9913f7bd69e093b81da4535ce27af842e7bf371cde42d1ae9e9bd382dc0e9 \ + --hash=sha256:a184243544811e4a50d345838a883733461e67578959ac59964e43cca2c791e7 \ + --hash=sha256:236c87a46cdf06384f614e9092b82c05f81bd34b80248021f729396a78e55d7e \ + --hash=sha256:ebab974b1687509e5c973b5c4b8b146683e101e102e17a86bd196ecaa4d099fc \ + --hash=sha256:50cf2a96da226dcbff8671233ecf37bf6e95de98b2a2ebadbfdf455e6d05df42 \ + --hash=sha256:f7a1fc29803712f80879b0806cb83ab24ce62fc8daf0569f2204a0cfd7f68ed4 \ + --hash=sha256:40b05ab32a5067525670880eb5d169529089a26fe35dce8891127aeddc1950e8 \ + --hash=sha256:a9e4b426c3702f3cd23b933436487eb34e01e00327fac20c9aebb68ccf34117d \ + --hash=sha256:51c4f54dd8c6dfeb58d1df5e4f7f97df8abf17a36626a217f169893d1d7f3e9f \ + --hash=sha256:bb8b3c75bd157010459b15222c3fd30577042a7060e29d42dabce449c087f2b3 \ + --hash=sha256:ed767bf4ba90104c1216b68111613f0d5926fb3780660ea1198fc469af410e9d \ + --hash=sha256:62f6d4a29fea082ac4a3c9be5e415218255cf11684ac6ef5488eea0c9132689b \ + --hash=sha256:c87d98c7c4a69066fd31701c4e10d178a648c2cac3452e62c6b24dc51f9fcc00 \ + --hash=sha256:bd5e7d2445d1a958c266bfa5d04c39932dc54093fa391736dbfdb0f1929c1fb3 \ + --hash=sha256:7aec8e88a3583515f9e0957fe4f5f6d8d4997e36d0f61624e70469771584c760 \ + --hash=sha256:48abd62ca76a2cbe034542ed1b6aee851b6f28aaca4e6551b5599b6f3ef175cc \ + --hash=sha256:18e311c64008f1f1379158158bb3f0c8d72635b9eb4f9545f8cf990c5668e59d +google-resumable-media==2.7.2 \ + --hash=sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0 \ + --hash=sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa +googleapis-common-protos==1.65.0 \ + --hash=sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0 \ + --hash=sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63 +grpcio==1.66.1 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:35334f9c9745add3e357e3372756fd32d925bd52c41da97f4dfdafbde0bf0ee2 \ + --hash=sha256:4877ba180591acdf127afe21ec1c7ff8a5ecf0fe2600f0d3c50e8c4a1cbc6492 \ + --hash=sha256:3750c5a00bd644c75f4507f77a804d0189d97a107eb1481945a0cf3af3e7a5ac \ + --hash=sha256:a013c5fbb12bfb5f927444b477a26f1080755a931d5d362e6a9a720ca7dbae60 \ + --hash=sha256:b1b24c23d51a1e8790b25514157d43f0a4dce1ac12b3f0b8e9f66a5e2c4c132f \ + --hash=sha256:b7ffb8ea674d68de4cac6f57d2498fef477cef582f1fa849e9f844863af50083 \ + --hash=sha256:307b1d538140f19ccbd3aed7a93d8f71103c5d525f3c96f8616111614b14bf2a \ + --hash=sha256:1c17ebcec157cfb8dd445890a03e20caf6209a5bd4ac5b040ae9dbc59eef091d \ + --hash=sha256:ef82d361ed5849d34cf09105d00b94b6728d289d6b9235513cb2fcc79f7c432c \ + --hash=sha256:292a846b92cdcd40ecca46e694997dd6b9be6c4c01a94a0dfb3fcb75d20da858 \ + --hash=sha256:c30aeceeaff11cd5ddbc348f37c58bcb96da8d5aa93fed78ab329de5f37a0d7a \ + --hash=sha256:8a1e224ce6f740dbb6b24c58f885422deebd7eb724aff0671a847f8951857c26 \ + --hash=sha256:a66fe4dc35d2330c185cfbb42959f57ad36f257e0cc4557d11d9f0a3f14311df \ + --hash=sha256:e3ba04659e4fce609de2658fe4dbf7d6ed21987a94460f5f92df7579fd5d0e22 \ + --hash=sha256:4573608e23f7e091acfbe3e84ac2045680b69751d8d67685ffa193a4429fedb1 \ + --hash=sha256:7e06aa1f764ec8265b19d8f00140b8c4b6ca179a6dc67aa9413867c47e1fb04e \ + --hash=sha256:3885f037eb11f1cacc41f207b705f38a44b69478086f40608959bf5ad85826dd \ + --hash=sha256:97ae7edd3f3f91480e48ede5d3e7d431ad6005bfdbd65c1b56913799ec79e791 \ + --hash=sha256:cfd349de4158d797db2bd82d2020554a121674e98fbe6b15328456b3bf2495bb \ + --hash=sha256:a92c4f58c01c77205df6ff999faa008540475c39b835277fb8883b11cada127a \ + --hash=sha256:fdb14bad0835914f325349ed34a51940bc2ad965142eb3090081593c6e347be9 \ + --hash=sha256:f03a5884c56256e08fd9e262e11b5cfacf1af96e2ce78dc095d2c41ccae2c80d \ + --hash=sha256:2ca2559692d8e7e245d456877a85ee41525f3ed425aa97eb7a70fc9a79df91a0 \ + --hash=sha256:84ca1be089fb4446490dd1135828bd42a7c7f8421e74fa581611f7afdf7ab761 \ + --hash=sha256:d639c939ad7c440c7b2819a28d559179a4508783f7e5b991166f8d7a34b52815 \ + --hash=sha256:b9feb4e5ec8dc2d15709f4d5fc367794d69277f5d680baf1910fc9915c633524 \ + --hash=sha256:7101db1bd4cd9b880294dec41a93fcdce465bdbb602cd8dc5bd2d6362b618759 \ + --hash=sha256:b0aa03d240b5539648d996cc60438f128c7f46050989e35b25f5c18286c86734 +grpcio-status==1.66.1 ; platform_python_implementation != 'PyPy' \ + --hash=sha256:b3f7d34ccc46d83fea5261eea3786174459f763c31f6e34f1d24eba6d515d024 \ + --hash=sha256:cf9ed0b4a83adbe9297211c95cb5488b0cd065707e812145b842c85c4782ff02 +httplib2==0.22.0 \ + --hash=sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81 \ + --hash=sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc +idna==3.10 \ + --hash=sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9 \ + --hash=sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3 +ipython==8.27.0 \ + --hash=sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e \ + --hash=sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c +jedi==0.19.1 \ + --hash=sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd \ + --hash=sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0 +kombu==5.4.1 \ + --hash=sha256:1c05178826dab811f8cab5b0a154d42a7a33d8bcdde9fa3d7b4582e43c3c03db \ + --hash=sha256:621d365f234e4c089596f3a2510f1ade07026efc28caca426161d8f458786cab +matplotlib-inline==0.1.7 \ + --hash=sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90 \ + --hash=sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca +mnemonic==0.20 \ + --hash=sha256:7c6fb5639d779388027a77944680aee4870f0fcd09b1e42a5525ee2ce4c625f6 \ + --hash=sha256:acd2168872d0379e7a10873bb3e12bf6c91b35de758135c4fbd1015ef18fafc5 +msgpack==1.1.0 \ + --hash=sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e \ + --hash=sha256:7ad442d527a7e358a469faf43fda45aaf4ac3249c8310a82f0ccff9164e5dccd \ + --hash=sha256:74bed8f63f8f14d75eec75cf3d04ad581da6b914001b474a5d3cd3372c8cc27d \ + --hash=sha256:914571a2a5b4e7606997e169f64ce53a8b1e06f2cf2c3a7273aa106236d43dd5 \ + --hash=sha256:c921af52214dcbb75e6bdf6a661b23c3e6417f00c603dd2070bccb5c3ef499f5 \ + --hash=sha256:d8ce0b22b890be5d252de90d0e0d119f363012027cf256185fc3d474c44b1b9e \ + --hash=sha256:73322a6cc57fcee3c0c57c4463d828e9428275fb85a27aa2aa1a92fdc42afd7b \ + --hash=sha256:e1f3c3d21f7cf67bcf2da8e494d30a75e4cf60041d98b3f79875afb5b96f3a3f \ + --hash=sha256:64fc9068d701233effd61b19efb1485587560b66fe57b3e50d29c5d78e7fef68 \ + --hash=sha256:42f754515e0f683f9c79210a5d1cad631ec3d06cea5172214d2176a42e67e19b \ + --hash=sha256:3df7e6b05571b3814361e8464f9304c42d2196808e0119f55d0d3e62cd5ea044 \ + --hash=sha256:685ec345eefc757a7c8af44a3032734a739f8c45d1b0ac45efc5d8977aa4720f \ + --hash=sha256:3d364a55082fb2a7416f6c63ae383fbd903adb5a6cf78c5b96cc6316dc1cedc7 \ + --hash=sha256:79ec007767b9b56860e0372085f8504db5d06bd6a327a335449508bbee9648fa \ + --hash=sha256:6ad622bf7756d5a497d5b6836e7fc3752e2dd6f4c648e24b1803f6048596f701 \ + --hash=sha256:8e59bca908d9ca0de3dc8684f21ebf9a690fe47b6be93236eb40b99af28b6ea6 \ + --hash=sha256:5e1da8f11a3dd397f0a32c76165cf0c4eb95b31013a94f6ecc0b280c05c91b59 \ + --hash=sha256:452aff037287acb1d70a804ffd022b21fa2bb7c46bee884dbc864cc9024128a0 \ + --hash=sha256:8da4bf6d54ceed70e8861f833f83ce0814a2b72102e890cbdfe4b34764cdd66e \ + --hash=sha256:41c991beebf175faf352fb940bf2af9ad1fb77fd25f38d9142053914947cdbf6 \ + --hash=sha256:a52a1f3a5af7ba1c9ace055b659189f6c669cf3657095b50f9602af3a3ba0fe5 \ + --hash=sha256:58638690ebd0a06427c5fe1a227bb6b8b9fdc2bd07701bec13c2335c82131a88 \ + --hash=sha256:fd2906780f25c8ed5d7b323379f6138524ba793428db5d0e9d226d3fa6aa1788 \ + --hash=sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d \ + --hash=sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2 \ + --hash=sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420 \ + --hash=sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2 \ + --hash=sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39 \ + --hash=sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f \ + --hash=sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247 \ + --hash=sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c \ + --hash=sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b \ + --hash=sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b \ + --hash=sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f \ + --hash=sha256:071603e2f0771c45ad9bc65719291c568d4edf120b44eb36324dcb02a13bfddf \ + --hash=sha256:0f92a83b84e7c0749e3f12821949d79485971f087604178026085f60ce109330 \ + --hash=sha256:4a1964df7b81285d00a84da4e70cb1383f2e665e0f1f2a7027e683956d04b734 \ + --hash=sha256:59caf6a4ed0d164055ccff8fe31eddc0ebc07cf7326a2aaa0dbf7a4001cd823e \ + --hash=sha256:0907e1a7119b337971a689153665764adc34e89175f9a34793307d9def08e6ca \ + --hash=sha256:65553c9b6da8166e819a6aa90ad15288599b340f91d18f60b2061f402b9a4915 \ + --hash=sha256:7a946a8992941fea80ed4beae6bff74ffd7ee129a90b4dd5cf9c476a30e9708d \ + --hash=sha256:4b51405e36e075193bc051315dbf29168d6141ae2500ba8cd80a522964e31434 \ + --hash=sha256:b4c01941fd2ff87c2a934ee6055bda4ed353a7846b8d4f341c428109e9fcde8c \ + --hash=sha256:7c9a35ce2c2573bada929e0b7b3576de647b0defbd25f5139dcdaba0ae35a4cc \ + --hash=sha256:bce7d9e614a04d0883af0b3d4d501171fbfca038f12c77fa838d9f198147a23f +mysqlclient==2.2.4 \ + --hash=sha256:33bc9fb3464e7d7c10b1eaf7336c5ff8f2a3d3b88bab432116ad2490beb3bf41 \ + --hash=sha256:ac44777eab0a66c14cb0d38965572f762e193ec2e5c0723bcd11319cc5b693c5 \ + --hash=sha256:329e4eec086a2336fe3541f1ce095d87a6f169d1cc8ba7b04ac68bcb234c9711 \ + --hash=sha256:e1ebe3f41d152d7cb7c265349fdb7f1eca86ccb0ca24a90036cde48e00ceb2ab \ + --hash=sha256:d43987bb9626096a302ca6ddcdd81feaeca65ced1d5fe892a6a66b808326aa54 +parso==0.8.4 \ + --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d \ + --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 +pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 +pillow==10.4.0 \ + --hash=sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06 \ + --hash=sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e \ + --hash=sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d \ + --hash=sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856 \ + --hash=sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f \ + --hash=sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b \ + --hash=sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc \ + --hash=sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e \ + --hash=sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46 \ + --hash=sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984 \ + --hash=sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141 \ + --hash=sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1 \ + --hash=sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c \ + --hash=sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be \ + --hash=sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3 \ + --hash=sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6 \ + --hash=sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe \ + --hash=sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319 \ + --hash=sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d \ + --hash=sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696 \ + --hash=sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496 \ + --hash=sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91 \ + --hash=sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22 \ + --hash=sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94 \ + --hash=sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597 \ + --hash=sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80 \ + --hash=sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca \ + --hash=sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef \ + --hash=sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a \ + --hash=sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b \ + --hash=sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9 \ + --hash=sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42 \ + --hash=sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a \ + --hash=sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9 \ + --hash=sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3 \ + --hash=sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb \ + --hash=sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70 \ + --hash=sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be \ + --hash=sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0 \ + --hash=sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc \ + --hash=sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a \ + --hash=sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309 \ + --hash=sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060 \ + --hash=sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea \ + --hash=sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d \ + --hash=sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4 \ + --hash=sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da \ + --hash=sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026 \ + --hash=sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e \ + --hash=sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5 \ + --hash=sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885 \ + --hash=sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5 +pip==24.2 \ + --hash=sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8 \ + --hash=sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2 +prompt-toolkit==3.0.47 \ + --hash=sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360 \ + --hash=sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10 +proto-plus==1.24.0 \ + --hash=sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445 \ + --hash=sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12 +protobuf==5.28.1 \ + --hash=sha256:42597e938f83bb7f3e4b35f03aa45208d49ae8d5bcb4bc10b9fc825e0ab5e423 \ + --hash=sha256:fc063acaf7a3d9ca13146fefb5b42ac94ab943ec6e978f543cd5637da2d57957 \ + --hash=sha256:4c7f5cb38c640919791c9f74ea80c5b82314c69a8409ea36f2599617d03989af \ + --hash=sha256:4304e4fceb823d91699e924a1fdf95cde0e066f3b1c28edb665bda762ecde10f \ + --hash=sha256:0dfd86d2b5edf03d91ec2a7c15b4e950258150f14f9af5f51c17fa224ee1931f \ + --hash=sha256:51f09caab818707ab91cf09cc5c156026599cf05a4520779ccbf53c1b352fb25 \ + --hash=sha256:c529535e5c0effcf417682563719e5d8ac8d2b93de07a56108b4c2d436d7a29a +ptyprocess==0.7.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 +pure-eval==0.2.3 \ + --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 \ + --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 +pyasn1==0.6.1 \ + --hash=sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034 \ + --hash=sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629 +pyasn1-modules==0.4.1 \ + --hash=sha256:c28e2dbf9c06ad61c71a075c7e0f9fd0f1b0bb2d2ad4377f240d33ac2ab60a7c \ + --hash=sha256:49bfa96b45a292b711e986f222502c1c9a5e1f4e568fc30e2574a6c7d07838fd +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc +pydantic==2.9.1 \ + --hash=sha256:1363c7d975c7036df0db2b4a61f2e062fbc0aa5ab5f2772e0ffc7191a4f4bce2 \ + --hash=sha256:7aff4db5fdf3cf573d4b3c30926a510a10e19a0774d38fc4967f78beb6deb612 +pydantic-core==2.23.3 \ + --hash=sha256:3cb0f65d8b4121c1b015c60104a685feb929a29d7cf204387c7f2688c7974690 \ + --hash=sha256:7f10a5d1b9281392f1bf507d16ac720e78285dfd635b05737c3911637601bae6 \ + --hash=sha256:3c09a7885dd33ee8c65266e5aa7fb7e2f23d49d8043f089989726391dd7350c5 \ + --hash=sha256:6470b5a1ec4d1c2e9afe928c6cb37eb33381cab99292a708b8cb9aa89e62429b \ + --hash=sha256:9172d2088e27d9a185ea0a6c8cebe227a9139fd90295221d7d495944d2367700 \ + --hash=sha256:86fc6c762ca7ac8fbbdff80d61b2c59fb6b7d144aa46e2d54d9e1b7b0e780e01 \ + --hash=sha256:f0cb80fd5c2df4898693aa841425ea1727b1b6d2167448253077d2a49003e0ed \ + --hash=sha256:03667cec5daf43ac4995cefa8aaf58f99de036204a37b889c24a80927b629cec \ + --hash=sha256:047531242f8e9c2db733599f1c612925de095e93c9cc0e599e96cf536aaf56ba \ + --hash=sha256:5499798317fff7f25dbef9347f4451b91ac2a4330c6669821c8202fd354c7bee \ + --hash=sha256:bbb5e45eab7624440516ee3722a3044b83fff4c0372efe183fd6ba678ff681fe \ + --hash=sha256:8b5b3ed73abb147704a6e9f556d8c5cb078f8c095be4588e669d315e0d11893b \ + --hash=sha256:2b603cde285322758a0279995b5796d64b63060bfbe214b50a3ca23b5cee3e83 \ + --hash=sha256:c889fd87e1f1bbeb877c2ee56b63bb297de4636661cc9bbfcf4b34e5e925bc27 \ + --hash=sha256:ea85bda3189fb27503af4c45273735bcde3dd31c1ab17d11f37b04877859ef45 \ + --hash=sha256:a7f7f72f721223f33d3dc98a791666ebc6a91fa023ce63733709f4894a7dc611 \ + --hash=sha256:2b2b55b0448e9da68f56b696f313949cda1039e8ec7b5d294285335b53104b61 \ + --hash=sha256:c24574c7e92e2c56379706b9a3f07c1e0c7f2f87a41b6ee86653100c4ce343e5 \ + --hash=sha256:f2b05e6ccbee333a8f4b8f4d7c244fdb7a979e90977ad9c51ea31261e2085ce0 \ + --hash=sha256:e2c409ce1c219c091e47cb03feb3c4ed8c2b8e004efc940da0166aaee8f9d6c8 \ + --hash=sha256:d965e8b325f443ed3196db890d85dfebbb09f7384486a77461347f4adb1fa7f8 \ + --hash=sha256:f56af3a420fb1ffaf43ece3ea09c2d27c444e7c40dcb7c6e7cf57aae764f2b48 \ + --hash=sha256:5b01a078dd4f9a52494370af21aa52964e0a96d4862ac64ff7cea06e0f12d2c5 \ + --hash=sha256:560e32f0df04ac69b3dd818f71339983f6d1f70eb99d4d1f8e9705fb6c34a5c1 \ + --hash=sha256:c744fa100fdea0d000d8bcddee95213d2de2e95b9c12be083370b2072333a0fa \ + --hash=sha256:e0ec50663feedf64d21bad0809f5857bac1ce91deded203efc4a84b31b2e4305 \ + --hash=sha256:db6e6afcb95edbe6b357786684b71008499836e91f2a4a1e55b840955b341dbb \ + --hash=sha256:98ccd69edcf49f0875d86942f4418a4e83eb3047f20eb897bffa62a5d419c8fa \ + --hash=sha256:a678c1ac5c5ec5685af0133262103defb427114e62eafeda12f1357a12140162 \ + --hash=sha256:01491d8b4d8db9f3391d93b0df60701e644ff0894352947f31fff3e52bd5c801 \ + --hash=sha256:fcf31facf2796a2d3b7fe338fe8640aa0166e4e55b4cb108dbfd1058049bf4cb \ + --hash=sha256:7200fd561fb3be06827340da066df4311d0b6b8eb0c2116a110be5245dceb326 \ + --hash=sha256:dc1636770a809dee2bd44dd74b89cc80eb41172bcad8af75dd0bc182c2666d4c \ + --hash=sha256:67a5def279309f2e23014b608c4150b0c2d323bd7bccd27ff07b001c12c2415c \ + --hash=sha256:748bdf985014c6dd3e1e4cc3db90f1c3ecc7246ff5a3cd4ddab20c768b2f1dab \ + --hash=sha256:255ec6dcb899c115f1e2a64bc9ebc24cc0e3ab097775755244f77360d1f3c06c \ + --hash=sha256:40b8441be16c1e940abebed83cd006ddb9e3737a279e339dbd6d31578b802f7b \ + --hash=sha256:6daaf5b1ba1369a22c8b050b643250e3e5efc6a78366d323294aee54953a4d5f \ + --hash=sha256:d015e63b985a78a3d4ccffd3bdf22b7c20b3bbd4b8227809b3e8e75bc37f9cb2 \ + --hash=sha256:a3fc572d9b5b5cfe13f8e8a6e26271d5d13f80173724b738557a8c7f3a8a3791 \ + --hash=sha256:f6bd91345b5163ee7448bee201ed7dd601ca24f43f439109b0212e296eb5b423 \ + --hash=sha256:fc379c73fd66606628b866f661e8785088afe2adaba78e6bbe80796baf708a63 \ + --hash=sha256:fbdce4b47592f9e296e19ac31667daed8753c8367ebb34b9a9bd89dacaa299c9 \ + --hash=sha256:fc3cf31edf405a161a0adad83246568647c54404739b614b1ff43dad2b02e6d5 \ + --hash=sha256:8e22b477bf90db71c156f89a55bfe4d25177b81fce4aa09294d9e805eec13855 \ + --hash=sha256:0a0137ddf462575d9bce863c4c95bac3493ba8e22f8c28ca94634b4a1d3e2bb4 \ + --hash=sha256:203171e48946c3164fe7691fc349c79241ff8f28306abd4cad5f4f75ed80bc8d \ + --hash=sha256:76bdab0de4acb3f119c2a4bff740e0c7dc2e6de7692774620f7452ce11ca76c8 \ + --hash=sha256:37ba321ac2a46100c578a92e9a6aa33afe9ec99ffa084424291d84e456f490c1 \ + --hash=sha256:f399e8657c67313476a121a6944311fab377085ca7f490648c9af97fc732732d \ + --hash=sha256:6b5547d098c76e1694ba85f05b595720d7c60d342f24d5aad32c3049131fa5c4 \ + --hash=sha256:0dda0290a6f608504882d9f7650975b4651ff91c85673341789a476b1159f211 \ + --hash=sha256:65b6e5da855e9c55a0c67f4db8a492bf13d8d3316a59999cfbaf98cc6e401961 \ + --hash=sha256:09e926397f392059ce0afdcac920df29d9c833256354d0c55f1584b0b70cf07e \ + --hash=sha256:87cfa0ed6b8c5bd6ae8b66de941cece179281239d482f363814d2b986b79cedc \ + --hash=sha256:e61328920154b6a44d98cabcb709f10e8b74276bc709c9a513a8c37a18786cc4 \ + --hash=sha256:ce3317d155628301d649fe5e16a99528d5680af4ec7aa70b90b8dacd2d725c9b +pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a +pyjwt==2.9.0 \ + --hash=sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c \ + --hash=sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850 +pynacl==1.5.0 \ + --hash=sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba \ + --hash=sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1 \ + --hash=sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92 \ + --hash=sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394 \ + --hash=sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d \ + --hash=sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858 \ + --hash=sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b \ + --hash=sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff \ + --hash=sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543 \ + --hash=sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93 +pyparsing==3.1.4 \ + --hash=sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032 \ + --hash=sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 +python-dotenv==1.0.1 \ + --hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \ + --hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a +redis==5.0.8 \ + --hash=sha256:0c5b10d387568dfe0698c6fad6615750c24170e548ca2deac10c649d463e9870 \ + --hash=sha256:56134ee08ea909106090934adc36f65c9bcbbaecea5b21ba704ba6fb561f8eb4 +requests==2.32.3 \ + --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ + --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 +requests-sse==0.3.2 \ + --hash=sha256:3e17bd324e500c9b11c7c23dd00af3f0222070328134bda67a8917985cfc4127 \ + --hash=sha256:c3399b689f6e7bf0eac7c2031211d66ffbb3ab77afc6c9226a71c73c06609f61 +rsa==4.9 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 +soupsieve==2.6 \ + --hash=sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb \ + --hash=sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9 +sqlparse==0.5.1 \ + --hash=sha256:bb6b4df465655ef332548e24f08e205afc81b9ab86cb1c45657a7ff173a3a00e \ + --hash=sha256:773dcbf9a5ab44a090f3441e2180efe2560220203dc2f8c0b0fa141e18b505e4 +stack-data==0.6.3 \ + --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ + --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 +stellar-sdk==11.0.0 \ + --hash=sha256:645a4ba4b7e9eab5285bd2d870c74b13968173f56d75a89fd07656a344e2fa7e \ + --hash=sha256:54a53d143aa8a4bf5baf5a38bc8ebddd3280339b6f973cfcbae4c2c362e7929d +tablib==3.5.0 \ + --hash=sha256:f6661dfc45e1d4f51fa8a6239f9c8349380859a5bfaa73280645f046d6c96e33 \ + --hash=sha256:9821caa9eca6062ff7299fa645e737aecff982e6b2b42046928a6413c8dabfd9 +toml==0.10.2 \ + --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f \ + --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b +traitlets==5.14.3 \ + --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \ + --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f +typing-extensions==4.12.2 \ + --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 \ + --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d +tzdata==2024.1 \ + --hash=sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd \ + --hash=sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252 +uritemplate==4.1.1 \ + --hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \ + --hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e +urllib3==2.2.3 \ + --hash=sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9 \ + --hash=sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac +vine==5.1.0 \ + --hash=sha256:8b62e981d35c41049211cf62a0a1242d8c1ee9bd15bb196ce38aefd6799e61e0 \ + --hash=sha256:40fdf3c48b2cfe1c38a49e9ae2da6fda88e4794c810050a728bd7413811fb1dc +wcwidth==0.2.13 \ + --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 \ + --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 +xdrlib3==0.1.1 \ + --hash=sha256:26697013af45afab6c6ff9a598fd04979cde83fa7215da059551b088aea88f34 \ + --hash=sha256:175c0645f347c64e76bb374c2109480007eb2ff04ad08acfe885a130d2b0877d From bcc10c432281794da7483b1e876d32e1b2daf6a4 Mon Sep 17 00:00:00 2001 From: Roni Ahmadi Date: Tue, 24 Sep 2024 21:49:13 +0700 Subject: [PATCH 12/12] update gh action --- .github/workflows/license_scan.yml | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 .github/workflows/license_scan.yml diff --git a/.github/workflows/license_scan.yml b/.github/workflows/license_scan.yml deleted file mode 100644 index c80da69..0000000 --- a/.github/workflows/license_scan.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Python matrix CI - -on: [push] - -jobs: - build: - runs-on: ubuntu-22.04 - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.10.15] - steps: - - uses: actions/checkout@v1 - - name: Set up Python - uses: actions/setup-python@v1 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python3 -m pip install --upgrade pip - pip install -r requirements-dev.txt - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --statistics - - name: Test with pytest - run: | - pytest --cov=. test \ No newline at end of file