mirror of
https://github.com/RoboSats/robosats.git
synced 2025-02-21 12:49:02 +00:00
Merge pull request #15 from Reckless-Satoshi/user-generator-page
User generator page
This commit is contained in:
commit
17d8c2f88c
5
.gitignore
vendored
5
.gitignore
vendored
@ -637,4 +637,7 @@ FodyWeavers.xsd
|
|||||||
|
|
||||||
# Django
|
# Django
|
||||||
*migrations*
|
*migrations*
|
||||||
frontend/static/frontend*
|
frontend/static/frontend/main*
|
||||||
|
|
||||||
|
# robosats
|
||||||
|
frontend/static/assets/avatars*
|
||||||
|
4834
api/nick_generator/dicts/en/adjectives.py
Executable file
4834
api/nick_generator/dicts/en/adjectives.py
Executable file
File diff suppressed because it is too large
Load Diff
452
api/nick_generator/dicts/en/adverbs.py
Executable file
452
api/nick_generator/dicts/en/adverbs.py
Executable file
@ -0,0 +1,452 @@
|
|||||||
|
adverbs = [
|
||||||
|
"Utterly",
|
||||||
|
"Rapturously",
|
||||||
|
"Most",
|
||||||
|
"Unfairly",
|
||||||
|
"Always",
|
||||||
|
"Up",
|
||||||
|
"Patiently",
|
||||||
|
"Nearby",
|
||||||
|
"Fortunately",
|
||||||
|
"Potentially",
|
||||||
|
"Astonishingly",
|
||||||
|
"Conceivably",
|
||||||
|
"Excitedly",
|
||||||
|
"Hungrily",
|
||||||
|
"Badly",
|
||||||
|
"About",
|
||||||
|
"Certainly",
|
||||||
|
"Tenderly",
|
||||||
|
"Predictably",
|
||||||
|
"Sedately",
|
||||||
|
"Equally",
|
||||||
|
"Truthfully",
|
||||||
|
"Formerly",
|
||||||
|
"Restfully",
|
||||||
|
"Jokingly",
|
||||||
|
"Unexpectedly",
|
||||||
|
"However",
|
||||||
|
"Extremely",
|
||||||
|
"Amazingly",
|
||||||
|
"Quite",
|
||||||
|
"Lawfully",
|
||||||
|
"Emptily",
|
||||||
|
"Affectionately",
|
||||||
|
"Nevertheless",
|
||||||
|
"Nicely",
|
||||||
|
"Seriously",
|
||||||
|
"Hardly",
|
||||||
|
"Justly",
|
||||||
|
"Sternly",
|
||||||
|
"Cruelly",
|
||||||
|
"Today",
|
||||||
|
"Understandingly",
|
||||||
|
"Backwards",
|
||||||
|
"Powerfully",
|
||||||
|
"Understandably",
|
||||||
|
"Accusingly",
|
||||||
|
"Irritably",
|
||||||
|
"Violently",
|
||||||
|
"Commonly",
|
||||||
|
"How",
|
||||||
|
"Wrongly",
|
||||||
|
"Loudly",
|
||||||
|
"Innocently",
|
||||||
|
"Probably",
|
||||||
|
"Meaningfully",
|
||||||
|
"Conspicuously",
|
||||||
|
"Rightly",
|
||||||
|
"Overseas",
|
||||||
|
"Wildly",
|
||||||
|
"Awkwardly",
|
||||||
|
"Finally",
|
||||||
|
"Absently",
|
||||||
|
"Inwardly",
|
||||||
|
"Likely",
|
||||||
|
"Greedily",
|
||||||
|
"Breathlessly",
|
||||||
|
"Ideally",
|
||||||
|
"Miserably",
|
||||||
|
"Deceivingly",
|
||||||
|
"Tonight",
|
||||||
|
"Simply",
|
||||||
|
"Yet",
|
||||||
|
"Compassionately",
|
||||||
|
"Crisply",
|
||||||
|
"Decidedly",
|
||||||
|
"Last",
|
||||||
|
"Inadequately",
|
||||||
|
"Perpetually",
|
||||||
|
"Lots",
|
||||||
|
"Busily",
|
||||||
|
"Fervently",
|
||||||
|
"Late",
|
||||||
|
"Solemnly",
|
||||||
|
"Enviously",
|
||||||
|
"Not",
|
||||||
|
"Happily",
|
||||||
|
"Wearily",
|
||||||
|
"Nearly",
|
||||||
|
"Before",
|
||||||
|
"Openly",
|
||||||
|
"Intensely",
|
||||||
|
"Much",
|
||||||
|
"Fiercely",
|
||||||
|
"Enormously",
|
||||||
|
"Separately",
|
||||||
|
"Helpfully",
|
||||||
|
"Tremendously",
|
||||||
|
"Blindly",
|
||||||
|
"Long",
|
||||||
|
"First",
|
||||||
|
"Energetically",
|
||||||
|
"Partially",
|
||||||
|
"Lately",
|
||||||
|
"Incredibly",
|
||||||
|
"Awfully",
|
||||||
|
"Regularly",
|
||||||
|
"Now",
|
||||||
|
"Crossly",
|
||||||
|
"Increasingly",
|
||||||
|
"Indeed",
|
||||||
|
"Practically",
|
||||||
|
"Famously",
|
||||||
|
"Down",
|
||||||
|
"Over",
|
||||||
|
"Spitefully",
|
||||||
|
"Desperately",
|
||||||
|
"Harshly",
|
||||||
|
"Distinctly",
|
||||||
|
"Confidentially",
|
||||||
|
"Inadvertently",
|
||||||
|
"Best",
|
||||||
|
"Disgustingly",
|
||||||
|
"Sleepily",
|
||||||
|
"Ferociously",
|
||||||
|
"Incidentally",
|
||||||
|
"Naturally",
|
||||||
|
"Selfishly",
|
||||||
|
"Rightfully",
|
||||||
|
"Lightly",
|
||||||
|
"Shyly",
|
||||||
|
"Longingly",
|
||||||
|
"Superstitiously",
|
||||||
|
"Too",
|
||||||
|
"Suspiciously",
|
||||||
|
"Especially",
|
||||||
|
"Stingily",
|
||||||
|
"Rarely",
|
||||||
|
"Curiously",
|
||||||
|
"Poorly",
|
||||||
|
"Very",
|
||||||
|
"Downstairs",
|
||||||
|
"Briskly",
|
||||||
|
"Thus",
|
||||||
|
"Exactly",
|
||||||
|
"Yearly",
|
||||||
|
"Evenly",
|
||||||
|
"Clumsily",
|
||||||
|
"Daintily",
|
||||||
|
"Heartily",
|
||||||
|
"Gratefully",
|
||||||
|
"Elegantly",
|
||||||
|
"Quick",
|
||||||
|
"Terribly",
|
||||||
|
"Never",
|
||||||
|
"Already",
|
||||||
|
"Behind",
|
||||||
|
"Frenetically",
|
||||||
|
"Unlike",
|
||||||
|
"Obviously",
|
||||||
|
"Meekly",
|
||||||
|
"Wonderingly",
|
||||||
|
"Brightly",
|
||||||
|
"Thoroughly",
|
||||||
|
"Doubtfully",
|
||||||
|
"Wrong",
|
||||||
|
"Sheepishly",
|
||||||
|
"Moreover",
|
||||||
|
"Messily",
|
||||||
|
"Wisely",
|
||||||
|
"Wonderfully",
|
||||||
|
"Properly",
|
||||||
|
"Tightly",
|
||||||
|
"Slow",
|
||||||
|
"Absolutely",
|
||||||
|
"Closely",
|
||||||
|
"Repeatedly",
|
||||||
|
"Underground",
|
||||||
|
"Mockingly",
|
||||||
|
"Abroad",
|
||||||
|
"Positively",
|
||||||
|
"Briefly",
|
||||||
|
"Reproachfully",
|
||||||
|
"Lazily",
|
||||||
|
"Hopefully",
|
||||||
|
"Continually",
|
||||||
|
"Generally",
|
||||||
|
"Theoretically",
|
||||||
|
"Just",
|
||||||
|
"Freely",
|
||||||
|
"Playfully",
|
||||||
|
"Carefully",
|
||||||
|
"Intently",
|
||||||
|
"Slowly",
|
||||||
|
"Mysteriously",
|
||||||
|
"There",
|
||||||
|
"Fairly",
|
||||||
|
"Pleasantly",
|
||||||
|
"Madly",
|
||||||
|
"Speedily",
|
||||||
|
"Off",
|
||||||
|
"Calmly",
|
||||||
|
"Deliberately",
|
||||||
|
"Hard",
|
||||||
|
"Clearly",
|
||||||
|
"Frankly",
|
||||||
|
"Quintessentially",
|
||||||
|
"Tensely",
|
||||||
|
"East",
|
||||||
|
"Quaveringly",
|
||||||
|
"Mentally",
|
||||||
|
"Consequently",
|
||||||
|
"Less",
|
||||||
|
"Determinedly",
|
||||||
|
"Grumpily",
|
||||||
|
"Searchingly",
|
||||||
|
"Stubbornly",
|
||||||
|
"Unwillingly",
|
||||||
|
"Bravely",
|
||||||
|
"Neatly",
|
||||||
|
"Generously",
|
||||||
|
"Eventually",
|
||||||
|
"Gleefully",
|
||||||
|
"Anyway",
|
||||||
|
"Dangerously",
|
||||||
|
"Highly",
|
||||||
|
"Presumably",
|
||||||
|
"Cheerfully",
|
||||||
|
"Quietly",
|
||||||
|
"So",
|
||||||
|
"Fearlessly",
|
||||||
|
"Low",
|
||||||
|
"Angrily",
|
||||||
|
"Therefore",
|
||||||
|
"Rather",
|
||||||
|
"Easily",
|
||||||
|
"Ultimately",
|
||||||
|
"Earlier",
|
||||||
|
"Again",
|
||||||
|
"Early",
|
||||||
|
"Ravenously",
|
||||||
|
"Cautiously",
|
||||||
|
"Perfectly",
|
||||||
|
"Foolishly",
|
||||||
|
"Evidently",
|
||||||
|
"Carelessly",
|
||||||
|
"Warmly",
|
||||||
|
"Stupidly",
|
||||||
|
"Daringly",
|
||||||
|
"Where",
|
||||||
|
"Unbelievably",
|
||||||
|
"Abruptly",
|
||||||
|
"Ever",
|
||||||
|
"Wholly",
|
||||||
|
"Obediently",
|
||||||
|
"Gladly",
|
||||||
|
"Otherwise",
|
||||||
|
"Strangely",
|
||||||
|
"Slyly",
|
||||||
|
"Instantly",
|
||||||
|
"Hopelessly",
|
||||||
|
"Far",
|
||||||
|
"Impulsively",
|
||||||
|
"Greatly",
|
||||||
|
"Loosely",
|
||||||
|
"Definitely",
|
||||||
|
"Solidly",
|
||||||
|
"Here",
|
||||||
|
"Out",
|
||||||
|
"Proudly",
|
||||||
|
"Coaxingly",
|
||||||
|
"Strictly",
|
||||||
|
"Darkly",
|
||||||
|
"Roughly",
|
||||||
|
"Venomously",
|
||||||
|
"Interestingly",
|
||||||
|
"Purely",
|
||||||
|
"Later",
|
||||||
|
"Even",
|
||||||
|
"Better",
|
||||||
|
"Accidentally",
|
||||||
|
"Likewise",
|
||||||
|
"Righteously",
|
||||||
|
"Besides",
|
||||||
|
"Until",
|
||||||
|
"Usually",
|
||||||
|
"Willfully",
|
||||||
|
"Doubtlessly",
|
||||||
|
"Previously",
|
||||||
|
"Totally",
|
||||||
|
"Intermittently",
|
||||||
|
"Eagerly",
|
||||||
|
"Anywhere",
|
||||||
|
"Rigidly",
|
||||||
|
"Mechanically",
|
||||||
|
"Straight",
|
||||||
|
"Inside",
|
||||||
|
"Safely",
|
||||||
|
"Regretfully",
|
||||||
|
"Hurriedly",
|
||||||
|
"Enough",
|
||||||
|
"Least",
|
||||||
|
"Surprisingly",
|
||||||
|
"Thoughtfully",
|
||||||
|
"Quarterly",
|
||||||
|
"Regrettably",
|
||||||
|
"Completely",
|
||||||
|
"Correctly",
|
||||||
|
"Fortnightly",
|
||||||
|
"Joyously",
|
||||||
|
"Marvelously",
|
||||||
|
"Outside",
|
||||||
|
"Weekly",
|
||||||
|
"Almost",
|
||||||
|
"Delicately",
|
||||||
|
"On",
|
||||||
|
"Readily",
|
||||||
|
"Seemingly",
|
||||||
|
"Basically",
|
||||||
|
"Seldom",
|
||||||
|
"Soon",
|
||||||
|
"Sometimes",
|
||||||
|
"Reluctantly",
|
||||||
|
"Upstairs",
|
||||||
|
"Ever",
|
||||||
|
"Furthermore",
|
||||||
|
"Occasionally",
|
||||||
|
"Somewhat",
|
||||||
|
"Reassuringly",
|
||||||
|
"Faithfully",
|
||||||
|
"Unfortunately",
|
||||||
|
"Diligently",
|
||||||
|
"Afterward",
|
||||||
|
"Strongly",
|
||||||
|
"Oddly",
|
||||||
|
"Urgently",
|
||||||
|
"Softly",
|
||||||
|
"Doggedly",
|
||||||
|
"Somewhere",
|
||||||
|
"Back",
|
||||||
|
"Recklessly",
|
||||||
|
"Suddenly",
|
||||||
|
"Arrogantly",
|
||||||
|
"Knowingly",
|
||||||
|
"Tomorrow",
|
||||||
|
"Mostly",
|
||||||
|
"Coolly",
|
||||||
|
"Really",
|
||||||
|
"Successfully",
|
||||||
|
"Normally",
|
||||||
|
"Monthly",
|
||||||
|
"Importantly",
|
||||||
|
"Additionally",
|
||||||
|
"Professionally",
|
||||||
|
"Outwardly",
|
||||||
|
"Apparently",
|
||||||
|
"Fully",
|
||||||
|
"Frantically",
|
||||||
|
"Right",
|
||||||
|
"Cleanly",
|
||||||
|
"Backward",
|
||||||
|
"Undoubtedly",
|
||||||
|
"Pleasingly",
|
||||||
|
"Cleverly",
|
||||||
|
"Worriedly",
|
||||||
|
"Inquisitively",
|
||||||
|
"Heavily",
|
||||||
|
"Away",
|
||||||
|
"Hourly",
|
||||||
|
"Swiftly",
|
||||||
|
"Hastily",
|
||||||
|
"Entirely",
|
||||||
|
"Dearly",
|
||||||
|
"Deeply",
|
||||||
|
"Cheaply",
|
||||||
|
"Little",
|
||||||
|
"Noisily",
|
||||||
|
"Adversely",
|
||||||
|
"Delightfully",
|
||||||
|
"Negatively",
|
||||||
|
"Unhappily",
|
||||||
|
"Similarly",
|
||||||
|
"Infrequently",
|
||||||
|
"Vastly",
|
||||||
|
"Daily",
|
||||||
|
"Promptly",
|
||||||
|
"Rudely",
|
||||||
|
"Actually",
|
||||||
|
"Rapidly",
|
||||||
|
"Next",
|
||||||
|
"Viciously",
|
||||||
|
"Sympathetically",
|
||||||
|
"Well",
|
||||||
|
"Luckily",
|
||||||
|
"Frequently",
|
||||||
|
"Honestly",
|
||||||
|
"Often",
|
||||||
|
"Under",
|
||||||
|
"Elsewhere",
|
||||||
|
"Then",
|
||||||
|
"Pretty",
|
||||||
|
"Queerly",
|
||||||
|
"More",
|
||||||
|
"Frightfully",
|
||||||
|
"Painfully",
|
||||||
|
"Below",
|
||||||
|
"Constantly",
|
||||||
|
"Towards",
|
||||||
|
"Periodically",
|
||||||
|
"In",
|
||||||
|
"Recently",
|
||||||
|
"Furiously",
|
||||||
|
"Guiltily",
|
||||||
|
"Ironically",
|
||||||
|
"Since",
|
||||||
|
"Hatefully",
|
||||||
|
"Thankfully",
|
||||||
|
"Indoors",
|
||||||
|
"Barely",
|
||||||
|
"Truly",
|
||||||
|
"Along",
|
||||||
|
"Scarcely",
|
||||||
|
"Bashfully",
|
||||||
|
"Fast",
|
||||||
|
"Anxiously",
|
||||||
|
"Sharply",
|
||||||
|
"Immediately",
|
||||||
|
"Helplessly",
|
||||||
|
"Politely",
|
||||||
|
"Yesterday",
|
||||||
|
"Nonetheless",
|
||||||
|
"Sadly",
|
||||||
|
"Kindly",
|
||||||
|
"Triumphantly",
|
||||||
|
"Quickly",
|
||||||
|
"Still",
|
||||||
|
"Nervously",
|
||||||
|
"Above",
|
||||||
|
"Enticingly",
|
||||||
|
"Near",
|
||||||
|
"Meanwhile",
|
||||||
|
"Expertly",
|
||||||
|
"Mindfully",
|
||||||
|
"Dreamily",
|
||||||
|
"Virtually",
|
||||||
|
"Annually",
|
||||||
|
"Beautifully",
|
||||||
|
"Gently",
|
||||||
|
"Exclusively",
|
||||||
|
"Passionately",
|
||||||
|
"Boldly",
|
||||||
|
]
|
12591
api/nick_generator/dicts/en/nouns.py
Executable file
12591
api/nick_generator/dicts/en/nouns.py
Executable file
File diff suppressed because it is too large
Load Diff
11643
api/nick_generator/dicts/es/adjectives.py
Executable file
11643
api/nick_generator/dicts/es/adjectives.py
Executable file
File diff suppressed because it is too large
Load Diff
902
api/nick_generator/dicts/es/adverbs.py
Executable file
902
api/nick_generator/dicts/es/adverbs.py
Executable file
@ -0,0 +1,902 @@
|
|||||||
|
adverbs = [
|
||||||
|
"Bien",
|
||||||
|
"Mal",
|
||||||
|
"Despacio",
|
||||||
|
"Deprisa",
|
||||||
|
"Como",
|
||||||
|
"Mucho",
|
||||||
|
"Poco",
|
||||||
|
"Muy",
|
||||||
|
"Casi",
|
||||||
|
"Todo",
|
||||||
|
"Nada",
|
||||||
|
"Algo",
|
||||||
|
"Medio",
|
||||||
|
"Demasiado",
|
||||||
|
"Bastante",
|
||||||
|
"Más",
|
||||||
|
"Menos",
|
||||||
|
"Además",
|
||||||
|
"Incluso",
|
||||||
|
"También",
|
||||||
|
"Mucho",
|
||||||
|
"Poco",
|
||||||
|
"Muy",
|
||||||
|
"Casi",
|
||||||
|
"Todo",
|
||||||
|
"Nada",
|
||||||
|
"Algo",
|
||||||
|
"Medio",
|
||||||
|
"Demasiado",
|
||||||
|
"Bastante",
|
||||||
|
"Más",
|
||||||
|
"Menos",
|
||||||
|
"Además",
|
||||||
|
"Incluso",
|
||||||
|
"También",
|
||||||
|
"Tampoco",
|
||||||
|
"Jamás",
|
||||||
|
"Nunca",
|
||||||
|
"Acaso",
|
||||||
|
"Quizá",
|
||||||
|
"Quizás",
|
||||||
|
"Rápidamente",
|
||||||
|
"Adrede",
|
||||||
|
"Lento",
|
||||||
|
"Bajo",
|
||||||
|
"Conforme",
|
||||||
|
"Mal",
|
||||||
|
"Bien",
|
||||||
|
"Igual",
|
||||||
|
"Mejor",
|
||||||
|
"Suavemente",
|
||||||
|
"Regular",
|
||||||
|
"Lento",
|
||||||
|
"Rápidamente",
|
||||||
|
"Fuerte",
|
||||||
|
"Velozmente",
|
||||||
|
"Apasionadamente",
|
||||||
|
"Ligero",
|
||||||
|
"Tiernamente",
|
||||||
|
"Amable",
|
||||||
|
"Claro",
|
||||||
|
"Extremadamente",
|
||||||
|
"Justo",
|
||||||
|
"Tanto",
|
||||||
|
"Demasiado",
|
||||||
|
"Mucho",
|
||||||
|
"Bastante",
|
||||||
|
"Mitad",
|
||||||
|
"Absolutamente",
|
||||||
|
"Casi",
|
||||||
|
"Tan",
|
||||||
|
"Nada",
|
||||||
|
"Solo",
|
||||||
|
"Terriblemente",
|
||||||
|
"Excesivamente",
|
||||||
|
"Apenas",
|
||||||
|
"Todo",
|
||||||
|
"Mayormente",
|
||||||
|
"Aproximadamente",
|
||||||
|
"Poco",
|
||||||
|
"Posiblemente",
|
||||||
|
"Acaso",
|
||||||
|
"Probablemente",
|
||||||
|
"Quizá",
|
||||||
|
"Seguramente",
|
||||||
|
"Aparentemente",
|
||||||
|
"Eventualmente",
|
||||||
|
"Indudablemente",
|
||||||
|
"No",
|
||||||
|
"Ni",
|
||||||
|
"Nunca",
|
||||||
|
"Jamás",
|
||||||
|
"Tampoco",
|
||||||
|
"Nadie",
|
||||||
|
"Nada",
|
||||||
|
"Ningún",
|
||||||
|
"Ninguno",
|
||||||
|
"Ninguna",
|
||||||
|
"Quién",
|
||||||
|
"Cómo",
|
||||||
|
"Cuán",
|
||||||
|
"Cuándo",
|
||||||
|
"Cuál",
|
||||||
|
"Qué",
|
||||||
|
"Quiénes",
|
||||||
|
"Cuánto",
|
||||||
|
"Cuántos",
|
||||||
|
"Abajo",
|
||||||
|
"Abaldonadamente",
|
||||||
|
"Abarrisco",
|
||||||
|
"Abastadamente",
|
||||||
|
"Abastanza",
|
||||||
|
"Abasto",
|
||||||
|
"Abatidamente",
|
||||||
|
"Abdicativamente",
|
||||||
|
"Abemoladamente",
|
||||||
|
"Abiertamente",
|
||||||
|
"Abnegadamente",
|
||||||
|
"Abominablemente",
|
||||||
|
"Abondadamente",
|
||||||
|
"Abondo",
|
||||||
|
"Abondosamente",
|
||||||
|
"Aborreciblemente",
|
||||||
|
"Abrasadamente",
|
||||||
|
"Abreviadamente",
|
||||||
|
"Absolutamente",
|
||||||
|
"Abundadamente",
|
||||||
|
"Abundantemente",
|
||||||
|
"Abundo",
|
||||||
|
"Aburridamente",
|
||||||
|
"Abés",
|
||||||
|
"Acabadamente",
|
||||||
|
"Acabdilladamente",
|
||||||
|
"Académicamente",
|
||||||
|
"Acaloradamente",
|
||||||
|
"Acatadamente",
|
||||||
|
"Accesoriamente",
|
||||||
|
"Accidentadamente",
|
||||||
|
"Accidentalmente",
|
||||||
|
"Accidentariamente",
|
||||||
|
"Acedamente",
|
||||||
|
"Aceleradamente",
|
||||||
|
"Acentuadamente",
|
||||||
|
"Aceptablemente",
|
||||||
|
"Aceptadamente",
|
||||||
|
"Aceradamente",
|
||||||
|
"Acerbamente",
|
||||||
|
"Acerca",
|
||||||
|
"Aclaratoriamente",
|
||||||
|
"Acogedoramente",
|
||||||
|
"Acomodadamente",
|
||||||
|
"Acompasadamente",
|
||||||
|
"Acordablemente",
|
||||||
|
"Acordadamente",
|
||||||
|
"Acordantemente",
|
||||||
|
"Acostumbradamente",
|
||||||
|
"Acremente",
|
||||||
|
"Acrisoladamente",
|
||||||
|
"Activamente",
|
||||||
|
"Actualmente",
|
||||||
|
"Acuciadamente",
|
||||||
|
"Acuciosamente",
|
||||||
|
"Acullá",
|
||||||
|
"Acá",
|
||||||
|
"Adagietto",
|
||||||
|
"Adagio",
|
||||||
|
"Adecuadamente",
|
||||||
|
"Adelant",
|
||||||
|
"Adelantadamente",
|
||||||
|
"Adelante",
|
||||||
|
"Adelantre",
|
||||||
|
"Además",
|
||||||
|
"Adentro",
|
||||||
|
"Adonde",
|
||||||
|
"Adrede",
|
||||||
|
"Afuera",
|
||||||
|
"Agradablemente",
|
||||||
|
"Agravantemente",
|
||||||
|
"Agraviadamente",
|
||||||
|
"Agresivamente",
|
||||||
|
"Ajoba",
|
||||||
|
"Ajustadamente",
|
||||||
|
"Alarmadamente",
|
||||||
|
"Alarmantemente",
|
||||||
|
"Alborozadamente",
|
||||||
|
"Alcalizablemente",
|
||||||
|
"Alcalizadamente",
|
||||||
|
"Alegremente",
|
||||||
|
"Alerta",
|
||||||
|
"Algo",
|
||||||
|
"Allende",
|
||||||
|
"Allá",
|
||||||
|
"Allí",
|
||||||
|
"Alocadamente",
|
||||||
|
"Alrededor",
|
||||||
|
"Altamente",
|
||||||
|
"Alternativamente",
|
||||||
|
"Altimétricamente",
|
||||||
|
"Altruistamente",
|
||||||
|
"Altruísticamente",
|
||||||
|
"Altísimamente",
|
||||||
|
"Alzadamente",
|
||||||
|
"Ambiguamente",
|
||||||
|
"Ambulatoriamente",
|
||||||
|
"Amenguadamente",
|
||||||
|
"Amigablemente",
|
||||||
|
"Amistosamente",
|
||||||
|
"Amorosamente",
|
||||||
|
"Ampliamente",
|
||||||
|
"Analíticamente",
|
||||||
|
"Analógicamente",
|
||||||
|
"Anatómicamente",
|
||||||
|
"Anchamente",
|
||||||
|
"Andante",
|
||||||
|
"Angostamente",
|
||||||
|
"Animadamente",
|
||||||
|
"Aniñadamente",
|
||||||
|
"Anoche",
|
||||||
|
"Antaño",
|
||||||
|
"Anteayer",
|
||||||
|
"Antedía",
|
||||||
|
"Antemano",
|
||||||
|
"Antemeridiano",
|
||||||
|
"Anteriormente",
|
||||||
|
"Antes",
|
||||||
|
"Anticipadamente",
|
||||||
|
"Antier",
|
||||||
|
"Antiguamente",
|
||||||
|
"Análogamente",
|
||||||
|
"Aparentemente",
|
||||||
|
"Apartadamente",
|
||||||
|
"Aparte",
|
||||||
|
"Apasionadamente",
|
||||||
|
"Apegadamente",
|
||||||
|
"Apenas",
|
||||||
|
"Aposta",
|
||||||
|
"Apostadamente",
|
||||||
|
"Aproximadamente",
|
||||||
|
"Apuestamente",
|
||||||
|
"Apuesto",
|
||||||
|
"Apuradamente",
|
||||||
|
"Aquende",
|
||||||
|
"Aquí",
|
||||||
|
"Ardorosamente",
|
||||||
|
"Armoniosamente",
|
||||||
|
"Arraigadamente",
|
||||||
|
"Arrebatadamente",
|
||||||
|
"Arregladamente",
|
||||||
|
"Arregladísimamente",
|
||||||
|
"Arriba",
|
||||||
|
"Categoría:Adverbios",
|
||||||
|
"Asaz",
|
||||||
|
"Asertivamente",
|
||||||
|
"Asimismo",
|
||||||
|
"Asmadamente",
|
||||||
|
"Astrosamente",
|
||||||
|
"Asumadamente",
|
||||||
|
"Atentamente",
|
||||||
|
"Atrasadamente",
|
||||||
|
"Atrasmano",
|
||||||
|
"Atriqui",
|
||||||
|
"Atroden",
|
||||||
|
"Atrodén",
|
||||||
|
"Atrás",
|
||||||
|
"Aun",
|
||||||
|
"Auténticamente",
|
||||||
|
"Ayuso",
|
||||||
|
"Aína",
|
||||||
|
"Aúna",
|
||||||
|
"Bacano",
|
||||||
|
"Bacán",
|
||||||
|
"Bastadamente",
|
||||||
|
"Bastante",
|
||||||
|
"Bastantemente",
|
||||||
|
"Bastantísimamente",
|
||||||
|
"Bellacamente",
|
||||||
|
"Bellamente",
|
||||||
|
"Bien",
|
||||||
|
"Bulliciosamente",
|
||||||
|
"Básicamente",
|
||||||
|
"Caballerescamente",
|
||||||
|
"Caballerosamente",
|
||||||
|
"Cachada",
|
||||||
|
"Cachá",
|
||||||
|
"Caleta",
|
||||||
|
"Calorosamente",
|
||||||
|
"Calumniosamente",
|
||||||
|
"Calurosamente",
|
||||||
|
"Cansadamente",
|
||||||
|
"Cantidad",
|
||||||
|
"Capitularmente",
|
||||||
|
"Carnalmente",
|
||||||
|
"Caro",
|
||||||
|
"Casi",
|
||||||
|
"Castigadamente",
|
||||||
|
"Categóricamente",
|
||||||
|
"Católicamente",
|
||||||
|
"Cavilosamente",
|
||||||
|
"Cañón",
|
||||||
|
"Celadamente",
|
||||||
|
"Cerca",
|
||||||
|
"Chistosamente",
|
||||||
|
"Chévere",
|
||||||
|
"Cientemente",
|
||||||
|
"Científicamente",
|
||||||
|
"Ciertamente",
|
||||||
|
"Cierto",
|
||||||
|
"Clandestinamente",
|
||||||
|
"Claramente",
|
||||||
|
"Claro",
|
||||||
|
"Clericalmente",
|
||||||
|
"Clínicamente",
|
||||||
|
"Comercialmente",
|
||||||
|
"Compaginadamente",
|
||||||
|
"Compasadamente",
|
||||||
|
"Completamente",
|
||||||
|
"Comúnmente",
|
||||||
|
"Concienzudamente",
|
||||||
|
"Confidencialmente",
|
||||||
|
"Confidentemente",
|
||||||
|
"Conforme",
|
||||||
|
"Connotativamente",
|
||||||
|
"Conscientemente",
|
||||||
|
"Considerablemente",
|
||||||
|
"Contentamente",
|
||||||
|
"Contiguamente",
|
||||||
|
"Contimás",
|
||||||
|
"Contumazmente",
|
||||||
|
"Convencionalmente",
|
||||||
|
"Convincentemente",
|
||||||
|
"Coordinadamente",
|
||||||
|
"Copiosamente",
|
||||||
|
"Correctamente",
|
||||||
|
"Corriente",
|
||||||
|
"Crecidamente",
|
||||||
|
"Creíblemente",
|
||||||
|
"Cronológicamente",
|
||||||
|
"Crudamente",
|
||||||
|
"Cruelmente",
|
||||||
|
"Cruentamente",
|
||||||
|
"Crédulamente",
|
||||||
|
"Cual",
|
||||||
|
"Cuando",
|
||||||
|
"Cuantimás",
|
||||||
|
"Cuantiosamente",
|
||||||
|
"Cuanto",
|
||||||
|
"Cuidadosamente",
|
||||||
|
"Curiosamente",
|
||||||
|
"Cuándo",
|
||||||
|
"Cínicamente",
|
||||||
|
"Cómicamente",
|
||||||
|
"Cómo",
|
||||||
|
"Daquén",
|
||||||
|
"Debajo",
|
||||||
|
"Decididamente",
|
||||||
|
"Decisivamente",
|
||||||
|
"Definitivamente",
|
||||||
|
"Delant",
|
||||||
|
"Delante",
|
||||||
|
"Delicadamente",
|
||||||
|
"Demasiadamente",
|
||||||
|
"Demasiado",
|
||||||
|
"Demás",
|
||||||
|
"Denantes",
|
||||||
|
"Denotativamente",
|
||||||
|
"Densuno",
|
||||||
|
"Dentro",
|
||||||
|
"Dependientemente",
|
||||||
|
"Deprisa",
|
||||||
|
"Depurablemente",
|
||||||
|
"Depuradamente",
|
||||||
|
"Desafortunadamente",
|
||||||
|
"Desafrancesadamente",
|
||||||
|
"Desagarradamente",
|
||||||
|
"Desagora",
|
||||||
|
"Desagradablemente",
|
||||||
|
"Desahuciadamente",
|
||||||
|
"Desaladamente",
|
||||||
|
"Desalentadamente",
|
||||||
|
"Desamparadamente",
|
||||||
|
"Desapasionadamente",
|
||||||
|
"Desapercibidamente",
|
||||||
|
"Desaseadamente",
|
||||||
|
"Descaradamente",
|
||||||
|
"Descarnadamente",
|
||||||
|
"Descaudilladamente",
|
||||||
|
"Descoordinadamente",
|
||||||
|
"Descubiertamente",
|
||||||
|
"Descuidadamente",
|
||||||
|
"Desdeñosamente",
|
||||||
|
"Desencantadamente",
|
||||||
|
"Desfavorablemente",
|
||||||
|
"Despacio",
|
||||||
|
"Despectivamente",
|
||||||
|
"Despegadamente",
|
||||||
|
"Despiertamente",
|
||||||
|
"Después",
|
||||||
|
"Desvergonzadamente",
|
||||||
|
"Detrás",
|
||||||
|
"Dichosamente",
|
||||||
|
"Didácticamente",
|
||||||
|
"Difícilmente",
|
||||||
|
"Directamente",
|
||||||
|
"Categoría:Adverbios",
|
||||||
|
"Discretamente",
|
||||||
|
"Disculpablemente",
|
||||||
|
"Disculpadamente",
|
||||||
|
"Disparadamente",
|
||||||
|
"Disparatadamente",
|
||||||
|
"Dispositivamente",
|
||||||
|
"Divinalmente",
|
||||||
|
"Divinamente",
|
||||||
|
"Doble",
|
||||||
|
"Doctamente",
|
||||||
|
"Doctoralmente",
|
||||||
|
"Doctísimamente",
|
||||||
|
"Dolientemente",
|
||||||
|
"Doliosamente",
|
||||||
|
"Donde",
|
||||||
|
"Dondequiera",
|
||||||
|
"Doquiera",
|
||||||
|
"Dorsoventralmente",
|
||||||
|
"Dramáticamente",
|
||||||
|
"Dulce",
|
||||||
|
"Durante",
|
||||||
|
"Dónde",
|
||||||
|
"Eficientemente",
|
||||||
|
"Elásticamente",
|
||||||
|
"Embarazadamente",
|
||||||
|
"Embarazosamente",
|
||||||
|
"Embrolladamente",
|
||||||
|
"Eminencialmente",
|
||||||
|
"Eminentemente",
|
||||||
|
"Emocionalmente",
|
||||||
|
"Emotivamente",
|
||||||
|
"Empeñadamente",
|
||||||
|
"Empíricamente",
|
||||||
|
"Enamoradamente",
|
||||||
|
"Enatíamente",
|
||||||
|
"Encarecidamente",
|
||||||
|
"Encargadamente",
|
||||||
|
"Encumbradamente",
|
||||||
|
"Ende",
|
||||||
|
"Endenantes",
|
||||||
|
"Enderezadamente",
|
||||||
|
"Endiabladamente",
|
||||||
|
"Endurecidamente",
|
||||||
|
"Enemigablemente",
|
||||||
|
"Enemigamente",
|
||||||
|
"Enfadosamente",
|
||||||
|
"Enfermamente",
|
||||||
|
"Enfrente",
|
||||||
|
"Enfáticamente",
|
||||||
|
"Engañosamente",
|
||||||
|
"Enigmáticamente",
|
||||||
|
"Enojadamente",
|
||||||
|
"Enojosamente",
|
||||||
|
"Enormemente",
|
||||||
|
"Enseguida",
|
||||||
|
"Enseñadamente",
|
||||||
|
"Entendidamente",
|
||||||
|
"Enteramente",
|
||||||
|
"Enternecidamente",
|
||||||
|
"Entesadamente",
|
||||||
|
"Entonce",
|
||||||
|
"Entonces",
|
||||||
|
"Entrañablemente",
|
||||||
|
"Entrañalmente",
|
||||||
|
"Entregadamente",
|
||||||
|
"Entregamientre",
|
||||||
|
"Entretanto",
|
||||||
|
"Entricadamente",
|
||||||
|
"Enérgicamente",
|
||||||
|
"Equivocadamente",
|
||||||
|
"Equívocamente",
|
||||||
|
"Erróneamente",
|
||||||
|
"Escabrosamente",
|
||||||
|
"Escandalosamente",
|
||||||
|
"Escarnecidamente",
|
||||||
|
"Escasamente",
|
||||||
|
"Escenográficamente",
|
||||||
|
"Escientemente",
|
||||||
|
"Escondidamente",
|
||||||
|
"Escuderilmente",
|
||||||
|
"Escuetamente",
|
||||||
|
"Escépticamente",
|
||||||
|
"Esencialmente",
|
||||||
|
"Esforzadamente",
|
||||||
|
"Esmeradamente",
|
||||||
|
"Especialmente",
|
||||||
|
"Esporádicamente",
|
||||||
|
"Esto",
|
||||||
|
"Estonces",
|
||||||
|
"Estrechamente",
|
||||||
|
"Estrechísimamente",
|
||||||
|
"Estrictamente",
|
||||||
|
"Estultamente",
|
||||||
|
"Estupendamente",
|
||||||
|
"Estéticamente",
|
||||||
|
"Evidentemente",
|
||||||
|
"Exactamente",
|
||||||
|
"Excepto",
|
||||||
|
"Excesivamente",
|
||||||
|
"Exclusivamente",
|
||||||
|
"Expeditamente",
|
||||||
|
"Extendidamente",
|
||||||
|
"Extensamente",
|
||||||
|
"Extensivamente",
|
||||||
|
"Extraodinariamente",
|
||||||
|
"Extraordinariamente",
|
||||||
|
"Extravagantemente",
|
||||||
|
"Extrañamente",
|
||||||
|
"Extremadamente",
|
||||||
|
"Fabuloso",
|
||||||
|
"Familiarmente",
|
||||||
|
"Fantasmagóricamente",
|
||||||
|
"Fantásticamente",
|
||||||
|
"Fatal",
|
||||||
|
"Fatalmente",
|
||||||
|
"Favorablemente",
|
||||||
|
"Favorecidamente",
|
||||||
|
"Feamente",
|
||||||
|
"Febrilmente",
|
||||||
|
"Fecundamente",
|
||||||
|
"Festivamente",
|
||||||
|
"Fieramente",
|
||||||
|
"Filatélicamente",
|
||||||
|
"Filosóficamente",
|
||||||
|
"Finalmente",
|
||||||
|
"Firme",
|
||||||
|
"Firmemente",
|
||||||
|
"Flexiblemente",
|
||||||
|
"Formalmente",
|
||||||
|
"Francamente",
|
||||||
|
"Frecuentemente",
|
||||||
|
"Freqüentemente",
|
||||||
|
"Fuera",
|
||||||
|
"Fuertemente",
|
||||||
|
"Fácilmente",
|
||||||
|
"Fóbicamente",
|
||||||
|
"Galantemente",
|
||||||
|
"Gallardamente",
|
||||||
|
"Gananciosamente",
|
||||||
|
"Ganosamente",
|
||||||
|
"Garbosamente",
|
||||||
|
"Garridamente",
|
||||||
|
"Generalmente",
|
||||||
|
"Genialmente",
|
||||||
|
"Gentilmente",
|
||||||
|
"Gloriosamente",
|
||||||
|
"Gramaticalmente",
|
||||||
|
"Grandemente",
|
||||||
|
"Gratarola",
|
||||||
|
"Gratis",
|
||||||
|
"Gravitacionalmente",
|
||||||
|
"Guardadamente",
|
||||||
|
"Gubernativamente",
|
||||||
|
"Guerreramente",
|
||||||
|
"Hartamente",
|
||||||
|
"Harto",
|
||||||
|
"Heurísticamente",
|
||||||
|
"Hogaño",
|
||||||
|
"Honestamente",
|
||||||
|
"Hábilmente",
|
||||||
|
"Ibídem",
|
||||||
|
"Idénticamente",
|
||||||
|
"Ilegalmente",
|
||||||
|
"Imbécilmente",
|
||||||
|
"Impajaritablemente",
|
||||||
|
"Importunadamente",
|
||||||
|
"Importunamente",
|
||||||
|
"Imposiblemente",
|
||||||
|
"Improbablemente",
|
||||||
|
"Incendiariamente",
|
||||||
|
"Categoría:Adverbios",
|
||||||
|
"Inclusivamente",
|
||||||
|
"Inclusive",
|
||||||
|
"Inconscientemente",
|
||||||
|
"Inconsideradamente",
|
||||||
|
"Increíblemente",
|
||||||
|
"Incruentamente",
|
||||||
|
"Indevotamente",
|
||||||
|
"Indignamente",
|
||||||
|
"Indirectamente",
|
||||||
|
"Indudablemente",
|
||||||
|
"Inevitablemente",
|
||||||
|
"Inexplicablemente",
|
||||||
|
"Infaliblemente",
|
||||||
|
"Infernalmente",
|
||||||
|
"Informadamente",
|
||||||
|
"Ingeniosamente",
|
||||||
|
"Inmediatamente",
|
||||||
|
"Inmensamente",
|
||||||
|
"Inopinadamente",
|
||||||
|
"Insistentemente",
|
||||||
|
"Inspeccionadamente",
|
||||||
|
"Intensamente",
|
||||||
|
"Intensivamente",
|
||||||
|
"Interesadamente",
|
||||||
|
"Intrincadamente",
|
||||||
|
"Intrépidamente",
|
||||||
|
"Invariablemente",
|
||||||
|
"Invisiblemente",
|
||||||
|
"Invitadamente",
|
||||||
|
"Invocadamente",
|
||||||
|
"Involuntariamente",
|
||||||
|
"Inútilmente",
|
||||||
|
"Irregularmente",
|
||||||
|
"Irrespetuosamente",
|
||||||
|
"Jovialmente",
|
||||||
|
"Juntamente",
|
||||||
|
"Junto",
|
||||||
|
"Justiniano",
|
||||||
|
"Justo",
|
||||||
|
"Lamentablemente",
|
||||||
|
"Lascivamente",
|
||||||
|
"Lastimeramente",
|
||||||
|
"Lastimosamente",
|
||||||
|
"Lealmente",
|
||||||
|
"Legato",
|
||||||
|
"Lentamente",
|
||||||
|
"Lento",
|
||||||
|
"Lexicalmente",
|
||||||
|
"Lexicográficamente",
|
||||||
|
"Lexicológicamente",
|
||||||
|
"Libertadamente",
|
||||||
|
"Ligeramente",
|
||||||
|
"Lingüísticamente",
|
||||||
|
"Listamente",
|
||||||
|
"Llenamente",
|
||||||
|
"Localmente",
|
||||||
|
"Lujosamente",
|
||||||
|
"Léxicamente",
|
||||||
|
"Líberamente",
|
||||||
|
"Líricamente",
|
||||||
|
"Majestuosamente",
|
||||||
|
"Malavez",
|
||||||
|
"Malavés",
|
||||||
|
"Maldecidamente",
|
||||||
|
"Maldicientemente",
|
||||||
|
"Malditamente",
|
||||||
|
"Mansamente",
|
||||||
|
"Mansito",
|
||||||
|
"Maravillosamente",
|
||||||
|
"Marrulleramente",
|
||||||
|
"Matacaballo",
|
||||||
|
"Materialmente",
|
||||||
|
"Mayormente",
|
||||||
|
"Mayormientre",
|
||||||
|
"Mañana",
|
||||||
|
"Meditativamente",
|
||||||
|
"Mejor",
|
||||||
|
"Menos",
|
||||||
|
"Merecidamente",
|
||||||
|
"Mezcladamente",
|
||||||
|
"Mientra",
|
||||||
|
"Mientras",
|
||||||
|
"Mientre",
|
||||||
|
"Ministerialmente",
|
||||||
|
"Minuciosamente",
|
||||||
|
"Mismo",
|
||||||
|
"Mitad",
|
||||||
|
"Mogollón",
|
||||||
|
"Molestamente",
|
||||||
|
"Monstruosamente",
|
||||||
|
"Monótonamente",
|
||||||
|
"Mucho",
|
||||||
|
"Muchísimo",
|
||||||
|
"Muellemente",
|
||||||
|
"Mutualmente",
|
||||||
|
"Mutuamente",
|
||||||
|
"Muy",
|
||||||
|
"Más",
|
||||||
|
"Nacionalmente",
|
||||||
|
"Nada",
|
||||||
|
"Natural",
|
||||||
|
"Negativamente",
|
||||||
|
"Nerviosamente",
|
||||||
|
"Normalmente",
|
||||||
|
"Novelísticamente",
|
||||||
|
"Nuevamente",
|
||||||
|
"Nunca",
|
||||||
|
"Obligatoriamente",
|
||||||
|
"Obstinadamente",
|
||||||
|
"Obviamente",
|
||||||
|
"Ocasionalmente",
|
||||||
|
"Oficialmente",
|
||||||
|
"Ogaño",
|
||||||
|
"Oralmente",
|
||||||
|
"Organizadamente",
|
||||||
|
"Ostensiblemente",
|
||||||
|
"Pan-",
|
||||||
|
"Papalmente",
|
||||||
|
"Paremiológicamente",
|
||||||
|
"Partidamente",
|
||||||
|
"Pasaderamente",
|
||||||
|
"Paulatinamente",
|
||||||
|
"Pedagógicamente",
|
||||||
|
"Peor",
|
||||||
|
"Pequeñamente",
|
||||||
|
"Perdidamente",
|
||||||
|
"Perfectamente",
|
||||||
|
"Perfectiblemente",
|
||||||
|
"Perfecto",
|
||||||
|
"Perfetamente",
|
||||||
|
"Permisivamente",
|
||||||
|
"Pero",
|
||||||
|
"Personalmente",
|
||||||
|
"Persuasivamente",
|
||||||
|
"Persécula",
|
||||||
|
"Petulantemente",
|
||||||
|
"Piano",
|
||||||
|
"Picantemente",
|
||||||
|
"Picarescamente",
|
||||||
|
"Poco",
|
||||||
|
"Posiblemente",
|
||||||
|
"Posmeridiano",
|
||||||
|
"Posta",
|
||||||
|
"Potencialmente",
|
||||||
|
"Poéticamente",
|
||||||
|
"Precipitosamente",
|
||||||
|
"Precipuamente",
|
||||||
|
"Precisamente",
|
||||||
|
"Preocupadamente",
|
||||||
|
"Prestamente",
|
||||||
|
"Primero",
|
||||||
|
"Principalmente",
|
||||||
|
"Privado",
|
||||||
|
"Probablemente",
|
||||||
|
"Profundamente",
|
||||||
|
"Prontamente",
|
||||||
|
"Prontísimamente",
|
||||||
|
"Provechosamente",
|
||||||
|
"Prudentemente",
|
||||||
|
"Prácticamente",
|
||||||
|
"Pues",
|
||||||
|
"Puntualmente",
|
||||||
|
"Pérfidamente",
|
||||||
|
"Pésimamente",
|
||||||
|
"Pícaramente",
|
||||||
|
"Públicamente",
|
||||||
|
"Quedamente",
|
||||||
|
"Quedito",
|
||||||
|
"Quietamente",
|
||||||
|
"Quizá",
|
||||||
|
"Quizás",
|
||||||
|
"Rateramente",
|
||||||
|
"Razonadamente",
|
||||||
|
"Realmente",
|
||||||
|
"Rechazadamente",
|
||||||
|
"Reciamente",
|
||||||
|
"Recientemente",
|
||||||
|
"Recio",
|
||||||
|
"Recién",
|
||||||
|
"Recuperadamente",
|
||||||
|
"Redro",
|
||||||
|
"Reflexivamente",
|
||||||
|
"Regresivamente",
|
||||||
|
"Reiteradamente",
|
||||||
|
"Relajadamente",
|
||||||
|
"Religiosamente",
|
||||||
|
"Remilgadamente",
|
||||||
|
"Repente",
|
||||||
|
"Repentinamente",
|
||||||
|
"Repeor",
|
||||||
|
"Repetidamente",
|
||||||
|
"Reportadamente",
|
||||||
|
"Reposadamente",
|
||||||
|
"Reservadamente",
|
||||||
|
"Resolutamente",
|
||||||
|
"Resolutivamente",
|
||||||
|
"Resueltamente",
|
||||||
|
"Retenidamente",
|
||||||
|
"Retóricamente",
|
||||||
|
"Revocablemente",
|
||||||
|
"Rigorosamente",
|
||||||
|
"Rigurosamente",
|
||||||
|
"Ritualmente",
|
||||||
|
"Rotundamente",
|
||||||
|
"Rápidamente",
|
||||||
|
"Rápido",
|
||||||
|
"Sacrosantamente",
|
||||||
|
"Saludablemente",
|
||||||
|
"Salutíferamente",
|
||||||
|
"Salvajemente",
|
||||||
|
"Salvamente",
|
||||||
|
"Salvante",
|
||||||
|
"Salvo",
|
||||||
|
"Satisfactoriamente",
|
||||||
|
"Secularmente",
|
||||||
|
"Secundariamente",
|
||||||
|
"Secundo",
|
||||||
|
"Sedativamente",
|
||||||
|
"Seguidamente",
|
||||||
|
"Seguramente",
|
||||||
|
"Seguro",
|
||||||
|
"Según",
|
||||||
|
"Sensatamente",
|
||||||
|
"Sentado",
|
||||||
|
"Separadamente",
|
||||||
|
"Seriamente",
|
||||||
|
"Severamente",
|
||||||
|
"Severely",
|
||||||
|
"Señaladamente",
|
||||||
|
"Señorilmente",
|
||||||
|
"Sic",
|
||||||
|
"Sicológicamente",
|
||||||
|
"Siempre",
|
||||||
|
"Sigilosamente",
|
||||||
|
"Significantemente",
|
||||||
|
"Significativamente",
|
||||||
|
"Simbólicamente",
|
||||||
|
"Simplemente",
|
||||||
|
"Soberbiamente",
|
||||||
|
"Sobrado",
|
||||||
|
"Sobrenaturalmente",
|
||||||
|
"Socorridamente",
|
||||||
|
"Solamente",
|
||||||
|
"Solo",
|
||||||
|
"Sosegadamente",
|
||||||
|
"Sospechosamente",
|
||||||
|
"Suave",
|
||||||
|
"Suavemente",
|
||||||
|
"Subitáneamente",
|
||||||
|
"Suficientemente",
|
||||||
|
"Suficientísimamente",
|
||||||
|
"Sumamente",
|
||||||
|
"Superabundantemente",
|
||||||
|
"Superbamente",
|
||||||
|
"Supereminentemente",
|
||||||
|
"Supersticiosamente",
|
||||||
|
"Supuestamente",
|
||||||
|
"Sutilmente",
|
||||||
|
"Sólo",
|
||||||
|
"Súper",
|
||||||
|
"Tacataca",
|
||||||
|
"Talvez",
|
||||||
|
"Tampoco",
|
||||||
|
"Tangiblemente",
|
||||||
|
"Tanto",
|
||||||
|
"Tarde",
|
||||||
|
"Temporalmente",
|
||||||
|
"Tempranamente",
|
||||||
|
"Temprano",
|
||||||
|
"Tentativamente",
|
||||||
|
"Tercamente",
|
||||||
|
"Terriblemente",
|
||||||
|
"Tiranamente",
|
||||||
|
"Tiranizadamente",
|
||||||
|
"Tiránicamente",
|
||||||
|
"Todavía",
|
||||||
|
"Tolerablemente",
|
||||||
|
"Topográficamente",
|
||||||
|
"Torcidamente",
|
||||||
|
"Toscamente",
|
||||||
|
"Total",
|
||||||
|
"Totalmente",
|
||||||
|
"Tradicionalmente",
|
||||||
|
"Trasca",
|
||||||
|
"Trascartón",
|
||||||
|
"Triangularmente",
|
||||||
|
"Trimestralmente",
|
||||||
|
"Triunfalmente",
|
||||||
|
"Triunfantemente",
|
||||||
|
"Truncadamente",
|
||||||
|
"Tumultuosamente",
|
||||||
|
"Turísticamente",
|
||||||
|
"Tímidamente",
|
||||||
|
"Ulteriormente",
|
||||||
|
"Ultimadamente",
|
||||||
|
"Unidamente",
|
||||||
|
"Uniformemente",
|
||||||
|
"Unilateralmente",
|
||||||
|
"Unipersonalmente",
|
||||||
|
"Usualmente",
|
||||||
|
"Valientemente",
|
||||||
|
"Velozmente",
|
||||||
|
"Veramente",
|
||||||
|
"Verazmente",
|
||||||
|
"Verbigracia",
|
||||||
|
"Verdaderamente",
|
||||||
|
"Viceversa",
|
||||||
|
"Vilmente",
|
||||||
|
"Violentamente",
|
||||||
|
"Virtuosamente",
|
||||||
|
"Visiblemente",
|
||||||
|
"Vistosamente",
|
||||||
|
"Visualmente",
|
||||||
|
"Vivamente",
|
||||||
|
"Vivazmente",
|
||||||
|
"Volando",
|
||||||
|
"Vulgo",
|
||||||
|
"Yuso",
|
||||||
|
"Zafiamente",
|
||||||
|
"Zarrapastrosamente",
|
||||||
|
"Zonzamente",
|
||||||
|
"Ágilmente",
|
||||||
|
"Ásperamente",
|
||||||
|
"Épicamente",
|
||||||
|
"Éticamente",
|
||||||
|
]
|
58804
api/nick_generator/dicts/es/nouns.py
Executable file
58804
api/nick_generator/dicts/es/nouns.py
Executable file
File diff suppressed because it is too large
Load Diff
223
api/nick_generator/nick_generator.py
Executable file
223
api/nick_generator/nick_generator.py
Executable file
@ -0,0 +1,223 @@
|
|||||||
|
from .utils import human_format
|
||||||
|
|
||||||
|
import hashlib
|
||||||
|
import time
|
||||||
|
|
||||||
|
"""
|
||||||
|
Deterministic nick generator from SHA256 hash.
|
||||||
|
|
||||||
|
It builds Nicknames as:
|
||||||
|
Adverb + Adjective + Noun + Numeric(0-999)
|
||||||
|
|
||||||
|
With the current English dictionaries there
|
||||||
|
is a total of to 450*4800*12500*1000 =
|
||||||
|
28 Trillion deterministic nicks
|
||||||
|
"""
|
||||||
|
|
||||||
|
class NickGenerator:
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
lang="English",
|
||||||
|
use_adv=True,
|
||||||
|
use_adj=True,
|
||||||
|
use_noun=True,
|
||||||
|
max_num=999,
|
||||||
|
verbose=False,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
used_adv: bool , True if adverbs are used in the nick.
|
||||||
|
used_adj: bool , True if adjectives are used in the nick.
|
||||||
|
use_noun: bool , True if nouns are used in the nick.
|
||||||
|
max_num: int, max integer to be used in nick (at least 1)
|
||||||
|
"""
|
||||||
|
if lang == "English":
|
||||||
|
from .dicts.en.adverbs import adverbs
|
||||||
|
from .dicts.en.adjectives import adjectives
|
||||||
|
from .dicts.en.nouns import nouns
|
||||||
|
elif lang == "Spanish":
|
||||||
|
from .dicts.es.adverbs import adverbs
|
||||||
|
from .dicts.es.adjectives import adjectives
|
||||||
|
from .dicts.es.nouns import nouns
|
||||||
|
else:
|
||||||
|
raise ValueError("Language not implemented.")
|
||||||
|
|
||||||
|
print(
|
||||||
|
f"{lang} SHA256 Nick Generator initialized with:"
|
||||||
|
+ f"\nUp to {len(adverbs)} adverbs."
|
||||||
|
+ f"\nUp to {len(adjectives)} adjectives."
|
||||||
|
+ f"\nUp to {len(nouns)} nouns."
|
||||||
|
+ f"\nUp to {max_num+1} numerics.\n"
|
||||||
|
)
|
||||||
|
|
||||||
|
self.use_adv = use_adv
|
||||||
|
self.use_adj = use_adj
|
||||||
|
self.use_noun = use_noun
|
||||||
|
self.max_num = max_num
|
||||||
|
self.verbose = verbose
|
||||||
|
self.adverbs = adverbs
|
||||||
|
self.adjectives = adjectives
|
||||||
|
self.nouns = nouns
|
||||||
|
|
||||||
|
def from_SHA256(self, hash=None):
|
||||||
|
"""
|
||||||
|
Converts hash to int, min-max scales it
|
||||||
|
to the pool size of nicks, uses it as
|
||||||
|
index to construct the nick element by
|
||||||
|
element.
|
||||||
|
|
||||||
|
hash; SHA256 hash as bytes
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Get size of dictionaries for each element
|
||||||
|
num_adv = len(self.adverbs) if self.use_adv else 1
|
||||||
|
num_adj = len(self.adjectives) if self.use_adj else 1
|
||||||
|
num_nouns = len(self.nouns) if self.use_noun else 1
|
||||||
|
|
||||||
|
# Compute pool size by combinatorics
|
||||||
|
pool_size = self.max_num * num_nouns * num_adj * num_adv
|
||||||
|
|
||||||
|
# Min-Max scale the hash relative to the pool size
|
||||||
|
max_int_hash = 2 ** 256
|
||||||
|
int_hash = int(hash, 16)
|
||||||
|
nick_id = int((int_hash / max_int_hash) * pool_size)
|
||||||
|
|
||||||
|
# Compute adverb id
|
||||||
|
if self.use_adv:
|
||||||
|
adv_id = int(nick_id / (self.max_num * num_nouns * num_adj))
|
||||||
|
adv = self.adverbs[adv_id]
|
||||||
|
remainder = nick_id - adv_id * self.max_num * num_nouns * num_adj
|
||||||
|
if self.verbose:
|
||||||
|
print(f"Adverb: {adv}, id {adv_id}.")
|
||||||
|
else:
|
||||||
|
adv_id, adv, remainder = 0, "", nick_id
|
||||||
|
|
||||||
|
# Compute adjective id
|
||||||
|
if self.use_adj:
|
||||||
|
adj_id = int(remainder / (self.max_num * num_nouns))
|
||||||
|
adj = self.adjectives[adj_id]
|
||||||
|
remainder = remainder - adj_id * self.max_num * num_nouns
|
||||||
|
if self.verbose:
|
||||||
|
print(f"Adjective: {adj}, id {adj_id}.")
|
||||||
|
else:
|
||||||
|
adj_id, adj = 0, ""
|
||||||
|
|
||||||
|
# Compute noun id
|
||||||
|
if self.use_noun:
|
||||||
|
noun_id = int(remainder / self.max_num)
|
||||||
|
noun = self.nouns[noun_id]
|
||||||
|
if self.verbose:
|
||||||
|
print(f"Noun: {noun}, id {noun_id}.\n")
|
||||||
|
else:
|
||||||
|
noun_id, noun = 0, ""
|
||||||
|
|
||||||
|
# Remainder is the numeric element
|
||||||
|
if self.max_num > 0:
|
||||||
|
num_id = remainder - noun_id * self.max_num
|
||||||
|
number = str(num_id)
|
||||||
|
else:
|
||||||
|
num_id, number = 0, ""
|
||||||
|
|
||||||
|
# Build nick
|
||||||
|
nick = adv + adj + noun + number
|
||||||
|
|
||||||
|
return nick, nick_id, pool_size
|
||||||
|
|
||||||
|
def short_from_SHA256(
|
||||||
|
self,
|
||||||
|
primer_hash=None,
|
||||||
|
max_length=25,
|
||||||
|
max_iter=10000,
|
||||||
|
):
|
||||||
|
"""
|
||||||
|
Generates Nicks that are short.
|
||||||
|
|
||||||
|
Iterates trough hashes deterministically
|
||||||
|
until it finds a nick that satisfies
|
||||||
|
the lenght restriction.
|
||||||
|
"""
|
||||||
|
hash = primer_hash
|
||||||
|
i = 0
|
||||||
|
while i < max_iter:
|
||||||
|
nick, nick_id, pool_size = self.from_SHA256(hash)
|
||||||
|
if len(nick) <= max_length:
|
||||||
|
return nick, nick_id, pool_size, i
|
||||||
|
else:
|
||||||
|
string = str(hash) + str(42)
|
||||||
|
hash = hashlib.sha256(str.encode(string)).hexdigest()
|
||||||
|
i = i + 1
|
||||||
|
return "", 0, 0, i
|
||||||
|
|
||||||
|
def compute_pool_size_loss(self, max_length=22, max_iter=1000000, num_runs=5000):
|
||||||
|
"""
|
||||||
|
Computes median an average loss of
|
||||||
|
nick pool diversity due to max_lenght
|
||||||
|
restrictions.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import random
|
||||||
|
import statistics
|
||||||
|
|
||||||
|
attempts = []
|
||||||
|
for i in range(num_runs):
|
||||||
|
|
||||||
|
string = str(random.uniform(0, 1000000))
|
||||||
|
hash = hashlib.sha256(str.encode(string)).hexdigest()
|
||||||
|
|
||||||
|
_, _, pool_size, tries = self.short_from_SHA256(hash, max_length)
|
||||||
|
attempts.append(tries)
|
||||||
|
|
||||||
|
median = statistics.median(attempts)
|
||||||
|
mean = statistics.mean(attempts)
|
||||||
|
|
||||||
|
print(f"\nFor max_length of {max_length}:")
|
||||||
|
print(f"Median loss of entropy factor is {median}.")
|
||||||
|
print(f"Mean loss of entropy factor is {mean}.")
|
||||||
|
print(
|
||||||
|
f"Approximate real pool is {human_format( int(pool_size/(mean+1)))} nicks in size."
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
# Just for code timming
|
||||||
|
t0 = time.time()
|
||||||
|
|
||||||
|
# Hardcoded example text and hashing
|
||||||
|
nick_lang = 'English' #Spanish
|
||||||
|
hash = hashlib.sha256(b"No one expected such cool nick!!").hexdigest()
|
||||||
|
max_length = 22
|
||||||
|
max_iter = 100000000
|
||||||
|
|
||||||
|
# Initialized nick generator
|
||||||
|
GenNick = NickGenerator(lang=nick_lang)
|
||||||
|
|
||||||
|
# Generates a short nick with length limit from SHA256
|
||||||
|
nick, nick_id, pool_size, iterations = GenNick.short_from_SHA256(
|
||||||
|
hash, max_length, max_iter
|
||||||
|
)
|
||||||
|
|
||||||
|
# Output
|
||||||
|
print(
|
||||||
|
f"Nick number {nick_id} has been selected among"
|
||||||
|
+ f" {human_format(pool_size)} possible nicks.\n"
|
||||||
|
+ f"Needed {iterations} iterations to find one "
|
||||||
|
+ f"this short.\nYour nick is {nick} !\n"
|
||||||
|
)
|
||||||
|
print(f"Nick lenght is {len(nick)} characters.")
|
||||||
|
print(f"Nick landed at height {nick_id/(pool_size+1)} on the pool.")
|
||||||
|
print(f"Took {time.time()-t0} secs.\n")
|
||||||
|
|
||||||
|
# Print many nicks
|
||||||
|
import random
|
||||||
|
|
||||||
|
random.seed(1)
|
||||||
|
|
||||||
|
for i in range(100):
|
||||||
|
string = str(random.uniform(0, 1000000))
|
||||||
|
hash = hashlib.sha256(str.encode(string)).hexdigest()
|
||||||
|
print(
|
||||||
|
GenNick.short_from_SHA256(hash, max_length=max_length, max_iter=max_iter)[0]
|
||||||
|
)
|
||||||
|
|
||||||
|
# Other analysis
|
||||||
|
GenNick.compute_pool_size_loss(max_length, max_iter, 200)
|
7
api/nick_generator/utils.py
Executable file
7
api/nick_generator/utils.py
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
from math import log, floor
|
||||||
|
|
||||||
|
def human_format(number):
|
||||||
|
units = ["", " Thousand", " Million", " Billion", " Trillion", " Quatrillion"]
|
||||||
|
k = 1000.0
|
||||||
|
magnitude = int(floor(log(number, k)))
|
||||||
|
return "%.2f%s" % (number / k ** magnitude, units[magnitude])
|
@ -1,7 +1,8 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from .views import MakeOrder, OrderView
|
from .views import MakeOrder, OrderView, UserGenerator
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('make/', MakeOrder.as_view()),
|
path('make/', MakeOrder.as_view()),
|
||||||
path('order/', OrderView.as_view()),
|
path('order/', OrderView.as_view()),
|
||||||
|
path('usergen/', UserGenerator.as_view()),
|
||||||
]
|
]
|
134
api/views.py
134
api/views.py
@ -1,12 +1,22 @@
|
|||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
from django.contrib.auth import authenticate, login, logout
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
from .serializers import OrderSerializer, MakeOrderSerializer
|
from .serializers import OrderSerializer, MakeOrderSerializer
|
||||||
from .models import Order
|
from .models import Order
|
||||||
|
|
||||||
|
from .nick_generator.nick_generator import NickGenerator
|
||||||
|
from robohash import Robohash
|
||||||
|
from scipy.stats import entropy
|
||||||
|
from math import log2
|
||||||
|
import numpy as np
|
||||||
|
import hashlib
|
||||||
|
from pathlib import Path
|
||||||
|
from datetime import timedelta
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
||||||
class MakeOrder(APIView):
|
class MakeOrder(APIView):
|
||||||
@ -23,9 +33,15 @@ class MakeOrder(APIView):
|
|||||||
premium = serializer.data.get('premium')
|
premium = serializer.data.get('premium')
|
||||||
satoshis = serializer.data.get('satoshis')
|
satoshis = serializer.data.get('satoshis')
|
||||||
|
|
||||||
#################
|
user = User.objects.get(id=request.user.id)
|
||||||
# TODO
|
|
||||||
# query if the user is already a maker or taker, return error
|
# query if the user is already a maker or taker, return error
|
||||||
|
queryset = Order.objects.filter(maker=request.user.id)
|
||||||
|
if queryset.exists():
|
||||||
|
return Response({'Bad Request':'You are already maker of an order'},status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
queryset = Order.objects.filter(taker=request.user.id)
|
||||||
|
if queryset.exists():
|
||||||
|
return Response({'Bad Request':'You are already taker of an order'},status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
# Creates a new order in db
|
# Creates a new order in db
|
||||||
order = Order(
|
order = Order(
|
||||||
@ -34,7 +50,8 @@ class MakeOrder(APIView):
|
|||||||
amount=amount,
|
amount=amount,
|
||||||
payment_method=payment_method,
|
payment_method=payment_method,
|
||||||
premium=premium,
|
premium=premium,
|
||||||
satoshis=satoshis)
|
satoshis=satoshis,
|
||||||
|
maker=user)
|
||||||
order.save()
|
order.save()
|
||||||
|
|
||||||
if not serializer.is_valid():
|
if not serializer.is_valid():
|
||||||
@ -58,24 +75,107 @@ class OrderView(APIView):
|
|||||||
print("It is only one!")
|
print("It is only one!")
|
||||||
order = order[0]
|
order = order[0]
|
||||||
data = self.serializer_class(order).data
|
data = self.serializer_class(order).data
|
||||||
|
nickname = request.user.username
|
||||||
# TODO
|
|
||||||
# # Check if requester is participant in the order and add boolean to response
|
|
||||||
|
|
||||||
# user = authenticate(username=username, password=password)
|
|
||||||
# data['is_participant'] = any(user.id == order.maker, user.id == order.taker)
|
|
||||||
|
|
||||||
# if data['is_participant']:
|
# Check if requester is participant in the order and add boolean to response
|
||||||
# return Response(data, status=status.HTTP_200_OK)
|
data['is_participant'] = (str(order.maker) == nickname or str(order.taker) == nickname)
|
||||||
# else:
|
|
||||||
# # Non participants can't get access to the status or who is the taker
|
|
||||||
# data.pop(['status'],['taker'])
|
|
||||||
# return Response(data, status=status.HTTP_200_OK)
|
|
||||||
|
|
||||||
return Response(data, status=status.HTTP_200_OK)
|
if data['is_participant']:
|
||||||
|
return Response(data, status=status.HTTP_200_OK)
|
||||||
|
else:
|
||||||
|
# Non participants should not see the status or who is the taker
|
||||||
|
data.pop('status','taker')
|
||||||
|
return Response(data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
return Response({'Order Not Found':'Invalid Order Id'},status=status.HTTP_404_NOT_FOUND)
|
return Response({'Order Not Found':'Invalid Order Id'},status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
return Response({'Bad Request':'Order ID parameter not found in request'}, status=status.HTTP_400_BAD_REQUEST)
|
return Response({'Bad Request':'Order ID parameter not found in request'}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
|
class UserGenerator(APIView):
|
||||||
|
lookup_url_kwarg = 'token'
|
||||||
|
NickGen = NickGenerator(
|
||||||
|
lang='English',
|
||||||
|
use_adv=False,
|
||||||
|
use_adj=True,
|
||||||
|
use_noun=True,
|
||||||
|
max_num=999)
|
||||||
|
|
||||||
|
def get(self,request):
|
||||||
|
'''
|
||||||
|
Get a new user derived from a high entropy token
|
||||||
|
|
||||||
|
- Request has a high-entropy token,
|
||||||
|
- Generates new nickname and avatar.
|
||||||
|
- Creates login credentials (new User object)
|
||||||
|
Response with Avatar and Nickname.
|
||||||
|
'''
|
||||||
|
token = request.GET.get(self.lookup_url_kwarg)
|
||||||
|
|
||||||
|
# Compute token entropy
|
||||||
|
value, counts = np.unique(list(token), return_counts=True)
|
||||||
|
shannon_entropy = entropy(counts, base=62)
|
||||||
|
bits_entropy = log2(len(value)**len(token))
|
||||||
|
|
||||||
|
# Start preparing payload
|
||||||
|
context = {'token_shannon_entropy': shannon_entropy, 'token_bits_entropy': bits_entropy}
|
||||||
|
|
||||||
|
# Deny user gen if entropy below 128 bits or 0.7 shannon heterogeneity
|
||||||
|
if bits_entropy < 128 or shannon_entropy < 0.7:
|
||||||
|
context['bad_request'] = 'The token does not have enough entropy'
|
||||||
|
return Response(context, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
# Hashes the token, only 1 iteration. Maybe more is better.
|
||||||
|
hash = hashlib.sha256(str.encode(token)).hexdigest()
|
||||||
|
|
||||||
|
# generate nickname
|
||||||
|
nickname = self.NickGen.short_from_SHA256(hash, max_length=18)[0]
|
||||||
|
context['nickname'] = nickname
|
||||||
|
|
||||||
|
# generate avatar
|
||||||
|
rh = Robohash(hash)
|
||||||
|
rh.assemble(roboset='set1') # bgset='any' for backgrounds ON
|
||||||
|
|
||||||
|
avatars_path = Path('frontend/static/assets/avatars')
|
||||||
|
avatars_path.mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
with open(avatars_path.joinpath(nickname+".png"), "wb") as f:
|
||||||
|
rh.img.save(f, format="png")
|
||||||
|
|
||||||
|
# Create new credentials if nickname is new
|
||||||
|
if len(User.objects.filter(username=nickname)) == 0:
|
||||||
|
User.objects.create_user(username=nickname, password=token, is_staff=False)
|
||||||
|
user = authenticate(request, username=nickname, password=token)
|
||||||
|
login(request, user)
|
||||||
|
return Response(context, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
else:
|
||||||
|
user = authenticate(request, username=nickname, password=token)
|
||||||
|
if user is not None:
|
||||||
|
login(request, user)
|
||||||
|
# Sends the welcome back message, only if created +30 mins ago
|
||||||
|
if request.user.date_joined < (timezone.now()-timedelta(minutes=1)):
|
||||||
|
context['found'] = 'We found your Robosat. Welcome back!'
|
||||||
|
return Response(context, status=status.HTTP_202_ACCEPTED)
|
||||||
|
else:
|
||||||
|
# It is unlikely (1/20 Billions) but maybe the nickname is taken
|
||||||
|
context['found'] = 'Bad luck, this nickname is taken'
|
||||||
|
context['bad_request'] = 'Enter a different token'
|
||||||
|
return Response(context, status=status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def delete(self,request):
|
||||||
|
user = User.objects.get(id = request.user.id)
|
||||||
|
|
||||||
|
# TO DO. Pressing give me another will delete the logged in user
|
||||||
|
# However it might be a long time recovered user
|
||||||
|
# Only delete if user live is < 5 minutes
|
||||||
|
|
||||||
|
if user is not None:
|
||||||
|
logout(request)
|
||||||
|
user.delete()
|
||||||
|
return Response(status=status.HTTP_301_MOVED_PERMANENTLY)
|
||||||
|
|
||||||
|
return Response(status=status.HTTP_403_FORBIDDEN)
|
||||||
|
|
||||||
|
8
frontend/package-lock.json
generated
8
frontend/package-lock.json
generated
@ -2303,6 +2303,14 @@
|
|||||||
"semver": "^6.0.0"
|
"semver": "^6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"material-ui-image": {
|
||||||
|
"version": "3.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/material-ui-image/-/material-ui-image-3.3.2.tgz",
|
||||||
|
"integrity": "sha512-WE5QE0Rjdx9jPKuI0LWI7s8VQ9cifPIXObu8AUCRcidXGV3NqPI9C8c9A/C0MofKpkZ3buG8+IT9N7GgSmxXeg==",
|
||||||
|
"requires": {
|
||||||
|
"prop-types": "^15.5.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"merge-stream": {
|
"merge-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
"@babel/plugin-proposal-class-properties": "^7.16.7",
|
||||||
"@material-ui/core": "^4.12.3",
|
"@material-ui/core": "^4.12.3",
|
||||||
"@material-ui/icons": "^4.11.2",
|
"@material-ui/icons": "^4.11.2",
|
||||||
|
"material-ui-image": "^3.3.2",
|
||||||
"react-router-dom": "^5.2.0"
|
"react-router-dom": "^5.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@ export default class App extends Component {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div className='appCenter'>
|
||||||
<HomePage />
|
<HomePage />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import React, { Component } from "react";
|
import React, { Component } from "react";
|
||||||
import { BrowserRouter as Router, Switch, Route, Link, Redirect } from "react-router-dom";
|
import { BrowserRouter as Router, Switch, Route, Link, Redirect } from "react-router-dom";
|
||||||
|
|
||||||
import NickGenPage from "./NickGenPage";
|
import UserGenPage from "./UserGenPage";
|
||||||
import LoginPage from "./LoginPage.js";
|
import LoginPage from "./LoginPage.js";
|
||||||
import MakerPage from "./MakerPage";
|
import MakerPage from "./MakerPage";
|
||||||
import BookPage from "./BookPage";
|
import BookPage from "./BookPage";
|
||||||
@ -17,7 +17,7 @@ export default class HomePage extends Component {
|
|||||||
return (
|
return (
|
||||||
<Router >
|
<Router >
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route exact path='/' component={NickGenPage}/>
|
<Route exact path='/' component={UserGenPage}/>
|
||||||
<Route path='/home'><p>You are at the start page</p></Route>
|
<Route path='/home'><p>You are at the start page</p></Route>
|
||||||
<Route path='/login'component={LoginPage}/>
|
<Route path='/login'component={LoginPage}/>
|
||||||
<Route path='/make' component={MakerPage}/>
|
<Route path='/make' component={MakerPage}/>
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
import React, { Component } from "react";
|
|
||||||
|
|
||||||
export default class NickGenPage extends Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return <p>This is the landing and user generator page</p>;
|
|
||||||
}
|
|
||||||
}
|
|
139
frontend/src/components/UserGenPage.js
Normal file
139
frontend/src/components/UserGenPage.js
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
import React, { Component } from "react";
|
||||||
|
import { Button , Grid, Typography, TextField, Select, FormHelperText, MenuItem, FormControl, Radio, FormControlLabel, RadioGroup, Menu} from "@material-ui/core"
|
||||||
|
import { Link } from 'react-router-dom'
|
||||||
|
import Image from 'material-ui-image'
|
||||||
|
|
||||||
|
function getCookie(name) {
|
||||||
|
let cookieValue = null;
|
||||||
|
if (document.cookie && document.cookie !== '') {
|
||||||
|
const cookies = document.cookie.split(';');
|
||||||
|
for (let i = 0; i < cookies.length; i++) {
|
||||||
|
const cookie = cookies[i].trim();
|
||||||
|
// Does this cookie string begin with the name we want?
|
||||||
|
if (cookie.substring(0, name.length + 1) === (name + '=')) {
|
||||||
|
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cookieValue;
|
||||||
|
}
|
||||||
|
const csrftoken = getCookie('csrftoken');
|
||||||
|
|
||||||
|
export default class UserGenPage extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
token: this.genBase62Token(32),
|
||||||
|
};
|
||||||
|
this.getGeneratedUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
// sort of cryptographically strong function to generate Base62 token client-side
|
||||||
|
genBase62Token(length)
|
||||||
|
{
|
||||||
|
return window.btoa(Array.from(
|
||||||
|
window.crypto.getRandomValues(
|
||||||
|
new Uint8Array(length * 2)))
|
||||||
|
.map((b) => String.fromCharCode(b))
|
||||||
|
.join("")).replace(/[+/]/g, "")
|
||||||
|
.substring(0, length);
|
||||||
|
}
|
||||||
|
|
||||||
|
getGeneratedUser() {
|
||||||
|
fetch('/api/usergen' + '?token=' + this.state.token)
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((data) => {
|
||||||
|
this.setState({
|
||||||
|
nickname: data.nickname,
|
||||||
|
bit_entropy: data.token_bits_entropy,
|
||||||
|
avatar_url: 'static/assets/avatars/' + data.nickname + '.png',
|
||||||
|
shannon_entropy: data.token_shannon_entropy,
|
||||||
|
bad_request: data.bad_request,
|
||||||
|
found: data.found,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
delGeneratedUser() {
|
||||||
|
const requestOptions = {
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: {'Content-Type':'application/json', 'X-CSRFToken': csrftoken},
|
||||||
|
};
|
||||||
|
fetch("/api/usergen", requestOptions)
|
||||||
|
.then((response) => response.json())
|
||||||
|
.then((data) => console.log(data));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix next two handler functions so they work sequentially
|
||||||
|
// at the moment they make the request generate a new user in parallel
|
||||||
|
// to updating the token in the state. So the it works a bit weird.
|
||||||
|
|
||||||
|
handleAnotherButtonPressed=(e)=>{
|
||||||
|
this.delGeneratedUser()
|
||||||
|
this.setState({
|
||||||
|
token: this.genBase62Token(32),
|
||||||
|
})
|
||||||
|
this.getGeneratedUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
handleChangeToken=(e)=>{
|
||||||
|
this.delGeneratedUser()
|
||||||
|
this.setState({
|
||||||
|
token: e.target.value,
|
||||||
|
})
|
||||||
|
this.getGeneratedUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Grid container spacing={1}>
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<TextField
|
||||||
|
error={this.state.bad_request}
|
||||||
|
label='Token - Store safely'
|
||||||
|
required='true'
|
||||||
|
value={this.state.token}
|
||||||
|
variant='standard'
|
||||||
|
helperText={this.state.bad_request}
|
||||||
|
size='small'
|
||||||
|
// multiline = {true}
|
||||||
|
onChange={this.handleChangeToken}
|
||||||
|
/>
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<div style={{ maxWidth: 200, maxHeight: 200 }}>
|
||||||
|
<Image className='newAvatar'
|
||||||
|
disableError='true'
|
||||||
|
cover='true'
|
||||||
|
color='null'
|
||||||
|
src={this.state.avatar_url}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</Grid>
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<Typography component="h5" variant="h5">
|
||||||
|
<b>{this.state.nickname ? "⚡"+this.state.nickname+"⚡" : ""}</b>
|
||||||
|
</Typography>
|
||||||
|
</Grid>
|
||||||
|
{
|
||||||
|
this.state.found ?
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<Typography component="subtitle2" variant="subtitle2" color='primary'>
|
||||||
|
{this.state.found}<br/>
|
||||||
|
</Typography>
|
||||||
|
<Button variant='contained' color='primary' to='/home' component={Link}>Cool!</Button>
|
||||||
|
</Grid>
|
||||||
|
:
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<Button variant='contained' color='primary' to='/home' component={Link}>Take This Robosat!</Button>
|
||||||
|
</Grid>
|
||||||
|
}
|
||||||
|
|
||||||
|
<Grid item xs={12} align="center">
|
||||||
|
<Button variant='contained' to='/' component={Link} onClick={this.handleAnotherButtonPressed}>Give Me Another</Button>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
15
frontend/src/components/getCookieToken.js
Normal file
15
frontend/src/components/getCookieToken.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
function getCookie(name) {
|
||||||
|
let cookieValue = null;
|
||||||
|
if (document.cookie && document.cookie !== '') {
|
||||||
|
const cookies = document.cookie.split(';');
|
||||||
|
for (let i = 0; i < cookies.length; i++) {
|
||||||
|
const cookie = cookies[i].trim();
|
||||||
|
// Does this cookie string begin with the name we want?
|
||||||
|
if (cookie.substring(0, name.length + 1) === (name + '=')) {
|
||||||
|
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return cookieValue;
|
||||||
|
}
|
@ -16,5 +16,20 @@ body {
|
|||||||
#app {
|
#app {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
}
|
||||||
|
|
||||||
|
.appCenter {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%,-50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.newAvatar {
|
||||||
|
background-color:white;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 2px solid #555;
|
||||||
|
filter: drop-shadow(1px 1px 1px #000000);
|
||||||
|
height: 200px;
|
||||||
|
width: 200px;
|
||||||
}
|
}
|
File diff suppressed because one or more lines are too long
@ -1,727 +0,0 @@
|
|||||||
/*!**********************!*\
|
|
||||||
!*** ./src/index.js ***!
|
|
||||||
\**********************/
|
|
||||||
|
|
||||||
/*!*******************************!*\
|
|
||||||
!*** ./src/components/App.js ***!
|
|
||||||
\*******************************/
|
|
||||||
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./src/components/BookPage.js ***!
|
|
||||||
\************************************/
|
|
||||||
|
|
||||||
/*!************************************!*\
|
|
||||||
!*** ./src/components/HomePage.js ***!
|
|
||||||
\************************************/
|
|
||||||
|
|
||||||
/*!*************************************!*\
|
|
||||||
!*** ./node_modules/react/index.js ***!
|
|
||||||
\*************************************/
|
|
||||||
|
|
||||||
/*!*************************************!*\
|
|
||||||
!*** ./src/components/LoginPage.js ***!
|
|
||||||
\*************************************/
|
|
||||||
|
|
||||||
/*!*************************************!*\
|
|
||||||
!*** ./src/components/MakerPage.js ***!
|
|
||||||
\*************************************/
|
|
||||||
|
|
||||||
/*!*************************************!*\
|
|
||||||
!*** ./src/components/OrderPage.js ***!
|
|
||||||
\*************************************/
|
|
||||||
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./node_modules/isarray/index.js ***!
|
|
||||||
\***************************************/
|
|
||||||
|
|
||||||
/*!***************************************!*\
|
|
||||||
!*** ./src/components/NickGenPage.js ***!
|
|
||||||
\***************************************/
|
|
||||||
|
|
||||||
/*!****************************************!*\
|
|
||||||
!*** ./node_modules/react-is/index.js ***!
|
|
||||||
\****************************************/
|
|
||||||
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/react-dom/index.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
|
|
||||||
/*!*****************************************!*\
|
|
||||||
!*** ./node_modules/scheduler/index.js ***!
|
|
||||||
\*****************************************/
|
|
||||||
|
|
||||||
/*!******************************************!*\
|
|
||||||
!*** ./node_modules/clsx/dist/clsx.m.js ***!
|
|
||||||
\******************************************/
|
|
||||||
|
|
||||||
/*!******************************************!*\
|
|
||||||
!*** ./node_modules/jss/dist/jss.esm.js ***!
|
|
||||||
\******************************************/
|
|
||||||
|
|
||||||
/*!******************************************!*\
|
|
||||||
!*** ./node_modules/prop-types/index.js ***!
|
|
||||||
\******************************************/
|
|
||||||
|
|
||||||
/*!*******************************************!*\
|
|
||||||
!*** ./src/components/WaitingRoomPage.js ***!
|
|
||||||
\*******************************************/
|
|
||||||
|
|
||||||
/*!*********************************************!*\
|
|
||||||
!*** ./node_modules/history/esm/history.js ***!
|
|
||||||
\*********************************************/
|
|
||||||
|
|
||||||
/*!*********************************************!*\
|
|
||||||
!*** ./node_modules/object-assign/index.js ***!
|
|
||||||
\*********************************************/
|
|
||||||
|
|
||||||
/*!**********************************************!*\
|
|
||||||
!*** ./node_modules/path-to-regexp/index.js ***!
|
|
||||||
\**********************************************/
|
|
||||||
|
|
||||||
/*!***************************************************!*\
|
|
||||||
!*** ./node_modules/is-in-browser/dist/module.js ***!
|
|
||||||
\***************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************!*\
|
|
||||||
!*** ./node_modules/hyphenate-style-name/index.js ***!
|
|
||||||
\****************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************!*\
|
|
||||||
!*** ./node_modules/value-equal/esm/value-equal.js ***!
|
|
||||||
\*****************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/system/esm/merge.js ***!
|
|
||||||
\*******************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************!*\
|
|
||||||
!*** ./node_modules/react-router/esm/react-router.js ***!
|
|
||||||
\*******************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************!*\
|
|
||||||
!*** ./node_modules/css-vendor/dist/css-vendor.esm.js ***!
|
|
||||||
\********************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************!*\
|
|
||||||
!*** ./node_modules/react/cjs/react.production.min.js ***!
|
|
||||||
\********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Grid/Grid.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Grow/Grow.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/List/List.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Menu/Menu.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/system/esm/memoize.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/system/esm/spacing.js ***!
|
|
||||||
\*********************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/red.js ***!
|
|
||||||
\**********************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/utils/esm/deepmerge.js ***!
|
|
||||||
\**********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Input/Input.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Modal/Modal.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Paper/Paper.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Radio/Radio.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/blue.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/grey.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/pink.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************!*\
|
|
||||||
!*** ./node_modules/react-transition-group/esm/config.js ***!
|
|
||||||
\***********************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***!
|
|
||||||
\************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/green.js ***!
|
|
||||||
\************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/shape.js ***!
|
|
||||||
\************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/setRef.js ***!
|
|
||||||
\************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************!*\
|
|
||||||
!*** ./node_modules/tiny-warning/dist/tiny-warning.esm.js ***!
|
|
||||||
\************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Button/Button.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Portal/Portal.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Select/Select.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/common.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/indigo.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/colors/orange.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/zIndex.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/system/esm/breakpoints.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/prop-types/factoryWithThrowingShims.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************!*\
|
|
||||||
!*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
|
|
||||||
\*************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/shadows.js ***!
|
|
||||||
\**************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/debounce.js ***!
|
|
||||||
\**************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************!*\
|
|
||||||
!*** ./node_modules/react-is/cjs/react-is.production.min.js ***!
|
|
||||||
\**************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/InputBase/utils.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Popover/Popover.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/useTheme.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/react-router-dom/esm/react-router-dom.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/react-transition-group/esm/Transition.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************!*\
|
|
||||||
!*** ./node_modules/resolve-pathname/esm/resolve-pathname.js ***!
|
|
||||||
\***************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/createClass.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/List/ListContext.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/capitalize.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/useForkRef.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/react-dom/cjs/react-dom.production.min.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/scheduler/cjs/scheduler.production.min.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************!*\
|
|
||||||
!*** ./node_modules/tiny-invariant/dist/tiny-invariant.esm.js ***!
|
|
||||||
\****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/ButtonBase/Ripple.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/ListItem/ListItem.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/MenuItem/MenuItem.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/MenuList/MenuList.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/withStyles.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/transitions/utils.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/ownerWindow.js ***!
|
|
||||||
\*****************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Modal/ModalManager.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Select/SelectInput.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createTheme.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/transitions.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/isMuiElement.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/mini-create-react-context/dist/esm/index.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************!*\
|
|
||||||
!*** ./node_modules/react-router/node_modules/react-is/index.js ***!
|
|
||||||
\******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormGroup/FormGroup.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormLabel/FormLabel.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/InputBase/InputBase.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/TextField/TextField.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/internal/SwitchBase.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createMixins.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/defaultTheme.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/createSvgIcon.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/ownerDocument.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/useControlled.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/useTheme/useTheme.js ***!
|
|
||||||
\*******************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Modal/SimpleBackdrop.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createPalette.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createSpacing.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/unstable_useId.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************!*\
|
|
||||||
!*** ./node_modules/react-transition-group/esm/TransitionGroup.js ***!
|
|
||||||
\********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/IconButton/IconButton.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/InputLabel/InputLabel.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Radio/RadioButtonIcon.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/RadioGroup/RadioGroup.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Typography/Typography.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/jssPreset/jssPreset.js ***!
|
|
||||||
\*********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/ButtonBase/TouchRipple.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/getScrollbarSize.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/useEventCallback.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/ThemeProvider/nested.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/utils/esm/formatMuiErrorMessage.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-global/dist/jss-plugin-global.esm.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-nested/dist/jss-plugin-nested.esm.js ***!
|
|
||||||
\**********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FilledInput/FilledInput.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormControl/FormControl.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/colorManipulator.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createTypography.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/useIsFocusVisible.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/useTheme/ThemeContext.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/withStyles/withStyles.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************!*\
|
|
||||||
!*** ./node_modules/react-transition-group/esm/utils/ChildMapping.js ***!
|
|
||||||
\***********************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/RadioGroup/useRadioGroup.js ***!
|
|
||||||
\************************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/styles/createBreakpoints.js ***!
|
|
||||||
\************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js ***!
|
|
||||||
\*************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/NativeSelect/NativeSelect.js ***!
|
|
||||||
\*************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/makeStyles/indexCounter.js ***!
|
|
||||||
\*************************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js ***!
|
|
||||||
\**************************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormControl/useFormControl.js ***!
|
|
||||||
\**************************************************************************/
|
|
||||||
|
|
||||||
/*!**************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/makeStyles/multiKeyStore.js ***!
|
|
||||||
\**************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/OutlinedInput/OutlinedInput.js ***!
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/utils/createChainedFunction.js ***!
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/mergeClasses/mergeClasses.js ***!
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************!*\
|
|
||||||
!*** ./node_modules/react-transition-group/esm/TransitionGroupContext.js ***!
|
|
||||||
\***************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js ***!
|
|
||||||
\****************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormControl/formControlState.js ***!
|
|
||||||
\****************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/OutlinedInput/NotchedOutline.js ***!
|
|
||||||
\****************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/RadioGroup/RadioGroupContext.js ***!
|
|
||||||
\****************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/getStylesCreator/noopTheme.js ***!
|
|
||||||
\****************************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormHelperText/FormHelperText.js ***!
|
|
||||||
\*****************************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/getThemeProps/getThemeProps.js ***!
|
|
||||||
\*****************************************************************************/
|
|
||||||
|
|
||||||
/*!*****************************************************************************!*\
|
|
||||||
!*** ./node_modules/hoist-non-react-statics/node_modules/react-is/index.js ***!
|
|
||||||
\*****************************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormControl/FormControlContext.js ***!
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/NativeSelect/NativeSelectInput.js ***!
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-camel-case/dist/jss-plugin-camel-case.esm.js ***!
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
/*!******************************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-props-sort/dist/jss-plugin-props-sort.esm.js ***!
|
|
||||||
\******************************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js ***!
|
|
||||||
\*******************************************************************************/
|
|
||||||
|
|
||||||
/*!*******************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/StylesProvider/StylesProvider.js ***!
|
|
||||||
\*******************************************************************************/
|
|
||||||
|
|
||||||
/*!********************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/internal/svg-icons/ArrowDropDown.js ***!
|
|
||||||
\********************************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************************!*\
|
|
||||||
!*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***!
|
|
||||||
\*********************************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/FormControlLabel/FormControlLabel.js ***!
|
|
||||||
\*********************************************************************************/
|
|
||||||
|
|
||||||
/*!*********************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/TextareaAutosize/TextareaAutosize.js ***!
|
|
||||||
\*********************************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************************!*\
|
|
||||||
!*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***!
|
|
||||||
\**********************************************************************************/
|
|
||||||
|
|
||||||
/*!**********************************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-default-unit/dist/jss-plugin-default-unit.esm.js ***!
|
|
||||||
\**********************************************************************************/
|
|
||||||
|
|
||||||
/*!***********************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/getStylesCreator/getStylesCreator.js ***!
|
|
||||||
\***********************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/Unstable_TrapFocus/Unstable_TrapFocus.js ***!
|
|
||||||
\*************************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/internal/svg-icons/RadioButtonChecked.js ***!
|
|
||||||
\*************************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/core/esm/internal/svg-icons/RadioButtonUnchecked.js ***!
|
|
||||||
\***************************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-vendor-prefixer/dist/jss-plugin-vendor-prefixer.esm.js ***!
|
|
||||||
\****************************************************************************************/
|
|
||||||
|
|
||||||
/*!****************************************************************************************!*\
|
|
||||||
!*** ./node_modules/react-router/node_modules/react-is/cjs/react-is.production.min.js ***!
|
|
||||||
\****************************************************************************************/
|
|
||||||
|
|
||||||
/*!************************************************************************************************!*\
|
|
||||||
!*** ./node_modules/jss-plugin-rule-value-function/dist/jss-plugin-rule-value-function.esm.js ***!
|
|
||||||
\************************************************************************************************/
|
|
||||||
|
|
||||||
/*!*************************************************************************************************!*\
|
|
||||||
!*** ./node_modules/@material-ui/styles/esm/createGenerateClassName/createGenerateClassName.js ***!
|
|
||||||
\*************************************************************************************************/
|
|
||||||
|
|
||||||
/*!***************************************************************************************************!*\
|
|
||||||
!*** ./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js ***!
|
|
||||||
\***************************************************************************************************/
|
|
6
setup.md
6
setup.md
@ -38,6 +38,11 @@ python3 manage.py migrate
|
|||||||
python3 manage.py runserver
|
python3 manage.py runserver
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Install python dependencies
|
||||||
|
```
|
||||||
|
pip install robohash
|
||||||
|
```
|
||||||
|
|
||||||
## React development environment
|
## React development environment
|
||||||
### Install npm
|
### Install npm
|
||||||
`sudo apt install npm`
|
`sudo apt install npm`
|
||||||
@ -53,6 +58,7 @@ npm install @material-ui/core
|
|||||||
npm install @babel/plugin-proposal-class-properties
|
npm install @babel/plugin-proposal-class-properties
|
||||||
npm install react-router-dom@5.2.0
|
npm install react-router-dom@5.2.0
|
||||||
npm install @material-ui/icons
|
npm install @material-ui/icons
|
||||||
|
npm install material-ui-image
|
||||||
```
|
```
|
||||||
|
|
||||||
### Launch the React render
|
### Launch the React render
|
||||||
|
Loading…
Reference in New Issue
Block a user